cad:options schema
This commit is contained in:
parent
581278f434
commit
1804c2d1bf
21
packages/cad/dist/zod_schema.d.ts
vendored
Normal file
21
packages/cad/dist/zod_schema.d.ts
vendored
Normal file
@ -0,0 +1,21 @@
|
||||
import { z } from 'zod';
|
||||
export declare const ZPathInfoSchema: z.ZodUnknown;
|
||||
export declare const ZOptionsCacheSchema: z.ZodObject<{
|
||||
cache: z.ZodOptional<z.ZodBoolean>;
|
||||
clear: z.ZodOptional<z.ZodBoolean>;
|
||||
}, "strip", z.ZodTypeAny, {
|
||||
cache?: boolean;
|
||||
clear?: boolean;
|
||||
}, {
|
||||
cache?: boolean;
|
||||
clear?: boolean;
|
||||
}>;
|
||||
export declare const ZNodeCallbackSchema: any;
|
||||
export declare const ZOptionsBaseSchema: any;
|
||||
export declare const ZSolidworkOptionsSchema: any;
|
||||
export type ZOptionsCache = z.infer<typeof ZOptionsCacheSchema>;
|
||||
export type ZOptionsBase = z.infer<typeof ZOptionsBaseSchema>;
|
||||
export type ZNodeCallback = z.infer<typeof ZNodeCallbackSchema>;
|
||||
export type ZSolidworkOptions = z.infer<typeof ZSolidworkOptionsSchema>;
|
||||
export declare const types: () => void;
|
||||
export declare const schemas: () => void;
|
||||
57
packages/cad/dist/zod_schema.js
vendored
Normal file
57
packages/cad/dist/zod_schema.js
vendored
Normal file
@ -0,0 +1,57 @@
|
||||
import { z } from 'zod';
|
||||
import { generate_interfaces } from '@polymech/commons/schemas';
|
||||
export const ZPathInfoSchema = z.unknown();
|
||||
export const ZOptionsCacheSchema = z.object({
|
||||
cache: z.boolean().optional(),
|
||||
clear: z.boolean().optional(),
|
||||
});
|
||||
export const ZNodeCallbackSchema = z.lazy(() => z.object({
|
||||
src: z.string(),
|
||||
target: z.string(),
|
||||
options: ZOptionsBaseSchema,
|
||||
}));
|
||||
export const ZOptionsBaseSchema = z.lazy(() => ZOptionsCacheSchema.extend({
|
||||
src: z.string(),
|
||||
srcInfo: ZPathInfoSchema.optional(),
|
||||
dstInfo: ZPathInfoSchema.optional(),
|
||||
dst: z.string().optional(),
|
||||
alt: z.boolean().optional(),
|
||||
debug: z.boolean().optional(),
|
||||
verbose: z.boolean().optional(),
|
||||
dry: z.boolean().optional(),
|
||||
report: z.string().optional(),
|
||||
variables: z.record(z.string()),
|
||||
script: z.string().optional(),
|
||||
args: z.string().optional(),
|
||||
onNode: z.function().args(ZNodeCallbackSchema).returns(z.promise(z.void())),
|
||||
}));
|
||||
export const ZSolidworkOptionsSchema = ZOptionsBaseSchema.extend({
|
||||
'bom-template': z.string().optional(),
|
||||
'bom-detail': z.number().optional(),
|
||||
'bom-type': z.number().optional(),
|
||||
'bom-images': z.boolean().optional(),
|
||||
'bom-config': z.string().optional(),
|
||||
close: z.boolean().optional(),
|
||||
configuration: z.string().optional(),
|
||||
height: z.number().optional(),
|
||||
hidden: z.string().optional(),
|
||||
light: z.boolean().optional(),
|
||||
logLevel: z.string().optional(),
|
||||
pack: z.boolean().optional(),
|
||||
quality: z.number().optional(),
|
||||
rebuild: z.boolean().optional(),
|
||||
renderer: z.string().optional(),
|
||||
save: z.boolean().optional(),
|
||||
sw: z.string().optional(),
|
||||
swv: z.number().optional(),
|
||||
view: z.string().optional(),
|
||||
width: z.number().optional(),
|
||||
write: z.boolean().optional(),
|
||||
});
|
||||
export const types = () => {
|
||||
generate_interfaces([ZSolidworkOptionsSchema], 'src/zod_types.ts');
|
||||
schemas();
|
||||
};
|
||||
export const schemas = () => {
|
||||
};
|
||||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiem9kX3NjaGVtYS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy96b2Rfc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxLQUFLLENBQUM7QUFDeEIsT0FBTyxFQUFFLG1CQUFtQixFQUFxQixNQUFNLDJCQUEyQixDQUFBO0FBRWxGLE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLENBQUM7QUFFM0MsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUMxQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM5QixDQUFDLENBQUM7QUFHSCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUM3QyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ1AsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNsQixPQUFPLEVBQUUsa0JBQWtCO0NBQzVCLENBQUMsQ0FDSCxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FDNUMsbUJBQW1CLENBQUMsTUFBTSxDQUFDO0lBQ3pCLEdBQUcsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2YsT0FBTyxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsT0FBTyxFQUFFLGVBQWUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsU0FBUyxFQUFFLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQy9CLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzdCLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzNCLE1BQU0sRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7Q0FDNUUsQ0FBQyxDQUNILENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSx1QkFBdUIsR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQUM7SUFDL0QsY0FBYyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDckMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsWUFBWSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsWUFBWSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbkMsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsYUFBYSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDcEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDOUIsQ0FBQyxDQUFDO0FBUUgsTUFBTSxDQUFDLE1BQU0sS0FBSyxHQUFHLEdBQUcsRUFBRTtJQUN0QixtQkFBbUIsQ0FBQyxDQUFDLHVCQUF1QixDQUFDLEVBQUUsa0JBQWtCLENBQUMsQ0FBQTtJQUNsRSxPQUFPLEVBQUUsQ0FBQTtBQUNYLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLE9BQU8sR0FBRyxHQUFHLEVBQUU7QUFFNUIsQ0FBQyxDQUFBIn0=
|
||||
@ -51,7 +51,8 @@
|
||||
"tslint": "^5.10.0",
|
||||
"tslog": "^3.3.3",
|
||||
"which": "^2.0.2",
|
||||
"yargs": "^17.7.2"
|
||||
"yargs": "^17.7.2",
|
||||
"zod": "^3.24.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
"@types/js-yaml": "^4.0.9",
|
||||
|
||||
75
packages/cad/src/zod_schema.ts
Normal file
75
packages/cad/src/zod_schema.ts
Normal file
@ -0,0 +1,75 @@
|
||||
import { z } from 'zod';
|
||||
import { generate_interfaces, write, ZodMetaMap } from '@polymech/commons/schemas'
|
||||
|
||||
export const ZPathInfoSchema = z.unknown();
|
||||
|
||||
export const ZOptionsCacheSchema = z.object({
|
||||
cache: z.boolean().optional(),
|
||||
clear: z.boolean().optional(),
|
||||
});
|
||||
|
||||
|
||||
export const ZNodeCallbackSchema = z.lazy(() =>
|
||||
z.object({
|
||||
src: z.string(),
|
||||
target: z.string(),
|
||||
options: ZOptionsBaseSchema,
|
||||
})
|
||||
);
|
||||
|
||||
export const ZOptionsBaseSchema = z.lazy(() =>
|
||||
ZOptionsCacheSchema.extend({
|
||||
src: z.string(),
|
||||
srcInfo: ZPathInfoSchema.optional(),
|
||||
dstInfo: ZPathInfoSchema.optional(),
|
||||
dst: z.string().optional(),
|
||||
alt: z.boolean().optional(),
|
||||
debug: z.boolean().optional(),
|
||||
verbose: z.boolean().optional(),
|
||||
dry: z.boolean().optional(),
|
||||
report: z.string().optional(),
|
||||
variables: z.record(z.string()),
|
||||
script: z.string().optional(),
|
||||
args: z.string().optional(),
|
||||
onNode: z.function().args(ZNodeCallbackSchema).returns(z.promise(z.void())),
|
||||
})
|
||||
);
|
||||
|
||||
export const ZSolidworkOptionsSchema = ZOptionsBaseSchema.extend({
|
||||
'bom-template': z.string().optional(),
|
||||
'bom-detail': z.number().optional(),
|
||||
'bom-type': z.number().optional(),
|
||||
'bom-images': z.boolean().optional(),
|
||||
'bom-config': z.string().optional(),
|
||||
close: z.boolean().optional(),
|
||||
configuration: z.string().optional(),
|
||||
height: z.number().optional(),
|
||||
hidden: z.string().optional(),
|
||||
light: z.boolean().optional(),
|
||||
logLevel: z.string().optional(),
|
||||
pack: z.boolean().optional(),
|
||||
quality: z.number().optional(),
|
||||
rebuild: z.boolean().optional(),
|
||||
renderer: z.string().optional(),
|
||||
save: z.boolean().optional(),
|
||||
sw: z.string().optional(),
|
||||
swv: z.number().optional(),
|
||||
view: z.string().optional(),
|
||||
width: z.number().optional(),
|
||||
write: z.boolean().optional(),
|
||||
});
|
||||
|
||||
export type ZOptionsCache = z.infer<typeof ZOptionsCacheSchema>;
|
||||
export type ZOptionsBase = z.infer<typeof ZOptionsBaseSchema>;
|
||||
export type ZNodeCallback = z.infer<typeof ZNodeCallbackSchema>;
|
||||
export type ZSolidworkOptions = z.infer<typeof ZSolidworkOptionsSchema>;
|
||||
|
||||
|
||||
export const types = () => {
|
||||
generate_interfaces([ZSolidworkOptionsSchema], 'src/zod_types.ts')
|
||||
schemas()
|
||||
}
|
||||
|
||||
export const schemas = () => {
|
||||
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user