typia 7.0.0-dev.20240920 → 7.0.0-dev.20240922

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 (31) hide show
  1. package/lib/programmers/RandomProgrammer.js +557 -493
  2. package/lib/programmers/RandomProgrammer.js.map +1 -1
  3. package/lib/programmers/helpers/RandomJoiner.d.ts +17 -3
  4. package/lib/programmers/helpers/RandomJoiner.js +53 -63
  5. package/lib/programmers/helpers/RandomJoiner.js.map +1 -1
  6. package/lib/programmers/helpers/RandomRanger.d.ts +11 -2
  7. package/lib/programmers/helpers/RandomRanger.js +134 -113
  8. package/lib/programmers/helpers/RandomRanger.js.map +1 -1
  9. package/lib/programmers/helpers/StringifyJoinder.d.ts +2 -1
  10. package/lib/programmers/helpers/StringifyJoinder.js +27 -31
  11. package/lib/programmers/helpers/StringifyJoinder.js.map +1 -1
  12. package/lib/programmers/json/JsonStringifyProgrammer.js +33 -27
  13. package/lib/programmers/json/JsonStringifyProgrammer.js.map +1 -1
  14. package/lib/programmers/notations/NotationGeneralProgrammer.js +355 -369
  15. package/lib/programmers/notations/NotationGeneralProgrammer.js.map +1 -1
  16. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js +264 -239
  17. package/lib/programmers/protobuf/ProtobufDecodeProgrammer.js.map +1 -1
  18. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js +424 -368
  19. package/lib/programmers/protobuf/ProtobufEncodeProgrammer.js.map +1 -1
  20. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js +106 -85
  21. package/lib/programmers/protobuf/ProtobufMessageProgrammer.js.map +1 -1
  22. package/package.json +1 -1
  23. package/src/programmers/RandomProgrammer.ts +758 -595
  24. package/src/programmers/helpers/RandomJoiner.ts +121 -110
  25. package/src/programmers/helpers/RandomRanger.ts +160 -113
  26. package/src/programmers/helpers/StringifyJoinder.ts +45 -43
  27. package/src/programmers/json/JsonStringifyProgrammer.ts +67 -58
  28. package/src/programmers/notations/NotationGeneralProgrammer.ts +610 -528
  29. package/src/programmers/protobuf/ProtobufDecodeProgrammer.ts +421 -358
  30. package/src/programmers/protobuf/ProtobufEncodeProgrammer.ts +752 -613
  31. package/src/programmers/protobuf/ProtobufMessageProgrammer.ts +96 -63
@@ -1 +1 @@
1
- {"version":3,"file":"RandomProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RandomProgrammer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RandomProgrammer.js","sourceRoot":"","sources":["../../src/programmers/RandomProgrammer.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,23 @@ import { Metadata } from "../../schemas/metadata/Metadata";
3
3
  import { MetadataObject } from "../../schemas/metadata/MetadataObject";
4
4
  export declare namespace RandomJoiner {
5
5
  type Decoder = (meta: Metadata) => ts.Expression;
6
- const array: (coalesce: (method: string) => ts.Expression) => (decoder: Decoder) => (explore: IExplore) => (length: ts.Expression | undefined, unique: ts.Expression | undefined) => (item: Metadata) => ts.Expression;
7
- const tuple: (decoder: Decoder) => (elements: Metadata[]) => ts.ArrayLiteralExpression;
8
- const object: (coalesce: (method: string) => ts.Expression) => (decoder: Decoder) => (obj: MetadataObject) => ts.ConciseBody;
6
+ const array: (props: {
7
+ coalesce: (method: string) => ts.Expression;
8
+ decode: Decoder;
9
+ explore: IExplore;
10
+ length: ts.Expression | undefined;
11
+ unique: ts.Expression | undefined;
12
+ metadata: Metadata;
13
+ }) => ts.Expression;
14
+ const tuple: (props: {
15
+ decode: Decoder;
16
+ elements: Metadata[];
17
+ }) => ts.ArrayLiteralExpression;
18
+ const object: (props: {
19
+ coalesce: (method: string) => ts.Expression;
20
+ decode: Decoder;
21
+ object: MetadataObject;
22
+ }) => ts.ConciseBody;
9
23
  }
10
24
  interface IExplore {
11
25
  function: boolean;
@@ -36,71 +36,61 @@ var TypeFactory_1 = require("../../factories/TypeFactory");
36
36
  var Escaper_1 = require("../../utils/Escaper");
37
37
  var RandomJoiner;
38
38
  (function (RandomJoiner) {
39
- RandomJoiner.array = function (coalesce) {
40
- return function (decoder) {
41
- return function (explore) {
42
- return function (length, unique) {
43
- return function (item) {
44
- var generator = typescript_1.default.factory.createCallExpression(coalesce("array"), undefined, __spreadArray(__spreadArray([
45
- typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, decoder(item))
46
- ], __read((length
47
- ? [length]
48
- : unique
49
- ? [typescript_1.default.factory.createIdentifier("undefined")]
50
- : [])), false), __read((unique ? [unique] : [])), false));
51
- if (explore.recursive === false)
52
- return generator;
53
- return typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createGreaterThanEquals(ExpressionFactory_1.ExpressionFactory.number(5), typescript_1.default.factory.createIdentifier("_depth")), undefined, generator, undefined, typescript_1.default.factory.createArrayLiteralExpression([]));
54
- };
55
- };
56
- };
57
- };
39
+ RandomJoiner.array = function (props) {
40
+ var generator = typescript_1.default.factory.createCallExpression(props.coalesce("array"), undefined, __spreadArray(__spreadArray([
41
+ typescript_1.default.factory.createArrowFunction(undefined, undefined, [], undefined, undefined, props.decode(props.metadata))
42
+ ], __read((props.length
43
+ ? [props.length]
44
+ : props.unique
45
+ ? [typescript_1.default.factory.createIdentifier("undefined")]
46
+ : [])), false), __read((props.unique ? [props.unique] : [])), false));
47
+ if (props.explore.recursive === false)
48
+ return generator;
49
+ return typescript_1.default.factory.createConditionalExpression(typescript_1.default.factory.createGreaterThanEquals(ExpressionFactory_1.ExpressionFactory.number(5), typescript_1.default.factory.createIdentifier("_depth")), undefined, generator, undefined, typescript_1.default.factory.createArrayLiteralExpression([]));
58
50
  };
59
- RandomJoiner.tuple = function (decoder) { return function (elements) {
60
- return typescript_1.default.factory.createArrayLiteralExpression(elements.map(function (elem) { var _a; return decoder((_a = elem.rest) !== null && _a !== void 0 ? _a : elem); }), true);
61
- }; };
62
- RandomJoiner.object = function (coalesce) {
63
- return function (decoder) {
64
- return function (obj) {
65
- if (obj.properties.length === 0)
66
- return typescript_1.default.factory.createIdentifier("{}");
67
- // LIST UP PROPERTIES
68
- var regular = obj.properties.filter(function (p) { return p.key.isSoleLiteral(); });
69
- var dynamic = obj.properties.filter(function (p) { return !p.key.isSoleLiteral(); });
70
- // REGULAR OBJECT
71
- var literal = typescript_1.default.factory.createObjectLiteralExpression(regular.map(function (p) {
72
- var str = p.key.getSoleLiteral();
73
- return typescript_1.default.factory.createPropertyAssignment(Escaper_1.Escaper.variable(str) ? str : typescript_1.default.factory.createStringLiteral(str), decoder(p.value));
74
- }), true);
75
- if (dynamic.length === 0)
76
- return literal;
77
- var properties = dynamic.map(function (p) {
78
- return typescript_1.default.factory.createExpressionStatement(dynamicProperty(coalesce)(decoder)(p));
79
- });
80
- return typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
81
- StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createAsExpression(literal, TypeFactory_1.TypeFactory.keyword("any")))
82
- ], __read((obj.recursive
83
- ? [
84
- typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createGreaterThanEquals(ExpressionFactory_1.ExpressionFactory.number(5), typescript_1.default.factory.createIdentifier("_depth")), typescript_1.default.factory.createBlock(properties, true)),
85
- ]
86
- : properties)), false), [
87
- typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
88
- ], false), true);
89
- };
90
- };
51
+ RandomJoiner.tuple = function (props) {
52
+ return typescript_1.default.factory.createArrayLiteralExpression(props.elements.map(function (elem) { var _a; return props.decode((_a = elem.rest) !== null && _a !== void 0 ? _a : elem); }), true);
91
53
  };
92
- var dynamicProperty = function (coalesce) {
93
- return function (decoder) {
94
- return function (p) {
95
- return typescript_1.default.factory.createCallExpression(coalesce("array"), undefined, [
96
- 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))),
97
- typescript_1.default.factory.createCallExpression(coalesce("integer"), undefined, [
98
- ExpressionFactory_1.ExpressionFactory.number(0),
99
- ExpressionFactory_1.ExpressionFactory.number(3),
100
- ]),
101
- ]);
102
- };
103
- };
54
+ RandomJoiner.object = function (props) {
55
+ if (props.object.properties.length === 0)
56
+ return typescript_1.default.factory.createIdentifier("{}");
57
+ // LIST UP PROPERTIES
58
+ var regular = props.object.properties.filter(function (p) {
59
+ return p.key.isSoleLiteral();
60
+ });
61
+ var dynamic = props.object.properties.filter(function (p) { return !p.key.isSoleLiteral(); });
62
+ // REGULAR OBJECT
63
+ var literal = typescript_1.default.factory.createObjectLiteralExpression(regular.map(function (p) {
64
+ var str = p.key.getSoleLiteral();
65
+ return typescript_1.default.factory.createPropertyAssignment(Escaper_1.Escaper.variable(str) ? str : typescript_1.default.factory.createStringLiteral(str), props.decode(p.value));
66
+ }), true);
67
+ if (dynamic.length === 0)
68
+ return literal;
69
+ var properties = dynamic.map(function (p) {
70
+ return typescript_1.default.factory.createExpressionStatement(dynamicProperty({
71
+ coalesce: props.coalesce,
72
+ decode: props.decode,
73
+ property: p,
74
+ }));
75
+ });
76
+ return typescript_1.default.factory.createBlock(__spreadArray(__spreadArray([
77
+ StatementFactory_1.StatementFactory.constant("output", typescript_1.default.factory.createAsExpression(literal, TypeFactory_1.TypeFactory.keyword("any")))
78
+ ], __read((props.object.recursive
79
+ ? [
80
+ typescript_1.default.factory.createIfStatement(typescript_1.default.factory.createGreaterThanEquals(ExpressionFactory_1.ExpressionFactory.number(5), typescript_1.default.factory.createIdentifier("_depth")), typescript_1.default.factory.createBlock(properties, true)),
81
+ ]
82
+ : properties)), false), [
83
+ typescript_1.default.factory.createReturnStatement(typescript_1.default.factory.createIdentifier("output")),
84
+ ], false), true);
85
+ };
86
+ var dynamicProperty = function (props) {
87
+ return typescript_1.default.factory.createCallExpression(props.coalesce("array"), undefined, [
88
+ 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"), props.decode(props.property.key)), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.EqualsToken), props.decode(props.property.value))),
89
+ typescript_1.default.factory.createCallExpression(props.coalesce("integer"), undefined, [
90
+ ExpressionFactory_1.ExpressionFactory.number(0),
91
+ ExpressionFactory_1.ExpressionFactory.number(3),
92
+ ]),
93
+ ]);
104
94
  };
105
95
  })(RandomJoiner || (exports.RandomJoiner = RandomJoiner = {}));
106
96
  //# sourceMappingURL=RandomJoiner.js.map
@@ -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,14 +6,23 @@ 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: IMetadataTypeTag[]) => ts.Expression | undefined;
9
+ const length: (props: {
10
+ coalesce: (method: string) => ts.Expression;
11
+ defaults: IDefaults;
12
+ accessors: length.IAccessors;
13
+ tags: IMetadataTypeTag[];
14
+ }) => ts.Expression | undefined;
10
15
  namespace length {
11
16
  interface IAccessors {
12
17
  minimum: string;
13
18
  maximum: string;
14
19
  }
15
20
  }
16
- const number: (config: number.IConfig) => (defs: IDefaults) => (tags: IMetadataTypeTag[]) => ts.Expression;
21
+ const number: (props: {
22
+ config: number.IConfig;
23
+ defaults: IDefaults;
24
+ tags: IMetadataTypeTag[];
25
+ }) => ts.Expression;
17
26
  namespace number {
18
27
  interface IConfig {
19
28
  setter: (args: number[]) => ts.Expression;
@@ -8,130 +8,151 @@ var typescript_1 = __importDefault(require("typescript"));
8
8
  var ExpressionFactory_1 = require("../../factories/ExpressionFactory");
9
9
  var RandomRanger;
10
10
  (function (RandomRanger) {
11
- RandomRanger.length = function (coalesce) {
12
- return function (defs) {
13
- return function (acc) {
14
- return function (tags) {
15
- var _a, _b;
16
- var props = {
17
- minimum: getter(tags)(acc.minimum),
18
- maximum: getter(tags)(acc.maximum),
19
- };
20
- if (props.minimum === undefined && props.maximum === undefined)
21
- return undefined;
22
- if (props.maximum !== undefined && props.minimum === undefined) {
23
- if (props.maximum <= 0) {
24
- props.maximum = 0;
25
- props.minimum = 0;
26
- }
27
- else if (props.maximum < defs.gap)
28
- props.minimum = defs.minimum === 0 ? 0 : 1;
29
- }
30
- (_a = props.minimum) !== null && _a !== void 0 ? _a : (props.minimum = defs.minimum);
31
- (_b = props.maximum) !== null && _b !== void 0 ? _b : (props.maximum = defs.maximum);
32
- if (props.maximum < props.minimum)
33
- props.maximum += defs.gap;
34
- return typescript_1.default.factory.createCallExpression(coalesce("integer"), undefined, [
35
- ExpressionFactory_1.ExpressionFactory.number(props.minimum),
36
- ExpressionFactory_1.ExpressionFactory.number(props.maximum),
37
- ]);
38
- };
39
- };
11
+ RandomRanger.length = function (props) {
12
+ var _a, _b;
13
+ var range = {
14
+ minimum: take({
15
+ kind: props.accessors.minimum,
16
+ tags: props.tags,
17
+ }),
18
+ maximum: take({
19
+ kind: props.accessors.maximum,
20
+ tags: props.tags,
21
+ }),
40
22
  };
23
+ if (range.minimum === undefined && range.maximum === undefined)
24
+ return undefined;
25
+ if (range.maximum !== undefined && range.minimum === undefined) {
26
+ if (range.maximum <= 0) {
27
+ range.maximum = 0;
28
+ range.minimum = 0;
29
+ }
30
+ else if (range.maximum < props.defaults.gap)
31
+ range.minimum = props.defaults.minimum === 0 ? 0 : 1;
32
+ }
33
+ (_a = range.minimum) !== null && _a !== void 0 ? _a : (range.minimum = props.defaults.minimum);
34
+ (_b = range.maximum) !== null && _b !== void 0 ? _b : (range.maximum = props.defaults.maximum);
35
+ if (range.maximum < range.minimum)
36
+ range.maximum += props.defaults.gap;
37
+ return typescript_1.default.factory.createCallExpression(props.coalesce("integer"), undefined, [
38
+ ExpressionFactory_1.ExpressionFactory.number(range.minimum),
39
+ ExpressionFactory_1.ExpressionFactory.number(range.maximum),
40
+ ]);
41
41
  };
42
- RandomRanger.number = function (config) {
43
- return function (defs) {
44
- return function (tags) {
45
- var _a, _b, _c, _d;
46
- var range = {
47
- minimum: {
48
- value: (_a = getter(tags)("minimum")) !== null && _a !== void 0 ? _a : getter(tags)("exclusiveMinimum"),
49
- exclusive: getter(tags)("exclusiveMinimum") !== undefined,
50
- },
51
- maximum: {
52
- value: (_b = getter(tags)("maximum")) !== null && _b !== void 0 ? _b : getter(tags)("exclusiveMaximum"),
53
- exclusive: getter(tags)("exclusiveMaximum") !== undefined,
54
- },
55
- stepper: undefined,
56
- multiply: getter(tags)("multipleOf"),
57
- };
58
- //----
59
- // MULTIPLIERS
60
- //----
61
- if (range.multiply !== undefined) {
62
- var _e = multiplier(defs.gap)(range)(range.multiply), minimum_1 = _e.minimum, maximum_1 = _e.maximum;
63
- return typescript_1.default.factory.createMultiply(config.transform(range.multiply), config.setter([minimum_1, maximum_1]));
64
- }
65
- //----
66
- // RANGE
67
- //----
68
- // INT
69
- var integer = function (value) { return value === Math.floor(value); };
70
- if (config.type === "int" || config.type === "uint") {
71
- if (range.minimum.value !== undefined) {
72
- if (range.minimum.exclusive) {
73
- range.minimum.exclusive = false;
74
- if (integer(range.minimum.value))
75
- range.minimum.value += 1;
76
- }
77
- range.minimum.value = Math.ceil(range.minimum.value);
78
- }
79
- if (range.maximum.value !== undefined) {
80
- if (range.maximum.exclusive) {
81
- range.maximum.exclusive = false;
82
- if (integer(range.maximum.value))
83
- range.maximum.value -= 1;
84
- }
85
- range.maximum.value = Math.floor(range.maximum.value);
86
- }
42
+ RandomRanger.number = function (props) {
43
+ var _a, _b, _c, _d;
44
+ var range = {
45
+ minimum: {
46
+ value: (_a = take({
47
+ kind: "minimum",
48
+ tags: props.tags,
49
+ })) !== null && _a !== void 0 ? _a : take({
50
+ kind: "exclusiveMinimum",
51
+ tags: props.tags,
52
+ }),
53
+ exclusive: take({
54
+ kind: "exclusiveMinimum",
55
+ tags: props.tags,
56
+ }) !== undefined,
57
+ },
58
+ maximum: {
59
+ value: (_b = take({
60
+ kind: "maximum",
61
+ tags: props.tags,
62
+ })) !== null && _b !== void 0 ? _b : take({
63
+ tags: props.tags,
64
+ kind: "exclusiveMaximum",
65
+ }),
66
+ exclusive: take({
67
+ kind: "exclusiveMaximum",
68
+ tags: props.tags,
69
+ }) !== undefined,
70
+ },
71
+ stepper: undefined,
72
+ multiply: take({
73
+ kind: "multipleOf",
74
+ tags: props.tags,
75
+ }),
76
+ };
77
+ //----
78
+ // MULTIPLIERS
79
+ //----
80
+ if (range.multiply !== undefined) {
81
+ var _e = multiplier({
82
+ gap: props.defaults.gap,
83
+ range: range,
84
+ value: range.multiply,
85
+ }), minimum_1 = _e.minimum, maximum_1 = _e.maximum;
86
+ return typescript_1.default.factory.createMultiply(props.config.transform(range.multiply), props.config.setter([minimum_1, maximum_1]));
87
+ }
88
+ //----
89
+ // RANGE
90
+ //----
91
+ // INT
92
+ var integer = function (value) { return value === Math.floor(value); };
93
+ if (props.config.type === "int" || props.config.type === "uint") {
94
+ if (range.minimum.value !== undefined) {
95
+ if (range.minimum.exclusive) {
96
+ range.minimum.exclusive = false;
97
+ if (integer(range.minimum.value))
98
+ range.minimum.value += 1;
87
99
  }
88
- // UNSIGNED INT
89
- if (config.type === "uint") {
90
- if (range.minimum.value === undefined)
91
- range.minimum.value = 0;
92
- else if (range.minimum.value <= 0) {
93
- range.minimum.value = 0;
94
- range.minimum.exclusive = false;
95
- }
100
+ range.minimum.value = Math.ceil(range.minimum.value);
101
+ }
102
+ if (range.maximum.value !== undefined) {
103
+ if (range.maximum.exclusive) {
104
+ range.maximum.exclusive = false;
105
+ if (integer(range.maximum.value))
106
+ range.maximum.value -= 1;
96
107
  }
97
- var minimum = (_c = range.minimum.value) !== null && _c !== void 0 ? _c : (range.maximum.value !== undefined
98
- ? range.maximum.value - defs.gap
99
- : defs.minimum);
100
- var maximum = (_d = range.maximum.value) !== null && _d !== void 0 ? _d : (range.minimum.value !== undefined
101
- ? range.minimum.value + defs.gap
102
- : defs.maximum);
103
- return config.setter([minimum, maximum]);
104
- };
105
- };
108
+ range.maximum.value = Math.floor(range.maximum.value);
109
+ }
110
+ }
111
+ // UNSIGNED INT
112
+ if (props.config.type === "uint") {
113
+ if (range.minimum.value === undefined)
114
+ range.minimum.value = 0;
115
+ else if (range.minimum.value <= 0) {
116
+ range.minimum.value = 0;
117
+ range.minimum.exclusive = false;
118
+ }
119
+ }
120
+ var minimum = (_c = range.minimum.value) !== null && _c !== void 0 ? _c : (range.maximum.value !== undefined
121
+ ? range.maximum.value - props.defaults.gap
122
+ : props.defaults.minimum);
123
+ var maximum = (_d = range.maximum.value) !== null && _d !== void 0 ? _d : (range.minimum.value !== undefined
124
+ ? range.minimum.value + props.defaults.gap
125
+ : props.defaults.maximum);
126
+ return props.config.setter([minimum, maximum]);
106
127
  };
107
128
  })(RandomRanger || (exports.RandomRanger = RandomRanger = {}));
108
- var getter = function (tags) {
109
- return function (kind) {
110
- var _a;
111
- var value = (_a = tags.find(function (t) {
112
- return t.kind === kind &&
113
- (typeof t.value === "number" || typeof t.value === "bigint");
114
- })) === null || _a === void 0 ? void 0 : _a.value;
115
- return value !== undefined ? Number(value) : undefined;
116
- };
129
+ var take = function (props) {
130
+ var _a;
131
+ var value = (_a = props.tags.find(function (t) {
132
+ return t.kind === props.kind &&
133
+ (typeof t.value === "number" || typeof t.value === "bigint");
134
+ })) === null || _a === void 0 ? void 0 : _a.value;
135
+ return value !== undefined ? Number(value) : undefined;
117
136
  };
118
- var multiplier = function (gap) { return function (range) { return function (m) {
119
- var minimum = range.minimum.value === undefined
137
+ var multiplier = function (props) {
138
+ var minimum = props.range.minimum.value === undefined
120
139
  ? 0
121
140
  : (function () {
122
- var x = m * Math.ceil(range.minimum.value / m);
123
- return range.minimum.exclusive && x === range.minimum.value
124
- ? x + m
141
+ var x = props.value * Math.ceil(props.range.minimum.value / props.value);
142
+ return props.range.minimum.exclusive &&
143
+ x === props.range.minimum.value
144
+ ? x + props.value
125
145
  : x;
126
- })() / m;
127
- var maximum = range.maximum.value === undefined
128
- ? gap
146
+ })() / props.value;
147
+ var maximum = props.range.maximum.value === undefined
148
+ ? props.gap
129
149
  : (function () {
130
- var y = m * Math.floor(range.maximum.value / m);
131
- return range.maximum.exclusive && y === range.maximum.value
132
- ? y - m
150
+ var y = props.value * Math.floor(props.range.maximum.value / props.value);
151
+ return props.range.maximum.exclusive &&
152
+ y === props.range.maximum.value
153
+ ? y - props.value
133
154
  : y;
134
- })() / m;
155
+ })() / props.value;
135
156
  return { minimum: minimum, maximum: maximum };
136
- }; }; };
157
+ };
137
158
  //# sourceMappingURL=RandomRanger.js.map