UNPKG

@prismicio/types-internal

Version:
58 lines (57 loc) 2.21 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WidgetLegacy = exports.isWidgetContent = exports.WidgetContent = void 0; const tslib_1 = require("tslib"); const t = (0, tslib_1.__importStar)(require("io-ts")); const GroupContent_1 = require("./GroupContent"); const nestable_1 = require("./nestable"); const slices_1 = require("./slices"); const UIDContent_1 = require("./UIDContent"); exports.WidgetContent = t.union([ GroupContent_1.GroupContent, nestable_1.NestableContent, UIDContent_1.UIDContent, slices_1.SlicesContent, ]); const isWidgetContent = (u) => (0, GroupContent_1.isGroupContent)(u) || (0, nestable_1.isNestableContent)(u) || (0, UIDContent_1.isUIDContent)(u) || (0, slices_1.isSlicesContent)(u); exports.isWidgetContent = isWidgetContent; const WidgetLegacy = (ctx) => { return { decode(value) { if (!ctx.fieldType) return; const codec = (() => { switch (ctx.fieldType) { case "UID": return (0, UIDContent_1.UIDLegacy)(ctx); case "Group": return (0, GroupContent_1.GroupLegacy)(ctx); case "Choice": case "Slices": return (0, slices_1.SlicesLegacy)(ctx); default: return (0, nestable_1.NestableLegacy)(ctx); } })(); if (!codec) return; return codec.decode(value); }, encode(value) { switch (value.__TYPE__) { case UIDContent_1.UIDContentType: return (0, UIDContent_1.UIDLegacy)(ctx).encode(value); case GroupContent_1.GroupContentType: return (0, GroupContent_1.GroupLegacy)(ctx).encode(value); case slices_1.SlicesContentType: return (0, slices_1.SlicesLegacy)(ctx).encode(value); default: return (0, nestable_1.NestableLegacy)(ctx).encode(value); } }, }; }; exports.WidgetLegacy = WidgetLegacy;