@typia/transform 12.0.0-dev.20260225
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/LICENSE +21 -0
- package/README.md +19 -0
- package/lib/CallExpressionTransformer.d.ts +17 -0
- package/lib/CallExpressionTransformer.js +467 -0
- package/lib/CallExpressionTransformer.js.map +1 -0
- package/lib/CallExpressionTransformer.mjs +462 -0
- package/lib/CallExpressionTransformer.mjs.map +1 -0
- package/lib/FileTransformer.d.ts +14 -0
- package/lib/FileTransformer.js +106 -0
- package/lib/FileTransformer.js.map +1 -0
- package/lib/FileTransformer.mjs +103 -0
- package/lib/FileTransformer.mjs.map +1 -0
- package/lib/ITransformProps.d.ts +17 -0
- package/lib/ITransformProps.js +3 -0
- package/lib/ITransformProps.js.map +1 -0
- package/lib/ITransformProps.mjs +2 -0
- package/lib/ITransformProps.mjs.map +1 -0
- package/lib/ImportTransformer.d.ts +16 -0
- package/lib/ImportTransformer.js +176 -0
- package/lib/ImportTransformer.js.map +1 -0
- package/lib/ImportTransformer.mjs +173 -0
- package/lib/ImportTransformer.mjs.map +1 -0
- package/lib/NodeTransformer.d.ts +16 -0
- package/lib/NodeTransformer.js +26 -0
- package/lib/NodeTransformer.js.map +1 -0
- package/lib/NodeTransformer.mjs +23 -0
- package/lib/NodeTransformer.mjs.map +1 -0
- package/lib/TransformerError.d.ts +42 -0
- package/lib/TransformerError.js +74 -0
- package/lib/TransformerError.js.map +1 -0
- package/lib/TransformerError.mjs +75 -0
- package/lib/TransformerError.mjs.map +1 -0
- package/lib/TypiaGenerator.d.ts +8 -0
- package/lib/TypiaGenerator.js +141 -0
- package/lib/TypiaGenerator.js.map +1 -0
- package/lib/TypiaGenerator.mjs +128 -0
- package/lib/TypiaGenerator.mjs.map +1 -0
- package/lib/features/AssertTransformer.d.ts +5 -0
- package/lib/features/AssertTransformer.js +16 -0
- package/lib/features/AssertTransformer.js.map +1 -0
- package/lib/features/AssertTransformer.mjs +23 -0
- package/lib/features/AssertTransformer.mjs.map +1 -0
- package/lib/features/CreateAssertTransformer.d.ts +5 -0
- package/lib/features/CreateAssertTransformer.js +16 -0
- package/lib/features/CreateAssertTransformer.js.map +1 -0
- package/lib/features/CreateAssertTransformer.mjs +23 -0
- package/lib/features/CreateAssertTransformer.mjs.map +1 -0
- package/lib/features/CreateIsTransformer.d.ts +5 -0
- package/lib/features/CreateIsTransformer.js +10 -0
- package/lib/features/CreateIsTransformer.js.map +1 -0
- package/lib/features/CreateIsTransformer.mjs +17 -0
- package/lib/features/CreateIsTransformer.mjs.map +1 -0
- package/lib/features/CreateRandomTransformer.d.ts +5 -0
- package/lib/features/CreateRandomTransformer.js +34 -0
- package/lib/features/CreateRandomTransformer.js.map +1 -0
- package/lib/features/CreateRandomTransformer.mjs +40 -0
- package/lib/features/CreateRandomTransformer.mjs.map +1 -0
- package/lib/features/CreateValidateTransformer.d.ts +5 -0
- package/lib/features/CreateValidateTransformer.js +10 -0
- package/lib/features/CreateValidateTransformer.js.map +1 -0
- package/lib/features/CreateValidateTransformer.mjs +17 -0
- package/lib/features/CreateValidateTransformer.mjs.map +1 -0
- package/lib/features/IsTransformer.d.ts +5 -0
- package/lib/features/IsTransformer.js +10 -0
- package/lib/features/IsTransformer.js.map +1 -0
- package/lib/features/IsTransformer.mjs +17 -0
- package/lib/features/IsTransformer.mjs.map +1 -0
- package/lib/features/RandomTransformer.d.ts +5 -0
- package/lib/features/RandomTransformer.js +39 -0
- package/lib/features/RandomTransformer.js.map +1 -0
- package/lib/features/RandomTransformer.mjs +35 -0
- package/lib/features/RandomTransformer.mjs.map +1 -0
- package/lib/features/ValidateTransformer.d.ts +5 -0
- package/lib/features/ValidateTransformer.js +10 -0
- package/lib/features/ValidateTransformer.js.map +1 -0
- package/lib/features/ValidateTransformer.mjs +17 -0
- package/lib/features/ValidateTransformer.mjs.map +1 -0
- package/lib/features/functional/FunctionalGenericTransformer.d.ts +21 -0
- package/lib/features/functional/FunctionalGenericTransformer.js +27 -0
- package/lib/features/functional/FunctionalGenericTransformer.js.map +1 -0
- package/lib/features/functional/FunctionalGenericTransformer.mjs +33 -0
- package/lib/features/functional/FunctionalGenericTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpAssertFormDataTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpAssertFormDataTransformer.js +10 -0
- package/lib/features/http/CreateHttpAssertFormDataTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpAssertFormDataTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpAssertFormDataTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpAssertHeadersTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpAssertHeadersTransformer.js +10 -0
- package/lib/features/http/CreateHttpAssertHeadersTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpAssertHeadersTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpAssertHeadersTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpAssertQueryTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpAssertQueryTransformer.js +10 -0
- package/lib/features/http/CreateHttpAssertQueryTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpAssertQueryTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpAssertQueryTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpFormDataTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpFormDataTransformer.js +10 -0
- package/lib/features/http/CreateHttpFormDataTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpFormDataTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpFormDataTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpHeadersTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpHeadersTransformer.js +10 -0
- package/lib/features/http/CreateHttpHeadersTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpHeadersTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpHeadersTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpIsFormDataTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpIsFormDataTransformer.js +10 -0
- package/lib/features/http/CreateHttpIsFormDataTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpIsFormDataTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpIsFormDataTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpIsHeadersTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpIsHeadersTransformer.js +10 -0
- package/lib/features/http/CreateHttpIsHeadersTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpIsHeadersTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpIsHeadersTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpIsQueryTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpIsQueryTransformer.js +10 -0
- package/lib/features/http/CreateHttpIsQueryTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpIsQueryTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpIsQueryTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpParameterTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpParameterTransformer.js +10 -0
- package/lib/features/http/CreateHttpParameterTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpParameterTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpParameterTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpQueryTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpQueryTransformer.js +10 -0
- package/lib/features/http/CreateHttpQueryTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpQueryTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpQueryTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpValidateFormDataTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpValidateFormDataTransformer.js +10 -0
- package/lib/features/http/CreateHttpValidateFormDataTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpValidateFormDataTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpValidateFormDataTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpValidateHeadersTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpValidateHeadersTransformer.js +10 -0
- package/lib/features/http/CreateHttpValidateHeadersTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpValidateHeadersTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpValidateHeadersTransformer.mjs.map +1 -0
- package/lib/features/http/CreateHttpValidateQueryTransformer.d.ts +4 -0
- package/lib/features/http/CreateHttpValidateQueryTransformer.js +10 -0
- package/lib/features/http/CreateHttpValidateQueryTransformer.js.map +1 -0
- package/lib/features/http/CreateHttpValidateQueryTransformer.mjs +14 -0
- package/lib/features/http/CreateHttpValidateQueryTransformer.mjs.map +1 -0
- package/lib/features/http/HttpAssertFormDataTransformer.d.ts +4 -0
- package/lib/features/http/HttpAssertFormDataTransformer.js +10 -0
- package/lib/features/http/HttpAssertFormDataTransformer.js.map +1 -0
- package/lib/features/http/HttpAssertFormDataTransformer.mjs +14 -0
- package/lib/features/http/HttpAssertFormDataTransformer.mjs.map +1 -0
- package/lib/features/http/HttpAssertHeadersTransformer.d.ts +4 -0
- package/lib/features/http/HttpAssertHeadersTransformer.js +10 -0
- package/lib/features/http/HttpAssertHeadersTransformer.js.map +1 -0
- package/lib/features/http/HttpAssertHeadersTransformer.mjs +14 -0
- package/lib/features/http/HttpAssertHeadersTransformer.mjs.map +1 -0
- package/lib/features/http/HttpAssertQueryTransformer.d.ts +4 -0
- package/lib/features/http/HttpAssertQueryTransformer.js +10 -0
- package/lib/features/http/HttpAssertQueryTransformer.js.map +1 -0
- package/lib/features/http/HttpAssertQueryTransformer.mjs +14 -0
- package/lib/features/http/HttpAssertQueryTransformer.mjs.map +1 -0
- package/lib/features/http/HttpFormDataTransformer.d.ts +4 -0
- package/lib/features/http/HttpFormDataTransformer.js +10 -0
- package/lib/features/http/HttpFormDataTransformer.js.map +1 -0
- package/lib/features/http/HttpFormDataTransformer.mjs +14 -0
- package/lib/features/http/HttpFormDataTransformer.mjs.map +1 -0
- package/lib/features/http/HttpHeadersTransformer.d.ts +4 -0
- package/lib/features/http/HttpHeadersTransformer.js +10 -0
- package/lib/features/http/HttpHeadersTransformer.js.map +1 -0
- package/lib/features/http/HttpHeadersTransformer.mjs +14 -0
- package/lib/features/http/HttpHeadersTransformer.mjs.map +1 -0
- package/lib/features/http/HttpIsFormDataTransformer.d.ts +4 -0
- package/lib/features/http/HttpIsFormDataTransformer.js +10 -0
- package/lib/features/http/HttpIsFormDataTransformer.js.map +1 -0
- package/lib/features/http/HttpIsFormDataTransformer.mjs +14 -0
- package/lib/features/http/HttpIsFormDataTransformer.mjs.map +1 -0
- package/lib/features/http/HttpIsHeadersTransformer.d.ts +4 -0
- package/lib/features/http/HttpIsHeadersTransformer.js +10 -0
- package/lib/features/http/HttpIsHeadersTransformer.js.map +1 -0
- package/lib/features/http/HttpIsHeadersTransformer.mjs +14 -0
- package/lib/features/http/HttpIsHeadersTransformer.mjs.map +1 -0
- package/lib/features/http/HttpIsQueryTransformer.d.ts +4 -0
- package/lib/features/http/HttpIsQueryTransformer.js +10 -0
- package/lib/features/http/HttpIsQueryTransformer.js.map +1 -0
- package/lib/features/http/HttpIsQueryTransformer.mjs +14 -0
- package/lib/features/http/HttpIsQueryTransformer.mjs.map +1 -0
- package/lib/features/http/HttpParameterTransformer.d.ts +4 -0
- package/lib/features/http/HttpParameterTransformer.js +10 -0
- package/lib/features/http/HttpParameterTransformer.js.map +1 -0
- package/lib/features/http/HttpParameterTransformer.mjs +14 -0
- package/lib/features/http/HttpParameterTransformer.mjs.map +1 -0
- package/lib/features/http/HttpQueryTransformer.d.ts +4 -0
- package/lib/features/http/HttpQueryTransformer.js +10 -0
- package/lib/features/http/HttpQueryTransformer.js.map +1 -0
- package/lib/features/http/HttpQueryTransformer.mjs +14 -0
- package/lib/features/http/HttpQueryTransformer.mjs.map +1 -0
- package/lib/features/http/HttpValidateFormDataTransformer.d.ts +4 -0
- package/lib/features/http/HttpValidateFormDataTransformer.js +10 -0
- package/lib/features/http/HttpValidateFormDataTransformer.js.map +1 -0
- package/lib/features/http/HttpValidateFormDataTransformer.mjs +14 -0
- package/lib/features/http/HttpValidateFormDataTransformer.mjs.map +1 -0
- package/lib/features/http/HttpValidateHeadersTransformer.d.ts +4 -0
- package/lib/features/http/HttpValidateHeadersTransformer.js +10 -0
- package/lib/features/http/HttpValidateHeadersTransformer.js.map +1 -0
- package/lib/features/http/HttpValidateHeadersTransformer.mjs +14 -0
- package/lib/features/http/HttpValidateHeadersTransformer.mjs.map +1 -0
- package/lib/features/http/HttpValidateQueryTransformer.d.ts +4 -0
- package/lib/features/http/HttpValidateQueryTransformer.js +10 -0
- package/lib/features/http/HttpValidateQueryTransformer.js.map +1 -0
- package/lib/features/http/HttpValidateQueryTransformer.mjs +14 -0
- package/lib/features/http/HttpValidateQueryTransformer.mjs.map +1 -0
- package/lib/features/json/JsonApplicationTransformer.d.ts +5 -0
- package/lib/features/json/JsonApplicationTransformer.js +84 -0
- package/lib/features/json/JsonApplicationTransformer.js.map +1 -0
- package/lib/features/json/JsonApplicationTransformer.mjs +80 -0
- package/lib/features/json/JsonApplicationTransformer.mjs.map +1 -0
- package/lib/features/json/JsonAssertParseTransformer.d.ts +4 -0
- package/lib/features/json/JsonAssertParseTransformer.js +10 -0
- package/lib/features/json/JsonAssertParseTransformer.js.map +1 -0
- package/lib/features/json/JsonAssertParseTransformer.mjs +14 -0
- package/lib/features/json/JsonAssertParseTransformer.mjs.map +1 -0
- package/lib/features/json/JsonAssertStringifyTransformer.d.ts +4 -0
- package/lib/features/json/JsonAssertStringifyTransformer.js +10 -0
- package/lib/features/json/JsonAssertStringifyTransformer.js.map +1 -0
- package/lib/features/json/JsonAssertStringifyTransformer.mjs +14 -0
- package/lib/features/json/JsonAssertStringifyTransformer.mjs.map +1 -0
- package/lib/features/json/JsonCreateAssertParseTransformer.d.ts +4 -0
- package/lib/features/json/JsonCreateAssertParseTransformer.js +10 -0
- package/lib/features/json/JsonCreateAssertParseTransformer.js.map +1 -0
- package/lib/features/json/JsonCreateAssertParseTransformer.mjs +14 -0
- package/lib/features/json/JsonCreateAssertParseTransformer.mjs.map +1 -0
- package/lib/features/json/JsonCreateAssertStringifyTransformer.d.ts +4 -0
- package/lib/features/json/JsonCreateAssertStringifyTransformer.js +10 -0
- package/lib/features/json/JsonCreateAssertStringifyTransformer.js.map +1 -0
- package/lib/features/json/JsonCreateAssertStringifyTransformer.mjs +14 -0
- package/lib/features/json/JsonCreateAssertStringifyTransformer.mjs.map +1 -0
- package/lib/features/json/JsonCreateIsParseTransformer.d.ts +4 -0
- package/lib/features/json/JsonCreateIsParseTransformer.js +10 -0
- package/lib/features/json/JsonCreateIsParseTransformer.js.map +1 -0
- package/lib/features/json/JsonCreateIsParseTransformer.mjs +14 -0
- package/lib/features/json/JsonCreateIsParseTransformer.mjs.map +1 -0
- package/lib/features/json/JsonCreateIsStringifyTransformer.d.ts +4 -0
- package/lib/features/json/JsonCreateIsStringifyTransformer.js +10 -0
- package/lib/features/json/JsonCreateIsStringifyTransformer.js.map +1 -0
- package/lib/features/json/JsonCreateIsStringifyTransformer.mjs +14 -0
- package/lib/features/json/JsonCreateIsStringifyTransformer.mjs.map +1 -0
- package/lib/features/json/JsonCreateStringifyTransformer.d.ts +4 -0
- package/lib/features/json/JsonCreateStringifyTransformer.js +10 -0
- package/lib/features/json/JsonCreateStringifyTransformer.js.map +1 -0
- package/lib/features/json/JsonCreateStringifyTransformer.mjs +14 -0
- package/lib/features/json/JsonCreateStringifyTransformer.mjs.map +1 -0
- package/lib/features/json/JsonCreateValidateParseTransformer.d.ts +4 -0
- package/lib/features/json/JsonCreateValidateParseTransformer.js +10 -0
- package/lib/features/json/JsonCreateValidateParseTransformer.js.map +1 -0
- package/lib/features/json/JsonCreateValidateParseTransformer.mjs +14 -0
- package/lib/features/json/JsonCreateValidateParseTransformer.mjs.map +1 -0
- package/lib/features/json/JsonCreateValidateStringifyProgrammer.d.ts +4 -0
- package/lib/features/json/JsonCreateValidateStringifyProgrammer.js +10 -0
- package/lib/features/json/JsonCreateValidateStringifyProgrammer.js.map +1 -0
- package/lib/features/json/JsonCreateValidateStringifyProgrammer.mjs +14 -0
- package/lib/features/json/JsonCreateValidateStringifyProgrammer.mjs.map +1 -0
- package/lib/features/json/JsonIsParseTransformer.d.ts +4 -0
- package/lib/features/json/JsonIsParseTransformer.js +10 -0
- package/lib/features/json/JsonIsParseTransformer.js.map +1 -0
- package/lib/features/json/JsonIsParseTransformer.mjs +14 -0
- package/lib/features/json/JsonIsParseTransformer.mjs.map +1 -0
- package/lib/features/json/JsonIsStringifyTransformer.d.ts +4 -0
- package/lib/features/json/JsonIsStringifyTransformer.js +10 -0
- package/lib/features/json/JsonIsStringifyTransformer.js.map +1 -0
- package/lib/features/json/JsonIsStringifyTransformer.mjs +14 -0
- package/lib/features/json/JsonIsStringifyTransformer.mjs.map +1 -0
- package/lib/features/json/JsonSchemaTransformer.d.ts +5 -0
- package/lib/features/json/JsonSchemaTransformer.js +104 -0
- package/lib/features/json/JsonSchemaTransformer.js.map +1 -0
- package/lib/features/json/JsonSchemaTransformer.mjs +100 -0
- package/lib/features/json/JsonSchemaTransformer.mjs.map +1 -0
- package/lib/features/json/JsonSchemasTransformer.d.ts +5 -0
- package/lib/features/json/JsonSchemasTransformer.js +114 -0
- package/lib/features/json/JsonSchemasTransformer.js.map +1 -0
- package/lib/features/json/JsonSchemasTransformer.mjs +110 -0
- package/lib/features/json/JsonSchemasTransformer.mjs.map +1 -0
- package/lib/features/json/JsonStringifyTransformer.d.ts +4 -0
- package/lib/features/json/JsonStringifyTransformer.js +10 -0
- package/lib/features/json/JsonStringifyTransformer.js.map +1 -0
- package/lib/features/json/JsonStringifyTransformer.mjs +14 -0
- package/lib/features/json/JsonStringifyTransformer.mjs.map +1 -0
- package/lib/features/json/JsonValidateParseTransformer.d.ts +4 -0
- package/lib/features/json/JsonValidateParseTransformer.js +10 -0
- package/lib/features/json/JsonValidateParseTransformer.js.map +1 -0
- package/lib/features/json/JsonValidateParseTransformer.mjs +14 -0
- package/lib/features/json/JsonValidateParseTransformer.mjs.map +1 -0
- package/lib/features/json/JsonValidateStringifyTransformer.d.ts +4 -0
- package/lib/features/json/JsonValidateStringifyTransformer.js +10 -0
- package/lib/features/json/JsonValidateStringifyTransformer.js.map +1 -0
- package/lib/features/json/JsonValidateStringifyTransformer.mjs +14 -0
- package/lib/features/json/JsonValidateStringifyTransformer.mjs.map +1 -0
- package/lib/features/llm/LlmApplicationTransformer.d.ts +12 -0
- package/lib/features/llm/LlmApplicationTransformer.js +123 -0
- package/lib/features/llm/LlmApplicationTransformer.js.map +1 -0
- package/lib/features/llm/LlmApplicationTransformer.mjs +118 -0
- package/lib/features/llm/LlmApplicationTransformer.mjs.map +1 -0
- package/lib/features/llm/LlmControllerTransformer.d.ts +5 -0
- package/lib/features/llm/LlmControllerTransformer.js +61 -0
- package/lib/features/llm/LlmControllerTransformer.js.map +1 -0
- package/lib/features/llm/LlmControllerTransformer.mjs +57 -0
- package/lib/features/llm/LlmControllerTransformer.mjs.map +1 -0
- package/lib/features/llm/LlmParametersTransformer.d.ts +5 -0
- package/lib/features/llm/LlmParametersTransformer.js +71 -0
- package/lib/features/llm/LlmParametersTransformer.js.map +1 -0
- package/lib/features/llm/LlmParametersTransformer.mjs +67 -0
- package/lib/features/llm/LlmParametersTransformer.mjs.map +1 -0
- package/lib/features/llm/LlmSchemaTransformer.d.ts +5 -0
- package/lib/features/llm/LlmSchemaTransformer.js +90 -0
- package/lib/features/llm/LlmSchemaTransformer.js.map +1 -0
- package/lib/features/llm/LlmSchemaTransformer.mjs +86 -0
- package/lib/features/llm/LlmSchemaTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscAssertCloneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscAssertCloneTransformer.js +10 -0
- package/lib/features/misc/MiscAssertCloneTransformer.js.map +1 -0
- package/lib/features/misc/MiscAssertCloneTransformer.mjs +14 -0
- package/lib/features/misc/MiscAssertCloneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscAssertPruneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscAssertPruneTransformer.js +10 -0
- package/lib/features/misc/MiscAssertPruneTransformer.js.map +1 -0
- package/lib/features/misc/MiscAssertPruneTransformer.mjs +14 -0
- package/lib/features/misc/MiscAssertPruneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCloneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCloneTransformer.js +10 -0
- package/lib/features/misc/MiscCloneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCloneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCloneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCreateAssertCloneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCreateAssertCloneTransformer.js +10 -0
- package/lib/features/misc/MiscCreateAssertCloneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCreateAssertCloneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCreateAssertCloneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCreateAssertPruneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCreateAssertPruneTransformer.js +10 -0
- package/lib/features/misc/MiscCreateAssertPruneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCreateAssertPruneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCreateAssertPruneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCreateCloneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCreateCloneTransformer.js +10 -0
- package/lib/features/misc/MiscCreateCloneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCreateCloneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCreateCloneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCreateIsCloneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCreateIsCloneTransformer.js +10 -0
- package/lib/features/misc/MiscCreateIsCloneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCreateIsCloneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCreateIsCloneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCreateIsPruneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCreateIsPruneTransformer.js +10 -0
- package/lib/features/misc/MiscCreateIsPruneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCreateIsPruneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCreateIsPruneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCreatePruneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCreatePruneTransformer.js +10 -0
- package/lib/features/misc/MiscCreatePruneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCreatePruneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCreatePruneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCreateValidateCloneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCreateValidateCloneTransformer.js +10 -0
- package/lib/features/misc/MiscCreateValidateCloneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCreateValidateCloneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCreateValidateCloneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscCreateValidatePruneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscCreateValidatePruneTransformer.js +10 -0
- package/lib/features/misc/MiscCreateValidatePruneTransformer.js.map +1 -0
- package/lib/features/misc/MiscCreateValidatePruneTransformer.mjs +14 -0
- package/lib/features/misc/MiscCreateValidatePruneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscIsCloneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscIsCloneTransformer.js +10 -0
- package/lib/features/misc/MiscIsCloneTransformer.js.map +1 -0
- package/lib/features/misc/MiscIsCloneTransformer.mjs +14 -0
- package/lib/features/misc/MiscIsCloneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscIsPruneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscIsPruneTransformer.js +10 -0
- package/lib/features/misc/MiscIsPruneTransformer.js.map +1 -0
- package/lib/features/misc/MiscIsPruneTransformer.mjs +14 -0
- package/lib/features/misc/MiscIsPruneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscLiteralsTransformer.d.ts +5 -0
- package/lib/features/misc/MiscLiteralsTransformer.js +31 -0
- package/lib/features/misc/MiscLiteralsTransformer.js.map +1 -0
- package/lib/features/misc/MiscLiteralsTransformer.mjs +30 -0
- package/lib/features/misc/MiscLiteralsTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscPruneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscPruneTransformer.js +10 -0
- package/lib/features/misc/MiscPruneTransformer.js.map +1 -0
- package/lib/features/misc/MiscPruneTransformer.mjs +14 -0
- package/lib/features/misc/MiscPruneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscValidateCloneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscValidateCloneTransformer.js +10 -0
- package/lib/features/misc/MiscValidateCloneTransformer.js.map +1 -0
- package/lib/features/misc/MiscValidateCloneTransformer.mjs +14 -0
- package/lib/features/misc/MiscValidateCloneTransformer.mjs.map +1 -0
- package/lib/features/misc/MiscValidatePruneTransformer.d.ts +4 -0
- package/lib/features/misc/MiscValidatePruneTransformer.js +10 -0
- package/lib/features/misc/MiscValidatePruneTransformer.js.map +1 -0
- package/lib/features/misc/MiscValidatePruneTransformer.mjs +14 -0
- package/lib/features/misc/MiscValidatePruneTransformer.mjs.map +1 -0
- package/lib/features/notations/NotationAssertGeneralTransformer.d.ts +4 -0
- package/lib/features/notations/NotationAssertGeneralTransformer.js +11 -0
- package/lib/features/notations/NotationAssertGeneralTransformer.js.map +1 -0
- package/lib/features/notations/NotationAssertGeneralTransformer.mjs +18 -0
- package/lib/features/notations/NotationAssertGeneralTransformer.mjs.map +1 -0
- package/lib/features/notations/NotationCreateAssertGeneralTransformer.d.ts +4 -0
- package/lib/features/notations/NotationCreateAssertGeneralTransformer.js +11 -0
- package/lib/features/notations/NotationCreateAssertGeneralTransformer.js.map +1 -0
- package/lib/features/notations/NotationCreateAssertGeneralTransformer.mjs +18 -0
- package/lib/features/notations/NotationCreateAssertGeneralTransformer.mjs.map +1 -0
- package/lib/features/notations/NotationCreateGeneralTransformer.d.ts +4 -0
- package/lib/features/notations/NotationCreateGeneralTransformer.js +11 -0
- package/lib/features/notations/NotationCreateGeneralTransformer.js.map +1 -0
- package/lib/features/notations/NotationCreateGeneralTransformer.mjs +18 -0
- package/lib/features/notations/NotationCreateGeneralTransformer.mjs.map +1 -0
- package/lib/features/notations/NotationCreateIsGeneralTransformer.d.ts +4 -0
- package/lib/features/notations/NotationCreateIsGeneralTransformer.js +11 -0
- package/lib/features/notations/NotationCreateIsGeneralTransformer.js.map +1 -0
- package/lib/features/notations/NotationCreateIsGeneralTransformer.mjs +18 -0
- package/lib/features/notations/NotationCreateIsGeneralTransformer.mjs.map +1 -0
- package/lib/features/notations/NotationCreateValidateGeneralTransformer.d.ts +4 -0
- package/lib/features/notations/NotationCreateValidateGeneralTransformer.js +11 -0
- package/lib/features/notations/NotationCreateValidateGeneralTransformer.js.map +1 -0
- package/lib/features/notations/NotationCreateValidateGeneralTransformer.mjs +18 -0
- package/lib/features/notations/NotationCreateValidateGeneralTransformer.mjs.map +1 -0
- package/lib/features/notations/NotationGeneralTransformer.d.ts +4 -0
- package/lib/features/notations/NotationGeneralTransformer.js +10 -0
- package/lib/features/notations/NotationGeneralTransformer.js.map +1 -0
- package/lib/features/notations/NotationGeneralTransformer.mjs +17 -0
- package/lib/features/notations/NotationGeneralTransformer.mjs.map +1 -0
- package/lib/features/notations/NotationIsGeneralTransformer.d.ts +4 -0
- package/lib/features/notations/NotationIsGeneralTransformer.js +11 -0
- package/lib/features/notations/NotationIsGeneralTransformer.js.map +1 -0
- package/lib/features/notations/NotationIsGeneralTransformer.mjs +18 -0
- package/lib/features/notations/NotationIsGeneralTransformer.mjs.map +1 -0
- package/lib/features/notations/NotationValidateGeneralTransformer.d.ts +4 -0
- package/lib/features/notations/NotationValidateGeneralTransformer.js +11 -0
- package/lib/features/notations/NotationValidateGeneralTransformer.js.map +1 -0
- package/lib/features/notations/NotationValidateGeneralTransformer.mjs +18 -0
- package/lib/features/notations/NotationValidateGeneralTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufAssertDecodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufAssertDecodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufAssertDecodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufAssertDecodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufAssertDecodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufAssertEncodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufAssertEncodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufAssertEncodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufAssertEncodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufAssertEncodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufCreateAssertDecodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufCreateAssertDecodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufCreateAssertDecodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufCreateAssertDecodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufCreateAssertDecodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufCreateAssertEncodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufCreateAssertEncodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufCreateAssertEncodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufCreateAssertEncodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufCreateAssertEncodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufCreateDecodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufCreateDecodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufCreateDecodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufCreateDecodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufCreateDecodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufCreateEncodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufCreateEncodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufCreateEncodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufCreateEncodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufCreateEncodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufCreateIsDecodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufCreateIsDecodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufCreateIsDecodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufCreateIsDecodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufCreateIsDecodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufCreateIsEncodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufCreateIsEncodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufCreateIsEncodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufCreateIsEncodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufCreateIsEncodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufCreateValidateDecodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufCreateValidateDecodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufCreateValidateDecodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufCreateValidateDecodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufCreateValidateDecodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufCreateValidateEncodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufCreateValidateEncodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufCreateValidateEncodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufCreateValidateEncodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufCreateValidateEncodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufDecodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufDecodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufDecodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufDecodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufDecodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufEncodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufEncodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufEncodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufEncodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufEncodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufIsDecodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufIsDecodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufIsDecodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufIsDecodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufIsDecodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufIsEncodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufIsEncodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufIsEncodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufIsEncodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufIsEncodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufMessageTransformer.d.ts +5 -0
- package/lib/features/protobuf/ProtobufMessageTransformer.js +29 -0
- package/lib/features/protobuf/ProtobufMessageTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufMessageTransformer.mjs +29 -0
- package/lib/features/protobuf/ProtobufMessageTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufValidateDecodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufValidateDecodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufValidateDecodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufValidateDecodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufValidateDecodeTransformer.mjs.map +1 -0
- package/lib/features/protobuf/ProtobufValidateEncodeTransformer.d.ts +4 -0
- package/lib/features/protobuf/ProtobufValidateEncodeTransformer.js +10 -0
- package/lib/features/protobuf/ProtobufValidateEncodeTransformer.js.map +1 -0
- package/lib/features/protobuf/ProtobufValidateEncodeTransformer.mjs +14 -0
- package/lib/features/protobuf/ProtobufValidateEncodeTransformer.mjs.map +1 -0
- package/lib/features/reflect/ReflectMetadataTransformer.d.ts +5 -0
- package/lib/features/reflect/ReflectMetadataTransformer.js +62 -0
- package/lib/features/reflect/ReflectMetadataTransformer.js.map +1 -0
- package/lib/features/reflect/ReflectMetadataTransformer.mjs +58 -0
- package/lib/features/reflect/ReflectMetadataTransformer.mjs.map +1 -0
- package/lib/features/reflect/ReflectNameTransformer.d.ts +5 -0
- package/lib/features/reflect/ReflectNameTransformer.js +69 -0
- package/lib/features/reflect/ReflectNameTransformer.js.map +1 -0
- package/lib/features/reflect/ReflectNameTransformer.mjs +65 -0
- package/lib/features/reflect/ReflectNameTransformer.mjs.map +1 -0
- package/lib/index.d.ts +5 -0
- package/lib/index.js +22 -0
- package/lib/index.js.map +1 -0
- package/lib/index.mjs +8 -0
- package/lib/index.mjs.map +1 -0
- package/lib/internal/GenericTransformer.d.ts +11 -0
- package/lib/internal/GenericTransformer.js +76 -0
- package/lib/internal/GenericTransformer.js.map +1 -0
- package/lib/internal/GenericTransformer.mjs +72 -0
- package/lib/internal/GenericTransformer.mjs.map +1 -0
- package/lib/transform.d.ts +38 -0
- package/lib/transform.js +68 -0
- package/lib/transform.js.map +1 -0
- package/lib/transform.mjs +64 -0
- package/lib/transform.mjs.map +1 -0
- package/package.json +95 -0
- package/src/CallExpressionTransformer.ts +567 -0
- package/src/FileTransformer.ts +143 -0
- package/src/ITransformProps.ts +20 -0
- package/src/ImportTransformer.ts +262 -0
- package/src/NodeTransformer.ts +25 -0
- package/src/TransformerError.ts +85 -0
- package/src/TypiaGenerator.ts +174 -0
- package/src/features/AssertTransformer.ts +24 -0
- package/src/features/CreateAssertTransformer.ts +24 -0
- package/src/features/CreateIsTransformer.ts +18 -0
- package/src/features/CreateRandomTransformer.ts +42 -0
- package/src/features/CreateValidateTransformer.ts +18 -0
- package/src/features/IsTransformer.ts +18 -0
- package/src/features/RandomTransformer.ts +40 -0
- package/src/features/ValidateTransformer.ts +18 -0
- package/src/features/functional/FunctionalGenericTransformer.ts +55 -0
- package/src/features/http/CreateHttpAssertFormDataTransformer.ts +13 -0
- package/src/features/http/CreateHttpAssertHeadersTransformer.ts +13 -0
- package/src/features/http/CreateHttpAssertQueryTransformer.ts +13 -0
- package/src/features/http/CreateHttpFormDataTransformer.ts +13 -0
- package/src/features/http/CreateHttpHeadersTransformer.ts +13 -0
- package/src/features/http/CreateHttpIsFormDataTransformer.ts +13 -0
- package/src/features/http/CreateHttpIsHeadersTransformer.ts +13 -0
- package/src/features/http/CreateHttpIsQueryTransformer.ts +13 -0
- package/src/features/http/CreateHttpParameterTransformer.ts +13 -0
- package/src/features/http/CreateHttpQueryTransformer.ts +13 -0
- package/src/features/http/CreateHttpValidateFormDataTransformer.ts +13 -0
- package/src/features/http/CreateHttpValidateHeadersTransformer.ts +13 -0
- package/src/features/http/CreateHttpValidateQueryTransformer.ts +13 -0
- package/src/features/http/HttpAssertFormDataTransformer.ts +13 -0
- package/src/features/http/HttpAssertHeadersTransformer.ts +13 -0
- package/src/features/http/HttpAssertQueryTransformer.ts +13 -0
- package/src/features/http/HttpFormDataTransformer.ts +13 -0
- package/src/features/http/HttpHeadersTransformer.ts +13 -0
- package/src/features/http/HttpIsFormDataTransformer.ts +13 -0
- package/src/features/http/HttpIsHeadersTransformer.ts +13 -0
- package/src/features/http/HttpIsQueryTransformer.ts +13 -0
- package/src/features/http/HttpParameterTransformer.ts +13 -0
- package/src/features/http/HttpQueryTransformer.ts +13 -0
- package/src/features/http/HttpValidateFormDataTransformer.ts +13 -0
- package/src/features/http/HttpValidateHeadersTransformer.ts +13 -0
- package/src/features/http/HttpValidateQueryTransformer.ts +13 -0
- package/src/features/json/JsonApplicationTransformer.ts +102 -0
- package/src/features/json/JsonAssertParseTransformer.ts +13 -0
- package/src/features/json/JsonAssertStringifyTransformer.ts +13 -0
- package/src/features/json/JsonCreateAssertParseTransformer.ts +13 -0
- package/src/features/json/JsonCreateAssertStringifyTransformer.ts +13 -0
- package/src/features/json/JsonCreateIsParseTransformer.ts +13 -0
- package/src/features/json/JsonCreateIsStringifyTransformer.ts +13 -0
- package/src/features/json/JsonCreateStringifyTransformer.ts +13 -0
- package/src/features/json/JsonCreateValidateParseTransformer.ts +13 -0
- package/src/features/json/JsonCreateValidateStringifyProgrammer.ts +13 -0
- package/src/features/json/JsonIsParseTransformer.ts +13 -0
- package/src/features/json/JsonIsStringifyTransformer.ts +13 -0
- package/src/features/json/JsonSchemaTransformer.ts +132 -0
- package/src/features/json/JsonSchemasTransformer.ts +142 -0
- package/src/features/json/JsonStringifyTransformer.ts +13 -0
- package/src/features/json/JsonValidateParseTransformer.ts +13 -0
- package/src/features/json/JsonValidateStringifyTransformer.ts +13 -0
- package/src/features/llm/LlmApplicationTransformer.ts +206 -0
- package/src/features/llm/LlmControllerTransformer.ts +82 -0
- package/src/features/llm/LlmParametersTransformer.ts +88 -0
- package/src/features/llm/LlmSchemaTransformer.ts +133 -0
- package/src/features/misc/MiscAssertCloneTransformer.ts +13 -0
- package/src/features/misc/MiscAssertPruneTransformer.ts +13 -0
- package/src/features/misc/MiscCloneTransformer.ts +13 -0
- package/src/features/misc/MiscCreateAssertCloneTransformer.ts +13 -0
- package/src/features/misc/MiscCreateAssertPruneTransformer.ts +13 -0
- package/src/features/misc/MiscCreateCloneTransformer.ts +13 -0
- package/src/features/misc/MiscCreateIsCloneTransformer.ts +13 -0
- package/src/features/misc/MiscCreateIsPruneTransformer.ts +13 -0
- package/src/features/misc/MiscCreatePruneTransformer.ts +13 -0
- package/src/features/misc/MiscCreateValidateCloneTransformer.ts +13 -0
- package/src/features/misc/MiscCreateValidatePruneTransformer.ts +13 -0
- package/src/features/misc/MiscIsCloneTransformer.ts +13 -0
- package/src/features/misc/MiscIsPruneTransformer.ts +13 -0
- package/src/features/misc/MiscLiteralsTransformer.ts +34 -0
- package/src/features/misc/MiscPruneTransformer.ts +13 -0
- package/src/features/misc/MiscValidateCloneTransformer.ts +13 -0
- package/src/features/misc/MiscValidatePruneTransformer.ts +13 -0
- package/src/features/notations/NotationAssertGeneralTransformer.ts +19 -0
- package/src/features/notations/NotationCreateAssertGeneralTransformer.ts +19 -0
- package/src/features/notations/NotationCreateGeneralTransformer.ts +19 -0
- package/src/features/notations/NotationCreateIsGeneralTransformer.ts +19 -0
- package/src/features/notations/NotationCreateValidateGeneralTransformer.ts +19 -0
- package/src/features/notations/NotationGeneralTransformer.ts +18 -0
- package/src/features/notations/NotationIsGeneralTransformer.ts +19 -0
- package/src/features/notations/NotationValidateGeneralTransformer.ts +19 -0
- package/src/features/protobuf/ProtobufAssertDecodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufAssertEncodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufCreateAssertDecodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufCreateAssertEncodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufCreateDecodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufCreateEncodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufCreateIsDecodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufCreateIsEncodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufCreateValidateDecodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufCreateValidateEncodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufDecodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufEncodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufIsDecodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufIsEncodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufMessageTransformer.ts +34 -0
- package/src/features/protobuf/ProtobufValidateDecodeTransformer.ts +13 -0
- package/src/features/protobuf/ProtobufValidateEncodeTransformer.ts +13 -0
- package/src/features/reflect/ReflectMetadataTransformer.ts +69 -0
- package/src/features/reflect/ReflectNameTransformer.ts +81 -0
- package/src/index.ts +7 -0
- package/src/internal/GenericTransformer.ts +101 -0
- package/src/transform.ts +68 -0
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ReflectMetadataTransformer = void 0;
|
|
7
|
+
const core_1 = require("@typia/core");
|
|
8
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
const TransformerError_1 = require("../../TransformerError");
|
|
10
|
+
var ReflectMetadataTransformer;
|
|
11
|
+
(function (ReflectMetadataTransformer) {
|
|
12
|
+
ReflectMetadataTransformer.transform = (props) => {
|
|
13
|
+
var _a;
|
|
14
|
+
if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
|
|
15
|
+
throw new TransformerError_1.TransformerError({
|
|
16
|
+
code: "typia.reflect.metadata",
|
|
17
|
+
message: "no generic argument.",
|
|
18
|
+
});
|
|
19
|
+
// VALIDATE TUPLE ARGUMENTS
|
|
20
|
+
const top = props.expression.typeArguments[0];
|
|
21
|
+
if (!typescript_1.default.isTupleTypeNode(top))
|
|
22
|
+
return props.expression;
|
|
23
|
+
else if (top.elements.some((child) => !typescript_1.default.isTypeNode(child)))
|
|
24
|
+
return props.expression;
|
|
25
|
+
// GET TYPES
|
|
26
|
+
const types = top.elements.map((child) => props.context.checker.getTypeFromTypeNode(child));
|
|
27
|
+
if (types.some((t) => t.isTypeParameter()))
|
|
28
|
+
throw new TransformerError_1.TransformerError({
|
|
29
|
+
code: "typia.reflect.metadata",
|
|
30
|
+
message: "non-specified generic argument(s).",
|
|
31
|
+
});
|
|
32
|
+
// METADATA
|
|
33
|
+
const components = new core_1.MetadataStorage();
|
|
34
|
+
const schemas = types.map((type) => {
|
|
35
|
+
const result = core_1.MetadataFactory.analyze({
|
|
36
|
+
checker: props.context.checker,
|
|
37
|
+
transformer: props.context.transformer,
|
|
38
|
+
options: {
|
|
39
|
+
escape: true,
|
|
40
|
+
constant: true,
|
|
41
|
+
absorb: true,
|
|
42
|
+
functional: true,
|
|
43
|
+
},
|
|
44
|
+
components: components,
|
|
45
|
+
type,
|
|
46
|
+
});
|
|
47
|
+
if (result.success === false)
|
|
48
|
+
throw TransformerError_1.TransformerError.from({
|
|
49
|
+
code: "typia.reflect.metadata",
|
|
50
|
+
errors: result.errors,
|
|
51
|
+
});
|
|
52
|
+
return result.data;
|
|
53
|
+
});
|
|
54
|
+
// CONVERT TO PRIMITIVE TYPE
|
|
55
|
+
const collection = {
|
|
56
|
+
schemas: schemas.map((s) => s.toJSON()),
|
|
57
|
+
components: components.toJSON(),
|
|
58
|
+
};
|
|
59
|
+
return core_1.LiteralFactory.write(collection);
|
|
60
|
+
};
|
|
61
|
+
})(ReflectMetadataTransformer || (exports.ReflectMetadataTransformer = ReflectMetadataTransformer = {}));
|
|
62
|
+
//# sourceMappingURL=ReflectMetadataTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReflectMetadataTransformer.js","sourceRoot":"","sources":["../../../src/features/reflect/ReflectMetadataTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAKqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,0BAA0B,CAwD1C;AAxDD,WAAiB,0BAA0B;IAC5B,oCAAS,GAAG,CACvB,KAAsD,EACvC,EAAE;;QACjB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QAEL,2BAA2B;QAC3B,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,UAAU,CAAC;aACjD,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,oBAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC,UAAU,CAAC;QAE1B,YAAY;QACZ,MAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAClD,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC,CAChE,CAAC;QACF,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,oCAAoC;aAC9C,CAAC,CAAC;QAEL,WAAW;QACX,MAAM,UAAU,GAAoB,IAAI,sBAAe,EAAE,CAAC;QAC1D,MAAM,OAAO,GAA0B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YACxD,MAAM,MAAM,GAAG,sBAAe,CAAC,OAAO,CAAC;gBACrC,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;gBAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;gBACtC,OAAO,EAAE;oBACP,MAAM,EAAE,IAAI;oBACZ,QAAQ,EAAE,IAAI;oBACd,MAAM,EAAE,IAAI;oBACZ,UAAU,EAAE,IAAI;iBACjB;gBACD,UAAU,EAAE,UAAU;gBACtB,IAAI;aACL,CAAC,CAAC;YACH,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;oBAC1B,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB,CAAC,CAAC;YACL,OAAO,MAAM,CAAC,IAAI,CAAC;QACrB,CAAC,CAAC,CAAC;QAEH,4BAA4B;QAC5B,MAAM,UAAU,GAA8B;YAC5C,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;YACvC,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;SAChC,CAAC;QACF,OAAO,qBAAc,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;IAC1C,CAAC,CAAC;AACJ,CAAC,EAxDgB,0BAA0B,0CAA1B,0BAA0B,QAwD1C"}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
import { MetadataStorage, MetadataFactory, LiteralFactory } from '@typia/core';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { TransformerError } from '../../TransformerError.mjs';
|
|
4
|
+
|
|
5
|
+
var ReflectMetadataTransformer;
|
|
6
|
+
(function (ReflectMetadataTransformer) {
|
|
7
|
+
ReflectMetadataTransformer.transform = (props) => {
|
|
8
|
+
if (!props.expression.typeArguments?.length)
|
|
9
|
+
throw new TransformerError({
|
|
10
|
+
code: "typia.reflect.metadata",
|
|
11
|
+
message: "no generic argument.",
|
|
12
|
+
});
|
|
13
|
+
// VALIDATE TUPLE ARGUMENTS
|
|
14
|
+
const top = props.expression.typeArguments[0];
|
|
15
|
+
if (!ts.isTupleTypeNode(top))
|
|
16
|
+
return props.expression;
|
|
17
|
+
else if (top.elements.some((child) => !ts.isTypeNode(child)))
|
|
18
|
+
return props.expression;
|
|
19
|
+
// GET TYPES
|
|
20
|
+
const types = top.elements.map((child) => props.context.checker.getTypeFromTypeNode(child));
|
|
21
|
+
if (types.some((t) => t.isTypeParameter()))
|
|
22
|
+
throw new TransformerError({
|
|
23
|
+
code: "typia.reflect.metadata",
|
|
24
|
+
message: "non-specified generic argument(s).",
|
|
25
|
+
});
|
|
26
|
+
// METADATA
|
|
27
|
+
const components = new MetadataStorage();
|
|
28
|
+
const schemas = types.map((type) => {
|
|
29
|
+
const result = MetadataFactory.analyze({
|
|
30
|
+
checker: props.context.checker,
|
|
31
|
+
transformer: props.context.transformer,
|
|
32
|
+
options: {
|
|
33
|
+
escape: true,
|
|
34
|
+
constant: true,
|
|
35
|
+
absorb: true,
|
|
36
|
+
functional: true,
|
|
37
|
+
},
|
|
38
|
+
components: components,
|
|
39
|
+
type,
|
|
40
|
+
});
|
|
41
|
+
if (result.success === false)
|
|
42
|
+
throw TransformerError.from({
|
|
43
|
+
code: "typia.reflect.metadata",
|
|
44
|
+
errors: result.errors,
|
|
45
|
+
});
|
|
46
|
+
return result.data;
|
|
47
|
+
});
|
|
48
|
+
// CONVERT TO PRIMITIVE TYPE
|
|
49
|
+
const collection = {
|
|
50
|
+
schemas: schemas.map((s) => s.toJSON()),
|
|
51
|
+
components: components.toJSON(),
|
|
52
|
+
};
|
|
53
|
+
return LiteralFactory.write(collection);
|
|
54
|
+
};
|
|
55
|
+
})(ReflectMetadataTransformer || (ReflectMetadataTransformer = {}));
|
|
56
|
+
|
|
57
|
+
export { ReflectMetadataTransformer };
|
|
58
|
+
//# sourceMappingURL=ReflectMetadataTransformer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReflectMetadataTransformer.mjs","sources":["../../../src/features/reflect/ReflectMetadataTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYM,IAAW;AAAjB,CAAA,UAAiB,0BAA0B,EAAA;AAC5B,IAAA,0BAAA,CAAA,SAAS,GAAG,CACvB,KAAsD,KACrC;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;;QAGJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,IAAI,CAAC,EAAE,CAAC,eAAe,CAAC,GAAG,CAAC;YAAE,OAAO,KAAK,CAAC,UAAU;AAChD,aAAA,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,KAAK,KAAK,CAAC,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC;YAC1D,OAAO,KAAK,CAAC,UAAU;;QAGzB,MAAM,KAAK,GAAc,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,KAAK,KAC9C,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAoB,CAAC,CAChE;AACD,QAAA,IAAI,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,eAAe,EAAE,CAAC;YACxC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,oCAAoC;AAC9C,aAAA,CAAC;;AAGJ,QAAA,MAAM,UAAU,GAAoB,IAAI,eAAe,EAAE;QACzD,MAAM,OAAO,GAA0B,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,KAAI;AACxD,YAAA,MAAM,MAAM,GAAG,eAAe,CAAC,OAAO,CAAC;AACrC,gBAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,gBAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,gBAAA,OAAO,EAAE;AACP,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,QAAQ,EAAE,IAAI;AACd,oBAAA,MAAM,EAAE,IAAI;AACZ,oBAAA,UAAU,EAAE,IAAI;AACjB,iBAAA;AACD,gBAAA,UAAU,EAAE,UAAU;gBACtB,IAAI;AACL,aAAA,CAAC;AACF,YAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;gBAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,oBAAA,IAAI,EAAE,wBAAwB;oBAC9B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,iBAAA,CAAC;YACJ,OAAO,MAAM,CAAC,IAAI;AACpB,QAAA,CAAC,CAAC;;AAGF,QAAA,MAAM,UAAU,GAA8B;AAC5C,YAAA,OAAO,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,CAAC;AACvC,YAAA,UAAU,EAAE,UAAU,CAAC,MAAM,EAAE;SAChC;AACD,QAAA,OAAO,cAAc,CAAC,KAAK,CAAC,UAAU,CAAC;AACzC,IAAA,CAAC;AACH,CAAC,EAxDgB,0BAA0B,KAA1B,0BAA0B,GAAA,EAAA,CAAA,CAAA;;;;"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.ReflectNameTransformer = void 0;
|
|
7
|
+
const core_1 = require("@typia/core");
|
|
8
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
9
|
+
const TransformerError_1 = require("../../TransformerError");
|
|
10
|
+
var ReflectNameTransformer;
|
|
11
|
+
(function (ReflectNameTransformer) {
|
|
12
|
+
ReflectNameTransformer.transform = (props) => {
|
|
13
|
+
var _a;
|
|
14
|
+
if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a.length))
|
|
15
|
+
throw new TransformerError_1.TransformerError({
|
|
16
|
+
code: "typia.reflect.metadata",
|
|
17
|
+
message: "no generic argument.",
|
|
18
|
+
});
|
|
19
|
+
const top = props.expression.typeArguments[0];
|
|
20
|
+
const regular = (() => {
|
|
21
|
+
// CHECK SECOND ARGUMENT EXISTENCE
|
|
22
|
+
const second = props.expression.typeArguments[1];
|
|
23
|
+
if (second === undefined)
|
|
24
|
+
return false;
|
|
25
|
+
// GET BOOLEAN VALUE
|
|
26
|
+
const value = getMetadata({
|
|
27
|
+
context: props.context,
|
|
28
|
+
node: second,
|
|
29
|
+
});
|
|
30
|
+
return value.size() === 1 &&
|
|
31
|
+
value.constants.length === 1 &&
|
|
32
|
+
value.constants[0].type === "boolean" &&
|
|
33
|
+
value.constants[0].values.length === 1
|
|
34
|
+
? value.constants[0].values[0].value
|
|
35
|
+
: false;
|
|
36
|
+
})();
|
|
37
|
+
// RETURNS NAME
|
|
38
|
+
return typescript_1.default.factory.createStringLiteral(regular
|
|
39
|
+
? getMetadata({
|
|
40
|
+
context: props.context,
|
|
41
|
+
node: top,
|
|
42
|
+
}).getName()
|
|
43
|
+
: top.getFullText());
|
|
44
|
+
};
|
|
45
|
+
})(ReflectNameTransformer || (exports.ReflectNameTransformer = ReflectNameTransformer = {}));
|
|
46
|
+
const getMetadata = (props) => {
|
|
47
|
+
const type = props.context.checker.getTypeFromTypeNode(props.node);
|
|
48
|
+
const collection = new core_1.MetadataStorage({
|
|
49
|
+
replace: core_1.MetadataStorage.replace,
|
|
50
|
+
});
|
|
51
|
+
const result = core_1.MetadataFactory.analyze({
|
|
52
|
+
checker: props.context.checker,
|
|
53
|
+
transformer: props.context.transformer,
|
|
54
|
+
options: {
|
|
55
|
+
absorb: false,
|
|
56
|
+
constant: true,
|
|
57
|
+
escape: false,
|
|
58
|
+
},
|
|
59
|
+
components: collection,
|
|
60
|
+
type,
|
|
61
|
+
});
|
|
62
|
+
if (result.success === false)
|
|
63
|
+
throw TransformerError_1.TransformerError.from({
|
|
64
|
+
code: "typia.reflect.name",
|
|
65
|
+
errors: result.errors,
|
|
66
|
+
});
|
|
67
|
+
return result.data;
|
|
68
|
+
};
|
|
69
|
+
//# sourceMappingURL=ReflectNameTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReflectNameTransformer.js","sourceRoot":"","sources":["../../../src/features/reflect/ReflectNameTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,sCAKqB;AAErB,4DAA4B;AAG5B,6DAA0D;AAE1D,IAAiB,sBAAsB,CAsCtC;AAtCD,WAAiB,sBAAsB;IACxB,gCAAS,GAAG,CACvB,KAAsD,EACvC,EAAE;;QACjB,IAAI,CAAC,CAAA,MAAA,KAAK,CAAC,UAAU,CAAC,aAAa,0CAAE,MAAM,CAAA;YACzC,MAAM,IAAI,mCAAgB,CAAC;gBACzB,IAAI,EAAE,wBAAwB;gBAC9B,OAAO,EAAE,sBAAsB;aAChC,CAAC,CAAC;QACL,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;QACxD,MAAM,OAAO,GAAY,CAAC,GAAG,EAAE;YAC7B,kCAAkC;YAClC,MAAM,MAAM,GAAwB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE,CAAC;YACvE,IAAI,MAAM,KAAK,SAAS;gBAAE,OAAO,KAAK,CAAC;YAEvC,oBAAoB;YACpB,MAAM,KAAK,GAAmB,WAAW,CAAC;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,MAAM;aACb,CAAC,CAAC;YACH,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;gBACvB,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,SAAS;gBACtC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC;gBACvC,CAAC,CAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC,KAAiB;gBACnD,CAAC,CAAC,KAAK,CAAC;QACZ,CAAC,CAAC,EAAE,CAAC;QAEL,eAAe;QACf,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC,OAAO;YACL,CAAC,CAAC,WAAW,CAAC;gBACV,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,IAAI,EAAE,GAAG;aACV,CAAC,CAAC,OAAO,EAAE;YACd,CAAC,CAAC,GAAG,CAAC,WAAW,EAAE,CACtB,CAAC;IACJ,CAAC,CAAC;AACJ,CAAC,EAtCgB,sBAAsB,sCAAtB,sBAAsB,QAsCtC;AAED,MAAM,WAAW,GAAG,CAAC,KAGpB,EAAkB,EAAE;IACnB,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC7D,KAAK,CAAC,IAAmB,CAC1B,CAAC;IACF,MAAM,UAAU,GAAoB,IAAI,sBAAe,CAAC;QACtD,OAAO,EAAE,sBAAe,CAAC,OAAO;KACjC,CAAC,CAAC;IACH,MAAM,MAAM,GACV,sBAAe,CAAC,OAAO,CAAC;QACtB,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;QAC9B,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;QACtC,OAAO,EAAE;YACP,MAAM,EAAE,KAAK;YACb,QAAQ,EAAE,IAAI;YACd,MAAM,EAAE,KAAK;SACd;QACD,UAAU,EAAE,UAAU;QACtB,IAAI;KACL,CAAC,CAAC;IACL,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,mCAAgB,CAAC,IAAI,CAAC;YAC1B,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;SACtB,CAAC,CAAC;IACL,OAAO,MAAM,CAAC,IAAI,CAAC;AACrB,CAAC,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { MetadataStorage, MetadataFactory } from '@typia/core';
|
|
2
|
+
import ts from 'typescript';
|
|
3
|
+
import { TransformerError } from '../../TransformerError.mjs';
|
|
4
|
+
|
|
5
|
+
var ReflectNameTransformer;
|
|
6
|
+
(function (ReflectNameTransformer) {
|
|
7
|
+
ReflectNameTransformer.transform = (props) => {
|
|
8
|
+
if (!props.expression.typeArguments?.length)
|
|
9
|
+
throw new TransformerError({
|
|
10
|
+
code: "typia.reflect.metadata",
|
|
11
|
+
message: "no generic argument.",
|
|
12
|
+
});
|
|
13
|
+
const top = props.expression.typeArguments[0];
|
|
14
|
+
const regular = (() => {
|
|
15
|
+
// CHECK SECOND ARGUMENT EXISTENCE
|
|
16
|
+
const second = props.expression.typeArguments[1];
|
|
17
|
+
if (second === undefined)
|
|
18
|
+
return false;
|
|
19
|
+
// GET BOOLEAN VALUE
|
|
20
|
+
const value = getMetadata({
|
|
21
|
+
context: props.context,
|
|
22
|
+
node: second,
|
|
23
|
+
});
|
|
24
|
+
return value.size() === 1 &&
|
|
25
|
+
value.constants.length === 1 &&
|
|
26
|
+
value.constants[0].type === "boolean" &&
|
|
27
|
+
value.constants[0].values.length === 1
|
|
28
|
+
? value.constants[0].values[0].value
|
|
29
|
+
: false;
|
|
30
|
+
})();
|
|
31
|
+
// RETURNS NAME
|
|
32
|
+
return ts.factory.createStringLiteral(regular
|
|
33
|
+
? getMetadata({
|
|
34
|
+
context: props.context,
|
|
35
|
+
node: top,
|
|
36
|
+
}).getName()
|
|
37
|
+
: top.getFullText());
|
|
38
|
+
};
|
|
39
|
+
})(ReflectNameTransformer || (ReflectNameTransformer = {}));
|
|
40
|
+
const getMetadata = (props) => {
|
|
41
|
+
const type = props.context.checker.getTypeFromTypeNode(props.node);
|
|
42
|
+
const collection = new MetadataStorage({
|
|
43
|
+
replace: MetadataStorage.replace,
|
|
44
|
+
});
|
|
45
|
+
const result = MetadataFactory.analyze({
|
|
46
|
+
checker: props.context.checker,
|
|
47
|
+
transformer: props.context.transformer,
|
|
48
|
+
options: {
|
|
49
|
+
absorb: false,
|
|
50
|
+
constant: true,
|
|
51
|
+
escape: false,
|
|
52
|
+
},
|
|
53
|
+
components: collection,
|
|
54
|
+
type,
|
|
55
|
+
});
|
|
56
|
+
if (result.success === false)
|
|
57
|
+
throw TransformerError.from({
|
|
58
|
+
code: "typia.reflect.name",
|
|
59
|
+
errors: result.errors,
|
|
60
|
+
});
|
|
61
|
+
return result.data;
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
export { ReflectNameTransformer };
|
|
65
|
+
//# sourceMappingURL=ReflectNameTransformer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ReflectNameTransformer.mjs","sources":["../../../src/features/reflect/ReflectNameTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":";;;;AAYM,IAAW;AAAjB,CAAA,UAAiB,sBAAsB,EAAA;AACxB,IAAA,sBAAA,CAAA,SAAS,GAAG,CACvB,KAAsD,KACrC;AACjB,QAAA,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,aAAa,EAAE,MAAM;YACzC,MAAM,IAAI,gBAAgB,CAAC;AACzB,gBAAA,IAAI,EAAE,wBAAwB;AAC9B,gBAAA,OAAO,EAAE,sBAAsB;AAChC,aAAA,CAAC;QACJ,MAAM,GAAG,GAAY,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;AACvD,QAAA,MAAM,OAAO,GAAY,CAAC,MAAK;;YAE7B,MAAM,MAAM,GAAwB,KAAK,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC,CAAE;YACtE,IAAI,MAAM,KAAK,SAAS;AAAE,gBAAA,OAAO,KAAK;;YAGtC,MAAM,KAAK,GAAmB,WAAW,CAAC;gBACxC,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,gBAAA,IAAI,EAAE,MAAM;AACb,aAAA,CAAC;AACF,YAAA,OAAO,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC;AACvB,gBAAA,KAAK,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBAC5B,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,IAAI,KAAK,SAAS;gBACtC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,MAAM,KAAK;AACtC,kBAAG,KAAK,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,MAAM,CAAC,CAAC,CAAE,CAAC;kBAChC,KAAK;QACX,CAAC,GAAG;;AAGJ,QAAA,OAAO,EAAE,CAAC,OAAO,CAAC,mBAAmB,CACnC;cACI,WAAW,CAAC;gBACV,OAAO,EAAE,KAAK,CAAC,OAAO;AACtB,gBAAA,IAAI,EAAE,GAAG;aACV,CAAC,CAAC,OAAO;AACZ,cAAE,GAAG,CAAC,WAAW,EAAE,CACtB;AACH,IAAA,CAAC;AACH,CAAC,EAtCgB,sBAAsB,KAAtB,sBAAsB,GAAA,EAAA,CAAA,CAAA;AAwCvC,MAAM,WAAW,GAAG,CAAC,KAGpB,KAAoB;AACnB,IAAA,MAAM,IAAI,GAAY,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC7D,KAAK,CAAC,IAAmB,CAC1B;AACD,IAAA,MAAM,UAAU,GAAoB,IAAI,eAAe,CAAC;QACtD,OAAO,EAAE,eAAe,CAAC,OAAO;AACjC,KAAA,CAAC;AACF,IAAA,MAAM,MAAM,GACV,eAAe,CAAC,OAAO,CAAC;AACtB,QAAA,OAAO,EAAE,KAAK,CAAC,OAAO,CAAC,OAAO;AAC9B,QAAA,WAAW,EAAE,KAAK,CAAC,OAAO,CAAC,WAAW;AACtC,QAAA,OAAO,EAAE;AACP,YAAA,MAAM,EAAE,KAAK;AACb,YAAA,QAAQ,EAAE,IAAI;AACd,YAAA,MAAM,EAAE,KAAK;AACd,SAAA;AACD,QAAA,UAAU,EAAE,UAAU;QACtB,IAAI;AACL,KAAA,CAAC;AACJ,IAAA,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK;QAC1B,MAAM,gBAAgB,CAAC,IAAI,CAAC;AAC1B,YAAA,IAAI,EAAE,oBAAoB;YAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;AACtB,SAAA,CAAC;IACJ,OAAO,MAAM,CAAC,IAAI;AACpB,CAAC;;;;"}
|
package/lib/index.d.ts
ADDED
package/lib/index.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
const transform_1 = require("./transform");
|
|
18
|
+
exports.default = transform_1.transform;
|
|
19
|
+
__exportStar(require("./ImportTransformer"), exports);
|
|
20
|
+
__exportStar(require("./TypiaGenerator"), exports);
|
|
21
|
+
__exportStar(require("./transform"), exports);
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
package/lib/index.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAwC;AAExC,kBAAe,qBAAS,CAAC;AAEzB,sDAAoC;AACpC,mDAAiC;AACjC,8CAA4B"}
|
package/lib/index.mjs
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { IProgrammerProps } from "@typia/core";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
import { ITransformProps } from "../ITransformProps";
|
|
4
|
+
export declare namespace GenericTransformer {
|
|
5
|
+
interface IProps extends ITransformProps {
|
|
6
|
+
method: string;
|
|
7
|
+
write: (props: IProgrammerProps) => ts.Expression | ts.ArrowFunction;
|
|
8
|
+
}
|
|
9
|
+
const scalar: (props: IProps) => ts.CallExpression;
|
|
10
|
+
const factory: (props: IProps) => ts.Expression | ts.ArrowFunction;
|
|
11
|
+
}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.GenericTransformer = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const TransformerError_1 = require("../TransformerError");
|
|
9
|
+
var GenericTransformer;
|
|
10
|
+
(function (GenericTransformer) {
|
|
11
|
+
GenericTransformer.scalar = (props) => {
|
|
12
|
+
// CHECK PARAMETER
|
|
13
|
+
if (props.expression.arguments.length === 0)
|
|
14
|
+
throw new TransformerError_1.TransformerError({
|
|
15
|
+
code: `typia.${props.method}`,
|
|
16
|
+
message: `no input value.`,
|
|
17
|
+
});
|
|
18
|
+
// GET TYPE INFO
|
|
19
|
+
const [type, node, generic] = props.expression.typeArguments && props.expression.typeArguments[0]
|
|
20
|
+
? [
|
|
21
|
+
props.context.checker.getTypeFromTypeNode(props.expression.typeArguments[0]),
|
|
22
|
+
props.expression.typeArguments[0],
|
|
23
|
+
true,
|
|
24
|
+
]
|
|
25
|
+
: [
|
|
26
|
+
props.context.checker.getTypeAtLocation(props.expression.arguments[0]),
|
|
27
|
+
props.expression.arguments[0],
|
|
28
|
+
false,
|
|
29
|
+
];
|
|
30
|
+
if (type.isTypeParameter())
|
|
31
|
+
throw new TransformerError_1.TransformerError({
|
|
32
|
+
code: `typia.${props.method}`,
|
|
33
|
+
message: `non-specified generic argument.`,
|
|
34
|
+
});
|
|
35
|
+
// DO TRANSFORM
|
|
36
|
+
return typescript_1.default.factory.createCallExpression(props.write({
|
|
37
|
+
context: props.context,
|
|
38
|
+
modulo: props.modulo,
|
|
39
|
+
type,
|
|
40
|
+
name: generic
|
|
41
|
+
? node.getFullText().trim()
|
|
42
|
+
: getTypeName({
|
|
43
|
+
checker: props.context.checker,
|
|
44
|
+
type,
|
|
45
|
+
node,
|
|
46
|
+
}),
|
|
47
|
+
}), undefined, props.expression.arguments);
|
|
48
|
+
};
|
|
49
|
+
GenericTransformer.factory = (props) => {
|
|
50
|
+
var _a;
|
|
51
|
+
// CHECK GENERIC ARGUMENT EXISTENCE
|
|
52
|
+
if (!((_a = props.expression.typeArguments) === null || _a === void 0 ? void 0 : _a[0]))
|
|
53
|
+
throw new TransformerError_1.TransformerError({
|
|
54
|
+
code: `typia.${props.method}`,
|
|
55
|
+
message: `generic argument is not specified.`,
|
|
56
|
+
});
|
|
57
|
+
// GET TYPE INFO
|
|
58
|
+
const node = props.expression.typeArguments[0];
|
|
59
|
+
const type = props.context.checker.getTypeFromTypeNode(node);
|
|
60
|
+
if (type.isTypeParameter())
|
|
61
|
+
throw new TransformerError_1.TransformerError({
|
|
62
|
+
code: `typia.${props.method}`,
|
|
63
|
+
message: `non-specified generic argument.`,
|
|
64
|
+
});
|
|
65
|
+
// DO TRANSFORM
|
|
66
|
+
return props.write({
|
|
67
|
+
context: props.context,
|
|
68
|
+
modulo: props.modulo,
|
|
69
|
+
type,
|
|
70
|
+
name: node.getFullText().trim(),
|
|
71
|
+
init: props.expression.arguments[0],
|
|
72
|
+
});
|
|
73
|
+
};
|
|
74
|
+
const getTypeName = (props) => props.checker.typeToString(props.type, props.node, typescript_1.default.TypeFormatFlags.NodeBuilderFlagsMask);
|
|
75
|
+
})(GenericTransformer || (exports.GenericTransformer = GenericTransformer = {}));
|
|
76
|
+
//# sourceMappingURL=GenericTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericTransformer.js","sourceRoot":"","sources":["../../src/internal/GenericTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import ts from 'typescript';
|
|
2
|
+
import { TransformerError } from '../TransformerError.mjs';
|
|
3
|
+
|
|
4
|
+
var GenericTransformer;
|
|
5
|
+
(function (GenericTransformer) {
|
|
6
|
+
GenericTransformer.scalar = (props) => {
|
|
7
|
+
// CHECK PARAMETER
|
|
8
|
+
if (props.expression.arguments.length === 0)
|
|
9
|
+
throw new TransformerError({
|
|
10
|
+
code: `typia.${props.method}`,
|
|
11
|
+
message: `no input value.`,
|
|
12
|
+
});
|
|
13
|
+
// GET TYPE INFO
|
|
14
|
+
const [type, node, generic] = props.expression.typeArguments && props.expression.typeArguments[0]
|
|
15
|
+
? [
|
|
16
|
+
props.context.checker.getTypeFromTypeNode(props.expression.typeArguments[0]),
|
|
17
|
+
props.expression.typeArguments[0],
|
|
18
|
+
true,
|
|
19
|
+
]
|
|
20
|
+
: [
|
|
21
|
+
props.context.checker.getTypeAtLocation(props.expression.arguments[0]),
|
|
22
|
+
props.expression.arguments[0],
|
|
23
|
+
false,
|
|
24
|
+
];
|
|
25
|
+
if (type.isTypeParameter())
|
|
26
|
+
throw new TransformerError({
|
|
27
|
+
code: `typia.${props.method}`,
|
|
28
|
+
message: `non-specified generic argument.`,
|
|
29
|
+
});
|
|
30
|
+
// DO TRANSFORM
|
|
31
|
+
return ts.factory.createCallExpression(props.write({
|
|
32
|
+
context: props.context,
|
|
33
|
+
modulo: props.modulo,
|
|
34
|
+
type,
|
|
35
|
+
name: generic
|
|
36
|
+
? node.getFullText().trim()
|
|
37
|
+
: getTypeName({
|
|
38
|
+
checker: props.context.checker,
|
|
39
|
+
type,
|
|
40
|
+
node,
|
|
41
|
+
}),
|
|
42
|
+
}), undefined, props.expression.arguments);
|
|
43
|
+
};
|
|
44
|
+
GenericTransformer.factory = (props) => {
|
|
45
|
+
// CHECK GENERIC ARGUMENT EXISTENCE
|
|
46
|
+
if (!props.expression.typeArguments?.[0])
|
|
47
|
+
throw new TransformerError({
|
|
48
|
+
code: `typia.${props.method}`,
|
|
49
|
+
message: `generic argument is not specified.`,
|
|
50
|
+
});
|
|
51
|
+
// GET TYPE INFO
|
|
52
|
+
const node = props.expression.typeArguments[0];
|
|
53
|
+
const type = props.context.checker.getTypeFromTypeNode(node);
|
|
54
|
+
if (type.isTypeParameter())
|
|
55
|
+
throw new TransformerError({
|
|
56
|
+
code: `typia.${props.method}`,
|
|
57
|
+
message: `non-specified generic argument.`,
|
|
58
|
+
});
|
|
59
|
+
// DO TRANSFORM
|
|
60
|
+
return props.write({
|
|
61
|
+
context: props.context,
|
|
62
|
+
modulo: props.modulo,
|
|
63
|
+
type,
|
|
64
|
+
name: node.getFullText().trim(),
|
|
65
|
+
init: props.expression.arguments[0],
|
|
66
|
+
});
|
|
67
|
+
};
|
|
68
|
+
const getTypeName = (props) => props.checker.typeToString(props.type, props.node, ts.TypeFormatFlags.NodeBuilderFlagsMask);
|
|
69
|
+
})(GenericTransformer || (GenericTransformer = {}));
|
|
70
|
+
|
|
71
|
+
export { GenericTransformer };
|
|
72
|
+
//# sourceMappingURL=GenericTransformer.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"GenericTransformer.mjs","sources":["../../src/internal/GenericTransformer.ts"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import { ITransformOptions, ITypiaContext } from "@typia/core";
|
|
2
|
+
import ts from "typescript";
|
|
3
|
+
/**
|
|
4
|
+
* TypeScript transformer for typia runtime code generation.
|
|
5
|
+
*
|
|
6
|
+
* `transform` is the entry point for typia's compile-time transformation. It
|
|
7
|
+
* converts `typia.*<T>()` function calls (e.g., `typia.is<User>(data)`) into
|
|
8
|
+
* optimized runtime validation, serialization, or transformation code.
|
|
9
|
+
*
|
|
10
|
+
* The transformer analyzes the generic type parameter `T` at compile time and
|
|
11
|
+
* generates specialized code that performs type checking without runtime
|
|
12
|
+
* reflection. This approach provides both type safety and high performance.
|
|
13
|
+
*
|
|
14
|
+
* **Requirements:**
|
|
15
|
+
*
|
|
16
|
+
* - TypeScript's `strictNullChecks` or `strict` compiler option must be enabled
|
|
17
|
+
* - The transformer must be configured in `tsconfig.json` via ts-patch or
|
|
18
|
+
* ttypescript
|
|
19
|
+
*
|
|
20
|
+
* **Configuration example (tsconfig.json):**
|
|
21
|
+
*
|
|
22
|
+
* ```json
|
|
23
|
+
* {
|
|
24
|
+
* "compilerOptions": {
|
|
25
|
+
* "strict": true,
|
|
26
|
+
* "plugins": [{ "transform": "typia/lib/transform" }]
|
|
27
|
+
* }
|
|
28
|
+
* }
|
|
29
|
+
* ```
|
|
30
|
+
*
|
|
31
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
32
|
+
* @param program TypeScript program instance from the compiler
|
|
33
|
+
* @param options Optional transformer configuration (finite, numeric,
|
|
34
|
+
* functional, undefined)
|
|
35
|
+
* @param extras Diagnostic utilities for error reporting during transformation
|
|
36
|
+
* @returns Transformer factory that processes source files
|
|
37
|
+
*/
|
|
38
|
+
export declare const transform: (program: ts.Program, options: ITransformOptions | undefined, extras: ITypiaContext["extras"]) => ts.TransformerFactory<ts.SourceFile>;
|
package/lib/transform.js
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.transform = void 0;
|
|
7
|
+
const typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
const FileTransformer_1 = require("./FileTransformer");
|
|
9
|
+
/**
|
|
10
|
+
* TypeScript transformer for typia runtime code generation.
|
|
11
|
+
*
|
|
12
|
+
* `transform` is the entry point for typia's compile-time transformation. It
|
|
13
|
+
* converts `typia.*<T>()` function calls (e.g., `typia.is<User>(data)`) into
|
|
14
|
+
* optimized runtime validation, serialization, or transformation code.
|
|
15
|
+
*
|
|
16
|
+
* The transformer analyzes the generic type parameter `T` at compile time and
|
|
17
|
+
* generates specialized code that performs type checking without runtime
|
|
18
|
+
* reflection. This approach provides both type safety and high performance.
|
|
19
|
+
*
|
|
20
|
+
* **Requirements:**
|
|
21
|
+
*
|
|
22
|
+
* - TypeScript's `strictNullChecks` or `strict` compiler option must be enabled
|
|
23
|
+
* - The transformer must be configured in `tsconfig.json` via ts-patch or
|
|
24
|
+
* ttypescript
|
|
25
|
+
*
|
|
26
|
+
* **Configuration example (tsconfig.json):**
|
|
27
|
+
*
|
|
28
|
+
* ```json
|
|
29
|
+
* {
|
|
30
|
+
* "compilerOptions": {
|
|
31
|
+
* "strict": true,
|
|
32
|
+
* "plugins": [{ "transform": "typia/lib/transform" }]
|
|
33
|
+
* }
|
|
34
|
+
* }
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @author Jeongho Nam - https://github.com/samchon
|
|
38
|
+
* @param program TypeScript program instance from the compiler
|
|
39
|
+
* @param options Optional transformer configuration (finite, numeric,
|
|
40
|
+
* functional, undefined)
|
|
41
|
+
* @param extras Diagnostic utilities for error reporting during transformation
|
|
42
|
+
* @returns Transformer factory that processes source files
|
|
43
|
+
*/
|
|
44
|
+
const transform = (program, options, extras) => {
|
|
45
|
+
const compilerOptions = program.getCompilerOptions();
|
|
46
|
+
const strict = compilerOptions.strictNullChecks !== undefined
|
|
47
|
+
? !!compilerOptions.strictNullChecks
|
|
48
|
+
: !!compilerOptions.strict;
|
|
49
|
+
if (strict === false)
|
|
50
|
+
extras.addDiagnostic({
|
|
51
|
+
category: typescript_1.default.DiagnosticCategory.Error,
|
|
52
|
+
code: "(typia)",
|
|
53
|
+
file: undefined,
|
|
54
|
+
start: undefined,
|
|
55
|
+
length: undefined,
|
|
56
|
+
messageText: "strict mode is required.",
|
|
57
|
+
});
|
|
58
|
+
return FileTransformer_1.FileTransformer.transform({
|
|
59
|
+
program,
|
|
60
|
+
compilerOptions,
|
|
61
|
+
checker: program.getTypeChecker(),
|
|
62
|
+
printer: typescript_1.default.createPrinter(),
|
|
63
|
+
options: options !== null && options !== void 0 ? options : {},
|
|
64
|
+
extras,
|
|
65
|
+
});
|
|
66
|
+
};
|
|
67
|
+
exports.transform = transform;
|
|
68
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;;AACA,4DAA4B;AAE5B,uDAAoD;AAEpD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAkCG;AACI,MAAM,SAAS,GAAG,CACvB,OAAmB,EACnB,OAAsC,EACtC,MAA+B,EACO,EAAE;IACxC,MAAM,eAAe,GAAuB,OAAO,CAAC,kBAAkB,EAAE,CAAC;IACzE,MAAM,MAAM,GACV,eAAe,CAAC,gBAAgB,KAAK,SAAS;QAC5C,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,gBAAgB;QACpC,CAAC,CAAC,CAAC,CAAC,eAAe,CAAC,MAAM,CAAC;IAC/B,IAAI,MAAM,KAAK,KAAK;QAClB,MAAM,CAAC,aAAa,CAAC;YACnB,QAAQ,EAAE,oBAAE,CAAC,kBAAkB,CAAC,KAAK;YACrC,IAAI,EAAE,SAAgB;YACtB,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,SAAS;YAChB,MAAM,EAAE,SAAS;YACjB,WAAW,EAAE,0BAA0B;SACxC,CAAC,CAAC;IACL,OAAO,iCAAe,CAAC,SAAS,CAAC;QAC/B,OAAO;QACP,eAAe;QACf,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QACjC,OAAO,EAAE,oBAAE,CAAC,aAAa,EAAE;QAC3B,OAAO,EAAE,OAAO,aAAP,OAAO,cAAP,OAAO,GAAI,EAAE;QACtB,MAAM;KACP,CAAC,CAAC;AACL,CAAC,CAAC;AA3BW,QAAA,SAAS,aA2BpB"}
|