Best JavaScript code snippet using playwright-internal
create-react-class_v15.7.0-N1XVDJKEbjGgZJqirdPG_dist_es2019_mode_imports_optimized_create-react-class_57aa3e1ce3c168759c79.js
Source:create-react-class_v15.7.0-N1XVDJKEbjGgZJqirdPG_dist_es2019_mode_imports_optimized_create-react-class_57aa3e1ce3c168759c79.js  
...366      Constructor.contextTypes = _assign({}, Constructor.contextTypes, contextTypes);367    },368    getDefaultProps: function(Constructor, getDefaultProps) {369      if (Constructor.getDefaultProps) {370        Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);371      } else {372        Constructor.getDefaultProps = getDefaultProps;373      }374    },375    propTypes: function(Constructor, propTypes) {376      Constructor.propTypes = _assign({}, Constructor.propTypes, propTypes);377    },378    statics: function(Constructor, statics) {379      mixStaticSpecIntoComponent(Constructor, statics);380    },381    autobind: function() {382    }383  };384  function validateMethodOverride(isAlreadyDefined, name) {385    var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;386    if (ReactClassMixin.hasOwnProperty(name)) {387      _invariant(specPolicy === "OVERRIDE_BASE", "ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.", name);388    }389    if (isAlreadyDefined) {390      _invariant(specPolicy === "DEFINE_MANY" || specPolicy === "DEFINE_MANY_MERGED", "ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", name);391    }392  }393  function mixSpecIntoComponent(Constructor, spec) {394    if (!spec) {395      return;396    }397    _invariant(typeof spec !== "function", "ReactClass: You're attempting to use a component class or function as a mixin. Instead, just use a regular object.");398    _invariant(!isValidElement(spec), "ReactClass: You're attempting to use a component as a mixin. Instead, just use a regular object.");399    var proto = Constructor.prototype;400    var autoBindPairs = proto.__reactAutoBindPairs;401    if (spec.hasOwnProperty(MIXINS_KEY)) {402      RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);403    }404    for (var name in spec) {405      if (!spec.hasOwnProperty(name)) {406        continue;407      }408      if (name === MIXINS_KEY) {409        continue;410      }411      var property = spec[name];412      var isAlreadyDefined = proto.hasOwnProperty(name);413      validateMethodOverride(isAlreadyDefined, name);414      if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {415        RESERVED_SPEC_KEYS[name](Constructor, property);416      } else {417        var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);418        var isFunction = typeof property === "function";419        var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;420        if (shouldAutoBind) {421          autoBindPairs.push(name, property);422          proto[name] = property;423        } else {424          if (isAlreadyDefined) {425            var specPolicy = ReactClassInterface[name];426            _invariant(isReactClassMethod && (specPolicy === "DEFINE_MANY_MERGED" || specPolicy === "DEFINE_MANY"), "ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.", specPolicy, name);427            if (specPolicy === "DEFINE_MANY_MERGED") {428              proto[name] = createMergedResultFunction(proto[name], property);429            } else if (specPolicy === "DEFINE_MANY") {430              proto[name] = createChainedFunction(proto[name], property);431            }432          } else {433            proto[name] = property;434          }435        }436      }437    }438  }439  function mixStaticSpecIntoComponent(Constructor, statics) {440    if (!statics) {441      return;442    }443    for (var name in statics) {444      var property = statics[name];445      if (!statics.hasOwnProperty(name)) {446        continue;447      }448      var isReserved = name in RESERVED_SPEC_KEYS;449      _invariant(!isReserved, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', name);450      var isAlreadyDefined = name in Constructor;451      if (isAlreadyDefined) {452        var specPolicy = ReactClassStaticInterface.hasOwnProperty(name) ? ReactClassStaticInterface[name] : null;453        _invariant(specPolicy === "DEFINE_MANY_MERGED", "ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.", name);454        Constructor[name] = createMergedResultFunction(Constructor[name], property);455        return;456      }457      Constructor[name] = property;458    }459  }460  function mergeIntoWithNoDuplicateKeys(one, two) {461    _invariant(one && two && typeof one === "object" && typeof two === "object", "mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.");462    for (var key in two) {463      if (two.hasOwnProperty(key)) {464        _invariant(one[key] === void 0, "mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.", key);465        one[key] = two[key];466      }467    }468    return one;469  }470  function createMergedResultFunction(one, two) {471    return function mergedResult() {472      var a = one.apply(this, arguments);473      var b = two.apply(this, arguments);474      if (a == null) {475        return b;476      } else if (b == null) {477        return a;478      }479      var c = {};480      mergeIntoWithNoDuplicateKeys(c, a);481      mergeIntoWithNoDuplicateKeys(c, b);482      return c;483    };484  }...ReactClass.js
Source:ReactClass.js  
...66      Constructor.contextTypes = assign({}, Constructor.contextTypes, contextTypes);67    },68    getDefaultProps: function(Constructor, getDefaultProps) {69      if (Constructor.getDefaultProps) {70        Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, getDefaultProps);71      } else {72        Constructor.getDefaultProps = getDefaultProps;73      }74    },75    propTypes: function(Constructor, propTypes) {76      if ("production" !== process.env.NODE_ENV) {77        validateTypeDef(Constructor, propTypes, ReactPropTypeLocations.prop);78      }79      Constructor.propTypes = assign({}, Constructor.propTypes, propTypes);80    },81    statics: function(Constructor, statics) {82      mixStaticSpecIntoComponent(Constructor, statics);83    }84  };85  function validateTypeDef(Constructor, typeDef, location) {86    for (var propName in typeDef) {87      if (typeDef.hasOwnProperty(propName)) {88        ("production" !== process.env.NODE_ENV ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : null);89      }90    }91  }92  function validateMethodOverride(proto, name) {93    var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;94    if (ReactClassMixin.hasOwnProperty(name)) {95      ("production" !== process.env.NODE_ENV ? invariant(specPolicy === SpecPolicy.OVERRIDE_BASE, 'ReactClassInterface: You are attempting to override ' + '`%s` from your class specification. Ensure that your method names ' + 'do not overlap with React methods.', name) : invariant(specPolicy === SpecPolicy.OVERRIDE_BASE));96    }97    if (proto.hasOwnProperty(name)) {98      ("production" !== process.env.NODE_ENV ? invariant(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED, 'ReactClassInterface: You are attempting to define ' + '`%s` on your component more than once. This conflict may be due ' + 'to a mixin.', name) : invariant(specPolicy === SpecPolicy.DEFINE_MANY || specPolicy === SpecPolicy.DEFINE_MANY_MERGED));99    }100  }101  function mixSpecIntoComponent(Constructor, spec) {102    if (!spec) {103      return;104    }105    ("production" !== process.env.NODE_ENV ? invariant(typeof spec !== 'function', 'ReactClass: You\'re attempting to ' + 'use a component class as a mixin. Instead, just use a regular object.') : invariant(typeof spec !== 'function'));106    ("production" !== process.env.NODE_ENV ? invariant(!ReactElement.isValidElement(spec), 'ReactClass: You\'re attempting to ' + 'use a component as a mixin. Instead, just use a regular object.') : invariant(!ReactElement.isValidElement(spec)));107    var proto = Constructor.prototype;108    if (spec.hasOwnProperty(MIXINS_KEY)) {109      RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);110    }111    for (var name in spec) {112      if (!spec.hasOwnProperty(name)) {113        continue;114      }115      if (name === MIXINS_KEY) {116        continue;117      }118      var property = spec[name];119      validateMethodOverride(proto, name);120      if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {121        RESERVED_SPEC_KEYS[name](Constructor, property);122      } else {123        var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);124        var isAlreadyDefined = proto.hasOwnProperty(name);125        var markedDontBind = property && property.__reactDontBind;126        var isFunction = typeof property === 'function';127        var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && !markedDontBind;128        if (shouldAutoBind) {129          if (!proto.__reactAutoBindMap) {130            proto.__reactAutoBindMap = {};131          }132          proto.__reactAutoBindMap[name] = property;133          proto[name] = property;134        } else {135          if (isAlreadyDefined) {136            var specPolicy = ReactClassInterface[name];137            ("production" !== process.env.NODE_ENV ? invariant(isReactClassMethod && ((specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY)), 'ReactClass: Unexpected spec policy %s for key %s ' + 'when mixing in component specs.', specPolicy, name) : invariant(isReactClassMethod && ((specPolicy === SpecPolicy.DEFINE_MANY_MERGED || specPolicy === SpecPolicy.DEFINE_MANY))));138            if (specPolicy === SpecPolicy.DEFINE_MANY_MERGED) {139              proto[name] = createMergedResultFunction(proto[name], property);140            } else if (specPolicy === SpecPolicy.DEFINE_MANY) {141              proto[name] = createChainedFunction(proto[name], property);142            }143          } else {144            proto[name] = property;145            if ("production" !== process.env.NODE_ENV) {146              if (typeof property === 'function' && spec.displayName) {147                proto[name].displayName = spec.displayName + '_' + name;148              }149            }150          }151        }152      }153    }154  }155  function mixStaticSpecIntoComponent(Constructor, statics) {156    if (!statics) {157      return;158    }159    for (var name in statics) {160      var property = statics[name];161      if (!statics.hasOwnProperty(name)) {162        continue;163      }164      var isReserved = name in RESERVED_SPEC_KEYS;165      ("production" !== process.env.NODE_ENV ? invariant(!isReserved, 'ReactClass: You are attempting to define a reserved ' + 'property, `%s`, that shouldn\'t be on the "statics" key. Define it ' + 'as an instance property instead; it will still be accessible on the ' + 'constructor.', name) : invariant(!isReserved));166      var isInherited = name in Constructor;167      ("production" !== process.env.NODE_ENV ? invariant(!isInherited, 'ReactClass: You are attempting to define ' + '`%s` on your component more than once. This conflict may be ' + 'due to a mixin.', name) : invariant(!isInherited));168      Constructor[name] = property;169    }170  }171  function mergeIntoWithNoDuplicateKeys(one, two) {172    ("production" !== process.env.NODE_ENV ? invariant(one && two && typeof one === 'object' && typeof two === 'object', 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : invariant(one && two && typeof one === 'object' && typeof two === 'object'));173    for (var key in two) {174      if (two.hasOwnProperty(key)) {175        ("production" !== process.env.NODE_ENV ? invariant(one[key] === undefined, 'mergeIntoWithNoDuplicateKeys(): ' + 'Tried to merge two objects with the same key: `%s`. This conflict ' + 'may be due to a mixin; in particular, this may be caused by two ' + 'getInitialState() or getDefaultProps() methods returning objects ' + 'with clashing keys.', key) : invariant(one[key] === undefined));176        one[key] = two[key];177      }178    }179    return one;180  }181  function createMergedResultFunction(one, two) {182    return function mergedResult() {183      var a = one.apply(this, arguments);184      var b = two.apply(this, arguments);185      if (a == null) {186        return b;187      } else if (b == null) {188        return a;189      }190      var c = {};191      mergeIntoWithNoDuplicateKeys(c, a);192      mergeIntoWithNoDuplicateKeys(c, b);193      return c;194    };195  }...e6c8b6ReactClass.js
Source:e6c8b6ReactClass.js  
...56    Constructor.contextTypes = _assign({}, Constructor.contextTypes, _contextTypes);57  },58  getDefaultProps: function getDefaultProps(Constructor, _getDefaultProps) {59    if (Constructor.getDefaultProps) {60      Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, _getDefaultProps);61    } else {62      Constructor.getDefaultProps = _getDefaultProps;63    }64  },65  propTypes: function propTypes(Constructor, _propTypes) {66    if (process.env.NODE_ENV !== 'production') {67      validateTypeDef(Constructor, _propTypes, 'prop');68    }69    Constructor.propTypes = _assign({}, Constructor.propTypes, _propTypes);70  },71  statics: function statics(Constructor, _statics) {72    mixStaticSpecIntoComponent(Constructor, _statics);73  },74  autobind: function autobind() {} };75function validateTypeDef(Constructor, typeDef, location) {76  for (var propName in typeDef) {77    if (typeDef.hasOwnProperty(propName)) {78      process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0;79    }80  }81}82function validateMethodOverride(isAlreadyDefined, name) {83  var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;84  if (ReactClassMixin.hasOwnProperty(name)) {85    !(specPolicy === 'OVERRIDE_BASE') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0;86  }87  if (isAlreadyDefined) {88    !(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0;89  }90}91function mixSpecIntoComponent(Constructor, spec) {92  if (!spec) {93    if (process.env.NODE_ENV !== 'production') {94      var typeofSpec = typeof spec;95      var isMixinValid = typeofSpec === 'object' && spec !== null;96      process.env.NODE_ENV !== 'production' ? warning(isMixinValid, '%s: You\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0;97    }98    return;99  }100  !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0;101  !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0;102  var proto = Constructor.prototype;103  var autoBindPairs = proto.__reactAutoBindPairs;104  if (spec.hasOwnProperty(MIXINS_KEY)) {105    RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);106  }107  for (var name in spec) {108    if (!spec.hasOwnProperty(name)) {109      continue;110    }111    if (name === MIXINS_KEY) {112      continue;113    }114    var property = spec[name];115    var isAlreadyDefined = proto.hasOwnProperty(name);116    validateMethodOverride(isAlreadyDefined, name);117    if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {118      RESERVED_SPEC_KEYS[name](Constructor, property);119    } else {120      var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);121      var isFunction = typeof property === 'function';122      var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;123      if (shouldAutoBind) {124        autoBindPairs.push(name, property);125        proto[name] = property;126      } else {127        if (isAlreadyDefined) {128          var specPolicy = ReactClassInterface[name];129          !(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0;130          if (specPolicy === 'DEFINE_MANY_MERGED') {131            proto[name] = createMergedResultFunction(proto[name], property);132          } else if (specPolicy === 'DEFINE_MANY') {133            proto[name] = createChainedFunction(proto[name], property);134          }135        } else {136          proto[name] = property;137          if (process.env.NODE_ENV !== 'production') {138            if (typeof property === 'function' && spec.displayName) {139              proto[name].displayName = spec.displayName + '_' + name;140            }141          }142        }143      }144    }145  }146}147function mixStaticSpecIntoComponent(Constructor, statics) {148  if (!statics) {149    return;150  }151  for (var name in statics) {152    var property = statics[name];153    if (!statics.hasOwnProperty(name)) {154      continue;155    }156    var isReserved = name in RESERVED_SPEC_KEYS;157    !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', name) : _prodInvariant('78', name) : void 0;158    var isInherited = name in Constructor;159    !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0;160    Constructor[name] = property;161  }162}163function mergeIntoWithNoDuplicateKeys(one, two) {164  !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0;165  for (var key in two) {166    if (two.hasOwnProperty(key)) {167      !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.', key) : _prodInvariant('81', key) : void 0;168      one[key] = two[key];169    }170  }171  return one;172}173function createMergedResultFunction(one, two) {174  return function mergedResult() {175    var a = one.apply(this, arguments);176    var b = two.apply(this, arguments);177    if (a == null) {178      return b;179    } else if (b == null) {180      return a;181    }182    var c = {};183    mergeIntoWithNoDuplicateKeys(c, a);184    mergeIntoWithNoDuplicateKeys(c, b);185    return c;186  };187}...b572cfReactClass.js
Source:b572cfReactClass.js  
...56    Constructor.contextTypes = _assign({}, Constructor.contextTypes, _contextTypes);57  },58  getDefaultProps: function getDefaultProps(Constructor, _getDefaultProps) {59    if (Constructor.getDefaultProps) {60      Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, _getDefaultProps);61    } else {62      Constructor.getDefaultProps = _getDefaultProps;63    }64  },65  propTypes: function propTypes(Constructor, _propTypes) {66    if (process.env.NODE_ENV !== 'production') {67      validateTypeDef(Constructor, _propTypes, 'prop');68    }69    Constructor.propTypes = _assign({}, Constructor.propTypes, _propTypes);70  },71  statics: function statics(Constructor, _statics) {72    mixStaticSpecIntoComponent(Constructor, _statics);73  },74  autobind: function autobind() {} };75function validateTypeDef(Constructor, typeDef, location) {76  for (var propName in typeDef) {77    if (typeDef.hasOwnProperty(propName)) {78      process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', ReactPropTypeLocationNames[location], propName) : void 0;79    }80  }81}82function validateMethodOverride(isAlreadyDefined, name) {83  var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;84  if (ReactClassMixin.hasOwnProperty(name)) {85    !(specPolicy === 'OVERRIDE_BASE') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0;86  }87  if (isAlreadyDefined) {88    !(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0;89  }90}91function mixSpecIntoComponent(Constructor, spec) {92  if (!spec) {93    if (process.env.NODE_ENV !== 'production') {94      var typeofSpec = typeof spec;95      var isMixinValid = typeofSpec === 'object' && spec !== null;96      process.env.NODE_ENV !== 'production' ? warning(isMixinValid, '%s: You\'re attempting to include a mixin that is either null ' + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0;97    }98    return;99  }100  !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0;101  !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0;102  var proto = Constructor.prototype;103  var autoBindPairs = proto.__reactAutoBindPairs;104  if (spec.hasOwnProperty(MIXINS_KEY)) {105    RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);106  }107  for (var name in spec) {108    if (!spec.hasOwnProperty(name)) {109      continue;110    }111    if (name === MIXINS_KEY) {112      continue;113    }114    var property = spec[name];115    var isAlreadyDefined = proto.hasOwnProperty(name);116    validateMethodOverride(isAlreadyDefined, name);117    if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {118      RESERVED_SPEC_KEYS[name](Constructor, property);119    } else {120      var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);121      var isFunction = typeof property === 'function';122      var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;123      if (shouldAutoBind) {124        autoBindPairs.push(name, property);125        proto[name] = property;126      } else {127        if (isAlreadyDefined) {128          var specPolicy = ReactClassInterface[name];129          !(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0;130          if (specPolicy === 'DEFINE_MANY_MERGED') {131            proto[name] = createMergedResultFunction(proto[name], property);132          } else if (specPolicy === 'DEFINE_MANY') {133            proto[name] = createChainedFunction(proto[name], property);134          }135        } else {136          proto[name] = property;137          if (process.env.NODE_ENV !== 'production') {138            if (typeof property === 'function' && spec.displayName) {139              proto[name].displayName = spec.displayName + '_' + name;140            }141          }142        }143      }144    }145  }146}147function mixStaticSpecIntoComponent(Constructor, statics) {148  if (!statics) {149    return;150  }151  for (var name in statics) {152    var property = statics[name];153    if (!statics.hasOwnProperty(name)) {154      continue;155    }156    var isReserved = name in RESERVED_SPEC_KEYS;157    !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', name) : _prodInvariant('78', name) : void 0;158    var isInherited = name in Constructor;159    !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0;160    Constructor[name] = property;161  }162}163function mergeIntoWithNoDuplicateKeys(one, two) {164  !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0;165  for (var key in two) {166    if (two.hasOwnProperty(key)) {167      !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.', key) : _prodInvariant('81', key) : void 0;168      one[key] = two[key];169    }170  }171  return one;172}173function createMergedResultFunction(one, two) {174  return function mergedResult() {175    var a = one.apply(this, arguments);176    var b = two.apply(this, arguments);177    if (a == null) {178      return b;179    } else if (b == null) {180      return a;181    }182    var c = {};183    mergeIntoWithNoDuplicateKeys(c, a);184    mergeIntoWithNoDuplicateKeys(c, b);185    return c;186  };187}...d34bd1ReactClass.js
Source:d34bd1ReactClass.js  
...55    Constructor.contextTypes = _assign({}, Constructor.contextTypes, _contextTypes);56  },57  getDefaultProps: function getDefaultProps(Constructor, _getDefaultProps) {58    if (Constructor.getDefaultProps) {59      Constructor.getDefaultProps = createMergedResultFunction(Constructor.getDefaultProps, _getDefaultProps);60    } else {61      Constructor.getDefaultProps = _getDefaultProps;62    }63  },64  propTypes: function propTypes(Constructor, _propTypes) {65    if (process.env.NODE_ENV !== 'production') {66      validateTypeDef(Constructor, _propTypes, 'prop');67    }68    Constructor.propTypes = _assign({}, Constructor.propTypes, _propTypes);69  },70  statics: function statics(Constructor, _statics) {71    mixStaticSpecIntoComponent(Constructor, _statics);72  },73  autobind: function autobind() {} };74function validateTypeDef(Constructor, typeDef, location) {75  for (var propName in typeDef) {76    if (typeDef.hasOwnProperty(propName)) {77      process.env.NODE_ENV !== 'production' ? warning(typeof typeDef[propName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', Constructor.displayName || 'ReactClass', location, propName) : void 0;78    }79  }80}81function validateMethodOverride(isAlreadyDefined, name) {82  var specPolicy = ReactClassInterface.hasOwnProperty(name) ? ReactClassInterface[name] : null;83  if (ReactClassMixin.hasOwnProperty(name)) {84    !(specPolicy === 'OVERRIDE_BASE') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.', name) : _prodInvariant('73', name) : void 0;85  }86  if (isAlreadyDefined) {87    !(specPolicy === 'DEFINE_MANY' || specPolicy === 'DEFINE_MANY_MERGED') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('74', name) : void 0;88  }89}90function mixSpecIntoComponent(Constructor, spec) {91  if (!spec) {92    if (process.env.NODE_ENV !== 'production') {93      var typeofSpec = typeof spec;94      var isMixinValid = typeofSpec === 'object' && spec !== null;95      process.env.NODE_ENV !== 'production' ? warning(isMixinValid, "%s: You're attempting to include a mixin that is either null " + 'or not an object. Check the mixins included by the component, ' + 'as well as any mixins they include themselves. ' + 'Expected object but got %s.', Constructor.displayName || 'ReactClass', spec === null ? null : typeofSpec) : void 0;96    }97    return;98  }99  !(typeof spec !== 'function') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.') : _prodInvariant('75') : void 0;100  !!ReactElement.isValidElement(spec) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.') : _prodInvariant('76') : void 0;101  var proto = Constructor.prototype;102  var autoBindPairs = proto.__reactAutoBindPairs;103  if (spec.hasOwnProperty(MIXINS_KEY)) {104    RESERVED_SPEC_KEYS.mixins(Constructor, spec.mixins);105  }106  for (var name in spec) {107    if (!spec.hasOwnProperty(name)) {108      continue;109    }110    if (name === MIXINS_KEY) {111      continue;112    }113    var property = spec[name];114    var isAlreadyDefined = proto.hasOwnProperty(name);115    validateMethodOverride(isAlreadyDefined, name);116    if (RESERVED_SPEC_KEYS.hasOwnProperty(name)) {117      RESERVED_SPEC_KEYS[name](Constructor, property);118    } else {119      var isReactClassMethod = ReactClassInterface.hasOwnProperty(name);120      var isFunction = typeof property === 'function';121      var shouldAutoBind = isFunction && !isReactClassMethod && !isAlreadyDefined && spec.autobind !== false;122      if (shouldAutoBind) {123        autoBindPairs.push(name, property);124        proto[name] = property;125      } else {126        if (isAlreadyDefined) {127          var specPolicy = ReactClassInterface[name];128          !(isReactClassMethod && (specPolicy === 'DEFINE_MANY_MERGED' || specPolicy === 'DEFINE_MANY')) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.', specPolicy, name) : _prodInvariant('77', specPolicy, name) : void 0;129          if (specPolicy === 'DEFINE_MANY_MERGED') {130            proto[name] = createMergedResultFunction(proto[name], property);131          } else if (specPolicy === 'DEFINE_MANY') {132            proto[name] = createChainedFunction(proto[name], property);133          }134        } else {135          proto[name] = property;136          if (process.env.NODE_ENV !== 'production') {137            if (typeof property === 'function' && spec.displayName) {138              proto[name].displayName = spec.displayName + '_' + name;139            }140          }141        }142      }143    }144  }145}146function mixStaticSpecIntoComponent(Constructor, statics) {147  if (!statics) {148    return;149  }150  for (var name in statics) {151    var property = statics[name];152    if (!statics.hasOwnProperty(name)) {153      continue;154    }155    var isReserved = name in RESERVED_SPEC_KEYS;156    !!isReserved ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.', name) : _prodInvariant('78', name) : void 0;157    var isInherited = name in Constructor;158    !!isInherited ? process.env.NODE_ENV !== 'production' ? invariant(false, 'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.', name) : _prodInvariant('79', name) : void 0;159    Constructor[name] = property;160  }161}162function mergeIntoWithNoDuplicateKeys(one, two) {163  !(one && two && typeof one === 'object' && typeof two === 'object') ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.') : _prodInvariant('80') : void 0;164  for (var key in two) {165    if (two.hasOwnProperty(key)) {166      !(one[key] === undefined) ? process.env.NODE_ENV !== 'production' ? invariant(false, 'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.', key) : _prodInvariant('81', key) : void 0;167      one[key] = two[key];168    }169  }170  return one;171}172function createMergedResultFunction(one, two) {173  return function mergedResult() {174    var a = one.apply(this, arguments);175    var b = two.apply(this, arguments);176    if (a == null) {177      return b;178    } else if (b == null) {179      return a;180    }181    var c = {};182    mergeIntoWithNoDuplicateKeys(c, a);183    mergeIntoWithNoDuplicateKeys(c, b);184    return c;185  };186}...c1d7cbReactClass.js
Source:c1d7cbReactClass.js  
...55Constructor.contextTypes=_assign({},Constructor.contextTypes,_contextTypes);56},57getDefaultProps:function getDefaultProps(Constructor,_getDefaultProps){58if(Constructor.getDefaultProps){59Constructor.getDefaultProps=createMergedResultFunction(Constructor.getDefaultProps,_getDefaultProps);60}else{61Constructor.getDefaultProps=_getDefaultProps;62}63},64propTypes:function propTypes(Constructor,_propTypes){65if(process.env.NODE_ENV!=='production'){66validateTypeDef(Constructor,_propTypes,'prop');67}68Constructor.propTypes=_assign({},Constructor.propTypes,_propTypes);69},70statics:function statics(Constructor,_statics){71mixStaticSpecIntoComponent(Constructor,_statics);72},73autobind:function autobind(){}};74function validateTypeDef(Constructor,typeDef,location){75for(var propName in typeDef){76if(typeDef.hasOwnProperty(propName)){77process.env.NODE_ENV!=='production'?warning(typeof typeDef[propName]==='function','%s: %s type `%s` is invalid; it must be a function, usually from '+'React.PropTypes.',Constructor.displayName||'ReactClass',ReactPropTypeLocationNames[location],propName):void 0;78}79}80}81function validateMethodOverride(isAlreadyDefined,name){82var specPolicy=ReactClassInterface.hasOwnProperty(name)?ReactClassInterface[name]:null;83if(ReactClassMixin.hasOwnProperty(name)){84!(specPolicy==='OVERRIDE_BASE')?process.env.NODE_ENV!=='production'?invariant(false,'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.',name):_prodInvariant('73',name):void 0;85}86if(isAlreadyDefined){87!(specPolicy==='DEFINE_MANY'||specPolicy==='DEFINE_MANY_MERGED')?process.env.NODE_ENV!=='production'?invariant(false,'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.',name):_prodInvariant('74',name):void 0;88}89}90function mixSpecIntoComponent(Constructor,spec){91if(!spec){92if(process.env.NODE_ENV!=='production'){93var typeofSpec=typeof spec;94var isMixinValid=typeofSpec==='object'&&spec!==null;95process.env.NODE_ENV!=='production'?warning(isMixinValid,'%s: You\'re attempting to include a mixin that is either null '+'or not an object. Check the mixins included by the component, '+'as well as any mixins they include themselves. '+'Expected object but got %s.',Constructor.displayName||'ReactClass',spec===null?null:typeofSpec):void 0;96}97return;98}99!(typeof spec!=='function')?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.'):_prodInvariant('75'):void 0;100!!ReactElement.isValidElement(spec)?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.'):_prodInvariant('76'):void 0;101var proto=Constructor.prototype;102var autoBindPairs=proto.__reactAutoBindPairs;103if(spec.hasOwnProperty(MIXINS_KEY)){104RESERVED_SPEC_KEYS.mixins(Constructor,spec.mixins);105}106for(var name in spec){107if(!spec.hasOwnProperty(name)){108continue;109}110if(name===MIXINS_KEY){111continue;112}113var property=spec[name];114var isAlreadyDefined=proto.hasOwnProperty(name);115validateMethodOverride(isAlreadyDefined,name);116if(RESERVED_SPEC_KEYS.hasOwnProperty(name)){117RESERVED_SPEC_KEYS[name](Constructor,property);118}else{119var isReactClassMethod=ReactClassInterface.hasOwnProperty(name);120var isFunction=typeof property==='function';121var shouldAutoBind=isFunction&&!isReactClassMethod&&!isAlreadyDefined&&spec.autobind!==false;122if(shouldAutoBind){123autoBindPairs.push(name,property);124proto[name]=property;125}else{126if(isAlreadyDefined){127var specPolicy=ReactClassInterface[name];128!(isReactClassMethod&&(specPolicy==='DEFINE_MANY_MERGED'||specPolicy==='DEFINE_MANY'))?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.',specPolicy,name):_prodInvariant('77',specPolicy,name):void 0;129if(specPolicy==='DEFINE_MANY_MERGED'){130proto[name]=createMergedResultFunction(proto[name],property);131}else if(specPolicy==='DEFINE_MANY'){132proto[name]=createChainedFunction(proto[name],property);133}134}else{135proto[name]=property;136if(process.env.NODE_ENV!=='production'){137if(typeof property==='function'&&spec.displayName){138proto[name].displayName=spec.displayName+'_'+name;139}140}141}142}143}144}145}146function mixStaticSpecIntoComponent(Constructor,statics){147if(!statics){148return;149}150for(var name in statics){151var property=statics[name];152if(!statics.hasOwnProperty(name)){153continue;154}155var isReserved=name in RESERVED_SPEC_KEYS;156!!isReserved?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',name):_prodInvariant('78',name):void 0;157var isInherited=name in Constructor;158!!isInherited?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.',name):_prodInvariant('79',name):void 0;159Constructor[name]=property;160}161}162function mergeIntoWithNoDuplicateKeys(one,two){163!(one&&two&&typeof one==='object'&&typeof two==='object')?process.env.NODE_ENV!=='production'?invariant(false,'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'):_prodInvariant('80'):void 0;164for(var key in two){165if(two.hasOwnProperty(key)){166!(one[key]===undefined)?process.env.NODE_ENV!=='production'?invariant(false,'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.',key):_prodInvariant('81',key):void 0;167one[key]=two[key];168}169}170return one;171}172function createMergedResultFunction(one,two){173return function mergedResult(){174var a=one.apply(this,arguments);175var b=two.apply(this,arguments);176if(a==null){177return b;178}else if(b==null){179return a;180}181var c={};182mergeIntoWithNoDuplicateKeys(c,a);183mergeIntoWithNoDuplicateKeys(c,b);184return c;185};186}...04df26ReactClass.js
Source:04df26ReactClass.js  
...55Constructor.contextTypes=_assign({},Constructor.contextTypes,_contextTypes);56},57getDefaultProps:function getDefaultProps(Constructor,_getDefaultProps){58if(Constructor.getDefaultProps){59Constructor.getDefaultProps=createMergedResultFunction(Constructor.getDefaultProps,_getDefaultProps);60}else{61Constructor.getDefaultProps=_getDefaultProps;62}63},64propTypes:function propTypes(Constructor,_propTypes){65if(process.env.NODE_ENV!=='production'){66validateTypeDef(Constructor,_propTypes,'prop');67}68Constructor.propTypes=_assign({},Constructor.propTypes,_propTypes);69},70statics:function statics(Constructor,_statics){71mixStaticSpecIntoComponent(Constructor,_statics);72},73autobind:function autobind(){}};74function validateTypeDef(Constructor,typeDef,location){75for(var propName in typeDef){76if(typeDef.hasOwnProperty(propName)){77process.env.NODE_ENV!=='production'?warning(typeof typeDef[propName]==='function','%s: %s type `%s` is invalid; it must be a function, usually from '+'React.PropTypes.',Constructor.displayName||'ReactClass',ReactPropTypeLocationNames[location],propName):void 0;78}79}80}81function validateMethodOverride(isAlreadyDefined,name){82var specPolicy=ReactClassInterface.hasOwnProperty(name)?ReactClassInterface[name]:null;83if(ReactClassMixin.hasOwnProperty(name)){84!(specPolicy==='OVERRIDE_BASE')?process.env.NODE_ENV!=='production'?invariant(false,'ReactClassInterface: You are attempting to override `%s` from your class specification. Ensure that your method names do not overlap with React methods.',name):_prodInvariant('73',name):void 0;85}86if(isAlreadyDefined){87!(specPolicy==='DEFINE_MANY'||specPolicy==='DEFINE_MANY_MERGED')?process.env.NODE_ENV!=='production'?invariant(false,'ReactClassInterface: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.',name):_prodInvariant('74',name):void 0;88}89}90function mixSpecIntoComponent(Constructor,spec){91if(!spec){92if(process.env.NODE_ENV!=='production'){93var typeofSpec=typeof spec;94var isMixinValid=typeofSpec==='object'&&spec!==null;95process.env.NODE_ENV!=='production'?warning(isMixinValid,'%s: You\'re attempting to include a mixin that is either null '+'or not an object. Check the mixins included by the component, '+'as well as any mixins they include themselves. '+'Expected object but got %s.',Constructor.displayName||'ReactClass',spec===null?null:typeofSpec):void 0;96}97return;98}99!(typeof spec!=='function')?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: You\'re attempting to use a component class or function as a mixin. Instead, just use a regular object.'):_prodInvariant('75'):void 0;100!!ReactElement.isValidElement(spec)?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: You\'re attempting to use a component as a mixin. Instead, just use a regular object.'):_prodInvariant('76'):void 0;101var proto=Constructor.prototype;102var autoBindPairs=proto.__reactAutoBindPairs;103if(spec.hasOwnProperty(MIXINS_KEY)){104RESERVED_SPEC_KEYS.mixins(Constructor,spec.mixins);105}106for(var name in spec){107if(!spec.hasOwnProperty(name)){108continue;109}110if(name===MIXINS_KEY){111continue;112}113var property=spec[name];114var isAlreadyDefined=proto.hasOwnProperty(name);115validateMethodOverride(isAlreadyDefined,name);116if(RESERVED_SPEC_KEYS.hasOwnProperty(name)){117RESERVED_SPEC_KEYS[name](Constructor,property);118}else{119var isReactClassMethod=ReactClassInterface.hasOwnProperty(name);120var isFunction=typeof property==='function';121var shouldAutoBind=isFunction&&!isReactClassMethod&&!isAlreadyDefined&&spec.autobind!==false;122if(shouldAutoBind){123autoBindPairs.push(name,property);124proto[name]=property;125}else{126if(isAlreadyDefined){127var specPolicy=ReactClassInterface[name];128!(isReactClassMethod&&(specPolicy==='DEFINE_MANY_MERGED'||specPolicy==='DEFINE_MANY'))?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: Unexpected spec policy %s for key %s when mixing in component specs.',specPolicy,name):_prodInvariant('77',specPolicy,name):void 0;129if(specPolicy==='DEFINE_MANY_MERGED'){130proto[name]=createMergedResultFunction(proto[name],property);131}else if(specPolicy==='DEFINE_MANY'){132proto[name]=createChainedFunction(proto[name],property);133}134}else{135proto[name]=property;136if(process.env.NODE_ENV!=='production'){137if(typeof property==='function'&&spec.displayName){138proto[name].displayName=spec.displayName+'_'+name;139}140}141}142}143}144}145}146function mixStaticSpecIntoComponent(Constructor,statics){147if(!statics){148return;149}150for(var name in statics){151var property=statics[name];152if(!statics.hasOwnProperty(name)){153continue;154}155var isReserved=name in RESERVED_SPEC_KEYS;156!!isReserved?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: You are attempting to define a reserved property, `%s`, that shouldn\'t be on the "statics" key. Define it as an instance property instead; it will still be accessible on the constructor.',name):_prodInvariant('78',name):void 0;157var isInherited=name in Constructor;158!!isInherited?process.env.NODE_ENV!=='production'?invariant(false,'ReactClass: You are attempting to define `%s` on your component more than once. This conflict may be due to a mixin.',name):_prodInvariant('79',name):void 0;159Constructor[name]=property;160}161}162function mergeIntoWithNoDuplicateKeys(one,two){163!(one&&two&&typeof one==='object'&&typeof two==='object')?process.env.NODE_ENV!=='production'?invariant(false,'mergeIntoWithNoDuplicateKeys(): Cannot merge non-objects.'):_prodInvariant('80'):void 0;164for(var key in two){165if(two.hasOwnProperty(key)){166!(one[key]===undefined)?process.env.NODE_ENV!=='production'?invariant(false,'mergeIntoWithNoDuplicateKeys(): Tried to merge two objects with the same key: `%s`. This conflict may be due to a mixin; in particular, this may be caused by two getInitialState() or getDefaultProps() methods returning objects with clashing keys.',key):_prodInvariant('81',key):void 0;167one[key]=two[key];168}169}170return one;171}172function createMergedResultFunction(one,two){173return function mergedResult(){174var a=one.apply(this,arguments);175var b=two.apply(this,arguments);176if(a==null){177return b;178}else if(b==null){179return a;180}181var c={};182mergeIntoWithNoDuplicateKeys(c,a);183mergeIntoWithNoDuplicateKeys(c,b);184return c;185};186}...createMergedResultFunction.js
Source:createMergedResultFunction.js  
...5 * @param {function} two Function to invoke second. 第äºä¸ªè°ç¨çæ¹æ³6 * @return {function} Function that invokes the two argument functions. è¿åè°ç¨ä¼ å
¥çä¸¤ä¸ªå½æ°ç彿°7 * @private8 */9function createMergedResultFunction(one, two) {10  return function mergedResult() {11    var a = one.apply(this, arguments);12    var b = two.apply(this, arguments);13    if (a == null) {14      return b;15    } else if (b == null) {16      return a;17    }18    var c = {};19    mergeIntoWithNoDuplicateKeys(c, a);20    mergeIntoWithNoDuplicateKeys(c, b);21    return c;22  };23}Using AI Code Generation
1const { createMergedResultFunction } = require('@playwright/test');2const { chromium } = require('playwright');3(async () => {4  const browser = await chromium.launch();5  const page = await browser.newPage();6  const mergedResultFunction = createMergedResultFunction({7    testInfo: {8      config: {},9      parameters: {},10      annotations: {},11    },12    startTime: new Date(),13    endTime: new Date(),14      {15      },16  });17  await page.evaluate(mergedResultFunction);18  await browser.close();19})();Using AI Code Generation
1const { createMergedResultFunction } = require('@playwright/test/lib/test');2const { expect } = require('@playwright/test');3const { test } = require('@playwright/test');4const { devices } = require('@playwright/test');5const iPhone11 = devices['iPhone 11 Pro'];6const iPhone8 = devices['iPhone 8'];7const iPadPro = devices['iPad Pro (11-inch)'];8const iPadMini = devices['iPad mini'];9test.use({ storageState: 'state.json' });10test.use({ ...iPhone11, ...iPadPro });11test('iPhone Test', async ({ page }) => {12  const title = page.locator('.navbar__inner .navbar__title');13  await expect(title).toHaveText('Playwright');14});15test('iPad Test', async ({ page }) => {16  const title = page.locator('.navbar__inner .navbar__title');17  await expect(title).toHaveText('Playwright');18});19test('iPhone 8 Test', async ({ page }) => {20  const title = page.locator('.navbar__inner .navbar__title');21  await expect(title).toHaveText('Playwright');22});23test('iPad Mini Test', async ({ page }) => {24  const title = page.locator('.navbar__inner .navbar__title');25  await expect(title).toHaveText('Playwright');26});27test.describe('Test Suite', () => {28  test.use({ ...iPhone8, ...iPadMini });29  test('iPhone Test', async ({ page }) => {30    const title = page.locator('.navbar__inner .navbar__title');31    await expect(title).toHaveText('Playwright');32  });33  test('iPad Test', async ({ page }) => {34    const title = page.locator('.navbar__inner .navbar__title');35    await expect(title).toHaveText('Playwright');36  });37});38test.describe('Test Suite 2', () => {39  test.use({ ...iPhone11, ...iPadPro });40  test('iPhone Test', async ({ page }) => {Using AI Code Generation
1const { createMergedResultFunction } = require('playwright/lib/test/reporter');2const { test } = require('@playwright/test');3test('sample test', async ({ page }) => {4  await page.click('text=Get started');5  await page.click('text=Docs');6  await page.click('text=API');7  await page.click('text=Test');8  await page.click('text=createMergedResultFunction');9  await page.waitForSelector('text=Create a merged result function for a test');10});11const { createMergedResultFunction } = require('playwright/lib/test/reporter');12const { test } = require('@playwright/test');13const { createTestStepReporter } = require('./test-step-reporter');14test.use({ video: 'retain-on-failure' });15test.describe('sample test suite', () => {16  test.beforeEach(async ({ page }) => {17  });18  test('sample test', async ({ page }) => {19    await page.click('text=Get started');20    await page.click('text=Docs');21    await page.click('text=API');22    await page.click('text=Test');23    await page.click('text=createMergedResultFunction');24    await page.waitForSelector('text=Create a merged result function for a test');25  });26});27const { createMergedResultFunction } = require('playwright/lib/test/reporter');28const { test } = require('@playwright/test');29test.use({ video: 'retain-on-failure' });30const createTestStepReporter = (testName) => {31  let step = 0;32  return createMergedResultFunction(33    (base, result) => {34      base.step = step++;35      return base;36    },37  );38};39test.describe('sample test suite', () => {40  test.beforeEach(async ({ page }) => {41  });42  test('sample test', async ({ page }) => {43    const testStepReporter = createTestStepReporter('sample test');44    await page.click('text=Get started');45    await testStepReporter('click on Get started');46    await page.click('text=Docs');47    await testStepReporter('click on DocsUsing AI Code Generation
1const { createMergedResultFunction } = require('playwright/lib/test/fixtures');2const { test } = require('@playwright/test');3const { expect } = require('chai');4test('test', async ({ page }) => {5  const mergeResults = createMergedResultFunction();6  const result = await page.evaluate(mergeResults);7  expect(result).to.equal(10);8});Using AI Code Generation
1const { createMergedResultFunction } = require('playwright-core/lib/server/trace/recorder');2const mergeResults = createMergedResultFunction(require('./trace1.json'), require('./trace2.json'));3console.log(JSON.stringify(mergeResults(), null, 2));4{5    {6      "args": {7        "data": {8        }9      }10    }11}12{13    {14      "args": {15        "data": {16        }17      }18    }19}20{21    {22      "args": {23        "data": {24        }25      }26    }27}28const fs = require('fs');29const browser = await firefox.launch({ headless: false });30const context = await browser.newContext();31const page = await context.newPage();32await page.tracing.start({ screenshots: true, snapshots: true });Using AI Code Generation
1const { createMergedResultFunction } = require('playwright/lib/test/results');2const { test } = require('playwright-test');3const { chromium } = require('playwright');4test('Playwright test', async ({ page }) => {5  const title = page.locator('text=Test Runner');6  const titleText = await title.innerText();7  expect(titleText).toBe('Test Runner');8});9test.use({ browserName: 'chromium' });10test('Playwright test', async ({ page }) => {11  const title = page.locator('text=Test Runner');12  const titleText = await title.innerText();13  expect(titleText).toBe('Test Runner');14});15test.use({ browserName: 'chromium' });16test('Playwright test', async ({ page }) => {17  const title = page.locator('text=Test Runner');18  const titleText = await title.innerText();19  expect(titleText).toBe('Test Runner');20});21test.use({ browserName: 'chromium' });22test('Playwright test', async ({ page }) => {23  const title = page.locator('text=Test Runner');24  const titleText = await title.innerText();25  expect(titleText).toBe('Test Runner');26});27test('Playwright test', async ({ page }) => {28  const title = page.locator('text=Test Runner');29  const titleText = await title.innerText();30  expect(titleText).toBe('Test Runner');31});32test('Playwright test', async ({ page }) => {33  const title = page.locator('text=Test Runner');34  const titleText = await title.innerText();35  expect(titleText).toBe('Test Runner');36});37test('Playwright test', async ({ page }) => {38  const title = page.locator('text=Test Runner');39  const titleText = await title.innerText();40  expect(titleText).toBe('Test Runner');41});42test('Playwright test', async ({ page }) => {43  const title = page.locator('text=TestUsing AI Code Generation
1const { createMergedResultFunction } = require('@playwright/test');2const { test as base } = require('@playwright/test');3const test = base.extend({4  myResult: async ({}, use, testInfo) => {5    await use(await testInfo.result());6  },7});8const myResultFunction = createMergedResultFunction(async (results, testInfo) => {9  console.log(results);10});11test.use({ myResult: myResultFunction }).my('my test', async ({ myResult }) => {12  console.log(myResult);13});14I am trying to use the Playwright Internal API to create a custom result function. I am not using the Playwright test runner, and I am trying to use the createMergedResultFunction method to create a custom result function. I am using the createMergedResultFunction method as follows:However, when I run the test, I get the following error:TypeError: testInfo.result is not a functionat Object.myResult (C:\Users\user\myproject\test.js:8:30)at Object.use (C:\Users\user\myproject15ode_modules\@playwright\test\lib\test\test.js:49:30)at Object.my (C:\Users\user\myproject16ode_modules\@playwright\test\lib\test\test.js:68:14)at Object.<anonymous> (C:\Users\user\myproject\test.js:19:5)at Module._compile (internal/modules/cjs/loader.js:1063:30)at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)at Module.load (internal/modules/cjs/loader.js:928:32)at Function.Module._load (internal/modules/cjs/loader.js:769:14)at Module.require (internal/modules/cjs/loader.js:952:19)at require (internal/modules/cjs/helpers.js:88:18)I have tried to create a custom test method as follows:However, I get the following error when I run the test:TypeError: testInfo.result is not a functionat ObjectLambdaTest’s Playwright tutorial will give you a broader idea about the Playwright automation framework, its unique features, and use cases with examples to exceed your understanding of Playwright testing. This tutorial will give A to Z guidance, from installing the Playwright framework to some best practices and advanced concepts.
Get 100 minutes of automation test minutes FREE!!
