UNPKG

@ninetailed/experience.js-utils-contentful

Version:
102 lines (101 loc) 4.49 kB
import { Reference } from '@ninetailed/experience.js'; import { BaselineWithExperiencesEntry } from '../types/BaselineWithExperiencesEntry'; import { EntryLike } from '../types/Entry'; import type { EntryFields } from '../types/EntryFields'; import { ExperienceEntry, ExperienceEntryLike } from '../types/ExperienceEntry'; import { ExperimentEntry } from '../types/ExperimentEntry'; export type MapVariantFunction<In extends EntryFields, Out extends Reference> = (input: EntryLike<In>) => Out; export type MapVariantFunctionAsync<In extends EntryFields, Out extends Reference> = (input: EntryLike<In>) => Promise<Out>; export declare class ExperienceMapper { static isExperienceEntry<VariantFields extends EntryFields>(entry: ExperienceEntryLike<VariantFields>): entry is ExperienceEntry<VariantFields>; static mapExperience<VariantFields extends EntryFields>(ctfEntry: ExperienceEntryLike<VariantFields>): import("@ninetailed/experience.js").ExperienceConfiguration<{ id: string; sys: { id: string; type?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; locale?: string | undefined; revision?: number | undefined; space?: { sys: { id: string; type?: string | undefined; linkType?: string | undefined; }; } | undefined; environment?: { sys: { id: string; type?: string | undefined; linkType?: string | undefined; }; } | undefined; contentType?: { sys: { id: string; type?: string | undefined; linkType?: string | undefined; }; } | undefined; }; metadata?: { tags: { sys: { id: string; linkType: string; type?: string | undefined; }; }[]; } | undefined; fields: VariantFields; }>; static mapCustomExperience<Variant extends Reference, VariantFields extends EntryFields>(ctfEntry: ExperienceEntryLike<VariantFields>, mapFn: MapVariantFunction<VariantFields, Variant>): import("@ninetailed/experience.js").ExperienceConfiguration<Variant>; static mapCustomExperienceAsync<Variant extends Reference, VariantFields extends EntryFields>(ctfEntry: ExperienceEntryLike<VariantFields>, mapFn: MapVariantFunctionAsync<VariantFields, Variant>): Promise<import("@ninetailed/experience.js").ExperienceConfiguration<Awaited<Variant>>>; static isExperiment(entry: ExperienceEntryLike): entry is ExperimentEntry; static mapExperiment(entry: ExperienceEntryLike): import("@ninetailed/experience.js").ExperienceConfiguration<{ id: string; }>; static mapBaselineWithExperiences<Fields extends EntryFields>(entry: BaselineWithExperiencesEntry<Fields>): import("@ninetailed/experience.js").ExperienceConfiguration<{ id: string; sys: { id: string; type?: string | undefined; createdAt?: string | undefined; updatedAt?: string | undefined; locale?: string | undefined; revision?: number | undefined; space?: { sys: { id: string; type?: string | undefined; linkType?: string | undefined; }; } | undefined; environment?: { sys: { id: string; type?: string | undefined; linkType?: string | undefined; }; } | undefined; contentType?: { sys: { id: string; type?: string | undefined; linkType?: string | undefined; }; } | undefined; }; metadata?: { tags: { sys: { id: string; linkType: string; type?: string | undefined; }; }[]; } | undefined; fields: {}; }>[]; }