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 Docs
Using 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=Test
Using 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 Object
LambdaTest’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!!