@magidoc/plugin-starter-variables
Version:
A shared library that contains common Magidoc starter environment variables keys.
43 lines (40 loc) • 2.08 kB
JavaScript
import { arrayConverter } from './converters/array.js';
import { recordConverter } from './converters/record.js';
import { stringConverter } from './converters/string.js';
import { enumConverter } from './converters/enum.js';
import { createVariable } from './variable.js';
var templates = {
APP_LOGO: createVariable('APP_LOGO', stringConverter()),
APP_TITLE: createVariable('APP_TITLE', stringConverter()),
APP_FAVICON: createVariable('APP_FAVICON', stringConverter()),
SITE_ROOT: createVariable('SITE_ROOT', stringConverter()),
SITE_META: createVariable('SITE_META', recordConverter((zod) => zod.string())),
CUSTOM_STYLES: createVariable('CUSTOM_STYLES', arrayConverter((zod) => zod.string())),
FIELDS_SORTING: createVariable('FIELDS_SORTING', enumConverter(['default', 'alphabetical'])),
ARGUMENTS_SORTING: createVariable('ARGUMENTS_SORTING', enumConverter(['default', 'alphabetical'])),
QUERY_GENERATION_FACTORIES: createVariable('QUERY_GENERATION_FACTORIES', recordConverter((zod) => zod.union([zod.string(), zod.boolean(), zod.number(), zod.null(), zod.record(zod.string(), zod.unknown())]))),
PAGES: createVariable('PAGES', arrayConverter((zod) => {
const type = zod.lazy(() => zod.object({
title: zod.string().min(1),
content: zod.union([zod.array(type), zod.string().min(1)]),
}));
return type;
})),
EXTERNAL_LINKS: createVariable('EXTERNAL_LINKS', arrayConverter((zod) => {
return zod.object({
label: zod.string().min(1),
href: zod.string().min(1),
position: zod.union([zod.literal('header'), zod.literal('navigation')]).optional(),
kind: zod.string().min(1).optional(),
group: zod.string().min(1).optional(),
});
})),
DIRECTIVES: createVariable('DIRECTIVES', arrayConverter((zod) => {
return zod.object({
name: zod.string().min(1),
args: zod.array(zod.string()),
});
})),
};
export { templates as default };
//# sourceMappingURL=templates.js.map