schemantic 0.3.0 → 0.4.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 (124) hide show
  1. package/CHANGELOG.md +196 -174
  2. package/LICENSE +21 -21
  3. package/README.md +88 -830
  4. package/dist/cli/index.d.ts +4 -1
  5. package/dist/cli/index.d.ts.map +1 -1
  6. package/dist/cli/index.js +185 -61
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/core/configuration.d.ts +6 -0
  9. package/dist/core/configuration.d.ts.map +1 -0
  10. package/dist/core/configuration.js +64 -0
  11. package/dist/core/configuration.js.map +1 -0
  12. package/dist/core/index.d.ts +1 -0
  13. package/dist/core/index.d.ts.map +1 -1
  14. package/dist/core/index.js +1 -0
  15. package/dist/core/index.js.map +1 -1
  16. package/dist/core/output-writer.d.ts +7 -0
  17. package/dist/core/output-writer.d.ts.map +1 -0
  18. package/dist/core/output-writer.js +255 -0
  19. package/dist/core/output-writer.js.map +1 -0
  20. package/dist/core/schemantic.d.ts +8 -2
  21. package/dist/core/schemantic.d.ts.map +1 -1
  22. package/dist/core/schemantic.js +196 -71
  23. package/dist/core/schemantic.js.map +1 -1
  24. package/dist/generators/api-client-generator.d.ts +9 -20
  25. package/dist/generators/api-client-generator.d.ts.map +1 -1
  26. package/dist/generators/api-client-generator.js +364 -424
  27. package/dist/generators/api-client-generator.js.map +1 -1
  28. package/dist/generators/base.d.ts.map +1 -1
  29. package/dist/generators/base.js +7 -25
  30. package/dist/generators/base.js.map +1 -1
  31. package/dist/generators/enum-generator.d.ts.map +1 -1
  32. package/dist/generators/enum-generator.js +30 -3
  33. package/dist/generators/enum-generator.js.map +1 -1
  34. package/dist/generators/hook-generator.d.ts +3 -17
  35. package/dist/generators/hook-generator.d.ts.map +1 -1
  36. package/dist/generators/hook-generator.js +51 -445
  37. package/dist/generators/hook-generator.js.map +1 -1
  38. package/dist/generators/naming.d.ts +10 -0
  39. package/dist/generators/naming.d.ts.map +1 -0
  40. package/dist/generators/naming.js +331 -0
  41. package/dist/generators/naming.js.map +1 -0
  42. package/dist/generators/object-generator.d.ts +0 -4
  43. package/dist/generators/object-generator.d.ts.map +1 -1
  44. package/dist/generators/object-generator.js +13 -101
  45. package/dist/generators/object-generator.js.map +1 -1
  46. package/dist/generators/primitive-generator.d.ts +1 -13
  47. package/dist/generators/primitive-generator.d.ts.map +1 -1
  48. package/dist/generators/primitive-generator.js +11 -76
  49. package/dist/generators/primitive-generator.js.map +1 -1
  50. package/dist/generators/projections.d.ts +10 -0
  51. package/dist/generators/projections.d.ts.map +1 -0
  52. package/dist/generators/projections.js +65 -0
  53. package/dist/generators/projections.js.map +1 -0
  54. package/dist/generators/schema-type.d.ts +23 -0
  55. package/dist/generators/schema-type.d.ts.map +1 -0
  56. package/dist/generators/schema-type.js +233 -0
  57. package/dist/generators/schema-type.js.map +1 -0
  58. package/dist/parsers/base.d.ts +2 -0
  59. package/dist/parsers/base.d.ts.map +1 -1
  60. package/dist/parsers/base.js +12 -2
  61. package/dist/parsers/base.js.map +1 -1
  62. package/dist/parsers/factory.d.ts.map +1 -1
  63. package/dist/parsers/factory.js +2 -1
  64. package/dist/parsers/factory.js.map +1 -1
  65. package/dist/parsers/openapi.d.ts +4 -0
  66. package/dist/parsers/openapi.d.ts.map +1 -1
  67. package/dist/parsers/openapi.js +107 -20
  68. package/dist/parsers/openapi.js.map +1 -1
  69. package/dist/plugins/branded-types.d.ts.map +1 -1
  70. package/dist/plugins/branded-types.js +231 -365
  71. package/dist/plugins/branded-types.js.map +1 -1
  72. package/dist/plugins/builtin.d.ts.map +1 -1
  73. package/dist/plugins/builtin.js +6 -141
  74. package/dist/plugins/builtin.js.map +1 -1
  75. package/dist/plugins/index.d.ts +4 -0
  76. package/dist/plugins/index.d.ts.map +1 -1
  77. package/dist/plugins/index.js +17 -0
  78. package/dist/plugins/index.js.map +1 -1
  79. package/dist/plugins/loader.d.ts +5 -1
  80. package/dist/plugins/loader.d.ts.map +1 -1
  81. package/dist/plugins/loader.js +42 -5
  82. package/dist/plugins/loader.js.map +1 -1
  83. package/dist/plugins/manager.d.ts.map +1 -1
  84. package/dist/plugins/manager.js +7 -7
  85. package/dist/plugins/manager.js.map +1 -1
  86. package/dist/plugins/performance-monitoring.d.ts +31 -1
  87. package/dist/plugins/performance-monitoring.d.ts.map +1 -1
  88. package/dist/plugins/performance-monitoring.js +146 -207
  89. package/dist/plugins/performance-monitoring.js.map +1 -1
  90. package/dist/plugins/request-deduplication.d.ts.map +1 -1
  91. package/dist/plugins/request-deduplication.js +151 -586
  92. package/dist/plugins/request-deduplication.js.map +1 -1
  93. package/dist/plugins/zod-validation.d.ts +23 -15
  94. package/dist/plugins/zod-validation.d.ts.map +1 -1
  95. package/dist/plugins/zod-validation.js +390 -268
  96. package/dist/plugins/zod-validation.js.map +1 -1
  97. package/dist/types/core.d.ts +20 -3
  98. package/dist/types/core.d.ts.map +1 -1
  99. package/dist/types/core.js +2 -0
  100. package/dist/types/core.js.map +1 -1
  101. package/dist/types/openapi.d.ts +14 -1
  102. package/dist/types/openapi.d.ts.map +1 -1
  103. package/docs/ADVANCED_PLUGINS_IMPLEMENTATION.md +24 -355
  104. package/docs/ADVANCED_PLUGIN_DEVELOPMENT.md +33 -309
  105. package/docs/API.md +80 -601
  106. package/docs/AUDIT.md +49 -0
  107. package/docs/CONFIGURATION.md +81 -715
  108. package/docs/FASTAPI_TUTORIAL.md +109 -1497
  109. package/docs/NAMING_MIGRATION.md +59 -0
  110. package/docs/PLUGINS.md +49 -687
  111. package/docs/PLUGIN_DEVELOPMENT.md +53 -720
  112. package/docs/REAUDIT.md +399 -0
  113. package/docs/RELEASING.md +88 -0
  114. package/docs/REMEDIATION.md +58 -0
  115. package/docs/superpowers/plans/2026-10-10-audit-remediation.md +113 -0
  116. package/package.json +114 -95
  117. package/dist/__tests__/setup.d.ts +0 -6
  118. package/dist/__tests__/setup.d.ts.map +0 -1
  119. package/dist/__tests__/setup.js +0 -30
  120. package/dist/__tests__/setup.js.map +0 -1
  121. package/dist/__tests__/test-config.d.ts +0 -36
  122. package/dist/__tests__/test-config.d.ts.map +0 -1
  123. package/dist/__tests__/test-config.js +0 -562
  124. package/dist/__tests__/test-config.js.map +0 -1
@@ -0,0 +1,331 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.propertyName = propertyName;
37
+ exports.renameSchemaProperties = renameSchemaProperties;
38
+ exports.generateConversionFile = generateConversionFile;
39
+ const path = __importStar(require("path"));
40
+ const schema_type_1 = require("./schema-type");
41
+ // Emit literal source rather than Function.toString(), which can contain coverage instrumentation.
42
+ const propertyFormatterBody = String.raw `
43
+ if (mode === 'preserve') return wireName;
44
+ const tokens = wireName.replace(/([a-z0-9])([A-Z])/g, '$1 $2')
45
+ .replace(/([A-Z]+)([A-Z][a-z])/g, '$1 $2').split(/[^A-Za-z0-9]+/).filter(Boolean);
46
+ const result = tokens.map((token, index) => {
47
+ const normalized = token.toLowerCase();
48
+ return index ? normalized.charAt(0).toUpperCase() + normalized.slice(1) : normalized;
49
+ }).join('') || 'property';
50
+ return /^\d/.test(result) ? '_' + result : result;
51
+ `;
52
+ const formatProperty = new Function('wireName', 'mode', propertyFormatterBody);
53
+ /** One formatter is shared by schema declarations and generated boundary conversion. */
54
+ function propertyName(wireName, mode = 'camelCase') {
55
+ return formatProperty(wireName, mode);
56
+ }
57
+ function resolvePointer(document, ref) {
58
+ if (!ref.startsWith('#/'))
59
+ return undefined;
60
+ let value = document;
61
+ for (const token of ref.slice(2).split('/')) {
62
+ const key = decodeURIComponent(token).replace(/~1/g, '/').replace(/~0/g, '~');
63
+ if (!value || typeof value !== 'object' || !Object.prototype.hasOwnProperty.call(value, key))
64
+ return undefined;
65
+ value = value[key];
66
+ }
67
+ return value;
68
+ }
69
+ function renamePointer(ref, mode) {
70
+ if (!ref.startsWith('#/'))
71
+ return ref;
72
+ const tokens = ref.slice(2).split('/').map(token => decodeURIComponent(token).replace(/~1/g, '/').replace(/~0/g, '~'));
73
+ return '#/' + tokens.map((token, index) => {
74
+ const name = index && tokens[index - 1] === 'properties' ? propertyName(token, mode) : token;
75
+ return encodeURIComponent(name.replace(/~/g, '~0').replace(/\//g, '~1'));
76
+ }).join('/');
77
+ }
78
+ /** Rename only Schema Object declarations, leaving wire parameters and payload examples intact. */
79
+ function renameSchemaProperties(schema, mode) {
80
+ const result = structuredClone(schema);
81
+ if (mode === 'preserve')
82
+ return result;
83
+ const assertNames = (value, location, names = new Map(), refs = new Set()) => {
84
+ if (!value || typeof value !== 'object')
85
+ return;
86
+ const object = value;
87
+ if (typeof object.$ref === 'string' && !refs.has(object.$ref)) {
88
+ assertNames(resolvePointer(schema, object.$ref), location, names, new Set([...refs, object.$ref]));
89
+ }
90
+ for (const wireName of Object.keys(object.properties || {})) {
91
+ const applicationName = propertyName(wireName, mode);
92
+ const previous = names.get(applicationName);
93
+ if (previous !== undefined && previous !== wireName)
94
+ throw new Error(`Property naming collision at ${location}: ${previous} and ${wireName} both become ${applicationName}`);
95
+ names.set(applicationName, wireName);
96
+ }
97
+ for (const branch of object.allOf || [])
98
+ assertNames(branch, location, names, refs);
99
+ // Alternatives remain distinct, but each inherits the enclosing object's declared fields.
100
+ for (const branch of [...(object.anyOf || []), ...(object.oneOf || [])])
101
+ assertNames(branch, location, new Map(names), refs);
102
+ };
103
+ const rename = (value, location) => {
104
+ if (!value || typeof value !== 'object' || Array.isArray(value))
105
+ return value;
106
+ const object = value;
107
+ assertNames(object, location);
108
+ if (typeof object.$ref === 'string')
109
+ object.$ref = renamePointer(object.$ref, mode);
110
+ if (object.properties)
111
+ object.properties = Object.fromEntries(Object.entries(object.properties)
112
+ .map(([name, child]) => [propertyName(name, mode), rename(child, `${location}.properties.${name}`)]));
113
+ if (object.required)
114
+ object.required = object.required.map(name => propertyName(name, mode));
115
+ if (object.discriminator) {
116
+ object.discriminator.propertyName = propertyName(object.discriminator.propertyName, mode);
117
+ if (object.discriminator.mapping)
118
+ object.discriminator.mapping = Object.fromEntries(Object.entries(object.discriminator.mapping)
119
+ .map(([name, ref]) => [name, renamePointer(ref, mode)]));
120
+ }
121
+ for (const keyword of ['items', 'additionalProperties', 'not', 'if', 'then', 'else', 'contains', 'propertyNames', 'unevaluatedProperties', 'unevaluatedItems']) {
122
+ if (object[keyword] && typeof object[keyword] === 'object')
123
+ object[keyword] = rename(object[keyword], `${location}.${keyword}`);
124
+ }
125
+ for (const keyword of ['allOf', 'anyOf', 'oneOf', 'prefixItems']) {
126
+ if (Array.isArray(object[keyword]))
127
+ object[keyword] = object[keyword].map((child, index) => rename(child, `${location}.${keyword}[${index}]`));
128
+ }
129
+ for (const keyword of ['$defs', 'definitions', 'patternProperties', 'dependentSchemas']) {
130
+ if (object[keyword] && typeof object[keyword] === 'object')
131
+ object[keyword] = Object.fromEntries(Object.entries(object[keyword])
132
+ .map(([name, child]) => [name, rename(child, `${location}.${keyword}.${name}`)]));
133
+ }
134
+ return object;
135
+ };
136
+ const visit = (value, location) => {
137
+ if (!value || typeof value !== 'object')
138
+ return;
139
+ const object = value;
140
+ for (const [name, child] of Object.entries(object)) {
141
+ const childLocation = location ? `${location}.${name}` : name;
142
+ if (name === 'schema')
143
+ object[name] = rename(child, childLocation);
144
+ else if (name === 'schemas' && child && typeof child === 'object')
145
+ object[name] = Object.fromEntries(Object.entries(child)
146
+ .map(([key, entry]) => [key, rename(entry, `${childLocation}.${key}`)]));
147
+ else if (!['example', 'examples', 'default', 'enum', 'const'].includes(name))
148
+ visit(child, childLocation);
149
+ }
150
+ };
151
+ visit(result, '');
152
+ return result;
153
+ }
154
+ // The interpreter is self-contained in generated packages and has no runtime library dependency.
155
+ const conversionRuntime = String.raw `
156
+ type SchemaRecord = Record<string, unknown>;
157
+ function record(value: unknown): value is SchemaRecord {
158
+ if (value === null || typeof value !== 'object' || Array.isArray(value)) return false;
159
+ const prototype: unknown = Object.getPrototypeOf(value);
160
+ return prototype === null || (Object.getPrototypeOf(prototype) === null
161
+ && Object.prototype.toString.call(value) === '[object Object]');
162
+ }
163
+ function resolveSchema(ref: string): unknown {
164
+ if (!ref.startsWith('#/')) throw new Error('Unsupported conversion schema reference: ' + ref);
165
+ let value: unknown = wireDocument;
166
+ for (const token of ref.slice(2).split('/')) {
167
+ const key = decodeURIComponent(token).replace(/~1/g, '/').replace(/~0/g, '~');
168
+ if (!record(value) || !Object.prototype.hasOwnProperty.call(value, key)) throw new Error('Unresolved conversion schema reference: ' + ref);
169
+ value = value[key];
170
+ }
171
+ return value;
172
+ }
173
+ function sourceName(wireName: string, encode: boolean): string { return encode ? appName(wireName) : wireName; }
174
+ function matches(value: unknown, schema: unknown, encode: boolean, refs = new Set<string>()): boolean {
175
+ if (schema === false) return false;
176
+ if (!record(schema)) return true;
177
+ if (typeof schema.$ref === 'string' && !refs.has(schema.$ref)
178
+ && !matches(value, resolveSchema(schema.$ref), encode, new Set([...refs, schema.$ref]))) return false;
179
+ if (schema.const !== undefined && JSON.stringify(value) !== JSON.stringify(schema.const)) return false;
180
+ if (Array.isArray(schema.enum) && !schema.enum.some(entry => JSON.stringify(value) === JSON.stringify(entry))) return false;
181
+ if (value === null && schema.nullable === true) return true;
182
+ const typeMatches = (type: unknown): boolean => type === 'null' ? value === null : type === 'object' ? record(value)
183
+ : type === 'array' ? Array.isArray(value) : type === 'integer' ? typeof value === 'number' && Number.isInteger(value)
184
+ : type === 'number' ? typeof value === 'number' : type === 'string' ? schema['x-schemantic-binary'] === true
185
+ ? /\[object (?:Blob|File)\]/.test(Object.prototype.toString.call(value)) : typeof value === 'string'
186
+ : type === 'boolean' ? typeof value === 'boolean' : true;
187
+ if (Array.isArray(schema.type) ? !schema.type.some(typeMatches) : schema.type && !typeMatches(schema.type)) return false;
188
+ if (Array.isArray(schema.allOf) && !schema.allOf.every(branch => matches(value, branch, encode, refs))) return false;
189
+ for (const keyword of ['oneOf', 'anyOf']) if (Array.isArray(schema[keyword])
190
+ && !(schema[keyword] as unknown[]).some(branch => matches(value, branch, encode, refs))) return false;
191
+ if (record(value)) {
192
+ if (Array.isArray(schema.required) && schema.required.some(name => typeof name === 'string'
193
+ && !Object.prototype.hasOwnProperty.call(value, sourceName(name, encode)))) return false;
194
+ if (record(schema.properties)) for (const [name, child] of Object.entries(schema.properties)) {
195
+ const key = sourceName(name, encode);
196
+ if (Object.prototype.hasOwnProperty.call(value, key) && !matches(value[key], child, encode, refs)) return false;
197
+ }
198
+ }
199
+ return true;
200
+ }
201
+ function sameValue(left: unknown, right: unknown): boolean {
202
+ if (Object.is(left, right)) return true;
203
+ if (Array.isArray(left) && Array.isArray(right)) return left.length === right.length && left.every((value, index) => sameValue(value, right[index]));
204
+ if (!record(left) || !record(right)) return false;
205
+ const keys = Object.keys(left);
206
+ return keys.length === Object.keys(right).length && keys.every(key => Object.prototype.hasOwnProperty.call(right, key) && sameValue(left[key], right[key]));
207
+ }
208
+ function structuralScore(value: unknown, schema: unknown, encode: boolean, refs = new Set<string>()): number {
209
+ if (!record(value) || !record(schema)) return 0;
210
+ let score = 0;
211
+ if (typeof schema.$ref === 'string' && !refs.has(schema.$ref)) score += structuralScore(value, resolveSchema(schema.$ref), encode, new Set([...refs, schema.$ref]));
212
+ if (record(schema.properties)) score += Object.keys(schema.properties).filter(name => Object.prototype.hasOwnProperty.call(value, sourceName(name, encode))).length;
213
+ if (Array.isArray(schema.allOf)) score += schema.allOf.reduce<number>((sum, branch) => sum + structuralScore(value, branch, encode, refs), 0);
214
+ return score;
215
+ }
216
+ function chooseUnion(value: unknown, schema: SchemaRecord, branches: unknown[], encode: boolean): unknown {
217
+ if (record(value) && record(schema.discriminator) && typeof schema.discriminator.propertyName === 'string') {
218
+ const discriminator = value[sourceName(schema.discriminator.propertyName, encode)];
219
+ if (typeof discriminator === 'string' && record(schema.discriminator.mapping)) {
220
+ const ref = schema.discriminator.mapping[discriminator];
221
+ if (typeof ref === 'string') {
222
+ const document = record(wireDocument) ? wireDocument : {};
223
+ const components = record(document.components) ? document.components : {};
224
+ const definitions = record(components.schemas) ? components.schemas : {};
225
+ const target = !ref.startsWith('#/') && Object.prototype.hasOwnProperty.call(definitions, ref)
226
+ ? '#/components/schemas/' + encodeURIComponent(ref.replace(/~/g, '~0').replace(/\//g, '~1')) : ref;
227
+ const branch = branches.find(candidate => record(candidate) && candidate.$ref === target);
228
+ if (branch !== undefined) return branch;
229
+ return { $ref: target };
230
+ }
231
+ }
232
+ }
233
+ const matching = branches.filter(branch => matches(value, branch, encode));
234
+ if (!matching.length) throw new Error('No union variant matches the payload for schema-aware conversion');
235
+ const scores = matching.map(branch => structuralScore(value, branch, encode));
236
+ const maximum = Math.max(...scores);
237
+ const candidates = matching.filter((_, index) => scores[index] === maximum);
238
+ if (candidates.length === 1) return candidates[0];
239
+ const converted = candidates.map(branch => convert(value, branch, encode, new WeakSet<object>()));
240
+ if (converted.every(result => sameValue(result, converted[0]))) return candidates[0];
241
+ throw new Error('Ambiguous union conversion: multiple matching variants rename the payload differently; provide a discriminator');
242
+ }
243
+ function schemaNodes(schema: unknown, value: unknown, encode: boolean, refs = new Set<string>()): SchemaRecord[] {
244
+ if (schema === false) throw new Error('Cannot convert a value against a false schema');
245
+ if (!record(schema)) return [];
246
+ const nodes: SchemaRecord[] = [schema];
247
+ if (typeof schema.$ref === 'string') {
248
+ if (refs.has(schema.$ref)) throw new Error('Circular alias schema reference in conversion: ' + schema.$ref);
249
+ nodes.push(...schemaNodes(resolveSchema(schema.$ref), value, encode, new Set([...refs, schema.$ref])));
250
+ }
251
+ if (Array.isArray(schema.allOf)) for (const branch of schema.allOf) nodes.push(...schemaNodes(branch, value, encode, refs));
252
+ for (const keyword of ['oneOf', 'anyOf']) if (Array.isArray(schema[keyword])) nodes.push(...schemaNodes(chooseUnion(value, schema, schema[keyword] as unknown[], encode), value, encode, refs));
253
+ return nodes;
254
+ }
255
+ function convert(value: unknown, schema: unknown, encode: boolean, active: WeakSet<object>): unknown {
256
+ if (value === null || value === undefined || (!Array.isArray(value) && !record(value))) return value;
257
+ if (active.has(value)) throw new Error('Cyclic payload is unsupported by schema-aware conversion');
258
+ active.add(value);
259
+ try {
260
+ const nodes = schemaNodes(schema, value, encode);
261
+ if (Array.isArray(value)) {
262
+ const items = nodes.filter(node => node.items !== undefined).map(node => node.items);
263
+ return items.length ? value.map(item => convert(item, { allOf: items }, encode, active)) : value.slice();
264
+ }
265
+ const properties = new Map<string, { wireName: string; schemas: unknown[] }>();
266
+ const names = new Map<string, string>();
267
+ const additional: unknown[] = [];
268
+ for (const node of nodes) {
269
+ if (record(node.properties)) for (const [wireName, child] of Object.entries(node.properties)) {
270
+ const applicationName = appName(wireName);
271
+ const previous = names.get(applicationName);
272
+ if (previous !== undefined && previous !== wireName) throw new Error('Property naming collision in conversion: ' + previous + ' and ' + wireName);
273
+ names.set(applicationName, wireName);
274
+ const key = sourceName(wireName, encode);
275
+ const existing = properties.get(key);
276
+ if (existing) existing.schemas.push(child); else properties.set(key, { wireName, schemas: [child] });
277
+ }
278
+ if (record(node.additionalProperties)) additional.push(node.additionalProperties);
279
+ }
280
+ const result: SchemaRecord = {};
281
+ for (const [key, entry] of Object.entries(value)) {
282
+ const declared = properties.get(key);
283
+ const target = declared ? encode ? declared.wireName : appName(declared.wireName) : key;
284
+ if (Object.prototype.hasOwnProperty.call(result, target)) throw new Error('Payload key collision during conversion: ' + key + ' becomes ' + target);
285
+ const converted = declared ? convert(entry, { allOf: declared.schemas }, encode, active)
286
+ : additional.length ? convert(entry, { allOf: additional }, encode, active) : entry;
287
+ Object.defineProperty(result, target, { value: converted, enumerable: true, writable: true, configurable: true });
288
+ }
289
+ return result;
290
+ } finally { active.delete(value); }
291
+ }
292
+ export function serializeValue(value: unknown, schema: unknown): unknown {
293
+ return preserveNames ? value : convert(value, schema, true, new WeakSet<object>());
294
+ }
295
+ export function deserializeValue(value: unknown, schema: unknown): unknown {
296
+ return preserveNames ? value : convert(value, schema, false, new WeakSet<object>());
297
+ }
298
+ `;
299
+ /** Emit portable converters using the original wire registry, including local pointer references. */
300
+ function generateConversionFile(context, wireSchema) {
301
+ const mode = context.config.propertyNaming ?? 'camelCase';
302
+ renameSchemaProperties(wireSchema, mode); // Validate naming collisions before producing output.
303
+ const names = Object.keys(wireSchema.components?.schemas || {}).map(name => ({ wireName: name,
304
+ name: (0, schema_type_1.typeName)(name, context.config.typePrefix, context.config.typeSuffix) }))
305
+ .filter(entry => context.generatedTypes.has(entry.name) || context.typeRegistry.getType(entry.name));
306
+ const exports = new Set(['serializeValue', 'deserializeValue']);
307
+ for (const entry of names)
308
+ for (const prefix of ['serialize', 'deserialize']) {
309
+ const name = prefix + entry.name;
310
+ if (exports.has(name))
311
+ throw new Error('Conversion export naming collision: ' + name);
312
+ exports.add(name);
313
+ }
314
+ const imports = names.length ? "import type * as SchemaTypes from './types.js';\n\n" : '';
315
+ let content = imports + '// Schema-aware wire conversion. This converts names; it does not validate payloads.\n'
316
+ + 'const wireDocument: unknown = JSON.parse(' + JSON.stringify(JSON.stringify(wireSchema)) + ');\n'
317
+ + 'const preserveNames: boolean = ' + String(mode === 'preserve') + ';\n'
318
+ + "const appName = (wireName: string, mode: 'camelCase' | 'preserve' = 'camelCase'): string => {\n" + propertyFormatterBody + '};\n'
319
+ + conversionRuntime;
320
+ for (const entry of names) {
321
+ const ref = '#/components/schemas/' + encodeURIComponent(entry.wireName.replace(/~/g, '~0').replace(/\//g, '~1'));
322
+ const literal = JSON.stringify({ $ref: ref });
323
+ content += '\nexport function serialize' + entry.name + '(value: SchemaTypes.' + entry.name + '): unknown {\n'
324
+ + ' return serializeValue(value, ' + literal + ');\n}\n'
325
+ + 'export function deserialize' + entry.name + '(value: unknown): SchemaTypes.' + entry.name + ' {\n'
326
+ + ' return deserializeValue(value, ' + literal + ') as SchemaTypes.' + entry.name + ';\n}\n';
327
+ }
328
+ return { path: path.join(context.config.outputDir, 'conversion.ts'), content, type: 'type',
329
+ dependencies: names.length ? ['./types.js'] : [], size: Buffer.byteLength(content, 'utf8') };
330
+ }
331
+ //# sourceMappingURL=naming.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"naming.js","sourceRoot":"","sources":["../../src/generators/naming.ts"],"names":[],"mappings":"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"}
@@ -36,10 +36,6 @@ export declare class ObjectTypeGenerator extends BaseTypeGenerator {
36
36
  * Generate property type
37
37
  */
38
38
  private generatePropertyType;
39
- /**
40
- * Generate enum type
41
- */
42
- private generateEnumType;
43
39
  /**
44
40
  * Get type name from schema
45
41
  */
@@ -1 +1 @@
1
- {"version":3,"file":"object-generator.d.ts","sourceRoot":"","sources":["../../src/generators/object-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAyB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAElE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;gBAC5C,OAAO,EAAE,qBAAqB;IAI1C,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa;IAoD3E,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IAW1C,WAAW,IAAI,MAAM;IAIrB,WAAW;;;;;;;IAWX;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2EzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+G5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAKxB;;OAEG;IACH,OAAO,CAAC,WAAW;CAkCpB"}
1
+ {"version":3,"file":"object-generator.d.ts","sourceRoot":"","sources":["../../src/generators/object-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAyB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAGlE;;GAEG;AACH,qBAAa,mBAAoB,SAAQ,iBAAiB;gBAC5C,OAAO,EAAE,qBAAqB;IAI1C,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa;IAoC3E,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IAW1C,WAAW,IAAI,MAAM;IAIrB,WAAW;;;;;;;IAWX;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA2EzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;OAEG;IACH,OAAO,CAAC,WAAW;CAkCpB"}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.ObjectTypeGenerator = void 0;
8
8
  const schema_1 = require("../types/schema");
9
9
  const base_1 = require("./base");
10
+ const schema_type_1 = require("./schema-type");
10
11
  /**
11
12
  * Object type generator implementation
12
13
  */
@@ -20,23 +21,11 @@ class ObjectTypeGenerator extends base_1.BaseTypeGenerator {
20
21
  }
21
22
  const typeName = this.getTypeName(schema, context);
22
23
  const dependencies = [];
23
- // If schema is a pure union (oneOf/anyOf) without own properties, emit a type alias
24
- if ((schema.oneOf && schema.oneOf.length > 0) ||
25
- (schema.anyOf && schema.anyOf.length > 0)) {
26
- const unionSchemas = [...(schema.oneOf || []), ...(schema.anyOf || [])];
27
- const unionTypes = unionSchemas.map((s) => this.generatePropertyType(s, context, dependencies));
28
- const content = `export type ${typeName} = ${unionTypes.join(" | ")};\n`;
29
- const imports = this.generateImports();
30
- return {
31
- name: typeName,
32
- content: imports + content,
33
- dependencies,
34
- exports: [typeName],
35
- isInterface: false,
36
- isEnum: false,
37
- isUnion: true,
38
- sourceSchema: schema,
39
- };
24
+ if (schema.oneOf?.length || schema.anyOf?.length || schema.allOf?.length || schema.nullable || Array.isArray(schema.type) || schema.additionalProperties !== undefined || !schema.properties) {
25
+ const expression = this.generatePropertyType(schema, context, dependencies);
26
+ return { name: typeName, content: 'export type ' + typeName + ' = ' + expression + ';\n',
27
+ dependencies, exports: [typeName], isInterface: false, isEnum: false,
28
+ isUnion: !!(schema.oneOf || schema.anyOf), sourceSchema: schema };
40
29
  }
41
30
  // Generate interface content (supports allOf merging/extends)
42
31
  const content = this.generateInterface(schema, context, dependencies);
@@ -158,7 +147,7 @@ class ObjectTypeGenerator extends base_1.BaseTypeGenerator {
158
147
  }
159
148
  const type = this.generatePropertyType(propertySchema, context, dependencies);
160
149
  const optionalType = this.wrapOptional(type, isOptional);
161
- const formattedName = this.convertName(propertyName);
150
+ const formattedName = (0, schema_type_1.propertyKey)(propertyName);
162
151
  property += `${formattedName}${isOptional ? "?" : ""}: ${optionalType};`;
163
152
  return property;
164
153
  }
@@ -166,89 +155,12 @@ class ObjectTypeGenerator extends base_1.BaseTypeGenerator {
166
155
  * Generate property type
167
156
  */
168
157
  generatePropertyType(schema, context, dependencies) {
169
- // Handle references
170
- if ("$ref" in schema && schema.$ref) {
171
- const baseType = this.extractTypeNameFromRef(schema.$ref);
172
- const refType = this.formatTypeName(baseType);
173
- if (dependencies && !dependencies.includes(refType)) {
174
- dependencies.push(refType);
175
- }
176
- return refType;
177
- }
178
- if (!(0, schema_1.isOpenAPISchemaObject)(schema)) {
179
- return "unknown";
180
- }
181
- // Handle arrays
182
- if (schema.type === "array") {
183
- const itemType = schema.items
184
- ? this.generatePropertyType(schema.items, context, dependencies)
185
- : "unknown";
186
- return `${itemType}[]`;
187
- }
188
- // Handle unions (oneOf, anyOf)
189
- if (schema.oneOf || schema.anyOf) {
190
- const unionSchemas = [...(schema.oneOf || []), ...(schema.anyOf || [])];
191
- const unionTypes = unionSchemas.map((s) => this.generatePropertyType(s, context, dependencies));
192
- return unionTypes.join(" | ");
193
- }
194
- // Handle intersections (allOf)
195
- if (schema.allOf) {
196
- // Prefer merging/extends at interface level; as a property type use intersection
197
- const intersectionTypes = schema.allOf.map((s) => this.generatePropertyType(s, context, dependencies));
198
- return intersectionTypes.join(" & ");
199
- }
200
- // Handle object inline typing and dictionaries
201
- if (schema.type === "object") {
202
- const hasProps = !!schema.properties && Object.keys(schema.properties).length > 0;
203
- if (hasProps) {
204
- const lines = [];
205
- for (const [propName, propSchema] of Object.entries(schema.properties)) {
206
- const isOpt = this.isOptional(schema.required, propName);
207
- const t = this.generatePropertyType(propSchema, context, dependencies);
208
- const formatted = this.convertName(propName);
209
- // When emitting inline object body, do not append undefined type inside the object; use '?' only
210
- const propType = isOpt ? t : t;
211
- lines.push(`${formatted}${isOpt ? "?" : ""}: ${propType};`);
212
- }
213
- return `{
214
- ${lines.join("\n ")}
215
- }`;
216
- }
217
- // Dictionary/object map via additionalProperties
218
- if (schema.additionalProperties !== undefined) {
219
- if (schema.additionalProperties === true) {
220
- return "Record<string, unknown>";
221
- }
222
- if (schema.additionalProperties &&
223
- typeof schema.additionalProperties === "object") {
224
- const valueType = this.generatePropertyType(schema.additionalProperties, context, dependencies);
225
- return `Record<string, ${valueType}>`;
226
- }
227
- }
228
- // Fallback for generic object
229
- return "Record<string, unknown>";
230
- }
231
- // Handle basic types
232
- if (schema.type) {
233
- return this.mapSchemaTypeToTypeScript(schema.type, schema.format);
234
- }
235
- // Handle enums
236
- if (schema.enum) {
237
- return this.generateEnumType(schema.enum);
238
- }
239
- // Handle const
240
- if (schema.const !== undefined) {
241
- return JSON.stringify(schema.const);
242
- }
243
- // Default fallback
244
- return "unknown";
245
- }
246
- /**
247
- * Generate enum type
248
- */
249
- generateEnumType(enumValues) {
250
- const stringValues = enumValues.map((val) => JSON.stringify(val));
251
- return stringValues.join(" | ");
158
+ return (0, schema_type_1.schemaType)(schema, ref => {
159
+ const name = this.formatTypeName(this.extractTypeNameFromRef(ref));
160
+ if (dependencies && !dependencies.includes(name))
161
+ dependencies.push(name);
162
+ return name;
163
+ }, this.options.customTypeMappings, context?.schemaResolver);
252
164
  }
253
165
  /**
254
166
  * Get type name from schema
@@ -1 +1 @@
1
- {"version":3,"file":"object-generator.js","sourceRoot":"","sources":["../../src/generators/object-generator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"object-generator.js","sourceRoot":"","sources":["../../src/generators/object-generator.ts"],"names":[],"mappings":"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"}
@@ -11,7 +11,7 @@ import { BaseTypeGenerator, TypeGenerationOptions } from "./base";
11
11
  export declare class PrimitiveTypeGenerator extends BaseTypeGenerator {
12
12
  constructor(options: TypeGenerationOptions);
13
13
  generate(schema: ResolvedSchema, context: GenerationContext): GeneratedType;
14
- canHandle(schema: ResolvedSchema): boolean;
14
+ canHandle(_schema: ResolvedSchema): boolean;
15
15
  getPriority(): number;
16
16
  getMetadata(): {
17
17
  name: string;
@@ -20,18 +20,6 @@ export declare class PrimitiveTypeGenerator extends BaseTypeGenerator {
20
20
  supportedTypes: string[];
21
21
  supportedFormats: string[];
22
22
  };
23
- /**
24
- * Generate type alias
25
- */
26
- private generateTypeAlias;
27
- /**
28
- * Generate TypeScript type from schema
29
- */
30
- private generateType;
31
- /**
32
- * Check if schema is a primitive type
33
- */
34
- private isPrimitiveSchema;
35
23
  /**
36
24
  * Get type name from schema
37
25
  */
@@ -1 +1 @@
1
- {"version":3,"file":"primitive-generator.d.ts","sourceRoot":"","sources":["../../src/generators/primitive-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAyB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAElE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB;gBAC/C,OAAO,EAAE,qBAAqB;IAI1C,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa;IA8B3E,SAAS,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO;IA+B1C,WAAW,IAAI,MAAM;IAIrB,WAAW;;;;;;;IAUX;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;IACH,OAAO,CAAC,YAAY;IA0BpB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAoBzB;;OAEG;IACH,OAAO,CAAC,WAAW;CAkCpB"}
1
+ {"version":3,"file":"primitive-generator.d.ts","sourceRoot":"","sources":["../../src/generators/primitive-generator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,cAAc,EAAyB,MAAM,iBAAiB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAGlE;;GAEG;AACH,qBAAa,sBAAuB,SAAQ,iBAAiB;gBAC/C,OAAO,EAAE,qBAAqB;IAI1C,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,iBAAiB,GAAG,aAAa;IAkC3E,SAAS,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO;IAE3C,WAAW,IAAI,MAAM;IAIrB,WAAW;;;;;;;IAUX;;OAEG;IACH,OAAO,CAAC,WAAW;CAkCpB"}