UNPKG

@sanity/migrate

Version:

Tooling for running data migrations on Sanity.io projects

33 lines (29 loc) 1.16 kB
import {type Mutation} from './types.js' export interface Transaction { mutations: Mutation[] type: 'transaction' id?: string } /** * @public * * Wraps a set of mutations in a transaction. * Note: use with caution. Transactions cannot be optimized and will be submitted one-by-one, which means they will make * your migration run slower and produce more API requests. * @param transactionId - The transaction ID. This is optional and should usually be omitted, as it will be auto-generated by the server if not provided. * @param mutations - The mutations to include in the transaction. * * {@link https://www.sanity.io/docs/http-mutations#afccc1b9ef78} */ export function transaction(transactionId: string, mutations: Mutation[]): Transaction export function transaction(mutations: Mutation[]): Transaction export function transaction( idOrMutations: Mutation[] | string, _mutations?: Mutation[], ): Transaction { const [id, mutations] = typeof idOrMutations === 'string' ? [idOrMutations, _mutations as Mutation[]] : [undefined, idOrMutations] return {type: 'transaction', ...(id !== undefined && {id}), mutations} }