langium-zod 0.8.0 → 0.8.1

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,3 +1,26 @@
1
1
  import type { ZodTypeDescriptor } from '../types.js';
2
+ /**
3
+ * Generates a TypeScript `domain.ts` that re-exports all AST interface types
4
+ * from `./ast.js` and merges namespace-scoped ops for each member-container type.
5
+ *
6
+ * Array fields → 6-op set (get/add/insertAt/removeAt/setAt/moveAt).
7
+ * Single contained-node fields → setXxx (+ clearXxx if optional).
8
+ * Cross-reference fields → setXxx using $namespace.name (+ clearXxx if optional).
9
+ * Primitive/literal fields → skipped.
10
+ */
11
+ /**
12
+ * No import-alias suffix is used. The generated `domain.ts` is a single barrel:
13
+ *
14
+ * import * as ast from './ast.js';
15
+ * export * from './ast.js'; // forwards every guard / reflection / non-namespaced type
16
+ * export type Data = ast.Data; // local type alias — shadows the star-exported interface
17
+ * export namespace Data { ... } // local value — shadows the star-exported reflection const
18
+ *
19
+ * A local `type` + `namespace` pair under the same name merges (type space + value space)
20
+ * and, per TypeScript export precedence, shadows the corresponding names brought in by
21
+ * `export * from './ast.js'`. So function signatures reference bare `Data` / `Attribute`,
22
+ * which resolve to the local alias (namespaced types) or the star-exported interface
23
+ * (non-namespaced element types) — no `$`-suffixed aliases, no TS2395.
24
+ */
2
25
  export declare function generateNamespaceOps(types: ZodTypeDescriptor[]): string;
3
26
  //# sourceMappingURL=namespace-ops.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"namespace-ops.d.ts","sourceRoot":"","sources":["../../src/emitters/namespace-ops.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2B,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AAwKjG,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,CAyBvE"}
1
+ {"version":3,"file":"namespace-ops.d.ts","sourceRoot":"","sources":["../../src/emitters/namespace-ops.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAA2B,iBAAiB,EAAqB,MAAM,aAAa,CAAC;AAmKjG;;;;;;;;GAQG;AACH;;;;;;;;;;;;;GAaG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,iBAAiB,EAAE,GAAG,MAAM,CA0BvE"}
@@ -35,6 +35,15 @@ function safeParam(name) {
35
35
  function singularize(name) {
36
36
  return name.endsWith('s') ? name.slice(0, -1) : name;
37
37
  }
38
+ /**
39
+ * Qualify an AST type name through the `import * as ast` namespace binding.
40
+ * `export * from './ast.js'` re-exports names to consumers but does NOT bring them
41
+ * into this module's lexical scope, so signatures must reference `ast.Foo` (a real
42
+ * local binding) rather than a bare `Foo`.
43
+ */
44
+ function astRef(typeName) {
45
+ return `ast.${typeName}`;
46
+ }
38
47
  function capitalize(s) {
39
48
  return s.length === 0 ? s : `${s[0].toUpperCase()}${s.slice(1)}`;
40
49
  }
@@ -44,24 +53,25 @@ function emitArrayOps(typeName, field) {
44
53
  const safeSingular = safeParam(singular);
45
54
  const Singular = capitalize(singular);
46
55
  const Field = capitalize(fieldName);
47
- const S = IMPORT_ALIAS_SUFFIX;
56
+ const T = astRef(typeName);
57
+ const E = astRef(elementType);
48
58
  const lines = [
49
- ` export function get${Field}(node: Dehydrated<${typeName}${S}>): Dehydrated<${elementType}${S}>[] {`,
59
+ ` export function get${Field}(node: Dehydrated<${T}>): Dehydrated<${E}>[] {`,
50
60
  ` return node.${fieldName};`,
51
61
  ` }`,
52
- ` export function add${Singular}(node: Dehydrated<${typeName}${S}>, ${safeSingular}: Dehydrated<${elementType}${S}>): void {`,
62
+ ` export function add${Singular}(node: Dehydrated<${T}>, ${safeSingular}: Dehydrated<${E}>): void {`,
53
63
  ` node.${fieldName}.push(${safeSingular});`,
54
64
  ` }`,
55
- ` export function insert${Singular}At(node: Dehydrated<${typeName}${S}>, index: number, ${safeSingular}: Dehydrated<${elementType}${S}>): void {`,
65
+ ` export function insert${Singular}At(node: Dehydrated<${T}>, index: number, ${safeSingular}: Dehydrated<${E}>): void {`,
56
66
  ` node.${fieldName}.splice(index, 0, ${safeSingular});`,
57
67
  ` }`,
58
- ` export function remove${Singular}At(node: Dehydrated<${typeName}${S}>, index: number): void {`,
68
+ ` export function remove${Singular}At(node: Dehydrated<${T}>, index: number): void {`,
59
69
  ` node.${fieldName}.splice(index, 1);`,
60
70
  ` }`,
61
- ` export function set${Singular}At(node: Dehydrated<${typeName}${S}>, index: number, ${safeSingular}: Dehydrated<${elementType}${S}>): void {`,
71
+ ` export function set${Singular}At(node: Dehydrated<${T}>, index: number, ${safeSingular}: Dehydrated<${E}>): void {`,
62
72
  ` node.${fieldName}[index] = ${safeSingular};`,
63
73
  ` }`,
64
- ` export function move${Singular}At(node: Dehydrated<${typeName}${S}>, from: number, to: number): void {`,
74
+ ` export function move${Singular}At(node: Dehydrated<${T}>, from: number, to: number): void {`,
65
75
  ` const [item] = node.${fieldName}.splice(from, 1);`,
66
76
  ` if (item === undefined) return;`,
67
77
  ` node.${fieldName}.splice(to, 0, item);`,
@@ -73,28 +83,29 @@ function emitSingleNodeOps(typeName, field) {
73
83
  const { fieldName, typeName: fieldTypeName, optional } = field;
74
84
  const safeFieldParam = safeParam(fieldName);
75
85
  const Field = capitalize(fieldName);
76
- const S = IMPORT_ALIAS_SUFFIX;
86
+ const T = astRef(typeName);
87
+ const F = astRef(fieldTypeName);
77
88
  const lines = [
78
- ` export function set${Field}(node: Dehydrated<${typeName}${S}>, ${safeFieldParam}: Dehydrated<${fieldTypeName}${S}>): void {`,
89
+ ` export function set${Field}(node: Dehydrated<${T}>, ${safeFieldParam}: Dehydrated<${F}>): void {`,
79
90
  ` node.${fieldName} = ${safeFieldParam};`,
80
91
  ` }`,
81
92
  ];
82
93
  if (optional) {
83
- lines.push(` export function clear${Field}(node: Dehydrated<${typeName}${S}>): void {`, ` node.${fieldName} = undefined;`, ` }`);
94
+ lines.push(` export function clear${Field}(node: Dehydrated<${T}>): void {`, ` node.${fieldName} = undefined;`, ` }`);
84
95
  }
85
96
  return lines.join('\n');
86
97
  }
87
98
  function emitCrossRefOps(typeName, field) {
88
99
  const { fieldName, optional } = field;
89
100
  const Field = capitalize(fieldName);
90
- const S = IMPORT_ALIAS_SUFFIX;
101
+ const T = astRef(typeName);
91
102
  const lines = [
92
- ` export function set${Field}(node: Dehydrated<${typeName}${S}>, refText: string): void {`,
103
+ ` export function set${Field}(node: Dehydrated<${T}>, refText: string): void {`,
93
104
  ` node.${fieldName} = { $refText: refText };`,
94
105
  ` }`,
95
106
  ];
96
107
  if (optional) {
97
- lines.push(` export function clear${Field}(node: Dehydrated<${typeName}${S}>): void {`, ` node.${fieldName} = undefined;`, ` }`);
108
+ lines.push(` export function clear${Field}(node: Dehydrated<${T}>): void {`, ` node.${fieldName} = undefined;`, ` }`);
98
109
  }
99
110
  return lines.join('\n');
100
111
  }
@@ -128,30 +139,40 @@ function emitNamespace(descriptor, objectTypeNames) {
128
139
  * Primitive/literal fields → skipped.
129
140
  */
130
141
  /**
131
- * Suffix used for import aliases to avoid TS2395 ("Individual declarations in merged
132
- * declaration must be all exported or all local"). We import `Data as Data$` and use
133
- * `Data$` in function signatures so that the public `export namespace Data` is the only
134
- * declaration of that name in this file.
142
+ * No import-alias suffix is used. The generated `domain.ts` is a single barrel:
143
+ *
144
+ * import * as ast from './ast.js';
145
+ * export * from './ast.js'; // forwards every guard / reflection / non-namespaced type
146
+ * export type Data = ast.Data; // local type alias — shadows the star-exported interface
147
+ * export namespace Data { ... } // local value — shadows the star-exported reflection const
148
+ *
149
+ * A local `type` + `namespace` pair under the same name merges (type space + value space)
150
+ * and, per TypeScript export precedence, shadows the corresponding names brought in by
151
+ * `export * from './ast.js'`. So function signatures reference bare `Data` / `Attribute`,
152
+ * which resolve to the local alias (namespaced types) or the star-exported interface
153
+ * (non-namespaced element types) — no `$`-suffixed aliases, no TS2395.
135
154
  */
136
- const IMPORT_ALIAS_SUFFIX = '$';
137
155
  export function generateNamespaceOps(types) {
138
156
  const objectTypes = types.filter((t) => t.kind === 'object');
139
- const typeNames = objectTypes.map((t) => t.name);
140
- const objectTypeNames = new Set(typeNames);
157
+ const objectTypeNames = new Set(objectTypes.map((t) => t.name));
141
158
  const parts = [];
142
- // Import with alias suffix so `export namespace Foo` doesn't conflict with `import type { Foo }`.
143
- if (typeNames.length > 0) {
144
- const aliasedImports = typeNames.map((n) => `${n} as ${n}${IMPORT_ALIAS_SUFFIX}`).join(', ');
145
- parts.push(`import type { ${aliasedImports} } from './ast.js';`);
146
- }
147
- parts.push('');
159
+ parts.push(`import * as ast from './ast.js';`);
148
160
  parts.push(`import type { Dehydrated } from '../serializer/dehydrated.js';`);
161
+ parts.push('');
162
+ // Re-export the entire AST surface (interfaces, type guards, reflection, terminals,
163
+ // union types) so `domain.ts` is the sole core barrel. The per-type `export type` and
164
+ // `export namespace` declarations below shadow the interface + reflection-const for the
165
+ // namespaced types; everything else flows through unchanged.
166
+ parts.push(`export * from './ast.js';`);
149
167
  for (const descriptor of objectTypes) {
150
168
  const ns = emitNamespace(descriptor, objectTypeNames);
151
- if (ns !== null) {
152
- parts.push('');
153
- parts.push(ns);
154
- }
169
+ if (ns === null)
170
+ continue;
171
+ parts.push('');
172
+ // Local type alias re-exposes the interface under the same name the namespace uses,
173
+ // so the merged `Data` is both a type and an ops namespace at every call site.
174
+ parts.push(`export type ${descriptor.name} = ast.${descriptor.name};`);
175
+ parts.push(ns);
155
176
  }
156
177
  return parts.join('\n') + '\n';
157
178
  }
@@ -1 +1 @@
1
- {"version":3,"file":"namespace-ops.js","sourceRoot":"","sources":["../../src/emitters/namespace-ops.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"namespace-ops.js","sourceRoot":"","sources":["../../src/emitters/namespace-ops.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.8.0",
3
+ "version": "0.8.1",
4
4
  "type": "module",
5
5
  "description": "Langium generator plugin that derives Zod schemas from grammar definitions",
6
6
  "keywords": [