@nestia/sdk 14.0.0 → 14.0.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.
Files changed (186) hide show
  1. package/README.md +1 -1
  2. package/assets/bundle/distribute/package.json +2 -2
  3. package/assets/bundle/distribute/tsconfig.json +15 -105
  4. package/lib/INestiaConfig.d.ts +19 -10
  5. package/lib/NestiaSdkApplication.js +58 -27
  6. package/lib/NestiaSdkApplication.js.map +1 -1
  7. package/lib/NestiaSwaggerComposer.js +11 -10
  8. package/lib/NestiaSwaggerComposer.js.map +1 -1
  9. package/lib/analyses/ConfigAnalyzer.js +4 -4
  10. package/lib/analyses/ConfigAnalyzer.js.map +1 -1
  11. package/lib/analyses/ParameterNameAnalyzer.d.ts +20 -0
  12. package/lib/analyses/ParameterNameAnalyzer.js +48 -0
  13. package/lib/analyses/ParameterNameAnalyzer.js.map +1 -0
  14. package/lib/analyses/PathAnalyzer.d.ts +30 -0
  15. package/lib/analyses/PathAnalyzer.js +108 -16
  16. package/lib/analyses/PathAnalyzer.js.map +1 -1
  17. package/lib/analyses/ReflectControllerAnalyzer.js +2 -1
  18. package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
  19. package/lib/analyses/ReflectHttpOperationAnalyzer.js +7 -7
  20. package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
  21. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +122 -23
  22. package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
  23. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +5 -2
  24. package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
  25. package/lib/analyses/ReflectMcpOperationAnalyzer.js +5 -2
  26. package/lib/analyses/ReflectMcpOperationAnalyzer.js.map +1 -1
  27. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +6 -3
  28. package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
  29. package/lib/analyses/SecurityAnalyzer.d.ts +10 -0
  30. package/lib/analyses/SecurityAnalyzer.js +24 -19
  31. package/lib/analyses/SecurityAnalyzer.js.map +1 -1
  32. package/lib/analyses/SwaggerExampleAnalyzer.d.ts +15 -0
  33. package/lib/analyses/SwaggerExampleAnalyzer.js +20 -0
  34. package/lib/analyses/SwaggerExampleAnalyzer.js.map +1 -0
  35. package/lib/analyses/TypedHttpRouteAnalyzer.js +30 -21
  36. package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
  37. package/lib/analyses/TypedWebSocketRouteAnalyzer.js +1 -1
  38. package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
  39. package/lib/executable/internal/NestiaSdkWatcher.js +3 -3
  40. package/lib/executable/internal/NestiaSdkWatcher.js.map +1 -1
  41. package/lib/executable/sdk.js +16 -1
  42. package/lib/executable/sdk.js.map +1 -1
  43. package/lib/factories/ExpressionFactory.d.ts +3 -0
  44. package/lib/factories/ExpressionFactory.js +6 -2
  45. package/lib/factories/ExpressionFactory.js.map +1 -1
  46. package/lib/factories/LiteralFactory.js +3 -1
  47. package/lib/factories/LiteralFactory.js.map +1 -1
  48. package/lib/generates/SdkGenerator.js +3 -3
  49. package/lib/generates/SdkGenerator.js.map +1 -1
  50. package/lib/generates/SwaggerGenerator.js +135 -27
  51. package/lib/generates/SwaggerGenerator.js.map +1 -1
  52. package/lib/generates/internal/FilePrinter.d.ts +14 -0
  53. package/lib/generates/internal/FilePrinter.js +31 -0
  54. package/lib/generates/internal/FilePrinter.js.map +1 -1
  55. package/lib/generates/internal/ImportDictionary.d.ts +2 -0
  56. package/lib/generates/internal/ImportDictionary.js +13 -0
  57. package/lib/generates/internal/ImportDictionary.js.map +1 -1
  58. package/lib/generates/internal/SdkAliasCollection.d.ts +2 -1
  59. package/lib/generates/internal/SdkAliasCollection.js +8 -4
  60. package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
  61. package/lib/generates/internal/SdkDistributionComposer.js +72 -14
  62. package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
  63. package/lib/generates/internal/SdkFileProgrammer.js +83 -12
  64. package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
  65. package/lib/generates/internal/SdkHttpFunctionProgrammer.js +21 -23
  66. package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
  67. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +27 -34
  68. package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
  69. package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +40 -1
  70. package/lib/generates/internal/SdkHttpParameterProgrammer.js +105 -6
  71. package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
  72. package/lib/generates/internal/SdkHttpRouteProgrammer.js +16 -32
  73. package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
  74. package/lib/generates/internal/SdkHttpSimulationProgrammer.js +18 -14
  75. package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
  76. package/lib/generates/internal/SdkMcpRouteProgrammer.js +39 -11
  77. package/lib/generates/internal/SdkMcpRouteProgrammer.js.map +1 -1
  78. package/lib/generates/internal/SdkPathTemplate.d.ts +21 -0
  79. package/lib/generates/internal/SdkPathTemplate.js +50 -0
  80. package/lib/generates/internal/SdkPathTemplate.js.map +1 -0
  81. package/lib/generates/internal/SdkTypeProgrammer.js +15 -15
  82. package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
  83. package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +20 -1
  84. package/lib/generates/internal/SdkTypeTagProgrammer.js +386 -67
  85. package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
  86. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +27 -36
  87. package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
  88. package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +35 -1
  89. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +72 -5
  90. package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
  91. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +57 -33
  92. package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
  93. package/lib/generates/internal/SwaggerOperationComposer.js +19 -8
  94. package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
  95. package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +1 -1
  96. package/lib/generates/internal/SwaggerOperationParameterComposer.js +201 -19
  97. package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
  98. package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +2 -0
  99. package/lib/generates/internal/SwaggerOperationResponseComposer.js +39 -7
  100. package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
  101. package/lib/internal/legacy.d.ts +49 -18
  102. package/lib/internal/legacy.js +84 -25
  103. package/lib/internal/legacy.js.map +1 -1
  104. package/lib/structures/IOperationMetadata.d.ts +22 -0
  105. package/lib/structures/IReflectHttpOperationException.d.ts +3 -2
  106. package/lib/structures/IReflectHttpOperationParameter.d.ts +8 -3
  107. package/lib/structures/IReflectHttpOperationSuccess.d.ts +4 -3
  108. package/lib/structures/ITypedHttpRoute.d.ts +8 -0
  109. package/lib/structures/ITypedHttpRouteException.d.ts +3 -1
  110. package/lib/structures/ITypedHttpRouteParameter.d.ts +3 -1
  111. package/lib/structures/ITypedHttpRouteSuccess.d.ts +3 -1
  112. package/lib/structures/ITypedWebSocketRoute.d.ts +8 -0
  113. package/lib/utils/SourceFinder.d.ts +10 -0
  114. package/lib/utils/SourceFinder.js +27 -4
  115. package/lib/utils/SourceFinder.js.map +1 -1
  116. package/lib/utils/VersioningStrategy.d.ts +13 -1
  117. package/lib/utils/VersioningStrategy.js +24 -12
  118. package/lib/utils/VersioningStrategy.js.map +1 -1
  119. package/native/go.mod +1 -1
  120. package/native/go.sum +2 -2
  121. package/native/sdk/sdk_http_rules.go +210 -0
  122. package/native/sdk/sdk_metadata_json.go +73 -3
  123. package/native/sdk/sdk_transform.go +801 -49
  124. package/package.json +6 -6
  125. package/src/INestiaConfig.ts +19 -10
  126. package/src/NestiaSdkApplication.ts +63 -34
  127. package/src/NestiaSwaggerComposer.ts +11 -8
  128. package/src/analyses/ConfigAnalyzer.ts +3 -3
  129. package/src/analyses/ParameterNameAnalyzer.ts +51 -0
  130. package/src/analyses/PathAnalyzer.ts +106 -14
  131. package/src/analyses/ReflectControllerAnalyzer.ts +2 -1
  132. package/src/analyses/ReflectHttpOperationAnalyzer.ts +4 -4
  133. package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +122 -39
  134. package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +6 -7
  135. package/src/analyses/ReflectMcpOperationAnalyzer.ts +6 -2
  136. package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +7 -3
  137. package/src/analyses/SecurityAnalyzer.ts +30 -20
  138. package/src/analyses/SwaggerExampleAnalyzer.ts +23 -0
  139. package/src/analyses/TypedHttpRouteAnalyzer.ts +29 -20
  140. package/src/analyses/TypedWebSocketRouteAnalyzer.ts +1 -0
  141. package/src/executable/internal/NestiaSdkWatcher.ts +2 -2
  142. package/src/executable/sdk.ts +24 -1
  143. package/src/factories/ExpressionFactory.ts +8 -2
  144. package/src/factories/LiteralFactory.ts +7 -2
  145. package/src/generates/SdkGenerator.ts +3 -3
  146. package/src/generates/SwaggerGenerator.ts +173 -32
  147. package/src/generates/internal/FilePrinter.ts +28 -0
  148. package/src/generates/internal/ImportDictionary.ts +11 -0
  149. package/src/generates/internal/SdkAliasCollection.ts +11 -4
  150. package/src/generates/internal/SdkDistributionComposer.ts +89 -15
  151. package/src/generates/internal/SdkFileProgrammer.ts +108 -16
  152. package/src/generates/internal/SdkHttpFunctionProgrammer.ts +28 -30
  153. package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +34 -64
  154. package/src/generates/internal/SdkHttpParameterProgrammer.ts +193 -13
  155. package/src/generates/internal/SdkHttpRouteProgrammer.ts +17 -31
  156. package/src/generates/internal/SdkHttpSimulationProgrammer.ts +51 -14
  157. package/src/generates/internal/SdkMcpRouteProgrammer.ts +112 -15
  158. package/src/generates/internal/SdkPathTemplate.ts +73 -0
  159. package/src/generates/internal/SdkTypeProgrammer.ts +19 -22
  160. package/src/generates/internal/SdkTypeTagProgrammer.ts +506 -78
  161. package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +43 -68
  162. package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +126 -5
  163. package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +71 -48
  164. package/src/generates/internal/SwaggerOperationComposer.ts +20 -6
  165. package/src/generates/internal/SwaggerOperationParameterComposer.ts +279 -30
  166. package/src/generates/internal/SwaggerOperationResponseComposer.ts +55 -11
  167. package/src/internal/legacy.ts +114 -26
  168. package/src/structures/IOperationMetadata.ts +28 -0
  169. package/src/structures/IReflectHttpOperationException.ts +7 -2
  170. package/src/structures/IReflectHttpOperationParameter.ts +9 -2
  171. package/src/structures/IReflectHttpOperationSuccess.ts +8 -3
  172. package/src/structures/ITypedHttpRoute.ts +8 -0
  173. package/src/structures/ITypedHttpRouteException.ts +4 -1
  174. package/src/structures/ITypedHttpRouteParameter.ts +3 -1
  175. package/src/structures/ITypedHttpRouteSuccess.ts +4 -1
  176. package/src/structures/ITypedWebSocketRoute.ts +8 -0
  177. package/src/utils/SourceFinder.ts +25 -4
  178. package/src/utils/VersioningStrategy.ts +28 -13
  179. package/lib/validators/HttpHeadersValidator.d.ts +0 -11
  180. package/lib/validators/HttpHeadersValidator.js +0 -15
  181. package/lib/validators/HttpHeadersValidator.js.map +0 -1
  182. package/lib/validators/HttpQueryValidator.d.ts +0 -10
  183. package/lib/validators/HttpQueryValidator.js +0 -14
  184. package/lib/validators/HttpQueryValidator.js.map +0 -1
  185. package/src/validators/HttpHeadersValidator.ts +0 -12
  186. package/src/validators/HttpQueryValidator.ts +0 -11
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.JsonSchemasProgrammer = exports.HttpFormDataProgrammer = exports.HttpParameterProgrammer = exports.HttpHeadersProgrammer = exports.HttpQueryProgrammer = exports.JsonMetadataFactory = exports.MetadataFactory = exports.MetadataSchema = exports.MetadataComponents = exports.isSoleLiteralOf = exports.isRequiredOf = exports.emptyOf = exports.nameOf = exports.sizeOf = void 0;
3
+ exports.JsonSchemasProgrammer = exports.JsonMetadataFactory = exports.MetadataFactory = exports.MetadataSchema = exports.MetadataComponents = exports.isSoleLiteralOf = exports.decodeTagValue = exports.decodeMetadataValue = exports.isRequiredOf = exports.emptyOf = exports.nameOf = exports.sizeOf = void 0;
4
4
  // ---------------------------------------------------------------------
5
5
  // Metadata utility functions — read pre-baked fields, no class wrapping.
6
6
  // ---------------------------------------------------------------------
@@ -16,6 +16,35 @@ exports.emptyOf = emptyOf;
16
16
  /** A property is required only when neither omission nor undefined is allowed. */
17
17
  const isRequiredOf = (m) => m.required && !m.optional;
18
18
  exports.isRequiredOf = isRequiredOf;
19
+ /**
20
+ * Reads a constant's value as the SDK's Go contributor writes it.
21
+ *
22
+ * JSON holds neither a bigint nor NaN or ±Infinity, so the metadata carries a
23
+ * bigint value as its decimal digits and a non-finite number by its name
24
+ * (`"Infinity"`), both as strings. `type` is the constant's type, which is its
25
+ * value's own, so a bigint or number constant's string is always one of those;
26
+ * every other value is returned as it is.
27
+ */
28
+ const decodeMetadataValue = (type, value) => typeof value !== "string"
29
+ ? value
30
+ : type === "bigint"
31
+ ? BigInt(value)
32
+ : type === "number"
33
+ ? Number(value)
34
+ : value;
35
+ exports.decodeMetadataValue = decodeMetadataValue;
36
+ /**
37
+ * Reads a type tag's value as the SDK's Go contributor writes it.
38
+ *
39
+ * A tag's `target` is the type it tags, not its value's: `tags.Sequence<1>` on
40
+ * a bigint holds a number, and `tags.Example<"Infinity">` on a number holds a
41
+ * string. So a value encoded as a string, a bigint's digits or a non-finite
42
+ * number's name, arrives with the type it stands for in `encoding`.
43
+ */
44
+ const decodeTagValue = (tag) => tag.encoding !== undefined
45
+ ? (0, exports.decodeMetadataValue)(tag.encoding, tag.value)
46
+ : tag.value;
47
+ exports.decodeTagValue = decodeTagValue;
19
48
  /**
20
49
  * Equivalent of the legacy `MetadataSchema.isSoleLiteral()` method: `true` when
21
50
  * the schema represents exactly one constant literal value and nothing else.
@@ -248,22 +277,6 @@ var JsonMetadataFactory;
248
277
  return messages;
249
278
  };
250
279
  })(JsonMetadataFactory || (exports.JsonMetadataFactory = JsonMetadataFactory = {}));
251
- var HttpQueryProgrammer;
252
- (function (HttpQueryProgrammer) {
253
- HttpQueryProgrammer.validate = () => [];
254
- })(HttpQueryProgrammer || (exports.HttpQueryProgrammer = HttpQueryProgrammer = {}));
255
- var HttpHeadersProgrammer;
256
- (function (HttpHeadersProgrammer) {
257
- HttpHeadersProgrammer.validate = () => [];
258
- })(HttpHeadersProgrammer || (exports.HttpHeadersProgrammer = HttpHeadersProgrammer = {}));
259
- var HttpParameterProgrammer;
260
- (function (HttpParameterProgrammer) {
261
- HttpParameterProgrammer.validate = () => [];
262
- })(HttpParameterProgrammer || (exports.HttpParameterProgrammer = HttpParameterProgrammer = {}));
263
- var HttpFormDataProgrammer;
264
- (function (HttpFormDataProgrammer) {
265
- HttpFormDataProgrammer.validate = () => [];
266
- })(HttpFormDataProgrammer || (exports.HttpFormDataProgrammer = HttpFormDataProgrammer = {}));
267
280
  // ---------------------------------------------------------------------
268
281
  // `JsonSchemasProgrammer.writeSchemas` — consumes the per-metadata
269
282
  // pre-baked `jsonSchema` field the nestia transform emits.
@@ -273,12 +286,16 @@ var JsonSchemasProgrammer;
273
286
  /**
274
287
  * Consumes the per-metadata `jsonSchema` field the nestia transform
275
288
  * pre-bakes. Top-level route metadata (success / parameter / exception)
276
- * always carries a baked schema; for nested metadata (object property values
277
- * reached by the decomposed-query path), the bake is absent and this function
278
- * falls back to a minimal JS-side converter that handles the schema shapes
279
- * decompose actually emits — atomics, constants, templates, arrays of those,
280
- * named references — without re-implementing the typia native programmer
281
- * wholesale.
289
+ * carries a baked schema whenever typia can describe the type. Metadata
290
+ * without one falls back to a minimal JS-side converter that reads only the
291
+ * atomic kinds — no type tags, template patterns, or constant annotations —
292
+ * so it is no substitute for the bake.
293
+ *
294
+ * The schemas and components are copies. The bake belongs to the route
295
+ * metadata, which every composition in the process reads, while the composer
296
+ * edits what it is given in place (the readonly-array emender), and so can a
297
+ * `SwaggerCustomizer`; handing the bake out by reference let each document
298
+ * inherit the previous one's edits.
282
299
  */
283
300
  JsonSchemasProgrammer.writeSchemas = (props) => {
284
301
  var _a, _b;
@@ -287,20 +304,53 @@ var JsonSchemasProgrammer;
287
304
  for (const m of props.metadatas) {
288
305
  const baked = m.jsonSchema;
289
306
  if (baked !== undefined) {
290
- schemas.push(baked.schema);
307
+ schemas.push(copy(baked.schema));
291
308
  Object.assign(((_a = components.schemas) !== null && _a !== void 0 ? _a : (components.schemas = {})), (_b = baked.components.schemas) !== null && _b !== void 0 ? _b : {});
292
309
  }
293
310
  else {
294
311
  schemas.push(schemaFromMetadata(m));
295
312
  }
296
313
  }
314
+ // Copied once the last bake of each name has won, rather than per bake.
315
+ if (components.schemas !== undefined)
316
+ components.schemas = copy(components.schemas);
297
317
  return {
298
318
  version: props.version,
299
319
  components,
300
320
  schemas,
301
321
  };
302
322
  };
323
+ /**
324
+ * Writes the schema of one property of `metadata`'s first object type, for a
325
+ * decomposed query or headers parameter.
326
+ *
327
+ * Reads the schema baked beside `metadata`'s own schema (see
328
+ * {@link IReflectJsonSchema.properties}), resolved against the same
329
+ * components. The schema and components are copies, for the reason
330
+ * {@link writeSchemas} gives. Returns `null` when that bake exists but has no
331
+ * entry for the property, because typia's object schema omits it, so no
332
+ * parameter describes it either. Only metadata the transform did not bake
333
+ * falls back to {@link writeSchemas} over the property value.
334
+ */
335
+ JsonSchemasProgrammer.writeProperty = (props) => {
336
+ var _a;
337
+ const properties = (_a = props.metadata.jsonSchema) === null || _a === void 0 ? void 0 : _a.properties;
338
+ if (properties === undefined)
339
+ return JsonSchemasProgrammer.writeSchemas({
340
+ version: props.version,
341
+ metadatas: [props.value],
342
+ });
343
+ if (Object.prototype.hasOwnProperty.call(properties, props.key) === false)
344
+ return null;
345
+ return {
346
+ version: props.version,
347
+ components: copy(props.metadata.jsonSchema.components),
348
+ schemas: [copy(properties[props.key])],
349
+ };
350
+ };
303
351
  })(JsonSchemasProgrammer || (exports.JsonSchemasProgrammer = JsonSchemasProgrammer = {}));
352
+ /** Deep copy of baked data, which is parsed JSON, so JSON copies it exactly. */
353
+ const copy = (value) => JSON.parse(JSON.stringify(value));
304
354
  const schemaFromMetadata = (m) => {
305
355
  const union = [];
306
356
  if (m.nullable)
@@ -310,7 +360,7 @@ const schemaFromMetadata = (m) => {
310
360
  for (const constant of m.constants)
311
361
  for (const value of constant.values)
312
362
  union.push({
313
- const: value.value,
363
+ const: jsonValue((0, exports.decodeMetadataValue)(constant.type, value.value)),
314
364
  });
315
365
  for (const tpl of m.templates) {
316
366
  union.push({ type: "string" });
@@ -339,6 +389,15 @@ const schemaFromMetadata = (m) => {
339
389
  return union[0];
340
390
  return { oneOf: union };
341
391
  };
392
+ /**
393
+ * A value as a JSON document holds it: the number a bigint is, and null for a
394
+ * non-finite number, as `JSON.stringify` writes it.
395
+ */
396
+ const jsonValue = (value) => typeof value === "bigint"
397
+ ? Number(value)
398
+ : typeof value === "number" && Number.isFinite(value) === false
399
+ ? null
400
+ : value;
342
401
  const schemaFromAtomic = (atomic) => {
343
402
  if (atomic.type === "boolean")
344
403
  return { type: "boolean" };
@@ -1 +1 @@
1
- {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/internal/legacy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/internal/legacy.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,28 @@ export declare namespace IOperationMetadata {
25
25
  interface ISchema {
26
26
  components: IMetadataComponents;
27
27
  metadata: IMetadataSchema;
28
+ /**
29
+ * Violations of each HTTP input's wire rules, baked on the resolved schema
30
+ * of a route parameter only; the SDK picks the one its decorator selects.
31
+ */
32
+ http?: IHttpRules;
33
+ }
34
+ /**
35
+ * The violations of each HTTP input category's rules, which are typia's own
36
+ * validators except the path parameter rule typia keeps unexported and the
37
+ * one of a field-named `@Query("key")` or `@Headers("key")`.
38
+ */
39
+ interface IHttpRules {
40
+ /** A query object: `@TypedQuery()`, `@Query()`, `@TypedQuery.Body()`. */
41
+ query: IError[];
42
+ /** A headers object: `@TypedHeaders()`, `@Headers()`. */
43
+ headers: IError[];
44
+ /** A path parameter: `@TypedParam("key")`, `@Param("key")`. */
45
+ param: IError[];
46
+ /** One query key or header: `@Query("key")`, `@Headers("key")`. */
47
+ field: IError[];
48
+ /** A multipart body: `@TypedFormData.Body()`. */
49
+ formData: IError[];
28
50
  }
29
51
  interface IError {
30
52
  name: string;
@@ -1,11 +1,12 @@
1
- import { IMetadataComponents, IMetadataSchema } from "@typia/interface";
1
+ import { IMetadataComponents, IMetadataSchema, OpenApi } from "@typia/interface";
2
2
  import { MetadataFactory } from "../internal/legacy";
3
3
  import { IReflectType } from "./IReflectType";
4
4
  export interface IReflectHttpOperationException {
5
5
  status: number | "2XX" | "3XX" | "4XX" | "5XX";
6
6
  description: string | null;
7
7
  example?: any;
8
- examples?: Record<string, any>;
8
+ /** Named examples, as OpenAPI Example Objects. */
9
+ examples?: Record<string, OpenApi.IExample>;
9
10
  type: IReflectType;
10
11
  metadata: IMetadataSchema;
11
12
  components: IMetadataComponents;
@@ -1,4 +1,4 @@
1
- import { IJsDocTagInfo, IMetadataComponents, IMetadataSchema } from "@typia/interface";
1
+ import { IJsDocTagInfo, IMetadataComponents, IMetadataSchema, OpenApi } from "@typia/interface";
2
2
  import { MetadataFactory } from "../internal/legacy";
3
3
  import { IReflectType } from "./IReflectType";
4
4
  export type IReflectHttpOperationParameter = IReflectHttpOperationParameter.IBody | IReflectHttpOperationParameter.IHeaders | IReflectHttpOperationParameter.IParam | IReflectHttpOperationParameter.IQuery;
@@ -23,9 +23,14 @@ export declare namespace IReflectHttpOperationParameter {
23
23
  type: IReflectType;
24
24
  metadata: IMetadataSchema;
25
25
  components: IMetadataComponents;
26
- validate: MetadataFactory.Validator;
26
+ /**
27
+ * SDK policy checked over the metadata, for a JSON or text body. An HTTP
28
+ * input's wire rules are typia's instead, baked beside its metadata.
29
+ */
30
+ validate?: MetadataFactory.Validator;
27
31
  example?: any;
28
- examples?: Record<string, any>;
32
+ /** Named examples, as OpenAPI Example Objects. */
33
+ examples?: Record<string, OpenApi.IExample>;
29
34
  description: string | null;
30
35
  jsDocTags: IJsDocTagInfo[];
31
36
  }
@@ -1,4 +1,4 @@
1
- import { IMetadataComponents, IMetadataSchema } from "@typia/interface";
1
+ import { IMetadataComponents, IMetadataSchema, OpenApi } from "@typia/interface";
2
2
  import { MetadataFactory } from "../internal/legacy";
3
3
  import { HttpResponseContentTypeUtil } from "../utils/HttpResponseContentTypeUtil";
4
4
  import { IReflectType } from "./IReflectType";
@@ -10,7 +10,8 @@ export interface IReflectHttpOperationSuccess {
10
10
  encrypted: boolean;
11
11
  components: IMetadataComponents;
12
12
  metadata: IMetadataSchema;
13
- validate: MetadataFactory.Validator;
13
+ validate?: MetadataFactory.Validator;
14
14
  example?: any;
15
- examples?: Record<string, any>;
15
+ /** Named examples, as OpenAPI Example Objects. */
16
+ examples?: Record<string, OpenApi.IExample>;
16
17
  }
@@ -8,6 +8,14 @@ export interface ITypedHttpRoute {
8
8
  protocol: "http";
9
9
  function: Function;
10
10
  controller: IReflectController;
11
+ /**
12
+ * Property key of the controller method.
13
+ *
14
+ * {@link name} is the SDK function's name, which the accessor analysis
15
+ * renames: a reserved word such as `delete` becomes `_delete`. Metadata the
16
+ * method's decorators define, and what names the method, read this key.
17
+ */
18
+ key: string;
11
19
  name: string;
12
20
  method: string;
13
21
  path: string;
@@ -1,10 +1,12 @@
1
+ import { OpenApi } from "@typia/interface";
1
2
  import { MetadataSchema } from "../internal/legacy";
2
3
  import { IReflectType } from "./IReflectType";
3
4
  export interface ITypedHttpRouteException {
4
5
  status: number | "2XX" | "3XX" | "4XX" | "5XX";
5
6
  description: string | null;
6
7
  example: any;
7
- examples: Record<string, any>;
8
+ /** Named examples, as OpenAPI Example Objects. */
9
+ examples: Record<string, OpenApi.IExample>;
8
10
  type: IReflectType;
9
11
  metadata: MetadataSchema;
10
12
  }
@@ -1,3 +1,4 @@
1
+ import { OpenApi } from "@typia/interface";
1
2
  import { IJsDocTagInfo } from "typia";
2
3
  import { MetadataSchema } from "../internal/legacy";
3
4
  import { IReflectType } from "./IReflectType";
@@ -23,7 +24,8 @@ export declare namespace ITypedHttpRouteParameter {
23
24
  type: IReflectType;
24
25
  metadata: MetadataSchema;
25
26
  example?: any;
26
- examples?: Record<string, any>;
27
+ /** Named examples, as OpenAPI Example Objects. */
28
+ examples?: Record<string, OpenApi.IExample>;
27
29
  description: string | null;
28
30
  jsDocTags: IJsDocTagInfo[];
29
31
  }
@@ -1,3 +1,4 @@
1
+ import { OpenApi } from "@typia/interface";
1
2
  import { MetadataSchema } from "../internal/legacy";
2
3
  import { HttpResponseContentTypeUtil } from "../utils/HttpResponseContentTypeUtil";
3
4
  import { IReflectType } from "./IReflectType";
@@ -9,7 +10,8 @@ export interface ITypedHttpRouteSuccess {
9
10
  encrypted: boolean;
10
11
  metadata: MetadataSchema;
11
12
  example?: any;
12
- examples?: Record<string, any>;
13
+ /** Named examples, as OpenAPI Example Objects. */
14
+ examples?: Record<string, OpenApi.IExample>;
13
15
  setHeaders: Array<{
14
16
  type: "setter";
15
17
  source: string;
@@ -6,6 +6,14 @@ import { ITypedWebSocketRouteParameter } from "./ITypedWebSocketRouteParameter";
6
6
  export interface ITypedWebSocketRoute {
7
7
  protocol: "websocket";
8
8
  controller: IReflectController;
9
+ /**
10
+ * Property key of the controller method.
11
+ *
12
+ * {@link name} is the SDK function's name, which the accessor analysis
13
+ * renames: a reserved word such as `delete` becomes `_delete`. Metadata the
14
+ * method's decorators define, and what names the method, read this key.
15
+ */
16
+ key: string;
9
17
  name: string;
10
18
  path: string;
11
19
  accessor: string[];
@@ -5,6 +5,16 @@ export declare namespace SourceFinder {
5
5
  filter: (location: string) => Promise<boolean>;
6
6
  }
7
7
  export const find: (props: IProps) => Promise<string[]>;
8
+ /**
9
+ * Files and directories a path or glob pattern names.
10
+ *
11
+ * An existing path is taken literally, whatever characters it holds, as a
12
+ * directory such as `app [v2]` would otherwise read as a character class. For
13
+ * a pattern, the longest existing ancestor is the literal base and only the
14
+ * rest is globbed, with `/` separators, since glob reads a Windows backslash
15
+ * as an escape.
16
+ */
17
+ export const expand: (pattern: string) => Promise<string[]>;
8
18
  export const isTypeScriptSource: (file: string) => boolean;
9
19
  export {};
10
20
  }
@@ -32,7 +32,7 @@ var SourceFinder;
32
32
  closure(path_1.default.resolve(pattern));
33
33
  continue;
34
34
  }
35
- for (const file of yield _Glob(pattern)) {
35
+ for (const file of yield SourceFinder.expand(pattern)) {
36
36
  const stats = yield fs_1.default.promises.stat(file);
37
37
  if (stats.isDirectory() === true)
38
38
  yield iterate(filter)(closure)(file);
@@ -52,9 +52,32 @@ var SourceFinder;
52
52
  closure(next);
53
53
  }
54
54
  });
55
- const _Glob = (pattern) => __awaiter(this, void 0, void 0, function* () {
56
- const matches = yield (0, glob_1.glob)(pattern);
57
- return matches.map((str) => path_1.default.resolve(str));
55
+ /**
56
+ * Files and directories a path or glob pattern names.
57
+ *
58
+ * An existing path is taken literally, whatever characters it holds, as a
59
+ * directory such as `app [v2]` would otherwise read as a character class. For
60
+ * a pattern, the longest existing ancestor is the literal base and only the
61
+ * rest is globbed, with `/` separators, since glob reads a Windows backslash
62
+ * as an escape.
63
+ */
64
+ SourceFinder.expand = (pattern) => __awaiter(this, void 0, void 0, function* () {
65
+ const absolute = path_1.default.resolve(pattern);
66
+ if (fs_1.default.existsSync(absolute))
67
+ return [absolute];
68
+ let base = absolute;
69
+ while (fs_1.default.existsSync(base) === false) {
70
+ const parent = path_1.default.dirname(base);
71
+ if (parent === base)
72
+ return [];
73
+ base = parent;
74
+ }
75
+ const rest = path_1.default
76
+ .relative(base, absolute)
77
+ .split(path_1.default.sep)
78
+ .join("/");
79
+ const matches = yield (0, glob_1.glob)(rest, { cwd: base });
80
+ return matches.map((str) => path_1.default.resolve(base, str));
58
81
  });
59
82
  const _Is_file = (pattern) => SourceFinder.isTypeScriptSource(pattern) && fs_1.default.existsSync(pattern);
60
83
  SourceFinder.isTypeScriptSource = (file) => {
@@ -1 +1 @@
1
- {"version":3,"file":"SourceFinder.js","sourceRoot":"","sources":["../../src/utils/SourceFinder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SourceFinder.js","sourceRoot":"","sources":["../../src/utils/SourceFinder.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,17 @@ import { VERSION_NEUTRAL, VersionValue } from "@nestjs/common/interfaces";
2
2
  import { INestiaProject } from "../structures/INestiaProject";
3
3
  export declare namespace VersioningStrategy {
4
4
  const cast: (value: VersionValue | undefined) => Array<string | typeof VERSION_NEUTRAL>;
5
- const merge: (project: Omit<INestiaProject, "config">) => (values: Array<string | typeof VERSION_NEUTRAL>) => string[];
5
+ /**
6
+ * Version path segments of a route, resolved as NestJS resolves them: the
7
+ * method's versions, else the controller's, else the default version, and no
8
+ * version at all is the unversioned path.
9
+ *
10
+ * The controller's and the method's versions were joined, so a method
11
+ * overriding its controller's version was also described at the controller's,
12
+ * and a route with no version and no default got no path at all (#1735).
13
+ */
14
+ const merge: (project: Omit<INestiaProject, "config">) => (props: {
15
+ controller: Array<string | typeof VERSION_NEUTRAL> | undefined;
16
+ method: Array<string | typeof VERSION_NEUTRAL> | undefined;
17
+ }) => string[];
6
18
  }
@@ -4,19 +4,31 @@ exports.VersioningStrategy = void 0;
4
4
  var VersioningStrategy;
5
5
  (function (VersioningStrategy) {
6
6
  VersioningStrategy.cast = (value) => value === undefined ? [] : Array.isArray(value) ? value : [value];
7
- VersioningStrategy.merge = (project) => (values) => {
8
- var _a;
9
- if (project.input.versioning === undefined)
7
+ /**
8
+ * Version path segments of a route, resolved as NestJS resolves them: the
9
+ * method's versions, else the controller's, else the default version, and no
10
+ * version at all is the unversioned path.
11
+ *
12
+ * The controller's and the method's versions were joined, so a method
13
+ * overriding its controller's version was also described at the controller's,
14
+ * and a route with no version and no default got no path at all (#1735).
15
+ */
16
+ VersioningStrategy.merge = (project) => (props) => {
17
+ var _a, _b;
18
+ const versioning = project.input.versioning;
19
+ if (versioning === undefined)
10
20
  return [""];
11
- const set = new Set(values);
12
- const array = set.size === 0
13
- ? VersioningStrategy.cast((_a = project.input.versioning) === null || _a === void 0 ? void 0 : _a.defaultVersion)
14
- : Array.from(set);
15
- return !!(array === null || array === void 0 ? void 0 : array.length)
16
- ? array.map((x) => typeof x === "symbol"
17
- ? ""
18
- : `${project.input.versioning.prefix}${x}`)
19
- : [];
21
+ const chosen = ((_a = props.method) === null || _a === void 0 ? void 0 : _a.length)
22
+ ? props.method
23
+ : ((_b = props.controller) === null || _b === void 0 ? void 0 : _b.length)
24
+ ? props.controller
25
+ : VersioningStrategy.cast(versioning.defaultVersion);
26
+ const unique = [
27
+ ...new Set(chosen),
28
+ ];
29
+ return unique.length
30
+ ? unique.map((x) => typeof x === "symbol" ? "" : `${versioning.prefix}${x}`)
31
+ : [""];
20
32
  };
21
33
  })(VersioningStrategy || (exports.VersioningStrategy = VersioningStrategy = {}));
22
34
  //# sourceMappingURL=VersioningStrategy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"VersioningStrategy.js","sourceRoot":"","sources":["../../src/utils/VersioningStrategy.ts"],"names":[],"mappings":";;;AAIA,IAAiB,kBAAkB,CAuBlC;AAvBD,WAAiB,kBAAkB;IACpB,uBAAI,GAAG,CAClB,KAA+B,EACS,EAAE,CAC1C,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEvD,wBAAK,GAChB,CAAC,OAAuC,EAAE,EAAE,CAC5C,CAAC,MAA8C,EAAY,EAAE;;QAC3D,IAAI,OAAO,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QACxD,MAAM,GAAG,GAAyC,IAAI,GAAG,CAAC,MAAM,CAAC,CAAC;QAClE,MAAM,KAAK,GACT,GAAG,CAAC,IAAI,KAAK,CAAC;YACZ,CAAC,CAAC,uBAAI,CAAC,MAAA,OAAO,CAAC,KAAK,CAAC,UAAU,0CAAE,cAAc,CAAC;YAChD,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtB,OAAO,CAAC,EAAC,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,MAAM,CAAA;YACpB,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACd,OAAO,CAAC,KAAK,QAAQ;gBACnB,CAAC,CAAC,EAAE;gBACJ,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,UAAW,CAAC,MAAM,GAAG,CAAC,EAAE,CAC9C;YACH,CAAC,CAAC,EAAE,CAAC;IACT,CAAC,CAAC;AACN,CAAC,EAvBgB,kBAAkB,aAAlB,kBAAkB,GAAlB,kBAAkB,QAuBlC"}
1
+ {"version":3,"file":"VersioningStrategy.js","sourceRoot":"","sources":["../../src/utils/VersioningStrategy.ts"],"names":[],"mappings":";;;AAIA,IAAiB,kBAAkB,CAsClC;AAtCD,WAAiB,kBAAkB;IACpB,uBAAI,GAAG,CAClB,KAA+B,EACS,EAAE,CAC1C,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IAEpE;;;;;;;;OAQG;IACU,wBAAK,GAChB,CAAC,OAAuC,EAAE,EAAE,CAC5C,CAAC,KAGA,EAAY,EAAE;;QACb,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,CAAC,UAAU,CAAC;QAC5C,IAAI,UAAU,KAAK,SAAS;YAAE,OAAO,CAAC,EAAE,CAAC,CAAC;QAC1C,MAAM,MAAM,GAA2C,CAAA,MAAA,KAAK,CAAC,MAAM,0CAC/D,MAAM;YACR,CAAC,CAAC,KAAK,CAAC,MAAM;YACd,CAAC,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,0CAAE,MAAM;gBACxB,CAAC,CAAC,KAAK,CAAC,UAAU;gBAClB,CAAC,CAAC,uBAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QACtC,MAAM,MAAM,GAA2C;YACrD,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC;SACnB,CAAC;QACF,OAAO,MAAM,CAAC,MAAM;YAClB,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CACf,OAAO,CAAC,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CACxD;YACH,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACX,CAAC,CAAC;AACN,CAAC,EAtCgB,kBAAkB,aAAlB,kBAAkB,GAAlB,kBAAkB,QAsClC"}
package/native/go.mod CHANGED
@@ -9,7 +9,7 @@ require (
9
9
  github.com/microsoft/typescript-go/shim/scanner v0.0.0
10
10
  github.com/samchon/nestia/packages/core/native v0.0.0
11
11
  github.com/samchon/ttsc/packages/ttsc v0.0.0
12
- github.com/samchon/typia/packages/typia/native v0.0.0-20260818045905-f692fd63a846
12
+ github.com/samchon/typia/packages/typia/native v0.0.0-20260922081121-78124b0523b4
13
13
  )
14
14
 
15
15
  require (
package/native/go.sum CHANGED
@@ -38,8 +38,8 @@ github.com/samchon/ttsc/packages/ttsc/shim/vfs/cachedvfs v0.0.0-20260820075544-3
38
38
  github.com/samchon/ttsc/packages/ttsc/shim/vfs/cachedvfs v0.0.0-20260820075544-3fe6b732f888/go.mod h1:XS3LhXkn5xadyRe3tW+9+suW/7gh7dPdL43Q+s/lUDo=
39
39
  github.com/samchon/ttsc/packages/ttsc/shim/vfs/osvfs v0.0.0-20260820075544-3fe6b732f888 h1:ihiKD2OhuYc7Dngxw3uFYbVoiA/xuPwwQoUakB59E40=
40
40
  github.com/samchon/ttsc/packages/ttsc/shim/vfs/osvfs v0.0.0-20260820075544-3fe6b732f888/go.mod h1:otX+qw8aZLNCoBmCwMAn53Nw0RQTPzSoId3DxmE67So=
41
- github.com/samchon/typia/packages/typia/native v0.0.0-20260818045905-f692fd63a846 h1:x9xL0zn2AqPf19lTp8dNal+Ia3cIu0uYnyXlY4mo3QI=
42
- github.com/samchon/typia/packages/typia/native v0.0.0-20260818045905-f692fd63a846/go.mod h1:pUTSG5IZxw8Hohle//RsDXnE+8ZhAus7mPDKFqzvZnk=
41
+ github.com/samchon/typia/packages/typia/native v0.0.0-20260922081121-78124b0523b4 h1:ZL20GliY1kZk/PYHwJX+n5cp8ljx8YToGP1wWFtaOYs=
42
+ github.com/samchon/typia/packages/typia/native v0.0.0-20260922081121-78124b0523b4/go.mod h1:pUTSG5IZxw8Hohle//RsDXnE+8ZhAus7mPDKFqzvZnk=
43
43
  github.com/zeebo/assert v1.3.0 h1:g7C04CbJuIDKNPFHmsk4hwZDO5O+kntRxzaUoNXj+IQ=
44
44
  github.com/zeebo/assert v1.3.0/go.mod h1:Pq9JiuJQpG8JLJdtkwrJESF0Foym2/D9XMU5ciN/wJ0=
45
45
  github.com/zeebo/xxh3 v1.1.0 h1:s7DLGDK45Dyfg7++yxI0khrfwq9661w9EN78eP/UZVs=