react-type-snob
Version:
Encourages good typographic details in your React app
24 lines (20 loc) • 2.46 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = verifyReact;
var REACT_FUNCTIONS = ['createElement', 'isValidElement'];
function verifyReact(React) {
if (!React) {
throw new Error('[React Type Snob] `React` was not supplied!');
}
REACT_FUNCTIONS.forEach(function (functionName) {
if (!React[functionName] || typeof React[functionName] !== 'function') {
throw new Error('[React Type Snob] `React.' + functionName + '` isn\'t a function - are you sure you called this with React?');
}
});
if (!React.Children) {
throw new Error('[React Type Snob] `React.Children` seems to be missing - are you sure you called this with React?');
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy92ZXJpZnktcmVhY3QuanMiXSwibmFtZXMiOlsidmVyaWZ5UmVhY3QiLCJSRUFDVF9GVU5DVElPTlMiLCJSZWFjdCIsIkVycm9yIiwiZm9yRWFjaCIsImZ1bmN0aW9uTmFtZSIsIkNoaWxkcmVuIl0sIm1hcHBpbmdzIjoiOzs7OztrQkFLd0JBLFc7QUFMeEIsSUFBTUMsa0JBQWtCLENBQ3RCLGVBRHNCLEVBRXRCLGdCQUZzQixDQUF4Qjs7QUFLZSxTQUFTRCxXQUFULENBQXFCRSxLQUFyQixFQUE0QjtBQUN6QyxNQUFJLENBQUNBLEtBQUwsRUFBWTtBQUNWLFVBQU0sSUFBSUMsS0FBSiwrQ0FBTjtBQUNEOztBQUVERixrQkFBZ0JHLE9BQWhCLENBQXdCLFVBQUNDLFlBQUQsRUFBa0I7QUFDeEMsUUFBSSxDQUFDSCxNQUFNRyxZQUFOLENBQUQsSUFBd0IsT0FBT0gsTUFBTUcsWUFBTixDQUFQLEtBQStCLFVBQTNELEVBQXVFO0FBQ3JFLFlBQU0sSUFBSUYsS0FBSiwrQkFBdUNFLFlBQXZDLG9FQUFOO0FBQ0Q7QUFDRixHQUpEOztBQU1BLE1BQUksQ0FBQ0gsTUFBTUksUUFBWCxFQUFxQjtBQUNuQixVQUFNLElBQUlILEtBQUoscUdBQU47QUFDRDtBQUNGIiwiZmlsZSI6InZlcmlmeS1yZWFjdC5qcyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IFJFQUNUX0ZVTkNUSU9OUyA9IFtcbiAgJ2NyZWF0ZUVsZW1lbnQnLFxuICAnaXNWYWxpZEVsZW1lbnQnXG5dO1xuXG5leHBvcnQgZGVmYXVsdCBmdW5jdGlvbiB2ZXJpZnlSZWFjdChSZWFjdCkge1xuICBpZiAoIVJlYWN0KSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBbUmVhY3QgVHlwZSBTbm9iXSBcXGBSZWFjdFxcYCB3YXMgbm90IHN1cHBsaWVkIWApO1xuICB9XG5cbiAgUkVBQ1RfRlVOQ1RJT05TLmZvckVhY2goKGZ1bmN0aW9uTmFtZSkgPT4ge1xuICAgIGlmICghUmVhY3RbZnVuY3Rpb25OYW1lXSB8fCB0eXBlb2YgUmVhY3RbZnVuY3Rpb25OYW1lXSAhPT0gJ2Z1bmN0aW9uJykge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbUmVhY3QgVHlwZSBTbm9iXSBcXGBSZWFjdC4ke2Z1bmN0aW9uTmFtZX1cXGAgaXNuJ3QgYSBmdW5jdGlvbiAtIGFyZSB5b3Ugc3VyZSB5b3UgY2FsbGVkIHRoaXMgd2l0aCBSZWFjdD9gKTtcbiAgICB9XG4gIH0pO1xuXG4gIGlmICghUmVhY3QuQ2hpbGRyZW4pIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoYFtSZWFjdCBUeXBlIFNub2JdIFxcYFJlYWN0LkNoaWxkcmVuXFxgIHNlZW1zIHRvIGJlIG1pc3NpbmcgLSBhcmUgeW91IHN1cmUgeW91IGNhbGxlZCB0aGlzIHdpdGggUmVhY3Q/YCk7XG4gIH1cbn1cbiJdfQ==