typia 5.3.12 → 5.4.0
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.
- package/lib/IRandomGenerator.d.ts +15 -4
- package/lib/functional/Namespace/json.d.ts +1 -1
- package/lib/functional/Namespace/misc.d.ts +2 -2
- package/lib/functional/Namespace/notations.d.ts +3 -3
- package/lib/functional/Namespace/protobuf.d.ts +2 -2
- package/lib/programmers/RandomProgrammer.js +13 -1
- package/lib/programmers/RandomProgrammer.js.map +1 -1
- package/lib/schemas/json/IJsonSchema.d.ts +1 -1
- package/lib/tags/Format.d.ts +26 -2
- package/lib/utils/RandomGenerator/RandomGenerator.d.ts +14 -3
- package/lib/utils/RandomGenerator/RandomGenerator.js +88 -20
- package/lib/utils/RandomGenerator/RandomGenerator.js.map +1 -1
- package/package.json +2 -2
- package/src/IRandomGenerator.ts +27 -4
- package/src/programmers/RandomProgrammer.ts +14 -3
- package/src/schemas/json/IJsonSchema.ts +21 -1
- package/src/tags/Format.ts +33 -23
- package/src/utils/RandomGenerator/RandomGenerator.ts +50 -30
|
@@ -2,19 +2,30 @@ import { Customizable } from "./typings/Customizable";
|
|
|
2
2
|
export interface IRandomGenerator {
|
|
3
3
|
boolean(): boolean;
|
|
4
4
|
integer(minimum?: number, maximum?: number): number;
|
|
5
|
-
number(minimum?: number, maximum?: number): number;
|
|
6
5
|
bigint(minimum?: bigint, maximum?: bigint): bigint;
|
|
6
|
+
number(minimum?: number, maximum?: number): number;
|
|
7
7
|
string(length?: number): string;
|
|
8
8
|
array<T>(closure: (index: number) => T, count?: number): T[];
|
|
9
9
|
length(): number;
|
|
10
|
+
pattern(regex: RegExp): string;
|
|
11
|
+
byte(): string;
|
|
12
|
+
password(): string;
|
|
13
|
+
regex(): string;
|
|
10
14
|
uuid(): string;
|
|
11
15
|
email(): string;
|
|
12
|
-
|
|
16
|
+
hostname(): string;
|
|
13
17
|
ipv4(): string;
|
|
14
18
|
ipv6(): string;
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
uri(): string;
|
|
20
|
+
uriReference(): string;
|
|
21
|
+
uriTemplate(): string;
|
|
22
|
+
url(): string;
|
|
17
23
|
datetime(minimum?: number, maximum?: number): string;
|
|
24
|
+
date(minimum?: number, maximum?: number): string;
|
|
25
|
+
time(): string;
|
|
26
|
+
duration(): string;
|
|
27
|
+
jsonPointer(): string;
|
|
28
|
+
relativeJsonPointer(): string;
|
|
18
29
|
customs?: IRandomGenerator.CustomMap;
|
|
19
30
|
}
|
|
20
31
|
export declare namespace IRandomGenerator {
|
|
@@ -3,7 +3,7 @@ export declare const stringify: (method: string) => {
|
|
|
3
3
|
string: (str: string) => string;
|
|
4
4
|
tail: (str: string) => string;
|
|
5
5
|
rest: (str: string) => string;
|
|
6
|
-
throws: (props: Pick<import("../..").TypeGuardError.IProps, "
|
|
6
|
+
throws: (props: Pick<import("../..").TypeGuardError.IProps, "value" | "expected">) => never;
|
|
7
7
|
is_between: (value: number, minimum: number, maximum: number) => boolean;
|
|
8
8
|
is_bigint_string: (str: string) => boolean;
|
|
9
9
|
};
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
export declare const clone: (method: string) => {
|
|
2
|
-
throws: (props: Pick<import("../..").TypeGuardError.IProps, "
|
|
2
|
+
throws: (props: Pick<import("../..").TypeGuardError.IProps, "value" | "expected">) => never;
|
|
3
3
|
any: (val: any) => any;
|
|
4
4
|
is_between: (value: number, minimum: number, maximum: number) => boolean;
|
|
5
5
|
is_bigint_string: (str: string) => boolean;
|
|
6
6
|
};
|
|
7
7
|
export declare const prune: (method: string) => {
|
|
8
|
-
throws: (props: Pick<import("../..").TypeGuardError.IProps, "
|
|
8
|
+
throws: (props: Pick<import("../..").TypeGuardError.IProps, "value" | "expected">) => never;
|
|
9
9
|
is_between: (value: number, minimum: number, maximum: number) => boolean;
|
|
10
10
|
is_bigint_string: (str: string) => boolean;
|
|
11
11
|
};
|
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
export declare const camel: (method: string) => {
|
|
2
2
|
any: (input: any) => any;
|
|
3
|
-
throws: (props: Pick<import("../..").TypeGuardError.IProps, "
|
|
3
|
+
throws: (props: Pick<import("../..").TypeGuardError.IProps, "value" | "expected">) => never;
|
|
4
4
|
is_between: (value: number, minimum: number, maximum: number) => boolean;
|
|
5
5
|
is_bigint_string: (str: string) => boolean;
|
|
6
6
|
};
|
|
7
7
|
export declare const pascal: (method: string) => {
|
|
8
8
|
any: (input: any) => any;
|
|
9
|
-
throws: (props: Pick<import("../..").TypeGuardError.IProps, "
|
|
9
|
+
throws: (props: Pick<import("../..").TypeGuardError.IProps, "value" | "expected">) => never;
|
|
10
10
|
is_between: (value: number, minimum: number, maximum: number) => boolean;
|
|
11
11
|
is_bigint_string: (str: string) => boolean;
|
|
12
12
|
};
|
|
13
13
|
export declare const snake: (method: string) => {
|
|
14
14
|
any: (input: any) => any;
|
|
15
|
-
throws: (props: Pick<import("../..").TypeGuardError.IProps, "
|
|
15
|
+
throws: (props: Pick<import("../..").TypeGuardError.IProps, "value" | "expected">) => never;
|
|
16
16
|
is_between: (value: number, minimum: number, maximum: number) => boolean;
|
|
17
17
|
is_bigint_string: (str: string) => boolean;
|
|
18
18
|
};
|
|
@@ -3,7 +3,7 @@ import { $ProtobufSizer } from "../$ProtobufSizer";
|
|
|
3
3
|
import { $ProtobufWriter } from "../$ProtobufWriter";
|
|
4
4
|
export declare const decode: (method: string) => {
|
|
5
5
|
Reader: typeof $ProtobufReader;
|
|
6
|
-
throws: (props: Pick<import("../..").TypeGuardError.IProps, "
|
|
6
|
+
throws: (props: Pick<import("../..").TypeGuardError.IProps, "value" | "expected">) => never;
|
|
7
7
|
is_between: (value: number, minimum: number, maximum: number) => boolean;
|
|
8
8
|
is_bigint_string: (str: string) => boolean;
|
|
9
9
|
};
|
|
@@ -11,7 +11,7 @@ export declare const encode: (method: string) => {
|
|
|
11
11
|
Sizer: typeof $ProtobufSizer;
|
|
12
12
|
Writer: typeof $ProtobufWriter;
|
|
13
13
|
strlen: (s: string) => number;
|
|
14
|
-
throws: (props: Pick<import("../..").TypeGuardError.IProps, "
|
|
14
|
+
throws: (props: Pick<import("../..").TypeGuardError.IProps, "value" | "expected">) => never;
|
|
15
15
|
is_between: (value: number, minimum: number, maximum: number) => boolean;
|
|
16
16
|
is_bigint_string: (str: string) => boolean;
|
|
17
17
|
};
|
|
@@ -410,7 +410,7 @@ var RandomProgrammer;
|
|
|
410
410
|
for (var tags_1 = __values(tags), tags_1_1 = tags_1.next(); !tags_1_1.done; tags_1_1 = tags_1.next()) {
|
|
411
411
|
var t = tags_1_1.value;
|
|
412
412
|
if (t.kind === "format")
|
|
413
|
-
return typescript_1.default.factory.createCallExpression(COALESCE(importer)(t.value
|
|
413
|
+
return typescript_1.default.factory.createCallExpression(COALESCE(importer)(emendFormat(t.value)), undefined, undefined);
|
|
414
414
|
else if (t.kind === "pattern")
|
|
415
415
|
return typescript_1.default.factory.createCallExpression(COALESCE(importer)("pattern"), undefined, [typescript_1.default.factory.createIdentifier("/".concat(t.value, "/"))]);
|
|
416
416
|
}
|
|
@@ -662,4 +662,16 @@ var COALESCE = function (importer) { return function (name) {
|
|
|
662
662
|
? 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))
|
|
663
663
|
: typescript_1.default.factory.createElementAccessChain(typescript_1.default.factory.createIdentifier("generator"), typescript_1.default.factory.createToken(typescript_1.default.SyntaxKind.QuestionDotToken), typescript_1.default.factory.createStringLiteral(name)))(IdentifierFactory_1.IdentifierFactory.access(importer.use("generator"))(name));
|
|
664
664
|
}; };
|
|
665
|
+
var emendFormat = function (key) {
|
|
666
|
+
return key === "date-time"
|
|
667
|
+
? "datetime"
|
|
668
|
+
: key
|
|
669
|
+
.split("-")
|
|
670
|
+
.map(function (str, i) {
|
|
671
|
+
return i === 0 || str.length === 0
|
|
672
|
+
? str
|
|
673
|
+
: str[0].toUpperCase() + str.substring(1);
|
|
674
|
+
})
|
|
675
|
+
.join("");
|
|
676
|
+
};
|
|
665
677
|
//# sourceMappingURL=RandomProgrammer.js.map
|
|
@@ -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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"}
|
|
@@ -18,7 +18,7 @@ export declare namespace IJsonSchema {
|
|
|
18
18
|
minLength?: undefined | (number & Type<"uint32">);
|
|
19
19
|
maxLength?: undefined | (number & Type<"uint32">);
|
|
20
20
|
pattern?: undefined | string;
|
|
21
|
-
format?: undefined | string;
|
|
21
|
+
format?: undefined | "byte" | "password" | "regex" | "uuid" | "email" | "hostname" | "ipv4" | "ipv6" | "uri" | "uri-reference" | "uri-template" | "url" | "date-time" | "date" | "time" | "duration" | "json-pointer" | "relative-json-pointer" | (string & {});
|
|
22
22
|
"x-typia-typeTags"?: undefined | IMetadataTypeTag[];
|
|
23
23
|
}
|
|
24
24
|
interface INumber extends IAtomic<"number"> {
|
package/lib/tags/Format.d.ts
CHANGED
|
@@ -1,8 +1,32 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
|
-
export type Format<Value extends
|
|
2
|
+
export type Format<Value extends keyof Format.Validator> = TagBase<{
|
|
3
3
|
target: "string";
|
|
4
4
|
kind: "format";
|
|
5
5
|
value: Value;
|
|
6
|
-
validate:
|
|
6
|
+
validate: Format.Validator[Value];
|
|
7
7
|
exclusive: ["format", "pattern"];
|
|
8
8
|
}>;
|
|
9
|
+
export declare namespace Format {
|
|
10
|
+
export type Validator = {
|
|
11
|
+
byte: RegexCall<`/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm`>;
|
|
12
|
+
password: `true`;
|
|
13
|
+
regex: `(() => { try { new RegExp($input); return true; } catch { return false; } })()`;
|
|
14
|
+
uuid: RegexCall<`/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i`>;
|
|
15
|
+
email: RegexCall<`/^[a-z0-9!#$%&'*+/=?^_\`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i`>;
|
|
16
|
+
hostname: RegexCall<`/^(?=.{1,253}\\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\\.?$/i`>;
|
|
17
|
+
ipv4: RegexCall<`/^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/`>;
|
|
18
|
+
ipv6: RegexCall<`/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i`>;
|
|
19
|
+
uri: `${RegexCall<`/\\/|:/`>} && ${RegexCall<`/^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\\?(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i`>}`;
|
|
20
|
+
"uri-reference": RegexCall<`/^(?:[a-z][a-z0-9+\\-.]*:)?(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\\?(?:[a-z0-9\\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i`>;
|
|
21
|
+
"uri-template": RegexCall<`/^(?:(?:[^\\x00-\\x20"'<>%\\\\^\`{|}]|%[0-9a-f]{2})|\\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?)*\\})*$/i`>;
|
|
22
|
+
url: RegexCall<`/^(?:https?|ftp):\\/\\/(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u{00a1}-\\u{ffff}]+-)*[a-z0-9\\u{00a1}-\\u{ffff}]+)(?:\\.(?:[a-z0-9\\u{00a1}-\\u{ffff}]+-)*[a-z0-9\\u{00a1}-\\u{ffff}]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu`>;
|
|
23
|
+
"date-time": `!isNaN(new Date($input).getTime())`;
|
|
24
|
+
date: RegexCall<`/^(\\d{4})-(\\d{2})-(\\d{2})$/`>;
|
|
25
|
+
time: RegexCall<`/^(\\d\\d):(\\d\\d):(\\d\\d(?:\\.\\d+)?)(z|([+-])(\\d\\d)(?::?(\\d\\d))?)?$/i`>;
|
|
26
|
+
duration: RegexCall<`/^P(?!$)((\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?|(\\d+W)?)$/`>;
|
|
27
|
+
"json-pointer": RegexCall<`/^(?:\\/(?:[^~/]|~0|~1)*)*$/`>;
|
|
28
|
+
"relative-json-pointer": RegexCall<`/^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/`>;
|
|
29
|
+
};
|
|
30
|
+
type RegexCall<Exp extends string> = `${Exp}.test($input)`;
|
|
31
|
+
export {};
|
|
32
|
+
}
|
|
@@ -6,11 +6,22 @@ export declare const string: (length?: number) => string;
|
|
|
6
6
|
export declare const array: <T>(closure: (index: number) => T, count?: number) => T[];
|
|
7
7
|
export declare const pick: <T>(array: T[]) => T;
|
|
8
8
|
export declare const length: () => number;
|
|
9
|
+
export declare const pattern: (regex: RegExp) => string;
|
|
10
|
+
export declare const byte: () => string;
|
|
11
|
+
export declare const password: () => string;
|
|
12
|
+
export declare const regex: () => string;
|
|
9
13
|
export declare const uuid: () => string;
|
|
10
14
|
export declare const email: () => string;
|
|
11
|
-
export declare const
|
|
15
|
+
export declare const hostname: () => string;
|
|
12
16
|
export declare const ipv4: () => string;
|
|
13
17
|
export declare const ipv6: () => string;
|
|
14
|
-
export declare const
|
|
15
|
-
export declare const
|
|
18
|
+
export declare const uri: () => string;
|
|
19
|
+
export declare const uriReference: () => string;
|
|
20
|
+
export declare const uriTemplate: () => string;
|
|
21
|
+
export declare const url: () => string;
|
|
16
22
|
export declare const datetime: (min?: number, max?: number) => string;
|
|
23
|
+
export declare const date: (min?: number, max?: number) => string;
|
|
24
|
+
export declare const time: () => string;
|
|
25
|
+
export declare const duration: () => string;
|
|
26
|
+
export declare const jsonPointer: () => string;
|
|
27
|
+
export declare const relativeJsonPointer: () => string;
|
|
@@ -1,14 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __read = (this && this.__read) || function (o, n) {
|
|
3
|
+
var m = typeof Symbol === "function" && o[Symbol.iterator];
|
|
4
|
+
if (!m) return o;
|
|
5
|
+
var i = m.call(o), r, ar = [], e;
|
|
6
|
+
try {
|
|
7
|
+
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
|
|
8
|
+
}
|
|
9
|
+
catch (error) { e = { error: error }; }
|
|
10
|
+
finally {
|
|
11
|
+
try {
|
|
12
|
+
if (r && !r.done && (m = i["return"])) m.call(i);
|
|
13
|
+
}
|
|
14
|
+
finally { if (e) throw e.error; }
|
|
15
|
+
}
|
|
16
|
+
return ar;
|
|
17
|
+
};
|
|
2
18
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
19
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
20
|
};
|
|
5
21
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.
|
|
22
|
+
exports.relativeJsonPointer = exports.jsonPointer = exports.duration = exports.time = exports.date = exports.datetime = exports.url = exports.uriTemplate = exports.uriReference = exports.uri = exports.ipv6 = exports.ipv4 = exports.hostname = exports.email = exports.uuid = exports.regex = exports.password = exports.byte = exports.pattern = exports.length = exports.pick = exports.array = exports.string = exports.number = exports.bigint = exports.integer = exports.boolean = void 0;
|
|
7
23
|
var randexp_1 = __importDefault(require("randexp"));
|
|
8
24
|
var ALPHABETS = "abcdefghijklmnopqrstuvwxyz";
|
|
9
25
|
/* -----------------------------------------------------------
|
|
10
|
-
|
|
11
|
-
|
|
26
|
+
REGULAR
|
|
27
|
+
----------------------------------------------------------- */
|
|
12
28
|
var boolean = function () { return Math.random() < 0.5; };
|
|
13
29
|
exports.boolean = boolean;
|
|
14
30
|
var integer = function (min, max) {
|
|
@@ -18,9 +34,7 @@ var integer = function (min, max) {
|
|
|
18
34
|
};
|
|
19
35
|
exports.integer = integer;
|
|
20
36
|
var bigint = function (min, max) {
|
|
21
|
-
min !== null && min !== void 0 ? min : (
|
|
22
|
-
max !== null && max !== void 0 ? max : (max = BigInt(100));
|
|
23
|
-
return BigInt((0, exports.integer)(Number(min), Number(max)));
|
|
37
|
+
return BigInt((0, exports.integer)(Number(min !== null && min !== void 0 ? min : BigInt(0)), Number(max !== null && max !== void 0 ? max : BigInt(100))));
|
|
24
38
|
};
|
|
25
39
|
exports.bigint = bigint;
|
|
26
40
|
var number = function (min, max) {
|
|
@@ -44,9 +58,20 @@ var pick = function (array) { return array[(0, exports.integer)(0, array.length
|
|
|
44
58
|
exports.pick = pick;
|
|
45
59
|
var length = function () { return (0, exports.integer)(0, 3); };
|
|
46
60
|
exports.length = length;
|
|
61
|
+
var pattern = function (regex) { return new randexp_1.default(regex).gen(); };
|
|
62
|
+
exports.pattern = pattern;
|
|
47
63
|
/* -----------------------------------------------------------
|
|
48
|
-
|
|
49
|
-
|
|
64
|
+
SECIAL FORMATS
|
|
65
|
+
----------------------------------------------------------- */
|
|
66
|
+
// SPECIAL CHARACTERS
|
|
67
|
+
var byte = function () { return "vt7ekz4lIoNTTS9sDQYdWKharxIFAR54+z/umIxSgUM="; };
|
|
68
|
+
exports.byte = byte;
|
|
69
|
+
var password = function () { return (0, exports.string)((0, exports.integer)(4, 16)); };
|
|
70
|
+
exports.password = password;
|
|
71
|
+
var regex = function () {
|
|
72
|
+
return "/^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/";
|
|
73
|
+
};
|
|
74
|
+
exports.regex = regex;
|
|
50
75
|
var uuid = function () {
|
|
51
76
|
return "xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, function (c) {
|
|
52
77
|
var r = (Math.random() * 16) | 0;
|
|
@@ -55,29 +80,72 @@ var uuid = function () {
|
|
|
55
80
|
});
|
|
56
81
|
};
|
|
57
82
|
exports.uuid = uuid;
|
|
83
|
+
// ADDRESSES
|
|
58
84
|
var email = function () { return "".concat((0, exports.string)(10), "@").concat((0, exports.string)(10), ".").concat((0, exports.string)(3)); };
|
|
59
85
|
exports.email = email;
|
|
60
|
-
var
|
|
61
|
-
exports.
|
|
86
|
+
var hostname = function () { return "".concat((0, exports.string)(10), ".").concat((0, exports.string)(3)); };
|
|
87
|
+
exports.hostname = hostname;
|
|
62
88
|
var ipv4 = function () { return (0, exports.array)(function () { return (0, exports.integer)(0, 255); }, 4).join("."); };
|
|
63
89
|
exports.ipv4 = ipv4;
|
|
64
90
|
var ipv6 = function () {
|
|
65
91
|
return (0, exports.array)(function () { return (0, exports.integer)(0, 65535).toString(16); }, 8).join(":");
|
|
66
92
|
};
|
|
67
93
|
exports.ipv6 = ipv6;
|
|
68
|
-
var
|
|
69
|
-
exports.
|
|
94
|
+
var uri = function () { return (0, exports.url)(); };
|
|
95
|
+
exports.uri = uri;
|
|
96
|
+
var uriReference = function () { return (0, exports.url)(); };
|
|
97
|
+
exports.uriReference = uriReference;
|
|
98
|
+
var uriTemplate = function () { return (0, exports.url)(); };
|
|
99
|
+
exports.uriTemplate = uriTemplate;
|
|
100
|
+
var url = function () { return "https://".concat((0, exports.string)(10), ".").concat((0, exports.string)(3)); };
|
|
101
|
+
exports.url = url;
|
|
102
|
+
// TIMESTAMPS
|
|
103
|
+
var datetime = function (min, max) {
|
|
104
|
+
return new Date((0, exports.number)(min !== null && min !== void 0 ? min : Date.now() - 30 * DAY, max !== null && max !== void 0 ? max : Date.now() + 7 * DAY)).toISOString();
|
|
105
|
+
};
|
|
106
|
+
exports.datetime = datetime;
|
|
70
107
|
var date = function (min, max) {
|
|
71
|
-
min !== null && min !== void 0 ? min :
|
|
72
|
-
|
|
73
|
-
|
|
108
|
+
return new Date((0, exports.number)(min !== null && min !== void 0 ? min : 0, max !== null && max !== void 0 ? max : Date.now() * 2))
|
|
109
|
+
.toISOString()
|
|
110
|
+
.substring(0, 10);
|
|
74
111
|
};
|
|
75
112
|
exports.date = date;
|
|
76
|
-
var
|
|
77
|
-
|
|
78
|
-
max !== null && max !== void 0 ? max : (max = Date.now() + 7 * DAY);
|
|
79
|
-
return new Date((0, exports.number)(min, max)).toISOString();
|
|
113
|
+
var time = function () {
|
|
114
|
+
return new Date((0, exports.number)(0, DAY)).toISOString().substring(11, 23);
|
|
80
115
|
};
|
|
81
|
-
exports.
|
|
116
|
+
exports.time = time;
|
|
117
|
+
var duration = function () {
|
|
118
|
+
var period = durate([
|
|
119
|
+
["Y", (0, exports.integer)(0, 100)],
|
|
120
|
+
["M", (0, exports.integer)(0, 12)],
|
|
121
|
+
["D", (0, exports.integer)(0, 31)],
|
|
122
|
+
]);
|
|
123
|
+
var time = durate([
|
|
124
|
+
["H", (0, exports.integer)(0, 24)],
|
|
125
|
+
["M", (0, exports.integer)(0, 60)],
|
|
126
|
+
["S", (0, exports.integer)(0, 60)],
|
|
127
|
+
]);
|
|
128
|
+
if (period.length + time.length === 0)
|
|
129
|
+
return "PT0S";
|
|
130
|
+
return "P".concat(period).concat(time.length ? "T" : "").concat(time);
|
|
131
|
+
};
|
|
132
|
+
exports.duration = duration;
|
|
133
|
+
// POINTERS
|
|
134
|
+
var jsonPointer = function () { return "/components/schemas/".concat((0, exports.string)(10)); };
|
|
135
|
+
exports.jsonPointer = jsonPointer;
|
|
136
|
+
var relativeJsonPointer = function () { return "".concat((0, exports.integer)(0, 10), "#"); };
|
|
137
|
+
exports.relativeJsonPointer = relativeJsonPointer;
|
|
82
138
|
var DAY = 86400000;
|
|
139
|
+
var durate = function (elements) {
|
|
140
|
+
return elements
|
|
141
|
+
.filter(function (_a) {
|
|
142
|
+
var _b = __read(_a, 2), _unit = _b[0], value = _b[1];
|
|
143
|
+
return value !== 0;
|
|
144
|
+
})
|
|
145
|
+
.map(function (_a) {
|
|
146
|
+
var _b = __read(_a, 2), unit = _b[0], value = _b[1];
|
|
147
|
+
return "".concat(value).concat(unit);
|
|
148
|
+
})
|
|
149
|
+
.join("");
|
|
150
|
+
};
|
|
83
151
|
//# sourceMappingURL=RandomGenerator.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RandomGenerator.js","sourceRoot":"","sources":["../../../src/utils/RandomGenerator/RandomGenerator.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"RandomGenerator.js","sourceRoot":"","sources":["../../../src/utils/RandomGenerator/RandomGenerator.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "typia",
|
|
3
|
-
"version": "5.
|
|
3
|
+
"version": "5.4.0",
|
|
4
4
|
"description": "Superfast runtime validators with only one line",
|
|
5
5
|
"main": "lib/index.js",
|
|
6
6
|
"typings": "lib/index.d.ts",
|
|
@@ -70,7 +70,7 @@
|
|
|
70
70
|
"randexp": "^0.5.3"
|
|
71
71
|
},
|
|
72
72
|
"peerDependencies": {
|
|
73
|
-
"typescript": ">=4.8.0 <5.
|
|
73
|
+
"typescript": ">=4.8.0 <5.5.0"
|
|
74
74
|
},
|
|
75
75
|
"devDependencies": {
|
|
76
76
|
"@trivago/prettier-plugin-sort-imports": "^3.3.0",
|
package/src/IRandomGenerator.ts
CHANGED
|
@@ -1,22 +1,45 @@
|
|
|
1
1
|
import { Customizable } from "./typings/Customizable";
|
|
2
2
|
|
|
3
3
|
export interface IRandomGenerator {
|
|
4
|
+
// REGULAR
|
|
4
5
|
boolean(): boolean;
|
|
5
6
|
integer(minimum?: number, maximum?: number): number;
|
|
6
|
-
number(minimum?: number, maximum?: number): number;
|
|
7
7
|
bigint(minimum?: bigint, maximum?: bigint): bigint;
|
|
8
|
+
number(minimum?: number, maximum?: number): number;
|
|
8
9
|
string(length?: number): string;
|
|
10
|
+
|
|
9
11
|
array<T>(closure: (index: number) => T, count?: number): T[];
|
|
10
12
|
length(): number;
|
|
13
|
+
pattern(regex: RegExp): string;
|
|
11
14
|
|
|
15
|
+
//----
|
|
16
|
+
// FORMAT
|
|
17
|
+
//----
|
|
18
|
+
// SPECIAL CHARACTERS
|
|
19
|
+
byte(): string;
|
|
20
|
+
password(): string;
|
|
21
|
+
regex(): string;
|
|
12
22
|
uuid(): string;
|
|
23
|
+
|
|
24
|
+
// ADDRESSES
|
|
13
25
|
email(): string;
|
|
14
|
-
|
|
26
|
+
hostname(): string;
|
|
15
27
|
ipv4(): string;
|
|
16
28
|
ipv6(): string;
|
|
17
|
-
|
|
18
|
-
|
|
29
|
+
uri(): string;
|
|
30
|
+
uriReference(): string;
|
|
31
|
+
uriTemplate(): string;
|
|
32
|
+
url(): string;
|
|
33
|
+
|
|
34
|
+
// TIMESTAMPS
|
|
19
35
|
datetime(minimum?: number, maximum?: number): string;
|
|
36
|
+
date(minimum?: number, maximum?: number): string;
|
|
37
|
+
time(): string;
|
|
38
|
+
duration(): string;
|
|
39
|
+
|
|
40
|
+
// POINTERS
|
|
41
|
+
jsonPointer(): string;
|
|
42
|
+
relativeJsonPointer(): string;
|
|
20
43
|
|
|
21
44
|
customs?: IRandomGenerator.CustomMap;
|
|
22
45
|
}
|
|
@@ -21,6 +21,7 @@ import { TransformerError } from "../transformers/TransformerError";
|
|
|
21
21
|
|
|
22
22
|
import { Escaper } from "../utils/Escaper";
|
|
23
23
|
|
|
24
|
+
import { Format } from "../tags";
|
|
24
25
|
import { FunctionImporter } from "./helpers/FunctionImporeter";
|
|
25
26
|
import { RandomJoiner } from "./helpers/RandomJoiner";
|
|
26
27
|
import { RandomRanger } from "./helpers/RandomRanger";
|
|
@@ -383,9 +384,7 @@ export namespace RandomProgrammer {
|
|
|
383
384
|
for (const t of tags)
|
|
384
385
|
if (t.kind === "format")
|
|
385
386
|
return ts.factory.createCallExpression(
|
|
386
|
-
COALESCE(importer)(
|
|
387
|
-
t.value === "date-time" ? "datetime" : t.value,
|
|
388
|
-
),
|
|
387
|
+
COALESCE(importer)(emendFormat(t.value)),
|
|
389
388
|
undefined,
|
|
390
389
|
undefined,
|
|
391
390
|
);
|
|
@@ -823,3 +822,15 @@ const COALESCE = (importer: FunctionImporter) => (name: string) =>
|
|
|
823
822
|
ts.factory.createStringLiteral(name),
|
|
824
823
|
),
|
|
825
824
|
)(IdentifierFactory.access(importer.use("generator"))(name));
|
|
825
|
+
|
|
826
|
+
const emendFormat = (key: keyof Format.Validator) =>
|
|
827
|
+
key === "date-time"
|
|
828
|
+
? "datetime"
|
|
829
|
+
: key
|
|
830
|
+
.split("-")
|
|
831
|
+
.map((str, i) =>
|
|
832
|
+
i === 0 || str.length === 0
|
|
833
|
+
? str
|
|
834
|
+
: str[0]!.toUpperCase() + str.substring(1),
|
|
835
|
+
)
|
|
836
|
+
.join("");
|
|
@@ -42,7 +42,27 @@ export namespace IJsonSchema {
|
|
|
42
42
|
minLength?: undefined | (number & Type<"uint32">);
|
|
43
43
|
maxLength?: undefined | (number & Type<"uint32">);
|
|
44
44
|
pattern?: undefined | string;
|
|
45
|
-
format?:
|
|
45
|
+
format?:
|
|
46
|
+
| undefined
|
|
47
|
+
| "byte"
|
|
48
|
+
| "password"
|
|
49
|
+
| "regex"
|
|
50
|
+
| "uuid"
|
|
51
|
+
| "email"
|
|
52
|
+
| "hostname"
|
|
53
|
+
| "ipv4"
|
|
54
|
+
| "ipv6"
|
|
55
|
+
| "uri"
|
|
56
|
+
| "uri-reference"
|
|
57
|
+
| "uri-template"
|
|
58
|
+
| "url"
|
|
59
|
+
| "date-time"
|
|
60
|
+
| "date"
|
|
61
|
+
| "time"
|
|
62
|
+
| "duration"
|
|
63
|
+
| "json-pointer"
|
|
64
|
+
| "relative-json-pointer"
|
|
65
|
+
| (string & {});
|
|
46
66
|
"x-typia-typeTags"?: undefined | IMetadataTypeTag[];
|
|
47
67
|
}
|
|
48
68
|
export interface INumber extends IAtomic<"number"> {
|
package/src/tags/Format.ts
CHANGED
|
@@ -1,30 +1,40 @@
|
|
|
1
1
|
import { TagBase } from "./TagBase";
|
|
2
2
|
|
|
3
|
-
export type Format<
|
|
4
|
-
Value extends
|
|
5
|
-
| "email"
|
|
6
|
-
| "uuid"
|
|
7
|
-
| "ipv4"
|
|
8
|
-
| "ipv6"
|
|
9
|
-
| "url"
|
|
10
|
-
| "date"
|
|
11
|
-
| "date-time",
|
|
12
|
-
> = TagBase<{
|
|
3
|
+
export type Format<Value extends keyof Format.Validator> = TagBase<{
|
|
13
4
|
target: "string";
|
|
14
5
|
kind: "format";
|
|
15
6
|
value: Value;
|
|
16
|
-
validate: Value
|
|
17
|
-
? `/^(([^<>()[\\]\\.,;:\\s@\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$/i.test($input)`
|
|
18
|
-
: Value extends "uuid"
|
|
19
|
-
? `/^(?:[0-9a-f]{8}-[0-9a-f]{4}-[1-5][0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}|00000000-0000-0000-0000-000000000000)$/i.test($input)`
|
|
20
|
-
: Value extends "ipv4"
|
|
21
|
-
? `/^(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test($input)`
|
|
22
|
-
: Value extends "ipv6"
|
|
23
|
-
? `/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/.test($input)`
|
|
24
|
-
: Value extends "url"
|
|
25
|
-
? `/^[a-zA-Z0-9]+:\\/\\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test($input)`
|
|
26
|
-
: Value extends "date"
|
|
27
|
-
? `/^(\\d{4})-(\\d{2})-(\\d{2})$/.test($input)`
|
|
28
|
-
: `!isNaN(new Date($input).getTime())`;
|
|
7
|
+
validate: Format.Validator[Value];
|
|
29
8
|
exclusive: ["format", "pattern"];
|
|
30
9
|
}>;
|
|
10
|
+
export namespace Format {
|
|
11
|
+
// reference: https://github.dev/ajv-validator/ajv-formats/blob/master/src/formats.ts
|
|
12
|
+
export type Validator = {
|
|
13
|
+
// SPECIAL CHARACTERS
|
|
14
|
+
byte: RegexCall<`/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm`>;
|
|
15
|
+
password: `true`;
|
|
16
|
+
regex: `(() => { try { new RegExp($input); return true; } catch { return false; } })()`;
|
|
17
|
+
uuid: RegexCall<`/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i`>;
|
|
18
|
+
|
|
19
|
+
// ADDRESSES
|
|
20
|
+
email: RegexCall<`/^[a-z0-9!#$%&'*+/=?^_\`{|}~-]+(?:\\.[a-z0-9!#$%&'*+/=?^_\`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i`>;
|
|
21
|
+
hostname: RegexCall<`/^(?=.{1,253}\\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\\.?$/i`>;
|
|
22
|
+
ipv4: RegexCall<`/^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/`>;
|
|
23
|
+
ipv6: RegexCall<`/^((([0-9a-f]{1,4}:){7}([0-9a-f]{1,4}|:))|(([0-9a-f]{1,4}:){6}(:[0-9a-f]{1,4}|((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(([0-9a-f]{1,4}:){4}(((:[0-9a-f]{1,4}){1,3})|((:[0-9a-f]{1,4})?:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){3}(((:[0-9a-f]{1,4}){1,4})|((:[0-9a-f]{1,4}){0,2}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){2}(((:[0-9a-f]{1,4}){1,5})|((:[0-9a-f]{1,4}){0,3}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(([0-9a-f]{1,4}:){1}(((:[0-9a-f]{1,4}){1,6})|((:[0-9a-f]{1,4}){0,4}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(:(((:[0-9a-f]{1,4}){1,7})|((:[0-9a-f]{1,4}){0,5}:((25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))$/i`>;
|
|
24
|
+
uri: `${RegexCall<`/\\/|:/`>} && ${RegexCall<`/^(?:[a-z][a-z0-9+\\-.]*:)(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\\?(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i`>}`;
|
|
25
|
+
"uri-reference": RegexCall<`/^(?:[a-z][a-z0-9+\\-.]*:)?(?:\\/?\\/(?:(?:[a-z0-9\\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\\.[a-z0-9\\-._~!$&'()*+,;=:]+)\\]|(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)|(?:[a-z0-9\\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\\d*)?(?:\\/(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\\/(?:(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\\/(?:[a-z0-9\\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\\?(?:[a-z0-9\\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i`>;
|
|
26
|
+
"uri-template": RegexCall<`/^(?:(?:[^\\x00-\\x20"'<>%\\\\^\`{|}]|%[0-9a-f]{2})|\\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\\*)?)*\\})*$/i`>;
|
|
27
|
+
url: RegexCall<`/^(?:https?|ftp):\\/\\/(?:\\S+(?::\\S*)?@)?(?:(?!(?:10|127)(?:\\.\\d{1,3}){3})(?!(?:169\\.254|192\\.168)(?:\\.\\d{1,3}){2})(?!172\\.(?:1[6-9]|2\\d|3[0-1])(?:\\.\\d{1,3}){2})(?:[1-9]\\d?|1\\d\\d|2[01]\\d|22[0-3])(?:\\.(?:1?\\d{1,2}|2[0-4]\\d|25[0-5])){2}(?:\\.(?:[1-9]\\d?|1\\d\\d|2[0-4]\\d|25[0-4]))|(?:(?:[a-z0-9\\u{00a1}-\\u{ffff}]+-)*[a-z0-9\\u{00a1}-\\u{ffff}]+)(?:\\.(?:[a-z0-9\\u{00a1}-\\u{ffff}]+-)*[a-z0-9\\u{00a1}-\\u{ffff}]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu`>;
|
|
28
|
+
|
|
29
|
+
// TIMESTAMPS
|
|
30
|
+
"date-time": `!isNaN(new Date($input).getTime())`;
|
|
31
|
+
date: RegexCall<`/^(\\d{4})-(\\d{2})-(\\d{2})$/`>;
|
|
32
|
+
time: RegexCall<`/^(\\d\\d):(\\d\\d):(\\d\\d(?:\\.\\d+)?)(z|([+-])(\\d\\d)(?::?(\\d\\d))?)?$/i`>;
|
|
33
|
+
duration: RegexCall<`/^P(?!$)((\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?|(\\d+W)?)$/`>;
|
|
34
|
+
|
|
35
|
+
// POINTERS
|
|
36
|
+
"json-pointer": RegexCall<`/^(?:\\/(?:[^~/]|~0|~1)*)*$/`>;
|
|
37
|
+
"relative-json-pointer": RegexCall<`/^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/`>;
|
|
38
|
+
};
|
|
39
|
+
type RegexCall<Exp extends string> = `${Exp}.test($input)`;
|
|
40
|
+
}
|
|
@@ -3,28 +3,21 @@ import RandExp from "randexp";
|
|
|
3
3
|
const ALPHABETS = "abcdefghijklmnopqrstuvwxyz";
|
|
4
4
|
|
|
5
5
|
/* -----------------------------------------------------------
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
REGULAR
|
|
7
|
+
----------------------------------------------------------- */
|
|
8
8
|
export const boolean = () => Math.random() < 0.5;
|
|
9
|
-
|
|
10
9
|
export const integer = (min?: number, max?: number) => {
|
|
11
10
|
min ??= 0;
|
|
12
11
|
max ??= 100;
|
|
13
12
|
return Math.floor(Math.random() * (max - min + 1)) + min;
|
|
14
13
|
};
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
min ??= BigInt(0);
|
|
18
|
-
max ??= BigInt(100);
|
|
19
|
-
return BigInt(integer(Number(min), Number(max)));
|
|
20
|
-
};
|
|
21
|
-
|
|
14
|
+
export const bigint = (min?: bigint, max?: bigint) =>
|
|
15
|
+
BigInt(integer(Number(min ?? BigInt(0)), Number(max ?? BigInt(100))));
|
|
22
16
|
export const number = (min?: number, max?: number) => {
|
|
23
17
|
min ??= 0;
|
|
24
18
|
max ??= 100;
|
|
25
19
|
return Math.random() * (max - min) + min;
|
|
26
20
|
};
|
|
27
|
-
|
|
28
21
|
export const string = (length?: number): string =>
|
|
29
22
|
new Array(length ?? integer(5, 10))
|
|
30
23
|
.fill(0)
|
|
@@ -33,14 +26,18 @@ export const string = (length?: number): string =>
|
|
|
33
26
|
|
|
34
27
|
export const array = <T>(closure: (index: number) => T, count?: number): T[] =>
|
|
35
28
|
new Array(count ?? length()).fill(0).map((_e, index) => closure(index));
|
|
36
|
-
|
|
37
29
|
export const pick = <T>(array: T[]): T => array[integer(0, array.length - 1)]!;
|
|
38
|
-
|
|
39
30
|
export const length = () => integer(0, 3);
|
|
31
|
+
export const pattern = (regex: RegExp): string => new RandExp(regex).gen();
|
|
40
32
|
|
|
41
33
|
/* -----------------------------------------------------------
|
|
42
|
-
|
|
43
|
-
|
|
34
|
+
SECIAL FORMATS
|
|
35
|
+
----------------------------------------------------------- */
|
|
36
|
+
// SPECIAL CHARACTERS
|
|
37
|
+
export const byte = () => "vt7ekz4lIoNTTS9sDQYdWKharxIFAR54+z/umIxSgUM=";
|
|
38
|
+
export const password = () => string(integer(4, 16));
|
|
39
|
+
export const regex = () =>
|
|
40
|
+
"/^(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]?\\d)$/";
|
|
44
41
|
export const uuid = () =>
|
|
45
42
|
"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
46
43
|
const r = (Math.random() * 16) | 0;
|
|
@@ -48,27 +45,50 @@ export const uuid = () =>
|
|
|
48
45
|
return v.toString(16);
|
|
49
46
|
});
|
|
50
47
|
|
|
48
|
+
// ADDRESSES
|
|
51
49
|
export const email = () => `${string(10)}@${string(10)}.${string(3)}`;
|
|
52
|
-
|
|
53
|
-
export const url = () => `https://${string(10)}.${string(3)}`;
|
|
54
|
-
|
|
50
|
+
export const hostname = () => `${string(10)}.${string(3)}`;
|
|
55
51
|
export const ipv4 = () => array(() => integer(0, 255), 4).join(".");
|
|
56
|
-
|
|
57
52
|
export const ipv6 = (): string =>
|
|
58
53
|
array(() => integer(0, 65535).toString(16), 8).join(":");
|
|
54
|
+
export const uri = () => url();
|
|
55
|
+
export const uriReference = () => url();
|
|
56
|
+
export const uriTemplate = () => url();
|
|
57
|
+
export const url = () => `https://${string(10)}.${string(3)}`;
|
|
59
58
|
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
59
|
+
// TIMESTAMPS
|
|
60
|
+
export const datetime = (min?: number, max?: number) =>
|
|
61
|
+
new Date(
|
|
62
|
+
number(min ?? Date.now() - 30 * DAY, max ?? Date.now() + 7 * DAY),
|
|
63
|
+
).toISOString();
|
|
64
|
+
export const date = (min?: number, max?: number) =>
|
|
65
|
+
new Date(number(min ?? 0, max ?? Date.now() * 2))
|
|
66
|
+
.toISOString()
|
|
67
|
+
.substring(0, 10);
|
|
68
|
+
export const time = () =>
|
|
69
|
+
new Date(number(0, DAY)).toISOString().substring(11, 23);
|
|
70
|
+
export const duration = () => {
|
|
71
|
+
const period: string = durate([
|
|
72
|
+
["Y", integer(0, 100)],
|
|
73
|
+
["M", integer(0, 12)],
|
|
74
|
+
["D", integer(0, 31)],
|
|
75
|
+
]);
|
|
76
|
+
const time: string = durate([
|
|
77
|
+
["H", integer(0, 24)],
|
|
78
|
+
["M", integer(0, 60)],
|
|
79
|
+
["S", integer(0, 60)],
|
|
80
|
+
]);
|
|
81
|
+
if (period.length + time.length === 0) return "PT0S";
|
|
82
|
+
return `P${period}${time.length ? "T" : ""}${time}`;
|
|
66
83
|
};
|
|
67
84
|
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
return new Date(number(min, max)).toISOString();
|
|
72
|
-
};
|
|
85
|
+
// POINTERS
|
|
86
|
+
export const jsonPointer = () => `/components/schemas/${string(10)}`;
|
|
87
|
+
export const relativeJsonPointer = () => `${integer(0, 10)}#`;
|
|
73
88
|
|
|
74
89
|
const DAY = 86400000;
|
|
90
|
+
const durate = (elements: [string, number][]) =>
|
|
91
|
+
elements
|
|
92
|
+
.filter(([_unit, value]) => value !== 0)
|
|
93
|
+
.map(([unit, value]) => `${value}${unit}`)
|
|
94
|
+
.join("");
|