UNPKG

@launchmenu/applet-notes

Version:
34 lines 3.16 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.noteMetadataSchema = void 0; const zod_1 = require("zod"); const IHighlightLanguage_1 = require("./_types/IHighlightLanguage"); const IInherit_1 = require("./_types/IInherit"); // Not this was added after creating the TS declarations, it would be interesting to get these declarations using zod. const inheritable = (type) => zod_1.union([type, zod_1.literal(IInherit_1.inherit)]).optional(); /** All the appearance related fields */ const appearanceMetadataSchema = zod_1.object({ color: inheritable(zod_1.string()), syntaxMode: inheritable(zod_1.string().refine(value => IHighlightLanguage_1.highlightLanguages.includes(value), { message: "Must be a valid supported language", })), showRichContent: inheritable(zod_1.boolean()), searchContent: inheritable(zod_1.boolean()), fontSize: inheritable(zod_1.number().min(0)), }); /** A json schema validator to validate some json is valid notes and categories */ exports.noteMetadataSchema = zod_1.object({ notes: zod_1.array(zod_1.object({ ID: zod_1.string(), name: zod_1.string(), location: zod_1.string(), modifiedAt: zod_1.number(), categoryID: zod_1.string().optional(), }).merge(appearanceMetadataSchema)), categories: zod_1.array(zod_1.object({ ID: zod_1.string(), name: zod_1.string(), searchPattern: zod_1.string().optional(), }).merge(appearanceMetadataSchema)), }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibm90ZU1ldGFkYXRhU2NoZW1hLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RhdGFNb2RlbC9ub3RlTWV0YWRhdGFTY2hlbWEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBVWE7QUFDYixvRUFBK0Q7QUFDL0QsZ0RBQTBDO0FBRTFDLHNIQUFzSDtBQUV0SCxNQUFNLFdBQVcsR0FBRyxDQUE4QixJQUFPLEVBQUUsRUFBRSxDQUN6RCxXQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsYUFBTyxDQUFDLGtCQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7QUFFL0Msd0NBQXdDO0FBQ3hDLE1BQU0sd0JBQXdCLEdBQUcsWUFBTSxDQUFDO0lBQ3BDLEtBQUssRUFBRSxXQUFXLENBQUMsWUFBTSxFQUFFLENBQUM7SUFDNUIsVUFBVSxFQUFFLFdBQVcsQ0FDbkIsWUFBTSxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsdUNBQWtCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxFQUFFO1FBQ3pELE9BQU8sRUFBRSxvQ0FBb0M7S0FDaEQsQ0FBQyxDQUNMO0lBQ0QsZUFBZSxFQUFFLFdBQVcsQ0FBQyxhQUFPLEVBQUUsQ0FBQztJQUN2QyxhQUFhLEVBQUUsV0FBVyxDQUFDLGFBQU8sRUFBRSxDQUFDO0lBQ3JDLFFBQVEsRUFBRSxXQUFXLENBQUMsWUFBTSxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDO0NBQ3pDLENBQUMsQ0FBQztBQUVILGtGQUFrRjtBQUNyRSxRQUFBLGtCQUFrQixHQUFHLFlBQU0sQ0FBQztJQUNyQyxLQUFLLEVBQUUsV0FBSyxDQUNSLFlBQU0sQ0FBQztRQUNILEVBQUUsRUFBRSxZQUFNLEVBQUU7UUFDWixJQUFJLEVBQUUsWUFBTSxFQUFFO1FBQ2QsUUFBUSxFQUFFLFlBQU0sRUFBRTtRQUNsQixVQUFVLEVBQUUsWUFBTSxFQUFFO1FBQ3BCLFVBQVUsRUFBRSxZQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDbEMsQ0FBQyxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQyxDQUNyQztJQUNELFVBQVUsRUFBRSxXQUFLLENBQ2IsWUFBTSxDQUFDO1FBQ0gsRUFBRSxFQUFFLFlBQU0sRUFBRTtRQUNaLElBQUksRUFBRSxZQUFNLEVBQUU7UUFDZCxhQUFhLEVBQUUsWUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0tBQ3JDLENBQUMsQ0FBQyxLQUFLLENBQUMsd0JBQXdCLENBQUMsQ0FDckM7Q0FDSixDQUFDLENBQUMifQ==