UNPKG

@prismicio/types-internal

Version:
43 lines (42 loc) 2.2 kB
import * as t from "io-ts"; import type { ContentPath, TraverseWidgetContentFn } from "../../_internal/utils"; import { type Group, type NestableWidget } from "../../customtypes"; import { LegacyContentCtx, WithTypes } from "../LegacyContentCtx"; import { NestableContent } from "./nestable"; export declare const GroupItemContentType: "GroupItemContent"; export declare const GroupContentType: "GroupContentType"; export declare const GroupItemContent: t.Type<GroupItemContent>; export declare type GroupItemContent = { __TYPE__: typeof GroupItemContentType; key: string; value: [string, NestableContent | GroupContent][]; }; export declare const GroupContent: t.Type<GroupContent>; export declare type GroupContent = { __TYPE__: typeof GroupContentType; value: GroupItemContent[]; }; export declare const isGroupContent: (u: unknown) => u is GroupContent; export declare const GroupContentDefaultValue: GroupContent; declare const itemLegacyReader: t.RecordC<t.StringC, t.UnknownC>; export declare type GroupItemLegacy = t.TypeOf<typeof itemLegacyReader>; export declare const GroupItemLegacy: (ctx: LegacyContentCtx, index: number) => t.Type<GroupItemContent, WithTypes<{ [x: string]: unknown; }>, unknown>; export declare function arrayWithIndexCodec<T, O>(f: (index: number) => t.Type<T, O, unknown>): t.Type<Array<T>, O[], unknown>; declare type GroupLegacy = Array<GroupItemLegacy>; export declare const GroupLegacy: (ctx: LegacyContentCtx) => t.Type<GroupContent, WithTypes<GroupLegacy>, unknown>; export declare function groupContentWithDefaultValues(customType: Group, content: GroupContent): GroupContent; export declare function traverseGroupContent({ path, key, apiId, model, content, }: { path: ContentPath; key: string; apiId: string; content: GroupContent; model?: Group | undefined; }): (transform: TraverseWidgetContentFn) => GroupContent | undefined; export declare function traverseGroupItemsContent({ path, model, content, }: { path: ContentPath; content: Array<GroupItemContent>; model?: Record<string, Group | NestableWidget> | undefined; }): (transform: TraverseWidgetContentFn) => Array<GroupItemContent>; export {};