@miroir-framework/jzod-ts 0.7.0 → 0.8.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js ADDED
@@ -0,0 +1,182 @@
1
+ import { createRequire } from 'module'; const require = createRequire(import.meta.url);
2
+ import { fileURLToPath } from 'url'
3
+ import { dirname } from 'path'
4
+ const __filename = fileURLToPath(import.meta.url)
5
+ const __dirname = dirname(__filename)
6
+
7
+
8
+ // src/JzodToTs.ts
9
+ import { createTypeAlias, printNode, zodToTs } from "zod-to-ts";
10
+ import {
11
+ jzodToZodTextAndZodSchema
12
+ } from "@miroir-framework/jzod";
13
+ function jzodToZodTextAndZodSchemaForTsGeneration(element, context = {}) {
14
+ const contextFunction = () => context;
15
+ const elementZodSchemaAndDescription = jzodToZodTextAndZodSchema(
16
+ element,
17
+ contextFunction,
18
+ contextFunction,
19
+ { typeScriptGeneration: true }
20
+ // typeScriptGeneration
21
+ );
22
+ return elementZodSchemaAndDescription;
23
+ }
24
+ function jzodToZodTextAndTsTypeText(element, context = {}, typeName) {
25
+ const elementZodSchemaAndDescription = jzodToZodTextAndZodSchemaForTsGeneration(
26
+ element,
27
+ context
28
+ );
29
+ const contextTsTypesStringObject = Object.fromEntries(
30
+ Object.entries(elementZodSchemaAndDescription.contextZodSchema ?? {}).map((curr) => {
31
+ const actualTypeName2 = curr[0] ? curr[0].replace(/^(.)(.*)$/, (a, b, c) => b.toUpperCase() + c) : "";
32
+ const tsNode = zodToTs(curr[1], typeName).node;
33
+ const typeAlias = createTypeAlias(tsNode, actualTypeName2);
34
+ const tsTypeString2 = printNode(typeAlias);
35
+ return [curr[0], tsTypeString2];
36
+ })
37
+ );
38
+ const actualTypeName = typeName ? typeName.replace(/^(.)(.*)$/, (a, b, c) => b.toUpperCase() + c) : "";
39
+ const tsTypeStringNode = zodToTs(elementZodSchemaAndDescription.zodSchema, typeName).node;
40
+ const tsTypeAlias = createTypeAlias(tsTypeStringNode, actualTypeName);
41
+ const tsTypeString = printNode(tsTypeAlias);
42
+ return {
43
+ contextTsTypeText: contextTsTypesStringObject,
44
+ contextZodText: elementZodSchemaAndDescription.contextZodText ?? {},
45
+ zodText: elementZodSchemaAndDescription.zodText,
46
+ tsTypeText: tsTypeString
47
+ };
48
+ }
49
+ function jzodToZodTextAndTsTypeAliases(element, context = {}, typeName) {
50
+ const jzodToTsTypeAliasesAndZodTextStartTime = Date.now();
51
+ console.log("@@@@@@@@@@@@@@@@@ jzodToZodTextAndTsTypeAliases start!", Object.keys(context).length);
52
+ console.log("jzodToZodTextAndTsTypeAliases context:", JSON.stringify(Object.keys(context)));
53
+ const elementZodSchemaAndDescription = jzodToZodTextAndZodSchemaForTsGeneration(
54
+ element,
55
+ context
56
+ );
57
+ console.log(
58
+ "jzodToZodTextAndTsTypeAliases jzodToZodTextAndZodSchemaForTsGeneration duration",
59
+ Date.now() - jzodToTsTypeAliasesAndZodTextStartTime,
60
+ "ms"
61
+ );
62
+ const contextTsTypesStringStartTime = Date.now();
63
+ const contextTsTypesString = Object.fromEntries(
64
+ Object.entries(elementZodSchemaAndDescription.contextZodSchema ?? {}).map((curr) => {
65
+ console.log("jzodToZodTextAndTsTypeAliases converting elementZodSchemaAndDescription entry", curr[0]);
66
+ const actualTypeName = curr[0] ? curr[0].replace(/^(.)(.*)$/, (a, b, c) => b.toUpperCase() + c) : "";
67
+ const tsNode = zodToTs(curr[1], typeName).node;
68
+ const typeAlias = createTypeAlias(tsNode, actualTypeName);
69
+ return [curr[0], typeAlias];
70
+ })
71
+ );
72
+ console.log(
73
+ "jzodToZodTextAndTsTypeAliases contextTsTypesString duration",
74
+ Date.now() - contextTsTypesStringStartTime,
75
+ "ms"
76
+ );
77
+ const tsTypeStringNodeStartTime = Date.now();
78
+ const tsTypeStringNode = zodToTs(elementZodSchemaAndDescription.zodSchema, typeName).node;
79
+ const tsTypeStringTypeAlias = createTypeAlias(tsTypeStringNode, typeName ?? "");
80
+ console.log(
81
+ "jzodToZodTextAndTsTypeAliases tsTypeStringNode duration",
82
+ Date.now() - tsTypeStringNodeStartTime,
83
+ "ms"
84
+ );
85
+ console.log("@@@@@@@@@@@@@@@@@ jzodToZodTextAndTsTypeAliases end in:", Date.now() - jzodToTsTypeAliasesAndZodTextStartTime, "ms");
86
+ return {
87
+ contextTsTypeAliases: contextTsTypesString,
88
+ contextZodText: elementZodSchemaAndDescription.contextZodText ?? {},
89
+ zodText: elementZodSchemaAndDescription.zodText,
90
+ mainTsTypeAlias: tsTypeStringTypeAlias
91
+ };
92
+ }
93
+ function jzodToTsCode(typeName, jzodElement2, context = {}, exportPrefix = true, headerForZodImports = true, typeAnotationForSchema = [], extendedTsTypesText = "") {
94
+ console.log(
95
+ "################################### jzodToTsCode typeName",
96
+ typeName,
97
+ "jzodElement",
98
+ jzodElement2 && jzodElement2.context ? JSON.stringify(Object.keys(jzodElement2.context), null, 2) : void 0
99
+ );
100
+ const schemaName = typeName ? typeName.replace(/^(.)(.*)$/, (a, b, c) => b.toLowerCase() + c) : "";
101
+ const actualTypeName = typeName ? typeName.replace(/^(.)(.*)$/, (a, b, c) => b.toUpperCase() + c) : "";
102
+ const header = typeof headerForZodImports == "string" ? headerForZodImports : headerForZodImports ? `import { ZodType, ZodTypeAny, z } from "zod";` : "";
103
+ const tsTypeStringsAndZodText = jzodToZodTextAndTsTypeText(jzodElement2, context, actualTypeName);
104
+ const contextTsTypesString = tsTypeStringsAndZodText.contextTsTypeText ? Object.entries(tsTypeStringsAndZodText.contextTsTypeText).reduce((acc, curr) => {
105
+ return exportPrefix ? `${acc}
106
+ export ${curr[1]}` : `${acc}
107
+ ${curr[1]}`;
108
+ }, "") : "";
109
+ const contextJsCode = tsTypeStringsAndZodText.contextZodText ? Object.entries(tsTypeStringsAndZodText.contextZodText).reduce((acc, curr) => {
110
+ const contextTypeName = curr[0] ? curr[0].replace(/^(.)(.*)$/, (a, b, c) => b.toUpperCase() + c) : "";
111
+ return typeAnotationForSchema.includes(curr[0]) ? `${acc}
112
+ export const ${curr[0]}: z.ZodType<${contextTypeName}> = ${curr[1]};` : `${acc}
113
+ export const ${curr[0]} = ${curr[1]};`;
114
+ }, "") : "";
115
+ const bodyTsCode = (exportPrefix ? "export " : "") + tsTypeStringsAndZodText.tsTypeText;
116
+ const bodyJsCode = typeAnotationForSchema.includes(schemaName ?? "") ? `export const ${schemaName}: z.ZodType<${actualTypeName}> = ${tsTypeStringsAndZodText.zodText};` : `export const ${schemaName} = ${tsTypeStringsAndZodText.zodText};`;
117
+ return `${header}
118
+ ${extendedTsTypesText ?? ""}
119
+ ${contextTsTypesString}
120
+ ${bodyTsCode}
121
+ ${contextJsCode}
122
+ ${bodyJsCode}
123
+ `;
124
+ }
125
+
126
+ // src/generated_jzodBootstrapElementSchema.ts
127
+ import { z } from "zod";
128
+ var jzodBaseObject = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional() }).strict();
129
+ var jzodArray = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("array"), definition: z.lazy(() => jzodElement) }).strict();
130
+ var jzodPlainAttribute = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.lazy(() => jzodEnumAttributeTypes), coerce: z.boolean().optional() }).strict();
131
+ var jzodAttributeDateValidations = z.object({ extra: z.record(z.string(), z.any()).optional(), type: z.enum(["min", "max"]), parameter: z.any() }).strict();
132
+ var jzodAttributePlainDateWithValidations = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("date"), coerce: z.boolean().optional(), validations: z.array(z.lazy(() => jzodAttributeDateValidations)) }).strict();
133
+ var jzodAttributeNumberValidations = z.object({ extra: z.record(z.string(), z.any()).optional(), type: z.enum(["gt", "gte", "lt", "lte", "int", "positive", "nonpositive", "negative", "nonnegative", "multipleOf", "finite", "safe"]), parameter: z.any() }).strict();
134
+ var jzodAttributePlainNumberWithValidations = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("number"), coerce: z.boolean().optional(), validations: z.array(z.lazy(() => jzodAttributeNumberValidations)) }).strict();
135
+ var jzodAttributeStringValidations = z.object({ extra: z.record(z.string(), z.any()).optional(), type: z.enum(["max", "min", "length", "email", "url", "emoji", "uuid", "cuid", "cuid2", "ulid", "regex", "includes", "startsWith", "endsWith", "datetime", "ip"]), parameter: z.any() }).strict();
136
+ var jzodAttributePlainStringWithValidations = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("string"), coerce: z.boolean().optional(), validations: z.array(z.lazy(() => jzodAttributeStringValidations)) }).strict();
137
+ var jzodElement = z.union([z.lazy(() => jzodArray), z.lazy(() => jzodPlainAttribute), z.lazy(() => jzodAttributePlainDateWithValidations), z.lazy(() => jzodAttributePlainNumberWithValidations), z.lazy(() => jzodAttributePlainStringWithValidations), z.lazy(() => jzodEnum), z.lazy(() => jzodFunction), z.lazy(() => jzodLazy), z.lazy(() => jzodLiteral), z.lazy(() => jzodIntersection), z.lazy(() => jzodMap), z.lazy(() => jzodObject), z.lazy(() => jzodPromise), z.lazy(() => jzodRecord), z.lazy(() => jzodReference), z.lazy(() => jzodSet), z.lazy(() => jzodTuple), z.lazy(() => jzodUnion)]);
138
+ var jzodEnum = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("enum"), definition: z.array(z.string()) }).strict();
139
+ var jzodEnumAttributeTypes = z.enum(["any", "bigint", "boolean", "date", "never", "null", "number", "string", "uuid", "undefined", "unknown", "void"]);
140
+ var jzodEnumElementTypes = z.enum(["array", "date", "enum", "function", "lazy", "literal", "intersection", "map", "number", "object", "promise", "record", "schemaReference", "set", "string", "tuple", "union"]);
141
+ var jzodFunction = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("function"), definition: z.object({ args: z.array(z.lazy(() => jzodElement)), returns: z.lazy(() => jzodElement).optional() }).strict() }).strict();
142
+ var jzodLazy = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("lazy"), definition: z.lazy(() => jzodReference) }).strict();
143
+ var jzodLiteral = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("literal"), definition: z.union([z.string(), z.number(), z.bigint(), z.boolean()]) }).strict();
144
+ var jzodIntersection = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("intersection"), definition: z.object({ left: z.lazy(() => jzodElement), right: z.lazy(() => jzodElement) }).strict() }).strict();
145
+ var jzodMap = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("map"), definition: z.tuple([z.lazy(() => jzodElement), z.lazy(() => jzodElement)]) }).strict();
146
+ var jzodObject = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), extend: z.union([z.union([z.lazy(() => jzodReference), z.lazy(() => jzodObject)]).optional(), z.array(z.union([z.lazy(() => jzodReference), z.lazy(() => jzodObject)]).optional())]).optional(), type: z.literal("object"), nonStrict: z.boolean().optional(), partial: z.boolean().optional(), carryOn: z.union([z.lazy(() => jzodObject), z.lazy(() => jzodUnion)]).optional(), definition: z.record(z.string(), z.lazy(() => jzodElement)) }).strict();
147
+ var jzodPromise = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("promise"), definition: z.lazy(() => jzodElement) }).strict();
148
+ var jzodRecord = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("record"), definition: z.lazy(() => jzodElement) }).strict();
149
+ var jzodReference = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("schemaReference"), context: z.record(z.string(), z.lazy(() => jzodElement)).optional(), carryOn: z.union([z.lazy(() => jzodObject), z.lazy(() => jzodUnion)]).optional(), definition: z.object({ eager: z.boolean().optional(), partial: z.boolean().optional(), relativePath: z.string().optional(), absolutePath: z.string().optional() }).strict() }).strict();
150
+ var jzodSet = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("set"), definition: z.lazy(() => jzodElement) }).strict();
151
+ var jzodTuple = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("tuple"), definition: z.array(z.lazy(() => jzodElement)) }).strict();
152
+ var jzodUnion = z.object({ optional: z.boolean().optional(), nullable: z.boolean().optional(), extra: z.any().optional(), tag: z.object({ value: z.any(), schema: z.object({ optional: z.boolean().optional(), metaSchema: z.lazy(() => jzodElement).optional(), valueSchema: z.lazy(() => jzodElement).optional() }).strict().optional(), optional: z.boolean().optional() }).strict().optional(), type: z.literal("union"), optInDiscriminator: z.boolean().optional(), discriminator: z.union([z.object({ discriminatorType: z.literal("string"), value: z.string() }).strict(), z.object({ discriminatorType: z.literal("array"), value: z.array(z.string()) }).strict()]).optional(), carryOn: z.union([z.lazy(() => jzodObject), z.lazy(() => jzodUnion)]).optional(), definition: z.array(z.lazy(() => jzodElement)) }).strict();
153
+ var jzodBootstrapElementSchema = z.lazy(() => jzodElement);
154
+ export {
155
+ jzodArray,
156
+ jzodAttributeDateValidations,
157
+ jzodAttributeNumberValidations,
158
+ jzodAttributePlainDateWithValidations,
159
+ jzodAttributePlainNumberWithValidations,
160
+ jzodAttributePlainStringWithValidations,
161
+ jzodAttributeStringValidations,
162
+ jzodElement,
163
+ jzodEnum,
164
+ jzodEnumAttributeTypes,
165
+ jzodEnumElementTypes,
166
+ jzodFunction,
167
+ jzodIntersection,
168
+ jzodLazy,
169
+ jzodLiteral,
170
+ jzodMap,
171
+ jzodObject,
172
+ jzodPlainAttribute,
173
+ jzodPromise,
174
+ jzodRecord,
175
+ jzodReference,
176
+ jzodSet,
177
+ jzodToTsCode,
178
+ jzodToZodTextAndTsTypeAliases,
179
+ jzodToZodTextAndZodSchemaForTsGeneration,
180
+ jzodTuple,
181
+ jzodUnion
182
+ };
package/package.json CHANGED
@@ -1,17 +1,23 @@
1
1
  {
2
2
  "name": "@miroir-framework/jzod-ts",
3
3
  "private": false,
4
- "version": "0.7.0",
4
+ "version": "0.8.2",
5
5
  "description": "The Typescript-related functionalities of Jzod.",
6
- "main": "dist/bundle.js",
7
- "types": "dist/bundle.d.ts",
6
+ "main": "dist/index.js",
7
+ "types": "dist/index.d.ts",
8
8
  "type": "module",
9
- "scripts": {
10
- "preBuild": "tsc --rootDir . --baseUrl . --module ESnext --target ES2017 --moduleResolution node --allowSyntheticDefaultImports --outdir ./tmp/ && node ./tmp/src/preBuild.js",
11
- "preBuildRun": "node ./tmp/src/preBuild.js",
12
- "build": "rollup --config",
13
- "test": "cross-env NODE_ENV=test jest --verbose --silent=false -t"
9
+ "exports": {
10
+ "./package.json": "./package.json",
11
+ ".": {
12
+ "import": "./dist/index.js",
13
+ "require": "./dist/index.cjs"
14
+ }
14
15
  },
16
+ "keywords": [
17
+ "zod",
18
+ "typescript",
19
+ "generator"
20
+ ],
15
21
  "author": "Miroir Framework <miroir-framework@protonmail.com>",
16
22
  "homepage": "https://github.com/miroir-framework/jzod/#readme",
17
23
  "bugs": "https://github.com/miroir-framework/jzod/issues",
@@ -19,28 +25,30 @@
19
25
  "files": [
20
26
  "LICENSE.md",
21
27
  "package.json",
22
- "dist/bundle.js",
23
- "dist/bundle.d.ts"
28
+ "dist/index.js",
29
+ "dist/index.cjs",
30
+ "dist/index.d.ts",
31
+ "dist/src/worker.js"
24
32
  ],
33
+ "scripts": {
34
+ "preBuild": "tsx ./scripts/preBuild.ts",
35
+ "build": "tsup",
36
+ "test": "cross-env NODE_ENV=test vitest run --poolOptions.threads.singleThread --passWithNoTests -t"
37
+ },
25
38
  "dependencies": {
26
- "@miroir-framework/jzod": "0.7.0",
27
- "zod": "^3.22.2",
39
+ "@miroir-framework/jzod": "0.8.2",
40
+ "zod": "^3.24.2",
28
41
  "zod-to-ts": "^1.2.0"
29
42
  },
30
43
  "devDependencies": {
31
- "@babel/plugin-transform-modules-commonjs": "^7.20.11",
32
- "@babel/preset-env": "^7.22.5",
33
- "@jest/globals": "^29.3.1",
34
- "@rollup/plugin-commonjs": "^24.0.1",
35
- "@rollup/plugin-json": "^6.0.0",
36
- "@types/jest": "^29.2.4",
37
- "babel-jest": "^29.4.0",
38
- "rollup": "^3.10.1",
39
- "rollup-plugin-dts": "^5.1.1",
40
- "rollup-plugin-typescript2": "^0.34.1",
41
- "ts-jest": "^29.0.3",
44
+ "path": "^0.12.7",
42
45
  "tsconfig-paths": "^4.1.2",
43
- "typescript": "5.0.3",
46
+ "tsup": "^8.4.0",
47
+ "tsx": "^4.19.3",
48
+ "typescript": "5.8.2",
49
+ "url": "^0.11.4",
50
+ "vite-plugin-node-polyfills": "^0.23.0",
51
+ "vitest": "^3.0.8",
44
52
  "zod-to-json-schema": "^3.21.2"
45
53
  }
46
54
  }
package/dist/bundle.d.ts DELETED
@@ -1,303 +0,0 @@
1
- import ts from 'typescript';
2
- import { z } from 'zod';
3
-
4
- type JzodArray = {
5
- optional?: boolean | undefined;
6
- nullable?: boolean | undefined;
7
- extra?: {
8
- [x: string]: any;
9
- } | undefined;
10
- type: "array";
11
- definition: JzodElement;
12
- };
13
- type JzodAttribute = {
14
- optional?: boolean | undefined;
15
- nullable?: boolean | undefined;
16
- extra?: {
17
- [x: string]: any;
18
- } | undefined;
19
- type: "simpleType";
20
- coerce?: boolean | undefined;
21
- definition: JzodEnumAttributeTypes;
22
- };
23
- type JzodPlainAttribute = {
24
- optional?: boolean | undefined;
25
- nullable?: boolean | undefined;
26
- extra?: {
27
- [x: string]: any;
28
- } | undefined;
29
- type: JzodEnumAttributeTypes;
30
- coerce?: boolean | undefined;
31
- };
32
- type JzodAttributeDateValidations = {
33
- extra?: {
34
- [x: string]: any;
35
- } | undefined;
36
- type: "min" | "max";
37
- parameter?: any;
38
- };
39
- type JzodAttributeDateWithValidations = {
40
- optional?: boolean | undefined;
41
- nullable?: boolean | undefined;
42
- extra?: {
43
- [x: string]: any;
44
- } | undefined;
45
- type: "simpleType";
46
- definition: "date";
47
- coerce?: boolean | undefined;
48
- validations: JzodAttributeDateValidations[];
49
- };
50
- type JzodAttributePlainDateWithValidations = {
51
- optional?: boolean | undefined;
52
- nullable?: boolean | undefined;
53
- extra?: {
54
- [x: string]: any;
55
- } | undefined;
56
- type: "date";
57
- coerce?: boolean | undefined;
58
- validations: JzodAttributeDateValidations[];
59
- };
60
- type JzodAttributeNumberValidations = {
61
- extra?: {
62
- [x: string]: any;
63
- } | undefined;
64
- type: "gt" | "gte" | "lt" | "lte" | "int" | "positive" | "nonpositive" | "negative" | "nonnegative" | "multipleOf" | "finite" | "safe";
65
- parameter?: any;
66
- };
67
- type JzodAttributeNumberWithValidations = {
68
- optional?: boolean | undefined;
69
- nullable?: boolean | undefined;
70
- extra?: {
71
- [x: string]: any;
72
- } | undefined;
73
- type: "simpleType";
74
- definition: "number";
75
- coerce?: boolean | undefined;
76
- validations: JzodAttributeNumberValidations[];
77
- };
78
- type JzodAttributePlainNumberWithValidations = {
79
- optional?: boolean | undefined;
80
- nullable?: boolean | undefined;
81
- extra?: {
82
- [x: string]: any;
83
- } | undefined;
84
- type: "number";
85
- coerce?: boolean | undefined;
86
- validations: JzodAttributeNumberValidations[];
87
- };
88
- type JzodAttributeStringValidations = {
89
- extra?: {
90
- [x: string]: any;
91
- } | undefined;
92
- type: "max" | "min" | "length" | "email" | "url" | "emoji" | "uuid" | "cuid" | "cuid2" | "ulid" | "regex" | "includes" | "startsWith" | "endsWith" | "datetime" | "ip";
93
- parameter?: any;
94
- };
95
- type JzodAttributeStringWithValidations = {
96
- optional?: boolean | undefined;
97
- nullable?: boolean | undefined;
98
- extra?: {
99
- [x: string]: any;
100
- } | undefined;
101
- type: "simpleType";
102
- definition: "string";
103
- coerce?: boolean | undefined;
104
- validations: JzodAttributeStringValidations[];
105
- };
106
- type JzodAttributePlainStringWithValidations = {
107
- optional?: boolean | undefined;
108
- nullable?: boolean | undefined;
109
- extra?: {
110
- [x: string]: any;
111
- } | undefined;
112
- type: "string";
113
- coerce?: boolean | undefined;
114
- validations: JzodAttributeStringValidations[];
115
- };
116
- type JzodElement = JzodArray | JzodAttribute | JzodPlainAttribute | JzodAttributeDateWithValidations | JzodAttributePlainDateWithValidations | JzodAttributeNumberWithValidations | JzodAttributePlainNumberWithValidations | JzodAttributeStringWithValidations | JzodAttributePlainStringWithValidations | JzodEnum | JzodFunction | JzodLazy | JzodLiteral | JzodIntersection | JzodMap | JzodObject | JzodPromise | JzodRecord | JzodReference | JzodSet | JzodTuple | JzodUnion;
117
- type JzodEnum = {
118
- optional?: boolean | undefined;
119
- nullable?: boolean | undefined;
120
- extra?: {
121
- [x: string]: any;
122
- } | undefined;
123
- type: "enum";
124
- definition: string[];
125
- };
126
- type JzodEnumAttributeTypes = "any" | "bigint" | "boolean" | "date" | "never" | "null" | "number" | "string" | "uuid" | "undefined" | "unknown" | "void";
127
- type JzodEnumElementTypes = "array" | "date" | "enum" | "function" | "lazy" | "literal" | "intersection" | "map" | "number" | "object" | "promise" | "record" | "schemaReference" | "set" | "simpleType" | "string" | "tuple" | "union";
128
- type JzodFunction = {
129
- optional?: boolean | undefined;
130
- nullable?: boolean | undefined;
131
- extra?: {
132
- [x: string]: any;
133
- } | undefined;
134
- type: "function";
135
- definition: {
136
- args: JzodElement[];
137
- returns?: JzodElement | undefined;
138
- };
139
- };
140
- type JzodLazy = {
141
- optional?: boolean | undefined;
142
- nullable?: boolean | undefined;
143
- extra?: {
144
- [x: string]: any;
145
- } | undefined;
146
- type: "lazy";
147
- definition: JzodFunction;
148
- };
149
- type JzodLiteral = {
150
- optional?: boolean | undefined;
151
- nullable?: boolean | undefined;
152
- extra?: {
153
- [x: string]: any;
154
- } | undefined;
155
- type: "literal";
156
- definition: string | number | bigint | boolean;
157
- };
158
- type JzodIntersection = {
159
- optional?: boolean | undefined;
160
- nullable?: boolean | undefined;
161
- extra?: {
162
- [x: string]: any;
163
- } | undefined;
164
- type: "intersection";
165
- definition: {
166
- left: JzodElement;
167
- right: JzodElement;
168
- };
169
- };
170
- type JzodMap = {
171
- optional?: boolean | undefined;
172
- nullable?: boolean | undefined;
173
- extra?: {
174
- [x: string]: any;
175
- } | undefined;
176
- type: "map";
177
- definition: [
178
- JzodElement,
179
- JzodElement
180
- ];
181
- };
182
- type JzodObject = {
183
- optional?: boolean | undefined;
184
- nullable?: boolean | undefined;
185
- extra?: {
186
- [x: string]: any;
187
- } | undefined;
188
- extend?: (JzodReference | JzodObject) | undefined;
189
- type: "object";
190
- nonStrict?: boolean | undefined;
191
- partial?: boolean | undefined;
192
- definition: {
193
- [x: string]: JzodElement;
194
- };
195
- };
196
- type JzodPromise = {
197
- optional?: boolean | undefined;
198
- nullable?: boolean | undefined;
199
- extra?: {
200
- [x: string]: any;
201
- } | undefined;
202
- type: "promise";
203
- definition: JzodElement;
204
- };
205
- type JzodRecord = {
206
- optional?: boolean | undefined;
207
- nullable?: boolean | undefined;
208
- extra?: {
209
- [x: string]: any;
210
- } | undefined;
211
- type: "record";
212
- definition: JzodElement;
213
- };
214
- type JzodReference = {
215
- optional?: boolean | undefined;
216
- nullable?: boolean | undefined;
217
- extra?: {
218
- [x: string]: any;
219
- } | undefined;
220
- type: "schemaReference";
221
- context?: {
222
- [x: string]: JzodElement;
223
- } | undefined;
224
- definition: {
225
- eager?: boolean | undefined;
226
- partial?: boolean | undefined;
227
- relativePath?: string | undefined;
228
- absolutePath?: string | undefined;
229
- };
230
- };
231
- type JzodSet = {
232
- optional?: boolean | undefined;
233
- nullable?: boolean | undefined;
234
- extra?: {
235
- [x: string]: any;
236
- } | undefined;
237
- type: "set";
238
- definition: JzodElement;
239
- };
240
- type JzodTuple = {
241
- optional?: boolean | undefined;
242
- nullable?: boolean | undefined;
243
- extra?: {
244
- [x: string]: any;
245
- } | undefined;
246
- type: "tuple";
247
- definition: JzodElement[];
248
- };
249
- type JzodUnion = {
250
- optional?: boolean | undefined;
251
- nullable?: boolean | undefined;
252
- extra?: {
253
- [x: string]: any;
254
- } | undefined;
255
- type: "union";
256
- discriminator?: string | undefined;
257
- definition: JzodElement[];
258
- };
259
- declare const jzodArray: z.ZodType<JzodArray>;
260
- declare const jzodAttribute: z.ZodType<JzodAttribute>;
261
- declare const jzodAttributeDateValidations: z.ZodType<JzodAttributeDateValidations>;
262
- declare const jzodAttributeDateWithValidations: z.ZodType<JzodAttributeDateWithValidations>;
263
- declare const jzodAttributeNumberValidations: z.ZodType<JzodAttributeNumberValidations>;
264
- declare const jzodAttributeNumberWithValidations: z.ZodType<JzodAttributeNumberWithValidations>;
265
- declare const jzodAttributeStringValidations: z.ZodType<JzodAttributeStringValidations>;
266
- declare const jzodAttributeStringWithValidations: z.ZodType<JzodAttributeStringWithValidations>;
267
- declare const jzodElement: z.ZodType<JzodElement>;
268
- declare const jzodEnum: z.ZodType<JzodEnum>;
269
- declare const jzodEnumAttributeTypes: z.ZodType<JzodEnumAttributeTypes>;
270
- declare const jzodEnumElementTypes: z.ZodType<JzodEnumElementTypes>;
271
- declare const jzodFunction: z.ZodType<JzodFunction>;
272
- declare const jzodLazy: z.ZodType<JzodLazy>;
273
- declare const jzodLiteral: z.ZodType<JzodLiteral>;
274
- declare const jzodIntersection: z.ZodType<JzodIntersection>;
275
- declare const jzodMap: z.ZodType<JzodMap>;
276
- declare const jzodObject: z.ZodType<JzodObject>;
277
- declare const jzodPromise: z.ZodType<JzodPromise>;
278
- declare const jzodRecord: z.ZodType<JzodRecord>;
279
- declare const jzodReference: z.ZodType<JzodReference>;
280
- declare const jzodSet: z.ZodType<JzodSet>;
281
- declare const jzodTuple: z.ZodType<JzodTuple>;
282
- declare const jzodUnion: z.ZodType<JzodUnion>;
283
-
284
- type TsTypeAliases = {
285
- [k: string]: ts.TypeAliasDeclaration;
286
- };
287
- interface TsTypeAliasesAndZodText {
288
- contextTsTypeAliases: {
289
- [k: string]: ts.TypeAliasDeclaration;
290
- };
291
- contextZodText: {
292
- [k: string]: string;
293
- };
294
- mainTsTypeAlias: ts.TypeAliasDeclaration;
295
- mainZodText: string;
296
- }
297
- declare function jzodToTsTypeAliasesAndZodText(element: JzodElement, typeName?: string): TsTypeAliasesAndZodText;
298
- declare function jzodToTsCode(jzodElement: JzodElement, exportPrefix?: boolean, typeName?: string, typeAnotationForSchema?: string[]): string;
299
-
300
- declare function printTsTypeAlias(typeAlias: ts.TypeAliasDeclaration, exportPrefix?: boolean): string;
301
- declare function printTsTypeAliases(typeAliases: TsTypeAliases, exportPrefix?: boolean): string;
302
-
303
- export { JzodArray, JzodAttribute, JzodAttributeDateValidations, JzodAttributeDateWithValidations, JzodAttributeNumberValidations, JzodAttributeNumberWithValidations, JzodAttributePlainDateWithValidations, JzodAttributePlainNumberWithValidations, JzodAttributePlainStringWithValidations, JzodAttributeStringValidations, JzodAttributeStringWithValidations, JzodElement, JzodEnum, JzodEnumAttributeTypes, JzodEnumElementTypes, JzodFunction, JzodIntersection, JzodLazy, JzodLiteral, JzodMap, JzodObject, JzodPlainAttribute, JzodPromise, JzodRecord, JzodReference, JzodSet, JzodTuple, TsTypeAliasesAndZodText as JzodTypeAliasesAndZodText, JzodUnion, TsTypeAliases, jzodArray, jzodAttribute, jzodAttributeDateValidations, jzodAttributeDateWithValidations, jzodAttributeNumberValidations, jzodAttributeNumberWithValidations, jzodAttributeStringValidations, jzodAttributeStringWithValidations, jzodElement, jzodEnum, jzodEnumAttributeTypes, jzodEnumElementTypes, jzodFunction, jzodIntersection, jzodLazy, jzodLiteral, jzodMap, jzodObject, jzodPromise, jzodRecord, jzodReference, jzodSet, jzodToTsCode, jzodToTsTypeAliasesAndZodText, jzodTuple, jzodUnion, printTsTypeAlias, printTsTypeAliases };