typia 3.7.0-dev.20230402 → 3.7.1-dev.20230405

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 (72) hide show
  1. package/README.md +3 -3
  2. package/lib/IRandomGenerator.d.ts +11 -0
  3. package/lib/factories/IdentifierFactory.d.ts +1 -1
  4. package/lib/factories/IdentifierFactory.js +10 -2
  5. package/lib/factories/IdentifierFactory.js.map +1 -1
  6. package/lib/metadata/ICommentTag.d.ts +4 -0
  7. package/lib/metadata/ICommentTag.js +3 -0
  8. package/lib/metadata/ICommentTag.js.map +1 -0
  9. package/lib/programmers/RandomProgrammer.d.ts +1 -1
  10. package/lib/programmers/RandomProgrammer.js +95 -82
  11. package/lib/programmers/RandomProgrammer.js.map +1 -1
  12. package/lib/programmers/helpers/RandomJoiner.d.ts +4 -3
  13. package/lib/programmers/helpers/RandomJoiner.js +10 -7
  14. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  15. package/lib/programmers/helpers/RandomRanger.d.ts +1 -1
  16. package/lib/programmers/internal/application_native.d.ts +1 -4
  17. package/lib/programmers/internal/application_native.js.map +1 -1
  18. package/lib/programmers/internal/check_array.js +2 -1
  19. package/lib/programmers/internal/check_array.js.map +1 -1
  20. package/lib/programmers/internal/check_array_length.js +20 -23
  21. package/lib/programmers/internal/check_array_length.js.map +1 -1
  22. package/lib/programmers/internal/check_custom.d.ts +1 -5
  23. package/lib/programmers/internal/check_custom.js +5 -15
  24. package/lib/programmers/internal/check_custom.js.map +1 -1
  25. package/lib/programmers/internal/check_number.js.map +1 -1
  26. package/lib/programmers/internal/check_object.d.ts +1 -13
  27. package/lib/programmers/internal/check_object.js.map +1 -1
  28. package/lib/programmers/internal/check_union_array_like.d.ts +1 -21
  29. package/lib/programmers/internal/check_union_array_like.js.map +1 -1
  30. package/lib/programmers/internal/feature_object_entries.d.ts +1 -10
  31. package/lib/programmers/internal/feature_object_entries.js.map +1 -1
  32. package/lib/programmers/internal/get_comment_tags.d.ts +1 -0
  33. package/lib/programmers/internal/get_comment_tags.js +25 -0
  34. package/lib/programmers/internal/get_comment_tags.js.map +1 -0
  35. package/lib/programmers/internal/metadata_to_pattern.d.ts +1 -2
  36. package/lib/programmers/internal/metadata_to_pattern.js.map +1 -1
  37. package/lib/programmers/internal/random_custom.d.ts +1 -0
  38. package/lib/programmers/internal/random_custom.js +20 -0
  39. package/lib/programmers/internal/random_custom.js.map +1 -0
  40. package/lib/programmers/internal/stringify_dynamic_properties.js.map +1 -1
  41. package/lib/programmers/internal/stringify_regular_properties.js.map +1 -1
  42. package/lib/transformers/CallExpressionTransformer.js +2 -2
  43. package/lib/transformers/CallExpressionTransformer.js.map +1 -1
  44. package/lib/transformers/features/miscellaneous/{CreateRandomGenerator.js → CreateRandomTransformer.js} +3 -3
  45. package/lib/transformers/features/miscellaneous/CreateRandomTransformer.js.map +1 -0
  46. package/lib/typings/Customizable.d.ts +0 -1
  47. package/package.json +1 -1
  48. package/src/IRandomGenerator.ts +16 -0
  49. package/src/factories/IdentifierFactory.ts +13 -5
  50. package/src/factories/MetadataTagFactory.ts +6 -6
  51. package/src/metadata/ICommentTag.ts +4 -0
  52. package/src/programmers/RandomProgrammer.ts +125 -100
  53. package/src/programmers/helpers/RandomJoiner.ts +19 -7
  54. package/src/programmers/helpers/RandomRanger.ts +1 -1
  55. package/src/programmers/internal/application_native.ts +3 -0
  56. package/src/programmers/internal/check_array.ts +5 -1
  57. package/src/programmers/internal/check_array_length.ts +5 -10
  58. package/src/programmers/internal/check_custom.ts +21 -29
  59. package/src/programmers/internal/check_number.ts +3 -0
  60. package/src/programmers/internal/check_object.ts +7 -0
  61. package/src/programmers/internal/check_union_array_like.ts +7 -0
  62. package/src/programmers/internal/feature_object_entries.ts +3 -0
  63. package/src/programmers/internal/get_comment_tags.ts +23 -0
  64. package/src/programmers/internal/metadata_to_pattern.ts +3 -0
  65. package/src/programmers/internal/random_custom.ts +30 -0
  66. package/src/programmers/internal/stringify_dynamic_properties.ts +3 -0
  67. package/src/programmers/internal/stringify_regular_properties.ts +3 -0
  68. package/src/transformers/CallExpressionTransformer.ts +1 -1
  69. package/src/transformers/features/miscellaneous/{CreateRandomGenerator.ts → CreateRandomTransformer.ts} +1 -0
  70. package/src/typings/Customizable.ts +0 -1
  71. package/lib/transformers/features/miscellaneous/CreateRandomGenerator.js.map +0 -1
  72. /package/lib/transformers/features/miscellaneous/{CreateRandomGenerator.d.ts → CreateRandomTransformer.d.ts} +0 -0
package/README.md CHANGED
@@ -10,7 +10,7 @@
10
10
  export function is<T>(input: unknown | T): input is T; // returns boolean
11
11
  export function assert<T>(input: unknown | T): T; // throws TypeGuardError
12
12
  export function validate<T>(input: unknown | T): IValidation<T>; // detailed
13
- export const customValidators: CustomValidator; // can add custom validators
13
+ export const customValidators: CustomValidatorMap; // can add custom validators
14
14
 
15
15
  // STRICT VALIDATORS
16
16
  export function equals<T>(input: unknown | T): input is T;
@@ -25,7 +25,7 @@ export function assertStringify<T>(input: T): string; // safe and faster
25
25
  // +) stringify, isStringify, validateStringify
26
26
 
27
27
  // MISC
28
- export function random<T>(): Primitive<T>; // generate random data
28
+ export function random<T>(g?: IRandomGenerator): Primitive<T>; // random data
29
29
  export function clone<T>(input: T): Primitive<T>; // deep clone
30
30
  export function prune<T extends object>(input: T): void; // erase extra props
31
31
  // +) isClone, assertClone, validateClone
@@ -202,7 +202,7 @@ export function createAssertEquals<T>(): (input: unknown) => T;
202
202
  export function createValidateEquals<T>(): (input: unknown) => IValidation<T>;
203
203
 
204
204
  // YOU CAN ADD CUSTOM VALIDATORS
205
- export const customValidators: CustomValidators;
205
+ export const customValidators: CustomValidatorMap;
206
206
  ```
207
207
 
208
208
  `typia` supports three type of validator functions:
@@ -1,3 +1,4 @@
1
+ import { Customizable } from "./typings/Customizable";
1
2
  export interface IRandomGenerator {
2
3
  boolean(): boolean;
3
4
  integer(minimum?: number, maximum?: number): number;
@@ -13,4 +14,14 @@ export interface IRandomGenerator {
13
14
  pattern(regex: RegExp): string;
14
15
  date(minimum?: number, maximum?: number): string;
15
16
  datetime(minimum?: number, maximum?: number): string;
17
+ customs?: IRandomGenerator.CustomMap;
18
+ }
19
+ export declare namespace IRandomGenerator {
20
+ type CustomMap = {
21
+ [Type in keyof Customizable]?: (tags: ICommentTag[]) => Customizable[Type] | undefined;
22
+ };
23
+ interface ICommentTag {
24
+ name: string;
25
+ value?: string;
26
+ }
16
27
  }
@@ -3,5 +3,5 @@ export declare namespace IdentifierFactory {
3
3
  function generate(name: string): ts.Identifier | ts.StringLiteral;
4
4
  function join(prefix: ts.Expression, name: string): ts.ElementAccessExpression | ts.PropertyAccessExpression;
5
5
  function postfix(str: string): string;
6
- function parameter(name: string | ts.BindingName, type?: ts.TypeNode, init?: ts.Expression): ts.ParameterDeclaration;
6
+ function parameter(name: string | ts.BindingName, type?: ts.TypeNode, init?: ts.Expression | ts.PunctuationToken<ts.SyntaxKind.QuestionToken>): ts.ParameterDeclaration;
7
7
  }
@@ -29,8 +29,16 @@ var IdentifierFactory;
29
29
  IdentifierFactory.postfix = postfix;
30
30
  function parameter(name, type, init) {
31
31
  if (typescript_1.default.version >= "4.8")
32
- return typescript_1.default.factory.createParameterDeclaration(undefined, undefined, name, undefined, type, init);
33
- return typescript_1.default.factory.createParameterDeclaration(undefined, undefined, undefined, name, undefined, type, init);
32
+ return typescript_1.default.factory.createParameterDeclaration(undefined, undefined, name, (init === null || init === void 0 ? void 0 : init.kind) === typescript_1.default.SyntaxKind.QuestionToken
33
+ ? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)
34
+ : undefined, type, init && init.kind !== typescript_1.default.SyntaxKind.QuestionToken
35
+ ? init
36
+ : undefined);
37
+ return typescript_1.default.factory.createParameterDeclaration(undefined, undefined, undefined, name, (init === null || init === void 0 ? void 0 : init.kind) === typescript_1.default.SyntaxKind.QuestionToken
38
+ ? typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)
39
+ : undefined, type, init && init.kind !== typescript_1.default.SyntaxKind.QuestionToken
40
+ ? init
41
+ : undefined);
34
42
  }
35
43
  IdentifierFactory.parameter = parameter;
36
44
  })(IdentifierFactory = exports.IdentifierFactory || (exports.IdentifierFactory = {}));
@@ -1 +1 @@
1
- {"version":3,"file":"IdentifierFactory.js","sourceRoot":"","sources":["../../src/factories/IdentifierFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,4CAA2C;AAE3C,IAAiB,iBAAiB,CAoEjC;AApED,WAAiB,iBAAiB;IAC9B,SAAgB,QAAQ,CAAC,IAAY;QACjC,OAAO,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAJe,0BAAQ,WAIvB,CAAA;IAED,SAAgB,IAAI,CAAC,MAAqB,EAAE,IAAY;QACpD,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,oBAAE,CAAC,eAAe,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC;YAC3D,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IALe,sBAAI,OAKnB,CAAA;IAED,SAAgB,OAAO,CAAC,GAAW;QAC/B,OAAO,iBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxB,CAAC,CAAC,aAAK,GAAG,OAAG;YACb,CAAC,CAAC,aAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAI,CAAC;IAC9D,CAAC;IAJe,yBAAO,UAItB,CAAA;IAED,SAAgB,SAAS,CACrB,IAA6B,EAC7B,IAAkB,EAClB,IAAoB;QAEpB,IAAI,oBAAE,CAAC,OAAO,IAAI,KAAK;YACnB,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CACxC,SAAS,EACT,SAAS,EACT,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,CACP,CAAC;QAEN,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CACxC,SAAS,EACT,SAAS,EACT,SAAS,EACT,IAAI,EACJ,SAAS,EACT,IAAI,EACJ,IAAI,CACP,CAAC;IACN,CAAC;IAxBe,2BAAS,YAwBxB,CAAA;AAwBL,CAAC,EApEgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QAoEjC"}
1
+ {"version":3,"file":"IdentifierFactory.js","sourceRoot":"","sources":["../../src/factories/IdentifierFactory.ts"],"names":[],"mappings":";;;;;;AAAA,0DAA4B;AAE5B,4CAA2C;AAE3C,IAAiB,iBAAiB,CA4EjC;AA5ED,WAAiB,iBAAiB;IAC9B,SAAgB,QAAQ,CAAC,IAAY;QACjC,OAAO,iBAAO,CAAC,QAAQ,CAAC,IAAI,CAAC;YACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC;YACnC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC;IAC/C,CAAC;IAJe,0BAAQ,WAIvB,CAAA;IAED,SAAgB,IAAI,CAAC,MAAqB,EAAE,IAAY;QACpD,IAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC/B,OAAO,oBAAE,CAAC,eAAe,CAAC,OAAO,CAAC;YAC9B,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CAAC,MAAM,EAAE,OAAO,CAAC;YAC3D,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,8BAA8B,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;IALe,sBAAI,OAKnB,CAAA;IAED,SAAgB,OAAO,CAAC,GAAW;QAC/B,OAAO,iBAAO,CAAC,QAAQ,CAAC,GAAG,CAAC;YACxB,CAAC,CAAC,aAAK,GAAG,OAAG;YACb,CAAC,CAAC,aAAK,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,QAAI,CAAC;IAC9D,CAAC;IAJe,yBAAO,UAItB,CAAA;IAED,SAAgB,SAAS,CACrB,IAA6B,EAC7B,IAAkB,EAClB,IAAuE;QAEvE,IAAI,oBAAE,CAAC,OAAO,IAAI,KAAK;YACnB,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CACxC,SAAS,EACT,SAAS,EACT,IAAI,EACJ,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;gBACtC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;gBACrD,CAAC,CAAC,SAAS,EACf,IAAI,EACJ,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;gBAC7C,CAAC,CAAC,IAAI;gBACN,CAAC,CAAC,SAAS,CAClB,CAAC;QAEN,OAAO,oBAAE,CAAC,OAAO,CAAC,0BAA0B,CACxC,SAAS,EACT,SAAS,EACT,SAAS,EACT,IAAI,EACJ,CAAA,IAAI,aAAJ,IAAI,uBAAJ,IAAI,CAAE,IAAI,MAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;YACtC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,WAAW,CAAC,oBAAE,CAAC,UAAU,CAAC,aAAa,CAAC;YACrD,CAAC,CAAC,SAAS,EACf,IAAI,EACJ,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,oBAAE,CAAC,UAAU,CAAC,aAAa;YAC7C,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,SAAS,CAClB,CAAC;IACN,CAAC;IAhCe,2BAAS,YAgCxB,CAAA;AAwBL,CAAC,EA5EgB,iBAAiB,GAAjB,yBAAiB,KAAjB,yBAAiB,QA4EjC"}
@@ -0,0 +1,4 @@
1
+ export interface ICommentTag {
2
+ name: string;
3
+ value?: string;
4
+ }
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=ICommentTag.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ICommentTag.js","sourceRoot":"","sources":["../../src/metadata/ICommentTag.ts"],"names":[],"mappings":""}
@@ -1,5 +1,5 @@
1
1
  import ts from "typescript";
2
2
  import { IProject } from "../transformers/IProject";
3
3
  export declare namespace RandomProgrammer {
4
- function generate(project: IProject, modulo: ts.LeftHandSideExpression): (type: ts.Type, name?: string) => ts.ArrowFunction;
4
+ function generate(project: IProject, modulo: ts.LeftHandSideExpression, init?: ts.Expression): (type: ts.Type, name?: string) => ts.ArrowFunction;
5
5
  }
@@ -51,9 +51,10 @@ var TypeFactory_1 = require("../factories/TypeFactory");
51
51
  var FunctionImporeter_1 = require("./helpers/FunctionImporeter");
52
52
  var RandomJoiner_1 = require("./helpers/RandomJoiner");
53
53
  var RandomRanger_1 = require("./helpers/RandomRanger");
54
+ var random_custom_1 = require("./internal/random_custom");
54
55
  var RandomProgrammer;
55
56
  (function (RandomProgrammer) {
56
- function generate(project, modulo) {
57
+ function generate(project, modulo, init) {
57
58
  var importer = new FunctionImporeter_1.FunctionImporter();
58
59
  return function (type, name) {
59
60
  var collection = new MetadataCollection_1.MetadataCollection();
@@ -65,9 +66,9 @@ var RandomProgrammer;
65
66
  var output = decode(importer)({
66
67
  object: false,
67
68
  recursive: false,
68
- })(meta, []);
69
+ })(meta, [], []);
69
70
  return typescript_1.default.factory.createArrowFunction(undefined, undefined, [
70
- IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial<typia.IRandomGenerator>"), IdentifierFactory_1.IdentifierFactory.join(typescript_1.default.factory.createParenthesizedExpression(typescript_1.default.factory.createAsExpression(modulo, TypeFactory_1.TypeFactory.keyword("any"))), "generator")),
71
+ IdentifierFactory_1.IdentifierFactory.parameter("generator", typescript_1.default.factory.createTypeReferenceNode("Partial<typia.IRandomGenerator>"), init !== null && init !== void 0 ? init : typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionToken)),
71
72
  ], typescript_1.default.factory.createTypeReferenceNode("typia.Primitive<".concat(name !== null && name !== void 0 ? name : TypeFactory_1.TypeFactory.getFullName(project.checker, type), ">")), undefined, typescript_1.default.factory.createBlock(__spreadArray(__spreadArray(__spreadArray([], __read(importer.declare(modulo)), false), __read(functors), false), [
72
73
  typescript_1.default.factory.createReturnStatement(output),
73
74
  ], false), true));
@@ -87,7 +88,7 @@ var RandomProgrammer;
87
88
  }; };
88
89
  var decode = function (importer) {
89
90
  return function (explore) {
90
- return function (meta, tags) {
91
+ return function (meta, tags, comments) {
91
92
  var e_1, _a, e_2, _b, e_3, _c, e_4, _d, e_5, _e, e_6, _f, e_7, _g, e_8, _h;
92
93
  var expressions = [];
93
94
  if (meta.any)
@@ -140,11 +141,11 @@ var RandomProgrammer;
140
141
  if (atomic === "boolean")
141
142
  expressions.push(decode_boolean(importer));
142
143
  else if (atomic === "number")
143
- expressions.push(decode_number(importer)(tags));
144
+ expressions.push(decode_number(importer)(tags)(comments));
144
145
  else if (atomic === "string")
145
- expressions.push(decode_string(importer)(tags));
146
+ expressions.push(decode_string(importer)(tags)(comments));
146
147
  else if (atomic === "bigint")
147
- expressions.push(decode_bigint(importer)(tags));
148
+ expressions.push(decode_bigint(importer)(tags)(comments));
148
149
  }
149
150
  }
150
151
  catch (e_4_1) { e_4 = { error: e_4_1 }; }
@@ -155,11 +156,11 @@ var RandomProgrammer;
155
156
  finally { if (e_4) throw e_4.error; }
156
157
  }
157
158
  if (meta.resolved)
158
- expressions.push(decode(importer)(explore)(meta.resolved, tags));
159
+ expressions.push(decode(importer)(explore)(meta.resolved, tags, comments));
159
160
  try {
160
161
  for (var _s = __values(meta.tuples), _t = _s.next(); !_t.done; _t = _s.next()) {
161
162
  var t = _t.value;
162
- expressions.push(RandomJoiner_1.RandomJoiner.tuple(decode(importer)(explore))(t, tags));
163
+ expressions.push(RandomJoiner_1.RandomJoiner.tuple(decode(importer)(explore))(t, tags, comments));
163
164
  }
164
165
  }
165
166
  catch (e_5_1) { e_5 = { error: e_5_1 }; }
@@ -172,7 +173,7 @@ var RandomProgrammer;
172
173
  try {
173
174
  for (var _u = __values(meta.arrays), _v = _u.next(); !_v.done; _v = _u.next()) {
174
175
  var a = _v.value;
175
- var array = RandomJoiner_1.RandomJoiner.array(COALESCE(importer))(decode(importer)(explore))(a, tags);
176
+ var array = RandomJoiner_1.RandomJoiner.array(COALESCE(importer))(decode(importer)(explore))(a, tags, comments);
176
177
  expressions.push(explore.recursive && a.objects.length
177
178
  ? typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createLogicalAnd(typescript_1.default.factory.createIdentifier("_recursive"), typescript_1.default.factory.createLessThan(typescript_1.default.factory.createNumericLiteral(5), typescript_1.default.factory.createIdentifier("_depth"))), undefined, typescript_1.default.factory.createIdentifier("[]"), undefined, array)
178
179
  : array);
@@ -211,9 +212,9 @@ var RandomProgrammer;
211
212
  if (native === "Boolean")
212
213
  expressions.push(decode_boolean(importer));
213
214
  else if (native === "Number")
214
- expressions.push(decode_number(importer)(tags));
215
+ expressions.push(decode_number(importer)(tags)(comments));
215
216
  else if (native === "String")
216
- expressions.push(decode_string(importer)(tags));
217
+ expressions.push(decode_string(importer)(tags)(comments));
217
218
  else
218
219
  expressions.push(typescript_1.default.factory.createIdentifier("{}"));
219
220
  }
@@ -252,93 +253,105 @@ var RandomProgrammer;
252
253
  var decode_template = function (importer) {
253
254
  return function (explore) {
254
255
  return function (template) {
255
- return TemplateFactory_1.TemplateFactory.generate(template.map(function (meta) { return decode(importer)(explore)(meta, []); }));
256
+ return TemplateFactory_1.TemplateFactory.generate(template.map(function (meta) { return decode(importer)(explore)(meta, [], []); }));
256
257
  };
257
258
  };
258
259
  };
259
260
  var decode_number = function (importer) {
260
261
  return function (tags) {
261
- var type = tags.find(function (t) { return t.kind === "type" && t.value === "uint"; })
262
- ? "int"
263
- : tags.find(function (t) { return t.kind === "type" && t.value === "int"; })
264
- ? "uint"
265
- : "double";
266
- return RandomRanger_1.RandomRanger.number({
267
- type: type,
268
- transform: function (value) { return typescript_1.default.factory.createNumericLiteral(value); },
269
- setter: function (args) {
270
- return typescript_1.default.factory.createCallExpression(type === "double" &&
271
- tags.every(function (t) {
272
- return t.kind !== "multipleOf" &&
273
- t.kind !== "step";
274
- })
275
- ? COALESCE(importer)("number")
276
- : COALESCE(importer)("integer"), undefined, args.map(function (val) { return typescript_1.default.factory.createNumericLiteral(val); }));
277
- },
278
- })({
279
- minimum: 0,
280
- maximum: 100,
281
- gap: 10,
282
- })(tags);
262
+ return function (comments) {
263
+ var type = tags.find(function (t) { return t.kind === "type" && t.value === "uint"; })
264
+ ? "int"
265
+ : tags.find(function (t) { return t.kind === "type" && t.value === "int"; })
266
+ ? "uint"
267
+ : "double";
268
+ return (0, random_custom_1.random_custom)(COALESCE(importer))("number")(comments)(RandomRanger_1.RandomRanger.number({
269
+ type: type,
270
+ transform: function (value) {
271
+ return typescript_1.default.factory.createNumericLiteral(value);
272
+ },
273
+ setter: function (args) {
274
+ return typescript_1.default.factory.createCallExpression(type === "double" &&
275
+ tags.every(function (t) {
276
+ return t.kind !== "multipleOf" &&
277
+ t.kind !== "step";
278
+ })
279
+ ? COALESCE(importer)("number")
280
+ : COALESCE(importer)("integer"), undefined, args.map(function (val) {
281
+ return typescript_1.default.factory.createNumericLiteral(val);
282
+ }));
283
+ },
284
+ })({
285
+ minimum: 0,
286
+ maximum: 100,
287
+ gap: 10,
288
+ })(tags));
289
+ };
283
290
  };
284
291
  };
285
292
  var decode_bigint = function (importer) {
286
293
  return function (tags) {
287
- return RandomRanger_1.RandomRanger.number({
288
- type: tags.find(function (t) { return t.kind === "type" && t.value === "uint"; })
289
- ? "uint"
290
- : "int",
291
- transform: function (value) {
292
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [typescript_1.default.factory.createStringLiteral(value.toString())]);
293
- },
294
- setter: function (args) {
295
- return typescript_1.default.factory.createCallExpression(COALESCE(importer)("bigint"), undefined, args.map(function (value) {
296
- return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [
297
- typescript_1.default.factory.createStringLiteral(value.toString()),
298
- ]);
299
- }));
300
- },
301
- })({
302
- minimum: 0,
303
- maximum: 100,
304
- gap: 10,
305
- })(tags);
294
+ return function (comments) {
295
+ return (0, random_custom_1.random_custom)(COALESCE(importer))("bigint")(comments)(RandomRanger_1.RandomRanger.number({
296
+ type: tags.find(function (t) { return t.kind === "type" && t.value === "uint"; })
297
+ ? "uint"
298
+ : "int",
299
+ transform: function (value) {
300
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [typescript_1.default.factory.createStringLiteral(value.toString())]);
301
+ },
302
+ setter: function (args) {
303
+ return typescript_1.default.factory.createCallExpression(COALESCE(importer)("bigint"), undefined, args.map(function (value) {
304
+ return typescript_1.default.factory.createCallExpression(typescript_1.default.factory.createIdentifier("BigInt"), undefined, [
305
+ typescript_1.default.factory.createStringLiteral(value.toString()),
306
+ ]);
307
+ }));
308
+ },
309
+ })({
310
+ minimum: 0,
311
+ maximum: 100,
312
+ gap: 10,
313
+ })(tags));
314
+ };
306
315
  };
307
316
  };
308
317
  var decode_string = function (importer) {
309
318
  return function (tags) {
310
- var e_9, _a;
311
- try {
312
- for (var tags_1 = __values(tags), tags_1_1 = tags_1.next(); !tags_1_1.done; tags_1_1 = tags_1.next()) {
313
- var t = tags_1_1.value;
314
- if (t.kind === "format")
315
- return typescript_1.default.factory.createCallExpression(COALESCE(importer)(t.value), undefined, undefined);
316
- else if (t.kind === "pattern")
317
- return typescript_1.default.factory.createCallExpression(COALESCE(importer)("pattern"), undefined, [typescript_1.default.factory.createIdentifier("/".concat(t.value, "/"))]);
318
- }
319
- }
320
- catch (e_9_1) { e_9 = { error: e_9_1 }; }
321
- finally {
322
- try {
323
- if (tags_1_1 && !tags_1_1.done && (_a = tags_1.return)) _a.call(tags_1);
324
- }
325
- finally { if (e_9) throw e_9.error; }
326
- }
327
- var tail = RandomRanger_1.RandomRanger.length(COALESCE(importer))({
328
- minimum: 5,
329
- maximum: 25,
330
- gap: 5,
331
- })({
332
- fixed: "length",
333
- minimum: "minLength",
334
- maximum: "maxLength",
335
- })(tags);
336
- return typescript_1.default.factory.createCallExpression(COALESCE(importer)("string"), undefined, tail ? [tail] : undefined);
319
+ return function (comments) {
320
+ return (0, random_custom_1.random_custom)(COALESCE(importer))("string")(comments)((function () {
321
+ var e_9, _a;
322
+ try {
323
+ for (var tags_1 = __values(tags), tags_1_1 = tags_1.next(); !tags_1_1.done; tags_1_1 = tags_1.next()) {
324
+ var t = tags_1_1.value;
325
+ if (t.kind === "format")
326
+ return typescript_1.default.factory.createCallExpression(COALESCE(importer)(t.value), undefined, undefined);
327
+ else if (t.kind === "pattern")
328
+ return typescript_1.default.factory.createCallExpression(COALESCE(importer)("pattern"), undefined, [typescript_1.default.factory.createIdentifier("/".concat(t.value, "/"))]);
329
+ }
330
+ }
331
+ catch (e_9_1) { e_9 = { error: e_9_1 }; }
332
+ finally {
333
+ try {
334
+ if (tags_1_1 && !tags_1_1.done && (_a = tags_1.return)) _a.call(tags_1);
335
+ }
336
+ finally { if (e_9) throw e_9.error; }
337
+ }
338
+ var tail = RandomRanger_1.RandomRanger.length(COALESCE(importer))({
339
+ minimum: 5,
340
+ maximum: 25,
341
+ gap: 5,
342
+ })({
343
+ fixed: "length",
344
+ minimum: "minLength",
345
+ maximum: "maxLength",
346
+ })(tags);
347
+ return typescript_1.default.factory.createCallExpression(COALESCE(importer)("string"), undefined, tail ? [tail] : undefined);
348
+ })());
349
+ };
337
350
  };
338
351
  };
339
352
  })(RandomProgrammer = exports.RandomProgrammer || (exports.RandomProgrammer = {}));
340
353
  var FUNCTOR = function (i) { return "$ro".concat(i); };
341
354
  var COALESCE = function (importer) { return function (name) {
342
- return ExpressionFactory_1.ExpressionFactory.coalesce(typescript_1.default.factory.createIdentifier("generator.".concat(name)), IdentifierFactory_1.IdentifierFactory.join(importer.use("generator"), name));
355
+ return ExpressionFactory_1.ExpressionFactory.coalesce(typescript_1.default.factory.createPropertyAccessChain(typescript_1.default.factory.createIdentifier("generator"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createIdentifier(name)), IdentifierFactory_1.IdentifierFactory.join(importer.use("generator"), name));
343
356
  }; };
344
357
  //# sourceMappingURL=RandomProgrammer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"RandomProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RandomProgrammer.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA4B;AAE5B,oEAAmE;AACnE,oEAAmE;AACnE,sEAAqE;AACrE,gEAA+D;AAC/D,kEAAiE;AACjE,gEAA+D;AAC/D,wDAAuD;AAOvD,iEAA+D;AAC/D,uDAAsD;AACtD,uDAAsD;AAEtD,IAAiB,gBAAgB,CAmWhC;AAnWD,WAAiB,gBAAgB;IAC7B,SAAgB,QAAQ,CACpB,OAAiB,EACjB,MAAiC;QAEjC,IAAM,QAAQ,GAAqB,IAAI,oCAAgB,EAAE,CAAC;QAC1D,OAAO,UAAC,IAAa,EAAE,IAAa;YAEhC,IAAM,UAAU,GAAuB,IAAI,uCAAkB,EAAE,CAAC;YAChE,IAAM,IAAI,GAAa,iCAAe,CAAC,QAAQ,CAC3C,OAAO,CAAC,OAAO,EACf,UAAU,EACV,IAAI,EACJ;gBACI,OAAO,EAAE,IAAI;gBACb,QAAQ,EAAE,IAAI;aACjB,CACJ,CAAC;YAGF,IAAM,QAAQ,GACV,iBAAiB,CAAC,QAAQ,CAAC,CAAC,UAAU,CAAC,CAAC;YAC5C,IAAM,MAAM,GAAkB,MAAM,CAAC,QAAQ,CAAC,CAAC;gBAC3C,MAAM,EAAE,KAAK;gBACb,SAAS,EAAE,KAAK;aACnB,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;YAEb,OAAO,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CACjC,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,WAAW,EACX,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,iCAAiC,CACpC,EACD,qCAAiB,CAAC,IAAI,CAClB,oBAAE,CAAC,OAAO,CAAC,6BAA6B,CACpC,oBAAE,CAAC,OAAO,CAAC,kBAAkB,CACzB,MAAM,EACN,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,CAC7B,CACJ,EACD,WAAW,CACd,CACJ;aACJ,EACD,oBAAE,CAAC,OAAO,CAAC,uBAAuB,CAC9B,0BACI,IAAI,aAAJ,IAAI,cAAJ,IAAI,GAAI,yBAAW,CAAC,WAAW,CAAC,OAAO,CAAC,OAAO,EAAE,IAAI,CAAC,MACvD,CACN,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,WAAW,sDAEX,QAAQ,CAAC,OAAO,CAAC,MAAM,CAAC,kBACxB,QAAQ;gBACX,oBAAE,CAAC,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC;uBAE5C,IAAI,CACP,CACJ,CAAC;QACN,CAAC,CAAC;IACN,CAAC;IA9De,yBAAQ,WA8DvB,CAAA;IAED,IAAM,iBAAiB,GACnB,UAAC,QAA0B,IAAK,OAAA,UAAC,UAA8B;QAC3D,OAAA,UAAU,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,CAAC;YAC5B,OAAA,mCAAgB,CAAC,QAAQ,CACrB,OAAO,CAAC,CAAC,CAAC,EACV,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT;gBACI,qCAAiB,CAAC,SAAS,CACvB,YAAY,EACZ,yBAAW,CAAC,OAAO,CAAC,SAAS,CAAC,EAC9B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CACxB,CACJ;gBACD,qCAAiB,CAAC,SAAS,CACvB,QAAQ,EACR,yBAAW,CAAC,OAAO,CAAC,QAAQ,CAAC,EAC7B,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CACrC;aACJ,EACD,yBAAW,CAAC,OAAO,CAAC,KAAK,CAAC,EAC1B,SAAS,EACT,2BAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CACnC,MAAM,CAAC,QAAQ,CAAC,CAAC;gBACb,SAAS,EAAE,GAAG,CAAC,SAAS;gBACxB,MAAM,EAAE,IAAI;aACf,CAAC,CACL,CAAC,GAAG,CAAC,CACT,CACJ;QA5BD,CA4BC,CACJ;IA9BD,CA8BC,EA/B2B,CA+B3B,CAAC;IAKV,IAAM,MAAM,GACR,UAAC,QAA0B;QAC3B,OAAA,UAAC,OAAiB;YAClB,OAAA,UAAC,IAAc,EAAE,IAAoB;;gBACjC,IAAM,WAAW,GAAoB,EAAE,CAAC;gBACxC,IAAI,IAAI,CAAC,GAAG;oBACR,WAAW,CAAC,IAAI,CACZ,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,4BAA4B,CAC/B,CACJ,CAAC;gBAGN,IAAI,IAAI,CAAC,QAAQ,KAAK,KAAK;oBACvB,WAAW,CAAC,IAAI,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAW,CAAC,CAAC,CAAC;gBAC/D,IAAI,IAAI,CAAC,QAAQ,KAAK,IAAI;oBACtB,WAAW,CAAC,IAAI,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;;oBAG9C,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA;wBAAhC,IAAM,QAAQ,WAAA;;4BACf,KAAoB,IAAA,oBAAA,SAAA,QAAQ,CAAC,MAAM,CAAA,CAAA,gBAAA;gCAA9B,IAAM,KAAK,WAAA;gCACZ,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC,CAAC;6BAAA;;;;;;;;;qBAAA;;;;;;;;;;oBAC/C,KAAuB,IAAA,KAAA,SAAA,IAAI,CAAC,SAAS,CAAA,gBAAA;wBAAhC,IAAM,QAAQ,WAAA;wBACf,WAAW,CAAC,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC;qBAAA;;;;;;;;;;oBACnE,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;wBAA5B,IAAM,MAAM,WAAA;wBACb,IAAI,MAAM,KAAK,SAAS;4BACpB,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;6BAC1C,IAAI,MAAM,KAAK,QAAQ;4BACxB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;6BAC/C,IAAI,MAAM,KAAK,QAAQ;4BACxB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;6BAC/C,IAAI,MAAM,KAAK,QAAQ;4BACxB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;qBAAA;;;;;;;;;gBAGxD,IAAI,IAAI,CAAC,QAAQ;oBACb,WAAW,CAAC,IAAI,CACZ,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,CACjD,CAAC;;oBACN,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA;wBAAtB,IAAM,CAAC,WAAA;wBACR,WAAW,CAAC,IAAI,CACZ,2BAAY,CAAC,KAAK,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CACzD,CAAC;qBAAA;;;;;;;;;;oBACN,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,MAAM,CAAA,gBAAA,4BAAE;wBAAxB,IAAM,CAAC,WAAA;wBACR,IAAM,KAAK,GAAG,2BAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAChD,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAC5B,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;wBACX,WAAW,CAAC,IAAI,CACZ,OAAO,CAAC,SAAS,IAAI,CAAC,CAAC,OAAO,CAAC,MAAM;4BACjC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,oBAAE,CAAC,OAAO,CAAC,cAAc,CACrB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC,CACJ,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,EACjC,SAAS,EACT,KAAK,CACR;4BACH,CAAC,CAAC,KAAK,CACd,CAAC;qBACL;;;;;;;;;;oBACD,KAAgB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;wBAAvB,IAAM,CAAC,WAAA;wBACR,WAAW,CAAC,IAAI,CACZ,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,EAC7C,SAAS,EACT,OAAO,CAAC,MAAM;4BACV,CAAC,CAAC;gCACI,OAAO,CAAC,SAAS;oCACb,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,UAAU,EAAE;oCACzB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CACvB,YAAY,CACf;gCACP,oBAAE,CAAC,OAAO,CAAC,2BAA2B,CAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,YAAY,CAAC,EACzC,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,SAAS,CAChB,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAClC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC,EACD,SAAS,EACT,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CACxC;6BACJ;4BACH,CAAC,CAAC,SAAS,CAClB,CACJ,CAAC;qBAAA;;;;;;;;;;oBACN,KAAqB,IAAA,KAAA,SAAA,IAAI,CAAC,OAAO,CAAA,gBAAA;wBAA5B,IAAM,MAAM,WAAA;wBACb,IAAI,MAAM,KAAK,SAAS;4BACpB,WAAW,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC,CAAC;6BAC1C,IAAI,MAAM,KAAK,QAAQ;4BACxB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;6BAC/C,IAAI,MAAM,KAAK,QAAQ;4BACxB,WAAW,CAAC,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;;4BAC/C,WAAW,CAAC,IAAI,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;qBAAA;;;;;;;;;gBAC7D,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,IAAI,CAAC,MAAM;oBACpC,WAAW,CAAC,IAAI,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,CAAC;gBAGxD,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;oBAAE,OAAO,WAAW,CAAC,CAAC,CAAE,CAAC;gBACrD,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EACpB,SAAS,EACT;oBACI,oBAAE,CAAC,OAAO,CAAC,4BAA4B,CACnC,WAAW,CAAC,GAAG,CAAC,UAAC,IAAI;wBACjB,OAAA,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,SAAS,EACT,SAAS,EACT,EAAE,EACF,SAAS,EACT,SAAS,EACT,IAAI,CACP;oBAPD,CAOC,CACJ,EACD,IAAI,CACP;iBACJ,CACJ,EACD,SAAS,EACT,SAAS,CACZ,CAAC;YACN,CAAC;QA5HD,CA4HC;IA7HD,CA6HC,CAAC;IAEN,IAAM,cAAc,GAAG,UAAC,QAA0B;QAC9C,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAC7B,SAAS,EACT,SAAS,CACZ;IAJD,CAIC,CAAC;IAEN,IAAM,aAAa,GAAG,UAAC,KAAa;QAChC,OAAA,OAAO,KAAK,KAAK,SAAS;YACtB,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;YAC/C,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;gBAC3B,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC;gBACxC,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ;oBAC3B,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC;oBACvC,CAAC,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;IANtD,CAMsD,CAAC;IAE3D,IAAM,eAAe,GACjB,UAAC,QAA0B;QAC3B,OAAA,UAAC,OAAiB;YAClB,OAAA,UAAC,QAAoB;gBACjB,OAAA,iCAAe,CAAC,QAAQ,CACpB,QAAQ,CAAC,GAAG,CAAC,UAAC,IAAI,IAAK,OAAA,MAAM,CAAC,QAAQ,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAnC,CAAmC,CAAC,CAC9D;YAFD,CAEC;QAHL,CAGK;IAJL,CAIK,CAAC;IAEV,IAAM,aAAa,GACf,UAAC,QAA0B;QAC3B,OAAA,UAAC,IAAoB;YACjB,IAAM,IAAI,GAAG,IAAI,CAAC,IAAI,CAClB,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAvC,CAAuC,CACjD;gBACG,CAAC,CAAC,KAAK;gBACP,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,KAAK,EAAtC,CAAsC,CAAC;oBAC1D,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,QAAQ,CAAC;YACf,OAAO,2BAAY,CAAC,MAAM,CAAC;gBACvB,IAAI,MAAA;gBACJ,SAAS,EAAE,UAAC,KAAK,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,EAAtC,CAAsC;gBAC5D,MAAM,EAAE,UAAC,IAAI;oBACT,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,IAAI,KAAK,QAAQ;wBACb,IAAI,CAAC,KAAK,CACN,UAAC,CAAC;4BACE,OAAA,CAAC,CAAC,IAAI,KAAK,YAAY;gCACvB,CAAC,CAAC,IAAI,KAAK,MAAM;wBADjB,CACiB,CACxB;wBACD,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC;wBAC9B,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EACnC,SAAS,EACT,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,IAAK,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAAC,GAAG,CAAC,EAApC,CAAoC,CAAC,CAC1D;gBAXD,CAWC;aACR,CAAC,CAAC;gBACC,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;gBACZ,GAAG,EAAE,EAAE;aACV,CAAC,CAAC,IAAI,CAAC,CAAC;QACb,CAAC;IA7BD,CA6BC,CAAC;IAEN,IAAM,aAAa,GACf,UAAC,QAA0B;QAC3B,OAAA,UAAC,IAAoB;YACjB,OAAA,2BAAY,CAAC,MAAM,CAAC;gBAChB,IAAI,EAAE,IAAI,CAAC,IAAI,CAAC,UAAC,CAAC,IAAK,OAAA,CAAC,CAAC,IAAI,KAAK,MAAM,IAAI,CAAC,CAAC,KAAK,KAAK,MAAM,EAAvC,CAAuC,CAAC;oBAC3D,CAAC,CAAC,MAAM;oBACR,CAAC,CAAC,KAAK;gBACX,SAAS,EAAE,UAAC,KAAK;oBACb,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,CACrD;gBAJD,CAIC;gBACL,MAAM,EAAE,UAAC,IAAI;oBACT,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAC5B,SAAS,EACT,IAAI,CAAC,GAAG,CAAC,UAAC,KAAK;wBACX,OAAA,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAC3B,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,QAAQ,CAAC,EACrC,SAAS,EACT;4BACI,oBAAE,CAAC,OAAO,CAAC,mBAAmB,CAC1B,KAAK,CAAC,QAAQ,EAAE,CACnB;yBACJ,CACJ;oBARD,CAQC,CACJ,CACJ;gBAdD,CAcC;aACR,CAAC,CAAC;gBACC,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,GAAG;gBACZ,GAAG,EAAE,EAAE;aACV,CAAC,CAAC,IAAI,CAAC;QA9BR,CA8BQ;IA/BZ,CA+BY,CAAC;IAEjB,IAAM,aAAa,GACf,UAAC,QAA0B;QAC3B,OAAA,UAAC,IAAoB;;;gBACjB,KAAgB,IAAA,SAAA,SAAA,IAAI,CAAA,0BAAA;oBAAf,IAAM,CAAC,iBAAA;oBACR,IAAI,CAAC,CAAC,IAAI,KAAK,QAAQ;wBACnB,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,EAC3B,SAAS,EACT,SAAS,CACZ,CAAC;yBACD,IAAI,CAAC,CAAC,IAAI,KAAK,SAAS;wBACzB,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,QAAQ,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,EAC7B,SAAS,EACT,CAAC,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,WAAI,CAAC,CAAC,KAAK,MAAG,CAAC,CAAC,CAChD,CAAC;iBAAA;;;;;;;;;YAEV,IAAM,IAAI,GAAG,2BAAY,CAAC,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC;gBACjD,OAAO,EAAE,CAAC;gBACV,OAAO,EAAE,EAAE;gBACX,GAAG,EAAE,CAAC;aACT,CAAC,CAAC;gBACC,KAAK,EAAE,QAAQ;gBACf,OAAO,EAAE,WAAW;gBACpB,OAAO,EAAE,WAAW;aACvB,CAAC,CAAC,IAAI,CAAC,CAAC;YACT,OAAO,oBAAE,CAAC,OAAO,CAAC,oBAAoB,CAClC,QAAQ,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,EAC5B,SAAS,EACT,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,CAC5B,CAAC;QACN,CAAC;IA7BD,CA6BC,CAAC;AACV,CAAC,EAnWgB,gBAAgB,GAAhB,wBAAgB,KAAhB,wBAAgB,QAmWhC;AAQD,IAAM,OAAO,GAAG,UAAC,CAAS,IAAK,OAAA,aAAM,CAAC,CAAE,EAAT,CAAS,CAAC;AACzC,IAAM,QAAQ,GAAG,UAAC,QAA0B,IAAK,OAAA,UAAC,IAAY;IAC1D,OAAA,qCAAiB,CAAC,QAAQ,CACtB,oBAAE,CAAC,OAAO,CAAC,gBAAgB,CAAC,oBAAa,IAAI,CAAE,CAAC,EAChD,qCAAiB,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,IAAI,CAAC,CAC1D;AAHD,CAGC,EAJ4C,CAI5C,CAAC"}
1
+ {"version":3,"file":"RandomProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RandomProgrammer.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,11 @@
1
1
  import ts from "typescript";
2
+ import { ICommentTag } from "../../metadata/ICommentTag";
2
3
  import { IMetadataTag } from "../../metadata/IMetadataTag";
3
4
  import { Metadata } from "../../metadata/Metadata";
4
5
  import { MetadataObject } from "../../metadata/MetadataObject";
5
6
  export declare namespace RandomJoiner {
6
- type Decoder = (meta: Metadata, tags: IMetadataTag[]) => ts.Expression;
7
- const array: (coalesce: (method: string) => ts.Expression) => (decoder: Decoder) => (item: Metadata, tags: IMetadataTag[]) => ts.CallExpression;
8
- const tuple: (decoder: Decoder) => (items: Metadata[], tags: IMetadataTag[]) => ts.ArrayLiteralExpression;
7
+ type Decoder = (meta: Metadata, tags: IMetadataTag[], comments: ICommentTag[]) => ts.Expression;
8
+ const array: (coalesce: (method: string) => ts.Expression) => (decoder: Decoder) => (item: Metadata, tags: IMetadataTag[], comments: ICommentTag[]) => ts.CallExpression;
9
+ const tuple: (decoder: Decoder) => (items: Metadata[], tags: IMetadataTag[], comments: ICommentTag[]) => ts.ArrayLiteralExpression;
9
10
  const object: (coalesce: (method: string) => ts.Expression) => (decoder: Decoder) => (obj: MetadataObject) => ts.ConciseBody;
10
11
  }
@@ -33,12 +33,13 @@ var typescript_1 = __importDefault(require("typescript"));
33
33
  var StatementFactory_1 = require("../../factories/StatementFactory");
34
34
  var TypeFactory_1 = require("../../factories/TypeFactory");
35
35
  var Escaper_1 = require("../../utils/Escaper");
36
+ var get_comment_tags_1 = require("../internal/get_comment_tags");
36
37
  var RandomRanger_1 = require("./RandomRanger");
37
38
  var RandomJoiner;
38
39
  (function (RandomJoiner) {
39
40
  RandomJoiner.array = function (coalesce) {
40
41
  return function (decoder) {
41
- return function (item, tags) {
42
+ return function (item, tags, comments) {
42
43
  var tail = RandomRanger_1.RandomRanger.length(coalesce)({
43
44
  minimum: 0,
44
45
  maximum: 3,
@@ -49,14 +50,16 @@ var RandomJoiner;
49
50
  maximum: "maxItems",
50
51
  })(tags);
51
52
  return typescript_1.default.factory.createCallExpression(coalesce("array"), undefined, __spreadArray([
52
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, decoder(item, tags))
53
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, decoder(item, tags, comments))
53
54
  ], __read((tail ? [tail] : [])), false));
54
55
  };
55
56
  };
56
57
  };
57
- RandomJoiner.tuple = function (decoder) { return function (items, tags) {
58
- return typescript_1.default.factory.createArrayLiteralExpression(items.map(function (i) { var _a; return decoder((_a = i.rest) !== null && _a !== void 0 ? _a : i, tags); }), true);
59
- }; };
58
+ RandomJoiner.tuple = function (decoder) {
59
+ return function (items, tags, comments) {
60
+ return typescript_1.default.factory.createArrayLiteralExpression(items.map(function (i) { var _a; return decoder((_a = i.rest) !== null && _a !== void 0 ? _a : i, tags, comments); }), true);
61
+ };
62
+ };
60
63
  RandomJoiner.object = function (coalesce) {
61
64
  return function (decoder) {
62
65
  return function (obj) {
@@ -68,7 +71,7 @@ var RandomJoiner;
68
71
  var str = p.key.getSoleLiteral();
69
72
  return typescript_1.default.factory.createPropertyAssignment(Escaper_1.Escaper.variable(str)
70
73
  ? str
71
- : typescript_1.default.factory.createStringLiteral(str), decoder(p.value, p.tags));
74
+ : typescript_1.default.factory.createStringLiteral(str), decoder(p.value, p.tags, (0, get_comment_tags_1.get_comment_tags)(false)(p.jsDocTags)));
72
75
  }), true);
73
76
  if (dynamic.length === 0)
74
77
  return literal;
@@ -91,7 +94,7 @@ var RandomJoiner;
91
94
  return function (decoder) {
92
95
  return function (p) {
93
96
  return typescript_1.default.factory.createCallExpression(coalesce("array"), undefined, [
94
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createElementAccessExpression(typescript_1.default.factory.createIdentifier("output"), decoder(p.key, [])), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), decoder(p.value, p.tags))),
97
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, typescript_1.default.factory.createBinaryExpression(typescript_1.default.factory.createElementAccessExpression(typescript_1.default.factory.createIdentifier("output"), decoder(p.key, [], [])), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), decoder(p.value, p.tags, (0, get_comment_tags_1.get_comment_tags)(false)(p.jsDocTags)))),
95
98
  typescript_1.default.factory.createCallExpression(coalesce("integer"), undefined, [
96
99
  typescript_1.default.factory.createNumericLiteral(0),
97
100
  typescript_1.default.factory.createNumericLiteral(3),
@@ -1 +1 @@
1
- {"version":3,"file":"RandomJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/RandomJoiner.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RandomJoiner.js","sourceRoot":"","sources":["../../../src/programmers/helpers/RandomJoiner.ts"],"names":[],"mappings":"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"}
@@ -6,7 +6,7 @@ export declare namespace RandomRanger {
6
6
  maximum: number;
7
7
  gap: number;
8
8
  }
9
- const length: (coalesce: (method: string) => ts.Expression) => (defs: IDefaults) => (acc: length.IAccessors) => (tags: IMetadataTag[]) => ts.NumericLiteral | ts.CallExpression | undefined;
9
+ const length: (coalesce: (method: string) => ts.Expression) => (defs: IDefaults) => (acc: length.IAccessors) => (tags: IMetadataTag[]) => ts.Expression | undefined;
10
10
  namespace length {
11
11
  interface IAccessors {
12
12
  minimum: IMetadataTag["kind"];
@@ -1,4 +1 @@
1
- import { IJsonComponents } from "../../schemas/IJsonComponents";
2
- import { IJsonSchema } from "../../module";
3
- import { ApplicationProgrammer } from "../ApplicationProgrammer";
4
- export declare const application_native: (options: ApplicationProgrammer.IOptions) => (components: IJsonComponents) => (name: string) => (nullable: boolean, attribute: IJsonSchema.IAttribute) => IJsonSchema.IReference;
1
+ export {};
@@ -1 +1 @@
1
- {"version":3,"file":"application_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_native.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAKO,IAAM,kBAAkB,GAC3B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,IAAY;YACb,OAAA,UACI,QAAiB,EACjB,SAAiC;gBAEjC,IAAM,GAAG,GAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;oBACrC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;wBACtB,IAAI,EAAE,QAAQ;wBACd,GAAG,EACC,OAAO,CAAC,OAAO,KAAK,KAAK;4BACrB,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG;4BAC5B,CAAC,CAAC,SAAS;wBACnB,UAAU,EAAE,EAAE;wBACd,QAAQ,UAAA;qBACX,CAAC;gBACN,kBACI,IAAI,EAAE,+BAAwB,IAAI,CAAE,IACjC,SAAS,EACd;YACN,CAAC;QAnBD,CAmBC;IApBD,CAoBC;AArBD,CAqBC,CAAC;AAvBO,QAAA,kBAAkB,sBAuBzB"}
1
+ {"version":3,"file":"application_native.js","sourceRoot":"","sources":["../../../src/programmers/internal/application_native.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAQO,IAAM,kBAAkB,GAC3B,UAAC,OAAuC;IACxC,OAAA,UAAC,UAA2B;QAC5B,OAAA,UAAC,IAAY;YACb,OAAA,UACI,QAAiB,EACjB,SAAiC;gBAEjC,IAAM,GAAG,GAAW,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;gBACzD,IAAI,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,SAAS;oBACrC,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG;wBACtB,IAAI,EAAE,QAAQ;wBACd,GAAG,EACC,OAAO,CAAC,OAAO,KAAK,KAAK;4BACrB,CAAC,CAAC,OAAO,CAAC,MAAM,GAAG,GAAG,GAAG,GAAG;4BAC5B,CAAC,CAAC,SAAS;wBACnB,UAAU,EAAE,EAAE;wBACd,QAAQ,UAAA;qBACX,CAAC;gBACN,kBACI,IAAI,EAAE,+BAAwB,IAAI,CAAE,IACjC,SAAS,EACd;YACN,CAAC;QAnBD,CAmBC;IApBD,CAoBC;AArBD,CAqBC,CAAC;AAvBO,QAAA,kBAAkB,sBAuBzB"}
@@ -27,6 +27,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
27
27
  Object.defineProperty(exports, "__esModule", { value: true });
28
28
  exports.check_array = void 0;
29
29
  var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
30
+ var IdentifierFactory_1 = require("../../factories/IdentifierFactory");
30
31
  var check_array_length_1 = require("./check_array_length");
31
32
  var check_custom_1 = require("./check_custom");
32
33
  var check_array = function (importer) {
@@ -34,7 +35,7 @@ var check_array = function (importer) {
34
35
  return function (jsDocTags) {
35
36
  return function (input) { return ({
36
37
  expression: ExpressionFactory_1.ExpressionFactory.isArray(input),
37
- tags: __spreadArray(__spreadArray([], __read((0, check_array_length_1.check_array_length)(metaTags)(input)), false), __read((0, check_custom_1.check_custom)("array", "Array")(importer)(jsDocTags)(input)), false),
38
+ tags: __spreadArray(__spreadArray([], __read((0, check_array_length_1.check_array_length)(metaTags)(IdentifierFactory_1.IdentifierFactory.join(input, "length"))), false), __read((0, check_custom_1.check_custom)("array", "Array")(importer)(jsDocTags)(input)), false),
38
39
  }); };
39
40
  };
40
41
  };
@@ -1 +1 @@
1
- {"version":3,"file":"check_array.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uEAAsE;AAOtE,2DAA0D;AAC1D,+CAA8C;AAKvC,IAAM,WAAW,GACpB,UAAC,QAA0B;IAC3B,OAAA,UAAC,QAAwB;QACzB,OAAA,UAAC,SAA0B;YAC3B,OAAA,UAAC,KAAoB,IAAkB,OAAA,CAAC;gBACpC,UAAU,EAAE,qCAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5C,IAAI,yCACG,IAAA,uCAAkB,EAAC,QAAQ,CAAC,CAAC,KAAK,CAAC,kBACnC,IAAA,2BAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAChE;aACJ,CAAC,EANqC,CAMrC;QANF,CAME;IAPF,CAOE;AARF,CAQE,CAAC;AAVM,QAAA,WAAW,eAUjB"}
1
+ {"version":3,"file":"check_array.js","sourceRoot":"","sources":["../../../src/programmers/internal/check_array.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEA,uEAAsE;AACtE,uEAAsE;AAOtE,2DAA0D;AAC1D,+CAA8C;AAKvC,IAAM,WAAW,GACpB,UAAC,QAA0B;IAC3B,OAAA,UAAC,QAAwB;QACzB,OAAA,UAAC,SAA0B;YAC3B,OAAA,UAAC,KAAoB,IAAkB,OAAA,CAAC;gBACpC,UAAU,EAAE,qCAAiB,CAAC,OAAO,CAAC,KAAK,CAAC;gBAC5C,IAAI,yCACG,IAAA,uCAAkB,EAAC,QAAQ,CAAC,CAC3B,qCAAiB,CAAC,IAAI,CAAC,KAAK,EAAE,QAAQ,CAAC,CAC1C,kBACE,IAAA,2BAAY,EAAC,OAAO,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,CAAC,SAAS,CAAC,CAAC,KAAK,CAAC,SAEhE;aACJ,CAAC,EATqC,CASrC;QATF,CASE;IAVF,CAUE;AAXF,CAWE,CAAC;AAbM,QAAA,WAAW,eAajB"}