UNPKG

@prismicio/custom-types-client

Version:

JavaScript client to interact with the Prismic Custom Types API

62 lines (61 loc) 2.38 kB
import * as prismic from "@prismicio/client"; /** * The type of a bulk operation. */ export declare const BulkUpdateOperationType: { readonly CustomTypeInsert: "CUSTOM_TYPE_INSERT"; readonly CustomTypeUpdate: "CUSTOM_TYPE_UPDATE"; readonly CustomTypeDelete: "CUSTOM_TYPE_DELETE"; readonly SliceInsert: "SLICE_INSERT"; readonly SliceUpdate: "SLICE_UPDATE"; readonly SliceDelete: "SLICE_DELETE"; }; export type BulkUpdateOperationType = (typeof BulkUpdateOperationType)[keyof typeof BulkUpdateOperationType]; /** * An object describing a bulk update operation. */ export type BulkUpdateOperation = { type: typeof BulkUpdateOperationType.CustomTypeInsert; id: string; payload: prismic.CustomTypeModel; } | { type: typeof BulkUpdateOperationType.CustomTypeUpdate; id: string; payload: prismic.CustomTypeModel; } | { type: typeof BulkUpdateOperationType.CustomTypeDelete; id: string; payload: Pick<prismic.CustomTypeModel, "id">; } | { type: typeof BulkUpdateOperationType.SliceInsert; id: string; payload: prismic.SharedSliceModel; } | { type: typeof BulkUpdateOperationType.SliceUpdate; id: string; payload: prismic.SharedSliceModel; } | { type: typeof BulkUpdateOperationType.SliceDelete; id: string; payload: Pick<prismic.SharedSliceModel, "id">; }; export type BulkUpdateTransactionModels = { customTypes?: prismic.CustomTypeModel[]; slices?: prismic.SharedSliceModel[]; }; /** * Create a bulk update transaction instance to pass to a Custom Types Client * `bulkUpdate()` method. */ export declare const createBulkUpdateTransaction: (initialOperations?: BulkUpdateTransaction | BulkUpdateOperation[] | undefined) => BulkUpdateTransaction; export declare class BulkUpdateTransaction { operations: BulkUpdateOperation[]; constructor(initialOperations?: BulkUpdateTransaction | BulkUpdateOperation[]); fromDiff(before: BulkUpdateTransactionModels, after: BulkUpdateTransactionModels): void; insertCustomType(customType: prismic.CustomTypeModel): void; updateCustomType(customType: prismic.CustomTypeModel): void; deleteCustomType(customType: prismic.CustomTypeModel): void; insertSlice(slice: prismic.SharedSliceModel): void; updateSlice(slice: prismic.SharedSliceModel): void; deleteSlice(slice: prismic.SharedSliceModel): void; }