UNPKG

redux-resource-prop-types

Version:
55 lines (43 loc) 2.37 kB
'use strict'; exports.__esModule = true; exports.statusPropType = exports.requestPropType = exports.resourcePropType = exports.requestStatusPropType = exports.idPropType = undefined; var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; var _propTypes = require('prop-types'); var _propTypes2 = _interopRequireDefault(_propTypes); var _reduxResource = require('redux-resource'); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } // Verifies a resource ID. Useful as a "building block" for // more advanced prop types. const idPropType = _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number]); // Verifies a request status. useful as a "building block" for // more advanced prop types. const requestStatusPropType = _propTypes2.default.oneOf([_reduxResource.requestStatuses.IDLE, _reduxResource.requestStatuses.PENDING, _reduxResource.requestStatuses.FAILED, _reduxResource.requestStatuses.SUCCEEDED]); // Similar to `.shape()`, except that it enforces an ID. const resourcePropType = function (props) { return _propTypes2.default.shape(_extends({}, props, { id: idPropType.isRequired })); }; // Similar to `.shape()`, except that it enforces proper request // statuses, as well as an ID list const requestPropType = function (props) { return _propTypes2.default.shape(_extends({}, props, { resourceType: _propTypes2.default.string.isRequired, requestKey: _propTypes2.default.string.isRequired, requestName: _propTypes2.default.string, ids: _propTypes2.default.arrayOf(idPropType).isRequired, status: requestStatusPropType.isRequired })); }; // The return value from `getStatus`. const statusPropType = _propTypes2.default.shape({ idle: _propTypes2.default.bool.isRequired, pending: _propTypes2.default.bool.isRequired, failed: _propTypes2.default.bool.isRequired, succeeded: _propTypes2.default.bool.isRequired }); exports.idPropType = idPropType; exports.requestStatusPropType = requestStatusPropType; exports.resourcePropType = resourcePropType; exports.requestPropType = requestPropType; exports.statusPropType = statusPropType;