@nestia/sdk 11.2.1 → 12.0.0-dev.20260520.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.
- package/assets/bundle/distribute/package.json +1 -1
- package/lib/NestiaSdkApplication.js +5 -4
- package/lib/NestiaSdkApplication.js.map +1 -1
- package/lib/NestiaSwaggerComposer.js +2 -2
- package/lib/NestiaSwaggerComposer.js.map +1 -1
- package/lib/analyses/AccessorAnalyzer.js.map +1 -1
- package/lib/analyses/ConfigAnalyzer.js +133 -7
- package/lib/analyses/ConfigAnalyzer.js.map +1 -1
- package/lib/analyses/ImportAnalyzer.d.ts +9 -2
- package/lib/analyses/ImportAnalyzer.js +13 -50
- package/lib/analyses/ImportAnalyzer.js.map +1 -1
- package/lib/analyses/PathAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectControllerAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationAnalyzer.js +5 -4
- package/lib/analyses/ReflectHttpOperationAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js +22 -5
- package/lib/analyses/ReflectHttpOperationExceptionAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js +8 -8
- package/lib/analyses/ReflectHttpOperationParameterAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js +15 -15
- package/lib/analyses/ReflectHttpOperationResponseAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectMetadataAnalyzer.js.map +1 -1
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.d.ts +1 -1
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.js +1 -1
- package/lib/analyses/ReflectWebSocketOperationAnalyzer.js.map +1 -1
- package/lib/analyses/SecurityAnalyzer.js.map +1 -1
- package/lib/analyses/TypedHttpRouteAnalyzer.d.ts +2 -1
- package/lib/analyses/TypedHttpRouteAnalyzer.js +296 -39
- package/lib/analyses/TypedHttpRouteAnalyzer.js.map +1 -1
- package/lib/analyses/TypedWebSocketRouteAnalyzer.js +1 -4
- package/lib/analyses/TypedWebSocketRouteAnalyzer.js.map +1 -1
- package/lib/decorators/OperationMetadata.d.ts +1 -1
- package/lib/decorators/OperationMetadata.js.map +1 -1
- package/lib/executable/internal/CommandParser.js.map +1 -1
- package/lib/executable/internal/NestiaConfigLoader.d.ts +6 -2
- package/lib/executable/internal/NestiaConfigLoader.js +285 -793
- package/lib/executable/internal/NestiaConfigLoader.js.map +1 -1
- package/lib/executable/internal/NestiaSdkCommand.js +6 -4
- package/lib/executable/internal/NestiaSdkCommand.js.map +1 -1
- package/lib/executable/sdk.js +17 -5
- package/lib/executable/sdk.js.map +1 -1
- package/lib/generates/CloneGenerator.js +2 -2
- package/lib/generates/CloneGenerator.js.map +1 -1
- package/lib/generates/E2eGenerator.js.map +1 -1
- package/lib/generates/SdkGenerator.js +6 -9
- package/lib/generates/SdkGenerator.js.map +1 -1
- package/lib/generates/SwaggerGenerator.js +20 -107
- package/lib/generates/SwaggerGenerator.js.map +1 -1
- package/lib/generates/internal/E2eFileProgrammer.js +44 -28
- package/lib/generates/internal/E2eFileProgrammer.js.map +1 -1
- package/lib/generates/internal/FilePrinter.d.ts +4 -4
- package/lib/generates/internal/FilePrinter.js +25 -16
- package/lib/generates/internal/FilePrinter.js.map +1 -1
- package/lib/generates/internal/ImportDictionary.d.ts +2 -2
- package/lib/generates/internal/ImportDictionary.js +7 -5
- package/lib/generates/internal/ImportDictionary.js.map +1 -1
- package/lib/generates/internal/SdkAliasCollection.d.ts +11 -11
- package/lib/generates/internal/SdkAliasCollection.js +27 -31
- package/lib/generates/internal/SdkAliasCollection.js.map +1 -1
- package/lib/generates/internal/SdkDistributionComposer.js +15 -70
- package/lib/generates/internal/SdkDistributionComposer.js.map +1 -1
- package/lib/generates/internal/SdkFileProgrammer.js +2 -2
- package/lib/generates/internal/SdkFileProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpCloneProgrammer.js +6 -12
- package/lib/generates/internal/SdkHttpCloneProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpCloneReferencer.js +2 -1
- package/lib/generates/internal/SdkHttpCloneReferencer.js.map +1 -1
- package/lib/generates/internal/SdkHttpFunctionProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js +73 -77
- package/lib/generates/internal/SdkHttpFunctionProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js +64 -66
- package/lib/generates/internal/SdkHttpNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpParameterProgrammer.d.ts +4 -10
- package/lib/generates/internal/SdkHttpParameterProgrammer.js +15 -22
- package/lib/generates/internal/SdkHttpParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpRouteProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkHttpRouteProgrammer.js +18 -20
- package/lib/generates/internal/SdkHttpRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkHttpSimulationProgrammer.d.ts +3 -3
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js +47 -49
- package/lib/generates/internal/SdkHttpSimulationProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkImportWizard.js.map +1 -1
- package/lib/generates/internal/SdkRouteDirectory.js.map +1 -1
- package/lib/generates/internal/SdkTypeProgrammer.d.ts +4 -4
- package/lib/generates/internal/SdkTypeProgrammer.js +66 -67
- package/lib/generates/internal/SdkTypeProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkTypeTagProgrammer.d.ts +1 -2
- package/lib/generates/internal/SdkTypeTagProgrammer.js +29 -11
- package/lib/generates/internal/SdkTypeTagProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js +55 -55
- package/lib/generates/internal/SdkWebSocketNamespaceProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.d.ts +3 -3
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js +9 -12
- package/lib/generates/internal/SdkWebSocketParameterProgrammer.js.map +1 -1
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.d.ts +2 -2
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js +43 -45
- package/lib/generates/internal/SdkWebSocketRouteProgrammer.js.map +1 -1
- package/lib/generates/internal/SwaggerDescriptionComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationComposer.d.ts +1 -1
- package/lib/generates/internal/SwaggerOperationComposer.js +5 -4
- package/lib/generates/internal/SwaggerOperationComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationParameterComposer.d.ts +0 -3
- package/lib/generates/internal/SwaggerOperationParameterComposer.js +19 -20
- package/lib/generates/internal/SwaggerOperationParameterComposer.js.map +1 -1
- package/lib/generates/internal/SwaggerOperationResponseComposer.d.ts +1 -1
- package/lib/generates/internal/SwaggerOperationResponseComposer.js +4 -3
- package/lib/generates/internal/SwaggerOperationResponseComposer.js.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/internal/legacy.d.ts +180 -0
- package/lib/internal/legacy.js +361 -0
- package/lib/internal/legacy.js.map +1 -0
- package/lib/structures/INestiaProject.d.ts +0 -2
- package/lib/{transformers → structures}/IOperationMetadata.d.ts +2 -7
- package/lib/structures/IOperationMetadata.js.map +1 -0
- package/lib/structures/IReflectHttpOperationException.d.ts +1 -1
- package/lib/structures/IReflectHttpOperationParameter.d.ts +1 -1
- package/lib/structures/IReflectHttpOperationSuccess.d.ts +1 -1
- package/lib/structures/IReflectOperationError.d.ts +1 -1
- package/lib/structures/IReflectOperationError.js.map +1 -1
- package/lib/structures/IReflectWebSocketOperation.d.ts +2 -2
- package/lib/structures/ITypedApplication.d.ts +1 -1
- package/lib/structures/ITypedHttpRouteException.d.ts +1 -1
- package/lib/structures/ITypedHttpRouteParameter.d.ts +1 -1
- package/lib/structures/ITypedHttpRouteSuccess.d.ts +1 -1
- package/lib/structures/ITypedWebSocketRoute.d.ts +2 -2
- package/lib/transform.d.ts +9 -3
- package/lib/transform.js +47 -5
- package/lib/transform.js.map +1 -1
- package/lib/utils/ArrayUtil.js.map +1 -1
- package/lib/utils/FileRetriever.js.map +1 -1
- package/lib/utils/MapUtil.js.map +1 -1
- package/lib/utils/PathUtil.js.map +1 -1
- package/lib/utils/SourceFinder.js.map +1 -1
- package/lib/utils/StringUtil.js.map +1 -1
- package/lib/utils/TsConfigReader.d.ts +7 -0
- package/lib/utils/TsConfigReader.js +102 -0
- package/lib/utils/TsConfigReader.js.map +1 -0
- package/lib/utils/TtscExecutor.d.ts +8 -0
- package/lib/utils/TtscExecutor.js +58 -0
- package/lib/utils/TtscExecutor.js.map +1 -0
- package/lib/utils/VersioningStrategy.js.map +1 -1
- package/lib/validators/HttpHeadersValidator.d.ts +8 -5
- package/lib/validators/HttpHeadersValidator.js +7 -26
- package/lib/validators/HttpHeadersValidator.js.map +1 -1
- package/lib/validators/HttpQueryValidator.d.ts +8 -5
- package/lib/validators/HttpQueryValidator.js +7 -26
- package/lib/validators/HttpQueryValidator.js.map +1 -1
- package/lib/{transformers → validators}/TextPlainValidator.d.ts +1 -1
- package/lib/{transformers → validators}/TextPlainValidator.js +2 -1
- package/lib/validators/TextPlainValidator.js.map +1 -0
- package/package.json +21 -19
- package/src/NestiaSdkApplication.ts +9 -5
- package/src/NestiaSwaggerComposer.ts +2 -3
- package/src/analyses/ConfigAnalyzer.ts +175 -1
- package/src/analyses/ImportAnalyzer.ts +15 -49
- package/src/analyses/ReflectControllerAnalyzer.ts +1 -1
- package/src/analyses/ReflectHttpOperationAnalyzer.ts +1 -1
- package/src/analyses/ReflectHttpOperationExceptionAnalyzer.ts +24 -6
- package/src/analyses/ReflectHttpOperationParameterAnalyzer.ts +3 -3
- package/src/analyses/ReflectHttpOperationResponseAnalyzer.ts +14 -10
- package/src/analyses/ReflectWebSocketOperationAnalyzer.ts +2 -2
- package/src/analyses/TypedHttpRouteAnalyzer.ts +354 -22
- package/src/decorators/OperationMetadata.ts +1 -1
- package/src/executable/internal/NestiaConfigLoader.ts +419 -53
- package/src/executable/internal/NestiaSdkCommand.ts +9 -10
- package/src/executable/sdk.ts +15 -4
- package/src/generates/CloneGenerator.ts +10 -10
- package/src/generates/SwaggerGenerator.ts +28 -9
- package/src/generates/internal/E2eFileProgrammer.ts +80 -43
- package/src/generates/internal/FilePrinter.ts +38 -37
- package/src/generates/internal/ImportDictionary.ts +18 -16
- package/src/generates/internal/SdkAliasCollection.ts +41 -40
- package/src/generates/internal/SdkDistributionComposer.ts +21 -8
- package/src/generates/internal/SdkFileProgrammer.ts +7 -5
- package/src/generates/internal/SdkHttpCloneProgrammer.ts +10 -10
- package/src/generates/internal/SdkHttpCloneReferencer.ts +6 -6
- package/src/generates/internal/SdkHttpFunctionProgrammer.ts +101 -78
- package/src/generates/internal/SdkHttpNamespaceProgrammer.ts +153 -145
- package/src/generates/internal/SdkHttpParameterProgrammer.ts +20 -33
- package/src/generates/internal/SdkHttpRouteProgrammer.ts +2 -2
- package/src/generates/internal/SdkHttpSimulationProgrammer.ts +88 -86
- package/src/generates/internal/SdkTypeProgrammer.ts +93 -99
- package/src/generates/internal/SdkTypeTagProgrammer.ts +12 -12
- package/src/generates/internal/SdkWebSocketNamespaceProgrammer.ts +128 -118
- package/src/generates/internal/SdkWebSocketParameterProgrammer.ts +15 -13
- package/src/generates/internal/SdkWebSocketRouteProgrammer.ts +133 -112
- package/src/generates/internal/SwaggerOperationComposer.ts +1 -1
- package/src/generates/internal/SwaggerOperationParameterComposer.ts +10 -9
- package/src/generates/internal/SwaggerOperationResponseComposer.ts +1 -1
- package/src/internal/legacy.ts +492 -0
- package/src/structures/INestiaProject.ts +0 -3
- package/src/{transformers → structures}/IOperationMetadata.ts +2 -7
- package/src/structures/IReflectHttpOperationException.ts +1 -1
- package/src/structures/IReflectHttpOperationParameter.ts +1 -1
- package/src/structures/IReflectHttpOperationSuccess.ts +1 -1
- package/src/structures/IReflectOperationError.ts +1 -1
- package/src/structures/IReflectWebSocketOperation.ts +2 -2
- package/src/structures/ITypedApplication.ts +1 -1
- package/src/structures/ITypedHttpRouteException.ts +1 -1
- package/src/structures/ITypedHttpRouteParameter.ts +1 -1
- package/src/structures/ITypedHttpRouteSuccess.ts +1 -1
- package/src/structures/ITypedWebSocketRoute.ts +2 -2
- package/src/transform.ts +68 -7
- package/src/utils/TsConfigReader.ts +108 -0
- package/src/utils/TtscExecutor.ts +63 -0
- package/src/validators/HttpHeadersValidator.ts +8 -37
- package/src/validators/HttpQueryValidator.ts +8 -37
- package/src/{transformers → validators}/TextPlainValidator.ts +2 -2
- package/lib/analyses/DtoAnalyzer.d.ts +0 -21
- package/lib/analyses/DtoAnalyzer.js +0 -219
- package/lib/analyses/DtoAnalyzer.js.map +0 -1
- package/lib/analyses/ExceptionAnalyzer.d.ts +0 -0
- package/lib/analyses/ExceptionAnalyzer.js +0 -2
- package/lib/analyses/ExceptionAnalyzer.js.map +0 -1
- package/lib/analyses/GenericAnalyzer.d.ts +0 -4
- package/lib/analyses/GenericAnalyzer.js +0 -42
- package/lib/analyses/GenericAnalyzer.js.map +0 -1
- package/lib/structures/IReflectApplication.d.ts +0 -6
- package/lib/structures/IReflectApplication.js +0 -3
- package/lib/structures/IReflectApplication.js.map +0 -1
- package/lib/structures/MethodType.d.ts +0 -4
- package/lib/structures/MethodType.js +0 -8
- package/lib/structures/MethodType.js.map +0 -1
- package/lib/structures/ParamCategory.d.ts +0 -1
- package/lib/structures/ParamCategory.js +0 -3
- package/lib/structures/ParamCategory.js.map +0 -1
- package/lib/structures/TypeEntry.d.ts +0 -9
- package/lib/structures/TypeEntry.js +0 -21
- package/lib/structures/TypeEntry.js.map +0 -1
- package/lib/transformers/IOperationMetadata.js.map +0 -1
- package/lib/transformers/ISdkOperationTransformerContext.d.ts +0 -7
- package/lib/transformers/ISdkOperationTransformerContext.js +0 -3
- package/lib/transformers/ISdkOperationTransformerContext.js.map +0 -1
- package/lib/transformers/SdkOperationProgrammer.d.ts +0 -15
- package/lib/transformers/SdkOperationProgrammer.js +0 -186
- package/lib/transformers/SdkOperationProgrammer.js.map +0 -1
- package/lib/transformers/SdkOperationTransformer.d.ts +0 -4
- package/lib/transformers/SdkOperationTransformer.js +0 -128
- package/lib/transformers/SdkOperationTransformer.js.map +0 -1
- package/lib/transformers/TextPlainValidator.js.map +0 -1
- package/lib/utils/MetadataUtil.d.ts +0 -4
- package/lib/utils/MetadataUtil.js +0 -34
- package/lib/utils/MetadataUtil.js.map +0 -1
- package/lib/utils/StripEnums.d.ts +0 -3
- package/lib/utils/StripEnums.js +0 -3
- package/lib/utils/StripEnums.js.map +0 -1
- package/lib/utils/TypeLiteralExpression.d.ts +0 -0
- package/lib/utils/TypeLiteralExpression.js +0 -2
- package/lib/utils/TypeLiteralExpression.js.map +0 -1
- package/src/analyses/DtoAnalyzer.ts +0 -260
- package/src/analyses/ExceptionAnalyzer.ts +0 -154
- package/src/analyses/GenericAnalyzer.ts +0 -49
- package/src/structures/IReflectApplication.ts +0 -8
- package/src/structures/MethodType.ts +0 -5
- package/src/structures/ParamCategory.ts +0 -1
- package/src/structures/TypeEntry.ts +0 -22
- package/src/transformers/ISdkOperationTransformerContext.ts +0 -8
- package/src/transformers/SdkOperationProgrammer.ts +0 -240
- package/src/transformers/SdkOperationTransformer.ts +0 -248
- package/src/utils/MetadataUtil.ts +0 -26
- package/src/utils/StripEnums.ts +0 -5
- package/src/utils/TypeLiteralExpression.ts +0 -0
- /package/lib/{transformers → structures}/IOperationMetadata.js +0 -0
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { IJsonSchemaCollection, IMetadataComponents, IMetadataSchema, IMetadataTypeTag, OpenApi } from "@typia/interface";
|
|
2
|
+
declare module "@typia/interface" {
|
|
3
|
+
namespace IMetadataSchema {
|
|
4
|
+
interface IReference {
|
|
5
|
+
type?: IArrayType | ITupleType | IObjectType | IAliasType;
|
|
6
|
+
}
|
|
7
|
+
}
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* Plain `IMetadataSchema` augmented with the fields the nestia transform
|
|
11
|
+
* pre-bakes. `size`, `name`, and `empty` replace the methods the legacy
|
|
12
|
+
* `MetadataSchema` class exposed; `jsonSchema` is the OpenAPI 3.1
|
|
13
|
+
* conversion typia's Go-side produces but does not expose to JS at
|
|
14
|
+
* runtime.
|
|
15
|
+
*
|
|
16
|
+
* Fields are declared optional so that nested `IMetadataSchema` values
|
|
17
|
+
* (`metadata.rest`, `metadata.escaped.original`, `IObjectType.value`,
|
|
18
|
+
* …) — which are not top-level route inputs and therefore do not carry
|
|
19
|
+
* the pre-baked overlay — still satisfy the type when passed through
|
|
20
|
+
* legacy utilities. The utilities read the fields via the optional
|
|
21
|
+
* accessor and fall back when absent.
|
|
22
|
+
*/
|
|
23
|
+
export interface IReflectMetadata extends IMetadataSchema {
|
|
24
|
+
size?: number;
|
|
25
|
+
name?: string;
|
|
26
|
+
empty?: boolean;
|
|
27
|
+
jsonSchema?: IReflectJsonSchema;
|
|
28
|
+
}
|
|
29
|
+
export interface IReflectJsonSchema {
|
|
30
|
+
version: "3.0" | "3.1";
|
|
31
|
+
components: OpenApi.IComponents;
|
|
32
|
+
schema: OpenApi.IJsonSchema;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Cross-reference dictionary produced by `MetadataComponents.from`. Each
|
|
36
|
+
* map is keyed by the entry's `.name`, matching the lookup pattern the
|
|
37
|
+
* legacy `MetadataComponents.dictionary` getter offered.
|
|
38
|
+
*/
|
|
39
|
+
export interface IMetadataDictionary {
|
|
40
|
+
objects: Map<string, IMetadataSchema.IObjectType>;
|
|
41
|
+
aliases: Map<string, IMetadataSchema.IAliasType>;
|
|
42
|
+
arrays: Map<string, IMetadataSchema.IArrayType>;
|
|
43
|
+
tuples: Map<string, IMetadataSchema.ITupleType>;
|
|
44
|
+
}
|
|
45
|
+
export type MetadataSchema = IMetadataSchema;
|
|
46
|
+
export type MetadataComponents = IMetadataComponents & {
|
|
47
|
+
dictionary: IMetadataDictionary;
|
|
48
|
+
};
|
|
49
|
+
export type MetadataAliasType = IMetadataSchema.IAliasType;
|
|
50
|
+
export type MetadataArrayType = IMetadataSchema.IArrayType;
|
|
51
|
+
export type MetadataTupleType = IMetadataSchema.ITupleType;
|
|
52
|
+
export type MetadataObjectType = IMetadataSchema.IObjectType;
|
|
53
|
+
export type MetadataAtomic = IMetadataSchema.IAtomic;
|
|
54
|
+
/**
|
|
55
|
+
* Flattened constant-value shape: typia v13 splits `IConstant.IValue<T>` by
|
|
56
|
+
* the atomic discriminator, but sdk's literal writer just needs the runtime
|
|
57
|
+
* `value` payload, so collapse the union to a single ergonomic shape.
|
|
58
|
+
*/
|
|
59
|
+
export interface MetadataConstantValue {
|
|
60
|
+
value: string | number | bigint | boolean;
|
|
61
|
+
tags: IMetadataTypeTag[][];
|
|
62
|
+
}
|
|
63
|
+
export type MetadataEscaped = IMetadataSchema.IEscaped;
|
|
64
|
+
export type MetadataProperty = IMetadataSchema.IProperty;
|
|
65
|
+
/**
|
|
66
|
+
* Reference to a named array/tuple/object/alias type. typia v13's
|
|
67
|
+
* plain `IReference` carries only the symbolic `name` + tags; the
|
|
68
|
+
* legacy class additionally exposed `.type` as a getter that resolved
|
|
69
|
+
* against the dictionary. `MetadataSchema.from` walks the metadata
|
|
70
|
+
* tree once and attaches the resolved `.type` field so downstream
|
|
71
|
+
* sdk code can keep its `ref.type` access pattern.
|
|
72
|
+
*/
|
|
73
|
+
export type MetadataArray = IMetadataSchema.IReference & {
|
|
74
|
+
type: MetadataArrayType;
|
|
75
|
+
};
|
|
76
|
+
export type MetadataTuple = IMetadataSchema.IReference & {
|
|
77
|
+
type: MetadataTupleType;
|
|
78
|
+
};
|
|
79
|
+
export type MetadataObject = IMetadataSchema.IReference & {
|
|
80
|
+
type: MetadataObjectType;
|
|
81
|
+
};
|
|
82
|
+
export type MetadataAlias = IMetadataSchema.IReference & {
|
|
83
|
+
type: MetadataAliasType;
|
|
84
|
+
};
|
|
85
|
+
/** `MetadataSchema.size()` → reads the pre-baked `size` field. */
|
|
86
|
+
export declare const sizeOf: (m: IMetadataSchema) => number;
|
|
87
|
+
/** `MetadataSchema.getName()` → reads the pre-baked `name` field. */
|
|
88
|
+
export declare const nameOf: (m: IMetadataSchema) => string;
|
|
89
|
+
/** `MetadataSchema.empty()` → reads the pre-baked `empty` field. */
|
|
90
|
+
export declare const emptyOf: (m: IMetadataSchema) => boolean;
|
|
91
|
+
/**
|
|
92
|
+
* Equivalent of the legacy `MetadataSchema.isSoleLiteral()` method:
|
|
93
|
+
* `true` when the schema represents exactly one constant literal value
|
|
94
|
+
* and nothing else. Used by sdk's type printer to fall back to literal
|
|
95
|
+
* emission instead of a union.
|
|
96
|
+
*/
|
|
97
|
+
export declare const isSoleLiteralOf: (m: IMetadataSchema) => boolean;
|
|
98
|
+
export declare namespace MetadataComponents {
|
|
99
|
+
const from: (plain: IMetadataComponents) => MetadataComponents;
|
|
100
|
+
}
|
|
101
|
+
export declare namespace MetadataSchema {
|
|
102
|
+
/**
|
|
103
|
+
* Walks the metadata tree and attaches the resolved `.type` field to
|
|
104
|
+
* every `IReference` it encounters, using the supplied dictionary as
|
|
105
|
+
* the lookup index. This is idempotent — references whose `.type`
|
|
106
|
+
* has already been resolved are left alone — and mutates the input,
|
|
107
|
+
* matching the in-place resolution model `@typia/core` 12.x used.
|
|
108
|
+
*/
|
|
109
|
+
const from: (plain: IMetadataSchema, dictionary?: IMetadataDictionary) => IMetadataSchema;
|
|
110
|
+
}
|
|
111
|
+
export declare namespace MetadataFactory {
|
|
112
|
+
interface IExplore {
|
|
113
|
+
object: IMetadataSchema.IObjectType | null;
|
|
114
|
+
property: string | null;
|
|
115
|
+
parameter: string | null;
|
|
116
|
+
output: boolean;
|
|
117
|
+
}
|
|
118
|
+
interface IError {
|
|
119
|
+
name: string;
|
|
120
|
+
explore: IExplore;
|
|
121
|
+
messages: string[];
|
|
122
|
+
}
|
|
123
|
+
type Validator = (props: {
|
|
124
|
+
metadata: IMetadataSchema;
|
|
125
|
+
explore: IExplore;
|
|
126
|
+
}) => string[];
|
|
127
|
+
/**
|
|
128
|
+
* Walks the metadata tree once, invoking the provided validator on each
|
|
129
|
+
* visited node, and accumulates the produced messages into `IError`
|
|
130
|
+
* entries. The walk skips back-edges through references so cyclic
|
|
131
|
+
* structures terminate. This is a faithful reimplementation of the
|
|
132
|
+
* legacy `@typia/core` walker, kept lean: the typia native transform
|
|
133
|
+
* has already validated structural invariants, so the validator is only
|
|
134
|
+
* called for SDK-side policy checks (JSON-serializability, query/header
|
|
135
|
+
* atomic-only rules, …).
|
|
136
|
+
*/
|
|
137
|
+
const validate: (props: {
|
|
138
|
+
options?: unknown;
|
|
139
|
+
functor: Validator;
|
|
140
|
+
metadata: IMetadataSchema;
|
|
141
|
+
}) => IError[];
|
|
142
|
+
}
|
|
143
|
+
export declare namespace JsonMetadataFactory {
|
|
144
|
+
/**
|
|
145
|
+
* Rejects metadata that cannot be losslessly JSON-serialized. The typia
|
|
146
|
+
* native runtime already screens out most structurally invalid types, so
|
|
147
|
+
* this only adds the JSON-policy bans the legacy `@typia/core` walker
|
|
148
|
+
* enforced — bare `bigint` payloads, function-typed properties, and
|
|
149
|
+
* `Map` / `Set` containers that have no canonical JSON representation.
|
|
150
|
+
*/
|
|
151
|
+
const validate: MetadataFactory.Validator;
|
|
152
|
+
}
|
|
153
|
+
export declare namespace HttpQueryProgrammer {
|
|
154
|
+
const validate: MetadataFactory.Validator;
|
|
155
|
+
}
|
|
156
|
+
export declare namespace HttpHeadersProgrammer {
|
|
157
|
+
const validate: MetadataFactory.Validator;
|
|
158
|
+
}
|
|
159
|
+
export declare namespace HttpParameterProgrammer {
|
|
160
|
+
const validate: MetadataFactory.Validator;
|
|
161
|
+
}
|
|
162
|
+
export declare namespace HttpFormDataProgrammer {
|
|
163
|
+
const validate: MetadataFactory.Validator;
|
|
164
|
+
}
|
|
165
|
+
export declare namespace JsonSchemasProgrammer {
|
|
166
|
+
/**
|
|
167
|
+
* Consumes the per-metadata `jsonSchema` field the nestia transform
|
|
168
|
+
* pre-bakes. Top-level route metadata (success / parameter / exception)
|
|
169
|
+
* always carries a baked schema; for nested metadata (object property
|
|
170
|
+
* values reached by the decomposed-query path), the bake is absent and
|
|
171
|
+
* this function falls back to a minimal JS-side converter that handles
|
|
172
|
+
* the schema shapes decompose actually emits — atomics, constants,
|
|
173
|
+
* templates, arrays of those, named references — without re-implementing
|
|
174
|
+
* the typia native programmer wholesale.
|
|
175
|
+
*/
|
|
176
|
+
const writeSchemas: (props: {
|
|
177
|
+
version: "3.0" | "3.1";
|
|
178
|
+
metadatas: readonly IMetadataSchema[];
|
|
179
|
+
}) => IJsonSchemaCollection;
|
|
180
|
+
}
|
|
@@ -0,0 +1,361 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// nestia-internal namespace of utility functions that fill the surface
|
|
3
|
+
// the legacy `@typia/core` 12.x package exposed at JS runtime. typia v13
|
|
4
|
+
// dropped that package because the equivalent logic lives in the Go-side
|
|
5
|
+
// transform; the nestia native transform now embeds the pre-computed
|
|
6
|
+
// results next to each metadata blob (see `packages/core/native/cmd/
|
|
7
|
+
// ttsc-nestia/sdk_transform.go`), and the helpers here are thin
|
|
8
|
+
// consumers — no runtime class wrapping, no vendored fork.
|
|
9
|
+
//
|
|
10
|
+
// `MetadataComponents.from` is the only utility that performs a real
|
|
11
|
+
// runtime transformation: it walks the aggregated `IMetadataComponents`
|
|
12
|
+
// and indexes each entry by name so the analyzer can resolve
|
|
13
|
+
// cross-reference lookups in O(1). Everything else either reads a
|
|
14
|
+
// pre-baked field or short-circuits because typia's compile-time
|
|
15
|
+
// transform already enforces the invariant.
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
exports.JsonSchemasProgrammer = exports.HttpFormDataProgrammer = exports.HttpParameterProgrammer = exports.HttpHeadersProgrammer = exports.HttpQueryProgrammer = exports.JsonMetadataFactory = exports.MetadataFactory = exports.MetadataSchema = exports.MetadataComponents = exports.isSoleLiteralOf = exports.emptyOf = exports.nameOf = exports.sizeOf = void 0;
|
|
18
|
+
// ---------------------------------------------------------------------
|
|
19
|
+
// Metadata utility functions — read pre-baked fields, no class wrapping.
|
|
20
|
+
// ---------------------------------------------------------------------
|
|
21
|
+
/** `MetadataSchema.size()` → reads the pre-baked `size` field. */
|
|
22
|
+
const sizeOf = (m) => { var _a; return (_a = m.size) !== null && _a !== void 0 ? _a : 0; };
|
|
23
|
+
exports.sizeOf = sizeOf;
|
|
24
|
+
/** `MetadataSchema.getName()` → reads the pre-baked `name` field. */
|
|
25
|
+
const nameOf = (m) => { var _a; return (_a = m.name) !== null && _a !== void 0 ? _a : ""; };
|
|
26
|
+
exports.nameOf = nameOf;
|
|
27
|
+
/** `MetadataSchema.empty()` → reads the pre-baked `empty` field. */
|
|
28
|
+
const emptyOf = (m) => { var _a; return (_a = m.empty) !== null && _a !== void 0 ? _a : false; };
|
|
29
|
+
exports.emptyOf = emptyOf;
|
|
30
|
+
/**
|
|
31
|
+
* Equivalent of the legacy `MetadataSchema.isSoleLiteral()` method:
|
|
32
|
+
* `true` when the schema represents exactly one constant literal value
|
|
33
|
+
* and nothing else. Used by sdk's type printer to fall back to literal
|
|
34
|
+
* emission instead of a union.
|
|
35
|
+
*/
|
|
36
|
+
const isSoleLiteralOf = (m) => {
|
|
37
|
+
if (m.any)
|
|
38
|
+
return false;
|
|
39
|
+
if (m.nullable)
|
|
40
|
+
return false;
|
|
41
|
+
if (m.functions.length !== 0)
|
|
42
|
+
return false;
|
|
43
|
+
if (m.atomics.length !== 0)
|
|
44
|
+
return false;
|
|
45
|
+
if (m.templates.length !== 0)
|
|
46
|
+
return false;
|
|
47
|
+
if (m.arrays.length !== 0)
|
|
48
|
+
return false;
|
|
49
|
+
if (m.tuples.length !== 0)
|
|
50
|
+
return false;
|
|
51
|
+
if (m.objects.length !== 0)
|
|
52
|
+
return false;
|
|
53
|
+
if (m.aliases.length !== 0)
|
|
54
|
+
return false;
|
|
55
|
+
if (m.natives.length !== 0)
|
|
56
|
+
return false;
|
|
57
|
+
if (m.sets.length !== 0)
|
|
58
|
+
return false;
|
|
59
|
+
if (m.maps.length !== 0)
|
|
60
|
+
return false;
|
|
61
|
+
if (m.rest !== null)
|
|
62
|
+
return false;
|
|
63
|
+
if (m.escaped !== null)
|
|
64
|
+
return false;
|
|
65
|
+
if (m.constants.length !== 1)
|
|
66
|
+
return false;
|
|
67
|
+
return m.constants[0].values.length === 1;
|
|
68
|
+
};
|
|
69
|
+
exports.isSoleLiteralOf = isSoleLiteralOf;
|
|
70
|
+
// ---------------------------------------------------------------------
|
|
71
|
+
// `MetadataComponents.from(plain)` — namespace utility, not a class.
|
|
72
|
+
// ---------------------------------------------------------------------
|
|
73
|
+
var MetadataComponents;
|
|
74
|
+
(function (MetadataComponents) {
|
|
75
|
+
MetadataComponents.from = (plain) => {
|
|
76
|
+
const dictionary = {
|
|
77
|
+
objects: new Map(plain.objects.map((o) => [o.name, o])),
|
|
78
|
+
aliases: new Map(plain.aliases.map((a) => [a.name, a])),
|
|
79
|
+
arrays: new Map(plain.arrays.map((a) => [a.name, a])),
|
|
80
|
+
tuples: new Map(plain.tuples.map((t) => [t.name, t])),
|
|
81
|
+
};
|
|
82
|
+
return Object.assign({}, plain, { dictionary });
|
|
83
|
+
};
|
|
84
|
+
})(MetadataComponents || (exports.MetadataComponents = MetadataComponents = {}));
|
|
85
|
+
// ---------------------------------------------------------------------
|
|
86
|
+
// `MetadataSchema.from(plain, _dictionary)` — passthrough.
|
|
87
|
+
// ---------------------------------------------------------------------
|
|
88
|
+
var MetadataSchema;
|
|
89
|
+
(function (MetadataSchema) {
|
|
90
|
+
/**
|
|
91
|
+
* Walks the metadata tree and attaches the resolved `.type` field to
|
|
92
|
+
* every `IReference` it encounters, using the supplied dictionary as
|
|
93
|
+
* the lookup index. This is idempotent — references whose `.type`
|
|
94
|
+
* has already been resolved are left alone — and mutates the input,
|
|
95
|
+
* matching the in-place resolution model `@typia/core` 12.x used.
|
|
96
|
+
*/
|
|
97
|
+
MetadataSchema.from = (plain, dictionary) => {
|
|
98
|
+
if (dictionary !== undefined) {
|
|
99
|
+
attachTypes(plain, dictionary, new WeakSet());
|
|
100
|
+
}
|
|
101
|
+
return plain;
|
|
102
|
+
};
|
|
103
|
+
})(MetadataSchema || (exports.MetadataSchema = MetadataSchema = {}));
|
|
104
|
+
/**
|
|
105
|
+
* The walk tracks visited *targets* (the IObjectType / IArrayType / …
|
|
106
|
+
* instances reached through the dictionary), not the wrapper schemas.
|
|
107
|
+
* Wrapper schemas are reconstructed on the JS side and are not shared
|
|
108
|
+
* across recursive references, so a `visited<IMetadataSchema>` set never
|
|
109
|
+
* matches and the walk would recurse forever on cycles like
|
|
110
|
+
* `interface Node { children: Node[] }`.
|
|
111
|
+
*/
|
|
112
|
+
const attachTypes = (schema, dict, visited) => {
|
|
113
|
+
var _a, _b, _c;
|
|
114
|
+
if (schema === null || schema === undefined)
|
|
115
|
+
return;
|
|
116
|
+
attachReferences(schema.arrays, dict.arrays, visited, (target) => attachTypes(target.value, dict, visited));
|
|
117
|
+
attachReferences(schema.tuples, dict.tuples, visited, (target) => {
|
|
118
|
+
for (const elem of target.elements)
|
|
119
|
+
attachTypes(elem, dict, visited);
|
|
120
|
+
});
|
|
121
|
+
attachReferences(schema.objects, dict.objects, visited, (target) => {
|
|
122
|
+
for (const prop of target.properties)
|
|
123
|
+
attachTypes(prop.value, dict, visited);
|
|
124
|
+
});
|
|
125
|
+
attachReferences(schema.aliases, dict.aliases, visited, (target) => attachTypes(target.value, dict, visited));
|
|
126
|
+
for (const fn of (_a = schema.functions) !== null && _a !== void 0 ? _a : []) {
|
|
127
|
+
for (const param of fn.parameters)
|
|
128
|
+
attachTypes(param.type, dict, visited);
|
|
129
|
+
attachTypes(fn.output, dict, visited);
|
|
130
|
+
}
|
|
131
|
+
for (const set of (_b = schema.sets) !== null && _b !== void 0 ? _b : [])
|
|
132
|
+
attachTypes(set.value, dict, visited);
|
|
133
|
+
for (const map of (_c = schema.maps) !== null && _c !== void 0 ? _c : []) {
|
|
134
|
+
attachTypes(map.key, dict, visited);
|
|
135
|
+
attachTypes(map.value, dict, visited);
|
|
136
|
+
}
|
|
137
|
+
if (schema.rest)
|
|
138
|
+
attachTypes(schema.rest, dict, visited);
|
|
139
|
+
if (schema.escaped) {
|
|
140
|
+
attachTypes(schema.escaped.original, dict, visited);
|
|
141
|
+
attachTypes(schema.escaped.returns, dict, visited);
|
|
142
|
+
}
|
|
143
|
+
};
|
|
144
|
+
const attachReferences = (refs, index, visited, walk) => {
|
|
145
|
+
if (!refs)
|
|
146
|
+
return;
|
|
147
|
+
for (const ref of refs) {
|
|
148
|
+
const mutable = ref;
|
|
149
|
+
if (mutable.type === undefined) {
|
|
150
|
+
const target = index.get(ref.name);
|
|
151
|
+
if (target !== undefined)
|
|
152
|
+
mutable.type = target;
|
|
153
|
+
}
|
|
154
|
+
if (mutable.type !== undefined && visited.has(mutable.type) === false) {
|
|
155
|
+
visited.add(mutable.type);
|
|
156
|
+
walk(mutable.type);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
};
|
|
160
|
+
// ---------------------------------------------------------------------
|
|
161
|
+
// Validators — the typia native transform already enforces most of the
|
|
162
|
+
// invariants the legacy `@typia/core` 12.x helpers re-checked at runtime,
|
|
163
|
+
// but a few JSON-serialization constraints (bare `bigint` payloads, etc.)
|
|
164
|
+
// are SDK-policy choices that the SDK still has to flag itself.
|
|
165
|
+
// ---------------------------------------------------------------------
|
|
166
|
+
var MetadataFactory;
|
|
167
|
+
(function (MetadataFactory) {
|
|
168
|
+
/**
|
|
169
|
+
* Walks the metadata tree once, invoking the provided validator on each
|
|
170
|
+
* visited node, and accumulates the produced messages into `IError`
|
|
171
|
+
* entries. The walk skips back-edges through references so cyclic
|
|
172
|
+
* structures terminate. This is a faithful reimplementation of the
|
|
173
|
+
* legacy `@typia/core` walker, kept lean: the typia native transform
|
|
174
|
+
* has already validated structural invariants, so the validator is only
|
|
175
|
+
* called for SDK-side policy checks (JSON-serializability, query/header
|
|
176
|
+
* atomic-only rules, …).
|
|
177
|
+
*/
|
|
178
|
+
MetadataFactory.validate = (props) => {
|
|
179
|
+
const errors = [];
|
|
180
|
+
// Tracks visited *targets* (IObjectType / IArrayType / IAliasType /
|
|
181
|
+
// ITupleType) so recursive schemas like `interface Node { children:
|
|
182
|
+
// Node[] }` terminate. Wrapper IMetadataSchema instances are not
|
|
183
|
+
// shared across recursive references, so they cannot stand in for
|
|
184
|
+
// the visit marker.
|
|
185
|
+
const visited = new WeakSet();
|
|
186
|
+
const visit = (metadata, explore) => {
|
|
187
|
+
var _a, _b;
|
|
188
|
+
var _c;
|
|
189
|
+
const messages = props.functor({ metadata, explore });
|
|
190
|
+
if (messages.length)
|
|
191
|
+
errors.push({ name: (0, exports.nameOf)(metadata), explore, messages });
|
|
192
|
+
for (const obj of metadata.objects) {
|
|
193
|
+
const type = obj.type;
|
|
194
|
+
if (type === undefined || visited.has(type))
|
|
195
|
+
continue;
|
|
196
|
+
visited.add(type);
|
|
197
|
+
for (const prop of type.properties)
|
|
198
|
+
visit(prop.value, {
|
|
199
|
+
object: type,
|
|
200
|
+
property: (0, exports.nameOf)(prop.key) || String((_c = (_b = (_a = prop.key.constants[0]) === null || _a === void 0 ? void 0 : _a.values[0]) === null || _b === void 0 ? void 0 : _b.value) !== null && _c !== void 0 ? _c : ""),
|
|
201
|
+
parameter: null,
|
|
202
|
+
output: explore.output,
|
|
203
|
+
});
|
|
204
|
+
}
|
|
205
|
+
for (const arr of metadata.arrays) {
|
|
206
|
+
const type = arr.type;
|
|
207
|
+
if (type === undefined || visited.has(type))
|
|
208
|
+
continue;
|
|
209
|
+
visited.add(type);
|
|
210
|
+
visit(type.value, explore);
|
|
211
|
+
}
|
|
212
|
+
for (const tuple of metadata.tuples) {
|
|
213
|
+
const type = tuple.type;
|
|
214
|
+
if (type === undefined || visited.has(type))
|
|
215
|
+
continue;
|
|
216
|
+
visited.add(type);
|
|
217
|
+
for (const elem of type.elements)
|
|
218
|
+
visit(elem, explore);
|
|
219
|
+
}
|
|
220
|
+
for (const alias of metadata.aliases) {
|
|
221
|
+
const type = alias.type;
|
|
222
|
+
if (type === undefined || visited.has(type))
|
|
223
|
+
continue;
|
|
224
|
+
visited.add(type);
|
|
225
|
+
visit(type.value, explore);
|
|
226
|
+
}
|
|
227
|
+
if (metadata.escaped) {
|
|
228
|
+
visit(metadata.escaped.original, explore);
|
|
229
|
+
visit(metadata.escaped.returns, explore);
|
|
230
|
+
}
|
|
231
|
+
};
|
|
232
|
+
visit(props.metadata, {
|
|
233
|
+
object: null,
|
|
234
|
+
property: null,
|
|
235
|
+
parameter: null,
|
|
236
|
+
output: false,
|
|
237
|
+
});
|
|
238
|
+
return errors;
|
|
239
|
+
};
|
|
240
|
+
})(MetadataFactory || (exports.MetadataFactory = MetadataFactory = {}));
|
|
241
|
+
var JsonMetadataFactory;
|
|
242
|
+
(function (JsonMetadataFactory) {
|
|
243
|
+
/**
|
|
244
|
+
* Rejects metadata that cannot be losslessly JSON-serialized. The typia
|
|
245
|
+
* native runtime already screens out most structurally invalid types, so
|
|
246
|
+
* this only adds the JSON-policy bans the legacy `@typia/core` walker
|
|
247
|
+
* enforced — bare `bigint` payloads, function-typed properties, and
|
|
248
|
+
* `Map` / `Set` containers that have no canonical JSON representation.
|
|
249
|
+
*/
|
|
250
|
+
JsonMetadataFactory.validate = (props) => {
|
|
251
|
+
const messages = [];
|
|
252
|
+
if (props.metadata.atomics.some((a) => a.type === "bigint"))
|
|
253
|
+
messages.push("does not allow bigint type in JSON.");
|
|
254
|
+
if (props.metadata.functions.length !== 0)
|
|
255
|
+
messages.push("does not allow function type in JSON.");
|
|
256
|
+
if (props.metadata.sets.length !== 0)
|
|
257
|
+
messages.push("does not allow Set type in JSON.");
|
|
258
|
+
if (props.metadata.maps.length !== 0)
|
|
259
|
+
messages.push("does not allow Map type in JSON.");
|
|
260
|
+
return messages;
|
|
261
|
+
};
|
|
262
|
+
})(JsonMetadataFactory || (exports.JsonMetadataFactory = JsonMetadataFactory = {}));
|
|
263
|
+
var HttpQueryProgrammer;
|
|
264
|
+
(function (HttpQueryProgrammer) {
|
|
265
|
+
HttpQueryProgrammer.validate = () => [];
|
|
266
|
+
})(HttpQueryProgrammer || (exports.HttpQueryProgrammer = HttpQueryProgrammer = {}));
|
|
267
|
+
var HttpHeadersProgrammer;
|
|
268
|
+
(function (HttpHeadersProgrammer) {
|
|
269
|
+
HttpHeadersProgrammer.validate = () => [];
|
|
270
|
+
})(HttpHeadersProgrammer || (exports.HttpHeadersProgrammer = HttpHeadersProgrammer = {}));
|
|
271
|
+
var HttpParameterProgrammer;
|
|
272
|
+
(function (HttpParameterProgrammer) {
|
|
273
|
+
HttpParameterProgrammer.validate = () => [];
|
|
274
|
+
})(HttpParameterProgrammer || (exports.HttpParameterProgrammer = HttpParameterProgrammer = {}));
|
|
275
|
+
var HttpFormDataProgrammer;
|
|
276
|
+
(function (HttpFormDataProgrammer) {
|
|
277
|
+
HttpFormDataProgrammer.validate = () => [];
|
|
278
|
+
})(HttpFormDataProgrammer || (exports.HttpFormDataProgrammer = HttpFormDataProgrammer = {}));
|
|
279
|
+
// ---------------------------------------------------------------------
|
|
280
|
+
// `JsonSchemasProgrammer.writeSchemas` — consumes the per-metadata
|
|
281
|
+
// pre-baked `jsonSchema` field the nestia transform emits.
|
|
282
|
+
// ---------------------------------------------------------------------
|
|
283
|
+
var JsonSchemasProgrammer;
|
|
284
|
+
(function (JsonSchemasProgrammer) {
|
|
285
|
+
/**
|
|
286
|
+
* Consumes the per-metadata `jsonSchema` field the nestia transform
|
|
287
|
+
* pre-bakes. Top-level route metadata (success / parameter / exception)
|
|
288
|
+
* always carries a baked schema; for nested metadata (object property
|
|
289
|
+
* values reached by the decomposed-query path), the bake is absent and
|
|
290
|
+
* this function falls back to a minimal JS-side converter that handles
|
|
291
|
+
* the schema shapes decompose actually emits — atomics, constants,
|
|
292
|
+
* templates, arrays of those, named references — without re-implementing
|
|
293
|
+
* the typia native programmer wholesale.
|
|
294
|
+
*/
|
|
295
|
+
JsonSchemasProgrammer.writeSchemas = (props) => {
|
|
296
|
+
var _a, _b;
|
|
297
|
+
const components = { schemas: {} };
|
|
298
|
+
const schemas = [];
|
|
299
|
+
for (const m of props.metadatas) {
|
|
300
|
+
const baked = m.jsonSchema;
|
|
301
|
+
if (baked !== undefined) {
|
|
302
|
+
schemas.push(baked.schema);
|
|
303
|
+
Object.assign(((_a = components.schemas) !== null && _a !== void 0 ? _a : (components.schemas = {})), (_b = baked.components.schemas) !== null && _b !== void 0 ? _b : {});
|
|
304
|
+
}
|
|
305
|
+
else {
|
|
306
|
+
schemas.push(schemaFromMetadata(m));
|
|
307
|
+
}
|
|
308
|
+
}
|
|
309
|
+
return {
|
|
310
|
+
version: props.version,
|
|
311
|
+
components,
|
|
312
|
+
schemas,
|
|
313
|
+
};
|
|
314
|
+
};
|
|
315
|
+
})(JsonSchemasProgrammer || (exports.JsonSchemasProgrammer = JsonSchemasProgrammer = {}));
|
|
316
|
+
const schemaFromMetadata = (m) => {
|
|
317
|
+
const union = [];
|
|
318
|
+
if (m.nullable)
|
|
319
|
+
union.push({ type: "null" });
|
|
320
|
+
for (const atomic of m.atomics)
|
|
321
|
+
union.push(schemaFromAtomic(atomic));
|
|
322
|
+
for (const constant of m.constants)
|
|
323
|
+
for (const value of constant.values)
|
|
324
|
+
union.push({
|
|
325
|
+
const: value.value,
|
|
326
|
+
});
|
|
327
|
+
for (const tpl of m.templates) {
|
|
328
|
+
union.push({ type: "string" });
|
|
329
|
+
void tpl;
|
|
330
|
+
}
|
|
331
|
+
for (const arr of m.arrays) {
|
|
332
|
+
const inner = arr.type;
|
|
333
|
+
union.push({
|
|
334
|
+
type: "array",
|
|
335
|
+
items: inner ? schemaFromMetadata(inner.value) : {},
|
|
336
|
+
});
|
|
337
|
+
}
|
|
338
|
+
for (const obj of m.objects)
|
|
339
|
+
union.push({
|
|
340
|
+
$ref: `#/components/schemas/${obj.name}`,
|
|
341
|
+
});
|
|
342
|
+
for (const alias of m.aliases)
|
|
343
|
+
union.push({
|
|
344
|
+
$ref: `#/components/schemas/${alias.name}`,
|
|
345
|
+
});
|
|
346
|
+
if (m.any || union.length === 0)
|
|
347
|
+
return {};
|
|
348
|
+
if (union.length === 1)
|
|
349
|
+
return union[0];
|
|
350
|
+
return { oneOf: union };
|
|
351
|
+
};
|
|
352
|
+
const schemaFromAtomic = (atomic) => {
|
|
353
|
+
if (atomic.type === "boolean")
|
|
354
|
+
return { type: "boolean" };
|
|
355
|
+
if (atomic.type === "bigint" || atomic.type === "number")
|
|
356
|
+
return { type: atomic.type === "bigint" ? "integer" : "number" };
|
|
357
|
+
if (atomic.type === "string")
|
|
358
|
+
return { type: "string" };
|
|
359
|
+
return {};
|
|
360
|
+
};
|
|
361
|
+
//# sourceMappingURL=legacy.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"legacy.js","sourceRoot":"","sources":["../../src/internal/legacy.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
import ts from "typescript";
|
|
2
1
|
import { INestiaConfig } from "../INestiaConfig";
|
|
3
2
|
import { INestiaSdkInput } from "./INestiaSdkInput";
|
|
4
3
|
import { IReflectOperationError } from "./IReflectOperationError";
|
|
5
4
|
export interface INestiaProject {
|
|
6
5
|
config: INestiaConfig;
|
|
7
6
|
input: INestiaSdkInput;
|
|
8
|
-
checker: ts.TypeChecker;
|
|
9
7
|
errors: IReflectOperationError[];
|
|
10
8
|
warnings: IReflectOperationError[];
|
|
11
9
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { IMetadataComponents, IMetadataSchema, ValidationPipe } from "@typia/interface";
|
|
2
2
|
import { IJsDocTagInfo } from "typia";
|
|
3
|
-
import { IReflectImport } from "
|
|
4
|
-
import { IReflectType } from "
|
|
3
|
+
import { IReflectImport } from "./IReflectImport";
|
|
4
|
+
import { IReflectType } from "./IReflectType";
|
|
5
5
|
export interface IOperationMetadata {
|
|
6
6
|
parameters: IOperationMetadata.IParameter[];
|
|
7
7
|
success: IOperationMetadata.IResponse;
|
|
@@ -22,11 +22,6 @@ export declare namespace IOperationMetadata {
|
|
|
22
22
|
primitive: ValidationPipe<ISchema, IError>;
|
|
23
23
|
resolved: ValidationPipe<ISchema, IError>;
|
|
24
24
|
}
|
|
25
|
-
interface IException {
|
|
26
|
-
type: IReflectType | null;
|
|
27
|
-
imports: IReflectImport[];
|
|
28
|
-
primitive: ValidationPipe<ISchema, IError>;
|
|
29
|
-
}
|
|
30
25
|
interface ISchema {
|
|
31
26
|
components: IMetadataComponents;
|
|
32
27
|
metadata: IMetadataSchema;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IOperationMetadata.js","sourceRoot":"","sources":["../../src/structures/IOperationMetadata.ts"],"names":[],"mappings":""}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MetadataFactory } from "
|
|
1
|
+
import { MetadataFactory } from "../internal/legacy";
|
|
2
2
|
import { IMetadataComponents, IMetadataSchema } from "@typia/interface";
|
|
3
3
|
import { IReflectType } from "./IReflectType";
|
|
4
4
|
export interface IReflectHttpOperationException {
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MetadataFactory } from "
|
|
1
|
+
import { MetadataFactory } from "../internal/legacy";
|
|
2
2
|
import { IJsDocTagInfo, IMetadataComponents, IMetadataSchema } from "@typia/interface";
|
|
3
3
|
import { IReflectType } from "./IReflectType";
|
|
4
4
|
export type IReflectHttpOperationParameter = IReflectHttpOperationParameter.IBody | IReflectHttpOperationParameter.IHeaders | IReflectHttpOperationParameter.IParam | IReflectHttpOperationParameter.IQuery;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { MetadataFactory } from "
|
|
1
|
+
import { MetadataFactory } from "../internal/legacy";
|
|
2
2
|
import { IMetadataComponents, IMetadataSchema } from "@typia/interface";
|
|
3
3
|
import { IReflectType } from "./IReflectType";
|
|
4
4
|
export interface IReflectHttpOperationSuccess {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IReflectOperationError.js","sourceRoot":"","sources":["../../src/structures/IReflectOperationError.ts"],"names":[],"mappings":";;;AAWA,IAAiB,sBAAsB,CActC;AAdD,WAAiB,sBAAsB;IACrC,MAAa,GAAG;QACd,YAAmC,KAA6B;
|
|
1
|
+
{"version":3,"file":"IReflectOperationError.js","sourceRoot":"","sources":["../../src/structures/IReflectOperationError.ts"],"names":[],"mappings":";;;AAWA,IAAiB,sBAAsB,CActC;AAdD,WAAiB,sBAAsB;IACrC,MAAa,GAAG;QACd,YAAmC,KAA6B;yBAA7B,KAAK;QAA2B,CAAC;QAE7D,IAAI,CAAC,GAAQ;;YAClB,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,KAAK,CAAC,IAAI;gBACpC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,GAAG,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC;iBACrC,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,GAAG,CAAC,KAAK,CAAC,KAAK;gBAC3C,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC;iBACvC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,KAAK,GAAG,CAAC,KAAK,CAAC,QAAQ;gBACjD,OAAO,OAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC,GAAG,OAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,mCAAI,EAAE,CAAC,CAAC;YAClE,OAAO,OAAC,IAAI,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC,GAAG,OAAC,GAAG,CAAC,KAAK,CAAC,IAAI,mCAAI,EAAE,CAAC,CAAC;QAC1D,CAAC;KACF;IAZY,uBAAA,GAAG,MAYf,CAAA;AACH,CAAC,EAdgB,sBAAsB,aAAtB,sBAAsB,GAAtB,sBAAsB,QActC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { VERSION_NEUTRAL } from "@nestjs/common";
|
|
2
|
-
import
|
|
2
|
+
import { IJsDocTagInfo } from "typia";
|
|
3
3
|
import { IReflectImport } from "./IReflectImport";
|
|
4
4
|
import { IReflectWebSocketOperationParameter } from "./IReflectWebSocketOperationParameter";
|
|
5
5
|
export interface IReflectWebSocketOperation {
|
|
@@ -11,5 +11,5 @@ export interface IReflectWebSocketOperation {
|
|
|
11
11
|
parameters: IReflectWebSocketOperationParameter[];
|
|
12
12
|
imports: IReflectImport[];
|
|
13
13
|
description: string | null;
|
|
14
|
-
jsDocTags:
|
|
14
|
+
jsDocTags: IJsDocTagInfo[];
|
|
15
15
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { IMetadataDictionary } from "
|
|
1
|
+
import { IMetadataDictionary } from "../internal/legacy";
|
|
2
2
|
import { INestiaProject } from "./INestiaProject";
|
|
3
3
|
import { ITypedHttpRoute } from "./ITypedHttpRoute";
|
|
4
4
|
import { ITypedWebSocketRoute } from "./ITypedWebSocketRoute";
|