@ninetailed/experience.js-utils-contentful
Version:
Contentful utilities for Experience.js
102 lines (101 loc) • 4.49 kB
TypeScript
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: {};
}>[];
}