typia 3.3.12
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/CODE_OF_CONDUCT.md +133 -0
- package/CONTRIBUTING.md +104 -0
- package/LICENSE +21 -0
- package/README.md +572 -0
- package/lib/IValidation.d.ts +11 -0
- package/lib/IValidation.js +3 -0
- package/lib/IValidation.js.map +1 -0
- package/lib/TypeGuardError.d.ts +16 -0
- package/lib/TypeGuardError.js +39 -0
- package/lib/TypeGuardError.js.map +1 -0
- package/lib/factories/CommentFactory.d.ts +4 -0
- package/lib/factories/CommentFactory.js +14 -0
- package/lib/factories/CommentFactory.js.map +1 -0
- package/lib/factories/ExpressionFactory.d.ts +6 -0
- package/lib/factories/ExpressionFactory.js +30 -0
- package/lib/factories/ExpressionFactory.js.map +1 -0
- package/lib/factories/IdentifierFactory.d.ts +7 -0
- package/lib/factories/IdentifierFactory.js +35 -0
- package/lib/factories/IdentifierFactory.js.map +1 -0
- package/lib/factories/LiteralFactory.d.ts +4 -0
- package/lib/factories/LiteralFactory.js +67 -0
- package/lib/factories/LiteralFactory.js.map +1 -0
- package/lib/factories/MetadataCollection.d.ts +20 -0
- package/lib/factories/MetadataCollection.js +141 -0
- package/lib/factories/MetadataCollection.js.map +1 -0
- package/lib/factories/MetadataFactory.d.ts +10 -0
- package/lib/factories/MetadataFactory.js +47 -0
- package/lib/factories/MetadataFactory.js.map +1 -0
- package/lib/factories/MetadataTagFactory.d.ts +6 -0
- package/lib/factories/MetadataTagFactory.js +317 -0
- package/lib/factories/MetadataTagFactory.js.map +1 -0
- package/lib/factories/StatementFactory.d.ts +7 -0
- package/lib/factories/StatementFactory.js +31 -0
- package/lib/factories/StatementFactory.js.map +1 -0
- package/lib/factories/TemplateFactory.d.ts +4 -0
- package/lib/factories/TemplateFactory.js +41 -0
- package/lib/factories/TemplateFactory.js.map +1 -0
- package/lib/factories/TypeFactory.d.ts +6 -0
- package/lib/factories/TypeFactory.js +71 -0
- package/lib/factories/TypeFactory.js.map +1 -0
- package/lib/factories/ValueFactory.d.ts +8 -0
- package/lib/factories/ValueFactory.js +23 -0
- package/lib/factories/ValueFactory.js.map +1 -0
- package/lib/factories/internal/MetadataHelper.d.ts +4 -0
- package/lib/factories/internal/MetadataHelper.js +17 -0
- package/lib/factories/internal/MetadataHelper.js.map +1 -0
- package/lib/factories/internal/emplace_metadata_object.d.ts +5 -0
- package/lib/factories/internal/emplace_metadata_object.js +149 -0
- package/lib/factories/internal/emplace_metadata_object.js.map +1 -0
- package/lib/factories/internal/explore_metadata.d.ts +5 -0
- package/lib/factories/internal/explore_metadata.js +88 -0
- package/lib/factories/internal/explore_metadata.js.map +1 -0
- package/lib/factories/internal/iterate_metadata.d.ts +5 -0
- package/lib/factories/internal/iterate_metadata.js +37 -0
- package/lib/factories/internal/iterate_metadata.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_array.d.ts +5 -0
- package/lib/factories/internal/iterate_metadata_array.js +22 -0
- package/lib/factories/internal/iterate_metadata_array.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_atomic.d.ts +3 -0
- package/lib/factories/internal/iterate_metadata_atomic.js +73 -0
- package/lib/factories/internal/iterate_metadata_atomic.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_coalesce.d.ts +3 -0
- package/lib/factories/internal/iterate_metadata_coalesce.js +35 -0
- package/lib/factories/internal/iterate_metadata_coalesce.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_constant.d.ts +4 -0
- package/lib/factories/internal/iterate_metadata_constant.js +40 -0
- package/lib/factories/internal/iterate_metadata_constant.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_object.d.ts +5 -0
- package/lib/factories/internal/iterate_metadata_object.js +38 -0
- package/lib/factories/internal/iterate_metadata_object.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_resolve.d.ts +5 -0
- package/lib/factories/internal/iterate_metadata_resolve.js +24 -0
- package/lib/factories/internal/iterate_metadata_resolve.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_template.d.ts +5 -0
- package/lib/factories/internal/iterate_metadata_template.js +33 -0
- package/lib/factories/internal/iterate_metadata_template.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_tuple.d.ts +5 -0
- package/lib/factories/internal/iterate_metadata_tuple.js +27 -0
- package/lib/factories/internal/iterate_metadata_tuple.js.map +1 -0
- package/lib/factories/internal/iterate_metadata_union.d.ts +5 -0
- package/lib/factories/internal/iterate_metadata_union.js +82 -0
- package/lib/factories/internal/iterate_metadata_union.js.map +1 -0
- package/lib/functional/$is_email.d.ts +1 -0
- package/lib/functional/$is_email.js +9 -0
- package/lib/functional/$is_email.js.map +1 -0
- package/lib/functional/$is_ipv4.d.ts +1 -0
- package/lib/functional/$is_ipv4.js +9 -0
- package/lib/functional/$is_ipv4.js.map +1 -0
- package/lib/functional/$is_ipv6.d.ts +1 -0
- package/lib/functional/$is_ipv6.js +9 -0
- package/lib/functional/$is_ipv6.js.map +1 -0
- package/lib/functional/$is_url.d.ts +1 -0
- package/lib/functional/$is_url.js +9 -0
- package/lib/functional/$is_url.js.map +1 -0
- package/lib/functional/$is_uuid.d.ts +1 -0
- package/lib/functional/$is_uuid.js +9 -0
- package/lib/functional/$is_uuid.js.map +1 -0
- package/lib/functional/$join.d.ts +1 -0
- package/lib/functional/$join.js +52 -0
- package/lib/functional/$join.js.map +1 -0
- package/lib/functional/$number.d.ts +1 -0
- package/lib/functional/$number.js +23 -0
- package/lib/functional/$number.js.map +1 -0
- package/lib/functional/$string.d.ts +1 -0
- package/lib/functional/$string.js +36 -0
- package/lib/functional/$string.js.map +1 -0
- package/lib/functional/$tail.d.ts +1 -0
- package/lib/functional/$tail.js +8 -0
- package/lib/functional/$tail.js.map +1 -0
- package/lib/index.d.ts +3 -0
- package/lib/index.js +32 -0
- package/lib/index.js.map +1 -0
- package/lib/metadata/IJsDocTagInfo.d.ts +10 -0
- package/lib/metadata/IJsDocTagInfo.js +3 -0
- package/lib/metadata/IJsDocTagInfo.js.map +1 -0
- package/lib/metadata/IMetadata.d.ts +15 -0
- package/lib/metadata/IMetadata.js +3 -0
- package/lib/metadata/IMetadata.js.map +1 -0
- package/lib/metadata/IMetadataConstant.d.ts +8 -0
- package/lib/metadata/IMetadataConstant.js +3 -0
- package/lib/metadata/IMetadataConstant.js.map +1 -0
- package/lib/metadata/IMetadataObject.d.ts +8 -0
- package/lib/metadata/IMetadataObject.js +3 -0
- package/lib/metadata/IMetadataObject.js.map +1 -0
- package/lib/metadata/IMetadataProperty.d.ts +10 -0
- package/lib/metadata/IMetadataProperty.js +3 -0
- package/lib/metadata/IMetadataProperty.js.map +1 -0
- package/lib/metadata/IMetadataTag.d.ts +74 -0
- package/lib/metadata/IMetadataTag.js +3 -0
- package/lib/metadata/IMetadataTag.js.map +1 -0
- package/lib/metadata/Metadata.d.ts +33 -0
- package/lib/metadata/Metadata.js +568 -0
- package/lib/metadata/Metadata.js.map +1 -0
- package/lib/metadata/MetadataConstant.d.ts +2 -0
- package/lib/metadata/MetadataConstant.js +3 -0
- package/lib/metadata/MetadataConstant.js.map +1 -0
- package/lib/metadata/MetadataObject.d.ts +15 -0
- package/lib/metadata/MetadataObject.js +64 -0
- package/lib/metadata/MetadataObject.js.map +1 -0
- package/lib/metadata/MetadataProperty.d.ts +16 -0
- package/lib/metadata/MetadataProperty.js +37 -0
- package/lib/metadata/MetadataProperty.js.map +1 -0
- package/lib/module.d.ts +382 -0
- package/lib/module.js +187 -0
- package/lib/module.js.map +1 -0
- package/lib/programmers/ApplicationProgrammer.d.ts +11 -0
- package/lib/programmers/ApplicationProgrammer.js +48 -0
- package/lib/programmers/ApplicationProgrammer.js.map +1 -0
- package/lib/programmers/AssertProgrammer.d.ts +5 -0
- package/lib/programmers/AssertProgrammer.js +79 -0
- package/lib/programmers/AssertProgrammer.js.map +1 -0
- package/lib/programmers/CheckerProgrammer.d.ts +41 -0
- package/lib/programmers/CheckerProgrammer.js +279 -0
- package/lib/programmers/CheckerProgrammer.js.map +1 -0
- package/lib/programmers/FeatureProgrammer.d.ts +53 -0
- package/lib/programmers/FeatureProgrammer.js +211 -0
- package/lib/programmers/FeatureProgrammer.js.map +1 -0
- package/lib/programmers/IsProgrammer.d.ts +21 -0
- package/lib/programmers/IsProgrammer.js +78 -0
- package/lib/programmers/IsProgrammer.js.map +1 -0
- package/lib/programmers/StringifyProgrammer.d.ts +5 -0
- package/lib/programmers/StringifyProgrammer.js +433 -0
- package/lib/programmers/StringifyProgrammer.js.map +1 -0
- package/lib/programmers/ValidateProgrammer.d.ts +5 -0
- package/lib/programmers/ValidateProgrammer.js +96 -0
- package/lib/programmers/ValidateProgrammer.js.map +1 -0
- package/lib/programmers/helpers/FunctionImporeter.d.ts +9 -0
- package/lib/programmers/helpers/FunctionImporeter.js +58 -0
- package/lib/programmers/helpers/FunctionImporeter.js.map +1 -0
- package/lib/programmers/helpers/IExpressionEntry.d.ts +8 -0
- package/lib/programmers/helpers/IExpressionEntry.js +3 -0
- package/lib/programmers/helpers/IExpressionEntry.js.map +1 -0
- package/lib/programmers/helpers/OptionPredicator.d.ts +5 -0
- package/lib/programmers/helpers/OptionPredicator.js +17 -0
- package/lib/programmers/helpers/OptionPredicator.js.map +1 -0
- package/lib/programmers/helpers/StringifyJoinder.d.ts +8 -0
- package/lib/programmers/helpers/StringifyJoinder.js +95 -0
- package/lib/programmers/helpers/StringifyJoinder.js.map +1 -0
- package/lib/programmers/helpers/StringifyPredicator.d.ts +5 -0
- package/lib/programmers/helpers/StringifyPredicator.js +19 -0
- package/lib/programmers/helpers/StringifyPredicator.js.map +1 -0
- package/lib/programmers/helpers/UnionExplorer.d.ts +13 -0
- package/lib/programmers/helpers/UnionExplorer.js +117 -0
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -0
- package/lib/programmers/helpers/UnionPredicator.d.ts +11 -0
- package/lib/programmers/helpers/UnionPredicator.js +111 -0
- package/lib/programmers/helpers/UnionPredicator.js.map +1 -0
- package/lib/programmers/internal/application_array.d.ts +1 -0
- package/lib/programmers/internal/application_array.js +63 -0
- package/lib/programmers/internal/application_array.js.map +1 -0
- package/lib/programmers/internal/application_boolean.d.ts +1 -0
- package/lib/programmers/internal/application_boolean.js +18 -0
- package/lib/programmers/internal/application_boolean.js.map +1 -0
- package/lib/programmers/internal/application_constant.d.ts +1 -0
- package/lib/programmers/internal/application_constant.js +26 -0
- package/lib/programmers/internal/application_constant.js.map +1 -0
- package/lib/programmers/internal/application_default.d.ts +1 -0
- package/lib/programmers/internal/application_default.js +40 -0
- package/lib/programmers/internal/application_default.js.map +1 -0
- package/lib/programmers/internal/application_default_string.d.ts +1 -0
- package/lib/programmers/internal/application_default_string.js +61 -0
- package/lib/programmers/internal/application_default_string.js.map +1 -0
- package/lib/programmers/internal/application_number.d.ts +1 -0
- package/lib/programmers/internal/application_number.js +86 -0
- package/lib/programmers/internal/application_number.js.map +1 -0
- package/lib/programmers/internal/application_object.d.ts +1 -0
- package/lib/programmers/internal/application_object.js +96 -0
- package/lib/programmers/internal/application_object.js.map +1 -0
- package/lib/programmers/internal/application_schema.d.ts +1 -0
- package/lib/programmers/internal/application_schema.js +246 -0
- package/lib/programmers/internal/application_schema.js.map +1 -0
- package/lib/programmers/internal/application_string.d.ts +1 -0
- package/lib/programmers/internal/application_string.js +66 -0
- package/lib/programmers/internal/application_string.js.map +1 -0
- package/lib/programmers/internal/application_templates.d.ts +1 -0
- package/lib/programmers/internal/application_templates.js +24 -0
- package/lib/programmers/internal/application_templates.js.map +1 -0
- package/lib/programmers/internal/application_tuple.d.ts +1 -0
- package/lib/programmers/internal/application_tuple.js +24 -0
- package/lib/programmers/internal/application_tuple.js.map +1 -0
- package/lib/programmers/internal/check_array.d.ts +1 -0
- package/lib/programmers/internal/check_array.js +52 -0
- package/lib/programmers/internal/check_array.js.map +1 -0
- package/lib/programmers/internal/check_dynamic_properties.d.ts +1 -0
- package/lib/programmers/internal/check_dynamic_properties.js +111 -0
- package/lib/programmers/internal/check_dynamic_properties.js.map +1 -0
- package/lib/programmers/internal/check_everything.d.ts +1 -0
- package/lib/programmers/internal/check_everything.js +17 -0
- package/lib/programmers/internal/check_everything.js.map +1 -0
- package/lib/programmers/internal/check_length.d.ts +1 -0
- package/lib/programmers/internal/check_length.js +28 -0
- package/lib/programmers/internal/check_length.js.map +1 -0
- package/lib/programmers/internal/check_number.d.ts +1 -0
- package/lib/programmers/internal/check_number.js +124 -0
- package/lib/programmers/internal/check_number.js.map +1 -0
- package/lib/programmers/internal/check_object.d.ts +1 -0
- package/lib/programmers/internal/check_object.js +35 -0
- package/lib/programmers/internal/check_object.js.map +1 -0
- package/lib/programmers/internal/check_string.d.ts +1 -0
- package/lib/programmers/internal/check_string.js +45 -0
- package/lib/programmers/internal/check_string.js.map +1 -0
- package/lib/programmers/internal/check_string_tags.d.ts +1 -0
- package/lib/programmers/internal/check_string_tags.js +51 -0
- package/lib/programmers/internal/check_string_tags.js.map +1 -0
- package/lib/programmers/internal/check_template.d.ts +1 -0
- package/lib/programmers/internal/check_template.js +50 -0
- package/lib/programmers/internal/check_template.js.map +1 -0
- package/lib/programmers/internal/decode_union_object.d.ts +1 -0
- package/lib/programmers/internal/decode_union_object.js +56 -0
- package/lib/programmers/internal/decode_union_object.js.map +1 -0
- package/lib/programmers/internal/metadata_to_pattern.d.ts +2 -0
- package/lib/programmers/internal/metadata_to_pattern.js +62 -0
- package/lib/programmers/internal/metadata_to_pattern.js.map +1 -0
- package/lib/programmers/internal/stringify_dynamic_properties.d.ts +1 -0
- package/lib/programmers/internal/stringify_dynamic_properties.js +76 -0
- package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -0
- package/lib/programmers/internal/stringify_regular_properties.d.ts +1 -0
- package/lib/programmers/internal/stringify_regular_properties.js +78 -0
- package/lib/programmers/internal/stringify_regular_properties.js.map +1 -0
- package/lib/programmers/internal/template_to_pattern.d.ts +1 -0
- package/lib/programmers/internal/template_to_pattern.js +13 -0
- package/lib/programmers/internal/template_to_pattern.js.map +1 -0
- package/lib/schemas/IJsonApplication.d.ts +8 -0
- package/lib/schemas/IJsonApplication.js +3 -0
- package/lib/schemas/IJsonApplication.js.map +1 -0
- package/lib/schemas/IJsonComponents.d.ts +19 -0
- package/lib/schemas/IJsonComponents.js +3 -0
- package/lib/schemas/IJsonComponents.js.map +1 -0
- package/lib/schemas/IJsonSchema.d.ts +62 -0
- package/lib/schemas/IJsonSchema.js +3 -0
- package/lib/schemas/IJsonSchema.js.map +1 -0
- package/lib/transform.d.ts +3 -0
- package/lib/transform.js +21 -0
- package/lib/transform.js.map +1 -0
- package/lib/transformers/CallExpressionTransformer.d.ts +5 -0
- package/lib/transformers/CallExpressionTransformer.js +45 -0
- package/lib/transformers/CallExpressionTransformer.js.map +1 -0
- package/lib/transformers/ExpressionWithArgumentTransformer.d.ts +0 -0
- package/lib/transformers/ExpressionWithArgumentTransformer.js +2 -0
- package/lib/transformers/ExpressionWithArgumentTransformer.js.map +1 -0
- package/lib/transformers/FileTransformer.d.ts +5 -0
- package/lib/transformers/FileTransformer.js +34 -0
- package/lib/transformers/FileTransformer.js.map +1 -0
- package/lib/transformers/IProject.d.ts +9 -0
- package/lib/transformers/IProject.js +3 -0
- package/lib/transformers/IProject.js.map +1 -0
- package/lib/transformers/ITransformOptions.d.ts +4 -0
- package/lib/transformers/ITransformOptions.js +3 -0
- package/lib/transformers/ITransformOptions.js.map +1 -0
- package/lib/transformers/NodeTransformer.d.ts +5 -0
- package/lib/transformers/NodeTransformer.js +18 -0
- package/lib/transformers/NodeTransformer.js.map +1 -0
- package/lib/transformers/features/ApplicationTransformer.d.ts +5 -0
- package/lib/transformers/features/ApplicationTransformer.js +63 -0
- package/lib/transformers/features/ApplicationTransformer.js.map +1 -0
- package/lib/transformers/features/AssertTransformer.d.ts +5 -0
- package/lib/transformers/features/AssertTransformer.js +30 -0
- package/lib/transformers/features/AssertTransformer.js.map +1 -0
- package/lib/transformers/features/CreateTransformer.d.ts +5 -0
- package/lib/transformers/features/CreateTransformer.js +29 -0
- package/lib/transformers/features/CreateTransformer.js.map +1 -0
- package/lib/transformers/features/IsTransformer.d.ts +5 -0
- package/lib/transformers/features/IsTransformer.js +30 -0
- package/lib/transformers/features/IsTransformer.js.map +1 -0
- package/lib/transformers/features/StringifyTransformer.d.ts +5 -0
- package/lib/transformers/features/StringifyTransformer.js +23 -0
- package/lib/transformers/features/StringifyTransformer.js.map +1 -0
- package/lib/transformers/features/ValidateTransformer.d.ts +5 -0
- package/lib/transformers/features/ValidateTransformer.js +30 -0
- package/lib/transformers/features/ValidateTransformer.js.map +1 -0
- package/lib/typings/Atomic.d.ts +11 -0
- package/lib/typings/Atomic.js +3 -0
- package/lib/typings/Atomic.js.map +1 -0
- package/lib/typings/ClassProperties.d.ts +4 -0
- package/lib/typings/ClassProperties.js +3 -0
- package/lib/typings/ClassProperties.js.map +1 -0
- package/lib/typings/OmitNever.d.ts +2 -0
- package/lib/typings/OmitNever.js +3 -0
- package/lib/typings/OmitNever.js.map +1 -0
- package/lib/typings/SpecialFields.d.ts +3 -0
- package/lib/typings/SpecialFields.js +3 -0
- package/lib/typings/SpecialFields.js.map +1 -0
- package/lib/typings/Writable.d.ts +5 -0
- package/lib/typings/Writable.js +8 -0
- package/lib/typings/Writable.js.map +1 -0
- package/lib/utils/ArrayUtil.d.ts +8 -0
- package/lib/utils/ArrayUtil.js +69 -0
- package/lib/utils/ArrayUtil.js.map +1 -0
- package/lib/utils/Escaper.d.ts +3 -0
- package/lib/utils/Escaper.js +52 -0
- package/lib/utils/Escaper.js.map +1 -0
- package/lib/utils/MapUtil.d.ts +3 -0
- package/lib/utils/MapUtil.js +16 -0
- package/lib/utils/MapUtil.js.map +1 -0
- package/lib/utils/PatternUtil.d.ts +7 -0
- package/lib/utils/PatternUtil.js +59 -0
- package/lib/utils/PatternUtil.js.map +1 -0
- package/lib/utils/Singleton.d.ts +6 -0
- package/lib/utils/Singleton.js +47 -0
- package/lib/utils/Singleton.js.map +1 -0
- package/package.json +78 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
18
|
+
var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
19
|
+
if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
|
|
20
|
+
if (ar || !(i in from)) {
|
|
21
|
+
if (!ar) ar = Array.prototype.slice.call(from, 0, i);
|
|
22
|
+
ar[i] = from[i];
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
return to.concat(ar || Array.prototype.slice.call(from));
|
|
26
|
+
};
|
|
27
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
28
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
29
|
+
};
|
|
30
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
31
|
+
exports.stringify_regular_properties = void 0;
|
|
32
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
33
|
+
var TemplateFactory_1 = require("../../factories/TemplateFactory");
|
|
34
|
+
var ValueFactory_1 = require("../../factories/ValueFactory");
|
|
35
|
+
function stringify_regular_properties(regular, dynamic) {
|
|
36
|
+
var output = [];
|
|
37
|
+
regular.sort(function (x, y) { return sequence(x.meta) - sequence(y.meta); });
|
|
38
|
+
regular.forEach(function (entry, index) {
|
|
39
|
+
var key = entry.key.getSoleLiteral();
|
|
40
|
+
var base = [
|
|
41
|
+
typescript_1.default.factory.createStringLiteral("".concat(JSON.stringify(key), ":")),
|
|
42
|
+
entry.expression,
|
|
43
|
+
];
|
|
44
|
+
if (index !== regular.length - 1 || dynamic.length !== 0)
|
|
45
|
+
base.push(typescript_1.default.factory.createStringLiteral(","));
|
|
46
|
+
var empty = (entry.meta.required === false &&
|
|
47
|
+
entry.meta.nullable === false &&
|
|
48
|
+
entry.meta.size() === 0) ||
|
|
49
|
+
(entry.meta.functional &&
|
|
50
|
+
entry.meta.nullable === false &&
|
|
51
|
+
entry.meta.size() === 1);
|
|
52
|
+
if (empty === true)
|
|
53
|
+
return;
|
|
54
|
+
else if (entry.meta.required === false ||
|
|
55
|
+
entry.meta.functional === true ||
|
|
56
|
+
entry.meta.any === true)
|
|
57
|
+
output.push(typescript_1.default.factory.createConditionalExpression((function () {
|
|
58
|
+
var conditions = [];
|
|
59
|
+
if (entry.meta.required === false || entry.meta.any)
|
|
60
|
+
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createIdentifier("undefined"), entry.input));
|
|
61
|
+
if (entry.meta.functional || entry.meta.any)
|
|
62
|
+
conditions.push(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createStringLiteral("function"), ValueFactory_1.ValueFactory.TYPEOF(entry.input)));
|
|
63
|
+
return conditions.length === 1
|
|
64
|
+
? conditions[0]
|
|
65
|
+
: conditions.reduce(function (x, y) {
|
|
66
|
+
return typescript_1.default.factory.createLogicalOr(x, y);
|
|
67
|
+
});
|
|
68
|
+
})(), undefined, typescript_1.default.factory.createStringLiteral(""), undefined, TemplateFactory_1.TemplateFactory.generate(base)));
|
|
69
|
+
else
|
|
70
|
+
output.push.apply(output, __spreadArray([], __read(base), false));
|
|
71
|
+
});
|
|
72
|
+
return output;
|
|
73
|
+
}
|
|
74
|
+
exports.stringify_regular_properties = stringify_regular_properties;
|
|
75
|
+
function sequence(meta) {
|
|
76
|
+
return meta.any || !meta.required || meta.functional ? 0 : 1;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=stringify_regular_properties.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stringify_regular_properties.js","sourceRoot":"","sources":["../../../src/programmers/internal/stringify_regular_properties.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.template_to_pattern = void 0;
|
|
4
|
+
var PatternUtil_1 = require("../../utils/PatternUtil");
|
|
5
|
+
var metadata_to_pattern_1 = require("./metadata_to_pattern");
|
|
6
|
+
var template_to_pattern = function (top) { return function (template) {
|
|
7
|
+
var pattern = template
|
|
8
|
+
.map(function (meta) { return (0, metadata_to_pattern_1.metadata_to_pattern)(false)(meta); })
|
|
9
|
+
.join("");
|
|
10
|
+
return top ? PatternUtil_1.PatternUtil.fix(pattern) : pattern;
|
|
11
|
+
}; };
|
|
12
|
+
exports.template_to_pattern = template_to_pattern;
|
|
13
|
+
//# sourceMappingURL=template_to_pattern.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template_to_pattern.js","sourceRoot":"","sources":["../../../src/programmers/internal/template_to_pattern.ts"],"names":[],"mappings":";;;AAEA,uDAAsD;AAEtD,6DAA4D;AAKrD,IAAM,mBAAmB,GAAG,UAAC,GAAY,IAAK,OAAA,UAAC,QAAoB;IACtE,IAAM,OAAO,GAAW,QAAQ;SAC3B,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,IAAA,yCAAmB,EAAC,KAAK,CAAC,CAAC,IAAI,CAAC,EAAhC,CAAgC,CAAC;SAC/C,IAAI,CAAC,EAAE,CAAC,CAAC;IACd,OAAO,GAAG,CAAC,CAAC,CAAC,yBAAW,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC;AACpD,CAAC,EALoD,CAKpD,CAAC;AALW,QAAA,mBAAmB,uBAK9B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IJsonApplication.js","sourceRoot":"","sources":["../../src/schemas/IJsonApplication.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
|
|
2
|
+
import { IJsonSchema } from "./IJsonSchema";
|
|
3
|
+
export interface IJsonComponents {
|
|
4
|
+
schemas: Record<string, IJsonComponents.IObject>;
|
|
5
|
+
}
|
|
6
|
+
export declare namespace IJsonComponents {
|
|
7
|
+
interface IObject {
|
|
8
|
+
$id?: string;
|
|
9
|
+
type: "object";
|
|
10
|
+
nullable: boolean;
|
|
11
|
+
properties: Record<string, IJsonSchema>;
|
|
12
|
+
patternProperties?: Record<string, IJsonSchema>;
|
|
13
|
+
additionalProperties?: IJsonSchema;
|
|
14
|
+
required?: string[];
|
|
15
|
+
description?: string;
|
|
16
|
+
"x-tson_jsDocTags"?: IJsDocTagInfo[];
|
|
17
|
+
$recursiveAnchor?: boolean;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IJsonComponents.js","sourceRoot":"","sources":["../../src/schemas/IJsonComponents.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
|
|
2
|
+
import { IMetadataTag } from "../metadata/IMetadataTag";
|
|
3
|
+
import { Atomic } from "../typings/Atomic";
|
|
4
|
+
export declare type IJsonSchema = IJsonSchema.NotUnknown | IJsonSchema.IUnkown;
|
|
5
|
+
export declare namespace IJsonSchema {
|
|
6
|
+
type NotUnknown = IEnumeration<"boolean"> | IEnumeration<"number"> | IEnumeration<"bigint"> | IEnumeration<"string"> | IBoolean | INumber | IBigInt | IString | IArray | ITuple | IOneOf | IReference | IRecursiveReference | INullOnly;
|
|
7
|
+
interface IEnumeration<Literal extends Atomic.Literal> extends IAtomic<Literal> {
|
|
8
|
+
enum: Array<Atomic.Mapper[Literal]>;
|
|
9
|
+
}
|
|
10
|
+
interface IAtomic<Literal extends Atomic.Literal> extends IAttribute {
|
|
11
|
+
type: Literal;
|
|
12
|
+
nullable: boolean;
|
|
13
|
+
default?: Atomic.Mapper[Literal];
|
|
14
|
+
}
|
|
15
|
+
interface IString extends IAtomic<"string"> {
|
|
16
|
+
minLength?: number;
|
|
17
|
+
maxLength?: number;
|
|
18
|
+
pattern?: string;
|
|
19
|
+
format?: string;
|
|
20
|
+
}
|
|
21
|
+
interface INumber extends IAtomic<"number" | "integer"> {
|
|
22
|
+
minimum?: number;
|
|
23
|
+
maximum?: number;
|
|
24
|
+
exclusiveMinimum?: number;
|
|
25
|
+
exclusiveMaximum?: number;
|
|
26
|
+
}
|
|
27
|
+
interface IBoolean extends IAtomic<"boolean"> {
|
|
28
|
+
}
|
|
29
|
+
interface IBigInt extends IAtomic<"bigint"> {
|
|
30
|
+
}
|
|
31
|
+
interface IArray extends ISignificant<"array"> {
|
|
32
|
+
items: IJsonSchema;
|
|
33
|
+
minItems?: number;
|
|
34
|
+
maxItems?: number;
|
|
35
|
+
}
|
|
36
|
+
interface ITuple extends ISignificant<"array"> {
|
|
37
|
+
items: IJsonSchema[];
|
|
38
|
+
}
|
|
39
|
+
interface IReference extends IAttribute {
|
|
40
|
+
$ref: string;
|
|
41
|
+
}
|
|
42
|
+
interface IRecursiveReference extends IAttribute {
|
|
43
|
+
$recursiveRef: string;
|
|
44
|
+
}
|
|
45
|
+
interface INullOnly extends IAttribute {
|
|
46
|
+
type: "null";
|
|
47
|
+
}
|
|
48
|
+
interface IOneOf extends IAttribute {
|
|
49
|
+
oneOf: IJsonSchema[];
|
|
50
|
+
}
|
|
51
|
+
interface IUnkown {
|
|
52
|
+
}
|
|
53
|
+
interface ISignificant<Literal extends string> {
|
|
54
|
+
type: Literal;
|
|
55
|
+
nullable: boolean;
|
|
56
|
+
}
|
|
57
|
+
interface IAttribute {
|
|
58
|
+
description?: string;
|
|
59
|
+
"x-tson-metaTags"?: IMetadataTag[];
|
|
60
|
+
"x-tson-jsDocTags"?: IJsDocTagInfo[];
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IJsonSchema.js","sourceRoot":"","sources":["../../src/schemas/IJsonSchema.ts"],"names":[],"mappings":""}
|
package/lib/transform.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
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
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
7
|
+
var FileTransformer_1 = require("./transformers/FileTransformer");
|
|
8
|
+
function transform(program, options) {
|
|
9
|
+
var project = {
|
|
10
|
+
program: program,
|
|
11
|
+
compilerOptions: program.getCompilerOptions(),
|
|
12
|
+
checker: program.getTypeChecker(),
|
|
13
|
+
printer: typescript_1.default.createPrinter(),
|
|
14
|
+
options: options || {},
|
|
15
|
+
};
|
|
16
|
+
return function (context) { return function (file) {
|
|
17
|
+
return FileTransformer_1.FileTransformer.transform(project, context, file);
|
|
18
|
+
}; };
|
|
19
|
+
}
|
|
20
|
+
exports.default = transform;
|
|
21
|
+
//# sourceMappingURL=transform.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"transform.js","sourceRoot":"","sources":["../src/transform.ts"],"names":[],"mappings":";;;;;AAAA,0DAA4B;AAE5B,kEAAiE;AAIjE,SAAwB,SAAS,CAC7B,OAAmB,EACnB,OAA2B;IAE3B,IAAM,OAAO,GAAa;QACtB,OAAO,SAAA;QACP,eAAe,EAAE,OAAO,CAAC,kBAAkB,EAAE;QAC7C,OAAO,EAAE,OAAO,CAAC,cAAc,EAAE;QACjC,OAAO,EAAE,oBAAE,CAAC,aAAa,EAAE;QAC3B,OAAO,EAAE,OAAO,IAAI,EAAE;KACzB,CAAC;IACF,OAAO,UAAC,OAAO,IAAK,OAAA,UAAC,IAAI;QACrB,OAAA,iCAAe,CAAC,SAAS,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC;IAAjD,CAAiD,EADjC,CACiC,CAAC;AAC1D,CAAC;AAbD,4BAaC"}
|
|
@@ -0,0 +1,45 @@
|
|
|
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.CallExpressionTransformer = void 0;
|
|
7
|
+
var path_1 = __importDefault(require("path"));
|
|
8
|
+
var ApplicationTransformer_1 = require("./features/ApplicationTransformer");
|
|
9
|
+
var AssertTransformer_1 = require("./features/AssertTransformer");
|
|
10
|
+
var CreateTransformer_1 = require("./features/CreateTransformer");
|
|
11
|
+
var IsTransformer_1 = require("./features/IsTransformer");
|
|
12
|
+
var StringifyTransformer_1 = require("./features/StringifyTransformer");
|
|
13
|
+
var ValidateTransformer_1 = require("./features/ValidateTransformer");
|
|
14
|
+
var CallExpressionTransformer;
|
|
15
|
+
(function (CallExpressionTransformer) {
|
|
16
|
+
function transform(project, expression) {
|
|
17
|
+
var _a;
|
|
18
|
+
var declaration = (_a = project.checker.getResolvedSignature(expression)) === null || _a === void 0 ? void 0 : _a.declaration;
|
|
19
|
+
if (!declaration)
|
|
20
|
+
return expression;
|
|
21
|
+
var file = path_1.default.resolve(declaration.getSourceFile().fileName);
|
|
22
|
+
if (file !== LIB_PATH && file !== SRC_PATH)
|
|
23
|
+
return expression;
|
|
24
|
+
var name = project.checker.getTypeAtLocation(declaration).symbol.name;
|
|
25
|
+
var functor = FUNCTORS[name];
|
|
26
|
+
if (functor === undefined)
|
|
27
|
+
return expression;
|
|
28
|
+
return functor()(project, expression.expression, expression);
|
|
29
|
+
}
|
|
30
|
+
CallExpressionTransformer.transform = transform;
|
|
31
|
+
})(CallExpressionTransformer = exports.CallExpressionTransformer || (exports.CallExpressionTransformer = {}));
|
|
32
|
+
var LIB_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "module.d.ts"));
|
|
33
|
+
var SRC_PATH = path_1.default.resolve(path_1.default.join(__dirname, "..", "module.ts"));
|
|
34
|
+
var FUNCTORS = {
|
|
35
|
+
assertType: function () { return AssertTransformer_1.AssertTransformer.transform(false); },
|
|
36
|
+
is: function () { return IsTransformer_1.IsTransformer.transform(false); },
|
|
37
|
+
validate: function () { return ValidateTransformer_1.ValidateTransformer.transform(false); },
|
|
38
|
+
assertEquals: function () { return AssertTransformer_1.AssertTransformer.transform(true); },
|
|
39
|
+
equals: function () { return IsTransformer_1.IsTransformer.transform(true); },
|
|
40
|
+
validateEquals: function () { return ValidateTransformer_1.ValidateTransformer.transform(true); },
|
|
41
|
+
application: function () { return ApplicationTransformer_1.ApplicationTransformer.transform; },
|
|
42
|
+
create: function () { return CreateTransformer_1.CreateTransformer.transform; },
|
|
43
|
+
stringify: function () { return StringifyTransformer_1.StringifyTransformer.transform; },
|
|
44
|
+
};
|
|
45
|
+
//# sourceMappingURL=CallExpressionTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CallExpressionTransformer.js","sourceRoot":"","sources":["../../src/transformers/CallExpressionTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,8CAAwB;AAIxB,4EAA2E;AAC3E,kEAAiE;AACjE,kEAAiE;AACjE,0DAAyD;AACzD,wEAAuE;AACvE,sEAAqE;AAErE,IAAiB,yBAAyB,CA8BzC;AA9BD,WAAiB,yBAAyB;IACtC,SAAgB,SAAS,CACrB,OAAiB,EACjB,UAA6B;;QAM7B,IAAM,WAAW,GACb,MAAA,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,CAAC,0CAAE,WAAW,CAAC;QAClE,IAAI,CAAC,WAAW;YAAE,OAAO,UAAU,CAAC;QAGpC,IAAM,IAAI,GAAW,cAAI,CAAC,OAAO,CAAC,WAAW,CAAC,aAAa,EAAE,CAAC,QAAQ,CAAC,CAAC;QACxE,IAAI,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,QAAQ;YAAE,OAAO,UAAU,CAAC;QAMtD,IAAA,IAAI,GAAK,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAAC,WAAW,CAAC,CAAC,MAAM,KAA1D,CAA2D;QAGvE,IAAM,OAAO,GAA6B,QAAQ,CAAC,IAAI,CAAC,CAAC;QACzD,IAAI,OAAO,KAAK,SAAS;YAAE,OAAO,UAAU,CAAC;QAG7C,OAAO,OAAO,EAAE,CAAC,OAAO,EAAE,UAAU,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACjE,CAAC;IA5Be,mCAAS,YA4BxB,CAAA;AACL,CAAC,EA9BgB,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QA8BzC;AAQD,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;AACzE,IAAM,QAAQ,GAAG,cAAI,CAAC,OAAO,CAAC,cAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,CAAC,CAAC,CAAC;AACvE,IAAM,QAAQ,GAA+B;IACzC,UAAU,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,KAAK,CAAC,EAAlC,CAAkC;IACpD,EAAE,EAAE,cAAM,OAAA,6BAAa,CAAC,SAAS,CAAC,KAAK,CAAC,EAA9B,CAA8B;IACxC,QAAQ,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,CAAC,KAAK,CAAC,EAApC,CAAoC;IAEpD,YAAY,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAjC,CAAiC;IACrD,MAAM,EAAE,cAAM,OAAA,6BAAa,CAAC,SAAS,CAAC,IAAI,CAAC,EAA7B,CAA6B;IAC3C,cAAc,EAAE,cAAM,OAAA,yCAAmB,CAAC,SAAS,CAAC,IAAI,CAAC,EAAnC,CAAmC;IAEzD,WAAW,EAAE,cAAM,OAAA,+CAAsB,CAAC,SAAS,EAAhC,CAAgC;IACnD,MAAM,EAAE,cAAM,OAAA,qCAAiB,CAAC,SAAS,EAA3B,CAA2B;IACzC,SAAS,EAAE,cAAM,OAAA,2CAAoB,CAAC,SAAS,EAA9B,CAA8B;CAClD,CAAC"}
|
|
File without changes
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExpressionWithArgumentTransformer.js","sourceRoot":"","sources":["../../src/transformers/ExpressionWithArgumentTransformer.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,34 @@
|
|
|
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.FileTransformer = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var NodeTransformer_1 = require("./NodeTransformer");
|
|
9
|
+
var FileTransformer;
|
|
10
|
+
(function (FileTransformer) {
|
|
11
|
+
function transform(project, context, file) {
|
|
12
|
+
if (file.isDeclarationFile)
|
|
13
|
+
return file;
|
|
14
|
+
return typescript_1.default.visitEachChild(file, function (node) { return iterate_node(project, context, node); }, context);
|
|
15
|
+
}
|
|
16
|
+
FileTransformer.transform = transform;
|
|
17
|
+
function iterate_node(project, context, node) {
|
|
18
|
+
return typescript_1.default.visitEachChild(try_transform_node(project, node), function (child) { return iterate_node(project, context, child); }, context);
|
|
19
|
+
}
|
|
20
|
+
function try_transform_node(project, node) {
|
|
21
|
+
try {
|
|
22
|
+
return NodeTransformer_1.NodeTransformer.transform(project, node);
|
|
23
|
+
}
|
|
24
|
+
catch (exp) {
|
|
25
|
+
if (!(exp instanceof Error))
|
|
26
|
+
throw exp;
|
|
27
|
+
var file = node.getSourceFile();
|
|
28
|
+
var _a = file.getLineAndCharacterOfPosition(node.pos), line = _a.line, character = _a.character;
|
|
29
|
+
exp.message += " - ".concat(file.fileName, ".").concat(line + 1, ":").concat(character + 1);
|
|
30
|
+
throw exp;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
})(FileTransformer = exports.FileTransformer || (exports.FileTransformer = {}));
|
|
34
|
+
//# sourceMappingURL=FileTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FileTransformer.js","sourceRoot":"","sources":["../../src/transformers/FileTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAG5B,qDAAoD;AAEpD,IAAiB,eAAe,CA2C/B;AA3CD,WAAiB,eAAe;IAC5B,SAAgB,SAAS,CACrB,OAAiB,EACjB,OAAiC,EACjC,IAAmB;QAGnB,IAAI,IAAI,CAAC,iBAAiB;YAAE,OAAO,IAAI,CAAC;QAGxC,OAAO,oBAAE,CAAC,cAAc,CACpB,IAAI,EACJ,UAAC,IAAI,IAAK,OAAA,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,CAAC,EAApC,CAAoC,EAC9C,OAAO,CACV,CAAC;IACN,CAAC;IAde,yBAAS,YAcxB,CAAA;IAED,SAAS,YAAY,CACjB,OAAiB,EACjB,OAAiC,EACjC,IAAa;QAEb,OAAO,oBAAE,CAAC,cAAc,CACpB,kBAAkB,CAAC,OAAO,EAAE,IAAI,CAAC,EACjC,UAAC,KAAK,IAAK,OAAA,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,KAAK,CAAC,EAArC,CAAqC,EAChD,OAAO,CACV,CAAC;IACN,CAAC;IAED,SAAS,kBAAkB,CAAC,OAAiB,EAAE,IAAa;QACxD,IAAI;YACA,OAAO,iCAAe,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;SACnD;QAAC,OAAO,GAAG,EAAE;YACV,IAAI,CAAC,CAAC,GAAG,YAAY,KAAK,CAAC;gBAAE,MAAM,GAAG,CAAC;YAEvC,IAAM,IAAI,GAAkB,IAAI,CAAC,aAAa,EAAE,CAAC;YAC3C,IAAA,KAAsB,IAAI,CAAC,6BAA6B,CAC1D,IAAI,CAAC,GAAG,CACX,EAFO,IAAI,UAAA,EAAE,SAAS,eAEtB,CAAC;YACF,GAAG,CAAC,OAAO,IAAI,aAAM,IAAI,CAAC,QAAQ,cAAI,IAAI,GAAG,CAAC,cAAI,SAAS,GAAG,CAAC,CAAE,CAAC;YAClE,MAAM,GAAG,CAAC;SACb;IACL,CAAC;AACL,CAAC,EA3CgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA2C/B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IProject.js","sourceRoot":"","sources":["../../src/transformers/IProject.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ITransformOptions.js","sourceRoot":"","sources":["../../src/transformers/ITransformOptions.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,18 @@
|
|
|
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.NodeTransformer = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var CallExpressionTransformer_1 = require("./CallExpressionTransformer");
|
|
9
|
+
var NodeTransformer;
|
|
10
|
+
(function (NodeTransformer) {
|
|
11
|
+
function transform(project, expression) {
|
|
12
|
+
if (typescript_1.default.isCallExpression(expression))
|
|
13
|
+
return CallExpressionTransformer_1.CallExpressionTransformer.transform(project, expression);
|
|
14
|
+
return expression;
|
|
15
|
+
}
|
|
16
|
+
NodeTransformer.transform = transform;
|
|
17
|
+
})(NodeTransformer = exports.NodeTransformer || (exports.NodeTransformer = {}));
|
|
18
|
+
//# sourceMappingURL=NodeTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NodeTransformer.js","sourceRoot":"","sources":["../../src/transformers/NodeTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,yEAAwE;AAKxE,IAAiB,eAAe,CAW/B;AAXD,WAAiB,eAAe;IAC5B,SAAgB,SAAS,CAAC,OAAiB,EAAE,UAAmB;QAC5D,IAAI,oBAAE,CAAC,gBAAgB,CAAC,UAAU,CAAC;YAC/B,OAAO,qDAAyB,CAAC,SAAS,CAAC,OAAO,EAAE,UAAU,CAAC,CAAC;QAMpE,OAAO,UAAU,CAAC;IACtB,CAAC;IATe,yBAAS,YASxB,CAAA;AACL,CAAC,EAXgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QAW/B"}
|
|
@@ -0,0 +1,63 @@
|
|
|
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.ApplicationTransformer = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var LiteralFactory_1 = require("../../factories/LiteralFactory");
|
|
9
|
+
var MetadataCollection_1 = require("../../factories/MetadataCollection");
|
|
10
|
+
var MetadataFactory_1 = require("../../factories/MetadataFactory");
|
|
11
|
+
var ApplicationProgrammer_1 = require("../../programmers/ApplicationProgrammer");
|
|
12
|
+
var ApplicationTransformer;
|
|
13
|
+
(function (ApplicationTransformer) {
|
|
14
|
+
function transform(_a, _modulo, expression) {
|
|
15
|
+
var _b;
|
|
16
|
+
var checker = _a.checker;
|
|
17
|
+
if (!((_b = expression.typeArguments) === null || _b === void 0 ? void 0 : _b.length))
|
|
18
|
+
throw new Error("Error on TSON.application(): no generic argument.");
|
|
19
|
+
var top = expression.typeArguments[0];
|
|
20
|
+
if (!typescript_1.default.isTupleTypeNode(top))
|
|
21
|
+
return expression;
|
|
22
|
+
else if (top.elements.some(function (child) { return !typescript_1.default.isTypeNode(child); }))
|
|
23
|
+
return expression;
|
|
24
|
+
var types = top.elements.map(function (child) {
|
|
25
|
+
return checker.getTypeFromTypeNode(child);
|
|
26
|
+
});
|
|
27
|
+
if (types.some(function (t) { return t.isTypeParameter(); }))
|
|
28
|
+
throw new Error("Error on TSON.application(): non-specified generic argument(s).");
|
|
29
|
+
var purpose = get_parameter(checker, "Purpose", expression.typeArguments[1], function (str) { return str === "swagger" || str === "ajv"; }, function () { return "swagger"; });
|
|
30
|
+
var prefix = get_parameter(checker, "Prefix", expression.typeArguments[2], function () { return true; }, function () {
|
|
31
|
+
return purpose === "swagger"
|
|
32
|
+
? "#/components/schemas"
|
|
33
|
+
: "components#/schemas";
|
|
34
|
+
});
|
|
35
|
+
var collection = new MetadataCollection_1.MetadataCollection({
|
|
36
|
+
replace: MetadataCollection_1.MetadataCollection.replace,
|
|
37
|
+
});
|
|
38
|
+
var metadatas = types.map(function (type) {
|
|
39
|
+
return MetadataFactory_1.MetadataFactory.generate(checker, collection, type, {
|
|
40
|
+
resolve: true,
|
|
41
|
+
constant: true,
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
var app = ApplicationProgrammer_1.ApplicationProgrammer.generate(metadatas, {
|
|
45
|
+
purpose: purpose,
|
|
46
|
+
prefix: prefix,
|
|
47
|
+
});
|
|
48
|
+
return LiteralFactory_1.LiteralFactory.generate(app);
|
|
49
|
+
}
|
|
50
|
+
ApplicationTransformer.transform = transform;
|
|
51
|
+
function get_parameter(checker, name, node, predicator, defaulter) {
|
|
52
|
+
if (!node)
|
|
53
|
+
return defaulter();
|
|
54
|
+
var type = checker.getTypeFromTypeNode(node);
|
|
55
|
+
if (!type.isLiteral())
|
|
56
|
+
throw new Error("Error on TSON.application(): generic argument \"".concat(name, "\" must be constant."));
|
|
57
|
+
var value = type.value;
|
|
58
|
+
if (typeof value !== "string" || predicator(value) === false)
|
|
59
|
+
throw new Error("Error on TSON.application(): invalid value on generic argument \"".concat(name, "\"."));
|
|
60
|
+
return value;
|
|
61
|
+
}
|
|
62
|
+
})(ApplicationTransformer = exports.ApplicationTransformer || (exports.ApplicationTransformer = {}));
|
|
63
|
+
//# sourceMappingURL=ApplicationTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ApplicationTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/ApplicationTransformer.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
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.AssertTransformer = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var AssertProgrammer_1 = require("../../programmers/AssertProgrammer");
|
|
9
|
+
var AssertTransformer;
|
|
10
|
+
(function (AssertTransformer) {
|
|
11
|
+
function transform(equals) {
|
|
12
|
+
var SYMBOL = equals ? "assertEquals" : "assertType";
|
|
13
|
+
var MESSAGES = {
|
|
14
|
+
NO_INPUT_VALUE: "Error on TSON.".concat(SYMBOL, "(): no input value."),
|
|
15
|
+
GENERIC_ARGUMENT: "Error on TSON.".concat(SYMBOL, "(): non-specified generic argument."),
|
|
16
|
+
};
|
|
17
|
+
return function (project, modulo, expression) {
|
|
18
|
+
if (expression.arguments.length !== 1)
|
|
19
|
+
throw new Error(MESSAGES.NO_INPUT_VALUE);
|
|
20
|
+
var type = expression.typeArguments && expression.typeArguments[0]
|
|
21
|
+
? project.checker.getTypeFromTypeNode(expression.typeArguments[0])
|
|
22
|
+
: project.checker.getTypeAtLocation(expression.arguments[0]);
|
|
23
|
+
if (type.isTypeParameter())
|
|
24
|
+
throw new Error(MESSAGES.GENERIC_ARGUMENT);
|
|
25
|
+
return typescript_1.default.factory.createCallExpression(AssertProgrammer_1.AssertProgrammer.generate(project, modulo, equals)(type), undefined, [expression.arguments[0]]);
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
AssertTransformer.transform = transform;
|
|
29
|
+
})(AssertTransformer = exports.AssertTransformer || (exports.AssertTransformer = {}));
|
|
30
|
+
//# sourceMappingURL=AssertTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"AssertTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/AssertTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,uEAAsE;AAItE,IAAiB,iBAAiB,CAoCjC;AApCD,WAAiB,iBAAiB;IAC9B,SAAgB,SAAS,CAAC,MAAe;QACrC,IAAM,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,YAAY,CAAC;QACtD,IAAM,QAAQ,GAAG;YACb,cAAc,EAAE,wBAAiB,MAAM,wBAAqB;YAC5D,gBAAgB,EAAE,wBAAiB,MAAM,wCAAqC;SACjF,CAAC;QAEF,OAAO,UACH,OAAiB,EACjB,MAAiC,EACjC,UAA6B;YAE7B,IAAI,UAAU,CAAC,SAAS,CAAC,MAAM,KAAK,CAAC;gBACjC,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;YAG7C,IAAM,IAAI,GACN,UAAU,CAAC,aAAa,IAAI,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC;gBACnD,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,mBAAmB,CAC/B,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAC9B;gBACH,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,iBAAiB,CAC7B,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAC3B,CAAC;YACZ,IAAI,IAAI,CAAC,eAAe,EAAE;gBACtB,MAAM,IAAI,KAAK,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC;YAG/C,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,mCAAgB,CAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,EACxD,SAAS,EACT,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAE,CAAC,CAC7B,CAAC;QACN,CAAC,CAAC;IACN,CAAC;IAlCe,2BAAS,YAkCxB,CAAA;AACL,CAAC,EApCgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAoCjC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
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.CreateTransformer = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var CreateTransformer;
|
|
9
|
+
(function (CreateTransformer) {
|
|
10
|
+
function transform(_project, _modulo, expression) {
|
|
11
|
+
var param = expression.arguments[0];
|
|
12
|
+
if (param === undefined)
|
|
13
|
+
throw new Error("Error on TSON.application(): no input value.");
|
|
14
|
+
var json = to_json_string(param);
|
|
15
|
+
return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("JSON.parse"), undefined, [typescript_1.default.factory.createStringLiteral(json)]);
|
|
16
|
+
}
|
|
17
|
+
CreateTransformer.transform = transform;
|
|
18
|
+
function to_json_string(param) {
|
|
19
|
+
try {
|
|
20
|
+
var text = param.getFullText();
|
|
21
|
+
var obj = new Function("return ".concat(text, ";"))();
|
|
22
|
+
return JSON.stringify(obj);
|
|
23
|
+
}
|
|
24
|
+
catch (exp) {
|
|
25
|
+
throw new Error("Error on TSON.application(): input value must be constant.");
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
})(CreateTransformer = exports.CreateTransformer || (exports.CreateTransformer = {}));
|
|
29
|
+
//# sourceMappingURL=CreateTransformer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"CreateTransformer.js","sourceRoot":"","sources":["../../../src/transformers/features/CreateTransformer.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAI5B,IAAiB,iBAAiB,CA+BjC;AA/BD,WAAiB,iBAAiB;IAC9B,SAAgB,SAAS,CACrB,QAAkB,EAClB,OAAkC,EAClC,UAA6B;QAG7B,IAAM,KAAK,GAA8B,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;QACjE,IAAI,KAAK,KAAK,SAAS;YAAE,MAAM,IAAI,KAAK,gDAA8B,CAAC;QAGvE,IAAM,IAAI,GAAW,cAAc,CAAC,KAAK,CAAC,CAAC;QAG3C,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CACzC,CAAC;IACN,CAAC;IAlBe,2BAAS,YAkBxB,CAAA;IAED,SAAS,cAAc,CAAC,KAAoB;QACxC,IAAI;YACA,IAAM,IAAI,GAAW,KAAK,CAAC,WAAW,EAAE,CAAC;YACzC,IAAM,GAAG,GAAQ,IAAI,QAAQ,CAAC,iBAAU,IAAI,MAAG,CAAC,EAAE,CAAC;YAEnD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC;SAC9B;QAAC,OAAO,GAAG,EAAE;YACV,MAAM,IAAI,KAAK,8DAAiC,CAAC;SACpD;IACL,CAAC;AACL,CAAC,EA/BgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA+BjC"}
|