@palantir/pack.document-schema.type-gen 0.7.0 → 0.9.0

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.
Files changed (195) hide show
  1. package/build/esm/cli.js +2 -0
  2. package/build/esm/cli.js.map +1 -1
  3. package/build/esm/commands/asset/assetDeployHandler.js +60 -0
  4. package/build/esm/commands/asset/assetDeployHandler.js.map +1 -0
  5. package/build/esm/commands/asset/registerAssetCommands.js +22 -0
  6. package/build/esm/commands/asset/registerAssetCommands.js.map +1 -0
  7. package/build/esm/commands/ir/irDeployHandler.js +5 -4
  8. package/build/esm/commands/ir/irDeployHandler.js.map +1 -1
  9. package/build/esm/commands/ir/irGenAssetHandler.js +19 -13
  10. package/build/esm/commands/ir/irGenAssetHandler.js.map +1 -1
  11. package/build/esm/commands/schema/registerSchemaCommands.js +2 -0
  12. package/build/esm/commands/schema/registerSchemaCommands.js.map +1 -1
  13. package/build/esm/commands/schema/schemaGenTypesHandler.js +147 -0
  14. package/build/esm/commands/schema/schemaGenTypesHandler.js.map +1 -0
  15. package/build/esm/commands/steps/stepsGenIrHandler.js +6 -1
  16. package/build/esm/commands/steps/stepsGenIrHandler.js.map +1 -1
  17. package/build/esm/commands/types.js +2 -0
  18. package/build/esm/commands/types.js.map +1 -0
  19. package/build/esm/index.js +6 -0
  20. package/build/esm/index.js.map +1 -1
  21. package/build/esm/lib/pack-docschema-api/pack-docschema-ir/fieldDef.js.map +1 -1
  22. package/build/esm/lib/pack-docschema-api/pack-docschema-ir/fieldValueDatetime.js.map +1 -1
  23. package/build/esm/lib/pack-docschema-api/pack-docschema-ir/fieldValueMediaRef.js.map +1 -1
  24. package/build/esm/lib/pack-docschema-api/pack-docschema-ir/fieldValueText.js.map +1 -1
  25. package/build/esm/lib/pack-docschema-api/pack-docschema-ir/recordDef.js.map +1 -1
  26. package/build/esm/lib/pack-docschema-api/pack-docschema-ir/schemaMeta.js.map +1 -1
  27. package/build/esm/lib/pack-docschema-api/pack-docschema-ir/unionDef.js.map +1 -1
  28. package/build/esm/utils/generatedFileHeader.js +1 -0
  29. package/build/esm/utils/generatedFileHeader.js.map +1 -1
  30. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js +1 -1
  31. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/custom-discriminant.js.map +1 -1
  32. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js +1 -1
  33. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/external-refs.js.map +1 -1
  34. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js +1 -1
  35. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/simple-record.js.map +1 -1
  36. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js +1 -1
  37. package/build/esm/utils/ir/__tests__/__snapshots__/generateModelsFromIr/union-types.js.map +1 -1
  38. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js +1 -1
  39. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/array-and-map-types.js.map +1 -1
  40. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js +1 -1
  41. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/boolean-fields.js.map +1 -1
  42. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js +1 -1
  43. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/custom-discriminant.js.map +1 -1
  44. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js +1 -1
  45. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/datetime-fields.js.map +1 -1
  46. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js +1 -1
  47. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/simple-records.js.map +1 -1
  48. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js +1 -1
  49. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-before-records.js.map +1 -1
  50. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js +1 -1
  51. package/build/esm/utils/ir/__tests__/__snapshots__/generateZodSchemasFromIr/union-types.js.map +1 -1
  52. package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js +323 -0
  53. package/build/esm/utils/ir/__tests__/convertIrToWireSchema.test.js.map +1 -0
  54. package/build/esm/utils/ir/__tests__/generateModelsFromIr.test.js +43 -61
  55. package/build/esm/utils/ir/__tests__/generateModelsFromIr.test.js.map +1 -1
  56. package/build/esm/utils/ir/__tests__/generateZodSchemasFromIr.test.js +73 -103
  57. package/build/esm/utils/ir/__tests__/generateZodSchemasFromIr.test.js.map +1 -1
  58. package/build/esm/utils/ir/convertIrToWireSchema.js +201 -0
  59. package/build/esm/utils/ir/convertIrToWireSchema.js.map +1 -0
  60. package/build/esm/utils/ir/generateModelsFromIr.js +2 -2
  61. package/build/esm/utils/ir/generateModelsFromIr.js.map +1 -1
  62. package/build/esm/utils/ir/generateZodSchemasFromIr.js +2 -2
  63. package/build/esm/utils/ir/generateZodSchemasFromIr.js.map +1 -1
  64. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js +2 -0
  65. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/single-version.js.map +1 -0
  66. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js +2 -0
  67. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/three-version-chain.js.map +1 -0
  68. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js +2 -0
  69. package/build/esm/utils/schema/__tests__/__snapshots__/generateVersionsFromSchema/two-version.js.map +1 -0
  70. package/build/esm/utils/schema/__tests__/fixtures.js +207 -0
  71. package/build/esm/utils/schema/__tests__/fixtures.js.map +1 -0
  72. package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js +41 -0
  73. package/build/esm/utils/schema/__tests__/generateInternalFromSchema.test.js.map +1 -0
  74. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js +41 -0
  75. package/build/esm/utils/schema/__tests__/generateModelMetadataFromSchema.test.js.map +1 -0
  76. package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js +37 -0
  77. package/build/esm/utils/schema/__tests__/generateScopeFromSchema.test.js.map +1 -0
  78. package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js +55 -0
  79. package/build/esm/utils/schema/__tests__/generateVersionedTypesFromSchema.test.js.map +1 -0
  80. package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js +55 -0
  81. package/build/esm/utils/schema/__tests__/generateVersionedZodFromSchema.test.js.map +1 -0
  82. package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js +37 -0
  83. package/build/esm/utils/schema/__tests__/generateVersionsFromSchema.test.js.map +1 -0
  84. package/build/esm/utils/schema/__tests__/snapshotUtils.js +106 -0
  85. package/build/esm/utils/schema/__tests__/snapshotUtils.js.map +1 -0
  86. package/build/esm/utils/schema/generateIndexFromSchema.js +72 -0
  87. package/build/esm/utils/schema/generateIndexFromSchema.js.map +1 -0
  88. package/build/esm/utils/schema/generateInternalFromSchema.js +380 -0
  89. package/build/esm/utils/schema/generateInternalFromSchema.js.map +1 -0
  90. package/build/esm/utils/schema/generateModelMetadataFromSchema.js +195 -0
  91. package/build/esm/utils/schema/generateModelMetadataFromSchema.js.map +1 -0
  92. package/build/esm/utils/schema/generateScopeFromSchema.js +155 -0
  93. package/build/esm/utils/schema/generateScopeFromSchema.js.map +1 -0
  94. package/build/esm/utils/schema/generateTypesFromSchema.js +16 -30
  95. package/build/esm/utils/schema/generateTypesFromSchema.js.map +1 -1
  96. package/build/esm/utils/schema/generateVersionedTypesFromSchema.js +281 -0
  97. package/build/esm/utils/schema/generateVersionedTypesFromSchema.js.map +1 -0
  98. package/build/esm/utils/schema/generateVersionedZodFromSchema.js +189 -0
  99. package/build/esm/utils/schema/generateVersionedZodFromSchema.js.map +1 -0
  100. package/build/esm/utils/schema/generateVersionsFromSchema.js +50 -0
  101. package/build/esm/utils/schema/generateVersionsFromSchema.js.map +1 -0
  102. package/build/esm/utils/schema/resolveSchemaChain.js +54 -0
  103. package/build/esm/utils/schema/resolveSchemaChain.js.map +1 -0
  104. package/build/esm/utils/schema/runtimeSchema.js +96 -0
  105. package/build/esm/utils/schema/runtimeSchema.js.map +1 -0
  106. package/build/esm/utils/steps/__tests__/__snapshots__/types/arrayFields.js.map +1 -1
  107. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js +1 -1
  108. package/build/esm/utils/steps/__tests__/__snapshots__/types/customDiscriminant.js.map +1 -1
  109. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js +1 -1
  110. package/build/esm/utils/steps/__tests__/__snapshots__/types/generateTypeScriptInterfaces.js.map +1 -1
  111. package/build/esm/utils/steps/__tests__/__snapshots__/types/refTypes.js.map +1 -1
  112. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleRecord.js.map +1 -1
  113. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js +1 -1
  114. package/build/esm/utils/steps/__tests__/__snapshots__/types/simpleSteps.js.map +1 -1
  115. package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js +81 -8
  116. package/build/esm/utils/steps/__tests__/convertStepsToIr.test.js.map +1 -1
  117. package/build/esm/utils/steps/convertStepsToIr.js +8 -13
  118. package/build/esm/utils/steps/convertStepsToIr.js.map +1 -1
  119. package/build/esm/utils/steps/parseMigrationSteps.js +4 -2
  120. package/build/esm/utils/steps/parseMigrationSteps.js.map +1 -1
  121. package/build/types/cli.d.ts.map +1 -1
  122. package/build/types/commands/asset/assetDeployHandler.d.ts +10 -0
  123. package/build/types/commands/asset/assetDeployHandler.d.ts.map +1 -0
  124. package/build/types/commands/asset/registerAssetCommands.d.ts +3 -0
  125. package/build/types/commands/asset/registerAssetCommands.d.ts.map +1 -0
  126. package/build/types/commands/ir/irDeployHandler.d.ts +1 -1
  127. package/build/types/commands/ir/irDeployHandler.d.ts.map +1 -1
  128. package/build/types/commands/ir/irGenAssetHandler.d.ts +1 -1
  129. package/build/types/commands/ir/irGenAssetHandler.d.ts.map +1 -1
  130. package/build/types/commands/schema/registerSchemaCommands.d.ts.map +1 -1
  131. package/build/types/commands/schema/schemaGenTypesHandler.d.ts +8 -0
  132. package/build/types/commands/schema/schemaGenTypesHandler.d.ts.map +1 -0
  133. package/build/types/commands/steps/stepsGenIrHandler.d.ts.map +1 -1
  134. package/build/types/commands/types.d.ts +12 -0
  135. package/build/types/commands/types.d.ts.map +1 -0
  136. package/build/types/index.d.ts +6 -0
  137. package/build/types/index.d.ts.map +1 -1
  138. package/build/types/lib/pack-docschema-api/pack-docschema-ir/fieldDef.d.ts +2 -2
  139. package/build/types/lib/pack-docschema-api/pack-docschema-ir/fieldDef.d.ts.map +1 -1
  140. package/build/types/lib/pack-docschema-api/pack-docschema-ir/fieldValueDatetime.d.ts +1 -0
  141. package/build/types/lib/pack-docschema-api/pack-docschema-ir/fieldValueDatetime.d.ts.map +1 -1
  142. package/build/types/lib/pack-docschema-api/pack-docschema-ir/fieldValueMediaRef.d.ts +1 -0
  143. package/build/types/lib/pack-docschema-api/pack-docschema-ir/fieldValueMediaRef.d.ts.map +1 -1
  144. package/build/types/lib/pack-docschema-api/pack-docschema-ir/fieldValueText.d.ts +3 -0
  145. package/build/types/lib/pack-docschema-api/pack-docschema-ir/fieldValueText.d.ts.map +1 -1
  146. package/build/types/lib/pack-docschema-api/pack-docschema-ir/recordDef.d.ts +0 -2
  147. package/build/types/lib/pack-docschema-api/pack-docschema-ir/recordDef.d.ts.map +1 -1
  148. package/build/types/lib/pack-docschema-api/pack-docschema-ir/schemaMeta.d.ts +2 -2
  149. package/build/types/lib/pack-docschema-api/pack-docschema-ir/schemaMeta.d.ts.map +1 -1
  150. package/build/types/lib/pack-docschema-api/pack-docschema-ir/unionDef.d.ts +1 -1
  151. package/build/types/lib/pack-docschema-api/pack-docschema-ir/unionDef.d.ts.map +1 -1
  152. package/build/types/utils/generatedFileHeader.d.ts +1 -0
  153. package/build/types/utils/generatedFileHeader.d.ts.map +1 -1
  154. package/build/types/utils/ir/__tests__/convertIrToWireSchema.test.d.ts +2 -0
  155. package/build/types/utils/ir/__tests__/convertIrToWireSchema.test.d.ts.map +1 -0
  156. package/build/types/utils/ir/convertIrToWireSchema.d.ts +17 -0
  157. package/build/types/utils/ir/convertIrToWireSchema.d.ts.map +1 -0
  158. package/build/types/utils/schema/__tests__/fixtures.d.ts +14 -0
  159. package/build/types/utils/schema/__tests__/fixtures.d.ts.map +1 -0
  160. package/build/types/utils/schema/__tests__/generateInternalFromSchema.test.d.ts +2 -0
  161. package/build/types/utils/schema/__tests__/generateInternalFromSchema.test.d.ts.map +1 -0
  162. package/build/types/utils/schema/__tests__/generateModelMetadataFromSchema.test.d.ts +2 -0
  163. package/build/types/utils/schema/__tests__/generateModelMetadataFromSchema.test.d.ts.map +1 -0
  164. package/build/types/utils/schema/__tests__/generateScopeFromSchema.test.d.ts +2 -0
  165. package/build/types/utils/schema/__tests__/generateScopeFromSchema.test.d.ts.map +1 -0
  166. package/build/types/utils/schema/__tests__/generateVersionedTypesFromSchema.test.d.ts +2 -0
  167. package/build/types/utils/schema/__tests__/generateVersionedTypesFromSchema.test.d.ts.map +1 -0
  168. package/build/types/utils/schema/__tests__/generateVersionedZodFromSchema.test.d.ts +2 -0
  169. package/build/types/utils/schema/__tests__/generateVersionedZodFromSchema.test.d.ts.map +1 -0
  170. package/build/types/utils/schema/__tests__/generateVersionsFromSchema.test.d.ts +2 -0
  171. package/build/types/utils/schema/__tests__/generateVersionsFromSchema.test.d.ts.map +1 -0
  172. package/build/types/utils/schema/__tests__/snapshotUtils.d.ts +47 -0
  173. package/build/types/utils/schema/__tests__/snapshotUtils.d.ts.map +1 -0
  174. package/build/types/utils/schema/generateIndexFromSchema.d.ts +14 -0
  175. package/build/types/utils/schema/generateIndexFromSchema.d.ts.map +1 -0
  176. package/build/types/utils/schema/generateInternalFromSchema.d.ts +18 -0
  177. package/build/types/utils/schema/generateInternalFromSchema.d.ts.map +1 -0
  178. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts +15 -0
  179. package/build/types/utils/schema/generateModelMetadataFromSchema.d.ts.map +1 -0
  180. package/build/types/utils/schema/generateScopeFromSchema.d.ts +13 -0
  181. package/build/types/utils/schema/generateScopeFromSchema.d.ts.map +1 -0
  182. package/build/types/utils/schema/generateTypesFromSchema.d.ts.map +1 -1
  183. package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts +18 -0
  184. package/build/types/utils/schema/generateVersionedTypesFromSchema.d.ts.map +1 -0
  185. package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts +16 -0
  186. package/build/types/utils/schema/generateVersionedZodFromSchema.d.ts.map +1 -0
  187. package/build/types/utils/schema/generateVersionsFromSchema.d.ts +13 -0
  188. package/build/types/utils/schema/generateVersionsFromSchema.d.ts.map +1 -0
  189. package/build/types/utils/schema/resolveSchemaChain.d.ts +18 -0
  190. package/build/types/utils/schema/resolveSchemaChain.d.ts.map +1 -0
  191. package/build/types/utils/schema/runtimeSchema.d.ts +59 -0
  192. package/build/types/utils/schema/runtimeSchema.d.ts.map +1 -0
  193. package/build/types/utils/steps/convertStepsToIr.d.ts.map +1 -1
  194. package/build/types/utils/steps/parseMigrationSteps.d.ts.map +1 -1
  195. package/package.json +4 -4
@@ -37,7 +37,7 @@ describe("generateZodSchemasFromIr", () => {
37
37
  key: "name",
38
38
  name: "Name",
39
39
  description: "Person name",
40
- value: {
40
+ fieldType: {
41
41
  type: "value",
42
42
  value: {
43
43
  type: "string",
@@ -47,14 +47,14 @@ describe("generateZodSchemasFromIr", () => {
47
47
  }
48
48
  }
49
49
  },
50
- meta: {
51
- addedIn: 1
50
+ metadata: {
51
+ addedInVersion: 1
52
52
  }
53
53
  }, {
54
54
  key: "age",
55
55
  name: "Age",
56
56
  description: "Person age",
57
- value: {
57
+ fieldType: {
58
58
  type: "value",
59
59
  value: {
60
60
  type: "integer",
@@ -64,28 +64,25 @@ describe("generateZodSchemasFromIr", () => {
64
64
  }
65
65
  }
66
66
  },
67
- meta: {
68
- addedIn: 1
67
+ metadata: {
68
+ addedInVersion: 1
69
69
  }
70
70
  }, {
71
71
  key: "email",
72
72
  name: "Email",
73
73
  description: "Person email",
74
74
  isOptional: true,
75
- value: {
75
+ fieldType: {
76
76
  type: "value",
77
77
  value: {
78
78
  type: "string",
79
79
  string: {}
80
80
  }
81
81
  },
82
- meta: {
83
- addedIn: 1
82
+ metadata: {
83
+ addedInVersion: 1
84
84
  }
85
- }],
86
- meta: {
87
- addedIn: 1
88
- }
85
+ }]
89
86
  }
90
87
  }
91
88
  }
@@ -110,7 +107,7 @@ describe("generateZodSchemasFromIr", () => {
110
107
  key: "tags",
111
108
  name: "Tags",
112
109
  description: "List of tags",
113
- value: {
110
+ fieldType: {
114
111
  type: "array",
115
112
  array: {
116
113
  allowNullValue: false,
@@ -120,14 +117,14 @@ describe("generateZodSchemasFromIr", () => {
120
117
  }
121
118
  }
122
119
  },
123
- meta: {
124
- addedIn: 1
120
+ metadata: {
121
+ addedInVersion: 1
125
122
  }
126
123
  }, {
127
124
  key: "metadata",
128
125
  name: "Metadata",
129
126
  description: "Key-value metadata",
130
- value: {
127
+ fieldType: {
131
128
  type: "map",
132
129
  map: {
133
130
  allowNullValue: false,
@@ -141,13 +138,10 @@ describe("generateZodSchemasFromIr", () => {
141
138
  }
142
139
  }
143
140
  },
144
- meta: {
145
- addedIn: 1
141
+ metadata: {
142
+ addedInVersion: 1
146
143
  }
147
- }],
148
- meta: {
149
- addedIn: 1
150
- }
144
+ }]
151
145
  }
152
146
  }
153
147
  }
@@ -172,20 +166,17 @@ describe("generateZodSchemasFromIr", () => {
172
166
  key: "timestamp",
173
167
  name: "Timestamp",
174
168
  description: "Event timestamp",
175
- value: {
169
+ fieldType: {
176
170
  type: "value",
177
171
  value: {
178
172
  type: "datetime",
179
173
  datetime: {}
180
174
  }
181
175
  },
182
- meta: {
183
- addedIn: 1
176
+ metadata: {
177
+ addedInVersion: 1
184
178
  }
185
- }],
186
- meta: {
187
- addedIn: 1
188
- }
179
+ }]
189
180
  }
190
181
  }
191
182
  }
@@ -210,36 +201,36 @@ describe("generateZodSchemasFromIr", () => {
210
201
  key: "enabled",
211
202
  name: "Enabled",
212
203
  description: "Whether feature is enabled",
213
- value: {
204
+ fieldType: {
214
205
  type: "value",
215
206
  value: {
216
207
  type: "boolean",
217
208
  boolean: {}
218
209
  }
219
210
  },
220
- meta: {
221
- addedIn: 1
211
+ metadata: {
212
+ addedInVersion: 1
222
213
  }
223
214
  }, {
224
215
  key: "isPublic",
225
216
  name: "IsPublic",
226
217
  description: "Whether feature is public",
227
218
  isOptional: true,
228
- value: {
219
+ fieldType: {
229
220
  type: "value",
230
221
  value: {
231
222
  type: "boolean",
232
223
  boolean: {}
233
224
  }
234
225
  },
235
- meta: {
236
- addedIn: 1
226
+ metadata: {
227
+ addedInVersion: 1
237
228
  }
238
229
  }, {
239
230
  key: "flags",
240
231
  name: "Flags",
241
232
  description: "Array of boolean flags",
242
- value: {
233
+ fieldType: {
243
234
  type: "array",
244
235
  array: {
245
236
  allowNullValue: false,
@@ -249,13 +240,10 @@ describe("generateZodSchemasFromIr", () => {
249
240
  }
250
241
  }
251
242
  },
252
- meta: {
253
- addedIn: 1
243
+ metadata: {
244
+ addedInVersion: 1
254
245
  }
255
- }],
256
- meta: {
257
- addedIn: 1
258
- }
246
+ }]
259
247
  }
260
248
  }
261
249
  }
@@ -286,49 +274,46 @@ describe("generateZodSchemasFromIr", () => {
286
274
  key: "x",
287
275
  name: "X",
288
276
  description: "X coordinate",
289
- value: {
277
+ fieldType: {
290
278
  type: "value",
291
279
  value: {
292
280
  type: "double",
293
281
  double: {}
294
282
  }
295
283
  },
296
- meta: {
297
- addedIn: 1
284
+ metadata: {
285
+ addedInVersion: 1
298
286
  }
299
287
  }, {
300
288
  key: "y",
301
289
  name: "Y",
302
290
  description: "Y coordinate",
303
- value: {
291
+ fieldType: {
304
292
  type: "value",
305
293
  value: {
306
294
  type: "double",
307
295
  double: {}
308
296
  }
309
297
  },
310
- meta: {
311
- addedIn: 1
298
+ metadata: {
299
+ addedInVersion: 1
312
300
  }
313
301
  }, {
314
302
  key: "label",
315
303
  name: "Label",
316
304
  description: "Node label",
317
305
  isOptional: true,
318
- value: {
306
+ fieldType: {
319
307
  type: "value",
320
308
  value: {
321
309
  type: "string",
322
310
  string: {}
323
311
  }
324
312
  },
325
- meta: {
326
- addedIn: 1
313
+ metadata: {
314
+ addedInVersion: 1
327
315
  }
328
- }],
329
- meta: {
330
- addedIn: 1
331
- }
316
+ }]
332
317
  }
333
318
  },
334
319
  TextBox: {
@@ -341,48 +326,45 @@ describe("generateZodSchemasFromIr", () => {
341
326
  key: "x",
342
327
  name: "X",
343
328
  description: "X coordinate",
344
- value: {
329
+ fieldType: {
345
330
  type: "value",
346
331
  value: {
347
332
  type: "double",
348
333
  double: {}
349
334
  }
350
335
  },
351
- meta: {
352
- addedIn: 1
336
+ metadata: {
337
+ addedInVersion: 1
353
338
  }
354
339
  }, {
355
340
  key: "y",
356
341
  name: "Y",
357
342
  description: "Y coordinate",
358
- value: {
343
+ fieldType: {
359
344
  type: "value",
360
345
  value: {
361
346
  type: "double",
362
347
  double: {}
363
348
  }
364
349
  },
365
- meta: {
366
- addedIn: 1
350
+ metadata: {
351
+ addedInVersion: 1
367
352
  }
368
353
  }, {
369
354
  key: "text",
370
355
  name: "Text",
371
356
  description: "Text content",
372
- value: {
357
+ fieldType: {
373
358
  type: "value",
374
359
  value: {
375
360
  type: "string",
376
361
  string: {}
377
362
  }
378
363
  },
379
- meta: {
380
- addedIn: 1
364
+ metadata: {
365
+ addedInVersion: 1
381
366
  }
382
- }],
383
- meta: {
384
- addedIn: 1
385
- }
367
+ }]
386
368
  }
387
369
  },
388
370
  Node: {
@@ -396,8 +378,8 @@ describe("generateZodSchemasFromIr", () => {
396
378
  object: "ObjectNode",
397
379
  "text-box": "TextBox"
398
380
  },
399
- meta: {
400
- addedIn: 1
381
+ metadata: {
382
+ addedInVersion: 1
401
383
  }
402
384
  }
403
385
  }
@@ -430,20 +412,17 @@ describe("generateZodSchemasFromIr", () => {
430
412
  key: "value",
431
413
  name: "Value",
432
414
  description: "A value",
433
- value: {
415
+ fieldType: {
434
416
  type: "value",
435
417
  value: {
436
418
  type: "string",
437
419
  string: {}
438
420
  }
439
421
  },
440
- meta: {
441
- addedIn: 1
422
+ metadata: {
423
+ addedInVersion: 1
442
424
  }
443
- }],
444
- meta: {
445
- addedIn: 1
446
- }
425
+ }]
447
426
  }
448
427
  },
449
428
  Bar: {
@@ -456,20 +435,17 @@ describe("generateZodSchemasFromIr", () => {
456
435
  key: "count",
457
436
  name: "Count",
458
437
  description: "A count",
459
- value: {
438
+ fieldType: {
460
439
  type: "value",
461
440
  value: {
462
441
  type: "integer",
463
442
  integer: {}
464
443
  }
465
444
  },
466
- meta: {
467
- addedIn: 1
445
+ metadata: {
446
+ addedInVersion: 1
468
447
  }
469
- }],
470
- meta: {
471
- addedIn: 1
472
- }
448
+ }]
473
449
  }
474
450
  },
475
451
  FooBar: {
@@ -483,8 +459,8 @@ describe("generateZodSchemasFromIr", () => {
483
459
  foo: "Foo",
484
460
  bar: "Bar"
485
461
  },
486
- meta: {
487
- addedIn: 1
462
+ metadata: {
463
+ addedInVersion: 1
488
464
  }
489
465
  }
490
466
  }
@@ -523,20 +499,17 @@ describe("generateZodSchemasFromIr", () => {
523
499
  key: "meow",
524
500
  name: "Meow",
525
501
  description: "Cat sound",
526
- value: {
502
+ fieldType: {
527
503
  type: "value",
528
504
  value: {
529
505
  type: "string",
530
506
  string: {}
531
507
  }
532
508
  },
533
- meta: {
534
- addedIn: 1
509
+ metadata: {
510
+ addedInVersion: 1
535
511
  }
536
- }],
537
- meta: {
538
- addedIn: 1
539
- }
512
+ }]
540
513
  }
541
514
  },
542
515
  Dog: {
@@ -549,20 +522,17 @@ describe("generateZodSchemasFromIr", () => {
549
522
  key: "bark",
550
523
  name: "Bark",
551
524
  description: "Dog sound",
552
- value: {
525
+ fieldType: {
553
526
  type: "value",
554
527
  value: {
555
528
  type: "string",
556
529
  string: {}
557
530
  }
558
531
  },
559
- meta: {
560
- addedIn: 1
532
+ metadata: {
533
+ addedInVersion: 1
561
534
  }
562
- }],
563
- meta: {
564
- addedIn: 1
565
- }
535
+ }]
566
536
  }
567
537
  },
568
538
  Animal: {
@@ -576,8 +546,8 @@ describe("generateZodSchemasFromIr", () => {
576
546
  cat: "Cat",
577
547
  dog: "Dog"
578
548
  },
579
- meta: {
580
- addedIn: 1
549
+ metadata: {
550
+ addedInVersion: 1
581
551
  }
582
552
  }
583
553
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generateZodSchemasFromIr.test.js","names":["path","describe","expect","it","generateZodSchemasFromIr","formatWithPrettier","snapshotDir","join","__dirname","result","name","description","version","primaryModelKeys","models","Person","type","record","key","fields","value","string","minLength","maxLength","meta","addedIn","integer","minValue","maxValue","isOptional","formatted","toMatchFileSnapshot","Container","array","allowNullValue","map","unmanagedJson","Event","datetime","Feature","boolean","ObjectNode","double","TextBox","Node","union","discriminant","variants","object","Foo","Bar","FooBar","foo","bar","lines","split","fooSchemaIndex","findIndex","line","includes","barSchemaIndex","fooBarSchemaIndex","toBeGreaterThan","toBeLessThan","Cat","Dog","Animal","cat","dog","toContain"],"sources":["generateZodSchemasFromIr.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport path from \"path\";\nimport { describe, expect, it } from \"vitest\";\nimport type {\n IFieldDef,\n IModelDef,\n IRealTimeDocumentSchema,\n IRecordDef,\n IUnionDef,\n} from \"../../../lib/pack-docschema-api/pack-docschema-ir/index.js\";\nimport { generateZodSchemasFromIr } from \"../generateZodSchemasFromIr.js\";\nimport { formatWithPrettier } from \"./formatWithPrettier.js\";\n\ndescribe(\"generateZodSchemasFromIr\", () => {\n const snapshotDir = path.join(__dirname, \"__snapshots__\", \"generateZodSchemasFromIr\");\n it(\"should generate Zod schemas for simple record types\", async () => {\n const personField1: IFieldDef = {\n key: \"name\",\n name: \"Name\",\n description: \"Person name\",\n value: {\n type: \"value\",\n value: {\n type: \"string\",\n string: { minLength: 2, maxLength: 50 },\n },\n },\n meta: { addedIn: 1 },\n };\n\n const personField2: IFieldDef = {\n key: \"age\",\n name: \"Age\",\n description: \"Person age\",\n value: {\n type: \"value\",\n value: {\n type: \"integer\",\n integer: { minValue: 0, maxValue: 150 },\n },\n },\n meta: { addedIn: 1 },\n };\n\n const personField3: IFieldDef = {\n key: \"email\",\n name: \"Email\",\n description: \"Person email\",\n isOptional: true,\n value: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n meta: { addedIn: 1 },\n };\n\n const personRecord: IRecordDef = {\n key: \"Person\",\n name: \"Person\",\n description: \"A person record\",\n fields: [personField1, personField2, personField3],\n meta: { addedIn: 1 },\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema\",\n version: 1,\n primaryModelKeys: [\"Person\"],\n models: {\n Person: {\n type: \"record\",\n record: personRecord,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"simple-records.ts\"));\n });\n\n it(\"should generate Zod schemas for array and map types\", async () => {\n const arrayField: IFieldDef = {\n key: \"tags\",\n name: \"Tags\",\n description: \"List of tags\",\n value: {\n type: \"array\",\n array: {\n allowNullValue: false,\n value: {\n type: \"string\",\n string: {},\n },\n },\n },\n meta: { addedIn: 1 },\n };\n\n const mapField: IFieldDef = {\n key: \"metadata\",\n name: \"Metadata\",\n description: \"Key-value metadata\",\n value: {\n type: \"map\",\n map: {\n allowNullValue: false,\n key: {\n type: \"string\",\n string: {},\n },\n value: {\n type: \"unmanagedJson\",\n unmanagedJson: {},\n },\n },\n },\n meta: { addedIn: 1 },\n };\n\n const containerRecord: IRecordDef = {\n key: \"Container\",\n name: \"Container\",\n description: \"A container record\",\n fields: [arrayField, mapField],\n meta: { addedIn: 1 },\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema\",\n version: 1,\n primaryModelKeys: [\"Container\"],\n models: {\n Container: {\n type: \"record\",\n record: containerRecord,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"array-and-map-types.ts\"));\n });\n\n it(\"should generate Zod schemas with datetime fields\", async () => {\n const datetimeField: IFieldDef = {\n key: \"timestamp\",\n name: \"Timestamp\",\n description: \"Event timestamp\",\n value: {\n type: \"value\",\n value: {\n type: \"datetime\",\n datetime: {},\n },\n },\n meta: { addedIn: 1 },\n };\n\n const eventRecord: IRecordDef = {\n key: \"Event\",\n name: \"Event\",\n description: \"An event record\",\n fields: [datetimeField],\n meta: { addedIn: 1 },\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema\",\n version: 1,\n primaryModelKeys: [\"Event\"],\n models: {\n Event: {\n type: \"record\",\n record: eventRecord,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"datetime-fields.ts\"));\n });\n\n it(\"should generate Zod schemas with boolean fields\", async () => {\n const booleanField: IFieldDef = {\n key: \"enabled\",\n name: \"Enabled\",\n description: \"Whether feature is enabled\",\n value: {\n type: \"value\",\n value: {\n type: \"boolean\",\n boolean: {},\n },\n },\n meta: { addedIn: 1 },\n };\n\n const optionalBooleanField: IFieldDef = {\n key: \"isPublic\",\n name: \"IsPublic\",\n description: \"Whether feature is public\",\n isOptional: true,\n value: {\n type: \"value\",\n value: {\n type: \"boolean\",\n boolean: {},\n },\n },\n meta: { addedIn: 1 },\n };\n\n const booleanArrayField: IFieldDef = {\n key: \"flags\",\n name: \"Flags\",\n description: \"Array of boolean flags\",\n value: {\n type: \"array\",\n array: {\n allowNullValue: false,\n value: {\n type: \"boolean\",\n boolean: {},\n },\n },\n },\n meta: { addedIn: 1 },\n };\n\n const featureRecord: IRecordDef = {\n key: \"Feature\",\n name: \"Feature\",\n description: \"A feature toggle record\",\n fields: [booleanField, optionalBooleanField, booleanArrayField],\n meta: { addedIn: 1 },\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema\",\n version: 1,\n primaryModelKeys: [\"Feature\"],\n models: {\n Feature: {\n type: \"record\",\n record: featureRecord,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"boolean-fields.ts\"));\n });\n\n it(\"should generate Zod schemas for union types\", async () => {\n // Define the ObjectNode record\n const objectNodeRecord: IRecordDef = {\n key: \"ObjectNode\",\n name: \"ObjectNode\",\n description: \"A node in the graph\",\n fields: [\n {\n key: \"x\",\n name: \"X\",\n description: \"X coordinate\",\n value: {\n type: \"value\",\n value: {\n type: \"double\",\n double: {},\n },\n },\n meta: { addedIn: 1 },\n },\n {\n key: \"y\",\n name: \"Y\",\n description: \"Y coordinate\",\n value: {\n type: \"value\",\n value: {\n type: \"double\",\n double: {},\n },\n },\n meta: { addedIn: 1 },\n },\n {\n key: \"label\",\n name: \"Label\",\n description: \"Node label\",\n isOptional: true,\n value: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n meta: { addedIn: 1 },\n },\n ],\n meta: { addedIn: 1 },\n };\n\n // Define the TextBox record\n const textBoxRecord: IRecordDef = {\n key: \"TextBox\",\n name: \"TextBox\",\n description: \"A text box in the graph\",\n fields: [\n {\n key: \"x\",\n name: \"X\",\n description: \"X coordinate\",\n value: {\n type: \"value\",\n value: {\n type: \"double\",\n double: {},\n },\n },\n meta: { addedIn: 1 },\n },\n {\n key: \"y\",\n name: \"Y\",\n description: \"Y coordinate\",\n value: {\n type: \"value\",\n value: {\n type: \"double\",\n double: {},\n },\n },\n meta: { addedIn: 1 },\n },\n {\n key: \"text\",\n name: \"Text\",\n description: \"Text content\",\n value: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n meta: { addedIn: 1 },\n },\n ],\n meta: { addedIn: 1 },\n };\n\n // Define the Node union\n const nodeUnion: IUnionDef = {\n key: \"Node\",\n discriminant: \"type\",\n name: \"Node\",\n description: \"A node in the graph\",\n variants: {\n object: \"ObjectNode\",\n \"text-box\": \"TextBox\",\n },\n meta: { addedIn: 1 },\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema with unions\",\n version: 1,\n primaryModelKeys: [\"ObjectNode\", \"TextBox\", \"Node\"],\n models: {\n ObjectNode: {\n type: \"record\",\n record: objectNodeRecord,\n } as IModelDef,\n TextBox: {\n type: \"record\",\n record: textBoxRecord,\n } as IModelDef,\n Node: {\n type: \"union\",\n union: nodeUnion,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"union-types.ts\"));\n });\n\n it(\"should handle unions defined before their variant records\", async () => {\n // Define records\n const fooRecord: IRecordDef = {\n key: \"Foo\",\n name: \"Foo\",\n description: \"Foo record\",\n fields: [\n {\n key: \"value\",\n name: \"Value\",\n description: \"A value\",\n value: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n meta: { addedIn: 1 },\n },\n ],\n meta: { addedIn: 1 },\n };\n\n const barRecord: IRecordDef = {\n key: \"Bar\",\n name: \"Bar\",\n description: \"Bar record\",\n fields: [\n {\n key: \"count\",\n name: \"Count\",\n description: \"A count\",\n value: {\n type: \"value\",\n value: {\n type: \"integer\",\n integer: {},\n },\n },\n meta: { addedIn: 1 },\n },\n ],\n meta: { addedIn: 1 },\n };\n\n // Define union that references the records\n const fooBarUnion: IUnionDef = {\n key: \"FooBar\",\n discriminant: \"type\",\n name: \"FooBar\",\n description: \"FooBar union\",\n variants: {\n foo: \"Foo\",\n bar: \"Bar\",\n },\n meta: { addedIn: 1 },\n };\n\n // Intentionally put union BEFORE its variant records in primaryModelKeys\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"Test schema with union before records\",\n version: 1,\n primaryModelKeys: [\"FooBar\", \"Foo\", \"Bar\"], // Union comes first!\n models: {\n Foo: {\n type: \"record\",\n record: fooRecord,\n } as IModelDef,\n Bar: {\n type: \"record\",\n record: barRecord,\n } as IModelDef,\n FooBar: {\n type: \"union\",\n union: fooBarUnion,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n // Verify that records come before union in the output\n const lines = formatted.split(\"\\n\");\n const fooSchemaIndex = lines.findIndex(line => line.includes(\"export const FooSchema\"));\n const barSchemaIndex = lines.findIndex(line => line.includes(\"export const BarSchema\"));\n const fooBarSchemaIndex = lines.findIndex(line => line.includes(\"export const FooBarSchema\"));\n\n expect(fooSchemaIndex).toBeGreaterThan(-1);\n expect(barSchemaIndex).toBeGreaterThan(-1);\n expect(fooBarSchemaIndex).toBeGreaterThan(-1);\n\n // Records should come before the union\n expect(fooSchemaIndex).toBeLessThan(fooBarSchemaIndex);\n expect(barSchemaIndex).toBeLessThan(fooBarSchemaIndex);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"union-before-records.ts\"));\n });\n\n it(\"should generate Zod schemas with custom discriminant\", async () => {\n const catRecord: IRecordDef = {\n key: \"Cat\",\n name: \"Cat\",\n description: \"A cat\",\n fields: [\n {\n key: \"meow\",\n name: \"Meow\",\n description: \"Cat sound\",\n value: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n meta: { addedIn: 1 },\n },\n ],\n meta: { addedIn: 1 },\n };\n\n const dogRecord: IRecordDef = {\n key: \"Dog\",\n name: \"Dog\",\n description: \"A dog\",\n fields: [\n {\n key: \"bark\",\n name: \"Bark\",\n description: \"Dog sound\",\n value: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n meta: { addedIn: 1 },\n },\n ],\n meta: { addedIn: 1 },\n };\n\n const animalUnion: IUnionDef = {\n key: \"Animal\",\n discriminant: \"kind\",\n name: \"Animal\",\n description: \"An animal union with custom discriminant\",\n variants: {\n cat: \"Cat\",\n dog: \"Dog\",\n },\n meta: { addedIn: 1 },\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema with custom discriminant\",\n version: 1,\n primaryModelKeys: [\"Cat\", \"Dog\", \"Animal\"],\n models: {\n Cat: {\n type: \"record\",\n record: catRecord,\n } as IModelDef,\n Dog: {\n type: \"record\",\n record: dogRecord,\n } as IModelDef,\n Animal: {\n type: \"union\",\n union: animalUnion,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n expect(formatted).toContain(\"z.discriminatedUnion('kind'\");\n expect(formatted).toContain(\"kind: z.literal('cat')\");\n expect(formatted).toContain(\"kind: z.literal('dog')\");\n\n await expect(formatted).toMatchFileSnapshot(\n path.join(snapshotDir, \"custom-discriminant.ts\"),\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"generateZodSchemasFromIr.test.js","names":["path","describe","expect","it","generateZodSchemasFromIr","formatWithPrettier","snapshotDir","join","__dirname","result","name","description","version","primaryModelKeys","models","Person","type","record","key","fields","fieldType","value","string","minLength","maxLength","metadata","addedInVersion","integer","minValue","maxValue","isOptional","formatted","toMatchFileSnapshot","Container","array","allowNullValue","map","unmanagedJson","Event","datetime","Feature","boolean","ObjectNode","double","TextBox","Node","union","discriminant","variants","object","Foo","Bar","FooBar","foo","bar","lines","split","fooSchemaIndex","findIndex","line","includes","barSchemaIndex","fooBarSchemaIndex","toBeGreaterThan","toBeLessThan","Cat","Dog","Animal","cat","dog","toContain"],"sources":["generateZodSchemasFromIr.test.ts"],"sourcesContent":["/*\n * Copyright 2025 Palantir Technologies, Inc. All rights reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this file except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n */\n\nimport path from \"path\";\nimport { describe, expect, it } from \"vitest\";\nimport type {\n IFieldDef,\n IModelDef,\n IRealTimeDocumentSchema,\n IRecordDef,\n IUnionDef,\n} from \"../../../lib/pack-docschema-api/pack-docschema-ir/index.js\";\nimport { generateZodSchemasFromIr } from \"../generateZodSchemasFromIr.js\";\nimport { formatWithPrettier } from \"./formatWithPrettier.js\";\n\ndescribe(\"generateZodSchemasFromIr\", () => {\n const snapshotDir = path.join(__dirname, \"__snapshots__\", \"generateZodSchemasFromIr\");\n it(\"should generate Zod schemas for simple record types\", async () => {\n const personField1: IFieldDef = {\n key: \"name\",\n name: \"Name\",\n description: \"Person name\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"string\",\n string: { minLength: 2, maxLength: 50 },\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const personField2: IFieldDef = {\n key: \"age\",\n name: \"Age\",\n description: \"Person age\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"integer\",\n integer: { minValue: 0, maxValue: 150 },\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const personField3: IFieldDef = {\n key: \"email\",\n name: \"Email\",\n description: \"Person email\",\n isOptional: true,\n fieldType: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const personRecord: IRecordDef = {\n key: \"Person\",\n name: \"Person\",\n description: \"A person record\",\n fields: [personField1, personField2, personField3],\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema\",\n version: 1,\n primaryModelKeys: [\"Person\"],\n models: {\n Person: {\n type: \"record\",\n record: personRecord,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"simple-records.ts\"));\n });\n\n it(\"should generate Zod schemas for array and map types\", async () => {\n const arrayField: IFieldDef = {\n key: \"tags\",\n name: \"Tags\",\n description: \"List of tags\",\n fieldType: {\n type: \"array\",\n array: {\n allowNullValue: false,\n value: {\n type: \"string\",\n string: {},\n },\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const mapField: IFieldDef = {\n key: \"metadata\",\n name: \"Metadata\",\n description: \"Key-value metadata\",\n fieldType: {\n type: \"map\",\n map: {\n allowNullValue: false,\n key: {\n type: \"string\",\n string: {},\n },\n value: {\n type: \"unmanagedJson\",\n unmanagedJson: {},\n },\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const containerRecord: IRecordDef = {\n key: \"Container\",\n name: \"Container\",\n description: \"A container record\",\n fields: [arrayField, mapField],\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema\",\n version: 1,\n primaryModelKeys: [\"Container\"],\n models: {\n Container: {\n type: \"record\",\n record: containerRecord,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"array-and-map-types.ts\"));\n });\n\n it(\"should generate Zod schemas with datetime fields\", async () => {\n const datetimeField: IFieldDef = {\n key: \"timestamp\",\n name: \"Timestamp\",\n description: \"Event timestamp\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"datetime\",\n datetime: {},\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const eventRecord: IRecordDef = {\n key: \"Event\",\n name: \"Event\",\n description: \"An event record\",\n fields: [datetimeField],\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema\",\n version: 1,\n primaryModelKeys: [\"Event\"],\n models: {\n Event: {\n type: \"record\",\n record: eventRecord,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"datetime-fields.ts\"));\n });\n\n it(\"should generate Zod schemas with boolean fields\", async () => {\n const booleanField: IFieldDef = {\n key: \"enabled\",\n name: \"Enabled\",\n description: \"Whether feature is enabled\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"boolean\",\n boolean: {},\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const optionalBooleanField: IFieldDef = {\n key: \"isPublic\",\n name: \"IsPublic\",\n description: \"Whether feature is public\",\n isOptional: true,\n fieldType: {\n type: \"value\",\n value: {\n type: \"boolean\",\n boolean: {},\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const booleanArrayField: IFieldDef = {\n key: \"flags\",\n name: \"Flags\",\n description: \"Array of boolean flags\",\n fieldType: {\n type: \"array\",\n array: {\n allowNullValue: false,\n value: {\n type: \"boolean\",\n boolean: {},\n },\n },\n },\n metadata: { addedInVersion: 1 },\n };\n\n const featureRecord: IRecordDef = {\n key: \"Feature\",\n name: \"Feature\",\n description: \"A feature toggle record\",\n fields: [booleanField, optionalBooleanField, booleanArrayField],\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema\",\n version: 1,\n primaryModelKeys: [\"Feature\"],\n models: {\n Feature: {\n type: \"record\",\n record: featureRecord,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"boolean-fields.ts\"));\n });\n\n it(\"should generate Zod schemas for union types\", async () => {\n // Define the ObjectNode record\n const objectNodeRecord: IRecordDef = {\n key: \"ObjectNode\",\n name: \"ObjectNode\",\n description: \"A node in the graph\",\n fields: [\n {\n key: \"x\",\n name: \"X\",\n description: \"X coordinate\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"double\",\n double: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n {\n key: \"y\",\n name: \"Y\",\n description: \"Y coordinate\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"double\",\n double: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n {\n key: \"label\",\n name: \"Label\",\n description: \"Node label\",\n isOptional: true,\n fieldType: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n ],\n };\n\n // Define the TextBox record\n const textBoxRecord: IRecordDef = {\n key: \"TextBox\",\n name: \"TextBox\",\n description: \"A text box in the graph\",\n fields: [\n {\n key: \"x\",\n name: \"X\",\n description: \"X coordinate\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"double\",\n double: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n {\n key: \"y\",\n name: \"Y\",\n description: \"Y coordinate\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"double\",\n double: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n {\n key: \"text\",\n name: \"Text\",\n description: \"Text content\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n ],\n };\n\n // Define the Node union\n const nodeUnion: IUnionDef = {\n key: \"Node\",\n discriminant: \"type\",\n name: \"Node\",\n description: \"A node in the graph\",\n variants: {\n object: \"ObjectNode\",\n \"text-box\": \"TextBox\",\n },\n metadata: { addedInVersion: 1 },\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema with unions\",\n version: 1,\n primaryModelKeys: [\"ObjectNode\", \"TextBox\", \"Node\"],\n models: {\n ObjectNode: {\n type: \"record\",\n record: objectNodeRecord,\n } as IModelDef,\n TextBox: {\n type: \"record\",\n record: textBoxRecord,\n } as IModelDef,\n Node: {\n type: \"union\",\n union: nodeUnion,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"union-types.ts\"));\n });\n\n it(\"should handle unions defined before their variant records\", async () => {\n // Define records\n const fooRecord: IRecordDef = {\n key: \"Foo\",\n name: \"Foo\",\n description: \"Foo record\",\n fields: [\n {\n key: \"value\",\n name: \"Value\",\n description: \"A value\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n ],\n };\n\n const barRecord: IRecordDef = {\n key: \"Bar\",\n name: \"Bar\",\n description: \"Bar record\",\n fields: [\n {\n key: \"count\",\n name: \"Count\",\n description: \"A count\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"integer\",\n integer: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n ],\n };\n\n // Define union that references the records\n const fooBarUnion: IUnionDef = {\n key: \"FooBar\",\n discriminant: \"type\",\n name: \"FooBar\",\n description: \"FooBar union\",\n variants: {\n foo: \"Foo\",\n bar: \"Bar\",\n },\n metadata: { addedInVersion: 1 },\n };\n\n // Intentionally put union BEFORE its variant records in primaryModelKeys\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"Test schema with union before records\",\n version: 1,\n primaryModelKeys: [\"FooBar\", \"Foo\", \"Bar\"], // Union comes first!\n models: {\n Foo: {\n type: \"record\",\n record: fooRecord,\n } as IModelDef,\n Bar: {\n type: \"record\",\n record: barRecord,\n } as IModelDef,\n FooBar: {\n type: \"union\",\n union: fooBarUnion,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n // Verify that records come before union in the output\n const lines = formatted.split(\"\\n\");\n const fooSchemaIndex = lines.findIndex(line => line.includes(\"export const FooSchema\"));\n const barSchemaIndex = lines.findIndex(line => line.includes(\"export const BarSchema\"));\n const fooBarSchemaIndex = lines.findIndex(line => line.includes(\"export const FooBarSchema\"));\n\n expect(fooSchemaIndex).toBeGreaterThan(-1);\n expect(barSchemaIndex).toBeGreaterThan(-1);\n expect(fooBarSchemaIndex).toBeGreaterThan(-1);\n\n // Records should come before the union\n expect(fooSchemaIndex).toBeLessThan(fooBarSchemaIndex);\n expect(barSchemaIndex).toBeLessThan(fooBarSchemaIndex);\n\n await expect(formatted).toMatchFileSnapshot(path.join(snapshotDir, \"union-before-records.ts\"));\n });\n\n it(\"should generate Zod schemas with custom discriminant\", async () => {\n const catRecord: IRecordDef = {\n key: \"Cat\",\n name: \"Cat\",\n description: \"A cat\",\n fields: [\n {\n key: \"meow\",\n name: \"Meow\",\n description: \"Cat sound\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n ],\n };\n\n const dogRecord: IRecordDef = {\n key: \"Dog\",\n name: \"Dog\",\n description: \"A dog\",\n fields: [\n {\n key: \"bark\",\n name: \"Bark\",\n description: \"Dog sound\",\n fieldType: {\n type: \"value\",\n value: {\n type: \"string\",\n string: {},\n },\n },\n metadata: { addedInVersion: 1 },\n },\n ],\n };\n\n const animalUnion: IUnionDef = {\n key: \"Animal\",\n discriminant: \"kind\",\n name: \"Animal\",\n description: \"An animal union with custom discriminant\",\n variants: {\n cat: \"Cat\",\n dog: \"Dog\",\n },\n metadata: { addedInVersion: 1 },\n };\n\n const schema: IRealTimeDocumentSchema = {\n name: \"Test Schema\",\n description: \"A test schema with custom discriminant\",\n version: 1,\n primaryModelKeys: [\"Cat\", \"Dog\", \"Animal\"],\n models: {\n Cat: {\n type: \"record\",\n record: catRecord,\n } as IModelDef,\n Dog: {\n type: \"record\",\n record: dogRecord,\n } as IModelDef,\n Animal: {\n type: \"union\",\n union: animalUnion,\n } as IModelDef,\n },\n };\n\n const result = await generateZodSchemasFromIr(schema);\n const formatted = await formatWithPrettier(result);\n\n expect(formatted).toContain(\"z.discriminatedUnion('kind'\");\n expect(formatted).toContain(\"kind: z.literal('cat')\");\n expect(formatted).toContain(\"kind: z.literal('dog')\");\n\n await expect(formatted).toMatchFileSnapshot(\n path.join(snapshotDir, \"custom-discriminant.ts\"),\n );\n });\n});\n"],"mappings":"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","ignoreList":[]}