typia 5.4.0 → 5.4.1-dev.20240126

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.
@@ -14,6 +14,10 @@ export interface IRandomGenerator {
14
14
  uuid(): string;
15
15
  email(): string;
16
16
  hostname(): string;
17
+ idnEmail(): string;
18
+ idnHostname(): string;
19
+ iri(): string;
20
+ iriReference(): string;
17
21
  ipv4(): string;
18
22
  ipv6(): string;
19
23
  uri(): string;
@@ -38,6 +38,7 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.MetadataCommentTagFactory = void 0;
40
40
  var Writable_1 = require("../typings/Writable");
41
+ var FormatCheatSheet_1 = require("../tags/internal/FormatCheatSheet");
41
42
  var MetadataTypeTagFactory_1 = require("./MetadataTypeTagFactory");
42
43
  /**
43
44
  * Extremely hard coded, but no reason to maintain.
@@ -514,45 +515,11 @@ var parse_integer = function (report) {
514
515
  };
515
516
  };
516
517
  };
517
- var FORMATS = new Map([
518
- [
519
- "email",
520
- [
521
- "email",
522
- "/^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i.test($input)",
523
- ],
524
- ],
525
- [
526
- "uuid",
527
- [
528
- "uuid",
529
- "/^(?:[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)",
530
- ],
531
- ],
532
- [
533
- "ipv4",
534
- [
535
- "ipv4",
536
- "/^(?: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)",
537
- ],
538
- ],
539
- [
540
- "ipv6",
541
- [
542
- "ipv6",
543
- "/^(([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)",
544
- ],
545
- ],
546
- [
547
- "url",
548
- [
549
- "url",
550
- "/^[a-zA-Z0-9]+:\\/\\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test($input)",
551
- ],
552
- ],
553
- ["date", ["date", "/^(\\d{4})-(\\d{2})-(\\d{2})$/.test($input)"]],
518
+ var FORMATS = new Map(__spreadArray(__spreadArray([], __read(Object.entries(FormatCheatSheet_1.FormatCheatSheet).map(function (_a) {
519
+ var _b = __read(_a, 2), key = _b[0], value = _b[1];
520
+ return [key, [key, value]];
521
+ })), false), [
554
522
  ["datetime", ["date-time", "!isNaN(new Date($input).getTime())"]],
555
- ["date-time", ["date-time", "!isNaN(new Date($input).getTime())"]],
556
523
  ["dateTime", ["date-time", "!isNaN(new Date($input).getTime())"]],
557
- ]);
524
+ ], false));
558
525
  //# sourceMappingURL=MetadataCommentTagFactory.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"MetadataCommentTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataCommentTagFactory.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"MetadataCommentTagFactory.js","sourceRoot":"","sources":["../../src/factories/MetadataCommentTagFactory.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 | "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 & {});
21
+ format?: undefined | "byte" | "password" | "regex" | "uuid" | "email" | "hostname" | "idn-email" | "idn-hostname" | "iri" | "iri-reference" | "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"> {
@@ -1,4 +1,5 @@
1
- import { TagBase } from "./TagBase";
1
+ import type { TagBase } from "./TagBase";
2
+ import type { FormatCheatSheet } from "./internal/FormatCheatSheet";
2
3
  export type Format<Value extends keyof Format.Validator> = TagBase<{
3
4
  target: "string";
4
5
  kind: "format";
@@ -7,26 +8,5 @@ export type Format<Value extends keyof Format.Validator> = TagBase<{
7
8
  exclusive: ["format", "pattern"];
8
9
  }>;
9
10
  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 {};
11
+ type Validator = typeof FormatCheatSheet;
32
12
  }
@@ -0,0 +1,27 @@
1
+ /**
2
+ * @reference https://github.dev/ajv-validator/ajv-formats/blob/master/src/formats.ts
3
+ */
4
+ export declare const FormatCheatSheet: {
5
+ readonly byte: "/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm.test($input)";
6
+ readonly password: "true";
7
+ readonly regex: "(() => { try { new RegExp($input); return true; } catch { return false; } })()";
8
+ readonly uuid: "/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i.test($input)";
9
+ readonly email: "/^[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.test($input)";
10
+ readonly hostname: "/^(?=.{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.test($input)";
11
+ readonly "idn-email": "/^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i.test($input)";
12
+ readonly "idn-hostname": "/^([a-z0-9\\u00a1-\\uffff0-9]+(-[a-z0-9\\u00a1-\\uffff0-9]+)*\\.)+[a-z\\u00a1-\\uffff]{2,}$/i.test($input)";
13
+ readonly iri: "/^[A-Za-z][\\d+-.A-Za-z]*:[^\\u0000-\\u0020\"<>\\\\^`{|}]*$/u.test($input)";
14
+ readonly "iri-reference": "/^[A-Za-z][\\d+-.A-Za-z]*:[^\\u0000-\\u0020\"<>\\\\^`{|}]*$/u.test($input)";
15
+ readonly ipv4: "/^(?:(?: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)$/.test($input)";
16
+ readonly ipv6: "/^((([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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))$/i.test($input)";
17
+ readonly uri: "/\\/|:/.test($input) && /^(?:[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.test($input)";
18
+ readonly "uri-reference": "/^(?:[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.test($input)";
19
+ readonly "uri-template": "/^(?:(?:[^\\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.test($input)";
20
+ readonly url: "/^(?: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.test($input)";
21
+ readonly "date-time": "!isNaN(new Date($input).getTime())";
22
+ readonly date: "/^(\\d{4})-(\\d{2})-(\\d{2})$/.test($input)";
23
+ readonly time: "/^(\\d\\d):(\\d\\d):(\\d\\d(?:\\.\\d+)?)(z|([+-])(\\d\\d)(?::?(\\d\\d))?)?$/i.test($input)";
24
+ readonly duration: "/^P(?!$)((\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?|(\\d+W)?)$/.test($input)";
25
+ readonly "json-pointer": "/^(?:\\/(?:[^~/]|~0|~1)*)*$/.test($input)";
26
+ readonly "relative-json-pointer": "/^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/.test($input)";
27
+ };
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.FormatCheatSheet = void 0;
4
+ var RegexCall = function (text) {
5
+ return "".concat(text, ".test($input)");
6
+ };
7
+ /**
8
+ * @reference https://github.dev/ajv-validator/ajv-formats/blob/master/src/formats.ts
9
+ */
10
+ exports.FormatCheatSheet = {
11
+ // SPECIAL CHARACTERS
12
+ byte: RegexCall("/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm"),
13
+ password: "true",
14
+ regex: "(() => { try { new RegExp($input); return true; } catch { return false; } })()",
15
+ uuid: RegexCall("/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i"),
16
+ // ADDRESSES
17
+ 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"),
18
+ 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"),
19
+ "idn-email": RegexCall("/^(([^<>()[\\]\\.,;:\\s@\\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\\"]+)*)|(\\\".+\\\"))@(([^<>()[\\]\\.,;:\\s@\\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\\"]{2,})$/i"),
20
+ "idn-hostname": RegexCall("/^([a-z0-9\\u00a1-\\uffff0-9]+(-[a-z0-9\\u00a1-\\uffff0-9]+)*\\.)+[a-z\\u00a1-\\uffff]{2,}$/i"),
21
+ iri: RegexCall("/^[A-Za-z][\\d+-.A-Za-z]*:[^\\u0000-\\u0020\"<>\\\\^`{|}]*$/u"),
22
+ "iri-reference": RegexCall("/^[A-Za-z][\\d+-.A-Za-z]*:[^\\u0000-\\u0020\"<>\\\\^`{|}]*$/u"),
23
+ 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)$/"),
24
+ 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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3})|:))|(([0-9a-f]{1,4}:){5}(((:[0-9a-f]{1,4}){1,2})|:((25[0-5]|2[0-4]d|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[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|1dd|[1-9]?d)(.(25[0-5]|2[0-4]d|1dd|[1-9]?d)){3}))|:)))$/i"),
25
+ uri: "".concat(RegexCall("/\\/|:/"), " && ").concat(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-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"),
27
+ "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"),
28
+ 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"),
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
+ // POINTERS
35
+ "json-pointer": RegexCall("/^(?:\\/(?:[^~/]|~0|~1)*)*$/"),
36
+ "relative-json-pointer": RegexCall("/^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/"),
37
+ };
38
+ //# sourceMappingURL=FormatCheatSheet.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FormatCheatSheet.js","sourceRoot":"","sources":["../../../src/tags/internal/FormatCheatSheet.ts"],"names":[],"mappings":";;;AAAA,IAAM,SAAS,GAAG,UAAsB,IAAU;IAChD,OAAA,UAAG,IAAI,kBAAwB;AAA/B,CAA+B,CAAC;AAElC;;GAEG;AACU,QAAA,gBAAgB,GAAG;IAC9B,qBAAqB;IACrB,IAAI,EAAE,SAAS,CACb,sEAAsE,CACvE;IACD,QAAQ,EAAE,MAAM;IAChB,KAAK,EAAE,gFAAgF;IACvF,IAAI,EAAE,SAAS,CACb,gEAAgE,CACjE;IAED,YAAY;IACZ,KAAK,EAAE,SAAS,CACd,8IAAgJ,CACjJ;IACD,QAAQ,EAAE,SAAS,CACjB,4GAA4G,CAC7G;IACD,WAAW,EAAE,SAAS,CACpB,kJAA4I,CAC7I;IACD,cAAc,EAAE,SAAS,CACvB,+FAA+F,CAChG;IACD,GAAG,EAAE,SAAS,CACZ,+DAA+D,CAChE;IACD,eAAe,EAAE,SAAS,CACxB,+DAA+D,CAChE;IACD,IAAI,EAAE,SAAS,CACb,8FAA8F,CAC/F;IACD,IAAI,EAAE,SAAS,CACb,q7BAAo/B,CACr/B;IACD,GAAG,EAAE,UAAG,SAAS,CAAC,SAAS,CAAC,iBAAO,SAAS,CAC1C,oqCAAoqC,CACrqC,CAAE;IACH,eAAe,EAAE,SAAS,CACxB,srCAA8qC,CAC/qC;IACD,cAAc,EAAE,SAAS,CACvB,8LAA8L,CAC/L;IACD,GAAG,EAAE,SAAS,CACZ,+fAA+f,CAChgB;IAED,aAAa;IACb,WAAW,EAAE,oCAAoC;IACjD,IAAI,EAAE,SAAS,CAAC,gCAAgC,CAAC;IACjD,IAAI,EAAE,SAAS,CACb,+EAA+E,CAChF;IACD,QAAQ,EAAE,SAAS,CACjB,kFAAkF,CACnF;IAED,WAAW;IACX,cAAc,EAAE,SAAS,CAAC,8BAA8B,CAAC;IACzD,uBAAuB,EAAE,SAAS,CAChC,qDAAqD,CACtD;CACO,CAAC"}
@@ -13,6 +13,10 @@ export declare const regex: () => string;
13
13
  export declare const uuid: () => string;
14
14
  export declare const email: () => string;
15
15
  export declare const hostname: () => string;
16
+ export declare const idnEmail: () => string;
17
+ export declare const idnHostname: () => string;
18
+ export declare const iri: () => string;
19
+ export declare const iriReference: () => string;
16
20
  export declare const ipv4: () => string;
17
21
  export declare const ipv6: () => string;
18
22
  export declare const uri: () => string;
@@ -19,7 +19,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
19
19
  return (mod && mod.__esModule) ? mod : { "default": mod };
20
20
  };
21
21
  Object.defineProperty(exports, "__esModule", { value: true });
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;
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.iriReference = exports.iri = exports.idnHostname = exports.idnEmail = 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;
23
23
  var randexp_1 = __importDefault(require("randexp"));
24
24
  var ALPHABETS = "abcdefghijklmnopqrstuvwxyz";
25
25
  /* -----------------------------------------------------------
@@ -85,6 +85,14 @@ var email = function () { return "".concat((0, exports.string)(10), "@").concat(
85
85
  exports.email = email;
86
86
  var hostname = function () { return "".concat((0, exports.string)(10), ".").concat((0, exports.string)(3)); };
87
87
  exports.hostname = hostname;
88
+ var idnEmail = function () { return (0, exports.email)(); };
89
+ exports.idnEmail = idnEmail;
90
+ var idnHostname = function () { return (0, exports.hostname)(); };
91
+ exports.idnHostname = idnHostname;
92
+ var iri = function () { return (0, exports.url)(); };
93
+ exports.iri = iri;
94
+ var iriReference = function () { return (0, exports.url)(); };
95
+ exports.iriReference = iriReference;
88
96
  var ipv4 = function () { return (0, exports.array)(function () { return (0, exports.integer)(0, 255); }, 4).join("."); };
89
97
  exports.ipv4 = ipv4;
90
98
  var ipv6 = function () {
@@ -1 +1 @@
1
- {"version":3,"file":"RandomGenerator.js","sourceRoot":"","sources":["../../../src/utils/RandomGenerator/RandomGenerator.ts"],"names":[],"mappings":"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"}
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.4.0",
3
+ "version": "5.4.1-dev.20240126",
4
4
  "description": "Superfast runtime validators with only one line",
5
5
  "main": "lib/index.js",
6
6
  "typings": "lib/index.d.ts",
@@ -24,6 +24,10 @@ export interface IRandomGenerator {
24
24
  // ADDRESSES
25
25
  email(): string;
26
26
  hostname(): string;
27
+ idnEmail(): string;
28
+ idnHostname(): string;
29
+ iri(): string;
30
+ iriReference(): string;
27
31
  ipv4(): string;
28
32
  ipv6(): string;
29
33
  uri(): string;
@@ -5,6 +5,7 @@ import { Metadata } from "../schemas/metadata/Metadata";
5
5
 
6
6
  import { Writable } from "../typings/Writable";
7
7
 
8
+ import { FormatCheatSheet } from "../tags/internal/FormatCheatSheet";
8
9
  import { MetadataFactory } from "./MetadataFactory";
9
10
  import { MetadataTypeTagFactory } from "./MetadataTypeTagFactory";
10
11
 
@@ -451,151 +452,10 @@ const parse_integer =
451
452
  return value;
452
453
  };
453
454
 
454
- type IMetadataCommentTag =
455
- // NUMBER
456
- | IMetadataCommentTag.IType
457
- | IMetadataCommentTag.IMinimum
458
- | IMetadataCommentTag.IMaximum
459
- | IMetadataCommentTag.IExclusiveMinimum
460
- | IMetadataCommentTag.IExclusiveMaximum
461
- | IMetadataCommentTag.IMultipleOf
462
- | IMetadataCommentTag.IStep
463
- // STRING
464
- | IMetadataCommentTag.IFormat
465
- | IMetadataCommentTag.IPattern
466
- | IMetadataCommentTag.ILength
467
- | IMetadataCommentTag.IMinLength
468
- | IMetadataCommentTag.IMaxLength
469
- // ARRAY
470
- | IMetadataCommentTag.IItems
471
- | IMetadataCommentTag.IMinItems
472
- | IMetadataCommentTag.IMaxItems;
473
-
474
- namespace IMetadataCommentTag {
475
- /* -----------------------------------------------------------
476
- NUMBER
477
- ----------------------------------------------------------- */
478
- export interface IType {
479
- kind: "type";
480
- value: "int" | "uint" | "int32" | "uint32" | "int64" | "uint64" | "float";
481
- }
482
-
483
- export interface IMinimum {
484
- kind: "minimum";
485
- value: number;
486
- }
487
-
488
- export interface IMaximum {
489
- kind: "maximum";
490
- value: number;
491
- }
492
-
493
- export interface IExclusiveMinimum {
494
- kind: "exclusiveMinimum";
495
- value: number;
496
- }
497
-
498
- export interface IExclusiveMaximum {
499
- kind: "exclusiveMaximum";
500
- value: number;
501
- }
502
-
503
- export interface IMultipleOf {
504
- kind: "multipleOf";
505
- value: number;
506
- }
507
-
508
- export interface IStep {
509
- kind: "step";
510
- value: number;
511
- }
512
-
513
- /* -----------------------------------------------------------
514
- STRING
515
- ----------------------------------------------------------- */
516
- export interface IFormat {
517
- kind: "format";
518
- value: "uuid" | "email" | "url" | "ipv4" | "ipv6" | "date" | "date-time";
519
- }
520
-
521
- export interface IPattern {
522
- kind: "pattern";
523
- value: string;
524
- }
525
-
526
- export interface ILength {
527
- kind: "length";
528
- value: number;
529
- }
530
-
531
- export interface IMinLength {
532
- kind: "minLength";
533
- value: number;
534
- }
535
-
536
- export interface IMaxLength {
537
- kind: "maxLength";
538
- value: number;
539
- }
540
-
541
- /* -----------------------------------------------------------
542
- ARRAY
543
- ----------------------------------------------------------- */
544
- export interface IItems {
545
- kind: "items";
546
- value: number;
547
- }
548
-
549
- export interface IMinItems {
550
- kind: "minItems";
551
- value: number;
552
- }
553
-
554
- export interface IMaxItems {
555
- kind: "maxItems";
556
- value: number;
557
- }
558
- }
559
-
560
- const FORMATS: Map<string, [IMetadataCommentTag.IFormat["value"], string]> =
561
- new Map([
562
- [
563
- "email",
564
- [
565
- "email",
566
- `/^(([^<>()[\\]\\.,;:\\s@\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$/i.test($input)`,
567
- ],
568
- ],
569
- [
570
- "uuid",
571
- [
572
- "uuid",
573
- `/^(?:[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)`,
574
- ],
575
- ],
576
- [
577
- "ipv4",
578
- [
579
- "ipv4",
580
- `/^(?: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)`,
581
- ],
582
- ],
583
- [
584
- "ipv6",
585
- [
586
- "ipv6",
587
- `/^(([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)`,
588
- ],
589
- ],
590
- [
591
- "url",
592
- [
593
- "url",
594
- `/^[a-zA-Z0-9]+:\\/\\/(?:www.)?[-a-zA-Z0-9@:%._+~#=]{1,256}.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_+.~#?&/=]*)$/.test($input)`,
595
- ],
596
- ],
597
- ["date", ["date", `/^(\\d{4})-(\\d{2})-(\\d{2})$/.test($input)`]],
598
- ["datetime", ["date-time", `!isNaN(new Date($input).getTime())`]],
599
- ["date-time", ["date-time", `!isNaN(new Date($input).getTime())`]],
600
- ["dateTime", ["date-time", `!isNaN(new Date($input).getTime())`]],
601
- ]);
455
+ const FORMATS: Map<string, [string, string]> = new Map([
456
+ ...Object.entries(FormatCheatSheet).map(
457
+ ([key, value]) => [key, [key, value]] as any,
458
+ ),
459
+ ["datetime", ["date-time", `!isNaN(new Date($input).getTime())`]],
460
+ ["dateTime", ["date-time", `!isNaN(new Date($input).getTime())`]],
461
+ ]);
@@ -50,6 +50,10 @@ export namespace IJsonSchema {
50
50
  | "uuid"
51
51
  | "email"
52
52
  | "hostname"
53
+ | "idn-email"
54
+ | "idn-hostname"
55
+ | "iri"
56
+ | "iri-reference"
53
57
  | "ipv4"
54
58
  | "ipv6"
55
59
  | "uri"
@@ -1,4 +1,5 @@
1
- import { TagBase } from "./TagBase";
1
+ import type { TagBase } from "./TagBase";
2
+ import type { FormatCheatSheet } from "./internal/FormatCheatSheet";
2
3
 
3
4
  export type Format<Value extends keyof Format.Validator> = TagBase<{
4
5
  target: "string";
@@ -8,33 +9,5 @@ export type Format<Value extends keyof Format.Validator> = TagBase<{
8
9
  exclusive: ["format", "pattern"];
9
10
  }>;
10
11
  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)`;
12
+ export type Validator = typeof FormatCheatSheet;
40
13
  }
@@ -0,0 +1,71 @@
1
+ const RegexCall = <Text extends string>(text: Text) =>
2
+ `${text}.test($input)` as const;
3
+
4
+ /**
5
+ * @reference https://github.dev/ajv-validator/ajv-formats/blob/master/src/formats.ts
6
+ */
7
+ export const FormatCheatSheet = {
8
+ // SPECIAL CHARACTERS
9
+ byte: RegexCall(
10
+ `/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/gm`,
11
+ ),
12
+ password: `true`,
13
+ regex: `(() => { try { new RegExp($input); return true; } catch { return false; } })()`,
14
+ uuid: RegexCall(
15
+ `/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i`,
16
+ ),
17
+
18
+ // ADDRESSES
19
+ email: RegexCall(
20
+ `/^[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
+ ),
22
+ hostname: RegexCall(
23
+ `/^(?=.{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`,
24
+ ),
25
+ "idn-email": RegexCall(
26
+ `/^(([^<>()[\\]\\.,;:\\s@\\"]+(\\.[^<>()[\\]\\.,;:\\s@\\"]+)*)|(\\".+\\"))@(([^<>()[\\]\\.,;:\\s@\\"]+\\.)+[^<>()[\\]\\.,;:\\s@\\"]{2,})$/i`,
27
+ ),
28
+ "idn-hostname": RegexCall(
29
+ `/^([a-z0-9\\u00a1-\\uffff0-9]+(-[a-z0-9\\u00a1-\\uffff0-9]+)*\\.)+[a-z\\u00a1-\\uffff]{2,}$/i`,
30
+ ),
31
+ iri: RegexCall(
32
+ `/^[A-Za-z][\\d+-.A-Za-z]*:[^\\u0000-\\u0020"<>\\\\^\`{|}]*$/u`,
33
+ ),
34
+ "iri-reference": RegexCall(
35
+ `/^[A-Za-z][\\d+-.A-Za-z]*:[^\\u0000-\\u0020"<>\\\\^\`{|}]*$/u`,
36
+ ),
37
+ ipv4: RegexCall(
38
+ `/^(?:(?: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)$/`,
39
+ ),
40
+ ipv6: RegexCall(
41
+ `/^((([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`,
42
+ ),
43
+ uri: `${RegexCall(`/\\/|:/`)} && ${RegexCall(
44
+ `/^(?:[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`,
45
+ )}`,
46
+ "uri-reference": RegexCall(
47
+ `/^(?:[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`,
48
+ ),
49
+ "uri-template": RegexCall(
50
+ `/^(?:(?:[^\\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`,
51
+ ),
52
+ url: RegexCall(
53
+ `/^(?: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`,
54
+ ),
55
+
56
+ // TIMESTAMPS
57
+ "date-time": `!isNaN(new Date($input).getTime())`,
58
+ date: RegexCall(`/^(\\d{4})-(\\d{2})-(\\d{2})$/`),
59
+ time: RegexCall(
60
+ `/^(\\d\\d):(\\d\\d):(\\d\\d(?:\\.\\d+)?)(z|([+-])(\\d\\d)(?::?(\\d\\d))?)?$/i`,
61
+ ),
62
+ duration: RegexCall(
63
+ `/^P(?!$)((\\d+Y)?(\\d+M)?(\\d+D)?(T(?=\\d)(\\d+H)?(\\d+M)?(\\d+S)?)?|(\\d+W)?)$/`,
64
+ ),
65
+
66
+ // POINTERS
67
+ "json-pointer": RegexCall(`/^(?:\\/(?:[^~/]|~0|~1)*)*$/`),
68
+ "relative-json-pointer": RegexCall(
69
+ `/^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/`,
70
+ ),
71
+ } as const;
@@ -48,6 +48,10 @@ export const uuid = () =>
48
48
  // ADDRESSES
49
49
  export const email = () => `${string(10)}@${string(10)}.${string(3)}`;
50
50
  export const hostname = () => `${string(10)}.${string(3)}`;
51
+ export const idnEmail = () => email();
52
+ export const idnHostname = () => hostname();
53
+ export const iri = () => url();
54
+ export const iriReference = () => url();
51
55
  export const ipv4 = () => array(() => integer(0, 255), 4).join(".");
52
56
  export const ipv6 = (): string =>
53
57
  array(() => integer(0, 65535).toString(16), 8).join(":");