typia 7.0.0-dev.20240919 → 7.0.0-dev.20240920

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.
@@ -67,7 +67,7 @@ var RandomRanger;
67
67
  //----
68
68
  // INT
69
69
  var integer = function (value) { return value === Math.floor(value); };
70
- if (config.type === "int") {
70
+ if (config.type === "int" || config.type === "uint") {
71
71
  if (range.minimum.value !== undefined) {
72
72
  if (range.minimum.exclusive) {
73
73
  range.minimum.exclusive = false;
@@ -1 +1 @@
1
- {"version":3,"file":"RandomRanger.js","sourceRoot":"","sources":["../../../src/programmers/helpers/RandomRanger.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"RandomRanger.js","sourceRoot":"","sources":["../../../src/programmers/helpers/RandomRanger.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "typia",
3
- "version": "7.0.0-dev.20240919",
3
+ "version": "7.0.0-dev.20240920",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -1,171 +1,171 @@
1
- import ts from "typescript";
2
-
3
- import { ExpressionFactory } from "../../factories/ExpressionFactory";
4
-
5
- import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
6
-
7
- export namespace RandomRanger {
8
- export interface IDefaults {
9
- minimum: number;
10
- maximum: number;
11
- gap: number;
12
- }
13
-
14
- export const length =
15
- (coalesce: (method: string) => ts.Expression) =>
16
- (defs: IDefaults) =>
17
- (acc: length.IAccessors) =>
18
- (tags: IMetadataTypeTag[]): ts.Expression | undefined => {
19
- const props = {
20
- minimum: getter(tags)(acc.minimum),
21
- maximum: getter(tags)(acc.maximum),
22
- };
23
- if (props.minimum === undefined && props.maximum === undefined)
24
- return undefined;
25
-
26
- if (props.maximum !== undefined && props.minimum === undefined) {
27
- if (props.maximum <= 0) {
28
- props.maximum = 0;
29
- props.minimum = 0;
30
- } else if (props.maximum < defs.gap)
31
- props.minimum = defs.minimum === 0 ? 0 : 1;
32
- }
33
- props.minimum ??= defs.minimum;
34
- props.maximum ??= defs.maximum;
35
- if (props.maximum < props.minimum) (props.maximum as number) += defs.gap;
36
-
37
- return ts.factory.createCallExpression(coalesce("integer"), undefined, [
38
- ExpressionFactory.number(props.minimum),
39
- ExpressionFactory.number(props.maximum),
40
- ]);
41
- };
42
- export namespace length {
43
- export interface IAccessors {
44
- minimum: string;
45
- maximum: string;
46
- }
47
- }
48
-
49
- export const number =
50
- (config: number.IConfig) =>
51
- (defs: IDefaults) =>
52
- (tags: IMetadataTypeTag[]): ts.Expression => {
53
- const range = {
54
- minimum: {
55
- value: getter(tags)("minimum") ?? getter(tags)("exclusiveMinimum"),
56
- exclusive: getter(tags)("exclusiveMinimum") !== undefined,
57
- },
58
- maximum: {
59
- value: getter(tags)("maximum") ?? getter(tags)("exclusiveMaximum"),
60
- exclusive: getter(tags)("exclusiveMaximum") !== undefined,
61
- },
62
- stepper: undefined,
63
- multiply: getter(tags)("multipleOf"),
64
- };
65
-
66
- //----
67
- // MULTIPLIERS
68
- //----
69
- if (range.multiply !== undefined) {
70
- const { minimum, maximum } = multiplier(defs.gap)(range)(
71
- range.multiply,
72
- );
73
- return ts.factory.createMultiply(
74
- config.transform(range.multiply),
75
- config.setter([minimum, maximum]),
76
- );
77
- }
78
-
79
- //----
80
- // RANGE
81
- //----
82
- // INT
83
- const integer = (value: number) => value === Math.floor(value);
84
- if (config.type === "int") {
85
- if (range.minimum.value !== undefined) {
86
- if (range.minimum.exclusive) {
87
- range.minimum.exclusive = false;
88
- if (integer(range.minimum.value)) range.minimum.value += 1;
89
- }
90
- range.minimum.value = Math.ceil(range.minimum.value);
91
- }
92
- if (range.maximum.value !== undefined) {
93
- if (range.maximum.exclusive) {
94
- range.maximum.exclusive = false;
95
- if (integer(range.maximum.value)) range.maximum.value -= 1;
96
- }
97
- range.maximum.value = Math.floor(range.maximum.value);
98
- }
99
- }
100
-
101
- // UNSIGNED INT
102
- if (config.type === "uint") {
103
- if (range.minimum.value === undefined) range.minimum.value = 0;
104
- else if (range.minimum.value <= 0) {
105
- range.minimum.value = 0;
106
- range.minimum.exclusive = false;
107
- }
108
- }
109
-
110
- const minimum =
111
- range.minimum.value ??
112
- (range.maximum.value !== undefined
113
- ? range.maximum.value - defs.gap
114
- : defs.minimum);
115
- const maximum =
116
- range.maximum.value ??
117
- (range.minimum.value !== undefined
118
- ? range.minimum.value + defs.gap
119
- : defs.maximum);
120
- return config.setter([minimum, maximum]);
121
- };
122
- export namespace number {
123
- export interface IConfig {
124
- setter: (args: number[]) => ts.Expression;
125
- transform: (value: number) => ts.Expression;
126
- type: "int" | "uint" | "double";
127
- }
128
- }
129
- }
130
-
131
- const getter =
132
- (tags: IMetadataTypeTag[]) =>
133
- (kind: string): number | undefined => {
134
- const value: bigint | number | undefined = tags.find(
135
- (t) =>
136
- t.kind === kind &&
137
- (typeof t.value === "number" || typeof t.value === "bigint"),
138
- )?.value;
139
- return value !== undefined ? Number(value) : undefined;
140
- };
141
-
142
- const multiplier = (gap: number) => (range: IRange) => (m: number) => {
143
- const minimum: number =
144
- range.minimum.value === undefined
145
- ? 0
146
- : (() => {
147
- const x: number = m * Math.ceil(range.minimum.value / m);
148
- return range.minimum.exclusive && x === range.minimum.value
149
- ? x + m
150
- : x;
151
- })() / m;
152
- const maximum: number =
153
- range.maximum.value === undefined
154
- ? gap
155
- : (() => {
156
- const y: number = m * Math.floor(range.maximum.value / m);
157
- return range.maximum.exclusive && y === range.maximum.value
158
- ? y - m
159
- : y;
160
- })() / m;
161
- return { minimum, maximum };
162
- };
163
-
164
- interface IRange {
165
- minimum: IScalar;
166
- maximum: IScalar;
167
- }
168
- interface IScalar {
169
- value?: undefined | number;
170
- exclusive: boolean;
171
- }
1
+ import ts from "typescript";
2
+
3
+ import { ExpressionFactory } from "../../factories/ExpressionFactory";
4
+
5
+ import { IMetadataTypeTag } from "../../schemas/metadata/IMetadataTypeTag";
6
+
7
+ export namespace RandomRanger {
8
+ export interface IDefaults {
9
+ minimum: number;
10
+ maximum: number;
11
+ gap: number;
12
+ }
13
+
14
+ export const length =
15
+ (coalesce: (method: string) => ts.Expression) =>
16
+ (defs: IDefaults) =>
17
+ (acc: length.IAccessors) =>
18
+ (tags: IMetadataTypeTag[]): ts.Expression | undefined => {
19
+ const props = {
20
+ minimum: getter(tags)(acc.minimum),
21
+ maximum: getter(tags)(acc.maximum),
22
+ };
23
+ if (props.minimum === undefined && props.maximum === undefined)
24
+ return undefined;
25
+
26
+ if (props.maximum !== undefined && props.minimum === undefined) {
27
+ if (props.maximum <= 0) {
28
+ props.maximum = 0;
29
+ props.minimum = 0;
30
+ } else if (props.maximum < defs.gap)
31
+ props.minimum = defs.minimum === 0 ? 0 : 1;
32
+ }
33
+ props.minimum ??= defs.minimum;
34
+ props.maximum ??= defs.maximum;
35
+ if (props.maximum < props.minimum) (props.maximum as number) += defs.gap;
36
+
37
+ return ts.factory.createCallExpression(coalesce("integer"), undefined, [
38
+ ExpressionFactory.number(props.minimum),
39
+ ExpressionFactory.number(props.maximum),
40
+ ]);
41
+ };
42
+ export namespace length {
43
+ export interface IAccessors {
44
+ minimum: string;
45
+ maximum: string;
46
+ }
47
+ }
48
+
49
+ export const number =
50
+ (config: number.IConfig) =>
51
+ (defs: IDefaults) =>
52
+ (tags: IMetadataTypeTag[]): ts.Expression => {
53
+ const range = {
54
+ minimum: {
55
+ value: getter(tags)("minimum") ?? getter(tags)("exclusiveMinimum"),
56
+ exclusive: getter(tags)("exclusiveMinimum") !== undefined,
57
+ },
58
+ maximum: {
59
+ value: getter(tags)("maximum") ?? getter(tags)("exclusiveMaximum"),
60
+ exclusive: getter(tags)("exclusiveMaximum") !== undefined,
61
+ },
62
+ stepper: undefined,
63
+ multiply: getter(tags)("multipleOf"),
64
+ };
65
+
66
+ //----
67
+ // MULTIPLIERS
68
+ //----
69
+ if (range.multiply !== undefined) {
70
+ const { minimum, maximum } = multiplier(defs.gap)(range)(
71
+ range.multiply,
72
+ );
73
+ return ts.factory.createMultiply(
74
+ config.transform(range.multiply),
75
+ config.setter([minimum, maximum]),
76
+ );
77
+ }
78
+
79
+ //----
80
+ // RANGE
81
+ //----
82
+ // INT
83
+ const integer = (value: number) => value === Math.floor(value);
84
+ if (config.type === "int" || config.type === "uint") {
85
+ if (range.minimum.value !== undefined) {
86
+ if (range.minimum.exclusive) {
87
+ range.minimum.exclusive = false;
88
+ if (integer(range.minimum.value)) range.minimum.value += 1;
89
+ }
90
+ range.minimum.value = Math.ceil(range.minimum.value);
91
+ }
92
+ if (range.maximum.value !== undefined) {
93
+ if (range.maximum.exclusive) {
94
+ range.maximum.exclusive = false;
95
+ if (integer(range.maximum.value)) range.maximum.value -= 1;
96
+ }
97
+ range.maximum.value = Math.floor(range.maximum.value);
98
+ }
99
+ }
100
+
101
+ // UNSIGNED INT
102
+ if (config.type === "uint") {
103
+ if (range.minimum.value === undefined) range.minimum.value = 0;
104
+ else if (range.minimum.value <= 0) {
105
+ range.minimum.value = 0;
106
+ range.minimum.exclusive = false;
107
+ }
108
+ }
109
+
110
+ const minimum =
111
+ range.minimum.value ??
112
+ (range.maximum.value !== undefined
113
+ ? range.maximum.value - defs.gap
114
+ : defs.minimum);
115
+ const maximum =
116
+ range.maximum.value ??
117
+ (range.minimum.value !== undefined
118
+ ? range.minimum.value + defs.gap
119
+ : defs.maximum);
120
+ return config.setter([minimum, maximum]);
121
+ };
122
+ export namespace number {
123
+ export interface IConfig {
124
+ setter: (args: number[]) => ts.Expression;
125
+ transform: (value: number) => ts.Expression;
126
+ type: "int" | "uint" | "double";
127
+ }
128
+ }
129
+ }
130
+
131
+ const getter =
132
+ (tags: IMetadataTypeTag[]) =>
133
+ (kind: string): number | undefined => {
134
+ const value: bigint | number | undefined = tags.find(
135
+ (t) =>
136
+ t.kind === kind &&
137
+ (typeof t.value === "number" || typeof t.value === "bigint"),
138
+ )?.value;
139
+ return value !== undefined ? Number(value) : undefined;
140
+ };
141
+
142
+ const multiplier = (gap: number) => (range: IRange) => (m: number) => {
143
+ const minimum: number =
144
+ range.minimum.value === undefined
145
+ ? 0
146
+ : (() => {
147
+ const x: number = m * Math.ceil(range.minimum.value / m);
148
+ return range.minimum.exclusive && x === range.minimum.value
149
+ ? x + m
150
+ : x;
151
+ })() / m;
152
+ const maximum: number =
153
+ range.maximum.value === undefined
154
+ ? gap
155
+ : (() => {
156
+ const y: number = m * Math.floor(range.maximum.value / m);
157
+ return range.maximum.exclusive && y === range.maximum.value
158
+ ? y - m
159
+ : y;
160
+ })() / m;
161
+ return { minimum, maximum };
162
+ };
163
+
164
+ interface IRange {
165
+ minimum: IScalar;
166
+ maximum: IScalar;
167
+ }
168
+ interface IScalar {
169
+ value?: undefined | number;
170
+ exclusive: boolean;
171
+ }