langium-zod 0.3.3 → 0.3.5

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.
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EAKZ,iBAAiB,EAEjB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA+MhD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAkJzG"}
1
+ {"version":3,"file":"extractor.d.ts","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACX,YAAY,EAKZ,iBAAiB,EAEjB,MAAM,YAAY,CAAC;AAEpB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA6QhD,wBAAgB,sBAAsB,CAAC,QAAQ,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,iBAAiB,EAAE,CAqKzG"}
package/dist/extractor.js CHANGED
@@ -121,6 +121,59 @@ function resolveKeywordEnum(unionType) {
121
121
  }
122
122
  return undefined;
123
123
  }
124
+ /**
125
+ * Resolve a mixed regex + keyword union
126
+ * (e.g. `ValidID returns string: ID | 'condition' | 'source' | ...`).
127
+ *
128
+ * Matches when the union consists exclusively of:
129
+ * - Zero or one `{ primitive: 'string', regex: '/.../' }` entries (from terminal rules)
130
+ * - Zero or more `{ string: 'kw' }` keyword entries
131
+ * AND there is at least one regex entry.
132
+ *
133
+ * Returns `{ regex, keywords }` on match, `undefined` otherwise.
134
+ */
135
+ function resolveRegexEnum(unionType) {
136
+ const source = unionType.type;
137
+ if (!source) {
138
+ return undefined;
139
+ }
140
+ // Only handle PropertyUnion shape
141
+ if (!Array.isArray(source['types'])) {
142
+ // Top-level single PrimitiveType with regex: { primitive: 'string', regex: '/.../' }
143
+ if (typeof source['primitive'] === 'string' && source['primitive'] === 'string' && typeof source['regex'] === 'string') {
144
+ return { regex: source['regex'], keywords: [] };
145
+ }
146
+ return undefined;
147
+ }
148
+ let regex;
149
+ const keywords = [];
150
+ for (const item of source['types']) {
151
+ if (!item || typeof item !== 'object') {
152
+ return undefined;
153
+ }
154
+ const t = item;
155
+ // { primitive: 'string', regex: '/.../' } — regex-bearing terminal reference
156
+ if (typeof t['primitive'] === 'string' && t['primitive'] === 'string' && typeof t['regex'] === 'string') {
157
+ if (regex !== undefined) {
158
+ return undefined; // multiple regex entries — too complex
159
+ }
160
+ regex = t['regex'];
161
+ continue;
162
+ }
163
+ // { string: 'kw' } — keyword literal
164
+ if (typeof t['string'] === 'string') {
165
+ keywords.push(t['string']);
166
+ continue;
167
+ }
168
+ // Any other kind of member means this isn't a simple regex-enum
169
+ return undefined;
170
+ }
171
+ // Must have at least one regex to distinguish from keyword-enum
172
+ if (regex === undefined) {
173
+ return undefined;
174
+ }
175
+ return { regex, keywords };
176
+ }
124
177
  /**
125
178
  * Resolve the primitive kind for a Langium union that aliases a single primitive type
126
179
  * (e.g. `type ValidID = ID` → 'string', `type Integer = INT` → 'number').
@@ -131,10 +184,10 @@ function resolvePrimitiveAlias(unionType) {
131
184
  if (!source) {
132
185
  return undefined;
133
186
  }
134
- // PrimitiveType: { primitive: 'string' | 'number' | 'boolean' }
187
+ // PrimitiveType: { primitive: 'string' | 'number' | 'boolean' | 'bigint' }
135
188
  if (typeof source['primitive'] === 'string') {
136
189
  const p = source['primitive'];
137
- if (p === 'string' || p === 'number' || p === 'boolean') {
190
+ if (p === 'string' || p === 'number' || p === 'boolean' || p === 'bigint') {
138
191
  return p;
139
192
  }
140
193
  return 'string'; // unknown primitives default to string
@@ -250,16 +303,27 @@ export function extractTypeDescriptors(astTypes, config) {
250
303
  });
251
304
  }
252
305
  else {
253
- // Check if this is a primitive alias (e.g. ValidID = string)
254
- const primitive = resolvePrimitiveAlias(entry);
255
- if (primitive) {
306
+ // Check if this is a regex-enum (terminal regex + optional keyword literals)
307
+ const regexEnum = resolveRegexEnum(entry);
308
+ if (regexEnum) {
256
309
  unionDescriptors.push({
257
310
  name: entry.name,
258
- kind: 'primitive-alias',
259
- primitive
311
+ kind: 'regex-enum',
312
+ ...regexEnum
260
313
  });
261
314
  }
262
- // Otherwise silently skip (e.g. unions whose members are other unions, handled below)
315
+ else {
316
+ // Check if this is a primitive alias (e.g. BigDecimal = string)
317
+ const primitive = resolvePrimitiveAlias(entry);
318
+ if (primitive) {
319
+ unionDescriptors.push({
320
+ name: entry.name,
321
+ kind: 'primitive-alias',
322
+ primitive
323
+ });
324
+ }
325
+ // Otherwise silently skip (e.g. unions whose members are other unions, handled below)
326
+ }
263
327
  }
264
328
  }
265
329
  }
@@ -306,12 +370,22 @@ export function extractTypeDescriptors(astTypes, config) {
306
370
  });
307
371
  }
308
372
  else {
309
- const primitive = unionEntry ? resolvePrimitiveAlias(unionEntry) : undefined;
310
- stubDescriptors.push({
311
- name: refName,
312
- kind: 'primitive-alias',
313
- primitive: primitive ?? 'string' // default to string for unknown datatype rules
314
- });
373
+ const regexEnum = unionEntry ? resolveRegexEnum(unionEntry) : undefined;
374
+ if (regexEnum) {
375
+ stubDescriptors.push({
376
+ name: refName,
377
+ kind: 'regex-enum',
378
+ ...regexEnum
379
+ });
380
+ }
381
+ else {
382
+ const primitive = unionEntry ? resolvePrimitiveAlias(unionEntry) : undefined;
383
+ stubDescriptors.push({
384
+ name: refName,
385
+ kind: 'primitive-alias',
386
+ primitive: primitive ?? 'string' // default to string for unknown datatype rules
387
+ });
388
+ }
315
389
  }
316
390
  }
317
391
  return [...objectDescriptors, ...unionDescriptors, ...stubDescriptors];
@@ -1 +1 @@
1
- {"version":3,"file":"extractor.js","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"extractor.js","sourceRoot":"","sources":["../src/extractor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkD,iBAAiB,EAAqB,MAAM,YAAY,CAAC;AAgKvH,wBAAgB,eAAe,CAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CA+GrG"}
1
+ {"version":3,"file":"generator.d.ts","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAkD,iBAAiB,EAAqB,MAAM,YAAY,CAAC;AAoKvH,wBAAgB,eAAe,CAAC,WAAW,EAAE,iBAAiB,EAAE,EAAE,cAAc,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,CA6HrG"}
package/dist/generator.js CHANGED
@@ -14,6 +14,9 @@ function expressionToBuilder(expression, lazyNames = new Set()) {
14
14
  if (expression.primitive === 'number') {
15
15
  return build.number();
16
16
  }
17
+ if (expression.primitive === 'bigint') {
18
+ return build.raw('z.bigint()');
19
+ }
17
20
  return build.boolean();
18
21
  case 'literal':
19
22
  return build.literal(expression.value);
@@ -157,7 +160,7 @@ export function generateZodCode(descriptors, recursiveTypes) {
157
160
  lines.push(`export const ReferenceSchema = ${referenceBuilder.text()};`);
158
161
  lines.push('');
159
162
  }
160
- // 1. Keyword-enum and primitive alias schemas first — they have no dependencies
163
+ // 1. Keyword-enum, regex-enum, and primitive alias schemas first — they have no dependencies
161
164
  // and are referenced by object schemas as leaf nodes.
162
165
  for (const descriptor of descriptors) {
163
166
  if (descriptor.kind === 'keyword-enum') {
@@ -170,15 +173,27 @@ export function generateZodCode(descriptors, recursiveTypes) {
170
173
  lines.push('');
171
174
  }
172
175
  }
176
+ for (const descriptor of descriptors) {
177
+ if (descriptor.kind === 'regex-enum') {
178
+ const { regex, keywords } = descriptor;
179
+ // Strip wrapping slashes to get the raw pattern: "/foo/" → "foo"
180
+ const pattern = regex.startsWith('/') && regex.endsWith('/') ? regex.slice(1, -1) : regex;
181
+ const regexPart = `z.string().regex(new RegExp(${JSON.stringify(pattern)}))`;
182
+ const zodExpr = keywords.length === 0
183
+ ? regexPart
184
+ : `z.union([${regexPart}, ${keywords.map((kw) => `z.literal(${JSON.stringify(kw)})`).join(', ')}])`;
185
+ lines.push(`export const ${descriptor.name}Schema = ${zodExpr};`);
186
+ lines.push('');
187
+ }
188
+ }
173
189
  for (const descriptor of descriptors) {
174
190
  if (descriptor.kind !== 'primitive-alias') {
175
191
  continue;
176
192
  }
177
- const zodExpr = descriptor.primitive === 'number'
178
- ? 'z.number()'
179
- : descriptor.primitive === 'boolean'
180
- ? 'z.boolean()'
181
- : 'z.string()';
193
+ const zodExpr = descriptor.primitive === 'number' ? 'z.number()' :
194
+ descriptor.primitive === 'boolean' ? 'z.boolean()' :
195
+ descriptor.primitive === 'bigint' ? 'z.bigint()' :
196
+ 'z.string()';
182
197
  lines.push(`export const ${descriptor.name}Schema = ${zodExpr};`);
183
198
  lines.push('');
184
199
  }
@@ -1 +1 @@
1
- {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generator.js","sourceRoot":"","sources":["../src/generator.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"type-mapper.d.ts","sourceRoot":"","sources":["../src/type-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAgB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEhF,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAcpF;AAuID,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,iBAAiB,CA8DzE"}
1
+ {"version":3,"file":"type-mapper.d.ts","sourceRoot":"","sources":["../src/type-mapper.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAgB,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEhF,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,MAAM,GAAG,iBAAiB,GAAG,SAAS,CAcpF;AA6ID,wBAAgB,eAAe,CAAC,QAAQ,EAAE,YAAY,GAAG,iBAAiB,CA8DzE"}
@@ -26,13 +26,19 @@ function mapLangiumPropertyType(type) {
26
26
  return undefined;
27
27
  }
28
28
  const t = type;
29
- // PrimitiveType: { primitive: 'string' | 'number' | 'boolean' }
29
+ // PrimitiveType: { primitive: 'string' | 'number' | 'boolean' | 'bigint' }
30
30
  if ('primitive' in t && typeof t['primitive'] === 'string') {
31
31
  const p = t['primitive'];
32
32
  if (p === 'string' || p === 'number' || p === 'boolean') {
33
33
  return { kind: 'primitive', primitive: p };
34
34
  }
35
- // Langium may surface other datatype-rule primitive names, default to string
35
+ if (p === 'bigint') {
36
+ // Langium bigint datatype rules (e.g. `Integer returns bigint`) are
37
+ // surfaced as references so the caller gets a named schema (IntegerSchema).
38
+ // If encountered inline, emit as a literal 'bigint' primitive.
39
+ return { kind: 'primitive', primitive: 'bigint' };
40
+ }
41
+ // Other unknown primitive names: default to string
36
42
  return { kind: 'primitive', primitive: 'string' };
37
43
  }
38
44
  // StringType: { string: string } — exact keyword/token literal
@@ -1 +1 @@
1
- {"version":3,"file":"type-mapper.js","sourceRoot":"","sources":["../src/type-mapper.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"type-mapper.js","sourceRoot":"","sources":["../src/type-mapper.ts"],"names":[],"mappings":"AAEA,MAAM,UAAU,gBAAgB,CAAC,YAAoB;IACpD,IAAI,YAAY,KAAK,IAAI,IAAI,YAAY,KAAK,QAAQ,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QACrF,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,YAAY,KAAK,KAAK,IAAI,YAAY,KAAK,QAAQ,EAAE,CAAC;QACzD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED,IAAI,YAAY,KAAK,SAAS,EAAE,CAAC;QAChC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED;;;;;;;;;;GAUG;AACH,SAAS,sBAAsB,CAAC,IAAa;IAC5C,IAAI,CAAC,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QACvC,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,MAAM,CAAC,GAAG,IAA+B,CAAC;IAE1C,2EAA2E;IAC3E,IAAI,WAAW,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,WAAW,CAAC,KAAK,QAAQ,EAAE,CAAC;QAC5D,MAAM,CAAC,GAAG,CAAC,CAAC,WAAW,CAAC,CAAC;QACzB,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,SAAS,EAAE,CAAC;YACzD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC;QAC5C,CAAC;QACD,IAAI,CAAC,KAAK,QAAQ,EAAE,CAAC;YACpB,oEAAoE;YACpE,4EAA4E;YAC5E,+DAA+D;YAC/D,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAwB,EAAE,CAAC;QACnE,CAAC;QACD,mDAAmD;QACnD,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC;IACnD,CAAC;IAED,+DAA+D;IAC/D,IAAI,QAAQ,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,CAAC,KAAK,QAAQ,EAAE,CAAC;QACtD,OAAO,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,CAAC,QAAQ,CAAC,EAAE,CAAC;IAChD,CAAC;IAED,mFAAmF;IACnF,IAAI,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;QAClE,MAAM,KAAK,GAAG,CAAC,CAAC,OAAO,CAA4B,CAAC;QACpD,IAAI,OAAO,KAAK,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;YACvC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,QAAQ,EAAE,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QACvD,CAAC;IACF,CAAC;IAED,0EAA0E;IAC1E,+EAA+E;IAC/E,IAAI,eAAe,IAAI,CAAC,IAAI,CAAC,CAAC,eAAe,CAAC,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,CAAC,CAAC,eAAe,CAA4B,CAAC;QAC/D,IAAI,UAAU,GAAG,SAAS,CAAC;QAC3B,IAAI,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,QAAQ,CAAC,OAAO,CAAC,KAAK,QAAQ,EAAE,CAAC;YAChE,MAAM,GAAG,GAAG,QAAQ,CAAC,OAAO,CAA4B,CAAC;YACzD,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ,EAAE,CAAC;gBACrC,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;YAC1B,CAAC;QACF,CAAC;QACD,OAAO,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;IAC/C,CAAC;IAED,2CAA2C;IAC3C,IAAI,aAAa,IAAI,CAAC,IAAI,CAAC,CAAC,aAAa,CAAC,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,sBAAsB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;QACvD,IAAI,KAAK,EAAE,CAAC;YACX,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;QAC1C,CAAC;IACF,CAAC;IAED,uEAAuE;IACvE,IAAI,OAAO,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QAC/C,MAAM,OAAO,GAAI,CAAC,CAAC,OAAO,CAAe;aACvC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;aAC3C,MAAM,CAAC,CAAC,CAAC,EAA0B,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC;QACzD,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC;QACnB,CAAC;QACD,IAAI,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACxB,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC;QACnC,CAAC;IACF,CAAC;IAED,OAAO,SAAS,CAAC;AAClB,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAqB;IACnD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACtC,OAAO;YACN,QAAQ,EAAE,YAAY;YACtB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,KAAK;SACjB,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC;IAC9C,CAAC;IAED,MAAM,SAAS,GAAG,YAOjB,CAAC;IAEF,IAAI,SAAS,CAAC,WAAW,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC;QAC5D,OAAO;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,IAAI;YACb,UAAU,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC;IACH,CAAC;IAED,IAAI,SAAS,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,GAAG,qBAAqB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QACrD,OAAO;YACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,OAAO,EAAE,KAAK;YACd,UAAU,EAAE,MAAM,CAAC,UAAU;SAC7B,CAAC;IACH,CAAC;IAED,MAAM,QAAQ,GACb,OAAO,SAAS,CAAC,aAAa,KAAK,QAAQ;QAC1C,CAAC,CAAC,SAAS,CAAC,aAAa;QACzB,CAAC,CAAC,OAAO,SAAS,CAAC,IAAI,KAAK,QAAQ;YACnC,CAAC,CAAC,SAAS,CAAC,IAAI;YAChB,CAAC,CAAC,SAAS,CAAC;IAEf,OAAO;QACN,QAAQ;QACR,OAAO,EAAE,KAAK;QACd,UAAU,EAAE,OAAO,CAAC,SAAS,CAAC,UAAU,IAAI,SAAS,CAAC,QAAQ,CAAC;KAC/D,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,QAAsB;IACrD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,IAAI,QAAQ,CAAC,QAAQ,IAAI,GAAG,CAAC;IAC3E,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,WAAW,EAAE,SAAS,EAAE,SAAS,EAAE,CAAC;IACpD,CAAC;IAED,wEAAwE;IACxE,IAAI,QAAQ,CAAC,UAAU,EAAE,CAAC;QACzB,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACxD,MAAM,UAAU,GAAG,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC,QAAQ,IAAI,SAAS,CAAC;QAC9E,MAAM,IAAI,GAAsB,EAAE,IAAI,EAAE,gBAAgB,EAAE,UAAU,EAAE,CAAC;QACvE,IAAI,kBAAkB,KAAK,IAAI,EAAE,CAAC;YACjC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;QACzC,CAAC;QACD,OAAO,IAAI,CAAC;IACb,CAAC;IAED,+DAA+D;IAC/D,yFAAyF;IACzF,uFAAuF;IACvF,MAAM,aAAa,GAAG,sBAAsB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC5D,IAAI,aAAa,EAAE,CAAC;QACnB,0EAA0E;QAC1E,IAAI,kBAAkB,KAAK,IAAI,IAAI,aAAa,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YACnE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,CAAC;QAClD,CAAC;QACD,OAAO,aAAa,CAAC;IACtB,CAAC;IAED,0EAA0E;IAC1E,MAAM,UAAU,GAAG,qBAAqB,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;IACxD,MAAM,cAAc,GAAG,QAAQ,CAAC,aAAa,IAAI,UAAU,CAAC,QAAQ,IAAI,EAAE,CAAC;IAC3E,MAAM,SAAS,GAAG,gBAAgB,CAAC,cAAc,CAAC,CAAC;IAEnD,IAAI,IAAuB,CAAC;IAC5B,IAAI,UAAU,CAAC,UAAU,EAAE,CAAC;QAC3B,IAAI,GAAG;YACN,IAAI,EAAE,gBAAgB;YACtB,UAAU,EAAE,cAAc,IAAI,SAAS;SACvC,CAAC;IACH,CAAC;SAAM,IAAI,SAAS,EAAE,CAAC;QACtB,IAAI,GAAG,SAAS,CAAC;IAClB,CAAC;SAAM,IAAI,cAAc,EAAE,CAAC;QAC3B,IAAI,GAAG;YACN,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,cAAc;SACxB,CAAC;IACH,CAAC;SAAM,CAAC;QACP,IAAI,GAAG;YACN,IAAI,EAAE,WAAW;YACjB,QAAQ,EAAE,SAAS;SACnB,CAAC;IACH,CAAC;IAED,IAAI,kBAAkB,KAAK,IAAI,IAAI,UAAU,CAAC,OAAO,EAAE,CAAC;QACvD,OAAO;YACN,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,IAAI;SACb,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACb,CAAC"}
package/dist/types.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- export type ZodPrimitive = 'string' | 'number' | 'boolean';
1
+ export type ZodPrimitive = 'string' | 'number' | 'boolean' | 'bigint';
2
2
  export type ZodTypeExpression = {
3
3
  kind: 'primitive';
4
4
  primitive: ZodPrimitive;
@@ -37,7 +37,7 @@ export interface ZodUnionTypeDescriptor {
37
37
  members: string[];
38
38
  discriminator: string;
39
39
  }
40
- /** Emits `export const XSchema = z.string()` (or number/boolean) for Langium datatype rules. */
40
+ /** Emits `export const XSchema = z.string()` (or number/boolean/bigint) for Langium datatype rules. */
41
41
  export interface ZodPrimitiveAliasDescriptor {
42
42
  name: string;
43
43
  kind: 'primitive-alias';
@@ -49,7 +49,20 @@ export interface ZodKeywordEnumDescriptor {
49
49
  kind: 'keyword-enum';
50
50
  keywords: string[];
51
51
  }
52
- export type ZodTypeDescriptor = ZodObjectTypeDescriptor | ZodUnionTypeDescriptor | ZodPrimitiveAliasDescriptor | ZodKeywordEnumDescriptor;
52
+ /**
53
+ * Emits `export const XSchema = z.union([z.string().regex(new RegExp("...")), z.literal("kw")])` for
54
+ * Langium datatype rules that mix a terminal regex with keyword alternatives
55
+ * (e.g. `ValidID returns string: ID | 'condition' | 'source' | ...`).
56
+ * When `keywords` is empty, emits `z.string().regex(new RegExp("..."))` directly.
57
+ */
58
+ export interface ZodRegexEnumDescriptor {
59
+ name: string;
60
+ kind: 'regex-enum';
61
+ /** The raw regex string from Langium, including wrapping slashes e.g. `"/[a-z]+/"`. */
62
+ regex: string;
63
+ keywords: string[];
64
+ }
65
+ export type ZodTypeDescriptor = ZodObjectTypeDescriptor | ZodUnionTypeDescriptor | ZodPrimitiveAliasDescriptor | ZodKeywordEnumDescriptor | ZodRegexEnumDescriptor;
53
66
  export interface InterfaceTypeLike {
54
67
  name: string;
55
68
  properties?: PropertyLike[];
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;AAE3D,MAAM,MAAM,iBAAiB,GAC1B;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,SAAS,EAAE,YAAY,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClC;IAAE,IAAI,EAAE,WAAW,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACvC;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,iBAAiB,CAAA;CAAE,GAC7C;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GAC9C;IAAE,IAAI,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,iBAAiB,EAAE,CAAA;CAAE,GAC/C;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,iBAAiB,CAAA;CAAE,CAAC;AAE9C,MAAM,WAAW,qBAAqB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,iBAAiB,CAAC;IAC3B,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,UAAU,EAAE,qBAAqB,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,sBAAsB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;CACtB;AAED,gGAAgG;AAChG,MAAM,WAAW,2BAA2B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,iBAAiB,CAAC;IACxB,SAAS,EAAE,YAAY,CAAC;CACxB;AAED,+GAA+G;AAC/G,MAAM,WAAW,wBAAwB;IACxC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,cAAc,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,MAAM,iBAAiB,GAAG,uBAAuB,GAAG,sBAAsB,GAAG,2BAA2B,GAAG,wBAAwB,CAAC;AAE1I,MAAM,WAAW,iBAAiB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,CAAC,EAAE,YAAY,EAAE,CAAC;IAC5B,UAAU,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,MAAM,EAAE,CAAC;CACpC;AAED,MAAM,WAAW,aAAa;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAC7B,UAAU,CAAC,EAAE,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC;IAC/B,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAChC,MAAM,EAAE,aAAa,EAAE,CAAC;CACxB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "langium-zod",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "type": "module",
5
5
  "description": "Langium generator plugin that derives Zod schemas from grammar definitions",
6
6
  "keywords": [