UNPKG

sanity-plugin-grid

Version:

A custom input component for displaying an array of grid objects.

48 lines (40 loc) 1.28 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.createProtoValue = createProtoValue; exports.resolveTypeName = resolveTypeName; exports.randomKey = exports.getMemberType = void 0; var _randomKey = require("./randomKey"); var _resolveJSType = require("./resolveJSType"); function createProtoValue(type) { if (type.jsonType !== "object") { throw new Error("Invalid item type: \"".concat(type.type, "\". Default array input can only contain objects (for now)")); } var key = (0, _randomKey.randomKey)(12); console.debug("[createProtoValue] onCreateValue: ", type.name === "object" ? { _key: key } : { _type: type.name, _key: key }); return type.name === "object" ? { _key: key } : { _type: type.name, _key: key }; } function resolveTypeName(value) { var jsType = (0, _resolveJSType.resolveJSType)(value); return jsType === "object" && "_type" in value && value._type || jsType; } var getMemberType = function getMemberType(value, type) { var itemTypeName = resolveTypeName(value); return type.of.find(function (memberType) { return memberType.name === itemTypeName; }); }; exports.getMemberType = getMemberType; var randomKey = _randomKey.randomKey; exports.randomKey = randomKey;