@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 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.0",
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.1",
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",