UNPKG

contentful-management

Version:
54 lines (53 loc) 1.72 kB
import type { CollectionProp, DefaultElements, EntryMetaSysProps, KeyValueMap, MakeRequest, MetadataProps } from '../common-types'; import type { ContentfulEntryApi } from '../create-entry-api'; import type { AssetProps } from './asset'; export type EntryProps<T = KeyValueMap> = { sys: EntryMetaSysProps; metadata?: MetadataProps; fields: T; }; export type CreateEntryProps<TFields = KeyValueMap> = Omit<EntryProps<TFields>, 'sys'>; export type EntryReferenceError = { sys: { type: 'error'; id: 'notResolvable'; }; details: { type: 'Link'; linkType: 'Entry' | 'Asset'; id: string; }; }; export interface EntryReferenceProps extends CollectionProp<EntryProps> { includes?: { Entry?: EntryProps[]; Asset?: AssetProps[]; }; errors?: EntryReferenceError[]; } export type EntryReferenceOptionsProps = { include?: number; }; export interface Entry extends EntryProps, DefaultElements<EntryProps>, ContentfulEntryApi { } export type WithResourceName<T extends { sys: unknown; }> = T extends { sys: infer Sys; } ? Omit<T, 'sys'> & { sys: Sys & { urn: string; }; } : never; /** * @private * @param makeRequest - function to make requests via an adapter * @param data - Raw entry data * @return Wrapped entry data */ export declare function wrapEntry(makeRequest: MakeRequest, data: EntryProps): Entry; /** * Data is also mixed in with link getters if links exist and includes were requested * @private */ export declare const wrapEntryCollection: (makeRequest: MakeRequest, data: CollectionProp<EntryProps<KeyValueMap>>) => import("../common-types").Collection<Entry, EntryProps<KeyValueMap>>;