@toebean/npc-vortex-api
Version:
A utility package for npc for Vortex.
137 lines • 5.41 kB
JavaScript
"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