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,317 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __values = (this && this.__values) || function(o) {
|
|
3
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
4
|
+
if (m) return m.call(o);
|
|
5
|
+
if (o && typeof o.length === "number") return {
|
|
6
|
+
next: function () {
|
|
7
|
+
if (o && i >= o.length) o = void 0;
|
|
8
|
+
return { value: o && o[i++], done: !o };
|
|
9
|
+
}
|
|
10
|
+
};
|
|
11
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
12
|
+
};
|
|
13
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
14
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
15
|
+
if (!m) return o;
|
|
16
|
+
var i = m.call(o), r, ar = [], e;
|
|
17
|
+
try {
|
|
18
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
19
|
+
}
|
|
20
|
+
catch (error) { e = { error: error }; }
|
|
21
|
+
finally {
|
|
22
|
+
try {
|
|
23
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
24
|
+
}
|
|
25
|
+
finally { if (e) throw e.error; }
|
|
26
|
+
}
|
|
27
|
+
return ar;
|
|
28
|
+
};
|
|
29
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
30
|
+
exports.MetadataTagFactory = void 0;
|
|
31
|
+
var MetadataTagFactory;
|
|
32
|
+
(function (MetadataTagFactory) {
|
|
33
|
+
function generate(identifier, metadata, tagList) {
|
|
34
|
+
var e_1, _a;
|
|
35
|
+
var output = [];
|
|
36
|
+
try {
|
|
37
|
+
for (var tagList_1 = __values(tagList), tagList_1_1 = tagList_1.next(); !tagList_1_1.done; tagList_1_1 = tagList_1.next()) {
|
|
38
|
+
var tag = tagList_1_1.value;
|
|
39
|
+
var elem = parse(identifier, metadata, tag, output);
|
|
40
|
+
if (elem !== null)
|
|
41
|
+
output.push(elem);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
45
|
+
finally {
|
|
46
|
+
try {
|
|
47
|
+
if (tagList_1_1 && !tagList_1_1.done && (_a = tagList_1.return)) _a.call(tagList_1);
|
|
48
|
+
}
|
|
49
|
+
finally { if (e_1) throw e_1.error; }
|
|
50
|
+
}
|
|
51
|
+
return output;
|
|
52
|
+
}
|
|
53
|
+
MetadataTagFactory.generate = generate;
|
|
54
|
+
function parse(identifier, metadata, tag, output) {
|
|
55
|
+
var _a;
|
|
56
|
+
var closure = PARSER[tag.name];
|
|
57
|
+
if (closure === undefined)
|
|
58
|
+
return null;
|
|
59
|
+
var text = (_a = (tag.text || [])[0]) === null || _a === void 0 ? void 0 : _a.text;
|
|
60
|
+
if (text === undefined)
|
|
61
|
+
throw new Error("".concat(LABEL, ": no tag value on ").concat(identifier()));
|
|
62
|
+
return closure(identifier, metadata, text, output);
|
|
63
|
+
}
|
|
64
|
+
})(MetadataTagFactory = exports.MetadataTagFactory || (exports.MetadataTagFactory = {}));
|
|
65
|
+
var PARSER = {
|
|
66
|
+
items: function (identifier, metadata, text, output) {
|
|
67
|
+
validate(identifier, metadata, output, "items", "array", [
|
|
68
|
+
"minItems",
|
|
69
|
+
"maxItems",
|
|
70
|
+
]);
|
|
71
|
+
return parse_range("items", identifier, text, true);
|
|
72
|
+
},
|
|
73
|
+
minItems: function (identifier, metadata, text, output) {
|
|
74
|
+
validate(identifier, metadata, output, "minItems", "array", ["items"]);
|
|
75
|
+
return {
|
|
76
|
+
kind: "minItems",
|
|
77
|
+
value: parse_number(identifier, text),
|
|
78
|
+
};
|
|
79
|
+
},
|
|
80
|
+
maxItems: function (identifier, metadata, text, output) {
|
|
81
|
+
validate(identifier, metadata, output, "maxItems", "array", ["items"]);
|
|
82
|
+
return {
|
|
83
|
+
kind: "maxItems",
|
|
84
|
+
value: parse_number(identifier, text),
|
|
85
|
+
};
|
|
86
|
+
},
|
|
87
|
+
type: function (identifier, metadata, text, output) {
|
|
88
|
+
validate(identifier, metadata, output, "type", "number", []);
|
|
89
|
+
if (text !== "int" && text !== "uint")
|
|
90
|
+
throw new Error("".concat(LABEL, ": invalid type tag on \"").concat(identifier(), "\"."));
|
|
91
|
+
return { kind: "type", value: text };
|
|
92
|
+
},
|
|
93
|
+
range: function (identifier, metadata, text, output) {
|
|
94
|
+
validate(identifier, metadata, output, "range", "number", [
|
|
95
|
+
"exclusiveMinimum",
|
|
96
|
+
"minimum",
|
|
97
|
+
"maximum",
|
|
98
|
+
"exclusiveMaximum",
|
|
99
|
+
]);
|
|
100
|
+
return parse_range("range", identifier, text, false);
|
|
101
|
+
},
|
|
102
|
+
minimum: function (identifier, metadata, text, output) {
|
|
103
|
+
validate(identifier, metadata, output, "minimum", "number", [
|
|
104
|
+
"range",
|
|
105
|
+
"exclusiveMaximum",
|
|
106
|
+
"exclusiveMinimum",
|
|
107
|
+
]);
|
|
108
|
+
return {
|
|
109
|
+
kind: "minimum",
|
|
110
|
+
value: parse_number(identifier, text),
|
|
111
|
+
};
|
|
112
|
+
},
|
|
113
|
+
maximum: function (identifier, metadata, text, output) {
|
|
114
|
+
validate(identifier, metadata, output, "maximum", "number", [
|
|
115
|
+
"range",
|
|
116
|
+
"exclusiveMinimum",
|
|
117
|
+
"exclusiveMaximum",
|
|
118
|
+
]);
|
|
119
|
+
return {
|
|
120
|
+
kind: "maximum",
|
|
121
|
+
value: parse_number(identifier, text),
|
|
122
|
+
};
|
|
123
|
+
},
|
|
124
|
+
exclusiveMinimum: function (identifier, metadata, text, output) {
|
|
125
|
+
validate(identifier, metadata, output, "exclusiveMinimum", "number", [
|
|
126
|
+
"range",
|
|
127
|
+
"minimum",
|
|
128
|
+
"maximum",
|
|
129
|
+
]);
|
|
130
|
+
return {
|
|
131
|
+
kind: "exclusiveMinimum",
|
|
132
|
+
value: parse_number(identifier, text),
|
|
133
|
+
};
|
|
134
|
+
},
|
|
135
|
+
exclusiveMaximum: function (identifier, metadata, text, output) {
|
|
136
|
+
validate(identifier, metadata, output, "exclusiveMaximum", "number", [
|
|
137
|
+
"range",
|
|
138
|
+
"minimum",
|
|
139
|
+
"maximum",
|
|
140
|
+
]);
|
|
141
|
+
return {
|
|
142
|
+
kind: "exclusiveMaximum",
|
|
143
|
+
value: parse_number(identifier, text),
|
|
144
|
+
};
|
|
145
|
+
},
|
|
146
|
+
multipleOf: function (identifier, metadata, text, output) {
|
|
147
|
+
validate(identifier, metadata, output, "multipleOf", "number", [
|
|
148
|
+
"step",
|
|
149
|
+
]);
|
|
150
|
+
return {
|
|
151
|
+
kind: "multipleOf",
|
|
152
|
+
value: parse_number(identifier, text),
|
|
153
|
+
};
|
|
154
|
+
},
|
|
155
|
+
step: function (identifier, metadata, text, output) {
|
|
156
|
+
validate(identifier, metadata, output, "step", "number", [
|
|
157
|
+
"multipleOf",
|
|
158
|
+
]);
|
|
159
|
+
var minimum = output.some(function (tag) {
|
|
160
|
+
return tag.kind === "minimum" ||
|
|
161
|
+
tag.kind === "exclusiveMinimum" ||
|
|
162
|
+
(tag.kind === "range" && tag.minimum !== undefined);
|
|
163
|
+
});
|
|
164
|
+
if (minimum === undefined)
|
|
165
|
+
throw new Error("".concat(LABEL, ": step requires minimum tag on \"").concat(identifier(), "\"."));
|
|
166
|
+
return {
|
|
167
|
+
kind: "step",
|
|
168
|
+
value: parse_number(identifier, text),
|
|
169
|
+
};
|
|
170
|
+
},
|
|
171
|
+
format: function (identifier, metadata, value, output) {
|
|
172
|
+
validate(identifier, metadata, output, "format", "string", ["pattern"]);
|
|
173
|
+
if (FORMATS.has(value) === false)
|
|
174
|
+
return null;
|
|
175
|
+
return {
|
|
176
|
+
kind: "format",
|
|
177
|
+
value: value,
|
|
178
|
+
};
|
|
179
|
+
},
|
|
180
|
+
pattern: function (identifier, metadata, value, output) {
|
|
181
|
+
validate(identifier, metadata, output, "pattern", "string", ["format"]);
|
|
182
|
+
return {
|
|
183
|
+
kind: "pattern",
|
|
184
|
+
value: value,
|
|
185
|
+
};
|
|
186
|
+
},
|
|
187
|
+
length: function (identifier, metadata, text, output) {
|
|
188
|
+
validate(identifier, metadata, output, "length", "string", [
|
|
189
|
+
"minLength",
|
|
190
|
+
"maxLength",
|
|
191
|
+
]);
|
|
192
|
+
return parse_range("length", identifier, text, true);
|
|
193
|
+
},
|
|
194
|
+
minLength: function (identifier, metadata, text, output) {
|
|
195
|
+
validate(identifier, metadata, output, "minLength", "string", [
|
|
196
|
+
"length",
|
|
197
|
+
]);
|
|
198
|
+
return {
|
|
199
|
+
kind: "minLength",
|
|
200
|
+
value: parse_number(identifier, text),
|
|
201
|
+
};
|
|
202
|
+
},
|
|
203
|
+
maxLength: function (identifier, metadata, text, output) {
|
|
204
|
+
validate(identifier, metadata, output, "maxLength", "string", [
|
|
205
|
+
"length",
|
|
206
|
+
]);
|
|
207
|
+
return {
|
|
208
|
+
kind: "maxLength",
|
|
209
|
+
value: parse_number(identifier, text),
|
|
210
|
+
};
|
|
211
|
+
},
|
|
212
|
+
};
|
|
213
|
+
function parse_range(kind, identifier, text, allowScalar) {
|
|
214
|
+
if (allowScalar === true && Number.isNaN(Number(text)) === false) {
|
|
215
|
+
var value = Number(text);
|
|
216
|
+
if (Math.floor(value) !== value)
|
|
217
|
+
throw new Error("".concat(LABEL, ": invalid length on \"").concat(identifier(), "\"."));
|
|
218
|
+
return {
|
|
219
|
+
kind: kind,
|
|
220
|
+
minimum: {
|
|
221
|
+
include: true,
|
|
222
|
+
value: value,
|
|
223
|
+
},
|
|
224
|
+
maximum: {
|
|
225
|
+
include: true,
|
|
226
|
+
value: value,
|
|
227
|
+
},
|
|
228
|
+
};
|
|
229
|
+
}
|
|
230
|
+
else if (text.indexOf(",") === -1)
|
|
231
|
+
if (LEFT_PARENTHESIS.some(function (str) { return text.indexOf(str) !== -1; }))
|
|
232
|
+
return {
|
|
233
|
+
kind: kind,
|
|
234
|
+
minimum: parse_side("left")(kind)(identifier)(text),
|
|
235
|
+
};
|
|
236
|
+
else if (RIGHT_PARENTHESIS.some(function (str) { return text.indexOf(str) !== -1; }))
|
|
237
|
+
return {
|
|
238
|
+
kind: kind,
|
|
239
|
+
maximum: parse_side("right")(kind)(identifier)(text),
|
|
240
|
+
};
|
|
241
|
+
else
|
|
242
|
+
throw new Error("".concat(LABEL, ": invalid ").concat(kind, " tag on \"").concat(identifier(), "\"."));
|
|
243
|
+
var _a = __read(text.split(","), 2), left = _a[0], right = _a[1];
|
|
244
|
+
return {
|
|
245
|
+
kind: kind,
|
|
246
|
+
minimum: parse_side("left")(kind)(identifier)(left),
|
|
247
|
+
maximum: parse_side("right")(kind)(identifier)(right),
|
|
248
|
+
};
|
|
249
|
+
}
|
|
250
|
+
var parse_side = function (side) {
|
|
251
|
+
var symbol = side === "left" ? LEFT_PARENTHESIS : RIGHT_PARENTHESIS;
|
|
252
|
+
var substring = side === "left"
|
|
253
|
+
? function (str, index) { return str.substring(index + 1); }
|
|
254
|
+
: function (str, index) { return str.substring(0, index); };
|
|
255
|
+
return function (tag) { return function (identifier) { return function (text) {
|
|
256
|
+
var _a = __read(text.indexOf(symbol[0]) !== -1
|
|
257
|
+
? [text.indexOf(symbol[0]), true]
|
|
258
|
+
: [text.indexOf(symbol[1]), false], 2), index = _a[0], include = _a[1];
|
|
259
|
+
if (index === -1)
|
|
260
|
+
throw new Error("".concat(LABEL, ": invalid ").concat(tag, " tag on \"").concat(identifier(), "\"."));
|
|
261
|
+
return {
|
|
262
|
+
include: include,
|
|
263
|
+
value: parse_number(identifier, substring(text, index)),
|
|
264
|
+
};
|
|
265
|
+
}; }; };
|
|
266
|
+
};
|
|
267
|
+
function parse_number(identifier, str) {
|
|
268
|
+
var value = Number(str);
|
|
269
|
+
if (isNaN(value) === true)
|
|
270
|
+
throw new Error("".concat(LABEL, ": invalid number on \"").concat(identifier(), "\"."));
|
|
271
|
+
return value;
|
|
272
|
+
}
|
|
273
|
+
var LABEL = "Error on TSON.MetadataTagFactory.generate()";
|
|
274
|
+
var LEFT_PARENTHESIS = ["[", "("];
|
|
275
|
+
var RIGHT_PARENTHESIS = ["]", ")"];
|
|
276
|
+
var FORMATS = new Set(["uuid", "email", "url", "mobile", "ipv4", "ipv6"]);
|
|
277
|
+
var WRONG_TYPE = function (tag, type, identifier) { return "".concat(LABEL, ": ").concat(tag, " requires ").concat(type, " type, but no \"").concat(identifier(), "\"."); };
|
|
278
|
+
function validate(identifier, metadata, output, kind, type, neighbors) {
|
|
279
|
+
var e_2, _a;
|
|
280
|
+
if (type === "array") {
|
|
281
|
+
if (has_array(metadata) === false)
|
|
282
|
+
throw new Error(WRONG_TYPE(kind, "array", identifier));
|
|
283
|
+
}
|
|
284
|
+
else if (has_atomic(metadata, type) === false)
|
|
285
|
+
throw new Error(WRONG_TYPE(kind, type, identifier));
|
|
286
|
+
if (output.some(function (tag) { return tag.kind === kind; }))
|
|
287
|
+
throw new Error("".concat(LABEL, ": duplicated ").concat(kind, " tags on \"").concat(identifier(), "\"."));
|
|
288
|
+
var _loop_1 = function (name_1) {
|
|
289
|
+
if (output.some(function (tag) { return tag.kind === name_1; }))
|
|
290
|
+
throw new Error("".concat(LABEL, ": ").concat(kind, " and ").concat(name_1, " tags on \"").concat(identifier(), "\"."));
|
|
291
|
+
};
|
|
292
|
+
try {
|
|
293
|
+
for (var neighbors_1 = __values(neighbors), neighbors_1_1 = neighbors_1.next(); !neighbors_1_1.done; neighbors_1_1 = neighbors_1.next()) {
|
|
294
|
+
var name_1 = neighbors_1_1.value;
|
|
295
|
+
_loop_1(name_1);
|
|
296
|
+
}
|
|
297
|
+
}
|
|
298
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
299
|
+
finally {
|
|
300
|
+
try {
|
|
301
|
+
if (neighbors_1_1 && !neighbors_1_1.done && (_a = neighbors_1.return)) _a.call(neighbors_1);
|
|
302
|
+
}
|
|
303
|
+
finally { if (e_2) throw e_2.error; }
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
function has_atomic(metadata, type) {
|
|
307
|
+
return (metadata.atomics.find(function (atom) { return atom === type; }) !== undefined ||
|
|
308
|
+
metadata.arrays.some(function (child) { return has_atomic(child, type); }) ||
|
|
309
|
+
metadata.tuples.some(function (tuple) {
|
|
310
|
+
return tuple.some(function (child) { return has_atomic(child, type); });
|
|
311
|
+
}));
|
|
312
|
+
}
|
|
313
|
+
function has_array(metadata) {
|
|
314
|
+
return (metadata.arrays.length !== 0 ||
|
|
315
|
+
metadata.tuples.some(function (tuple) { return tuple.some(function (child) { return has_array(child); }); }));
|
|
316
|
+
}
|
|
317
|
+
//# sourceMappingURL=MetadataTagFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataTagFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
export declare namespace StatementFactory {
|
|
3
|
+
function variable(flag: ts.NodeFlags, name: string, initializer?: ts.Expression): ts.VariableStatement;
|
|
4
|
+
function transpile(script: string): ts.ExpressionStatement;
|
|
5
|
+
function require(variable: string, location: string): ts.ImportDeclaration;
|
|
6
|
+
function importModulo(variable: string, location: string): ts.ImportDeclaration;
|
|
7
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
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.StatementFactory = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var StatementFactory;
|
|
9
|
+
(function (StatementFactory) {
|
|
10
|
+
function variable(flag, name, initializer) {
|
|
11
|
+
return typescript_1.default.factory.createVariableStatement(undefined, typescript_1.default.factory.createVariableDeclarationList([
|
|
12
|
+
typescript_1.default.factory.createVariableDeclaration(name, undefined, undefined, initializer),
|
|
13
|
+
], flag));
|
|
14
|
+
}
|
|
15
|
+
StatementFactory.variable = variable;
|
|
16
|
+
function transpile(script) {
|
|
17
|
+
return typescript_1.default.factory.createExpressionStatement(typescript_1.default.factory.createIdentifier(typescript_1.default.transpile(script)));
|
|
18
|
+
}
|
|
19
|
+
StatementFactory.transpile = transpile;
|
|
20
|
+
function require(variable, location) {
|
|
21
|
+
return typescript_1.default.factory.createImportDeclaration(undefined, undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamespaceImport(typescript_1.default.factory.createIdentifier(variable))), typescript_1.default.factory.createStringLiteral(location));
|
|
22
|
+
}
|
|
23
|
+
StatementFactory.require = require;
|
|
24
|
+
function importModulo(variable, location) {
|
|
25
|
+
return typescript_1.default.factory.createImportDeclaration(undefined, undefined, typescript_1.default.factory.createImportClause(false, undefined, typescript_1.default.factory.createNamedImports([
|
|
26
|
+
typescript_1.default.factory.createImportSpecifier(false, undefined, typescript_1.default.factory.createIdentifier(variable)),
|
|
27
|
+
])), typescript_1.default.factory.createStringLiteral(location));
|
|
28
|
+
}
|
|
29
|
+
StatementFactory.importModulo = importModulo;
|
|
30
|
+
})(StatementFactory = exports.StatementFactory || (exports.StatementFactory = {}));
|
|
31
|
+
//# sourceMappingURL=StatementFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatementFactory.js","sourceRoot":"","sources":["../../src/factories/StatementFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,gBAAgB,CA6DhC;AA7DD,WAAiB,gBAAgB;IAC7B,SAAgB,QAAQ,CACpB,IAAkB,EAClB,IAAY,EACZ,WAA2B;QAE3B,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC;YACI,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CAChC,IAAI,EACJ,SAAS,EACT,SAAS,EACT,WAAW,CACd;SACJ,EACD,IAAI,CACP,CACJ,CAAC;IACN,CAAC;IAnBe,yBAAQ,WAmBvB,CAAA;IAED,SAAgB,SAAS,CAAC,MAAc;QACpC,OAAO,oBAAE,CAAC,OAAO,CAAC,yBAAyB,CACvC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAE,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CACpD,CAAC;IACN,CAAC;IAJe,0BAAS,YAIxB,CAAA;IAED,SAAgB,OAAO,CAAC,QAAgB,EAAE,QAAgB;QACtD,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC,CACJ,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAC3C,CAAC;IACN,CAAC;IAbe,wBAAO,UAatB,CAAA;IAED,SAAgB,YAAY,CAAC,QAAgB,EAAE,QAAgB;QAC3D,OAAO,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CACrC,SAAS,EACT,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC;YAC1B,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAC5B,KAAK,EACL,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;SACJ,CAAC,CACL,EACD,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAC3C,CAAC;IACN,CAAC;IAjBe,6BAAY,eAiB3B,CAAA;AACL,CAAC,EA7DgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QA6DhC"}
|
|
@@ -0,0 +1,41 @@
|
|
|
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.TemplateFactory = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var TemplateFactory;
|
|
9
|
+
(function (TemplateFactory) {
|
|
10
|
+
function generate(expressions) {
|
|
11
|
+
var it = {
|
|
12
|
+
value: "",
|
|
13
|
+
index: 0,
|
|
14
|
+
};
|
|
15
|
+
gather(expressions, it);
|
|
16
|
+
var head = typescript_1.default.factory.createTemplateHead(it.value);
|
|
17
|
+
var spans = [];
|
|
18
|
+
while (true) {
|
|
19
|
+
var elem = expressions[it.index++];
|
|
20
|
+
gather(expressions, it);
|
|
21
|
+
var broken = it.index === expressions.length;
|
|
22
|
+
spans.push(typescript_1.default.factory.createTemplateSpan(elem, broken
|
|
23
|
+
? typescript_1.default.factory.createTemplateTail(it.value)
|
|
24
|
+
: typescript_1.default.factory.createTemplateMiddle(it.value)));
|
|
25
|
+
if (broken === true)
|
|
26
|
+
break;
|
|
27
|
+
}
|
|
28
|
+
return typescript_1.default.factory.createTemplateExpression(head, spans);
|
|
29
|
+
}
|
|
30
|
+
TemplateFactory.generate = generate;
|
|
31
|
+
function gather(expressions, it) {
|
|
32
|
+
var found = expressions.findIndex(function (elem, index) { return index >= it.index && !typescript_1.default.isStringLiteral(elem); });
|
|
33
|
+
var last = found !== -1 ? found : expressions.length;
|
|
34
|
+
it.value = expressions
|
|
35
|
+
.slice(it.index, last)
|
|
36
|
+
.map(function (elem) { return elem.text; })
|
|
37
|
+
.reduce(function (x, y) { return x + y; }, "");
|
|
38
|
+
it.index = last;
|
|
39
|
+
}
|
|
40
|
+
})(TemplateFactory = exports.TemplateFactory || (exports.TemplateFactory = {}));
|
|
41
|
+
//# sourceMappingURL=TemplateFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TemplateFactory.js","sourceRoot":"","sources":["../../src/factories/TemplateFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,eAAe,CA8C/B;AA9CD,WAAiB,eAAe;IAC5B,SAAgB,QAAQ,CAAC,WAA4B;QACjD,IAAM,EAAE,GAAa;YACjB,KAAK,EAAE,EAAE;YACT,KAAK,EAAE,CAAC;SACX,CAAC;QACF,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAExB,IAAM,IAAI,GAAoB,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;QACtE,IAAM,KAAK,GAAsB,EAAE,CAAC;QAEpC,OAAO,IAAI,EAAE;YACT,IAAM,IAAI,GAAkB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,CAAE,CAAC;YACrD,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YAExB,IAAM,MAAM,GAAY,EAAE,CAAC,KAAK,KAAK,WAAW,CAAC,MAAM,CAAC;YACxD,KAAK,CAAC,IAAI,CACN,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,IAAI,EACJ,MAAM;gBACF,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAC,KAAK,CAAC;gBACzC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,EAAE,CAAC,KAAK,CAAC,CAClD,CACJ,CAAC;YACF,IAAI,MAAM,KAAK,IAAI;gBAAE,MAAM;SAC9B;QACD,OAAO,oBAAE,CAAC,OAAO,CAAC,wBAAwB,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAC5D,CAAC;IA1Be,wBAAQ,WA0BvB,CAAA;IAED,SAAS,MAAM,CAAC,WAA4B,EAAE,EAAY;QACtD,IAAM,KAAK,GAAW,WAAW,CAAC,SAAS,CACvC,UAAC,IAAI,EAAE,KAAK,IAAK,OAAA,KAAK,IAAI,EAAE,CAAC,KAAK,IAAI,CAAC,oBAAE,CAAC,eAAe,CAAC,IAAI,CAAC,EAA9C,CAA8C,CAClE,CAAC;QAEF,IAAM,IAAI,GAAW,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,WAAW,CAAC,MAAM,CAAC;QAC/D,EAAE,CAAC,KAAK,GAAG,WAAW;aACjB,KAAK,CAAC,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC;aACrB,GAAG,CAAC,UAAC,IAAI,IAAK,OAAC,IAAyB,CAAC,IAAI,EAA/B,CAA+B,CAAC;aAC9C,MAAM,CAAC,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,GAAG,CAAC,EAAL,CAAK,EAAE,EAAE,CAAC,CAAC;QACjC,EAAE,CAAC,KAAK,GAAG,IAAI,CAAC;IACpB,CAAC;AAML,CAAC,EA9CgB,eAAe,GAAf,uBAAe,KAAf,uBAAe,QA8C/B"}
|
|
@@ -0,0 +1,71 @@
|
|
|
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.TypeFactory = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var TypeFactory;
|
|
9
|
+
(function (TypeFactory) {
|
|
10
|
+
function resolve(checker, type) {
|
|
11
|
+
return get_return_type(checker, type, "toJSON");
|
|
12
|
+
}
|
|
13
|
+
TypeFactory.resolve = resolve;
|
|
14
|
+
function isFunction(type) {
|
|
15
|
+
return getFunction(type) !== null;
|
|
16
|
+
}
|
|
17
|
+
TypeFactory.isFunction = isFunction;
|
|
18
|
+
function getFunction(type) {
|
|
19
|
+
var _a, _b;
|
|
20
|
+
var node = (_b = (_a = type.symbol) === null || _a === void 0 ? void 0 : _a.declarations) === null || _b === void 0 ? void 0 : _b[0];
|
|
21
|
+
if (node === undefined)
|
|
22
|
+
return null;
|
|
23
|
+
return typescript_1.default.isFunctionLike(node)
|
|
24
|
+
? node
|
|
25
|
+
: typescript_1.default.isPropertyAssignment(node) || typescript_1.default.isPropertyDeclaration(node)
|
|
26
|
+
? typescript_1.default.isFunctionLike(node.initializer)
|
|
27
|
+
? node.initializer
|
|
28
|
+
: null
|
|
29
|
+
: null;
|
|
30
|
+
}
|
|
31
|
+
function get_return_type(checker, type, name) {
|
|
32
|
+
var symbol = type.getProperty(name);
|
|
33
|
+
if (!symbol)
|
|
34
|
+
return null;
|
|
35
|
+
else if (!symbol.valueDeclaration)
|
|
36
|
+
return null;
|
|
37
|
+
var functor = checker.getTypeOfSymbolAtLocation(symbol, symbol.valueDeclaration);
|
|
38
|
+
var signature = checker.getSignaturesOfType(functor, typescript_1.default.SignatureKind.Call)[0];
|
|
39
|
+
return signature ? signature.getReturnType() : null;
|
|
40
|
+
}
|
|
41
|
+
function getFullName(checker, type) {
|
|
42
|
+
var symbol = type.getSymbol() || type.aliasSymbol;
|
|
43
|
+
if (symbol === undefined)
|
|
44
|
+
return checker.typeToString(type, undefined, undefined);
|
|
45
|
+
if (type.aliasSymbol === undefined && type.isUnionOrIntersection()) {
|
|
46
|
+
var joiner = type.isIntersection() ? " & " : " | ";
|
|
47
|
+
return type.types
|
|
48
|
+
.map(function (child) { return getFullName(checker, child); })
|
|
49
|
+
.join(joiner);
|
|
50
|
+
}
|
|
51
|
+
var name = get_name(symbol);
|
|
52
|
+
var generic = checker.getTypeArguments(type);
|
|
53
|
+
return generic.length
|
|
54
|
+
? name === "Promise"
|
|
55
|
+
? getFullName(checker, generic[0])
|
|
56
|
+
: "".concat(name, "<").concat(generic
|
|
57
|
+
.map(function (child) { return getFullName(checker, child); })
|
|
58
|
+
.join(", "), ">")
|
|
59
|
+
: name;
|
|
60
|
+
}
|
|
61
|
+
TypeFactory.getFullName = getFullName;
|
|
62
|
+
function explore_name(name, decl) {
|
|
63
|
+
return typescript_1.default.isModuleBlock(decl)
|
|
64
|
+
? explore_name("".concat(decl.parent.name.getText(), ".").concat(name), decl.parent.parent)
|
|
65
|
+
: name;
|
|
66
|
+
}
|
|
67
|
+
function get_name(symbol) {
|
|
68
|
+
return explore_name(symbol.escapedName.toString(), symbol.getDeclarations()[0].parent);
|
|
69
|
+
}
|
|
70
|
+
})(TypeFactory = exports.TypeFactory || (exports.TypeFactory = {}));
|
|
71
|
+
//# sourceMappingURL=TypeFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TypeFactory.js","sourceRoot":"","sources":["../../src/factories/TypeFactory.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
export declare namespace ValueFactory {
|
|
3
|
+
const NULL: () => ts.NullLiteral;
|
|
4
|
+
const UNDEFINED: () => ts.Identifier;
|
|
5
|
+
const BOOLEAN: (value: boolean) => ts.TrueLiteral | ts.FalseLiteral;
|
|
6
|
+
const INPUT: (str?: string) => ts.Identifier;
|
|
7
|
+
const TYPEOF: (input: ts.Expression) => ts.TypeOfExpression;
|
|
8
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
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.ValueFactory = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var ValueFactory;
|
|
9
|
+
(function (ValueFactory) {
|
|
10
|
+
ValueFactory.NULL = function () { return typescript_1.default.factory.createNull(); };
|
|
11
|
+
ValueFactory.UNDEFINED = function () { return typescript_1.default.factory.createIdentifier("undefined"); };
|
|
12
|
+
ValueFactory.BOOLEAN = function (value) {
|
|
13
|
+
return value ? typescript_1.default.factory.createTrue() : typescript_1.default.factory.createFalse();
|
|
14
|
+
};
|
|
15
|
+
ValueFactory.INPUT = function (str) {
|
|
16
|
+
if (str === void 0) { str = "input"; }
|
|
17
|
+
return typescript_1.default.factory.createIdentifier(str);
|
|
18
|
+
};
|
|
19
|
+
ValueFactory.TYPEOF = function (input) {
|
|
20
|
+
return typescript_1.default.factory.createTypeOfExpression(input);
|
|
21
|
+
};
|
|
22
|
+
})(ValueFactory = exports.ValueFactory || (exports.ValueFactory = {}));
|
|
23
|
+
//# sourceMappingURL=ValueFactory.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ValueFactory.js","sourceRoot":"","sources":["../../src/factories/ValueFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,IAAiB,YAAY,CAS5B;AATD,WAAiB,YAAY;IACZ,iBAAI,GAAG,cAAM,OAAA,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,EAAvB,CAAuB,CAAC;IACrC,sBAAS,GAAG,cAAM,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,EAAxC,CAAwC,CAAC;IAC3D,oBAAO,GAAG,UAAC,KAAc;QAClC,OAAA,KAAK,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,EAAE;IAA1D,CAA0D,CAAC;IAClD,kBAAK,GAAG,UAAC,GAAqB;QAArB,oBAAA,EAAA,aAAqB;QACvC,OAAA,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,GAAG,CAAC;IAAhC,CAAgC,CAAC;IACxB,mBAAM,GAAG,UAAC,KAAoB;QACvC,OAAA,oBAAE,CAAC,OAAO,CAAC,sBAAsB,CAAC,KAAK,CAAC;IAAxC,CAAwC,CAAC;AACjD,CAAC,EATgB,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAS5B"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MetadataHelper = void 0;
|
|
4
|
+
var Metadata_1 = require("../../metadata/Metadata");
|
|
5
|
+
var MetadataHelper;
|
|
6
|
+
(function (MetadataHelper) {
|
|
7
|
+
function literal_to_metadata(key) {
|
|
8
|
+
var metadata = Metadata_1.Metadata.initialize();
|
|
9
|
+
metadata.constants.push({
|
|
10
|
+
type: "string",
|
|
11
|
+
values: [key],
|
|
12
|
+
});
|
|
13
|
+
return metadata;
|
|
14
|
+
}
|
|
15
|
+
MetadataHelper.literal_to_metadata = literal_to_metadata;
|
|
16
|
+
})(MetadataHelper = exports.MetadataHelper || (exports.MetadataHelper = {}));
|
|
17
|
+
//# sourceMappingURL=MetadataHelper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"MetadataHelper.js","sourceRoot":"","sources":["../../../src/factories/internal/MetadataHelper.ts"],"names":[],"mappings":";;;AAAA,oDAAmD;AAEnD,IAAiB,cAAc,CAS9B;AATD,WAAiB,cAAc;IAC3B,SAAgB,mBAAmB,CAAC,GAAW;QAC3C,IAAM,QAAQ,GAAa,mBAAQ,CAAC,UAAU,EAAE,CAAC;QACjD,QAAQ,CAAC,SAAS,CAAC,IAAI,CAAC;YACpB,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE,CAAC,GAAG,CAAC;SAChB,CAAC,CAAC;QACH,OAAO,QAAQ,CAAC;IACpB,CAAC;IAPe,kCAAmB,sBAOlC,CAAA;AACL,CAAC,EATgB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QAS9B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { MetadataObject } from "../../metadata/MetadataObject";
|
|
3
|
+
import { MetadataCollection } from "../MetadataCollection";
|
|
4
|
+
import { MetadataFactory } from "../MetadataFactory";
|
|
5
|
+
export declare const emplace_metadata_object: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (parent: ts.Type, nullable: boolean) => MetadataObject;
|