@miroir-framework/jzod-ts 0.8.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/README.md +2 -2
- package/dist/index.cjs +9 -4
- package/dist/index.d.ts +2 -1
- package/dist/index.js +9 -4
- package/package.json +2 -15
package/README.md
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
# Jzod-ts
|
|
2
|
-
|
|
1
|
+
# Jzod-ts
|
|
2
|
+
|
|
3
3
|
see [Jzod](https://github.com/miroir-framework/jzod) for usage information.
|
package/dist/index.cjs
CHANGED
|
@@ -59,7 +59,7 @@ function jzodToZodTextAndZodSchemaForTsGeneration(element, context = {}) {
|
|
|
59
59
|
element,
|
|
60
60
|
contextFunction,
|
|
61
61
|
contextFunction,
|
|
62
|
-
true
|
|
62
|
+
{ typeScriptGeneration: true }
|
|
63
63
|
// typeScriptGeneration
|
|
64
64
|
);
|
|
65
65
|
return elementZodSchemaAndDescription;
|
|
@@ -75,7 +75,6 @@ function jzodToZodTextAndTsTypeText(element, context = {}, typeName) {
|
|
|
75
75
|
const tsNode = (0, import_zod_to_ts.zodToTs)(curr[1], typeName).node;
|
|
76
76
|
const typeAlias = (0, import_zod_to_ts.createTypeAlias)(tsNode, actualTypeName2);
|
|
77
77
|
const tsTypeString2 = (0, import_zod_to_ts.printNode)(typeAlias);
|
|
78
|
-
console.log("jzodToZodTextAndTsTypeText producing TS type for contextElement", curr[0]);
|
|
79
78
|
return [curr[0], tsTypeString2];
|
|
80
79
|
})
|
|
81
80
|
);
|
|
@@ -135,9 +134,15 @@ function jzodToZodTextAndTsTypeAliases(element, context = {}, typeName) {
|
|
|
135
134
|
};
|
|
136
135
|
}
|
|
137
136
|
function jzodToTsCode(typeName, jzodElement2, context = {}, exportPrefix = true, headerForZodImports = true, typeAnotationForSchema = [], extendedTsTypesText = "") {
|
|
137
|
+
console.log(
|
|
138
|
+
"################################### jzodToTsCode typeName",
|
|
139
|
+
typeName,
|
|
140
|
+
"jzodElement",
|
|
141
|
+
jzodElement2 && jzodElement2.context ? JSON.stringify(Object.keys(jzodElement2.context), null, 2) : void 0
|
|
142
|
+
);
|
|
138
143
|
const schemaName = typeName ? typeName.replace(/^(.)(.*)$/, (a, b, c) => b.toLowerCase() + c) : "";
|
|
139
144
|
const actualTypeName = typeName ? typeName.replace(/^(.)(.*)$/, (a, b, c) => b.toUpperCase() + c) : "";
|
|
140
|
-
const header = headerForZodImports ? `import { ZodType, ZodTypeAny, z } from "zod";` : "";
|
|
145
|
+
const header = typeof headerForZodImports == "string" ? headerForZodImports : headerForZodImports ? `import { ZodType, ZodTypeAny, z } from "zod";` : "";
|
|
141
146
|
const tsTypeStringsAndZodText = jzodToZodTextAndTsTypeText(jzodElement2, context, actualTypeName);
|
|
142
147
|
const contextTsTypesString = tsTypeStringsAndZodText.contextTsTypeText ? Object.entries(tsTypeStringsAndZodText.contextTsTypeText).reduce((acc, curr) => {
|
|
143
148
|
return exportPrefix ? `${acc}
|
|
@@ -187,7 +192,7 @@ var jzodRecord = import_zod.z.object({ optional: import_zod.z.boolean().optional
|
|
|
187
192
|
var jzodReference = import_zod.z.object({ optional: import_zod.z.boolean().optional(), nullable: import_zod.z.boolean().optional(), extra: import_zod.z.any().optional(), tag: import_zod.z.object({ value: import_zod.z.any(), schema: import_zod.z.object({ optional: import_zod.z.boolean().optional(), metaSchema: import_zod.z.lazy(() => jzodElement).optional(), valueSchema: import_zod.z.lazy(() => jzodElement).optional() }).strict().optional(), optional: import_zod.z.boolean().optional() }).strict().optional(), type: import_zod.z.literal("schemaReference"), context: import_zod.z.record(import_zod.z.string(), import_zod.z.lazy(() => jzodElement)).optional(), carryOn: import_zod.z.union([import_zod.z.lazy(() => jzodObject), import_zod.z.lazy(() => jzodUnion)]).optional(), definition: import_zod.z.object({ eager: import_zod.z.boolean().optional(), partial: import_zod.z.boolean().optional(), relativePath: import_zod.z.string().optional(), absolutePath: import_zod.z.string().optional() }).strict() }).strict();
|
|
188
193
|
var jzodSet = import_zod.z.object({ optional: import_zod.z.boolean().optional(), nullable: import_zod.z.boolean().optional(), extra: import_zod.z.any().optional(), tag: import_zod.z.object({ value: import_zod.z.any(), schema: import_zod.z.object({ optional: import_zod.z.boolean().optional(), metaSchema: import_zod.z.lazy(() => jzodElement).optional(), valueSchema: import_zod.z.lazy(() => jzodElement).optional() }).strict().optional(), optional: import_zod.z.boolean().optional() }).strict().optional(), type: import_zod.z.literal("set"), definition: import_zod.z.lazy(() => jzodElement) }).strict();
|
|
189
194
|
var jzodTuple = import_zod.z.object({ optional: import_zod.z.boolean().optional(), nullable: import_zod.z.boolean().optional(), extra: import_zod.z.any().optional(), tag: import_zod.z.object({ value: import_zod.z.any(), schema: import_zod.z.object({ optional: import_zod.z.boolean().optional(), metaSchema: import_zod.z.lazy(() => jzodElement).optional(), valueSchema: import_zod.z.lazy(() => jzodElement).optional() }).strict().optional(), optional: import_zod.z.boolean().optional() }).strict().optional(), type: import_zod.z.literal("tuple"), definition: import_zod.z.array(import_zod.z.lazy(() => jzodElement)) }).strict();
|
|
190
|
-
var jzodUnion = import_zod.z.object({ optional: import_zod.z.boolean().optional(), nullable: import_zod.z.boolean().optional(), extra: import_zod.z.any().optional(), tag: import_zod.z.object({ value: import_zod.z.any(), schema: import_zod.z.object({ optional: import_zod.z.boolean().optional(), metaSchema: import_zod.z.lazy(() => jzodElement).optional(), valueSchema: import_zod.z.lazy(() => jzodElement).optional() }).strict().optional(), optional: import_zod.z.boolean().optional() }).strict().optional(), type: import_zod.z.literal("union"), discriminator: import_zod.z.union([import_zod.z.object({ discriminatorType: import_zod.z.literal("string"), value: import_zod.z.string() }).strict(), import_zod.z.object({ discriminatorType: import_zod.z.literal("array"), value: import_zod.z.array(import_zod.z.string()) }).strict()]).optional(), carryOn: import_zod.z.union([import_zod.z.lazy(() => jzodObject), import_zod.z.lazy(() => jzodUnion)]).optional(), definition: import_zod.z.array(import_zod.z.lazy(() => jzodElement)) }).strict();
|
|
195
|
+
var jzodUnion = import_zod.z.object({ optional: import_zod.z.boolean().optional(), nullable: import_zod.z.boolean().optional(), extra: import_zod.z.any().optional(), tag: import_zod.z.object({ value: import_zod.z.any(), schema: import_zod.z.object({ optional: import_zod.z.boolean().optional(), metaSchema: import_zod.z.lazy(() => jzodElement).optional(), valueSchema: import_zod.z.lazy(() => jzodElement).optional() }).strict().optional(), optional: import_zod.z.boolean().optional() }).strict().optional(), type: import_zod.z.literal("union"), optInDiscriminator: import_zod.z.boolean().optional(), discriminator: import_zod.z.union([import_zod.z.object({ discriminatorType: import_zod.z.literal("string"), value: import_zod.z.string() }).strict(), import_zod.z.object({ discriminatorType: import_zod.z.literal("array"), value: import_zod.z.array(import_zod.z.string()) }).strict()]).optional(), carryOn: import_zod.z.union([import_zod.z.lazy(() => jzodObject), import_zod.z.lazy(() => jzodUnion)]).optional(), definition: import_zod.z.array(import_zod.z.lazy(() => jzodElement)) }).strict();
|
|
191
196
|
var jzodBootstrapElementSchema = import_zod.z.lazy(() => jzodElement);
|
|
192
197
|
// Annotate the CommonJS export names for ESM import in node:
|
|
193
198
|
0 && (module.exports = {
|
package/dist/index.d.ts
CHANGED
|
@@ -27,7 +27,7 @@ context?: ZodTextAndZodSchemaRecord, typeName?: string): TsTypeAliasesAndZodText
|
|
|
27
27
|
* @returns a string containing the resulting TS code
|
|
28
28
|
*/
|
|
29
29
|
declare function jzodToTsCode(typeName: string, jzodElement: any, // to avoid circulatity on JzodElement
|
|
30
|
-
context?: ZodTextAndZodSchemaRecord, exportPrefix?: boolean, headerForZodImports?: boolean, typeAnotationForSchema?: string[], extendedTsTypesText?: string): string;
|
|
30
|
+
context?: ZodTextAndZodSchemaRecord, exportPrefix?: boolean, headerForZodImports?: boolean | string, typeAnotationForSchema?: string[], extendedTsTypesText?: string): string;
|
|
31
31
|
|
|
32
32
|
type JzodArray = {
|
|
33
33
|
optional?: boolean | undefined;
|
|
@@ -366,6 +366,7 @@ type JzodUnion = {
|
|
|
366
366
|
optional?: boolean | undefined;
|
|
367
367
|
} | undefined;
|
|
368
368
|
type: "union";
|
|
369
|
+
optInDiscriminator?: boolean | undefined;
|
|
369
370
|
discriminator?: ({
|
|
370
371
|
discriminatorType: "string";
|
|
371
372
|
value: string;
|
package/dist/index.js
CHANGED
|
@@ -16,7 +16,7 @@ function jzodToZodTextAndZodSchemaForTsGeneration(element, context = {}) {
|
|
|
16
16
|
element,
|
|
17
17
|
contextFunction,
|
|
18
18
|
contextFunction,
|
|
19
|
-
true
|
|
19
|
+
{ typeScriptGeneration: true }
|
|
20
20
|
// typeScriptGeneration
|
|
21
21
|
);
|
|
22
22
|
return elementZodSchemaAndDescription;
|
|
@@ -32,7 +32,6 @@ function jzodToZodTextAndTsTypeText(element, context = {}, typeName) {
|
|
|
32
32
|
const tsNode = zodToTs(curr[1], typeName).node;
|
|
33
33
|
const typeAlias = createTypeAlias(tsNode, actualTypeName2);
|
|
34
34
|
const tsTypeString2 = printNode(typeAlias);
|
|
35
|
-
console.log("jzodToZodTextAndTsTypeText producing TS type for contextElement", curr[0]);
|
|
36
35
|
return [curr[0], tsTypeString2];
|
|
37
36
|
})
|
|
38
37
|
);
|
|
@@ -92,9 +91,15 @@ function jzodToZodTextAndTsTypeAliases(element, context = {}, typeName) {
|
|
|
92
91
|
};
|
|
93
92
|
}
|
|
94
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
|
+
);
|
|
95
100
|
const schemaName = typeName ? typeName.replace(/^(.)(.*)$/, (a, b, c) => b.toLowerCase() + c) : "";
|
|
96
101
|
const actualTypeName = typeName ? typeName.replace(/^(.)(.*)$/, (a, b, c) => b.toUpperCase() + c) : "";
|
|
97
|
-
const header = headerForZodImports ? `import { ZodType, ZodTypeAny, z } from "zod";` : "";
|
|
102
|
+
const header = typeof headerForZodImports == "string" ? headerForZodImports : headerForZodImports ? `import { ZodType, ZodTypeAny, z } from "zod";` : "";
|
|
98
103
|
const tsTypeStringsAndZodText = jzodToZodTextAndTsTypeText(jzodElement2, context, actualTypeName);
|
|
99
104
|
const contextTsTypesString = tsTypeStringsAndZodText.contextTsTypeText ? Object.entries(tsTypeStringsAndZodText.contextTsTypeText).reduce((acc, curr) => {
|
|
100
105
|
return exportPrefix ? `${acc}
|
|
@@ -144,7 +149,7 @@ var jzodRecord = z.object({ optional: z.boolean().optional(), nullable: z.boolea
|
|
|
144
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();
|
|
145
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();
|
|
146
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();
|
|
147
|
-
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"), 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();
|
|
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();
|
|
148
153
|
var jzodBootstrapElementSchema = z.lazy(() => jzodElement);
|
|
149
154
|
export {
|
|
150
155
|
jzodArray,
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@miroir-framework/jzod-ts",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "0.8.
|
|
4
|
+
"version": "0.8.2",
|
|
5
5
|
"description": "The Typescript-related functionalities of Jzod.",
|
|
6
6
|
"main": "dist/index.js",
|
|
7
7
|
"types": "dist/index.d.ts",
|
|
@@ -36,25 +36,12 @@
|
|
|
36
36
|
"test": "cross-env NODE_ENV=test vitest run --poolOptions.threads.singleThread --passWithNoTests -t"
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
|
-
"@miroir-framework/jzod": "0.8.
|
|
39
|
+
"@miroir-framework/jzod": "0.8.2",
|
|
40
40
|
"zod": "^3.24.2",
|
|
41
41
|
"zod-to-ts": "^1.2.0"
|
|
42
42
|
},
|
|
43
43
|
"devDependencies": {
|
|
44
|
-
"@babel/parser": "^7.26.10",
|
|
45
|
-
"@babel/plugin-transform-modules-commonjs": "^7.20.11",
|
|
46
|
-
"@babel/preset-env": "^7.22.5",
|
|
47
|
-
"@babel/types": "^7.26.10",
|
|
48
|
-
"@jest/globals": "^29.3.1",
|
|
49
|
-
"@rollup/plugin-commonjs": "^24.0.1",
|
|
50
|
-
"@rollup/plugin-json": "^6.0.0",
|
|
51
|
-
"@types/jest": "^29.2.4",
|
|
52
|
-
"babel-jest": "^29.4.0",
|
|
53
44
|
"path": "^0.12.7",
|
|
54
|
-
"rollup": "^3.10.1",
|
|
55
|
-
"rollup-plugin-dts": "^5.1.1",
|
|
56
|
-
"rollup-plugin-typescript2": "^0.34.1",
|
|
57
|
-
"ts-jest": "^29.0.3",
|
|
58
45
|
"tsconfig-paths": "^4.1.2",
|
|
59
46
|
"tsup": "^8.4.0",
|
|
60
47
|
"tsx": "^4.19.3",
|