typia 7.0.0-dev.20240923 → 7.0.0-dev.20240928

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 (57) hide show
  1. package/lib/index.mjs +1 -0
  2. package/lib/index.mjs.map +1 -1
  3. package/lib/programmers/AssertProgrammer.d.ts +1 -1
  4. package/lib/programmers/AssertProgrammer.js +169 -127
  5. package/lib/programmers/AssertProgrammer.js.map +1 -1
  6. package/lib/programmers/CheckerProgrammer.d.ts +70 -15
  7. package/lib/programmers/CheckerProgrammer.js +998 -638
  8. package/lib/programmers/CheckerProgrammer.js.map +1 -1
  9. package/lib/programmers/FeatureProgrammer.d.ts +7 -3
  10. package/lib/programmers/FeatureProgrammer.js +17 -17
  11. package/lib/programmers/FeatureProgrammer.js.map +1 -1
  12. package/lib/programmers/IsProgrammer.d.ts +25 -4
  13. package/lib/programmers/IsProgrammer.js +54 -39
  14. package/lib/programmers/IsProgrammer.js.map +1 -1
  15. package/lib/programmers/ValidateProgrammer.js +110 -97
  16. package/lib/programmers/ValidateProgrammer.js.map +1 -1
  17. package/lib/programmers/helpers/UnionExplorer.d.ts +1 -1
  18. package/lib/programmers/json/JsonStringifyProgrammer.js +71 -38
  19. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  20. package/lib/programmers/llm/LlmApplicationProgrammer.js +16 -2
  21. package/lib/programmers/llm/LlmApplicationProgrammer.js.map +1 -1
  22. package/lib/programmers/misc/MiscCloneProgrammer.js +504 -406
  23. package/lib/programmers/misc/MiscCloneProgrammer.js.map +1 -1
  24. package/lib/programmers/misc/MiscLiteralsProgrammer.js +3 -3
  25. package/lib/programmers/misc/MiscLiteralsProgrammer.js.map +1 -1
  26. package/lib/programmers/misc/MiscPruneProgrammer.js +365 -301
  27. package/lib/programmers/misc/MiscPruneProgrammer.js.map +1 -1
  28. package/lib/programmers/notations/NotationGeneralProgrammer.js +62 -15
  29. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  30. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +17 -3
  31. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  32. package/lib/tags/Example.d.ts +14 -0
  33. package/lib/tags/Example.js +3 -0
  34. package/lib/tags/Example.js.map +1 -0
  35. package/lib/tags/Examples.d.ts +10 -0
  36. package/lib/tags/Examples.js +3 -0
  37. package/lib/tags/Examples.js.map +1 -0
  38. package/lib/tags/index.d.ts +2 -0
  39. package/lib/tags/index.js +2 -0
  40. package/lib/tags/index.js.map +1 -1
  41. package/package.json +2 -2
  42. package/src/programmers/AssertProgrammer.ts +185 -143
  43. package/src/programmers/CheckerProgrammer.ts +1380 -998
  44. package/src/programmers/FeatureProgrammer.ts +40 -34
  45. package/src/programmers/IsProgrammer.ts +94 -66
  46. package/src/programmers/ValidateProgrammer.ts +149 -137
  47. package/src/programmers/helpers/UnionExplorer.ts +1 -1
  48. package/src/programmers/json/JsonStringifyProgrammer.ts +60 -38
  49. package/src/programmers/llm/LlmApplicationProgrammer.ts +51 -32
  50. package/src/programmers/misc/MiscCloneProgrammer.ts +775 -600
  51. package/src/programmers/misc/MiscLiteralsProgrammer.ts +4 -4
  52. package/src/programmers/misc/MiscPruneProgrammer.ts +532 -415
  53. package/src/programmers/notations/NotationGeneralProgrammer.ts +64 -26
  54. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +16 -9
  55. package/src/tags/Example.ts +17 -0
  56. package/src/tags/Examples.ts +16 -0
  57. package/src/tags/index.ts +20 -18
@@ -12,8 +12,8 @@ export declare namespace AssertProgrammer {
12
12
  config: IConfig;
13
13
  }
14
14
  const decompose: (props: {
15
- context: ITypiaContext;
16
15
  config: IConfig;
16
+ context: ITypiaContext;
17
17
  importer: FunctionImporter;
18
18
  type: ts.Type;
19
19
  name: string | undefined;
@@ -63,19 +63,25 @@ var AssertProgrammer;
63
63
  trace: true,
64
64
  numeric: OptionPredicator_1.OptionPredicator.numeric(props.context.options),
65
65
  equals: props.config.equals,
66
- atomist: function (explore) { return function (entry) { return function (input) {
67
- return __spreadArray(__spreadArray([], __read((entry.expression ? [entry.expression] : [])), false), __read((entry.conditions.length === 0
66
+ atomist: function (next) {
67
+ return __spreadArray(__spreadArray([], __read((next.entry.expression ? [next.entry.expression] : [])), false), __read((next.entry.conditions.length === 0
68
68
  ? []
69
- : entry.conditions.length === 1
70
- ? entry.conditions[0].map(function (cond) {
71
- return typescript_1.default.factory.createLogicalOr(cond.expression, create_guard_call(props.importer)(explore.from === "top"
72
- ? typescript_1.default.factory.createTrue()
73
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(explore.postfix
74
- ? "_path + ".concat(explore.postfix)
75
- : "_path"), cond.expected, input));
69
+ : next.entry.conditions.length === 1
70
+ ? next.entry.conditions[0].map(function (cond) {
71
+ return typescript_1.default.factory.createLogicalOr(cond.expression, create_guard_call({
72
+ importer: props.importer,
73
+ exceptionable: next.explore.from === "top"
74
+ ? typescript_1.default.factory.createTrue()
75
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
76
+ path: typescript_1.default.factory.createIdentifier(next.explore.postfix
77
+ ? "_path + ".concat(next.explore.postfix)
78
+ : "_path"),
79
+ expected: cond.expected,
80
+ input: next.input,
81
+ }));
76
82
  })
77
83
  : [
78
- typescript_1.default.factory.createLogicalOr(entry.conditions
84
+ typescript_1.default.factory.createLogicalOr(next.entry.conditions
79
85
  .map(function (set) {
80
86
  return set
81
87
  .map(function (s) { return s.expression; })
@@ -83,15 +89,21 @@ var AssertProgrammer;
83
89
  return typescript_1.default.factory.createLogicalAnd(a, b);
84
90
  });
85
91
  })
86
- .reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }), create_guard_call(props.importer)(explore.from === "top"
87
- ? typescript_1.default.factory.createTrue()
88
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(explore.postfix
89
- ? "_path + ".concat(explore.postfix)
90
- : "_path"), entry.expected, input)),
92
+ .reduce(function (a, b) { return typescript_1.default.factory.createLogicalOr(a, b); }), create_guard_call({
93
+ importer: props.importer,
94
+ exceptionable: next.explore.from === "top"
95
+ ? typescript_1.default.factory.createTrue()
96
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
97
+ path: typescript_1.default.factory.createIdentifier(next.explore.postfix
98
+ ? "_path + ".concat(next.explore.postfix)
99
+ : "_path"),
100
+ expected: next.entry.expected,
101
+ input: next.input,
102
+ })),
91
103
  ])), false).reduce(function (x, y) { return typescript_1.default.factory.createLogicalAnd(x, y); });
92
- }; }; },
93
- combiner: combiner(props.config.equals)(props.context)(props.importer),
94
- joiner: joiner(props.config.equals)(props.context)(props.importer),
104
+ },
105
+ combiner: combiner(props),
106
+ joiner: joiner(props),
95
107
  success: typescript_1.default.factory.createTrue(),
96
108
  } }));
97
109
  var arrow = typescript_1.default.factory.createArrowFunction(undefined, undefined, [
@@ -131,120 +143,150 @@ var AssertProgrammer;
131
143
  result: result,
132
144
  });
133
145
  };
134
- var combiner = function (equals) {
135
- return function (project) {
136
- return function (importer) {
137
- return function (explore) {
138
- if (explore.tracable === false)
139
- return IsProgrammer_1.IsProgrammer.configure({
140
- object: assert_object(equals)(project)(importer),
141
- numeric: true,
142
- })(project)(importer).combiner(explore);
143
- var path = explore.postfix
144
- ? "_path + ".concat(explore.postfix)
145
- : "_path";
146
- return function (logic) { return function (input, binaries, expected) {
147
- return logic === "and"
148
- ? binaries
149
- .map(function (binary) {
150
- return binary.combined
151
- ? binary.expression
152
- : typescript_1.default.factory.createLogicalOr(binary.expression, create_guard_call(importer)(explore.source === "top"
153
- ? typescript_1.default.factory.createTrue()
154
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
155
- })
156
- .reduce(typescript_1.default.factory.createLogicalAnd)
157
- : typescript_1.default.factory.createLogicalOr(binaries
158
- .map(function (binary) { return binary.expression; })
159
- .reduce(typescript_1.default.factory.createLogicalOr), create_guard_call(importer)(explore.source === "top"
146
+ var combiner = function (props) {
147
+ return function (next) {
148
+ if (next.explore.tracable === false)
149
+ return IsProgrammer_1.IsProgrammer.configure({
150
+ object: function (v) {
151
+ return assert_object({
152
+ config: props.config,
153
+ context: props.context,
154
+ importer: props.importer,
155
+ entries: v.entries,
156
+ input: v.input,
157
+ });
158
+ },
159
+ numeric: true,
160
+ })(props.context)(props.importer).combiner(next);
161
+ var path = next.explore.postfix
162
+ ? "_path + ".concat(next.explore.postfix)
163
+ : "_path";
164
+ return next.logic === "and"
165
+ ? next.binaries
166
+ .map(function (binary) {
167
+ return binary.combined
168
+ ? binary.expression
169
+ : typescript_1.default.factory.createLogicalOr(binary.expression, create_guard_call({
170
+ importer: props.importer,
171
+ exceptionable: next.explore.source === "top"
160
172
  ? typescript_1.default.factory.createTrue()
161
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier(path), expected, input));
162
- }; };
163
- // : (() => {
164
- // const addicted = binaries.slice();
165
- // if (
166
- // addicted[addicted.length - 1]!.combined === false
167
- // ) {
168
- // addicted.push({
169
- // combined: true,
170
- // expression: create_guard_call(importer)(
171
- // explore.source === "top"
172
- // ? ts.factory.createTrue()
173
- // : ts.factory.createIdentifier(
174
- // "_exceptionable",
175
- // ),
176
- // )(
177
- // ts.factory.createIdentifier(path),
178
- // expected,
179
- // input,
180
- // ),
181
- // });
182
- // }
183
- // return addicted
184
- // .map((b) => b.expression)
185
- // .reduce(ts.factory.createLogicalOr);
186
- // })();
187
- };
188
- };
173
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
174
+ path: typescript_1.default.factory.createIdentifier(path),
175
+ expected: next.expected,
176
+ input: next.input,
177
+ }));
178
+ })
179
+ .reduce(typescript_1.default.factory.createLogicalAnd)
180
+ : typescript_1.default.factory.createLogicalOr(next.binaries
181
+ .map(function (binary) { return binary.expression; })
182
+ .reduce(typescript_1.default.factory.createLogicalOr), create_guard_call({
183
+ importer: props.importer,
184
+ exceptionable: next.explore.source === "top"
185
+ ? typescript_1.default.factory.createTrue()
186
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
187
+ path: typescript_1.default.factory.createIdentifier(path),
188
+ expected: next.expected,
189
+ input: next.input,
190
+ }));
191
+ // : (() => {
192
+ // const addicted = binaries.slice();
193
+ // if (
194
+ // addicted[addicted.length - 1]!.combined === false
195
+ // ) {
196
+ // addicted.push({
197
+ // combined: true,
198
+ // expression: create_guard_call(importer)(
199
+ // explore.source === "top"
200
+ // ? ts.factory.createTrue()
201
+ // : ts.factory.createIdentifier(
202
+ // "_exceptionable",
203
+ // ),
204
+ // )(
205
+ // ts.factory.createIdentifier(path),
206
+ // expected,
207
+ // input,
208
+ // ),
209
+ // });
210
+ // }
211
+ // return addicted
212
+ // .map((b) => b.expression)
213
+ // .reduce(ts.factory.createLogicalOr);
214
+ // })();
189
215
  };
190
216
  };
191
- var assert_object = function (equals) {
192
- return function (project) {
193
- return function (importer) {
194
- return (0, check_object_1.check_object)({
195
- equals: equals,
196
- assert: true,
197
- undefined: true,
198
- reduce: typescript_1.default.factory.createLogicalAnd,
199
- positive: typescript_1.default.factory.createTrue(),
200
- superfluous: function (value) {
201
- return create_guard_call(importer)()(typescript_1.default.factory.createAdd(typescript_1.default.factory.createIdentifier("_path"), typescript_1.default.factory.createCallExpression(importer.use("join"), undefined, [
202
- typescript_1.default.factory.createIdentifier("key"),
203
- ])), "undefined", value);
204
- },
205
- halt: function (expr) {
206
- return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("_exceptionable")), expr);
207
- },
208
- })(project)(importer);
209
- };
210
- };
217
+ var assert_object = function (props) {
218
+ return (0, check_object_1.check_object)({
219
+ equals: props.config.equals,
220
+ assert: true,
221
+ undefined: true,
222
+ reduce: typescript_1.default.factory.createLogicalAnd,
223
+ positive: typescript_1.default.factory.createTrue(),
224
+ superfluous: function (input) {
225
+ return create_guard_call({
226
+ importer: props.importer,
227
+ path: typescript_1.default.factory.createAdd(typescript_1.default.factory.createIdentifier("_path"), typescript_1.default.factory.createCallExpression(props.importer.use("join"), undefined, [typescript_1.default.factory.createIdentifier("key")])),
228
+ expected: "undefined",
229
+ input: input,
230
+ });
231
+ },
232
+ halt: function (expr) {
233
+ return typescript_1.default.factory.createLogicalOr(typescript_1.default.factory.createStrictEquality(typescript_1.default.factory.createFalse(), typescript_1.default.factory.createIdentifier("_exceptionable")), expr);
234
+ },
235
+ })(props.context)(props.importer)({
236
+ input: props.input,
237
+ entries: props.entries,
238
+ });
211
239
  };
212
- var joiner = function (equals) {
213
- return function (project) {
214
- return function (importer) { return ({
215
- object: assert_object(equals)(project)(importer),
216
- array: function (props) {
217
- return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input)("every"), undefined, [props.arrow]);
218
- },
219
- failure: function (value, expected, explore) {
220
- return create_guard_call(importer)((explore === null || explore === void 0 ? void 0 : explore.from) === "top"
240
+ var joiner = function (props) { return ({
241
+ object: function (next) {
242
+ return assert_object({
243
+ config: props.config,
244
+ context: props.context,
245
+ importer: props.importer,
246
+ entries: next.entries,
247
+ input: next.input,
248
+ });
249
+ },
250
+ array: function (props) {
251
+ return typescript_1.default.factory.createCallExpression(IdentifierFactory_1.IdentifierFactory.access(props.input)("every"), undefined, [props.arrow]);
252
+ },
253
+ failure: function (next) {
254
+ var _a, _b;
255
+ return create_guard_call({
256
+ importer: props.importer,
257
+ exceptionable: ((_a = next.explore) === null || _a === void 0 ? void 0 : _a.from) === "top"
258
+ ? typescript_1.default.factory.createTrue()
259
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
260
+ path: typescript_1.default.factory.createIdentifier(((_b = next.explore) === null || _b === void 0 ? void 0 : _b.postfix) ? "_path + ".concat(next.explore.postfix) : "_path"),
261
+ expected: next.expected,
262
+ input: next.input,
263
+ });
264
+ },
265
+ full: props.config.equals
266
+ ? undefined
267
+ : function (next) {
268
+ return typescript_1.default.factory.createLogicalOr(next.condition, create_guard_call({
269
+ importer: props.importer,
270
+ exceptionable: next.explore.from === "top"
221
271
  ? typescript_1.default.factory.createTrue()
222
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier((explore === null || explore === void 0 ? void 0 : explore.postfix) ? "_path + ".concat(explore.postfix) : "_path"), expected, value);
223
- },
224
- full: equals
225
- ? undefined
226
- : function (condition) { return function (input, expected, explore) {
227
- return typescript_1.default.factory.createLogicalOr(condition, create_guard_call(importer)(explore.from === "top"
228
- ? typescript_1.default.factory.createTrue()
229
- : typescript_1.default.factory.createIdentifier("_exceptionable"))(typescript_1.default.factory.createIdentifier("_path"), expected, input));
230
- }; },
231
- }); };
232
- };
233
- };
234
- var create_guard_call = function (importer) {
235
- return function (exceptionable) {
236
- return function (path, expected, value) {
237
- return typescript_1.default.factory.createCallExpression(importer.use("guard"), undefined, [
238
- exceptionable !== null && exceptionable !== void 0 ? exceptionable : typescript_1.default.factory.createIdentifier("_exceptionable"),
239
- typescript_1.default.factory.createObjectLiteralExpression([
240
- typescript_1.default.factory.createPropertyAssignment("path", path),
241
- typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(expected)),
242
- typescript_1.default.factory.createPropertyAssignment("value", value),
243
- ], true),
244
- typescript_1.default.factory.createIdentifier("_errorFactory"),
245
- ]);
246
- };
247
- };
272
+ : typescript_1.default.factory.createIdentifier("_exceptionable"),
273
+ path: typescript_1.default.factory.createIdentifier("_path"),
274
+ expected: next.expected,
275
+ input: next.input,
276
+ }));
277
+ },
278
+ }); };
279
+ var create_guard_call = function (props) {
280
+ var _a;
281
+ return typescript_1.default.factory.createCallExpression(props.importer.use("guard"), undefined, [
282
+ (_a = props.exceptionable) !== null && _a !== void 0 ? _a : typescript_1.default.factory.createIdentifier("_exceptionable"),
283
+ typescript_1.default.factory.createObjectLiteralExpression([
284
+ typescript_1.default.factory.createPropertyAssignment("path", props.path),
285
+ typescript_1.default.factory.createPropertyAssignment("expected", typescript_1.default.factory.createStringLiteral(props.expected)),
286
+ typescript_1.default.factory.createPropertyAssignment("value", props.input),
287
+ ], true),
288
+ typescript_1.default.factory.createIdentifier("_errorFactory"),
289
+ ]);
248
290
  };
249
291
  var Guardian;
250
292
  (function (Guardian) {
@@ -1 +1 @@
1
- {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AssertProgrammer.js","sourceRoot":"","sources":["../../src/programmers/AssertProgrammer.ts"],"names":[],"mappings":"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"}
@@ -17,32 +17,47 @@ export declare namespace CheckerProgrammer {
17
17
  addition?: () => ts.Statement[];
18
18
  decoder?: () => FeatureProgrammer.Decoder<Metadata, ts.Expression>;
19
19
  combiner: IConfig.Combiner;
20
- atomist: (explore: IExplore) => (check: ICheckEntry) => (input: ts.Expression) => ts.Expression;
20
+ atomist: (props: {
21
+ entry: ICheckEntry;
22
+ input: ts.Expression;
23
+ explore: IExplore;
24
+ }) => ts.Expression;
21
25
  joiner: IConfig.IJoiner;
22
26
  success: ts.Expression;
23
27
  }
24
28
  namespace IConfig {
25
29
  interface Combiner {
26
- (explorer: IExplore): {
27
- (logic: "and" | "or"): {
28
- (input: ts.Expression, binaries: IBinary[], expected: string): ts.Expression;
29
- };
30
- };
30
+ (props: {
31
+ explore: IExplore;
32
+ logic: "and" | "or";
33
+ input: ts.Expression;
34
+ binaries: IBinary[];
35
+ expected: string;
36
+ }): ts.Expression;
31
37
  }
32
38
  interface IJoiner {
33
39
  object(props: {
34
40
  input: ts.Expression;
35
- entries: IExpressionEntry[];
41
+ entries: IExpressionEntry<ts.Expression>[];
36
42
  }): ts.Expression;
37
43
  array(props: {
38
44
  input: ts.Expression;
39
45
  arrow: ts.ArrowFunction;
40
46
  }): ts.Expression;
41
47
  tuple?: undefined | ((exprs: ts.Expression[]) => ts.Expression);
42
- failure(value: ts.Expression, expected: string, explore?: undefined | FeatureProgrammer.IExplore): ts.Expression;
48
+ failure(props: {
49
+ input: ts.Expression;
50
+ expected: string;
51
+ explore?: undefined | FeatureProgrammer.IExplore;
52
+ }): ts.Expression;
43
53
  is?(expression: ts.Expression): ts.Expression;
44
54
  required?(exp: ts.Expression): ts.Expression;
45
- full?: undefined | ((condition: ts.Expression) => (input: ts.Expression, expected: string, explore: IExplore) => ts.Expression);
55
+ full?: undefined | ((props: {
56
+ condition: ts.Expression;
57
+ input: ts.Expression;
58
+ expected: string;
59
+ explore: IExplore;
60
+ }) => ts.Expression);
46
61
  }
47
62
  }
48
63
  type IExplore = FeatureProgrammer.IExplore;
@@ -57,10 +72,50 @@ export declare namespace CheckerProgrammer {
57
72
  type: ts.Type;
58
73
  name: string | undefined;
59
74
  }) => FeatureProgrammer.IComposed;
60
- const write: (project: ITypiaContext) => (config: IConfig) => (importer: FunctionImporter) => (type: ts.Type, name?: string) => ts.ArrowFunction;
61
- const write_object_functions: (project: ITypiaContext) => (config: IConfig) => (importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
62
- const write_union_functions: (project: ITypiaContext) => (config: IConfig) => (importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
63
- const write_array_functions: (project: ITypiaContext) => (config: IConfig) => (importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
64
- const write_tuple_functions: (project: ITypiaContext) => (config: IConfig) => (importer: FunctionImporter) => (collection: MetadataCollection) => ts.VariableStatement[];
65
- const decode_object: (config: IConfig) => (importer: FunctionImporter) => (input: ts.Expression, obj: MetadataObject, explore: IExplore) => ts.CallExpression;
75
+ const write: (props: {
76
+ context: ITypiaContext;
77
+ config: IConfig;
78
+ importer: FunctionImporter;
79
+ type: ts.Type;
80
+ name?: string;
81
+ }) => ts.ArrowFunction;
82
+ const write_object_functions: (props: {
83
+ context: ITypiaContext;
84
+ config: IConfig;
85
+ importer: FunctionImporter;
86
+ collection: MetadataCollection;
87
+ }) => ts.VariableStatement[];
88
+ const write_union_functions: (props: {
89
+ context: ITypiaContext;
90
+ config: IConfig;
91
+ importer: FunctionImporter;
92
+ collection: MetadataCollection;
93
+ }) => ts.VariableStatement[];
94
+ const write_array_functions: (props: {
95
+ context: ITypiaContext;
96
+ config: IConfig;
97
+ importer: FunctionImporter;
98
+ collection: MetadataCollection;
99
+ }) => ts.VariableStatement[];
100
+ const write_tuple_functions: (props: {
101
+ context: ITypiaContext;
102
+ config: IConfig;
103
+ importer: FunctionImporter;
104
+ collection: MetadataCollection;
105
+ }) => ts.VariableStatement[];
106
+ const decode: (props: {
107
+ context: ITypiaContext;
108
+ config: IConfig;
109
+ importer: FunctionImporter;
110
+ input: ts.Expression;
111
+ metadata: Metadata;
112
+ explore: IExplore;
113
+ }) => ts.Expression;
114
+ const decode_object: (props: {
115
+ config: IConfig;
116
+ importer: FunctionImporter;
117
+ object: MetadataObject;
118
+ input: ts.Expression;
119
+ explore: IExplore;
120
+ }) => ts.CallExpression;
66
121
  }