UNPKG

@prismicio/types-internal

Version:
50 lines (49 loc) 1.89 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.Widgets = exports.FieldType = exports.DynamicWidget = exports.StaticWidget = exports.widgetReader = void 0; const tslib_1 = require("tslib"); const t = (0, tslib_1.__importStar)(require("io-ts")); const Group_1 = require("./Group"); const nestable_1 = require("./nestable"); const NestableWidget_1 = require("./nestable/NestableWidget"); const Slices_1 = require("./slices/Slices"); const UID_1 = require("./UID"); function widgetReader(codec) { return t.union([UID_1.UID, NestableWidget_1.NestableWidget, Group_1.Group, codec]); } exports.widgetReader = widgetReader; exports.StaticWidget = widgetReader(Slices_1.StaticSlices); exports.DynamicWidget = widgetReader(Slices_1.DynamicSlices); exports.FieldType = t.keyof({ [nestable_1.ColorFieldType]: null, [nestable_1.BooleanFieldType]: null, [nestable_1.NumberFieldType]: null, [nestable_1.EmbedFieldType]: null, [nestable_1.GeoPointFieldType]: null, [nestable_1.DateFieldType]: null, [nestable_1.RangeFieldType]: null, [nestable_1.RichTextFieldType]: null, [nestable_1.SelectFieldType]: null, [nestable_1.SeparatorFieldType]: null, [nestable_1.TableFieldType]: null, [nestable_1.TextFieldType]: null, [nestable_1.TimestampFieldType]: null, [nestable_1.LinkFieldType]: null, [nestable_1.ImageFieldType]: null, [nestable_1.IntegrationFieldType]: null, [UID_1.UIDFieldType]: null, [Group_1.GroupFieldType]: null, [Slices_1.SlicesFieldType]: null, [Slices_1.LegacySlicesFieldType]: null, }); exports.Widgets = { toStatic(widget, sharedSlices) { switch (widget.type) { case "Choice": case "Slices": return Slices_1.Slices.toStatic(widget, sharedSlices); default: return widget; } }, };