@skmtc/core 0.0.794 → 0.0.796

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.
@@ -8,84 +8,417 @@ import type { CustomValue } from './CustomValue.js';
8
8
  import type { OasVoid } from '../oas/void/Void.js';
9
9
  import type { GeneratorKey } from './GeneratorKeys.js';
10
10
  import type { RefName } from './RefName.js';
11
+ /**
12
+ * Union type representing all possible type system values in the SKMTC code generation system.
13
+ *
14
+ * The `TypeSystemValue` represents the normalized intermediate representation used by SKMTC
15
+ * to convert OpenAPI schemas into target language types. This type system abstracts away
16
+ * OpenAPI-specific details and provides a consistent interface for generating code in
17
+ * different target languages and frameworks.
18
+ *
19
+ * ## Type Categories
20
+ *
21
+ * - **Primitive Types**: `string`, `number`, `integer`, `boolean`, `null`
22
+ * - **Complex Types**: `array`, `object`, `union`
23
+ * - **Special Types**: `void`, `never`, `unknown`, `custom`
24
+ * - **Reference Types**: `ref` for schema references
25
+ *
26
+ * @example Discriminated union usage
27
+ * ```typescript
28
+ * import { TypeSystemValue } from '@skmtc/core';
29
+ *
30
+ * function processType(type: TypeSystemValue): string {
31
+ * switch (type.type) {
32
+ * case 'string':
33
+ * return `string${type.modifiers.optional ? '?' : ''}`;
34
+ * case 'array':
35
+ * return `${processType(type.items)}[]`;
36
+ * case 'object':
37
+ * return 'object';
38
+ * case 'ref':
39
+ * return type.name;
40
+ * default:
41
+ * return type.type;
42
+ * }
43
+ * }
44
+ * ```
45
+ *
46
+ * @example In generator contexts
47
+ * ```typescript
48
+ * class TypeScriptGenerator {
49
+ * generateType(typeValue: TypeSystemValue): string {
50
+ * if (typeValue.type === 'union') {
51
+ * return typeValue.members
52
+ * .map(member => this.generateType(member))
53
+ * .join(' | ');
54
+ * }
55
+ *
56
+ * if (typeValue.type === 'array') {
57
+ * return `${this.generateType(typeValue.items)}[]`;
58
+ * }
59
+ *
60
+ * // Handle other types...
61
+ * return typeValue.type;
62
+ * }
63
+ * }
64
+ * ```
65
+ */
11
66
  export type TypeSystemValue = TypeSystemArray | TypeSystemObject | TypeSystemUnion | TypeSystemString | TypeSystemNumber | TypeSystemInteger | TypeSystemBoolean | TypeSystemUnknown | TypeSystemVoid | TypeSystemNever | TypeSystemRef | TypeSystemNull | TypeSystemCustom;
67
+ /**
68
+ * Type system representation of a reference to another schema.
69
+ *
70
+ * `TypeSystemRef` represents references to other schemas, typically used for
71
+ * complex types that are defined elsewhere in the schema and referenced
72
+ * through `$ref` in OpenAPI specifications.
73
+ *
74
+ * @example
75
+ * ```typescript
76
+ * const userRef: TypeSystemRef = {
77
+ * type: 'ref',
78
+ * name: 'User',
79
+ * modifiers: { optional: false, nullable: false },
80
+ * generatorKey: 'model|User'
81
+ * };
82
+ * ```
83
+ */
12
84
  export type TypeSystemRef = {
85
+ /** Discriminator for the reference type */
13
86
  type: 'ref';
87
+ /** The name of the referenced schema */
14
88
  name: string;
89
+ /** Type modifiers (optional, nullable, etc.) */
15
90
  modifiers: Modifiers;
91
+ /** Optional generator-specific key for tracking */
16
92
  generatorKey?: GeneratorKey;
17
93
  };
94
+ /**
95
+ * Type system representation for custom, generator-specific types.
96
+ *
97
+ * `TypeSystemCustom` allows generators to inject custom type representations
98
+ * that don't fit into standard OpenAPI types. The value is a `Stringable`
99
+ * that will be rendered directly in the generated code.
100
+ *
101
+ * @example
102
+ * ```typescript
103
+ * const customType: TypeSystemCustom = {
104
+ * type: 'custom',
105
+ * value: 'React.ReactNode',
106
+ * generatorKey: 'react-component|Button'
107
+ * };
108
+ * ```
109
+ */
18
110
  export type TypeSystemCustom = {
111
+ /** Discriminator for the custom type */
19
112
  type: 'custom';
113
+ /** The custom type value to be rendered */
20
114
  value: Stringable;
115
+ /** Optional generator-specific key for tracking */
21
116
  generatorKey?: GeneratorKey;
22
117
  };
118
+ /**
119
+ * Type system representation of array types.
120
+ *
121
+ * @example
122
+ * ```typescript
123
+ * const stringArray: TypeSystemArray = {
124
+ * type: 'array',
125
+ * items: { type: 'string', modifiers: { optional: false, nullable: false } },
126
+ * modifiers: { optional: false, nullable: false }
127
+ * };
128
+ * ```
129
+ */
23
130
  export type TypeSystemArray = {
131
+ /** Discriminator for the array type */
24
132
  type: 'array';
133
+ /** The type of items in the array */
25
134
  items: TypeSystemValue;
135
+ /** Type modifiers (optional, nullable, etc.) */
26
136
  modifiers: Modifiers;
137
+ /** Optional generator-specific key for tracking */
27
138
  generatorKey?: GeneratorKey;
28
139
  };
140
+ /**
141
+ * Type system representation of floating-point number types.
142
+ *
143
+ * @example
144
+ * ```typescript
145
+ * const priceType: TypeSystemNumber = {
146
+ * type: 'number',
147
+ * modifiers: { optional: false, nullable: false }
148
+ * };
149
+ * ```
150
+ */
29
151
  export type TypeSystemNumber = {
152
+ /** Discriminator for the number type */
30
153
  type: 'number';
154
+ /** Type modifiers (optional, nullable, etc.) */
31
155
  modifiers: Modifiers;
156
+ /** Optional generator-specific key for tracking */
32
157
  generatorKey?: GeneratorKey;
33
158
  };
159
+ /**
160
+ * Type system representation of void types (no value).
161
+ *
162
+ * @example
163
+ * ```typescript
164
+ * const voidType: TypeSystemVoid = {
165
+ * type: 'void'
166
+ * };
167
+ * ```
168
+ */
34
169
  export type TypeSystemVoid = {
170
+ /** Discriminator for the void type */
35
171
  type: 'void';
172
+ /** Optional generator-specific key for tracking */
36
173
  generatorKey?: GeneratorKey;
37
174
  };
175
+ /**
176
+ * Type system representation of never types (impossible values).
177
+ *
178
+ * @example
179
+ * ```typescript
180
+ * const neverType: TypeSystemNever = {
181
+ * type: 'never'
182
+ * };
183
+ * ```
184
+ */
38
185
  export type TypeSystemNever = {
186
+ /** Discriminator for the never type */
39
187
  type: 'never';
188
+ /** Optional generator-specific key for tracking */
40
189
  generatorKey?: GeneratorKey;
41
190
  };
191
+ /**
192
+ * Type system representation of integer number types.
193
+ *
194
+ * @example
195
+ * ```typescript
196
+ * const countType: TypeSystemInteger = {
197
+ * type: 'integer',
198
+ * modifiers: { optional: false, nullable: false }
199
+ * };
200
+ * ```
201
+ */
42
202
  export type TypeSystemInteger = {
203
+ /** Discriminator for the integer type */
43
204
  type: 'integer';
205
+ /** Type modifiers (optional, nullable, etc.) */
44
206
  modifiers: Modifiers;
207
+ /** Optional generator-specific key for tracking */
45
208
  generatorKey?: GeneratorKey;
46
209
  };
210
+ /**
211
+ * Type system representation of boolean types.
212
+ *
213
+ * @example
214
+ * ```typescript
215
+ * const flagType: TypeSystemBoolean = {
216
+ * type: 'boolean',
217
+ * modifiers: { optional: false, nullable: false }
218
+ * };
219
+ * ```
220
+ */
47
221
  export type TypeSystemBoolean = {
222
+ /** Discriminator for the boolean type */
48
223
  type: 'boolean';
224
+ /** Type modifiers (optional, nullable, etc.) */
49
225
  modifiers: Modifiers;
226
+ /** Optional generator-specific key for tracking */
50
227
  generatorKey?: GeneratorKey;
51
228
  };
229
+ /**
230
+ * Type system representation of unknown types.
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * const unknownType: TypeSystemUnknown = {
235
+ * type: 'unknown'
236
+ * };
237
+ * ```
238
+ */
52
239
  export type TypeSystemUnknown = {
240
+ /** Discriminator for the unknown type */
53
241
  type: 'unknown';
242
+ /** Optional generator-specific key for tracking */
54
243
  generatorKey?: GeneratorKey;
55
244
  };
245
+ /**
246
+ * Type system representation of null types.
247
+ *
248
+ * @example
249
+ * ```typescript
250
+ * const nullType: TypeSystemNull = {
251
+ * type: 'null'
252
+ * };
253
+ * ```
254
+ */
56
255
  export type TypeSystemNull = {
256
+ /** Discriminator for the null type */
57
257
  type: 'null';
258
+ /** Optional generator-specific key for tracking */
58
259
  generatorKey?: GeneratorKey;
59
260
  };
261
+ /**
262
+ * Type system representation of record types (key-value mappings).
263
+ *
264
+ * @example
265
+ * ```typescript
266
+ * const recordType: TypeSystemRecord = {
267
+ * value: { type: 'string', modifiers: { optional: false, nullable: false } }
268
+ * };
269
+ * ```
270
+ */
60
271
  export type TypeSystemRecord = {
272
+ /** The type of values in the record, or 'true' for any value */
61
273
  value: TypeSystemValue | 'true';
274
+ /** Optional generator-specific key for tracking */
62
275
  generatorKey?: GeneratorKey;
63
276
  };
277
+ /**
278
+ * Type system representation of object properties.
279
+ *
280
+ * @example
281
+ * ```typescript
282
+ * const objectProps: TypeSystemObjectProperties = {
283
+ * properties: {
284
+ * name: { type: 'string', modifiers: { optional: false, nullable: false } },
285
+ * age: { type: 'integer', modifiers: { optional: true, nullable: false } }
286
+ * }
287
+ * };
288
+ * ```
289
+ */
64
290
  export type TypeSystemObjectProperties = {
291
+ /** Map of property names to their types */
65
292
  properties: Record<string, TypeSystemValue>;
293
+ /** Optional generator-specific key for tracking */
66
294
  generatorKey?: GeneratorKey;
67
295
  };
296
+ /**
297
+ * Type system representation of string types.
298
+ *
299
+ * @example
300
+ * ```typescript
301
+ * const emailString: TypeSystemString = {
302
+ * type: 'string',
303
+ * format: 'email',
304
+ * enums: undefined,
305
+ * modifiers: { optional: false, nullable: false }
306
+ * };
307
+ *
308
+ * const statusEnum: TypeSystemString = {
309
+ * type: 'string',
310
+ * format: undefined,
311
+ * enums: ['active', 'inactive', 'pending'],
312
+ * modifiers: { optional: false, nullable: false }
313
+ * };
314
+ * ```
315
+ */
68
316
  export type TypeSystemString = {
317
+ /** Discriminator for the string type */
69
318
  type: 'string';
319
+ /** String format specification (email, uuid, date-time, etc.) */
70
320
  format: string | undefined;
321
+ /** Array of allowed enum values */
71
322
  enums: string[] | (string | null)[] | undefined;
323
+ /** Type modifiers (optional, nullable, etc.) */
72
324
  modifiers: Modifiers;
325
+ /** Optional generator-specific key for tracking */
73
326
  generatorKey?: GeneratorKey;
74
327
  };
328
+ /**
329
+ * Type system representation of union types.
330
+ *
331
+ * @example
332
+ * ```typescript
333
+ * const stringOrNumber: TypeSystemUnion = {
334
+ * type: 'union',
335
+ * members: [
336
+ * { type: 'string', modifiers: { optional: false, nullable: false } },
337
+ * { type: 'number', modifiers: { optional: false, nullable: false } }
338
+ * ],
339
+ * discriminator: undefined,
340
+ * modifiers: { optional: false, nullable: false }
341
+ * };
342
+ *
343
+ * const discriminatedUnion: TypeSystemUnion = {
344
+ * type: 'union',
345
+ * members: [userType, adminType, guestType],
346
+ * discriminator: 'type',
347
+ * modifiers: { optional: false, nullable: false }
348
+ * };
349
+ * ```
350
+ */
75
351
  export type TypeSystemUnion = {
352
+ /** Discriminator for the union type */
76
353
  type: 'union';
354
+ /** Array of types that are part of the union */
77
355
  members: TypeSystemValue[];
356
+ /** Optional discriminator property name for tagged unions */
78
357
  discriminator: string | undefined;
358
+ /** Type modifiers (optional, nullable, etc.) */
79
359
  modifiers: Modifiers;
360
+ /** Optional generator-specific key for tracking */
80
361
  generatorKey?: GeneratorKey;
81
362
  };
363
+ /**
364
+ * Type system representation of object types.
365
+ *
366
+ * Objects can have either fixed properties (objectProperties) or
367
+ * dynamic key-value pairs (recordProperties), or both.
368
+ *
369
+ * @example Fixed properties object
370
+ * ```typescript
371
+ * const userObject: TypeSystemObject = {
372
+ * type: 'object',
373
+ * recordProperties: null,
374
+ * objectProperties: {
375
+ * properties: {
376
+ * id: { type: 'string', modifiers: { optional: false, nullable: false } },
377
+ * name: { type: 'string', modifiers: { optional: false, nullable: false } },
378
+ * email: { type: 'string', modifiers: { optional: true, nullable: false } }
379
+ * }
380
+ * },
381
+ * modifiers: { optional: false, nullable: false }
382
+ * };
383
+ * ```
384
+ *
385
+ * @example Record-like object
386
+ * ```typescript
387
+ * const configObject: TypeSystemObject = {
388
+ * type: 'object',
389
+ * recordProperties: {
390
+ * value: { type: 'string', modifiers: { optional: false, nullable: false } }
391
+ * },
392
+ * objectProperties: null,
393
+ * modifiers: { optional: false, nullable: false }
394
+ * };
395
+ * ```
396
+ */
82
397
  export type TypeSystemObject = {
398
+ /** Discriminator for the object type */
83
399
  type: 'object';
400
+ /** Dynamic key-value properties (Record<string, T>) */
84
401
  recordProperties: TypeSystemRecord | null;
402
+ /** Fixed object properties with known keys */
85
403
  objectProperties: TypeSystemObjectProperties | null;
404
+ /** Type modifiers (optional, nullable, etc.) */
86
405
  modifiers: Modifiers;
406
+ /** Optional generator-specific key for tracking */
87
407
  generatorKey?: GeneratorKey;
88
408
  };
409
+ /**
410
+ * Mapping of schema types to their type system representations.
411
+ *
412
+ * This type maps OpenAPI schema types to their corresponding type system
413
+ * value types, enabling type-safe transformations during code generation.
414
+ *
415
+ * @example
416
+ * ```typescript
417
+ * // Used internally by the type system transformation process
418
+ * type StringOutput = SchemaToTypeSystemMap['string']['output']; // TypeSystemString
419
+ * type RefSource = SchemaToTypeSystemMap['ref']['source']; // OasRef<'schema'>
420
+ * ```
421
+ */
89
422
  export type SchemaToTypeSystemMap = {
90
423
  ref: {
91
424
  source: OasRef<'schema'>;
@@ -136,16 +469,102 @@ export type SchemaToTypeSystemMap = {
136
469
  output: TypeSystemCustom;
137
470
  };
138
471
  };
472
+ /**
473
+ * Union of all possible schema types that can be transformed.
474
+ *
475
+ * @example
476
+ * ```typescript
477
+ * function transformSchema(schema: SchemaType): TypeSystemValue {
478
+ * // Transform any schema type to its type system representation
479
+ * return toTypeSystemValue(schema);
480
+ * }
481
+ * ```
482
+ */
139
483
  export type SchemaType = OasSchema | OasRef<'schema'> | OasVoid | CustomValue;
484
+ /**
485
+ * Extracts only reference types from a schema type.
486
+ *
487
+ * @template Schema - The schema type to filter
488
+ * @example
489
+ * ```typescript
490
+ * type RefOnly = SchemaToRef<OasRef<'schema'>>; // OasRef<'schema'>
491
+ * type NeverForSchema = SchemaToRef<OasSchema>; // never
492
+ * ```
493
+ */
140
494
  export type SchemaToRef<Schema extends SchemaType> = Schema extends OasRef<'schema'> ? Schema : never;
495
+ /**
496
+ * Extracts only non-reference types from a schema type.
497
+ *
498
+ * @template Schema - The schema type to filter
499
+ * @example
500
+ * ```typescript
501
+ * type SchemaOnly = SchemaToNonRef<OasSchema>; // OasSchema
502
+ * type NeverForRef = SchemaToNonRef<OasRef<'schema'>>; // never
503
+ * ```
504
+ */
141
505
  export type SchemaToNonRef<Schema extends SchemaType> = Schema extends OasRef<'schema'> ? never : Schema;
506
+ /**
507
+ * Gets the output type for a given schema type key.
508
+ *
509
+ * @template T - The schema type key
510
+ * @example
511
+ * ```typescript
512
+ * type StringOutput = TypeSystemOutput<'string'>; // TypeSystemString
513
+ * type ArrayOutput = TypeSystemOutput<'array'>; // TypeSystemArray
514
+ * ```
515
+ */
142
516
  export type TypeSystemOutput<T extends keyof SchemaToTypeSystemMap> = SchemaToTypeSystemMap[T]['output'];
517
+ /**
518
+ * Arguments for type system transformation functions.
519
+ *
520
+ * @template Schema - The specific schema type being transformed
521
+ * @example
522
+ * ```typescript
523
+ * function transformStringSchema(args: TypeSystemArgs<OasSchema>): TypeSystemString {
524
+ * const { context, schema, required } = args;
525
+ * // Transform string schema to type system representation
526
+ * return {
527
+ * type: 'string',
528
+ * format: schema.format,
529
+ * enums: schema.enums,
530
+ * modifiers: { optional: !required, nullable: schema.nullable }
531
+ * };
532
+ * }
533
+ * ```
534
+ */
143
535
  export type TypeSystemArgs<Schema extends SchemaType> = {
536
+ /** The generation context containing utilities and state */
144
537
  context: GenerateContext;
538
+ /** The destination path for the generated artifact */
145
539
  destinationPath: string;
540
+ /** The schema to transform */
146
541
  schema: Schema;
542
+ /** Optional root reference name for schema references */
147
543
  rootRef?: RefName;
544
+ /** Whether the schema field is required */
148
545
  required: boolean | undefined;
149
546
  };
547
+ /**
548
+ * Function type for transforming schemas to type system values.
549
+ *
550
+ * @template Schema - The schema type being transformed
551
+ * @param args - Transformation arguments
552
+ * @returns The corresponding type system value
553
+ *
554
+ * @example
555
+ * ```typescript
556
+ * const transformSchema: SchemaToValueFn = (args) => {
557
+ * switch (args.schema.type) {
558
+ * case 'string':
559
+ * return transformStringSchema(args);
560
+ * case 'object':
561
+ * return transformObjectSchema(args);
562
+ * // ... other cases
563
+ * default:
564
+ * throw new Error(`Unknown schema type: ${args.schema.type}`);
565
+ * }
566
+ * };
567
+ * ```
568
+ */
150
569
  export type SchemaToValueFn = <Schema extends SchemaType>(args: TypeSystemArgs<Schema>) => TypeSystemOutput<Schema['type']>;
151
570
  //# sourceMappingURL=TypeSystem.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TypeSystem.d.ts","sourceRoot":"","sources":["../../src/types/TypeSystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TypeSystem.d.ts","sourceRoot":"","sources":["../../src/types/TypeSystem.ts"],"names":[],"mappings":"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"}