@launchmenu/applet-notes
Version:
An applet to make short notes
34 lines • 3.16 kB
JavaScript
"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==