@commodo/fields-storage-ref
Version:
We're working hard to get all the docs in order. New articles will be added daily.
48 lines (35 loc) • 1.95 kB
JavaScript
;
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
Object.defineProperty(exports, "__esModule", {
value: true
});
exports.default = void 0;
var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
var _functions = require("./functions");
var _fields = require("@commodo/fields");
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2.default)(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
const ref = params => {
(0, _functions.validateArguments)(params);
const field = (0, _fields.createField)(_objectSpread(_objectSpread({}, params), {}, {
type: "ref"
}));
(0, _functions.withRefProps)(params)(field);
(0, _fields.withFieldDataTypeValidation)(value => {
const typeOf = typeof value;
if (typeOf === "string") {
return true;
}
if (typeOf === "object") {
if ((0, _fields.hasFields)(value)) {
return (0, _functions.instanceOf)(value, params.instanceOf);
}
return true;
}
return false;
})(field);
return field;
};
var _default = ref;
exports.default = _default;
//# sourceMappingURL=ref.js.map