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,149 @@
|
|
|
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 __values = (this && this.__values) || function(o) {
|
|
19
|
+
var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
|
|
20
|
+
if (m) return m.call(o);
|
|
21
|
+
if (o && typeof o.length === "number") return {
|
|
22
|
+
next: function () {
|
|
23
|
+
if (o && i >= o.length) o = void 0;
|
|
24
|
+
return { value: o && o[i++], done: !o };
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
|
|
28
|
+
};
|
|
29
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.emplace_metadata_object = void 0;
|
|
34
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
35
|
+
var MetadataProperty_1 = require("../../metadata/MetadataProperty");
|
|
36
|
+
var Writable_1 = require("../../typings/Writable");
|
|
37
|
+
var ArrayUtil_1 = require("../../utils/ArrayUtil");
|
|
38
|
+
var CommentFactory_1 = require("../CommentFactory");
|
|
39
|
+
var MetadataTagFactory_1 = require("../MetadataTagFactory");
|
|
40
|
+
var MetadataHelper_1 = require("./MetadataHelper");
|
|
41
|
+
var explore_metadata_1 = require("./explore_metadata");
|
|
42
|
+
var emplace_metadata_object = function (checker) {
|
|
43
|
+
return function (options) {
|
|
44
|
+
return function (collection) {
|
|
45
|
+
return function (parent, nullable) {
|
|
46
|
+
var e_1, _a, e_2, _b;
|
|
47
|
+
var _c;
|
|
48
|
+
var _d = __read(collection.emplace(checker, parent), 2), obj = _d[0], newbie = _d[1];
|
|
49
|
+
ArrayUtil_1.ArrayUtil.add(obj.nullables, nullable, function (elem) { return elem === nullable; });
|
|
50
|
+
if (newbie === false)
|
|
51
|
+
return obj;
|
|
52
|
+
var isClass = parent.isClass();
|
|
53
|
+
var pred = isClass
|
|
54
|
+
? function (node) {
|
|
55
|
+
var _a, _b;
|
|
56
|
+
var kind = (_b = (_a = node
|
|
57
|
+
.getChildren()[0]) === null || _a === void 0 ? void 0 : _a.getChildren()[0]) === null || _b === void 0 ? void 0 : _b.kind;
|
|
58
|
+
return (kind !== typescript_1.default.SyntaxKind.PrivateKeyword &&
|
|
59
|
+
kind !== typescript_1.default.SyntaxKind.ProtectedKeyword &&
|
|
60
|
+
(typescript_1.default.isParameter(node) || typescript_1.default.isPropertyDeclaration(node)));
|
|
61
|
+
}
|
|
62
|
+
: function (node) {
|
|
63
|
+
return typescript_1.default.isPropertyDeclaration(node) ||
|
|
64
|
+
typescript_1.default.isPropertyAssignment(node) ||
|
|
65
|
+
typescript_1.default.isPropertySignature(node) ||
|
|
66
|
+
typescript_1.default.isTypeLiteralNode(node);
|
|
67
|
+
};
|
|
68
|
+
var insert = function (key) {
|
|
69
|
+
return function (value) {
|
|
70
|
+
return function (identifier) {
|
|
71
|
+
return function (symbol, filter) {
|
|
72
|
+
var description = CommentFactory_1.CommentFactory.generate((symbol === null || symbol === void 0 ? void 0 : symbol.getDocumentationComment(checker)) || []) || undefined;
|
|
73
|
+
var jsDocTags = ((symbol === null || symbol === void 0 ? void 0 : symbol.getJsDocTags()) || []).filter(filter || (function () { return true; }));
|
|
74
|
+
var property = MetadataProperty_1.MetadataProperty.create({
|
|
75
|
+
key: key,
|
|
76
|
+
value: value,
|
|
77
|
+
description: description,
|
|
78
|
+
jsDocTags: jsDocTags,
|
|
79
|
+
tags: MetadataTagFactory_1.MetadataTagFactory.generate(function () { return identifier(); }, value, jsDocTags),
|
|
80
|
+
});
|
|
81
|
+
obj.properties.push(property);
|
|
82
|
+
return property;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
var _loop_1 = function (prop) {
|
|
88
|
+
if ((prop.getJsDocTags(checker) || []).find(function (tag) { return tag.name === "internal"; }) !== undefined)
|
|
89
|
+
return "continue";
|
|
90
|
+
var _j = __read((function () {
|
|
91
|
+
var node = (prop.getDeclarations() || [])[0];
|
|
92
|
+
var type = node
|
|
93
|
+
? checker.getTypeOfSymbolAtLocation(prop, node)
|
|
94
|
+
: "getTypeOfPropertyOfType" in checker
|
|
95
|
+
? checker.getTypeOfPropertyOfType(parent, prop.name)
|
|
96
|
+
: undefined;
|
|
97
|
+
return [node, type];
|
|
98
|
+
})(), 2), node = _j[0], type = _j[1];
|
|
99
|
+
if ((node && pred(node) === false) || type === undefined)
|
|
100
|
+
return "continue";
|
|
101
|
+
var key = MetadataHelper_1.MetadataHelper.literal_to_metadata(prop.name);
|
|
102
|
+
var value = (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(type, false);
|
|
103
|
+
if (node === null || node === void 0 ? void 0 : node.questionToken)
|
|
104
|
+
(0, Writable_1.Writable)(value).required = false;
|
|
105
|
+
insert(key)(value)(function () { return "".concat(obj.name, ".").concat(prop.name); })(prop);
|
|
106
|
+
};
|
|
107
|
+
try {
|
|
108
|
+
for (var _e = __values(parent.getApparentProperties()), _f = _e.next(); !_f.done; _f = _e.next()) {
|
|
109
|
+
var prop = _f.value;
|
|
110
|
+
_loop_1(prop);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
114
|
+
finally {
|
|
115
|
+
try {
|
|
116
|
+
if (_f && !_f.done && (_a = _e.return)) _a.call(_e);
|
|
117
|
+
}
|
|
118
|
+
finally { if (e_1) throw e_1.error; }
|
|
119
|
+
}
|
|
120
|
+
var _loop_2 = function (index) {
|
|
121
|
+
var analyzer = function (type) {
|
|
122
|
+
return (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(type, false);
|
|
123
|
+
};
|
|
124
|
+
var key = analyzer(index.keyType);
|
|
125
|
+
var value = analyzer(index.type);
|
|
126
|
+
insert(key)(value)(function () { return "".concat(obj.name, "[").concat(key.getName(), "]"); })(((_c = index.declaration) === null || _c === void 0 ? void 0 : _c.parent)
|
|
127
|
+
? checker.getSymbolAtLocation(index.declaration.parent)
|
|
128
|
+
: undefined, function (doc) { return doc.name !== "default"; });
|
|
129
|
+
};
|
|
130
|
+
try {
|
|
131
|
+
for (var _g = __values(checker.getIndexInfosOfType(parent)), _h = _g.next(); !_h.done; _h = _g.next()) {
|
|
132
|
+
var index = _h.value;
|
|
133
|
+
_loop_2(index);
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
137
|
+
finally {
|
|
138
|
+
try {
|
|
139
|
+
if (_h && !_h.done && (_b = _g.return)) _b.call(_g);
|
|
140
|
+
}
|
|
141
|
+
finally { if (e_2) throw e_2.error; }
|
|
142
|
+
}
|
|
143
|
+
return obj;
|
|
144
|
+
};
|
|
145
|
+
};
|
|
146
|
+
};
|
|
147
|
+
};
|
|
148
|
+
exports.emplace_metadata_object = emplace_metadata_object;
|
|
149
|
+
//# sourceMappingURL=emplace_metadata_object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"emplace_metadata_object.js","sourceRoot":"","sources":["../../../src/factories/internal/emplace_metadata_object.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../../metadata/Metadata";
|
|
3
|
+
import { MetadataCollection } from "../MetadataCollection";
|
|
4
|
+
import { MetadataFactory } from "../MetadataFactory";
|
|
5
|
+
export declare const explore_metadata: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (type: ts.Type | null, parentResolved: boolean) => Metadata;
|
|
@@ -0,0 +1,88 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
|
+
exports.explore_metadata = void 0;
|
|
15
|
+
var Metadata_1 = require("../../metadata/Metadata");
|
|
16
|
+
var MetadataObject_1 = require("../../metadata/MetadataObject");
|
|
17
|
+
var ArrayUtil_1 = require("../../utils/ArrayUtil");
|
|
18
|
+
var iterate_metadata_1 = require("./iterate_metadata");
|
|
19
|
+
var explore_metadata = function (checker) {
|
|
20
|
+
return function (options) {
|
|
21
|
+
return function (collection) {
|
|
22
|
+
return function (type, parentResolved) {
|
|
23
|
+
var e_1, _a;
|
|
24
|
+
var meta = Metadata_1.Metadata.initialize();
|
|
25
|
+
if (type !== null)
|
|
26
|
+
(0, iterate_metadata_1.iterate_metadata)(checker)(options)(collection)(meta, type, parentResolved);
|
|
27
|
+
if (meta.objects.length > 1) {
|
|
28
|
+
meta.objects.sort(function (x, y) {
|
|
29
|
+
return MetadataObject_1.MetadataObject.covers(x, y)
|
|
30
|
+
? -1
|
|
31
|
+
: MetadataObject_1.MetadataObject.covers(y, x)
|
|
32
|
+
? 1
|
|
33
|
+
: 0;
|
|
34
|
+
});
|
|
35
|
+
if (parentResolved === false)
|
|
36
|
+
meta.union_index = collection.getUnionIndex(meta);
|
|
37
|
+
}
|
|
38
|
+
if (meta.arrays.length > 1)
|
|
39
|
+
meta.arrays.sort(function (x, y) {
|
|
40
|
+
return Metadata_1.Metadata.covers(x, y) ? -1 : Metadata_1.Metadata.covers(y, x) ? 1 : 0;
|
|
41
|
+
});
|
|
42
|
+
if (meta.tuples.length > 1)
|
|
43
|
+
meta.tuples.sort(function (x, y) {
|
|
44
|
+
var xt = Metadata_1.Metadata.initialize();
|
|
45
|
+
var yt = Metadata_1.Metadata.initialize();
|
|
46
|
+
xt.tuples.push(x);
|
|
47
|
+
yt.tuples.push(y);
|
|
48
|
+
return Metadata_1.Metadata.covers(xt, yt)
|
|
49
|
+
? -1
|
|
50
|
+
: Metadata_1.Metadata.covers(yt, xt)
|
|
51
|
+
? 1
|
|
52
|
+
: 0;
|
|
53
|
+
});
|
|
54
|
+
var _loop_1 = function (type_1) {
|
|
55
|
+
var index = meta.constants.findIndex(function (c) { return c.type === type_1; });
|
|
56
|
+
if (index !== -1)
|
|
57
|
+
meta.constants.splice(index, 1);
|
|
58
|
+
};
|
|
59
|
+
try {
|
|
60
|
+
for (var _b = __values(meta.atomics), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
61
|
+
var type_1 = _c.value;
|
|
62
|
+
_loop_1(type_1);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
66
|
+
finally {
|
|
67
|
+
try {
|
|
68
|
+
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
69
|
+
}
|
|
70
|
+
finally { if (e_1) throw e_1.error; }
|
|
71
|
+
}
|
|
72
|
+
{
|
|
73
|
+
var index = meta.constants.findIndex(function (c) { return c.type === "boolean"; });
|
|
74
|
+
if (index !== -1 && meta.constants[index].values.length === 2) {
|
|
75
|
+
meta.constants.splice(index, 1);
|
|
76
|
+
ArrayUtil_1.ArrayUtil.take(meta.atomics, function (type) { return type === "boolean"; }, function () { return "boolean"; });
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
if (meta.templates.length &&
|
|
80
|
+
meta.atomics.find(function (type) { return type === "string"; }) !== undefined)
|
|
81
|
+
meta.templates.splice(0, meta.templates.length);
|
|
82
|
+
return meta;
|
|
83
|
+
};
|
|
84
|
+
};
|
|
85
|
+
};
|
|
86
|
+
};
|
|
87
|
+
exports.explore_metadata = explore_metadata;
|
|
88
|
+
//# sourceMappingURL=explore_metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"explore_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/explore_metadata.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../../metadata/Metadata";
|
|
3
|
+
import { MetadataCollection } from "../MetadataCollection";
|
|
4
|
+
import { MetadataFactory } from "../MetadataFactory";
|
|
5
|
+
export declare const iterate_metadata: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.Type, parentResolved: boolean) => void;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iterate_metadata = void 0;
|
|
4
|
+
var iterate_metadata_array_1 = require("./iterate_metadata_array");
|
|
5
|
+
var iterate_metadata_atomic_1 = require("./iterate_metadata_atomic");
|
|
6
|
+
var iterate_metadata_coalesce_1 = require("./iterate_metadata_coalesce");
|
|
7
|
+
var iterate_metadata_constant_1 = require("./iterate_metadata_constant");
|
|
8
|
+
var iterate_metadata_object_1 = require("./iterate_metadata_object");
|
|
9
|
+
var iterate_metadata_resolve_1 = require("./iterate_metadata_resolve");
|
|
10
|
+
var iterate_metadata_template_1 = require("./iterate_metadata_template");
|
|
11
|
+
var iterate_metadata_tuple_1 = require("./iterate_metadata_tuple");
|
|
12
|
+
var iterate_metadata_union_1 = require("./iterate_metadata_union");
|
|
13
|
+
var iterate_metadata = function (checker) {
|
|
14
|
+
return function (options) {
|
|
15
|
+
return function (collection) {
|
|
16
|
+
return function (meta, type, parentResolved) {
|
|
17
|
+
if (type.isTypeParameter() === true)
|
|
18
|
+
throw new Error("Error on TSON.MetadataFactory.generate(): non-specified generic argument on ".concat(meta.getName(), "."));
|
|
19
|
+
if ((0, iterate_metadata_union_1.iterate_metadata_union)(checker)(options)(collection)(meta, type, parentResolved) ||
|
|
20
|
+
(0, iterate_metadata_resolve_1.iterate_metadata_resolve)(checker)(options)(collection)(meta, type, parentResolved))
|
|
21
|
+
return;
|
|
22
|
+
var node = checker.typeToTypeNode(type, undefined, undefined);
|
|
23
|
+
if (node === undefined)
|
|
24
|
+
return;
|
|
25
|
+
(0, iterate_metadata_coalesce_1.iterate_metadata_coalesce)(meta, type) ||
|
|
26
|
+
(0, iterate_metadata_constant_1.iterate_metadata_constant)(checker)(options)(meta, type) ||
|
|
27
|
+
(0, iterate_metadata_template_1.iterate_metadata_template)(checker)(options)(collection)(meta, type) ||
|
|
28
|
+
(0, iterate_metadata_atomic_1.iterate_metadata_atomic)(meta, type) ||
|
|
29
|
+
(0, iterate_metadata_tuple_1.iterate_metadata_tuple)(checker)(options)(collection)(meta, type) ||
|
|
30
|
+
(0, iterate_metadata_array_1.iterate_metadata_array)(checker)(options)(collection)(meta, type) ||
|
|
31
|
+
(0, iterate_metadata_object_1.iterate_metadata_object)(checker)(options)(collection)(meta, type, parentResolved);
|
|
32
|
+
};
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
exports.iterate_metadata = iterate_metadata;
|
|
37
|
+
//# sourceMappingURL=iterate_metadata.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_metadata.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata.ts"],"names":[],"mappings":";;;AAMA,mEAAkE;AAClE,qEAAoE;AACpE,yEAAwE;AACxE,yEAAwE;AACxE,qEAAoE;AACpE,uEAAsE;AACtE,yEAAwE;AACxE,mEAAkE;AAClE,mEAAkE;AAE3D,IAAM,gBAAgB,GACzB,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;gBACnD,IAAI,IAAI,CAAC,eAAe,EAAE,KAAK,IAAI;oBAC/B,MAAM,IAAI,KAAK,CACX,sFAA+E,IAAI,CAAC,OAAO,EAAE,MAAG,CACnG,CAAC;gBAGN,IACI,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAChD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBACD,IAAA,mDAAwB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAClD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB;oBAED,OAAO;gBAGX,IAAM,IAAI,GAA4B,OAAO,CAAC,cAAc,CACxD,IAAI,EACJ,SAAS,EACT,SAAS,CACZ,CAAC;gBACF,IAAI,IAAI,KAAK,SAAS;oBAAE,OAAO;gBAE/B,IAAA,qDAAyB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACjC,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBACvD,IAAA,qDAAyB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACnD,IAAI,EACJ,IAAI,CACP;oBACD,IAAA,iDAAuB,EAAC,IAAI,EAAE,IAAI,CAAC;oBACnC,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,+CAAsB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC;oBAChE,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,UAAU,CAAC,CACjD,IAAI,EACJ,IAAI,EACJ,cAAc,CACjB,CAAC;YACV,CAAC;QA3CD,CA2CC;IA5CD,CA4CC;AA7CD,CA6CC,CAAC;AA/CO,QAAA,gBAAgB,oBA+CvB"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../../metadata/Metadata";
|
|
3
|
+
import { MetadataCollection } from "../MetadataCollection";
|
|
4
|
+
import { MetadataFactory } from "../MetadataFactory";
|
|
5
|
+
export declare const iterate_metadata_array: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.Type) => boolean;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iterate_metadata_array = void 0;
|
|
4
|
+
var ArrayUtil_1 = require("../../utils/ArrayUtil");
|
|
5
|
+
var explore_metadata_1 = require("./explore_metadata");
|
|
6
|
+
var iterate_metadata_array = function (checker) {
|
|
7
|
+
return function (options) {
|
|
8
|
+
return function (collection) {
|
|
9
|
+
return function (meta, type) {
|
|
10
|
+
if (!checker.isArrayType(type) &&
|
|
11
|
+
!checker.isArrayLikeType(type))
|
|
12
|
+
return false;
|
|
13
|
+
var elemType = type.getNumberIndexType() || null;
|
|
14
|
+
var elemMeta = (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(elemType, false);
|
|
15
|
+
ArrayUtil_1.ArrayUtil.set(meta.arrays, elemMeta, function (elem) { return elem.getName(); });
|
|
16
|
+
return true;
|
|
17
|
+
};
|
|
18
|
+
};
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.iterate_metadata_array = iterate_metadata_array;
|
|
22
|
+
//# sourceMappingURL=iterate_metadata_array.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_metadata_array.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_array.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,uDAAsD;AAE/C,IAAM,sBAAsB,GAC/B,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa;gBAC1B,IACI,CAAE,OAAe,CAAC,WAAW,CAAC,IAAI,CAAC;oBACnC,CAAE,OAAe,CAAC,eAAe,CAAC,IAAI,CAAC;oBAEvC,OAAO,KAAK,CAAC;gBAEjB,IAAM,QAAQ,GAAmB,IAAI,CAAC,kBAAkB,EAAE,IAAI,IAAI,CAAC;gBACnE,IAAM,QAAQ,GAAa,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACzD,UAAU,CACb,CAAC,QAAQ,EAAE,KAAK,CAAC,CAAC;gBAEnB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,QAAQ,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,OAAO,EAAE,EAAd,CAAc,CAAC,CAAC;gBAC/D,OAAO,IAAI,CAAC;YAChB,CAAC;QAdD,CAcC;IAfD,CAeC;AAhBD,CAgBC,CAAC;AAlBO,QAAA,sBAAsB,0BAkB7B"}
|
|
@@ -0,0 +1,73 @@
|
|
|
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
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
30
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
31
|
+
};
|
|
32
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
33
|
+
exports.iterate_metadata_atomic = void 0;
|
|
34
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
35
|
+
var ArrayUtil_1 = require("../../utils/ArrayUtil");
|
|
36
|
+
var iterate_metadata_atomic = function (meta, type) {
|
|
37
|
+
var e_1, _a;
|
|
38
|
+
var filter = function (flag) { return (type.getFlags() & flag) !== 0; };
|
|
39
|
+
var check = function (flag, literal, className) {
|
|
40
|
+
var _a;
|
|
41
|
+
if (filter(flag) ||
|
|
42
|
+
filter(literal) ||
|
|
43
|
+
((_a = type.symbol) === null || _a === void 0 ? void 0 : _a.escapedName) === className) {
|
|
44
|
+
ArrayUtil_1.ArrayUtil.add(meta.atomics, className.toLowerCase());
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
return false;
|
|
48
|
+
};
|
|
49
|
+
try {
|
|
50
|
+
for (var ATOMICS_1 = __values(ATOMICS), ATOMICS_1_1 = ATOMICS_1.next(); !ATOMICS_1_1.done; ATOMICS_1_1 = ATOMICS_1.next()) {
|
|
51
|
+
var _b = __read(ATOMICS_1_1.value, 3), flag = _b[0], literal = _b[1], className = _b[2];
|
|
52
|
+
if (check(flag, literal, className) === true) {
|
|
53
|
+
return true;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
58
|
+
finally {
|
|
59
|
+
try {
|
|
60
|
+
if (ATOMICS_1_1 && !ATOMICS_1_1.done && (_a = ATOMICS_1.return)) _a.call(ATOMICS_1);
|
|
61
|
+
}
|
|
62
|
+
finally { if (e_1) throw e_1.error; }
|
|
63
|
+
}
|
|
64
|
+
return false;
|
|
65
|
+
};
|
|
66
|
+
exports.iterate_metadata_atomic = iterate_metadata_atomic;
|
|
67
|
+
var ATOMICS = [
|
|
68
|
+
[typescript_1.default.TypeFlags.BooleanLike, typescript_1.default.TypeFlags.BooleanLiteral, "Boolean"],
|
|
69
|
+
[typescript_1.default.TypeFlags.NumberLike, typescript_1.default.TypeFlags.NumberLiteral, "Number"],
|
|
70
|
+
[typescript_1.default.TypeFlags.BigIntLike, typescript_1.default.TypeFlags.BigIntLiteral, "BigInt"],
|
|
71
|
+
[typescript_1.default.TypeFlags.StringLike, typescript_1.default.TypeFlags.StringLiteral, "String"],
|
|
72
|
+
];
|
|
73
|
+
//# sourceMappingURL=iterate_metadata_atomic.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_metadata_atomic.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_atomic.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAI5B,mDAAkD;AAE3C,IAAM,uBAAuB,GAAG,UACnC,IAAc,EACd,IAAa;;IAGb,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;IACtE,IAAM,KAAK,GAAG,UACV,IAAkB,EAClB,OAAqB,EACrB,SAAiB;;QAEjB,IACI,MAAM,CAAC,IAAI,CAAC;YACZ,MAAM,CAAC,OAAO,CAAC;YACf,CAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,WAAW,MAAK,SAAS,EACxC;YACE,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,WAAW,EAAE,CAAC,CAAC;YACrD,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC,CAAC;;QAGF,KAAyC,IAAA,YAAA,SAAA,OAAO,CAAA,gCAAA;YAArC,IAAA,KAAA,4BAA0B,EAAzB,IAAI,QAAA,EAAE,OAAO,QAAA,EAAE,SAAS,QAAA;YAChC,IAAI,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,IAAI,EAAE;gBAC1C,OAAO,IAAI,CAAC;aACf;SAAA;;;;;;;;;IACL,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AA5BW,QAAA,uBAAuB,2BA4BlC;AAEF,IAAM,OAAO,GAA2C;IACpD,CAAC,oBAAE,CAAC,SAAS,CAAC,WAAW,EAAE,oBAAE,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC;IAClE,CAAC,oBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;IAC/D,CAAC,oBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;IAC/D,CAAC,oBAAE,CAAC,SAAS,CAAC,UAAU,EAAE,oBAAE,CAAC,SAAS,CAAC,aAAa,EAAE,QAAQ,CAAC;CAClE,CAAC"}
|
|
@@ -0,0 +1,35 @@
|
|
|
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.iterate_metadata_coalesce = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var Writable_1 = require("../../typings/Writable");
|
|
9
|
+
var TypeFactory_1 = require("../TypeFactory");
|
|
10
|
+
var iterate_metadata_coalesce = function (meta, type) {
|
|
11
|
+
var filter = function (flag) { return (type.getFlags() & flag) !== 0; };
|
|
12
|
+
if (filter(typescript_1.default.TypeFlags.Unknown) ||
|
|
13
|
+
filter(typescript_1.default.TypeFlags.Never) ||
|
|
14
|
+
filter(typescript_1.default.TypeFlags.Any)) {
|
|
15
|
+
(0, Writable_1.Writable)(meta).any = true;
|
|
16
|
+
return true;
|
|
17
|
+
}
|
|
18
|
+
else if (filter(typescript_1.default.TypeFlags.Null)) {
|
|
19
|
+
(0, Writable_1.Writable)(meta).nullable = true;
|
|
20
|
+
return true;
|
|
21
|
+
}
|
|
22
|
+
else if (filter(typescript_1.default.TypeFlags.Undefined) ||
|
|
23
|
+
filter(typescript_1.default.TypeFlags.Void) ||
|
|
24
|
+
filter(typescript_1.default.TypeFlags.VoidLike)) {
|
|
25
|
+
(0, Writable_1.Writable)(meta).required = false;
|
|
26
|
+
return true;
|
|
27
|
+
}
|
|
28
|
+
else if (TypeFactory_1.TypeFactory.isFunction(type) === true) {
|
|
29
|
+
(0, Writable_1.Writable)(meta).functional = true;
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
return false;
|
|
33
|
+
};
|
|
34
|
+
exports.iterate_metadata_coalesce = iterate_metadata_coalesce;
|
|
35
|
+
//# sourceMappingURL=iterate_metadata_coalesce.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_metadata_coalesce.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_coalesce.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAI5B,mDAAkD;AAElD,8CAA6C;AAEtC,IAAM,yBAAyB,GAAG,UACrC,IAAc,EACd,IAAa;IAEb,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;IACtE,IACI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,OAAO,CAAC;QAC5B,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,KAAK,CAAC;QAC1B,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,GAAG,CAAC,EAC1B;QACE,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,GAAG,GAAG,IAAI,CAAC;QAC1B,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE;QAClC,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC/B,OAAO,IAAI,CAAC;KACf;SAAM,IACH,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,SAAS,CAAC;QAC9B,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,IAAI,CAAC;QACzB,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,QAAQ,CAAC,EAC/B;QACE,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,KAAK,CAAC;QAChC,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,yBAAW,CAAC,UAAU,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;QAC9C,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACjC,OAAO,IAAI,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC;AA3BW,QAAA,yBAAyB,6BA2BpC"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../../metadata/Metadata";
|
|
3
|
+
import { MetadataFactory } from "../MetadataFactory";
|
|
4
|
+
export declare const iterate_metadata_constant: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (meta: Metadata, type: ts.Type) => boolean;
|
|
@@ -0,0 +1,40 @@
|
|
|
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.iterate_metadata_constant = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var ArrayUtil_1 = require("../../utils/ArrayUtil");
|
|
9
|
+
var iterate_metadata_constant = function (checker) {
|
|
10
|
+
return function (options) {
|
|
11
|
+
return function (meta, type) {
|
|
12
|
+
if (!options.constant)
|
|
13
|
+
return false;
|
|
14
|
+
var filter = function (flag) { return (type.getFlags() & flag) !== 0; };
|
|
15
|
+
if (type.isLiteral()) {
|
|
16
|
+
var value_1 = typeof type.value === "object"
|
|
17
|
+
? BigInt("".concat(type.value.negative ? "-" : "").concat(type.value.base10Value))
|
|
18
|
+
: type.value;
|
|
19
|
+
var constant = ArrayUtil_1.ArrayUtil.take(meta.constants, function (elem) { return elem.type === typeof value_1; }, function () { return ({
|
|
20
|
+
type: typeof value_1,
|
|
21
|
+
values: [],
|
|
22
|
+
}); });
|
|
23
|
+
ArrayUtil_1.ArrayUtil.add(constant.values, value_1, function (a, b) { return a === b; });
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
else if (filter(typescript_1.default.TypeFlags.BooleanLiteral)) {
|
|
27
|
+
var value = checker.typeToString(type) === "true";
|
|
28
|
+
var constant = ArrayUtil_1.ArrayUtil.take(meta.constants, function (elem) { return elem.type === "boolean"; }, function () { return ({
|
|
29
|
+
type: "boolean",
|
|
30
|
+
values: [],
|
|
31
|
+
}); });
|
|
32
|
+
ArrayUtil_1.ArrayUtil.add(constant.values, value, function (a, b) { return a === b; });
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
exports.iterate_metadata_constant = iterate_metadata_constant;
|
|
40
|
+
//# sourceMappingURL=iterate_metadata_constant.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_metadata_constant.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_constant.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAK5B,mDAAkD;AAI3C,IAAM,yBAAyB,GAClC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,IAAc,EAAE,IAAa;YAC1B,IAAI,CAAC,OAAO,CAAC,QAAQ;gBAAE,OAAO,KAAK,CAAC;YAEpC,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;YACtE,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;gBAClB,IAAM,OAAK,GACP,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ;oBAC1B,CAAC,CAAC,MAAM,CACF,UAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,SAC7B,IAAI,CAAC,KAAK,CAAC,WAAW,CACxB,CACL;oBACH,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrB,IAAM,QAAQ,GAAqB,qBAAS,CAAC,IAAI,CAC7C,IAAI,CAAC,SAAS,EACd,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,OAAO,OAAK,EAA1B,CAA0B,EACpC,cAAM,OAAA,CAAC;oBACH,IAAI,EAAE,OAAO,OAAiB;oBAC9B,MAAM,EAAE,EAAE;iBACb,CAAC,EAHI,CAGJ,CACL,CAAC;gBACF,qBAAS,CAAC,GAAG,CACT,QAAQ,CAAC,MAAoB,EAC7B,OAAK,EACL,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,EAAP,CAAO,CACpB,CAAC;gBACF,OAAO,IAAI,CAAC;aACf;iBAAM,IAAI,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,cAAc,CAAC,EAAE;gBAC5C,IAAM,KAAK,GAAY,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,KAAK,MAAM,CAAC;gBAC7D,IAAM,QAAQ,GAAqB,qBAAS,CAAC,IAAI,CAC7C,IAAI,CAAC,SAAS,EACd,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,SAAS,EAAvB,CAAuB,EACjC,cAAM,OAAA,CAAC;oBACH,IAAI,EAAE,SAAS;oBACf,MAAM,EAAE,EAAE;iBACb,CAAC,EAHI,CAGJ,CACL,CAAC;gBACF,qBAAS,CAAC,GAAG,CACT,QAAQ,CAAC,MAAmB,EAC5B,KAAK,EACL,UAAC,CAAC,EAAE,CAAC,IAAK,OAAA,CAAC,KAAK,CAAC,EAAP,CAAO,CACpB,CAAC;gBACF,OAAO,IAAI,CAAC;aACf;YACD,OAAO,KAAK,CAAC;QACjB,CAAC;IA7CD,CA6CC;AA9CD,CA8CC,CAAC;AAhDO,QAAA,yBAAyB,6BAgDhC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../../metadata/Metadata";
|
|
3
|
+
import { MetadataCollection } from "../MetadataCollection";
|
|
4
|
+
import { MetadataFactory } from "../MetadataFactory";
|
|
5
|
+
export declare const iterate_metadata_object: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.Type, parentResolved: boolean) => boolean;
|
|
@@ -0,0 +1,38 @@
|
|
|
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.iterate_metadata_object = void 0;
|
|
7
|
+
var typescript_1 = __importDefault(require("typescript"));
|
|
8
|
+
var Metadata_1 = require("../../metadata/Metadata");
|
|
9
|
+
var ArrayUtil_1 = require("../../utils/ArrayUtil");
|
|
10
|
+
var MetadataCollection_1 = require("../MetadataCollection");
|
|
11
|
+
var emplace_metadata_object_1 = require("./emplace_metadata_object");
|
|
12
|
+
var iterate_metadata_1 = require("./iterate_metadata");
|
|
13
|
+
var iterate_metadata_object = function (checker) {
|
|
14
|
+
return function (options) {
|
|
15
|
+
return function (collection) {
|
|
16
|
+
return function (meta, type, parentResolved) {
|
|
17
|
+
var filter = function (flag) { return (type.getFlags() & flag) !== 0; };
|
|
18
|
+
if (!filter(typescript_1.default.TypeFlags.Object) && !type.isIntersection())
|
|
19
|
+
return false;
|
|
20
|
+
if (type.isIntersection()) {
|
|
21
|
+
var fakeCollection_1 = new MetadataCollection_1.MetadataCollection();
|
|
22
|
+
var fakeSchema_1 = Metadata_1.Metadata.initialize();
|
|
23
|
+
type.types.forEach(function (t) {
|
|
24
|
+
return (0, iterate_metadata_1.iterate_metadata)(checker)(options)(fakeCollection_1)(fakeSchema_1, t, parentResolved);
|
|
25
|
+
});
|
|
26
|
+
if (fakeSchema_1.objects.length === 0 ||
|
|
27
|
+
fakeSchema_1.objects.length !== fakeSchema_1.size())
|
|
28
|
+
return true;
|
|
29
|
+
}
|
|
30
|
+
var obj = (0, emplace_metadata_object_1.emplace_metadata_object)(checker)(options)(collection)(type, meta.nullable);
|
|
31
|
+
ArrayUtil_1.ArrayUtil.add(meta.objects, obj, function (elem) { return elem.name === obj.name; });
|
|
32
|
+
return true;
|
|
33
|
+
};
|
|
34
|
+
};
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
exports.iterate_metadata_object = iterate_metadata_object;
|
|
38
|
+
//# sourceMappingURL=iterate_metadata_object.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_metadata_object.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_object.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,oDAAmD;AAGnD,mDAAkD;AAElD,4DAA2D;AAE3D,qEAAoE;AACpE,uDAAsD;AAE/C,IAAM,uBAAuB,GAChC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;gBACnD,IAAM,MAAM,GAAG,UAAC,IAAkB,IAAK,OAAA,CAAC,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,KAAK,CAAC,EAA9B,CAA8B,CAAC;gBACtE,IAAI,CAAC,MAAM,CAAC,oBAAE,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;oBACtD,OAAO,KAAK,CAAC;gBAEjB,IAAI,IAAI,CAAC,cAAc,EAAE,EAAE;oBACvB,IAAM,gBAAc,GAAG,IAAI,uCAAkB,EAAE,CAAC;oBAChD,IAAM,YAAU,GAAa,mBAAQ,CAAC,UAAU,EAAE,CAAC;oBAEnD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,UAAC,CAAC;wBACjB,OAAA,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,gBAAc,CAAC,CAC9C,YAAU,EACV,CAAC,EACD,cAAc,CACjB;oBAJD,CAIC,CACJ,CAAC;oBACF,IACI,YAAU,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC;wBAC/B,YAAU,CAAC,OAAO,CAAC,MAAM,KAAK,YAAU,CAAC,IAAI,EAAE;wBAE/C,OAAO,IAAI,CAAC;iBACnB;gBAED,IAAM,GAAG,GAAmB,IAAA,iDAAuB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACjE,UAAU,CACb,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvB,qBAAS,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE,UAAC,IAAI,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,EAAtB,CAAsB,CAAC,CAAC;gBACnE,OAAO,IAAI,CAAC;YAChB,CAAC;QA5BD,CA4BC;IA7BD,CA6BC;AA9BD,CA8BC,CAAC;AAhCO,QAAA,uBAAuB,2BAgC9B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../../metadata/Metadata";
|
|
3
|
+
import { MetadataCollection } from "../MetadataCollection";
|
|
4
|
+
import { MetadataFactory } from "../MetadataFactory";
|
|
5
|
+
export declare const iterate_metadata_resolve: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.Type, parentResolved: boolean) => boolean;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.iterate_metadata_resolve = void 0;
|
|
4
|
+
var Writable_1 = require("../../typings/Writable");
|
|
5
|
+
var TypeFactory_1 = require("../TypeFactory");
|
|
6
|
+
var explore_metadata_1 = require("./explore_metadata");
|
|
7
|
+
var iterate_metadata_resolve = function (checker) {
|
|
8
|
+
return function (options) {
|
|
9
|
+
return function (collection) {
|
|
10
|
+
return function (meta, type, parentResolved) {
|
|
11
|
+
if (options.resolve === true && parentResolved === false) {
|
|
12
|
+
var resolved = TypeFactory_1.TypeFactory.resolve(checker, type);
|
|
13
|
+
if (resolved !== null) {
|
|
14
|
+
(0, Writable_1.Writable)(meta).resolved = (0, explore_metadata_1.explore_metadata)(checker)(options)(collection)(resolved, true);
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
return false;
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
};
|
|
22
|
+
};
|
|
23
|
+
exports.iterate_metadata_resolve = iterate_metadata_resolve;
|
|
24
|
+
//# sourceMappingURL=iterate_metadata_resolve.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"iterate_metadata_resolve.js","sourceRoot":"","sources":["../../../src/factories/internal/iterate_metadata_resolve.ts"],"names":[],"mappings":";;;AAIA,mDAAkD;AAIlD,8CAA6C;AAC7C,uDAAsD;AAE/C,IAAM,wBAAwB,GACjC,UAAC,OAAuB;IACxB,OAAA,UAAC,OAAiC;QAClC,OAAA,UAAC,UAA8B;YAC/B,OAAA,UAAC,IAAc,EAAE,IAAa,EAAE,cAAuB;gBACnD,IAAI,OAAO,CAAC,OAAO,KAAK,IAAI,IAAI,cAAc,KAAK,KAAK,EAAE;oBACtD,IAAM,QAAQ,GAAmB,yBAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;oBACpE,IAAI,QAAQ,KAAK,IAAI,EAAE;wBACnB,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,QAAQ,GAAG,IAAA,mCAAgB,EAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CACxD,UAAU,CACb,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;wBAClB,OAAO,IAAI,CAAC;qBACf;iBACJ;gBACD,OAAO,KAAK,CAAC;YACjB,CAAC;QAXD,CAWC;IAZD,CAYC;AAbD,CAaC,CAAC;AAfO,QAAA,wBAAwB,4BAe/B"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import ts from "typescript";
|
|
2
|
+
import { Metadata } from "../../metadata/Metadata";
|
|
3
|
+
import { MetadataCollection } from "../MetadataCollection";
|
|
4
|
+
import { MetadataFactory } from "../MetadataFactory";
|
|
5
|
+
export declare const iterate_metadata_template: (checker: ts.TypeChecker) => (options: MetadataFactory.IOptions) => (collection: MetadataCollection) => (meta: Metadata, type: ts.Type) => boolean;
|