@kontent-ai/model-generator
Version:
This utility generates strongly-typed models for Delivery JS SDK, Migration toolkit or just general scripting to improve the experience when referencing Kontent.ai related objects.
46 lines (45 loc) • 2.71 kB
TypeScript
import type { ContentTypeModels, TaxonomyModels } from "@kontent-ai/management-sdk";
import type { ModuleFileExtension } from "../../../core/core.models.js";
import type { DeliveryEntityNames } from "../delivery-entity-name.generator.js";
import type { DeliveryEntity, DeliveryEntityType } from "../delivery-entity.generator.js";
export type TypeMappingItem = {
readonly codename: string;
readonly typeName: string;
};
export declare function deliveryEntityUtils(): {
getPluralName: typeof getPluralName;
getTypeMapping: typeof getTypeMapping;
getTypeMappingItem: typeof getTypeMappingItem;
getCodeOfDeliveryEntity: typeof getCodeOfDeliveryEntity;
getTaxonomyTermCodenames: typeof getTaxonomyTermCodenames;
getCodenameTypeguardFunctionCode: typeof getCodenameTypeguardFunctionCode;
getCoreContentTypeEntityImports: typeof getCoreContentTypeEntityImports;
getCoreContentTypeCode: typeof getCoreContentTypeCode;
};
declare function getCoreContentTypeCode(types: readonly Readonly<ContentTypeModels.ContentType>[], entityNames: DeliveryEntityNames<"Type">): string;
declare function getCoreContentTypeEntityNames(types: Parameters<typeof getCoreContentTypeCode>[0], entityNames: Parameters<typeof getCoreContentTypeCode>[1]): readonly string[];
declare function getCoreContentTypeEntityImports(types: Parameters<typeof getCoreContentTypeEntityNames>[0], entityNames: Parameters<typeof getCoreContentTypeEntityNames>[1], moduleFileExtension: ModuleFileExtension): readonly string[];
declare function getTypeMapping(entityType: DeliveryEntityType, items: readonly TypeMappingItem[]): string;
declare function getTypeMappingItem({ codenamesTypeName, defaultTypeName, entityType, }: {
readonly entityType: DeliveryEntityType;
readonly codenamesTypeName: string;
readonly defaultTypeName: string;
}): string;
declare function getCodenameTypeguardFunctionCode({ codenameTypeName, entity, typeGuardName, }: {
readonly typeGuardName: string;
readonly codenameTypeName: string;
readonly entity: Readonly<DeliveryEntity>;
}): string;
declare function getTaxonomyTermCodenames(taxonomyTerms: readonly Readonly<TaxonomyModels.Taxonomy>[]): readonly string[];
declare function getPluralName(entityType: DeliveryEntityType): string;
declare function getCodeOfDeliveryEntity({ extendedType, codenames, names, }: {
readonly names: {
readonly codenamesTypeName: string;
readonly valuesPropertyName: string;
readonly typeGuardFunctionName: string;
};
readonly subtype?: "Term" | "Step";
readonly extendedType: DeliveryEntityType | "Workflow step" | "Taxonomy term";
readonly codenames: readonly string[];
}): string;
export {};