@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.
25 lines (20 loc) • 973 B
text/typescript
import { defaultDeliveryApiMode, defaultModuleFileExtension } from "../config.js";
import type { DeliveryApiMode, LiteralUnion, ModuleFileExtension } from "../core/core.models.js";
export function parseModuleFileExtension(moduleFileExtension: LiteralUnion<ModuleFileExtension> | undefined): ModuleFileExtension {
return moduleFileExtensionOptions[moduleFileExtension ?? defaultModuleFileExtension] ?? defaultModuleFileExtension;
}
export function parseDeliveryApiMode(apiMode: LiteralUnion<DeliveryApiMode> | undefined): DeliveryApiMode {
return deliveryApiModeOptions[apiMode ?? defaultDeliveryApiMode] ?? defaultDeliveryApiMode;
}
export const moduleFileExtensionOptions: Record<LiteralUnion<ModuleFileExtension>, ModuleFileExtension> = {
js: "js",
ts: "ts",
mts: "mts",
mjs: "mjs",
none: "none",
};
export const deliveryApiModeOptions: Record<LiteralUnion<DeliveryApiMode>, DeliveryApiMode> = {
default: "default",
preview: "preview",
secure: "secure",
};