A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://github.com/facebook/react/commit/043845ce75ea0812286bbbd9d34994bb7e01eb28 below:

Extract ReactPropTypes to separate module · facebook/react@043845c · GitHub

File tree Expand file treeCollapse file tree 15 files changed

+2754

-527

lines changed

Filter options

Expand file treeCollapse file tree 15 files changed

+2754

-527

lines changed Original file line number Diff line number Diff line change

@@ -0,0 +1,5 @@

1 +

# prop-types

2 + 3 +

Runtime type checking for React props and similar objects.

4 + 5 +

Refer to the [React documentation](https://facebook.github.io/react/docs/typechecking-with-proptypes.html) for more information.

Original file line number Diff line number Diff line change

@@ -0,0 +1,61 @@

1 +

/**

2 +

* Copyright 2013-present, Facebook, Inc.

3 +

* All rights reserved.

4 +

*

5 +

* This source code is licensed under the BSD-style license found in the

6 +

* LICENSE file in the root directory of this source tree. An additional grant

7 +

* of patent rights can be found in the PATENTS file in the same directory.

8 +

*/

9 + 10 +

'use strict';

11 + 12 +

var invariant = require('fbjs/lib/invariant');

13 +

var warning = require('fbjs/lib/warning');

14 + 15 +

var ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');

16 + 17 +

var loggedTypeFailures = {};

18 + 19 +

/**

20 +

* Assert that the values match with the type specs.

21 +

* Error messages are memorized and will only be shown once.

22 +

*

23 +

* @param {object} typeSpecs Map of name to a ReactPropType

24 +

* @param {object} values Runtime values that need to be type-checked

25 +

* @param {string} location e.g. "prop", "context", "child context"

26 +

* @param {string} componentName Name of the component for error messages.

27 +

* @param {?Function} getStack Returns the component stack.

28 +

* @private

29 +

*/

30 +

function checkPropTypes(typeSpecs, values, location, componentName, getStack) {

31 +

if (process.env.NODE_ENV !== 'production') {

32 +

for (var typeSpecName in typeSpecs) {

33 +

if (typeSpecs.hasOwnProperty(typeSpecName)) {

34 +

var error;

35 +

// Prop type validation may throw. In case they do, we don't want to

36 +

// fail the render phase where it didn't fail before. So we log it.

37 +

// After these have been cleaned up, we'll let them throw.

38 +

try {

39 +

// This is intentionally an invariant that gets caught. It's the same

40 +

// behavior as without this statement except with a better message.

41 +

invariant(typeof typeSpecs[typeSpecName] === 'function', '%s: %s type `%s` is invalid; it must be a function, usually from ' + 'React.PropTypes.', componentName || 'React class', location, typeSpecName);

42 +

error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret);

43 +

} catch (ex) {

44 +

error = ex;

45 +

}

46 +

process.env.NODE_ENV !== 'production' ? warning(!error || error instanceof Error, '%s: type specification of %s `%s` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a %s. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).', componentName || 'React class', location, typeSpecName, typeof error) : void 0;

47 +

if (error instanceof Error && !(error.message in loggedTypeFailures)) {

48 +

// Only monitor this failure once because there tends to be a lot of the

49 +

// same error.

50 +

loggedTypeFailures[error.message] = true;

51 + 52 +

var stack = getStack ? getStack() : '';

53 + 54 +

process.env.NODE_ENV !== 'production' ? warning(false, 'Failed %s type: %s%s', location, error.message, stack != null ? stack : '') : void 0;

55 +

}

56 +

}

57 +

}

58 +

}

59 +

}

60 + 61 +

module.exports = checkPropTypes;

You can’t perform that action at this time.


RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4