UNPKG

704 BJavaScriptView Raw
1'use strict';
2
3exports.__esModule = true;
4exports['default'] = keyOf;
5
6var _common = require('./common');
7
8/**
9 * Checks whether a prop matches a key of an associated object
10 *
11 * @param props
12 * @param propName
13 * @param componentName
14 * @returns {Error|undefined}
15 */
16
17function keyOf(obj) {
18 function validate(props, propName, componentName) {
19 var propValue = props[propName];
20 if (!obj.hasOwnProperty(propValue)) {
21 var valuesString = JSON.stringify(Object.keys(obj));
22 return new Error(_common.errMsg(props, propName, componentName, ', expected one of ' + valuesString + '.'));
23 }
24 }
25 return _common.createChainableTypeChecker(validate);
26}
27
28module.exports = exports['default'];
\No newline at end of file