@prismicio/custom-types-client
Version:
JavaScript client to interact with the Prismic Custom Types API
62 lines (61 loc) • 2.38 kB
TypeScript
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;
}