sanity-plugin-grid
Version:
A custom input component for displaying an array of grid objects.
48 lines (40 loc) • 1.28 kB
JavaScript
;
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;