docxtemplater
Version:
Generate docx, pptx, and xlsx from templates (Word, Powerpoint and Excel documents), from Node.js, the Browser and the command line
133 lines (118 loc) • 3.29 kB
text/typescript
// Generated by ts-to-zod
import { z } from "zod";
import { type DxtPart } from "./es6/docxtemplater.d";
const dxtIntegerSchema = z.number();
const dxtSimplePartSchema = z.record(z.any()).and(
z.object({
type: z.string(),
value: z.string(),
module: z.string().optional(),
})
);
const dxtPartSchema: z.ZodSchema<DxtPart> = z.lazy(() =>
z.object({
type: z.string(),
value: z.string(),
module: z.string(),
raw: z.string(),
offset: dxtIntegerSchema,
lIndex: dxtIntegerSchema,
num: dxtIntegerSchema,
inverted: z.boolean().optional(),
endLindex: dxtIntegerSchema.optional(),
expanded: z.array(dxtPartSchema).optional(),
subparsed: z.array(dxtPartSchema).optional(),
position: z.string().optional(),
tag: z.string().optional(),
})
);
const dxtRenderedSchema = z.object({
value: z.string(),
errors: z.array(z.any()),
});
const dxtErrorSchema = z.any();
const dxtCompressionSchema = z.union([
z.literal("STORE"),
z.literal("DEFLATE"),
]);
const dxtZipOptionsSchema = z.object({
compression: z
.union([dxtCompressionSchema, z.undefined()])
.optional()
.default("DEFLATE"),
compressionOptions: z
.union([
z.object({
level: z.union([
z.literal(1),
z.literal(2),
z.literal(3),
z.literal(4),
z.literal(5),
z.literal(6),
z.literal(7),
z.literal(8),
z.literal(9),
]),
}),
z.undefined(),
])
.optional()
.nullable(),
comment: z.union([z.string(), z.undefined()]).optional(),
platform: z
.union([
z.literal("DOS"),
z.literal("UNIX"),
z.literal(NodeJS.Platform),
z.undefined(),
])
.optional()
.default("DOS"),
});
const dxtModuleSchema = z.record(z.any());
const dxtParserContextSchema = z.object({
meta: z.object({
part: dxtPartSchema,
}),
scopeList: z.array(z.any()),
scopePath: z.array(z.string()),
scopePathItem: z.array(dxtIntegerSchema),
scopePathLength: z.array(dxtIntegerSchema),
num: dxtIntegerSchema,
});
const dxtParserSchema = z.object({});
const dxtSyntaxSchema = z.object({
allowUnopenedTag: z.boolean().optional(),
allowUnclosedTag: z.boolean().optional(),
changeDelimiterPrefix: z.string().optional().nullable(),
allowUnbalancedLoops: z.boolean().optional(),
});
const dxtOptionsSchema = z.object({
delimiters: z
.object({
start: z.string().nullable(),
end: z.string().nullable(),
})
.optional(),
paragraphLoop: z.boolean().optional(),
errorLogging: z.union([z.boolean(), z.string()]).optional(),
linebreaks: z.boolean().optional(),
fileTypeConfig: z.any().optional(),
syntax: dxtSyntaxSchema.optional(),
stripInvalidXMLChars: z.boolean().optional(),
});
const dxtConstructorOptionsSchema = dxtOptionsSchema.extend({
modules: z.array(dxtModuleSchema).optional(),
});
const dxtScopeManagerSchema = z.object({
scopeList: z.array(z.any()),
scopeLindex: z.array(dxtIntegerSchema),
scopePath: z.array(z.string()),
scopePathItem: z.array(dxtIntegerSchema),
scopePathLength: z.array(dxtIntegerSchema),
resolved: z.any(),
cachedParsers: z.record(
z.function().args(z.any(), dxtParserContextSchema).returns(z.any())
),
});