klasik 2.6.2 → 2.6.4

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.
Binary file
@@ -10,6 +10,8 @@
10
10
  * - Handles nested refs (ref within ref)
11
11
  * - Deep clones to avoid mutations
12
12
  * - Recursively traverses spec object
13
+ * - Promotes external schema refs to components/schemas
14
+ * - Promotes sibling schemas referenced via internal $ref within promoted schemas
13
15
  */
14
16
  export interface RefInlinerOptions {
15
17
  /** Base URL of the main spec (for error messages) */
@@ -28,6 +30,7 @@ export declare class RefInliner {
28
30
  private resolvedRefs;
29
31
  private refResolver;
30
32
  private baseUrl?;
33
+ private promotedSchemas;
31
34
  constructor();
32
35
  /**
33
36
  * Inline all external $ref in a spec
@@ -55,6 +58,27 @@ export declare class RefInliner {
55
58
  * @returns Inlined content
56
59
  */
57
60
  private resolveAndInline;
61
+ /**
62
+ * Find internal schema $ref within promoted content and promote those
63
+ * sibling schemas from the same source document.
64
+ *
65
+ * When a schema from a sub-file is promoted, it may contain internal
66
+ * $ref like #/components/schemas/Sibling that point to other schemas
67
+ * in the same sub-file. Those siblings must also be promoted.
68
+ */
69
+ private promoteSiblingSchemas;
70
+ /**
71
+ * Find all internal $ref pointing to schemas within an object
72
+ * Returns the schema names referenced via #/components/schemas/X or #/definitions/X
73
+ */
74
+ private findInternalSchemaRefs;
75
+ /**
76
+ * Extract a schema name from a $ref fragment
77
+ * Matches patterns like /components/schemas/Name or /definitions/Name
78
+ * @param fragment The fragment part of the ref (after #)
79
+ * @returns Schema name or null if not a schema ref
80
+ */
81
+ private extractSchemaName;
58
82
  /**
59
83
  * Check if a ref is external (doesn't start with #)
60
84
  * @param ref The $ref string
@@ -1 +1 @@
1
- {"version":3,"file":"ref-inliner.d.ts","sourceRoot":"","sources":["../../src/loaders/ref-inliner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAIH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,GAAG,EAAE,MAAM;aACX,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAC,CAAS;;IAOzB;;;;;;OAMG;IACH,MAAM,CACJ,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,OAAO,GAAE,iBAAsB,GAC9B,GAAG;IAWN;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAqClB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAiDxB;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;CAG7C"}
1
+ {"version":3,"file":"ref-inliner.d.ts","sourceRoot":"","sources":["../../src/loaders/ref-inliner.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAIH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,qBAAa,eAAgB,SAAQ,KAAK;aAGtB,GAAG,EAAE,MAAM;aACX,KAAK,CAAC,EAAE,KAAK;gBAF7B,OAAO,EAAE,MAAM,EACC,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,KAAK,YAAA;CAKhC;AAED;;;GAGG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,YAAY,CAAmB;IACvC,OAAO,CAAC,WAAW,CAAc;IACjC,OAAO,CAAC,OAAO,CAAC,CAAS;IACzB,OAAO,CAAC,eAAe,CAAmB;;IAQ1C;;;;;;OAMG;IACH,MAAM,CACJ,IAAI,EAAE,GAAG,EACT,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,GAAG,CAAC,EAC9B,OAAO,GAAE,iBAAsB,GAC9B,GAAG;IA2BN;;;;OAIG;IACH,OAAO,CAAC,SAAS;IAIjB;;;;OAIG;IACH,OAAO,CAAC,UAAU;IAqClB;;;;OAIG;IACH,OAAO,CAAC,gBAAgB;IAoExB;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;IA0B9B;;;;;OAKG;IACH,OAAO,CAAC,iBAAiB;IAUzB;;;;OAIG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAInC;;;;OAIG;IACH,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,GAAG,GAAG,SAAS;CAG7C"}
@@ -11,6 +11,8 @@
11
11
  * - Handles nested refs (ref within ref)
12
12
  * - Deep clones to avoid mutations
13
13
  * - Recursively traverses spec object
14
+ * - Promotes external schema refs to components/schemas
15
+ * - Promotes sibling schemas referenced via internal $ref within promoted schemas
14
16
  */
15
17
  Object.defineProperty(exports, "__esModule", { value: true });
16
18
  exports.RefInliner = exports.RefInlinerError = void 0;
@@ -32,6 +34,7 @@ class RefInliner {
32
34
  constructor() {
33
35
  this.resolvedRefs = new Map();
34
36
  this.refResolver = new ref_resolver_1.RefResolver();
37
+ this.promotedSchemas = new Map();
35
38
  }
36
39
  /**
37
40
  * Inline all external $ref in a spec
@@ -43,10 +46,24 @@ class RefInliner {
43
46
  inline(spec, resolvedRefs, options = {}) {
44
47
  this.resolvedRefs = resolvedRefs;
45
48
  this.baseUrl = options.baseUrl;
49
+ this.promotedSchemas = new Map();
46
50
  // Deep clone to avoid mutating original spec
47
51
  const cloned = this.deepClone(spec);
48
52
  // Recursively inline refs
49
- return this.inlineRefs(cloned);
53
+ const result = this.inlineRefs(cloned);
54
+ // Merge promoted schemas into components/schemas
55
+ if (this.promotedSchemas.size > 0) {
56
+ if (!result.components) {
57
+ result.components = {};
58
+ }
59
+ if (!result.components.schemas) {
60
+ result.components.schemas = {};
61
+ }
62
+ for (const [name, schema] of this.promotedSchemas) {
63
+ result.components.schemas[name] = schema;
64
+ }
65
+ }
66
+ return result;
50
67
  }
51
68
  /**
52
69
  * Deep clone an object using JSON serialization
@@ -98,25 +115,27 @@ class RefInliner {
98
115
  resolveAndInline(ref) {
99
116
  // Split ref into file part and fragment part
100
117
  const [filePart, fragment] = ref.split('#');
101
- // Try to get resolved content
102
- // RefResolver stores content with the original ref as key
103
- let content = this.resolvedRefs.get(ref);
118
+ // Check if this ref points to a named schema that should be promoted
119
+ const schemaName = this.extractSchemaName(fragment);
120
+ // Try to get resolved content (full document)
121
+ let fullDocument = this.resolvedRefs.get(ref);
104
122
  // If not found with full ref, try finding by file part
105
123
  // This handles cases where multiple refs point to same file with different fragments
106
- if (!content && filePart) {
107
- // Look for any key that starts with the file part
124
+ if (!fullDocument && filePart) {
108
125
  for (const [key, value] of this.resolvedRefs.entries()) {
109
126
  const [keyFilePart] = key.split('#');
110
127
  if (keyFilePart === filePart) {
111
- content = value;
128
+ fullDocument = value;
112
129
  break;
113
130
  }
114
131
  }
115
132
  }
116
133
  // If still not found, throw error
117
- if (!content) {
134
+ if (!fullDocument) {
118
135
  throw new RefInlinerError(`Cannot inline ref "${ref}": not found in resolved refs`, ref);
119
136
  }
137
+ // Start with full document content
138
+ let content = fullDocument;
120
139
  // If there's a fragment, resolve it within the document
121
140
  if (fragment) {
122
141
  try {
@@ -129,7 +148,87 @@ class RefInliner {
129
148
  // Clone content to avoid mutations
130
149
  content = this.deepClone(content);
131
150
  // Recursively inline any refs within this content
132
- return this.inlineRefs(content);
151
+ content = this.inlineRefs(content);
152
+ // If this ref points to a named schema, promote it to components/schemas
153
+ // and return an internal $ref instead of inline content
154
+ if (schemaName) {
155
+ if (!this.promotedSchemas.has(schemaName)) {
156
+ this.promotedSchemas.set(schemaName, content);
157
+ // Promote sibling schemas from the same document that are referenced
158
+ // via internal $ref (e.g., #/components/schemas/SiblingSchema)
159
+ this.promoteSiblingSchemas(content, fullDocument);
160
+ }
161
+ return { $ref: `#/components/schemas/${schemaName}` };
162
+ }
163
+ return content;
164
+ }
165
+ /**
166
+ * Find internal schema $ref within promoted content and promote those
167
+ * sibling schemas from the same source document.
168
+ *
169
+ * When a schema from a sub-file is promoted, it may contain internal
170
+ * $ref like #/components/schemas/Sibling that point to other schemas
171
+ * in the same sub-file. Those siblings must also be promoted.
172
+ */
173
+ promoteSiblingSchemas(content, fullDocument) {
174
+ // Find all internal schema refs in the content
175
+ const internalRefs = this.findInternalSchemaRefs(content);
176
+ for (const siblingName of internalRefs) {
177
+ // Skip if already promoted
178
+ if (this.promotedSchemas.has(siblingName)) {
179
+ continue;
180
+ }
181
+ // Try to find the sibling in the source document's components/schemas or definitions
182
+ const siblingSchema = fullDocument?.components?.schemas?.[siblingName] ??
183
+ fullDocument?.definitions?.[siblingName];
184
+ if (siblingSchema) {
185
+ // Clone and inline external refs within the sibling
186
+ let processed = this.deepClone(siblingSchema);
187
+ processed = this.inlineRefs(processed);
188
+ this.promotedSchemas.set(siblingName, processed);
189
+ // Recursively promote siblings of this sibling
190
+ this.promoteSiblingSchemas(processed, fullDocument);
191
+ }
192
+ }
193
+ }
194
+ /**
195
+ * Find all internal $ref pointing to schemas within an object
196
+ * Returns the schema names referenced via #/components/schemas/X or #/definitions/X
197
+ */
198
+ findInternalSchemaRefs(obj) {
199
+ const names = new Set();
200
+ const visit = (current) => {
201
+ if (current === null || typeof current !== 'object') {
202
+ return;
203
+ }
204
+ if (typeof current.$ref === 'string' && current.$ref.startsWith('#')) {
205
+ const name = this.extractSchemaName(current.$ref.substring(1));
206
+ if (name) {
207
+ names.add(name);
208
+ }
209
+ }
210
+ if (Array.isArray(current)) {
211
+ current.forEach(visit);
212
+ }
213
+ else {
214
+ Object.values(current).forEach(visit);
215
+ }
216
+ };
217
+ visit(obj);
218
+ return Array.from(names);
219
+ }
220
+ /**
221
+ * Extract a schema name from a $ref fragment
222
+ * Matches patterns like /components/schemas/Name or /definitions/Name
223
+ * @param fragment The fragment part of the ref (after #)
224
+ * @returns Schema name or null if not a schema ref
225
+ */
226
+ extractSchemaName(fragment) {
227
+ if (!fragment) {
228
+ return null;
229
+ }
230
+ const match = fragment.match(/\/(?:components\/schemas|definitions)\/([^/]+)$/);
231
+ return match ? match[1] : null;
133
232
  }
134
233
  /**
135
234
  * Check if a ref is external (doesn't start with #)
@@ -1 +1 @@
1
- {"version":3,"file":"ref-inliner.js","sourceRoot":"","sources":["../../src/loaders/ref-inliner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ref-inliner.js","sourceRoot":"","sources":["../../src/loaders/ref-inliner.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "klasik",
3
- "version": "2.6.2",
3
+ "version": "2.6.4",
4
4
  "description": "TypeScript code generator from OpenAPI/CRD/JSON Schema/Go structs - rebuilt from ground up with AST-based generation",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",