@prismicio/client
Version:
The official JavaScript + TypeScript client library for Prismic
32 lines (27 loc) • 962 B
text/typescript
import type {
ContentRelationshipField,
EmptyContentRelationshipField,
FilledContentRelationshipField,
} from "../value/contentRelationship"
import type { PrismicDocument } from "../value/document"
import type { PrismicMigrationDocument } from "./Document"
type ValueOrThunk<T> = T | (() => Promise<T> | T)
/**
* A content relationship field in a migration.
*/
export type MigrationContentRelationship<
TDocuments extends PrismicDocument = PrismicDocument,
> =
| ValueOrThunk<TDocuments | PrismicMigrationDocument<TDocuments> | undefined>
| (Pick<ContentRelationshipField, "link_type"> & {
id: ValueOrThunk<
TDocuments | PrismicMigrationDocument<TDocuments> | undefined
>
})
/**
* The minimum amount of information needed to represent a content relationship
* field with the migration API.
*/
export type MigrationContentRelationshipField =
| Pick<FilledContentRelationshipField, "link_type" | "id">
| EmptyContentRelationshipField