UNPKG

@toebean/npc-vortex-api

Version:
137 lines 5.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.iModSchema = exports.iModRuleSchema = exports.iDownloadHintSchema = exports.iFileListItemSchema = exports.iModReferenceSchema = exports.iModRepoIdSchema = exports.iRuleSchema = exports.ruleTypeSchema = exports.iReferenceSchema = exports.modStateSchema = exports.iGameStoredSchema = exports.iToolStoredSchema = exports.iProfileSchema = exports.iProfileModSchema = void 0; // Generated by ts-to-zod const zod_1 = require("zod"); exports.iProfileModSchema = zod_1.z.object({ enabled: zod_1.z.boolean(), enabledTime: zod_1.z.number(), }); exports.iProfileSchema = zod_1.z.object({ id: zod_1.z.string(), gameId: zod_1.z.string(), name: zod_1.z.string(), modState: zod_1.z.record(exports.iProfileModSchema), lastActivated: zod_1.z.number(), pendingRemove: zod_1.z.boolean().optional(), features: zod_1.z.record(zod_1.z.any()).optional(), }); exports.iToolStoredSchema = zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string(), shortName: zod_1.z.string().optional(), logo: zod_1.z.string(), executable: zod_1.z.string(), parameters: zod_1.z.array(zod_1.z.string()), environment: zod_1.z.record(zod_1.z.string()), shell: zod_1.z.boolean().optional(), detach: zod_1.z.boolean().optional(), onStart: zod_1.z .union([ zod_1.z.literal('hide'), zod_1.z.literal('hide_recover'), zod_1.z.literal('close'), ]) .optional(), exclusive: zod_1.z.boolean().optional(), defaultPrimary: zod_1.z.boolean().optional(), }); exports.iGameStoredSchema = zod_1.z.object({ id: zod_1.z.string(), name: zod_1.z.string(), shortName: zod_1.z.string().optional(), logo: zod_1.z.string().optional(), extensionPath: zod_1.z.string().optional(), imageURL: zod_1.z.string().optional(), requiredFiles: zod_1.z.array(zod_1.z.string()), executable: zod_1.z.string(), parameters: zod_1.z.array(zod_1.z.string()).optional(), supportedTools: zod_1.z.array(exports.iToolStoredSchema).optional(), environment: zod_1.z.record(zod_1.z.string()).optional(), details: zod_1.z.record(zod_1.z.any()).optional(), shell: zod_1.z.boolean().optional(), contributed: zod_1.z.string().optional(), final: zod_1.z.boolean().optional(), }); exports.modStateSchema = zod_1.z.union([ zod_1.z.literal('downloading'), zod_1.z.literal('downloaded'), zod_1.z.literal('installing'), zod_1.z.literal('installed'), ]); exports.iReferenceSchema = zod_1.z.object({ fileMD5: zod_1.z.string().optional(), fileSize: zod_1.z.number().optional(), gameId: zod_1.z.string().optional(), versionMatch: zod_1.z.string().optional(), logicalFileName: zod_1.z.string().optional(), fileExpression: zod_1.z.string().optional(), }); exports.ruleTypeSchema = zod_1.z.union([ zod_1.z.literal('before'), zod_1.z.literal('after'), zod_1.z.literal('requires'), zod_1.z.literal('conflicts'), zod_1.z.literal('recommends'), zod_1.z.literal('provides'), ]); exports.iRuleSchema = zod_1.z.object({ type: exports.ruleTypeSchema, reference: exports.iReferenceSchema, comment: zod_1.z.string().optional(), }); exports.iModRepoIdSchema = zod_1.z.object({ gameId: zod_1.z.string().optional(), modId: zod_1.z.string().optional(), fileId: zod_1.z.string(), }); exports.iModReferenceSchema = exports.iReferenceSchema.extend({ id: zod_1.z.string().optional(), idHint: zod_1.z.string().optional(), md5Hint: zod_1.z.string().optional(), tag: zod_1.z.string().optional(), archiveId: zod_1.z.string().optional(), repo: zod_1.z .object({ repository: zod_1.z.string(), campaign: zod_1.z.string().optional(), }) .and(exports.iModRepoIdSchema) .optional(), description: zod_1.z.string().optional(), instructions: zod_1.z.string().optional(), }); exports.iFileListItemSchema = zod_1.z.object({ path: zod_1.z.string(), md5: zod_1.z.string().optional(), xxh64: zod_1.z.string().optional(), }); exports.iDownloadHintSchema = zod_1.z.object({ mode: zod_1.z.union([ zod_1.z.literal('direct'), zod_1.z.literal('browse'), zod_1.z.literal('manual'), ]), url: zod_1.z.string().optional(), instructions: zod_1.z.string().optional(), }); exports.iModRuleSchema = exports.iRuleSchema.extend({ reference: exports.iModReferenceSchema, fileList: zod_1.z.array(exports.iFileListItemSchema).optional(), installerChoices: zod_1.z.any().optional(), downloadHint: exports.iDownloadHintSchema.optional(), extra: zod_1.z.record(zod_1.z.any()).optional(), ignored: zod_1.z.boolean().optional(), }); exports.iModSchema = zod_1.z.object({ id: zod_1.z.string(), state: exports.modStateSchema, type: zod_1.z.string(), archiveId: zod_1.z.string().optional(), installationPath: zod_1.z.string(), attributes: zod_1.z.record(zod_1.z.any()).optional(), rules: zod_1.z.array(exports.iModRuleSchema).optional(), enabledINITweaks: zod_1.z.array(zod_1.z.string()).optional(), fileOverrides: zod_1.z.array(zod_1.z.string()).optional(), }); //# sourceMappingURL=schemas.js.map