typia 7.0.0-dev.20240928 → 7.0.0-dev.20240930

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.
Files changed (40) hide show
  1. package/lib/factories/internal/metadata/emplace_metadata_object.js +2 -1
  2. package/lib/factories/internal/metadata/emplace_metadata_object.js.map +1 -1
  3. package/lib/programmers/AssertProgrammer.js +14 -10
  4. package/lib/programmers/AssertProgrammer.js.map +1 -1
  5. package/lib/programmers/CheckerProgrammer.d.ts +5 -1
  6. package/lib/programmers/CheckerProgrammer.js +161 -135
  7. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  8. package/lib/programmers/FeatureProgrammer.d.ts +91 -28
  9. package/lib/programmers/FeatureProgrammer.js +158 -139
  10. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  11. package/lib/programmers/IsProgrammer.d.ts +5 -1
  12. package/lib/programmers/IsProgrammer.js +70 -67
  13. package/lib/programmers/IsProgrammer.js.map +1 -1
  14. package/lib/programmers/ValidateProgrammer.js +7 -3
  15. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  16. package/lib/programmers/helpers/UnionExplorer.js +31 -6
  17. package/lib/programmers/helpers/UnionExplorer.js.map +1 -1
  18. package/lib/programmers/internal/feature_object_entries.js +18 -14
  19. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  20. package/lib/programmers/json/JsonStringifyProgrammer.js +101 -62
  21. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  22. package/lib/programmers/misc/MiscCloneProgrammer.js +101 -62
  23. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  24. package/lib/programmers/misc/MiscPruneProgrammer.js +97 -62
  25. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  26. package/lib/programmers/notations/NotationGeneralProgrammer.js +118 -60
  27. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  28. package/package.json +1 -1
  29. package/src/factories/internal/metadata/emplace_metadata_object.ts +2 -1
  30. package/src/programmers/AssertProgrammer.ts +14 -10
  31. package/src/programmers/CheckerProgrammer.ts +139 -134
  32. package/src/programmers/FeatureProgrammer.ts +324 -266
  33. package/src/programmers/IsProgrammer.ts +80 -77
  34. package/src/programmers/ValidateProgrammer.ts +7 -3
  35. package/src/programmers/helpers/UnionExplorer.ts +33 -12
  36. package/src/programmers/internal/feature_object_entries.ts +18 -15
  37. package/src/programmers/json/JsonStringifyProgrammer.ts +103 -76
  38. package/src/programmers/misc/MiscCloneProgrammer.ts +122 -95
  39. package/src/programmers/misc/MiscPruneProgrammer.ts +111 -90
  40. package/src/programmers/notations/NotationGeneralProgrammer.ts +138 -91
@@ -51,23 +51,34 @@ var FeatureProgrammer;
51
51
  (function (FeatureProgrammer) {
52
52
  FeatureProgrammer.compose = function (props) {
53
53
  var _a, _b, _c, _d, _e, _f;
54
- var _g = __read(props.config.initializer(props.context)(props.importer)(props.type), 2), collection = _g[0], meta = _g[1];
54
+ var _g = __read(props.config.initializer(props), 2), collection = _g[0], metadata = _g[1];
55
55
  return {
56
- body: props.config.decoder()(ValueFactory_1.ValueFactory.INPUT(), meta, {
57
- tracable: props.config.path || props.config.trace,
58
- source: "top",
59
- from: "top",
60
- postfix: '""',
56
+ body: props.config.decoder({
57
+ input: ValueFactory_1.ValueFactory.INPUT(),
58
+ metadata: metadata,
59
+ explore: {
60
+ tracable: props.config.path || props.config.trace,
61
+ source: "top",
62
+ from: "top",
63
+ postfix: '""',
64
+ },
61
65
  }),
62
66
  statements: props.config.addition
63
67
  ? props.config.addition(collection)
64
68
  : [],
65
- functions: __assign(__assign(__assign(__assign({}, Object.fromEntries(((_c = (_b = (_a = props.config.generator).objects) === null || _b === void 0 ? void 0 : _b.call(_a)(collection)) !== null && _c !== void 0 ? _c : FeatureProgrammer.write_object_functions(__assign(__assign({}, props), { collection: collection }))).map(function (v, i) { return ["".concat(props.config.prefix, "o").concat(i), v]; }))), Object.fromEntries(((_f = (_e = (_d = props.config.generator).unions) === null || _e === void 0 ? void 0 : _e.call(_d)) !== null && _f !== void 0 ? _f : FeatureProgrammer.write_union_functions(props.config))(collection).map(function (v, i) { return ["".concat(props.config.prefix, "u").concat(i), v]; }))), Object.fromEntries(props.config.generator
66
- .arrays()(collection)
69
+ functions: __assign(__assign(__assign(__assign({}, Object.fromEntries(((_c = (_b = (_a = props.config.generator).objects) === null || _b === void 0 ? void 0 : _b.call(_a, collection)) !== null && _c !== void 0 ? _c : FeatureProgrammer.write_object_functions(__assign(__assign({}, props), { collection: collection }))).map(function (v, i) { return ["".concat(props.config.prefix, "o").concat(i), v]; }))), Object.fromEntries(((_f = (_e = (_d = props.config.generator).unions) === null || _e === void 0 ? void 0 : _e.call(_d, collection)) !== null && _f !== void 0 ? _f : FeatureProgrammer.write_union_functions({
70
+ config: props.config,
71
+ collection: collection,
72
+ })).map(function (v, i) { return ["".concat(props.config.prefix, "u").concat(i), v]; }))), Object.fromEntries(props.config.generator
73
+ .arrays(collection)
67
74
  .map(function (v, i) { return ["".concat(props.config.prefix, "a").concat(i), v]; }))), Object.fromEntries(props.config.generator
68
- .tuples()(collection)
75
+ .tuples(collection)
69
76
  .map(function (v, i) { return ["".concat(props.config.prefix, "t").concat(i), v]; }))),
70
- parameters: FeatureProgrammer.parameterDeclarations(props.config)(props.config.types.input(props.type, props.name))(ValueFactory_1.ValueFactory.INPUT()),
77
+ parameters: FeatureProgrammer.parameterDeclarations({
78
+ config: props.config,
79
+ type: props.config.types.input(props.type, props.name),
80
+ input: ValueFactory_1.ValueFactory.INPUT(),
81
+ }),
71
82
  response: props.config.types.output(props.type, props.name),
72
83
  };
73
84
  };
@@ -84,163 +95,171 @@ var FeatureProgrammer;
84
95
  typescript_1.default.factory.createReturnStatement(props.result.arrow),
85
96
  ], false))), undefined, undefined);
86
97
  };
87
- FeatureProgrammer.write = function (context) {
88
- return function (config) {
89
- return function (importer) {
90
- return function (type, name) {
91
- var _a, _b, _c, _d, _e, _f, _g;
92
- var _h = __read(config.initializer(context)(importer)(type), 2), collection = _h[0], meta = _h[1];
93
- // ITERATE OVER ALL METADATA
94
- var output = config.decoder()(ValueFactory_1.ValueFactory.INPUT(), meta, {
95
- tracable: config.path || config.trace,
96
- source: "top",
97
- from: "top",
98
- postfix: '""',
99
- });
100
- // RETURNS THE OPTIMAL ARROW FUNCTION
101
- var functions = {
102
- objects: (_c = (_b = (_a = config.generator).objects) === null || _b === void 0 ? void 0 : _b.call(_a)(collection)) !== null && _c !== void 0 ? _c : FeatureProgrammer.write_object_functions({
103
- config: config,
104
- importer: importer,
105
- collection: collection,
106
- }),
107
- 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),
108
- arrays: config.generator.arrays()(collection),
109
- tuples: config.generator.tuples()(collection),
110
- };
111
- var added = ((_g = config.addition) !== null && _g !== void 0 ? _g : (function () { return []; }))(collection);
112
- 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) {
113
- return importer.hasLocal("".concat(config.prefix, "o").concat(i));
114
- })), false), __read(functions.unions.filter(function (_, i) {
115
- return importer.hasLocal("".concat(config.prefix, "u").concat(i));
116
- })), false), __read(functions.arrays.filter(function (_, i) {
117
- return importer.hasLocal("".concat(config.prefix, "a").concat(i));
118
- })), false), __read(functions.tuples.filter(function (_, i) {
119
- return importer.hasLocal("".concat(config.prefix, "t").concat(i));
120
- })), false), __read((typescript_1.default.isBlock(output)
121
- ? output.statements
122
- : [typescript_1.default.factory.createReturnStatement(output)])), false), true));
123
- };
124
- };
98
+ FeatureProgrammer.write = function (props) {
99
+ var _a, _b, _c, _d, _e, _f, _g;
100
+ // ITERATE OVER ALL METADATA
101
+ var _h = __read(props.config.initializer(props), 2), collection = _h[0], metadata = _h[1];
102
+ var output = props.config.decoder({
103
+ metadata: metadata,
104
+ input: ValueFactory_1.ValueFactory.INPUT(),
105
+ explore: {
106
+ tracable: props.config.path || props.config.trace,
107
+ source: "top",
108
+ from: "top",
109
+ postfix: '""',
110
+ },
111
+ });
112
+ // RETURNS THE OPTIMAL ARROW FUNCTION
113
+ var functions = {
114
+ objects: (_c = (_b = (_a = props.config.generator).objects) === null || _b === void 0 ? void 0 : _b.call(_a, collection)) !== null && _c !== void 0 ? _c : FeatureProgrammer.write_object_functions({
115
+ config: props.config,
116
+ importer: props.importer,
117
+ collection: collection,
118
+ }),
119
+ unions: (_f = (_e = (_d = props.config.generator).unions) === null || _e === void 0 ? void 0 : _e.call(_d, collection)) !== null && _f !== void 0 ? _f : FeatureProgrammer.write_union_functions({
120
+ config: props.config,
121
+ collection: collection,
122
+ }),
123
+ arrays: props.config.generator.arrays(collection),
124
+ tuples: props.config.generator.tuples(collection),
125
125
  };
126
+ var added = ((_g = props.config.addition) !== null && _g !== void 0 ? _g : (function () { return []; }))(collection);
127
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer.parameterDeclarations({
128
+ config: props.config,
129
+ type: props.config.types.input(props.type, props.name),
130
+ input: ValueFactory_1.ValueFactory.INPUT(),
131
+ }), props.config.types.output(props.type, props.name), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray(__spreadArray([], __read(added), false), __read(functions.objects.filter(function (_, i) {
132
+ return props.importer.hasLocal("".concat(props.config.prefix, "o").concat(i));
133
+ })), false), __read(functions.unions.filter(function (_, i) {
134
+ return props.importer.hasLocal("".concat(props.config.prefix, "u").concat(i));
135
+ })), false), __read(functions.arrays.filter(function (_, i) {
136
+ return props.importer.hasLocal("".concat(props.config.prefix, "a").concat(i));
137
+ })), false), __read(functions.tuples.filter(function (_, i) {
138
+ return props.importer.hasLocal("".concat(props.config.prefix, "t").concat(i));
139
+ })), false), __read((typescript_1.default.isBlock(output)
140
+ ? output.statements
141
+ : [typescript_1.default.factory.createReturnStatement(output)])), false), true));
126
142
  };
127
143
  FeatureProgrammer.write_object_functions = function (props) {
128
144
  return props.collection.objects().map(function (object) {
129
145
  var _a;
130
- return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "o").concat(object.index), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer.parameterDeclarations(props.config)(TypeFactory_1.TypeFactory.keyword("any"))(ValueFactory_1.ValueFactory.INPUT()), (_a = props.config.objector.type) !== null && _a !== void 0 ? _a : TypeFactory_1.TypeFactory.keyword("any"), undefined, props.config.objector.joiner({
146
+ return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "o").concat(object.index), typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer.parameterDeclarations({
147
+ config: props.config,
148
+ type: TypeFactory_1.TypeFactory.keyword("any"),
149
+ input: ValueFactory_1.ValueFactory.INPUT(),
150
+ }), (_a = props.config.objector.type) !== null && _a !== void 0 ? _a : TypeFactory_1.TypeFactory.keyword("any"), undefined, props.config.objector.joiner({
131
151
  input: typescript_1.default.factory.createIdentifier("input"),
132
152
  entries: (0, feature_object_entries_1.feature_object_entries)(props.config)(props.importer)(object)(typescript_1.default.factory.createIdentifier("input")),
133
153
  object: object,
134
154
  })));
135
155
  });
136
156
  };
137
- FeatureProgrammer.write_union_functions = function (config) { return function (collection) {
138
- return collection
139
- .unions()
140
- .map(function (union, i) {
141
- return StatementFactory_1.StatementFactory.constant("".concat(config.prefix, "u").concat(i), write_union(config)(union));
157
+ FeatureProgrammer.write_union_functions = function (props) {
158
+ return props.collection.unions().map(function (union, i) {
159
+ return StatementFactory_1.StatementFactory.constant("".concat(props.config.prefix, "u").concat(i), write_union({
160
+ config: props.config,
161
+ objects: union,
162
+ }));
142
163
  });
143
- }; };
144
- var write_union = function (config) {
145
- var explorer = UnionExplorer_1.UnionExplorer.object(config);
164
+ };
165
+ var write_union = function (props) {
166
+ var explorer = UnionExplorer_1.UnionExplorer.object(props.config);
146
167
  var input = ValueFactory_1.ValueFactory.INPUT();
147
- return function (meta) {
148
- 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, {
149
- tracable: config.path || config.trace,
150
- source: "function",
151
- from: "object",
152
- postfix: "",
153
- }));
154
- };
168
+ return typescript_1.default.factory.createArrowFunction(undefined, undefined, FeatureProgrammer.parameterDeclarations({
169
+ config: props.config,
170
+ type: TypeFactory_1.TypeFactory.keyword("any"),
171
+ input: ValueFactory_1.ValueFactory.INPUT(),
172
+ }), TypeFactory_1.TypeFactory.keyword("any"), undefined, explorer(input, props.objects, {
173
+ tracable: props.config.path || props.config.trace,
174
+ source: "function",
175
+ from: "object",
176
+ postfix: "",
177
+ }));
155
178
  };
156
179
  /* -----------------------------------------------------------
157
180
  DECODERS
158
181
  ----------------------------------------------------------- */
159
- FeatureProgrammer.decode_array = function (config) {
160
- return function (importer) {
161
- return function (combiner) {
162
- var rand = importer.increment().toString();
163
- var tail = config.path || config.trace
164
- ? [
165
- IdentifierFactory_1.IdentifierFactory.parameter("_index" + rand, TypeFactory_1.TypeFactory.keyword("number")),
166
- ]
167
- : [];
168
- return function (input, array, explore) {
169
- var _a;
170
- var arrow = typescript_1.default.factory.createArrowFunction(undefined, undefined, __spreadArray([
171
- IdentifierFactory_1.IdentifierFactory.parameter("elem", TypeFactory_1.TypeFactory.keyword("any"))
172
- ], __read(tail), false), undefined, undefined, config.decoder()(ValueFactory_1.ValueFactory.INPUT("elem"), array.type.value, {
173
- tracable: explore.tracable,
174
- source: explore.source,
175
- from: "array",
176
- postfix: FeatureProgrammer.index((_a = explore.start) !== null && _a !== void 0 ? _a : null)(explore.postfix)(rand),
177
- }));
178
- return combiner({
179
- input: input,
180
- arrow: arrow,
181
- });
182
- };
183
- };
184
- };
182
+ FeatureProgrammer.decode_array = function (props) {
183
+ var _a;
184
+ var rand = props.importer.increment().toString();
185
+ var tail = props.config.path || props.config.trace
186
+ ? [
187
+ IdentifierFactory_1.IdentifierFactory.parameter("_index" + rand, TypeFactory_1.TypeFactory.keyword("number")),
188
+ ]
189
+ : [];
190
+ var arrow = typescript_1.default.factory.createArrowFunction(undefined, undefined, __spreadArray([
191
+ IdentifierFactory_1.IdentifierFactory.parameter("elem", TypeFactory_1.TypeFactory.keyword("any"))
192
+ ], __read(tail), false), undefined, undefined, props.config.decoder({
193
+ input: ValueFactory_1.ValueFactory.INPUT("elem"),
194
+ metadata: props.array.type.value,
195
+ explore: {
196
+ tracable: props.explore.tracable,
197
+ source: props.explore.source,
198
+ from: "array",
199
+ postfix: FeatureProgrammer.index({
200
+ start: (_a = props.explore.start) !== null && _a !== void 0 ? _a : null,
201
+ postfix: props.explore.postfix,
202
+ rand: rand,
203
+ }),
204
+ },
205
+ }));
206
+ return props.combiner({
207
+ input: props.input,
208
+ arrow: arrow,
209
+ });
185
210
  };
186
- FeatureProgrammer.decode_object = function (config) {
187
- return function (importer) {
188
- return function (input, obj, explore) {
189
- 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));
190
- };
191
- };
211
+ FeatureProgrammer.decode_object = function (props) {
212
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier(props.importer.useLocal("".concat(props.config.prefix, "o").concat(props.object.index))), undefined, FeatureProgrammer.argumentsArray(props));
192
213
  };
193
214
  /* -----------------------------------------------------------
194
215
  UTILITIES FOR INTERNAL FUNCTIONS
195
216
  ----------------------------------------------------------- */
196
- FeatureProgrammer.index = function (start) { return function (prev) { return function (rand) {
197
- var tail = start !== null
198
- ? "\"[\" + (".concat(start, " + _index").concat(rand, ") + \"]\"")
199
- : "\"[\" + _index".concat(rand, " + \"]\"");
200
- if (prev === "")
217
+ FeatureProgrammer.index = function (props) {
218
+ var tail = props.start !== null
219
+ ? "\"[\" + (".concat(props.start, " + _index").concat(props.rand, ") + \"]\"")
220
+ : "\"[\" + _index".concat(props.rand, " + \"]\"");
221
+ if (props.postfix === "")
201
222
  return tail;
202
- else if (prev[prev.length - 1] === "\"")
203
- return prev.substring(0, prev.length - 1) + tail.substring(1);
204
- return prev + " + ".concat(tail);
205
- }; }; };
206
- FeatureProgrammer.argumentsArray = function (config) {
207
- return function (explore) {
208
- var tail = config.path === false && config.trace === false
209
- ? []
210
- : config.path === true && config.trace === true
223
+ else if (props.postfix[props.postfix.length - 1] === "\"")
224
+ return (props.postfix.substring(0, props.postfix.length - 1) + tail.substring(1));
225
+ return props.postfix + " + ".concat(tail);
226
+ };
227
+ FeatureProgrammer.argumentsArray = function (props) {
228
+ var tail = props.config.path === false && props.config.trace === false
229
+ ? []
230
+ : props.config.path === true && props.config.trace === true
231
+ ? [
232
+ typescript_1.default.factory.createIdentifier(props.explore.postfix
233
+ ? "_path + ".concat(props.explore.postfix)
234
+ : "_path"),
235
+ props.explore.source === "function"
236
+ ? typescript_1.default.factory.createIdentifier("".concat(props.explore.tracable, " && _exceptionable"))
237
+ : props.explore.tracable
238
+ ? typescript_1.default.factory.createTrue()
239
+ : typescript_1.default.factory.createFalse(),
240
+ ]
241
+ : props.config.path === true
211
242
  ? [
212
- typescript_1.default.factory.createIdentifier(explore.postfix ? "_path + ".concat(explore.postfix) : "_path"),
213
- explore.source === "function"
214
- ? typescript_1.default.factory.createIdentifier("".concat(explore.tracable, " && _exceptionable"))
215
- : explore.tracable
243
+ typescript_1.default.factory.createIdentifier(props.explore.postfix
244
+ ? "_path + ".concat(props.explore.postfix)
245
+ : "_path"),
246
+ ]
247
+ : [
248
+ props.explore.source === "function"
249
+ ? typescript_1.default.factory.createIdentifier("".concat(props.explore.tracable, " && _exceptionable"))
250
+ : props.explore.tracable
216
251
  ? typescript_1.default.factory.createTrue()
217
252
  : typescript_1.default.factory.createFalse(),
218
- ]
219
- : config.path === true
220
- ? [
221
- typescript_1.default.factory.createIdentifier(explore.postfix ? "_path + ".concat(explore.postfix) : "_path"),
222
- ]
223
- : [
224
- explore.source === "function"
225
- ? typescript_1.default.factory.createIdentifier("".concat(explore.tracable, " && _exceptionable"))
226
- : explore.tracable
227
- ? typescript_1.default.factory.createTrue()
228
- : typescript_1.default.factory.createFalse(),
229
- ];
230
- return function (input) { return __spreadArray([input], __read(tail), false); };
231
- };
253
+ ];
254
+ return __spreadArray([props.input], __read(tail), false);
232
255
  };
233
256
  FeatureProgrammer.parameterDeclarations = function (props) {
234
- return function (type) {
235
- var tail = [];
236
- if (props.path)
237
- tail.push(IdentifierFactory_1.IdentifierFactory.parameter("_path", TypeFactory_1.TypeFactory.keyword("string")));
238
- if (props.trace)
239
- tail.push(IdentifierFactory_1.IdentifierFactory.parameter("_exceptionable", TypeFactory_1.TypeFactory.keyword("boolean"), typescript_1.default.factory.createTrue()));
240
- return function (input) { return __spreadArray([
241
- IdentifierFactory_1.IdentifierFactory.parameter(input, type)
242
- ], __read(tail), false); };
243
- };
257
+ var tail = [];
258
+ if (props.config.path)
259
+ tail.push(IdentifierFactory_1.IdentifierFactory.parameter("_path", TypeFactory_1.TypeFactory.keyword("string")));
260
+ if (props.config.trace)
261
+ tail.push(IdentifierFactory_1.IdentifierFactory.parameter("_exceptionable", TypeFactory_1.TypeFactory.keyword("boolean"), typescript_1.default.factory.createTrue()));
262
+ return __spreadArray([IdentifierFactory_1.IdentifierFactory.parameter(props.input, props.type)], __read(tail), false);
244
263
  };
245
264
  })(FeatureProgrammer || (exports.FeatureProgrammer = FeatureProgrammer = {}));
246
265
  //# sourceMappingURL=FeatureProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FeatureProgrammer.js","sourceRoot":"","sources":["../../src/programmers/FeatureProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"FeatureProgrammer.js","sourceRoot":"","sources":["../../src/programmers/FeatureProgrammer.ts"],"names":[],"mappings":"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"}
@@ -9,7 +9,11 @@ import { FeatureProgrammer } from "./FeatureProgrammer";
9
9
  import { FunctionImporter } from "./helpers/FunctionImporter";
10
10
  import { IExpressionEntry } from "./helpers/IExpressionEntry";
11
11
  export declare namespace IsProgrammer {
12
- const configure: (options?: Partial<CONFIG.IOptions>) => (project: ITypiaContext) => (importer: FunctionImporter) => CheckerProgrammer.IConfig;
12
+ const configure: (props: {
13
+ options?: Partial<CONFIG.IOptions>;
14
+ context: ITypiaContext;
15
+ importer: FunctionImporter;
16
+ }) => CheckerProgrammer.IConfig;
13
17
  namespace CONFIG {
14
18
  interface IOptions {
15
19
  numeric: boolean;
@@ -51,75 +51,78 @@ var OptionPredicator_1 = require("./helpers/OptionPredicator");
51
51
  var check_object_1 = require("./internal/check_object");
52
52
  var IsProgrammer;
53
53
  (function (IsProgrammer) {
54
- IsProgrammer.configure = function (options) {
55
- return function (project) {
56
- return function (importer) { return ({
57
- prefix: "$i",
58
- equals: !!(options === null || options === void 0 ? void 0 : options.object),
59
- trace: false,
60
- path: false,
61
- numeric: OptionPredicator_1.OptionPredicator.numeric({
62
- numeric: options === null || options === void 0 ? void 0 : options.numeric,
63
- }),
64
- atomist: function (_a) {
65
- var entry = _a.entry;
66
- return __spreadArray(__spreadArray([], __read((entry.expression ? [entry.expression] : [])), false), __read((entry.conditions.length === 0
67
- ? []
68
- : [
69
- entry.conditions
70
- .map(function (set) {
71
- return set
72
- .map(function (s) { return s.expression; })
73
- .reduce(function (a, b) { return typescript_1.default.factory.createLogicalAnd(a, b); });
74
- })
75
- .reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }),
76
- ])), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
54
+ IsProgrammer.configure = function (props) {
55
+ var _a, _b, _c, _d, _e;
56
+ return ({
57
+ prefix: "$i",
58
+ equals: !!((_a = props.options) === null || _a === void 0 ? void 0 : _a.object),
59
+ trace: false,
60
+ path: false,
61
+ numeric: OptionPredicator_1.OptionPredicator.numeric({
62
+ numeric: (_b = props.options) === null || _b === void 0 ? void 0 : _b.numeric,
63
+ }),
64
+ atomist: function (_a) {
65
+ var entry = _a.entry;
66
+ return __spreadArray(__spreadArray([], __read((entry.expression ? [entry.expression] : [])), false), __read((entry.conditions.length === 0
67
+ ? []
68
+ : [
69
+ entry.conditions
70
+ .map(function (set) {
71
+ return set
72
+ .map(function (s) { return s.expression; })
73
+ .reduce(function (a, b) { return typescript_1.default.factory.createLogicalAnd(a, b); });
74
+ })
75
+ .reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }),
76
+ ])), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
77
+ },
78
+ combiner: function (next) {
79
+ var initial = next.logic === "and"
80
+ ? typescript_1.default.factory.createTrue()
81
+ : typescript_1.default.factory.createFalse();
82
+ var binder = next.logic === "and"
83
+ ? typescript_1.default.factory.createLogicalAnd
84
+ : typescript_1.default.factory.createLogicalOr;
85
+ return next.binaries.length
86
+ ? next.binaries.map(function (binary) { return binary.expression; }).reduce(binder)
87
+ : initial;
88
+ },
89
+ joiner: {
90
+ object: ((_c = props.options) === null || _c === void 0 ? void 0 : _c.object) ||
91
+ (0, check_object_1.check_object)({
92
+ equals: !!((_d = props.options) === null || _d === void 0 ? void 0 : _d.object),
93
+ undefined: OptionPredicator_1.OptionPredicator.undefined({
94
+ undefined: (_e = props.options) === null || _e === void 0 ? void 0 : _e.undefined,
95
+ }),
96
+ assert: true,
97
+ reduce: typescript_1.default.factory.createLogicalAnd,
98
+ positive: typescript_1.default.factory.createTrue(),
99
+ superfluous: function () { return typescript_1.default.factory.createFalse(); },
100
+ })(props.context)(props.importer),
101
+ array: function (props) {
102
+ return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input)("every"), undefined, [props.arrow]);
77
103
  },
78
- combiner: function (next) {
79
- var initial = next.logic === "and"
80
- ? typescript_1.default.factory.createTrue()
81
- : typescript_1.default.factory.createFalse();
82
- var binder = next.logic === "and"
83
- ? typescript_1.default.factory.createLogicalAnd
84
- : typescript_1.default.factory.createLogicalOr;
85
- return next.binaries.length
86
- ? next.binaries.map(function (binary) { return binary.expression; }).reduce(binder)
87
- : initial;
88
- },
89
- joiner: {
90
- object: (options === null || options === void 0 ? void 0 : options.object) ||
91
- (0, check_object_1.check_object)({
92
- equals: !!(options === null || options === void 0 ? void 0 : options.object),
93
- undefined: OptionPredicator_1.OptionPredicator.undefined({
94
- undefined: options === null || options === void 0 ? void 0 : options.undefined,
95
- }),
96
- assert: true,
97
- reduce: typescript_1.default.factory.createLogicalAnd,
98
- positive: typescript_1.default.factory.createTrue(),
99
- superfluous: function () { return typescript_1.default.factory.createFalse(); },
100
- })(project)(importer),
101
- array: function (props) {
102
- return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input)("every"), undefined, [props.arrow]);
103
- },
104
- failure: function () { return typescript_1.default.factory.createFalse(); },
105
- },
106
- success: typescript_1.default.factory.createTrue(),
107
- }); };
108
- };
104
+ failure: function () { return typescript_1.default.factory.createFalse(); },
105
+ },
106
+ success: typescript_1.default.factory.createTrue(),
107
+ });
109
108
  };
110
109
  IsProgrammer.decompose = function (props) {
111
110
  // CONFIGURATION
112
111
  var config = __assign(__assign({}, IsProgrammer.configure({
113
- object: (0, check_object_1.check_object)({
114
- equals: props.config.equals,
115
- undefined: OptionPredicator_1.OptionPredicator.undefined(props.context.options),
116
- assert: true,
117
- reduce: typescript_1.default.factory.createLogicalAnd,
118
- positive: typescript_1.default.factory.createTrue(),
119
- superfluous: function () { return typescript_1.default.factory.createFalse(); },
120
- })(props.context)(props.importer),
121
- numeric: OptionPredicator_1.OptionPredicator.numeric(props.context.options),
122
- })(props.context)(props.importer)), { trace: props.config.equals });
112
+ options: {
113
+ object: (0, check_object_1.check_object)({
114
+ equals: props.config.equals,
115
+ undefined: OptionPredicator_1.OptionPredicator.undefined(props.context.options),
116
+ assert: true,
117
+ reduce: typescript_1.default.factory.createLogicalAnd,
118
+ positive: typescript_1.default.factory.createTrue(),
119
+ superfluous: function () { return typescript_1.default.factory.createFalse(); },
120
+ })(props.context)(props.importer),
121
+ numeric: OptionPredicator_1.OptionPredicator.numeric(props.context.options),
122
+ },
123
+ context: props.context,
124
+ importer: props.importer,
125
+ })), { trace: props.config.equals });
123
126
  // COMPOSITION
124
127
  var composed = CheckerProgrammer_1.CheckerProgrammer.compose(__assign(__assign({}, props), { config: config }));
125
128
  return {
@@ -144,7 +147,7 @@ var IsProgrammer;
144
147
  });
145
148
  };
146
149
  IsProgrammer.write_function_statements = function (props) {
147
- var config = IsProgrammer.configure()(props.context)(props.importer);
150
+ var config = IsProgrammer.configure(props);
148
151
  var next = __assign(__assign({}, props), { config: config });
149
152
  var objects = CheckerProgrammer_1.CheckerProgrammer.write_object_functions(next);
150
153
  var unions = CheckerProgrammer_1.CheckerProgrammer.write_union_functions(next);
@@ -166,7 +169,7 @@ var IsProgrammer;
166
169
  IsProgrammer.decode = function (props) {
167
170
  return CheckerProgrammer_1.CheckerProgrammer.decode({
168
171
  context: props.context,
169
- config: IsProgrammer.configure()(props.context)(props.importer),
172
+ config: IsProgrammer.configure(props),
170
173
  importer: props.importer,
171
174
  metadata: props.metadata,
172
175
  input: props.input,
@@ -175,7 +178,7 @@ var IsProgrammer;
175
178
  };
176
179
  IsProgrammer.decode_object = function (props) {
177
180
  return CheckerProgrammer_1.CheckerProgrammer.decode_object({
178
- config: IsProgrammer.configure()(props.context)(props.importer),
181
+ config: IsProgrammer.configure(props),
179
182
  importer: props.importer,
180
183
  object: props.object,
181
184
  input: props.input,