typia 3.8.9 → 3.9.0-dev.20230604
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/lib/IRandomGenerator.d.ts +1 -0
- package/lib/factories/IdentifierFactory.js +2 -1
- package/lib/factories/IdentifierFactory.js.map +1 -1
- package/lib/factories/MetadataCollection.d.ts +22 -4
- package/lib/factories/MetadataCollection.js +121 -28
- package/lib/factories/MetadataCollection.js.map +1 -1
- package/lib/factories/MetadataFactory.d.ts +1 -0
- package/lib/factories/MetadataFactory.js +6 -48
- package/lib/factories/MetadataFactory.js.map +1 -1
- package/lib/factories/MetadataTagFactory.js +5 -3
- package/lib/factories/MetadataTagFactory.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_array.d.ts +5 -0
- package/lib/factories/internal/metadata/emplace_metadata_array.js +38 -0
- package/lib/factories/internal/metadata/emplace_metadata_array.js.map +1 -0
- package/lib/factories/internal/metadata/emplace_metadata_definition.d.ts +5 -0
- package/lib/factories/internal/metadata/emplace_metadata_definition.js +38 -0
- package/lib/factories/internal/metadata/emplace_metadata_definition.js.map +1 -0
- package/lib/factories/internal/metadata/emplace_metadata_object.js +4 -4
- package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
- package/lib/factories/internal/metadata/emplace_metadata_tuple.d.ts +5 -0
- package/lib/factories/internal/metadata/emplace_metadata_tuple.js +58 -0
- package/lib/factories/internal/metadata/emplace_metadata_tuple.js.map +1 -0
- package/lib/factories/internal/metadata/explore_metadata.d.ts +1 -1
- package/lib/factories/internal/metadata/explore_metadata.js +11 -34
- package/lib/factories/internal/metadata/explore_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.d.ts +1 -1
- package/lib/factories/internal/metadata/iterate_metadata.js +5 -2
- package/lib/factories/internal/metadata/iterate_metadata.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_array.js +4 -5
- package/lib/factories/internal/metadata/iterate_metadata_array.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_collection.d.ts +2 -0
- package/lib/factories/internal/metadata/iterate_metadata_collection.js +151 -0
- package/lib/factories/internal/metadata/iterate_metadata_collection.js.map +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_definition.d.ts +5 -0
- package/lib/factories/internal/metadata/iterate_metadata_definition.js +24 -0
- package/lib/factories/internal/metadata/iterate_metadata_definition.js.map +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_object.js +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_object.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_sort.d.ts +3 -0
- package/lib/factories/internal/metadata/iterate_metadata_sort.js +156 -0
- package/lib/factories/internal/metadata/iterate_metadata_sort.js.map +1 -0
- package/lib/factories/internal/metadata/iterate_metadata_tuple.js +3 -26
- package/lib/factories/internal/metadata/iterate_metadata_tuple.js.map +1 -1
- package/lib/factories/internal/metadata/iterate_metadata_union.js +3 -3
- package/lib/factories/internal/metadata/iterate_metadata_union.js.map +1 -1
- package/lib/metadata/IMetadata.d.ts +3 -2
- package/lib/metadata/IMetadataAlias.d.ts +10 -0
- package/lib/metadata/IMetadataAlias.js +3 -0
- package/lib/metadata/IMetadataAlias.js.map +1 -0
- package/lib/metadata/IMetadataApplication.d.ts +2 -2
- package/lib/metadata/IMetadataArray.d.ts +8 -0
- package/lib/metadata/IMetadataArray.js +3 -0
- package/lib/metadata/IMetadataArray.js.map +1 -0
- package/lib/metadata/IMetadataCollection.d.ts +10 -0
- package/lib/metadata/IMetadataCollection.js +3 -0
- package/lib/metadata/IMetadataCollection.js.map +1 -0
- package/lib/metadata/IMetadataDictionary.js +3 -0
- package/lib/metadata/IMetadataDictionary.js.map +1 -0
- package/lib/metadata/IMetadataObject.d.ts +3 -0
- package/lib/metadata/IMetadataProperty.d.ts +1 -1
- package/lib/metadata/IMetadataTuple.d.ts +8 -0
- package/lib/metadata/IMetadataTuple.js +3 -0
- package/lib/metadata/IMetadataTuple.js.map +1 -0
- package/lib/metadata/Metadata.d.ts +24 -21
- package/lib/metadata/Metadata.js +323 -262
- package/lib/metadata/Metadata.js.map +1 -1
- package/lib/metadata/MetadataAlias.d.ts +16 -0
- package/lib/metadata/MetadataAlias.js +39 -0
- package/lib/metadata/MetadataAlias.js.map +1 -0
- package/lib/metadata/MetadataArray.d.ts +12 -0
- package/lib/metadata/MetadataArray.js +36 -0
- package/lib/metadata/MetadataArray.js.map +1 -0
- package/lib/metadata/MetadataObject.d.ts +4 -0
- package/lib/metadata/MetadataObject.js +3 -5
- package/lib/metadata/MetadataObject.js.map +1 -1
- package/lib/metadata/MetadataProperty.d.ts +1 -1
- package/lib/metadata/MetadataProperty.js +3 -3
- package/lib/metadata/MetadataProperty.js.map +1 -1
- package/lib/metadata/MetadataTuple.d.ts +12 -0
- package/lib/metadata/MetadataTuple.js +36 -0
- package/lib/metadata/MetadataTuple.js.map +1 -0
- package/lib/programmers/ApplicationProgrammer.js +3 -3
- package/lib/programmers/ApplicationProgrammer.js.map +1 -1
- package/lib/programmers/AssertProgrammer.js +13 -21
- package/lib/programmers/AssertProgrammer.js.map +1 -1
- package/lib/programmers/CheckerProgrammer.d.ts +6 -7
- package/lib/programmers/CheckerProgrammer.js +276 -185
- package/lib/programmers/CheckerProgrammer.js.map +1 -1
- package/lib/programmers/CloneProgrammer.js +312 -204
- package/lib/programmers/CloneProgrammer.js.map +1 -1
- package/lib/programmers/FeatureProgrammer.d.ts +21 -27
- package/lib/programmers/FeatureProgrammer.js +60 -63
- package/lib/programmers/FeatureProgrammer.js.map +1 -1
- package/lib/programmers/IsProgrammer.d.ts +3 -3
- package/lib/programmers/IsProgrammer.js +43 -28
- package/lib/programmers/IsProgrammer.js.map +1 -1
- package/lib/programmers/LiteralsProgrammer.js +1 -0
- package/lib/programmers/LiteralsProgrammer.js.map +1 -1
- package/lib/programmers/PruneProgrammer.js +270 -176
- package/lib/programmers/PruneProgrammer.js.map +1 -1
- package/lib/programmers/RandomProgrammer.js +124 -32
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/programmers/StringifyProgrammer.js +462 -356
- package/lib/programmers/StringifyProgrammer.js.map +1 -1
- package/lib/programmers/ValidateProgrammer.js +9 -9
- package/lib/programmers/ValidateProgrammer.js.map +1 -1
- package/lib/programmers/helpers/FunctionImporeter.d.ts +2 -0
- package/lib/programmers/helpers/FunctionImporeter.js +17 -2
- package/lib/programmers/helpers/FunctionImporeter.js.map +1 -1
- package/lib/programmers/helpers/RandomJoiner.d.ts +6 -1
- package/lib/programmers/helpers/RandomJoiner.js +11 -14
- package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
- package/lib/programmers/helpers/UnionExplorer.d.ts +12 -10
- package/lib/programmers/helpers/UnionExplorer.js +47 -12
- package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
- package/lib/programmers/helpers/UnionPredicator.js +1 -1
- package/lib/programmers/helpers/UnionPredicator.js.map +1 -1
- package/lib/programmers/helpers/disable_function_importer_declare.js +1 -0
- package/lib/programmers/helpers/disable_function_importer_declare.js.map +1 -1
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.d.ts +1 -1
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js +2 -2
- package/lib/programmers/internal/JSON_SCHEMA_PREFIX.js.map +1 -1
- package/lib/programmers/internal/application_array.js +41 -21
- package/lib/programmers/internal/application_array.js.map +1 -1
- package/lib/programmers/internal/application_boolean.js +1 -1
- package/lib/programmers/internal/application_boolean.js.map +1 -1
- package/lib/programmers/internal/application_constant.js +2 -2
- package/lib/programmers/internal/application_constant.js.map +1 -1
- package/lib/programmers/internal/application_default.js +3 -3
- package/lib/programmers/internal/application_default.js.map +1 -1
- package/lib/programmers/internal/application_definition.d.ts +5 -0
- package/lib/programmers/internal/application_definition.js +45 -0
- package/lib/programmers/internal/application_definition.js.map +1 -0
- package/lib/programmers/internal/application_native.js +14 -11
- package/lib/programmers/internal/application_native.js.map +1 -1
- package/lib/programmers/internal/application_object.js +19 -14
- package/lib/programmers/internal/application_object.js.map +1 -1
- package/lib/programmers/internal/application_schema.js +28 -31
- package/lib/programmers/internal/application_schema.js.map +1 -1
- package/lib/programmers/internal/application_tuple.js +34 -5
- package/lib/programmers/internal/application_tuple.js.map +1 -1
- package/lib/programmers/internal/check_union_array_like.js +54 -63
- package/lib/programmers/internal/check_union_array_like.js.map +1 -1
- package/lib/programmers/internal/feature_object_entries.js +2 -2
- package/lib/programmers/internal/feature_object_entries.js.map +1 -1
- package/lib/programmers/internal/wrap_metadata_rest_tuple.d.ts +2 -0
- package/lib/programmers/internal/wrap_metadata_rest_tuple.js +18 -0
- package/lib/programmers/internal/wrap_metadata_rest_tuple.js.map +1 -0
- package/lib/schemas/IJsonApplication.d.ts +0 -4
- package/lib/schemas/IJsonComponents.d.ts +16 -4
- package/lib/schemas/IJsonSchema.d.ts +1 -1
- package/lib/transformers/CallExpressionTransformer.js.map +1 -1
- package/lib/transformers/FileTransformer.js +3 -3
- package/lib/transformers/FileTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js +1 -0
- package/lib/transformers/features/miscellaneous/ApplicationTransformer.js.map +1 -1
- package/lib/transformers/features/miscellaneous/MetadataTransformer.js +2 -1
- package/lib/transformers/features/miscellaneous/MetadataTransformer.js.map +1 -1
- package/lib/utils/ArrayUtil.d.ts +1 -1
- package/lib/utils/ArrayUtil.js +2 -1
- package/lib/utils/ArrayUtil.js.map +1 -1
- package/lib/utils/RandomGenerator.js +2 -3
- package/lib/utils/RandomGenerator.js.map +1 -1
- package/package.json +6 -1
- package/src/IRandomGenerator.ts +1 -0
- package/src/factories/IdentifierFactory.ts +3 -1
- package/src/factories/MetadataCollection.ts +170 -34
- package/src/factories/MetadataFactory.ts +7 -29
- package/src/factories/MetadataTagFactory.ts +6 -3
- package/src/factories/internal/metadata/emplace_metadata_array.ts +34 -0
- package/src/factories/internal/metadata/emplace_metadata_definition.ts +35 -0
- package/src/factories/internal/metadata/emplace_metadata_object.ts +4 -4
- package/src/factories/internal/metadata/emplace_metadata_tuple.ts +50 -0
- package/src/factories/internal/metadata/explore_metadata.ts +18 -44
- package/src/factories/internal/metadata/iterate_metadata.ts +13 -3
- package/src/factories/internal/metadata/iterate_metadata_array.ts +7 -11
- package/src/factories/internal/metadata/iterate_metadata_collection.ts +130 -0
- package/src/factories/internal/metadata/iterate_metadata_definition.ts +30 -0
- package/src/factories/internal/metadata/iterate_metadata_object.ts +1 -0
- package/src/factories/internal/metadata/iterate_metadata_sort.ts +68 -0
- package/src/factories/internal/metadata/iterate_metadata_tuple.ts +7 -31
- package/src/factories/internal/metadata/iterate_metadata_union.ts +13 -2
- package/src/metadata/IMetadata.ts +3 -2
- package/src/metadata/IMetadataAlias.ts +12 -0
- package/src/metadata/IMetadataApplication.ts +2 -2
- package/src/metadata/IMetadataArray.ts +10 -0
- package/src/metadata/IMetadataCollection.ts +11 -0
- package/src/metadata/IMetadataDictionary.ts +14 -0
- package/src/metadata/IMetadataObject.ts +2 -13
- package/src/metadata/IMetadataProperty.ts +1 -1
- package/src/metadata/IMetadataTuple.ts +10 -0
- package/src/metadata/Metadata.ts +180 -134
- package/src/metadata/MetadataAlias.ts +61 -0
- package/src/metadata/MetadataArray.ts +52 -0
- package/src/metadata/MetadataObject.ts +7 -20
- package/src/metadata/MetadataProperty.ts +5 -5
- package/src/metadata/MetadataTuple.ts +53 -0
- package/src/programmers/ApplicationProgrammer.ts +1 -2
- package/src/programmers/AssertProgrammer.ts +45 -39
- package/src/programmers/CheckerProgrammer.ts +612 -331
- package/src/programmers/CloneProgrammer.ts +344 -138
- package/src/programmers/FeatureProgrammer.ts +110 -115
- package/src/programmers/IsProgrammer.ts +86 -52
- package/src/programmers/LiteralsProgrammer.ts +1 -0
- package/src/programmers/PruneProgrammer.ts +304 -101
- package/src/programmers/RandomProgrammer.ts +227 -61
- package/src/programmers/StringifyProgrammer.ts +374 -182
- package/src/programmers/ValidateProgrammer.ts +41 -44
- package/src/programmers/helpers/FunctionImporeter.ts +35 -11
- package/src/programmers/helpers/RandomJoiner.ts +25 -13
- package/src/programmers/helpers/UnionExplorer.ts +76 -50
- package/src/programmers/helpers/UnionPredicator.ts +1 -1
- package/src/programmers/helpers/disable_function_importer_declare.ts +5 -0
- package/src/programmers/internal/JSON_SCHEMA_PREFIX.ts +1 -1
- package/src/programmers/internal/application_array.ts +48 -16
- package/src/programmers/internal/application_boolean.ts +1 -1
- package/src/programmers/internal/application_constant.ts +2 -2
- package/src/programmers/internal/application_default.ts +3 -3
- package/src/programmers/internal/application_definition.ts +45 -0
- package/src/programmers/internal/application_native.ts +15 -12
- package/src/programmers/internal/application_object.ts +17 -12
- package/src/programmers/internal/application_schema.ts +31 -65
- package/src/programmers/internal/application_tuple.ts +63 -13
- package/src/programmers/internal/check_union_array_like.ts +249 -191
- package/src/programmers/internal/feature_object_entries.ts +2 -2
- package/src/programmers/internal/wrap_metadata_rest_tuple.ts +16 -0
- package/src/schemas/IJsonApplication.ts +0 -5
- package/src/schemas/IJsonComponents.ts +17 -5
- package/src/schemas/IJsonSchema.ts +1 -1
- package/src/transformers/CallExpressionTransformer.ts +2 -0
- package/src/transformers/FileTransformer.ts +8 -8
- package/src/transformers/features/miscellaneous/ApplicationTransformer.ts +1 -0
- package/src/transformers/features/miscellaneous/MetadataTransformer.ts +2 -1
- package/src/utils/ArrayUtil.ts +3 -2
- package/src/utils/RandomGenerator.ts +3 -3
- package/lib/programmers/internal/check_union_tuple.js +0 -15
- package/lib/programmers/internal/check_union_tuple.js.map +0 -1
- package/src/programmers/internal/check_union_tuple.ts +0 -33
- /package/lib/{programmers/internal/check_union_tuple.d.ts → metadata/IMetadataDictionary.d.ts} +0 -0
|
@@ -3,21 +3,19 @@ import { MetadataCollection } from "../factories/MetadataCollection";
|
|
|
3
3
|
import { IJsDocTagInfo } from "../metadata/IJsDocTagInfo";
|
|
4
4
|
import { IMetadataTag } from "../metadata/IMetadataTag";
|
|
5
5
|
import { Metadata } from "../metadata/Metadata";
|
|
6
|
+
import { MetadataArray } from "../metadata/MetadataArray";
|
|
6
7
|
import { MetadataObject } from "../metadata/MetadataObject";
|
|
7
8
|
import { IProject } from "../transformers/IProject";
|
|
9
|
+
import { CheckerProgrammer } from "./CheckerProgrammer";
|
|
8
10
|
import { FunctionImporter } from "./helpers/FunctionImporeter";
|
|
9
11
|
import { IExpressionEntry } from "./helpers/IExpressionEntry";
|
|
10
12
|
export declare namespace FeatureProgrammer {
|
|
11
13
|
interface IConfig<Output extends ts.ConciseBody = ts.ConciseBody> {
|
|
12
14
|
types: IConfig.ITypes;
|
|
13
15
|
/**
|
|
14
|
-
* Prefix name of functions for specific
|
|
16
|
+
* Prefix name of internal functions for specific types.
|
|
15
17
|
*/
|
|
16
|
-
|
|
17
|
-
/**
|
|
18
|
-
* Prefix name of functions for union object types.
|
|
19
|
-
*/
|
|
20
|
-
unioners: string;
|
|
18
|
+
prefix: string;
|
|
21
19
|
/**
|
|
22
20
|
* Whether to archive access path or not.
|
|
23
21
|
*/
|
|
@@ -34,7 +32,7 @@ export declare namespace FeatureProgrammer {
|
|
|
34
32
|
/**
|
|
35
33
|
* Decoder, station of every types.
|
|
36
34
|
*/
|
|
37
|
-
decoder: Decoder<Metadata, Output>;
|
|
35
|
+
decoder: () => Decoder<Metadata, Output>;
|
|
38
36
|
/**
|
|
39
37
|
* Object configurator.
|
|
40
38
|
*/
|
|
@@ -42,7 +40,7 @@ export declare namespace FeatureProgrammer {
|
|
|
42
40
|
/**
|
|
43
41
|
* Generator of functions for object types.
|
|
44
42
|
*/
|
|
45
|
-
generator
|
|
43
|
+
generator: IConfig.IGenerator;
|
|
46
44
|
}
|
|
47
45
|
namespace IConfig {
|
|
48
46
|
interface ITypes {
|
|
@@ -53,11 +51,11 @@ export declare namespace FeatureProgrammer {
|
|
|
53
51
|
/**
|
|
54
52
|
* Type checker when union object type comes.
|
|
55
53
|
*/
|
|
56
|
-
checker: Decoder<Metadata, ts.Expression>;
|
|
54
|
+
checker: () => Decoder<Metadata, ts.Expression>;
|
|
57
55
|
/**
|
|
58
56
|
* Decoder, function call expression generator of specific typed objects.
|
|
59
57
|
*/
|
|
60
|
-
decoder: Decoder<MetadataObject, ts.Expression>;
|
|
58
|
+
decoder: () => Decoder<MetadataObject, ts.Expression>;
|
|
61
59
|
/**
|
|
62
60
|
* Joiner of expressions from properties.
|
|
63
61
|
*/
|
|
@@ -125,21 +123,15 @@ export declare namespace FeatureProgrammer {
|
|
|
125
123
|
type?: ts.TypeNode;
|
|
126
124
|
}
|
|
127
125
|
interface IGenerator {
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
functors(col: MetadataCollection): ts.VariableStatement[];
|
|
133
|
-
/**
|
|
134
|
-
*
|
|
135
|
-
* @param col
|
|
136
|
-
*/
|
|
137
|
-
unioners(col: MetadataCollection): ts.VariableStatement[];
|
|
126
|
+
objects?(): (col: MetadataCollection) => ts.VariableStatement[];
|
|
127
|
+
unions?(): (col: MetadataCollection) => ts.VariableStatement[];
|
|
128
|
+
arrays(): (col: MetadataCollection) => ts.VariableStatement[];
|
|
129
|
+
tuples(): (col: MetadataCollection) => ts.VariableStatement[];
|
|
138
130
|
}
|
|
139
131
|
}
|
|
140
132
|
interface IExplore {
|
|
141
133
|
tracable: boolean;
|
|
142
|
-
source: "top" | "
|
|
134
|
+
source: "top" | "function";
|
|
143
135
|
from: "top" | "array" | "object";
|
|
144
136
|
postfix: string;
|
|
145
137
|
start?: number;
|
|
@@ -147,10 +139,12 @@ export declare namespace FeatureProgrammer {
|
|
|
147
139
|
interface Decoder<T, Output extends ts.ConciseBody = ts.ConciseBody> {
|
|
148
140
|
(input: ts.Expression, target: T, explore: IExplore, metaTags: IMetadataTag[], jsDocTags: ts.JSDocTagInfo[]): Output;
|
|
149
141
|
}
|
|
150
|
-
const
|
|
151
|
-
const
|
|
152
|
-
const
|
|
153
|
-
const decode_array: (config: Pick<IConfig, "trace" | "path" | "decoder">) => (importer: FunctionImporter) => (combiner: (input: ts.Expression, arrow: ts.ArrowFunction, metaTags: IMetadataTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression) => (input: ts.Expression,
|
|
154
|
-
const decode_object: (config: Pick<IConfig, "trace" | "path" | "
|
|
155
|
-
const
|
|
142
|
+
const write: (project: IProject) => (config: IConfig) => (importer: FunctionImporter) => (type: ts.Type, name?: string) => ts.ArrowFunction;
|
|
143
|
+
const write_object_functions: (config: IConfig) => (importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
|
|
144
|
+
const write_union_functions: (config: IConfig) => (collection: MetadataCollection) => ts.VariableStatement[];
|
|
145
|
+
const decode_array: (config: Pick<IConfig, "trace" | "path" | "decoder" | "prefix">) => (importer: FunctionImporter) => (combiner: (input: ts.Expression, arrow: ts.ArrowFunction, metaTags: IMetadataTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression) => (input: ts.Expression, array: MetadataArray, explore: IExplore, metaTags: IMetadataTag[], jsDocTags: IJsDocTagInfo[]) => ts.Expression;
|
|
146
|
+
const decode_object: (config: Pick<IConfig, "trace" | "path" | "prefix">) => (importer: FunctionImporter) => (input: ts.Expression, obj: MetadataObject, explore: IExplore) => ts.CallExpression;
|
|
147
|
+
const index: (start: number | null) => (prev: string) => (rand: string) => string;
|
|
148
|
+
const argumentsArray: (config: Pick<IConfig, "path" | "trace">) => (explore: FeatureProgrammer.IExplore) => (input: ts.Expression) => ts.Expression[];
|
|
149
|
+
const parameterDeclarations: (props: Pick<CheckerProgrammer.IConfig, "path" | "trace">) => (type: ts.TypeNode) => (input: ts.Identifier) => ts.ParameterDeclaration[];
|
|
156
150
|
}
|
|
@@ -38,25 +38,33 @@ var UnionExplorer_1 = require("./helpers/UnionExplorer");
|
|
|
38
38
|
var feature_object_entries_1 = require("./internal/feature_object_entries");
|
|
39
39
|
var FeatureProgrammer;
|
|
40
40
|
(function (FeatureProgrammer) {
|
|
41
|
-
FeatureProgrammer.
|
|
41
|
+
FeatureProgrammer.write = function (project) {
|
|
42
42
|
return function (config) {
|
|
43
43
|
return function (importer) {
|
|
44
44
|
return function (type, name) {
|
|
45
|
-
var _a, _b, _c, _d, _e;
|
|
46
|
-
var
|
|
47
|
-
var output = config.decoder(ValueFactory_1.ValueFactory.INPUT(), meta, {
|
|
45
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
|
46
|
+
var _h = __read(config.initializer(project)(type), 2), collection = _h[0], meta = _h[1];
|
|
47
|
+
var output = config.decoder()(ValueFactory_1.ValueFactory.INPUT(), meta, {
|
|
48
48
|
tracable: config.path || config.trace,
|
|
49
49
|
source: "top",
|
|
50
50
|
from: "top",
|
|
51
51
|
postfix: '""',
|
|
52
52
|
}, [], []);
|
|
53
|
-
var
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
}
|
|
59
|
-
|
|
53
|
+
var functions = {
|
|
54
|
+
objects: ((_c = (_b = (_a = config.generator).objects) === null || _b === void 0 ? void 0 : _b.call(_a)) !== null && _c !== void 0 ? _c : FeatureProgrammer.write_object_functions(config)(importer))(collection),
|
|
55
|
+
unions: ((_f = (_e = (_d = config.generator).unions) === null || _e === void 0 ? void 0 : _e.call(_d)) !== null && _f !== void 0 ? _f : FeatureProgrammer.write_union_functions(config))(collection),
|
|
56
|
+
arrays: config.generator.arrays()(collection),
|
|
57
|
+
tuples: config.generator.tuples()(collection),
|
|
58
|
+
};
|
|
59
|
+
var added = ((_g = config.addition) !== null && _g !== void 0 ? _g : (function () { return []; }))(collection);
|
|
60
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer.parameterDeclarations(config)(config.types.input(type, name))(ValueFactory_1.ValueFactory.INPUT()), config.types.output(type, name), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(added), false), __read(functions.objects.filter(function (_, i) {
|
|
61
|
+
return importer.hasLocal("".concat(config.prefix, "o").concat(i));
|
|
62
|
+
})), false), __read(functions.unions.filter(function (_, i) {
|
|
63
|
+
return importer.hasLocal("".concat(config.prefix, "u").concat(i));
|
|
64
|
+
})), false), __read(functions.arrays.filter(function (_, i) {
|
|
65
|
+
return importer.hasLocal("".concat(config.prefix, "a").concat(i));
|
|
66
|
+
})), false), __read(functions.tuples.filter(function (_, i) {
|
|
67
|
+
return importer.hasLocal("".concat(config.prefix, "t").concat(i));
|
|
60
68
|
})), false), __read((typescript_1.default.isBlock(output)
|
|
61
69
|
? output.statements
|
|
62
70
|
: [typescript_1.default.factory.createReturnStatement(output)])), false), true));
|
|
@@ -64,43 +72,32 @@ var FeatureProgrammer;
|
|
|
64
72
|
};
|
|
65
73
|
};
|
|
66
74
|
};
|
|
67
|
-
FeatureProgrammer.
|
|
75
|
+
FeatureProgrammer.write_object_functions = function (config) {
|
|
68
76
|
return function (importer) {
|
|
69
77
|
return function (collection) {
|
|
70
78
|
return collection
|
|
71
79
|
.objects()
|
|
72
80
|
.map(function (obj, i) {
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
};
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
FeatureProgrammer.write_unioners = function (config) {
|
|
79
|
-
return function (importer) {
|
|
80
|
-
return function (collection) {
|
|
81
|
-
return collection
|
|
82
|
-
.unions()
|
|
83
|
-
.map(function (union, i) {
|
|
84
|
-
return StatementFactory_1.StatementFactory.constant(importer.useLocal("".concat(config.unioners).concat(i)), write_union(config)(union));
|
|
81
|
+
var _a;
|
|
82
|
+
return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "o").concat(i), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(ValueFactory_1.ValueFactory.INPUT()), (_a = config.objector.type) !== null && _a !== void 0 ? _a : TypeFactory_1.TypeFactory.keyword("any"), undefined, config.objector.joiner(typescript_1.default.factory.createIdentifier("input"), (0, feature_object_entries_1.feature_object_entries)(config)(importer)(obj)(typescript_1.default.factory.createIdentifier("input")), obj)));
|
|
85
83
|
});
|
|
86
84
|
};
|
|
87
85
|
};
|
|
88
86
|
};
|
|
89
|
-
|
|
90
|
-
return
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
};
|
|
87
|
+
FeatureProgrammer.write_union_functions = function (config) { return function (collection) {
|
|
88
|
+
return collection
|
|
89
|
+
.unions()
|
|
90
|
+
.map(function (union, i) {
|
|
91
|
+
return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "u").concat(i), write_union(config)(union));
|
|
92
|
+
});
|
|
93
|
+
}; };
|
|
97
94
|
var write_union = function (config) {
|
|
98
95
|
var explorer = UnionExplorer_1.UnionExplorer.object(config);
|
|
99
96
|
var input = ValueFactory_1.ValueFactory.INPUT();
|
|
100
97
|
return function (meta) {
|
|
101
|
-
return typescript_1.default.factory.createArrowFunction(undefined, undefined,
|
|
98
|
+
return typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer.parameterDeclarations(config)(TypeFactory_1.TypeFactory.keyword("any"))(ValueFactory_1.ValueFactory.INPUT()), TypeFactory_1.TypeFactory.keyword("any"), undefined, explorer(input, meta, {
|
|
102
99
|
tracable: config.path || config.trace,
|
|
103
|
-
source: "
|
|
100
|
+
source: "function",
|
|
104
101
|
from: "object",
|
|
105
102
|
postfix: "",
|
|
106
103
|
}, [], []));
|
|
@@ -115,15 +112,15 @@ var FeatureProgrammer;
|
|
|
115
112
|
IdentifierFactory_1.IdentifierFactory.parameter("_index" + rand, TypeFactory_1.TypeFactory.keyword("number")),
|
|
116
113
|
]
|
|
117
114
|
: [];
|
|
118
|
-
return function (input,
|
|
115
|
+
return function (input, array, explore, metaTags, jsDocTags) {
|
|
119
116
|
var _a;
|
|
120
117
|
var arrow = typescript_1.default.factory.createArrowFunction(undefined, undefined, __spreadArray([
|
|
121
118
|
IdentifierFactory_1.IdentifierFactory.parameter("elem", TypeFactory_1.TypeFactory.keyword("any"))
|
|
122
|
-
], __read(tail), false), undefined, undefined, config.decoder(ValueFactory_1.ValueFactory.INPUT("elem"),
|
|
119
|
+
], __read(tail), false), undefined, undefined, config.decoder()(ValueFactory_1.ValueFactory.INPUT("elem"), array.value, {
|
|
123
120
|
tracable: explore.tracable,
|
|
124
121
|
source: explore.source,
|
|
125
122
|
from: "array",
|
|
126
|
-
postfix:
|
|
123
|
+
postfix: FeatureProgrammer.index((_a = explore.start) !== null && _a !== void 0 ? _a : null)(explore.postfix)(rand),
|
|
127
124
|
}, metaTags, jsDocTags));
|
|
128
125
|
return combiner(input, arrow, metaTags, jsDocTags);
|
|
129
126
|
};
|
|
@@ -133,11 +130,21 @@ var FeatureProgrammer;
|
|
|
133
130
|
FeatureProgrammer.decode_object = function (config) {
|
|
134
131
|
return function (importer) {
|
|
135
132
|
return function (input, obj, explore) {
|
|
136
|
-
return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.
|
|
133
|
+
return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(importer.useLocal("".concat(config.prefix, "o").concat(obj.index))), undefined, FeatureProgrammer.argumentsArray(config)(explore)(input));
|
|
137
134
|
};
|
|
138
135
|
};
|
|
139
136
|
};
|
|
140
|
-
FeatureProgrammer.
|
|
137
|
+
FeatureProgrammer.index = function (start) { return function (prev) { return function (rand) {
|
|
138
|
+
var tail = start !== null
|
|
139
|
+
? "\"[\" + (".concat(start, " + _index").concat(rand, ") + \"]\"")
|
|
140
|
+
: "\"[\" + _index".concat(rand, " + \"]\"");
|
|
141
|
+
if (prev === "")
|
|
142
|
+
return tail;
|
|
143
|
+
else if (prev[prev.length - 1] === "\"")
|
|
144
|
+
return prev.substring(0, prev.length - 1) + tail.substring(1);
|
|
145
|
+
return prev + " + ".concat(tail);
|
|
146
|
+
}; }; };
|
|
147
|
+
FeatureProgrammer.argumentsArray = function (config) {
|
|
141
148
|
return function (explore) {
|
|
142
149
|
var tail = config.path === false && config.trace === false
|
|
143
150
|
? []
|
|
@@ -146,7 +153,7 @@ var FeatureProgrammer;
|
|
|
146
153
|
typescript_1.default.factory.createIdentifier(explore.postfix
|
|
147
154
|
? "_path + ".concat(explore.postfix)
|
|
148
155
|
: "_path"),
|
|
149
|
-
explore.source === "
|
|
156
|
+
explore.source === "function"
|
|
150
157
|
? typescript_1.default.factory.createIdentifier("".concat(explore.tracable, " && _exceptionable"))
|
|
151
158
|
: explore.tracable
|
|
152
159
|
? typescript_1.default.factory.createTrue()
|
|
@@ -159,7 +166,7 @@ var FeatureProgrammer;
|
|
|
159
166
|
: "_path"),
|
|
160
167
|
]
|
|
161
168
|
: [
|
|
162
|
-
explore.source === "
|
|
169
|
+
explore.source === "function"
|
|
163
170
|
? typescript_1.default.factory.createIdentifier("".concat(explore.tracable, " && _exceptionable"))
|
|
164
171
|
: explore.tracable
|
|
165
172
|
? typescript_1.default.factory.createTrue()
|
|
@@ -168,27 +175,17 @@ var FeatureProgrammer;
|
|
|
168
175
|
return function (input) { return __spreadArray([input], __read(tail), false); };
|
|
169
176
|
};
|
|
170
177
|
};
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
};
|
|
182
|
-
var PARAMETERS = function (props) {
|
|
183
|
-
return function (type) {
|
|
184
|
-
var tail = [];
|
|
185
|
-
if (props.path)
|
|
186
|
-
tail.push(IdentifierFactory_1.IdentifierFactory.parameter("_path", TypeFactory_1.TypeFactory.keyword("string")));
|
|
187
|
-
if (props.trace)
|
|
188
|
-
tail.push(IdentifierFactory_1.IdentifierFactory.parameter("_exceptionable", TypeFactory_1.TypeFactory.keyword("boolean"), typescript_1.default.factory.createTrue()));
|
|
189
|
-
return function (input) { return __spreadArray([
|
|
190
|
-
IdentifierFactory_1.IdentifierFactory.parameter(input, type)
|
|
191
|
-
], __read(tail), false); };
|
|
178
|
+
FeatureProgrammer.parameterDeclarations = function (props) {
|
|
179
|
+
return function (type) {
|
|
180
|
+
var tail = [];
|
|
181
|
+
if (props.path)
|
|
182
|
+
tail.push(IdentifierFactory_1.IdentifierFactory.parameter("_path", TypeFactory_1.TypeFactory.keyword("string")));
|
|
183
|
+
if (props.trace)
|
|
184
|
+
tail.push(IdentifierFactory_1.IdentifierFactory.parameter("_exceptionable", TypeFactory_1.TypeFactory.keyword("boolean"), typescript_1.default.factory.createTrue()));
|
|
185
|
+
return function (input) { return __spreadArray([
|
|
186
|
+
IdentifierFactory_1.IdentifierFactory.parameter(input, type)
|
|
187
|
+
], __read(tail), false); };
|
|
188
|
+
};
|
|
192
189
|
};
|
|
193
|
-
};
|
|
190
|
+
})(FeatureProgrammer = exports.FeatureProgrammer || (exports.FeatureProgrammer = {}));
|
|
194
191
|
//# sourceMappingURL=FeatureProgrammer.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FeatureProgrammer.js","sourceRoot":"","sources":["../../src/programmers/FeatureProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AAEnE,kEAAiE;AACjE,wDAAuD;AACvD,0DAAyD;
|
|
1
|
+
{"version":3,"file":"FeatureProgrammer.js","sourceRoot":"","sources":["../../src/programmers/FeatureProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import ts from "typescript";
|
|
2
|
+
import { MetadataCollection } from "../factories/MetadataCollection";
|
|
2
3
|
import { MetadataObject } from "../metadata/MetadataObject";
|
|
3
4
|
import { IProject } from "../transformers/IProject";
|
|
4
5
|
import { CheckerProgrammer } from "./CheckerProgrammer";
|
|
@@ -18,9 +19,8 @@ export declare namespace IsProgrammer {
|
|
|
18
19
|
*/
|
|
19
20
|
const generate: (project: IProject, modulo: ts.LeftHandSideExpression, equals?: boolean) => (type: ts.Type, name?: string) => ts.ArrowFunction;
|
|
20
21
|
const write: (project: IProject) => (modulo: ts.LeftHandSideExpression, disable?: boolean) => (equals: boolean) => (type: ts.Type, name?: string | undefined) => ts.ArrowFunction;
|
|
21
|
-
const
|
|
22
|
-
const
|
|
23
|
-
const decode: (project: IProject, importer: FunctionImporter) => (input: ts.Expression, meta: import("../metadata/Metadata").Metadata, explore: import("./FeatureProgrammer").FeatureProgrammer.IExplore, metaTags: import("../metadata/IMetadataTag").IMetadataTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression;
|
|
22
|
+
const write_function_statements: (project: IProject) => (importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
|
|
23
|
+
const decode: (project: IProject) => (importer: FunctionImporter) => (input: ts.Expression, meta: import("../metadata/Metadata").Metadata, explore: import("./FeatureProgrammer").FeatureProgrammer.IExplore, metaTags: import("../metadata/IMetadataTag").IMetadataTag[], jsDocTags: ts.JSDocTagInfo[]) => ts.Expression;
|
|
24
24
|
const decode_object: (importer: FunctionImporter) => (input: ts.Expression, obj: MetadataObject, explore: import("./FeatureProgrammer").FeatureProgrammer.IExplore) => ts.CallExpression;
|
|
25
25
|
const decode_to_json: (checkNull: boolean) => (input: ts.Expression) => ts.Expression;
|
|
26
26
|
const decode_functional: (input: ts.Expression) => ts.BinaryExpression;
|
|
@@ -43,6 +43,7 @@ exports.IsProgrammer = void 0;
|
|
|
43
43
|
var typescript_1 = __importDefault(require("typescript"));
|
|
44
44
|
var ExpressionFactory_1 = require("../factories/ExpressionFactory");
|
|
45
45
|
var IdentifierFactory_1 = require("../factories/IdentifierFactory");
|
|
46
|
+
var TypeFactory_1 = require("../factories/TypeFactory");
|
|
46
47
|
var ValueFactory_1 = require("../factories/ValueFactory");
|
|
47
48
|
var CheckerProgrammer_1 = require("./CheckerProgrammer");
|
|
48
49
|
var FunctionImporeter_1 = require("./helpers/FunctionImporeter");
|
|
@@ -54,8 +55,7 @@ var IsProgrammer;
|
|
|
54
55
|
(function (IsProgrammer) {
|
|
55
56
|
IsProgrammer.configure = function (options) {
|
|
56
57
|
return function (importer) { return ({
|
|
57
|
-
|
|
58
|
-
unioners: "$iu",
|
|
58
|
+
prefix: "$i",
|
|
59
59
|
trace: false,
|
|
60
60
|
path: false,
|
|
61
61
|
equals: !!(options === null || options === void 0 ? void 0 : options.object),
|
|
@@ -111,7 +111,7 @@ var IsProgrammer;
|
|
|
111
111
|
IsProgrammer.write = function (project) {
|
|
112
112
|
return function (modulo, disable) {
|
|
113
113
|
return function (equals) {
|
|
114
|
-
var importer = disable ===
|
|
114
|
+
var importer = disable === {}
|
|
115
115
|
? (0, disable_function_importer_declare_1.disable_function_importer_declare)(new FunctionImporeter_1.FunctionImporter())
|
|
116
116
|
: new FunctionImporeter_1.FunctionImporter();
|
|
117
117
|
var config = __assign(__assign({}, IsProgrammer.configure({
|
|
@@ -125,36 +125,51 @@ var IsProgrammer;
|
|
|
125
125
|
})(importer),
|
|
126
126
|
numeric: OptionPredicator_1.OptionPredicator.numeric(project.options),
|
|
127
127
|
})(importer)), { trace: equals, addition: function () { return importer.declare(modulo); } });
|
|
128
|
-
config.decoder =
|
|
129
|
-
|
|
130
|
-
target.
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
(
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
128
|
+
config.decoder =
|
|
129
|
+
function () { return function (input, target, explore, tags, jsDocTags) {
|
|
130
|
+
if (target.size() === 1 &&
|
|
131
|
+
target.objects.length === 1 &&
|
|
132
|
+
target.required === true &&
|
|
133
|
+
target.nullable === false) {
|
|
134
|
+
var obj = target.objects[0];
|
|
135
|
+
if (obj._Is_simple() &&
|
|
136
|
+
(equals === false ||
|
|
137
|
+
OptionPredicator_1.OptionPredicator.undefined(project.options) ===
|
|
138
|
+
false))
|
|
139
|
+
return typescript_1.default.factory.createLogicalAnd(ExpressionFactory_1.ExpressionFactory.isObject({
|
|
140
|
+
checkNull: true,
|
|
141
|
+
checkArray: false,
|
|
142
|
+
})(input), config.joiner.object(typescript_1.default.factory.createAsExpression(input, TypeFactory_1.TypeFactory.keyword("any")), (0, feature_object_entries_1.feature_object_entries)(config)(importer)(obj)(typescript_1.default.factory.createAsExpression(input, TypeFactory_1.TypeFactory.keyword("any")))));
|
|
143
|
+
}
|
|
144
|
+
return CheckerProgrammer_1.CheckerProgrammer.decode(project)(config)(importer)(input, target, explore, tags, jsDocTags);
|
|
145
|
+
}; };
|
|
145
146
|
return CheckerProgrammer_1.CheckerProgrammer.write(project)(config)(importer);
|
|
146
147
|
};
|
|
147
148
|
};
|
|
148
149
|
};
|
|
149
|
-
IsProgrammer.
|
|
150
|
-
return
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
150
|
+
IsProgrammer.write_function_statements = function (project) {
|
|
151
|
+
return function (importer) {
|
|
152
|
+
return function (collection) {
|
|
153
|
+
var config = IsProgrammer.configure()(importer);
|
|
154
|
+
var objects = CheckerProgrammer_1.CheckerProgrammer.write_object_functions(project)(config)(importer)(collection);
|
|
155
|
+
var unions = CheckerProgrammer_1.CheckerProgrammer.write_union_functions(project)(config)(importer)(collection);
|
|
156
|
+
var arrays = CheckerProgrammer_1.CheckerProgrammer.write_array_functions(project)(config)(importer)(collection);
|
|
157
|
+
var tuples = CheckerProgrammer_1.CheckerProgrammer.write_tuple_functions(project)(config)(importer)(collection);
|
|
158
|
+
return __spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(objects.filter(function (_, i) {
|
|
159
|
+
return importer.hasLocal("".concat(config.prefix, "o").concat(i));
|
|
160
|
+
})), false), __read(unions.filter(function (_, i) {
|
|
161
|
+
return importer.hasLocal("".concat(config.prefix, "u").concat(i));
|
|
162
|
+
})), false), __read(arrays.filter(function (_, i) {
|
|
163
|
+
return importer.hasLocal("".concat(config.prefix, "a").concat(i));
|
|
164
|
+
})), false), __read(tuples.filter(function (_, i) {
|
|
165
|
+
return importer.hasLocal("".concat(config.prefix, "t").concat(i));
|
|
166
|
+
})), false);
|
|
167
|
+
};
|
|
168
|
+
};
|
|
157
169
|
};
|
|
170
|
+
IsProgrammer.decode = function (project) { return function (importer) {
|
|
171
|
+
return CheckerProgrammer_1.CheckerProgrammer.decode(project)(IsProgrammer.configure()(importer))(importer);
|
|
172
|
+
}; };
|
|
158
173
|
IsProgrammer.decode_object = function (importer) {
|
|
159
174
|
return CheckerProgrammer_1.CheckerProgrammer.decode_object(IsProgrammer.configure()(importer))(importer);
|
|
160
175
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,oEAAmE;
|
|
1
|
+
{"version":3,"file":"IsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/IsProgrammer.ts"],"names":[],"mappings":"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"}
|
|
@@ -42,6 +42,7 @@ var LiteralsProgrammer;
|
|
|
42
42
|
var meta = MetadataFactory_1.MetadataFactory.analyze(project.checker)({
|
|
43
43
|
resolve: true,
|
|
44
44
|
constant: true,
|
|
45
|
+
absorb: true,
|
|
45
46
|
validate: function (meta) {
|
|
46
47
|
var length = meta.constants
|
|
47
48
|
.map(function (c) { return c.values.length; })
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LiteralsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/LiteralsProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,sEAAqE;AACrE,gEAA+D;AAQ/D,gDAA+C;AAE/C,IAAiB,kBAAkB,
|
|
1
|
+
{"version":3,"file":"LiteralsProgrammer.js","sourceRoot":"","sources":["../../src/programmers/LiteralsProgrammer.ts"],"names":[],"mappings":"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"}
|