@jarenjs/formats 0.8.2 → 0.8.4
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/dist/index.js +75 -75
- package/dist/index.js.map +3 -3
- package/dist/index.min.js +1 -1
- package/dist/index.min.js.map +4 -4
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -239,7 +239,7 @@ function createRegExp(pattern) {
|
|
|
239
239
|
throw new Error(`Unknown Regular Expression Pattern Type: ${pattern}`);
|
|
240
240
|
}
|
|
241
241
|
|
|
242
|
-
// ../
|
|
242
|
+
// ../core/src/text/punycode.js
|
|
243
243
|
var maxInt = 2147483647;
|
|
244
244
|
var base = 36;
|
|
245
245
|
var tMin = 1;
|
|
@@ -379,151 +379,151 @@ function toASCII(input) {
|
|
|
379
379
|
});
|
|
380
380
|
}
|
|
381
381
|
|
|
382
|
-
// ../
|
|
382
|
+
// ../core/src/text/index.js
|
|
383
383
|
var CONST_REGEXP_ALPHA = /^[a-zA-Z]+$/;
|
|
384
|
-
function
|
|
384
|
+
function isValidAlpha(str) {
|
|
385
385
|
return CONST_REGEXP_ALPHA.test(str);
|
|
386
386
|
}
|
|
387
387
|
var CONST_REGEXP_ALPHANUMERIC = /^[a-zA-Z0-9]+$/;
|
|
388
|
-
function
|
|
388
|
+
function isValidAlphaNumeric(str) {
|
|
389
389
|
return CONST_REGEXP_ALPHANUMERIC.test(str);
|
|
390
390
|
}
|
|
391
391
|
var CONST_REGEXP_NUMERIC = /^[0-9]+$/;
|
|
392
|
-
function
|
|
392
|
+
function isValidNumeric(str) {
|
|
393
393
|
return CONST_REGEXP_NUMERIC.test(str);
|
|
394
394
|
}
|
|
395
395
|
var CONST_REGEXP_HEXADECIMAL = /^[a-fA-F0-9]+$/;
|
|
396
|
-
function
|
|
396
|
+
function isValidHexaDecimal(str) {
|
|
397
397
|
return CONST_REGEXP_HEXADECIMAL.test(str);
|
|
398
398
|
}
|
|
399
399
|
var CONST_REGEXP_HEXCOLOR = /^#(?:[0-9a-f]{3}){1,2}\b$/i;
|
|
400
|
-
function
|
|
400
|
+
function isValidHexColor(str) {
|
|
401
401
|
return CONST_REGEXP_HEXCOLOR.test(str);
|
|
402
402
|
}
|
|
403
403
|
var CONST_REGEXP_UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
|
|
404
|
-
function
|
|
404
|
+
function isValidUUID(str) {
|
|
405
405
|
return CONST_REGEXP_UUID.test(str);
|
|
406
406
|
}
|
|
407
407
|
var CONST_REGEXP_GUID = /^({)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;
|
|
408
|
-
function
|
|
408
|
+
function isValidGUID(str) {
|
|
409
409
|
return CONST_REGEXP_GUID.test(str);
|
|
410
410
|
}
|
|
411
411
|
var CONST_REGEXP_IDENTIFIER = /^[_a-zA-Z]+\w{0,30}$/;
|
|
412
|
-
function
|
|
412
|
+
function isValidIdentifier(str) {
|
|
413
413
|
return (
|
|
414
414
|
/* str != null && */
|
|
415
415
|
CONST_REGEXP_IDENTIFIER.test(str)
|
|
416
416
|
);
|
|
417
417
|
}
|
|
418
418
|
var CONST_REGEXP_HTML_IDENTIFIER = /^[A-Za-z]+[\w\-\:\.]{0,30}$/;
|
|
419
|
-
function
|
|
419
|
+
function isValidHtmlIdentifier(str) {
|
|
420
420
|
return (
|
|
421
421
|
/* str != null && */
|
|
422
422
|
CONST_REGEXP_HTML_IDENTIFIER.test(str)
|
|
423
423
|
);
|
|
424
424
|
}
|
|
425
425
|
var CONST_REGEXP_CSS_IDENTIFIER = /^-?[_a-zA-Z]+[\w-]{0,30}$/;
|
|
426
|
-
function
|
|
426
|
+
function isValidCssIdentifier(str) {
|
|
427
427
|
return (
|
|
428
428
|
/* str != null && */
|
|
429
429
|
CONST_REGEXP_CSS_IDENTIFIER.test(str)
|
|
430
430
|
);
|
|
431
431
|
}
|
|
432
432
|
var CONST_REGEXP_MAC_ADDR = /^(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})(?:(?:\1|\.)(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})){2}$/;
|
|
433
|
-
function
|
|
433
|
+
function isValidMACAddr(str) {
|
|
434
434
|
return CONST_REGEXP_MAC_ADDR.test(str);
|
|
435
435
|
}
|
|
436
436
|
var CONST_REGEXP_IPV4 = /^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/;
|
|
437
|
-
function
|
|
437
|
+
function isValidIPv4(str) {
|
|
438
438
|
return CONST_REGEXP_IPV4.test(str);
|
|
439
439
|
}
|
|
440
440
|
var CONST_REGEXP_IPV6 = /^\s*(?:(?:(?:[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}))|:)))(?:%.+)?\s*$/i;
|
|
441
|
-
function
|
|
441
|
+
function isValidIPv6(str) {
|
|
442
442
|
return CONST_REGEXP_IPV6.test(str);
|
|
443
443
|
}
|
|
444
444
|
var CONST_REGEXP_HOSTNAME = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;
|
|
445
|
-
function
|
|
445
|
+
function isValidHostname(str) {
|
|
446
446
|
return str.length <= 255 && CONST_REGEXP_HOSTNAME.test(str);
|
|
447
447
|
}
|
|
448
448
|
var CONST_REGEXP_ACEHOSTNAME = /^(?!-)(xn--)?[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\.(?!-)(xn--)?([a-zA-Z0-9\-]{1,50}|[a-zA-Z0-9-]{1,30}\.[a-zA-Z]{2,})$/;
|
|
449
|
-
function
|
|
449
|
+
function isValidIdnHostname(str) {
|
|
450
450
|
const punycode = toASCII(str);
|
|
451
451
|
return CONST_REGEXP_ACEHOSTNAME.test(punycode);
|
|
452
452
|
}
|
|
453
453
|
var CONST_REGEXP_URL = /^[(http(s)?):\/\/(www\.)?\w-/=#%&\.\?]{2,}\.[a-z]{2,}([\w-/=#%&\.\?]*)$/i;
|
|
454
|
-
function
|
|
454
|
+
function isValidUrl(str) {
|
|
455
455
|
return CONST_REGEXP_URL.test(str);
|
|
456
456
|
}
|
|
457
457
|
var CONST_REGEXP_NOT_URI_FRAGMENT = /\/|:/;
|
|
458
458
|
var CONST_REGEXP_URI_FAST = /^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i;
|
|
459
|
-
function
|
|
459
|
+
function isValidUri(str) {
|
|
460
460
|
return CONST_REGEXP_NOT_URI_FRAGMENT.test(str) && CONST_REGEXP_URI_FAST.test(str);
|
|
461
461
|
}
|
|
462
462
|
var CONST_REGEXP_URI_FULL = /^(?:[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;
|
|
463
|
-
function
|
|
463
|
+
function isValidUriFull(str) {
|
|
464
464
|
return CONST_REGEXP_NOT_URI_FRAGMENT.test(str) && CONST_REGEXP_URI_FULL.test(str);
|
|
465
465
|
}
|
|
466
466
|
var CONST_REGEXP_URIREF_FAST = /^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i;
|
|
467
|
-
function
|
|
467
|
+
function isValidUriRef(str) {
|
|
468
468
|
return CONST_REGEXP_URIREF_FAST.test(str);
|
|
469
469
|
}
|
|
470
470
|
var CONST_REGEXP_URIREF_FULL = /^(?:[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;
|
|
471
|
-
function
|
|
471
|
+
function isValidUriRefFull(str) {
|
|
472
472
|
return CONST_REGEXP_URIREF_FULL.test(str);
|
|
473
473
|
}
|
|
474
474
|
var CONST_REGEXP_URITEMPLATE = /^(?:(?:[^\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;
|
|
475
|
-
function
|
|
475
|
+
function isValidUriTemplate(str) {
|
|
476
476
|
return CONST_REGEXP_URITEMPLATE.test(str);
|
|
477
477
|
}
|
|
478
478
|
var CONST_REGEXP_ABSOLUTE_IRI = /^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;
|
|
479
|
-
function
|
|
479
|
+
function isValidIRI(str) {
|
|
480
480
|
return CONST_REGEXP_ABSOLUTE_IRI.test(str);
|
|
481
481
|
}
|
|
482
|
-
function
|
|
483
|
-
return
|
|
482
|
+
function isValidIRIRef(str) {
|
|
483
|
+
return isValidUriRef(str);
|
|
484
484
|
}
|
|
485
485
|
var CONST_REGEXP_JSON_POINTER = /^(?:\/(?:[^~/]|~0|~1)*)*$/;
|
|
486
|
-
function
|
|
486
|
+
function isValidJSONPointer(str) {
|
|
487
487
|
return CONST_REGEXP_JSON_POINTER.test(str);
|
|
488
488
|
}
|
|
489
489
|
var CONST_REGEXP_JSON_POINTER_URI_FRAGMENT = /^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;
|
|
490
|
-
function
|
|
490
|
+
function isValidJSONPointerUriFragment(str) {
|
|
491
491
|
return CONST_REGEXP_JSON_POINTER_URI_FRAGMENT.test(str);
|
|
492
492
|
}
|
|
493
493
|
var CONST_REGEXP_RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;
|
|
494
|
-
function
|
|
494
|
+
function isValidRelativeJSONPointer(str) {
|
|
495
495
|
return CONST_REGEXP_RELATIVE_JSON_POINTER.test(str);
|
|
496
496
|
}
|
|
497
497
|
var CONST_REGEXP_EMAIL_FAST = /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;
|
|
498
|
-
function
|
|
498
|
+
function isValidEmail(str) {
|
|
499
499
|
return CONST_REGEXP_EMAIL_FAST.test(str);
|
|
500
500
|
}
|
|
501
501
|
var CONST_REGEXP_EMAIL_FULL = /^[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;
|
|
502
|
-
function
|
|
502
|
+
function isValidEmailFull(str) {
|
|
503
503
|
return CONST_REGEXP_EMAIL_FULL.test(str);
|
|
504
504
|
}
|
|
505
505
|
var CONST_REGEXP_IDNEMAIL = /^[^@]+@[^@]+\.[^@]+$/;
|
|
506
|
-
function
|
|
506
|
+
function isValidIdnEmail(str) {
|
|
507
507
|
return CONST_REGEXP_IDNEMAIL.test(str);
|
|
508
508
|
}
|
|
509
509
|
var CONST_REGPEXP_ISBN10 = /^(?:ISBN(?:-10)?:?\ *((?=\d{1,5}([ -]?)\d{1,7}\2?\d{1,6}\2?\d)(?:\d\2*){9}[\dX]))$/i;
|
|
510
|
-
function
|
|
510
|
+
function isValidISBN10(str) {
|
|
511
511
|
return CONST_REGPEXP_ISBN10.test(str);
|
|
512
512
|
}
|
|
513
513
|
var CONST_REGEXP_ISBN13 = /^(?:ISBN(?:-13)?:?\ *(97(?:8|9)([ -]?)(?=\d{1,5}\2?\d{1,7}\2?\d{1,6}\2?\d)(?:\d\2*){9}\d))$/i;
|
|
514
|
-
function
|
|
514
|
+
function isValidISBN13(str) {
|
|
515
515
|
return CONST_REGEXP_ISBN13.test(str);
|
|
516
516
|
}
|
|
517
517
|
var CONST_REGEXP_BASE64 = /^(?:[a-zA-Z0-9+\/]{4})*(?:|(?:[a-zA-Z0-9+\/]{3}=)|(?:[a-zA-Z0-9+\/]{2}==)|(?:[a-zA-Z0-9+\/]{1}===))$/;
|
|
518
|
-
function
|
|
518
|
+
function isValidBase64(str) {
|
|
519
519
|
return CONST_REGEXP_BASE64.test(str);
|
|
520
520
|
}
|
|
521
521
|
var CONST_REGEXP_COUNTRY_ALPHA2 = /^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW|XK)/i;
|
|
522
|
-
function
|
|
522
|
+
function isValidCountryAlpha2(str) {
|
|
523
523
|
return CONST_REGEXP_COUNTRY_ALPHA2.test(str);
|
|
524
524
|
}
|
|
525
525
|
var CONST_REGEXP_IBAN = /^([A-Z]{2}[ '+'\\\\'+'-]?[0-9]{2})(?=(?:[ '+'\\\\'+'-]?[A-Z0-9]){9,30}\$)((?:[ '+'\\\\'+'-]?[A-Z0-9]{3,5}){2,7})([ '+'\\\\'+'-]?[A-Z0-9]{1,3})?\$/i;
|
|
526
|
-
function
|
|
526
|
+
function isValidIBAN(str) {
|
|
527
527
|
return CONST_REGEXP_IBAN.test(str);
|
|
528
528
|
}
|
|
529
529
|
|
|
@@ -539,48 +539,48 @@ function createStringFormatCompiler(formatName, isFormatTest) {
|
|
|
539
539
|
};
|
|
540
540
|
}
|
|
541
541
|
var formatValidators2 = {
|
|
542
|
-
"alpha": createStringFormatCompiler("alpha",
|
|
543
|
-
"alphanumeric": createStringFormatCompiler("alphanumeric",
|
|
544
|
-
"identifier": createStringFormatCompiler("identifier",
|
|
545
|
-
"html-identifier": createStringFormatCompiler("html-identifier",
|
|
546
|
-
"css-identifier": createStringFormatCompiler("css-identifier",
|
|
547
|
-
"hexadecimal": createStringFormatCompiler("hexadecimal",
|
|
548
|
-
"numeric": createStringFormatCompiler("numeric",
|
|
542
|
+
"alpha": createStringFormatCompiler("alpha", isValidAlpha),
|
|
543
|
+
"alphanumeric": createStringFormatCompiler("alphanumeric", isValidAlphaNumeric),
|
|
544
|
+
"identifier": createStringFormatCompiler("identifier", isValidIdentifier),
|
|
545
|
+
"html-identifier": createStringFormatCompiler("html-identifier", isValidHtmlIdentifier),
|
|
546
|
+
"css-identifier": createStringFormatCompiler("css-identifier", isValidCssIdentifier),
|
|
547
|
+
"hexadecimal": createStringFormatCompiler("hexadecimal", isValidHexaDecimal),
|
|
548
|
+
"numeric": createStringFormatCompiler("numeric", isValidNumeric),
|
|
549
549
|
"uppercase": createStringFormatCompiler("uppercase", isStringUpperCase),
|
|
550
550
|
"lowercase": createStringFormatCompiler("lowercase", isStringLowerCase),
|
|
551
|
-
"color": createStringFormatCompiler("color",
|
|
551
|
+
"color": createStringFormatCompiler("color", isValidHexColor),
|
|
552
552
|
"regex": createStringFormatCompiler("regex", isStringRegExp),
|
|
553
|
-
"uri": createStringFormatCompiler("uri",
|
|
554
|
-
"uri--full": createStringFormatCompiler("uri--full",
|
|
555
|
-
"uri-reference": createStringFormatCompiler("uri-reference",
|
|
556
|
-
"uri-reference--full": createStringFormatCompiler("uri-reference--full",
|
|
557
|
-
"uri-template": createStringFormatCompiler("uri-template",
|
|
558
|
-
"url": createStringFormatCompiler("url",
|
|
559
|
-
"url--full": createStringFormatCompiler("url--full",
|
|
560
|
-
"email": createStringFormatCompiler("email",
|
|
561
|
-
"email--full": createStringFormatCompiler("email--full",
|
|
562
|
-
"hostname": createStringFormatCompiler("hostname",
|
|
563
|
-
"idn-email": createStringFormatCompiler("idn-email",
|
|
564
|
-
"idn-hostname": createStringFormatCompiler("idn-hostname",
|
|
565
|
-
"ipv4": createStringFormatCompiler("ipv4",
|
|
566
|
-
"ipv6": createStringFormatCompiler("ipv6",
|
|
567
|
-
"uuid": createStringFormatCompiler("uuid",
|
|
568
|
-
"guid": createStringFormatCompiler("guid",
|
|
569
|
-
"json-pointer": createStringFormatCompiler("json-pointer",
|
|
570
|
-
"json-pointer-uri-fragment": createStringFormatCompiler("json-pointer-uri-fragment",
|
|
571
|
-
"relative-json-pointer": createStringFormatCompiler("relative-json-pointer",
|
|
572
|
-
"iri": createStringFormatCompiler("iri",
|
|
573
|
-
"iri-reference": createStringFormatCompiler("iri-reference",
|
|
574
|
-
"isbn10": createStringFormatCompiler("isbn10",
|
|
575
|
-
"isbn13": createStringFormatCompiler("isbn13",
|
|
576
|
-
"mac": createStringFormatCompiler("mac",
|
|
577
|
-
"base64": createStringFormatCompiler("base64",
|
|
578
|
-
"byte": createStringFormatCompiler("byte",
|
|
579
|
-
"country2": createStringFormatCompiler("country2",
|
|
580
|
-
"iban": createStringFormatCompiler("iban",
|
|
553
|
+
"uri": createStringFormatCompiler("uri", isValidUri),
|
|
554
|
+
"uri--full": createStringFormatCompiler("uri--full", isValidUriFull),
|
|
555
|
+
"uri-reference": createStringFormatCompiler("uri-reference", isValidUriRef),
|
|
556
|
+
"uri-reference--full": createStringFormatCompiler("uri-reference--full", isValidUriRefFull),
|
|
557
|
+
"uri-template": createStringFormatCompiler("uri-template", isValidUriTemplate),
|
|
558
|
+
"url": createStringFormatCompiler("url", isValidUrl),
|
|
559
|
+
"url--full": createStringFormatCompiler("url--full", isValidUrl),
|
|
560
|
+
"email": createStringFormatCompiler("email", isValidEmail),
|
|
561
|
+
"email--full": createStringFormatCompiler("email--full", isValidEmailFull),
|
|
562
|
+
"hostname": createStringFormatCompiler("hostname", isValidHostname),
|
|
563
|
+
"idn-email": createStringFormatCompiler("idn-email", isValidIdnEmail),
|
|
564
|
+
"idn-hostname": createStringFormatCompiler("idn-hostname", isValidIdnHostname),
|
|
565
|
+
"ipv4": createStringFormatCompiler("ipv4", isValidIPv4),
|
|
566
|
+
"ipv6": createStringFormatCompiler("ipv6", isValidIPv6),
|
|
567
|
+
"uuid": createStringFormatCompiler("uuid", isValidUUID),
|
|
568
|
+
"guid": createStringFormatCompiler("guid", isValidGUID),
|
|
569
|
+
"json-pointer": createStringFormatCompiler("json-pointer", isValidJSONPointer),
|
|
570
|
+
"json-pointer-uri-fragment": createStringFormatCompiler("json-pointer-uri-fragment", isValidJSONPointerUriFragment),
|
|
571
|
+
"relative-json-pointer": createStringFormatCompiler("relative-json-pointer", isValidRelativeJSONPointer),
|
|
572
|
+
"iri": createStringFormatCompiler("iri", isValidIRI),
|
|
573
|
+
"iri-reference": createStringFormatCompiler("iri-reference", isValidIRIRef),
|
|
574
|
+
"isbn10": createStringFormatCompiler("isbn10", isValidISBN10),
|
|
575
|
+
"isbn13": createStringFormatCompiler("isbn13", isValidISBN13),
|
|
576
|
+
"mac": createStringFormatCompiler("mac", isValidMACAddr),
|
|
577
|
+
"base64": createStringFormatCompiler("base64", isValidBase64),
|
|
578
|
+
"byte": createStringFormatCompiler("byte", isValidBase64),
|
|
579
|
+
"country2": createStringFormatCompiler("country2", isValidCountryAlpha2),
|
|
580
|
+
"iban": createStringFormatCompiler("iban", isValidIBAN)
|
|
581
581
|
};
|
|
582
582
|
|
|
583
|
-
// ../
|
|
583
|
+
// ../core/src/integer.js
|
|
584
584
|
var INT8_MIN = -128;
|
|
585
585
|
var INT8_MAX = 127;
|
|
586
586
|
function isValidInt8(value) {
|
|
@@ -622,7 +622,7 @@ function isValidUInt64(value) {
|
|
|
622
622
|
return isIntegerType(value) && value >= UINT64_MIN && value <= UINT64_MAX;
|
|
623
623
|
}
|
|
624
624
|
|
|
625
|
-
// ../
|
|
625
|
+
// ../core/src/float.js
|
|
626
626
|
var FLOAT16_MAX = 65504;
|
|
627
627
|
function isValidFloat16(value) {
|
|
628
628
|
return isNumberType(value) && !Number.isNaN(value) && value >= -FLOAT16_MAX && value <= FLOAT16_MAX;
|
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../core/src/index.js", "../../core/src/dates.js", "../src/datetime.js", "../../core/src/string.js", "../../
|
|
4
|
-
"sourcesContent": ["//@ts-check\nexport function isFn(data) {\n return typeof data === 'function';\n}\n\n//#region Scalar Tests\nfunction isScalarTypeEx(typeName) {\n switch (typeName) {\n case 'string':\n case 'number':\n case 'boolean':\n case 'integer':\n case 'bigint':\n return true;\n default:\n return false;\n }\n}\n\nexport function isScalarType(data) {\n return data != null && isScalarTypeEx(typeof data);\n}\n\nexport function isStringType(data) {\n return typeof data === 'string';\n}\n\n/**\n * Checks if the given data is of boolean type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is a boolean, otherwise false.\n */\nexport function isBooleanType(data) {\n return data === true || data === false;\n}\n\n/**\n * Checks if the given data is of number type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is a number, otherwise false.\n */\nexport function isNumberType(data) {\n return data != null && typeof data === 'number';\n}\n\n/**\n * Checks if the given data is an integer type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is an integer, otherwise false.\n */\nexport function isIntegerType(data) {\n return Number.isInteger(data);\n}\n\nexport function isBigIntType(data) {\n return typeof data === 'bigint';\n}\n\n//#endregion\n\n//#region Scalar Getters\n/**\n * Returns the string type of the input object if it is a string; otherwise, returns the default value.\n * \n * @param {any} obj - The input object to check its type.\n * @param {string|undefined} [def=undefined] - The default value to return if the input object is not a string.\n * @returns {string} The string type of the input object or the default value.\n */\nexport function getStringType(obj, def = undefined) {\n return isStringType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a boolean type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {boolean|undefined} [def=undefined] - The default value to return if the object is not a boolean.\n * @returns {boolean|undefined} - The boolean value or the default value.\n */\nexport function getBooleanType(obj, def = undefined) {\n return isBooleanType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a number type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {number|undefined} [def=undefined] - The default value to return if the object is not a number.\n * @returns {number|undefined} - The number value or the default value.\n */\nexport function getNumberType(obj, def = undefined) {\n return isNumberType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is an integer type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {number|undefined} [def=undefined] - The default value to return if the object is not an integer.\n * @returns {number|undefined} - The integer value or the default value.\n */\nexport function getIntegerType(obj, def = undefined) {\n return isIntegerType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a bigint type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {bigint|undefined} [def=undefined] - The default value to return if the object is not a bigint.\n * @returns {bigint|undefined} - The bigint value or the default value.\n */\nexport function getBigIntType(obj, def = undefined) {\n return isBigIntType(obj)\n ? obj\n : def;\n}\n//#endregion\n\n//#region Object Tests\n/**\n * Checks if the input data is null.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is null, otherwise false.\n */\nexport function isNullValue(data) {\n return data === null;\n}\n\n/**\n * Checks if the given data is an object of a specific class.\n *\n * @param {any} data - The data to check.\n * @param {Function} type - The class type to compare against.\n * @returns {boolean} Returns true if the data is an object of the specified class; otherwise, false.\n */\nexport function isObjectOfClass(data, type) {\n return data != null && data.constructor === type;\n}\n\n/**\n * @brief test if data is an object literal\n * @param {*} data the data to test\n * @returns boolean\n */\nexport function isObjectClass(data) {\n return isObjectOfClass(data, Object);\n}\n\n/**\n * Checks if the input data is of type Map.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Map class, otherwise false.\n */\nexport function isMapClass(data) {\n return isObjectOfClass(data, Map);\n}\n\n/**\n * @brief test if data is typeof object but not an Array\n * @param {*} data the data to test\n * @returns boolean\n */\nexport function isObjectType(data) {\n return data != null\n && typeof data === 'object'\n && data.constructor !== Array;\n}\n\n/**\n * Checks if the input data is of type Array.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Array class, otherwise false.\n */\nexport function isArrayClass(data) {\n return isObjectOfClass(data, Array);\n}\n\n/**\n * Checks if the input data is of type Set.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Set class, otherwise false.\n */\nexport function isSetClass(data) {\n return isObjectOfClass(data, Set);\n}\n\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nexport function isTypedArray(data) {\n if (data == null)\n return false;\n const proto = data.__proto__.__proto__;\n return proto != null && proto.constructor === TypedArray;\n}\n//#endregion\n\n//#region Object Getters\nexport function getObjectType(obj, def = undefined) {\n return isObjectClass(obj) ? obj : def;\n}\n\nexport function getArrayClass(obj, def = undefined) {\n return isArrayClass(obj) ? obj : def;\n}\n//#endregion\n\n/**\n * Calculates the inclusive and exclusive bounds based on the provided parameters.\n * \n * @param {function} getType - A function to determine the type of the inclusive and exclusive bounds.\n * @param {number|string|undefined} inclusive - The inclusive bound value.\n * @param {number|string|boolean|undefined} exclusive - The exclusive bound value.\n * @returns {Array} An array containing the inclusive and exclusive bounds.\n */\nexport function getInclusiveExclusiveBounds(getType, inclusive, exclusive) {\n const includes = getType(inclusive);\n const excludes = exclusive === true\n ? includes\n : getType(exclusive);\n return (excludes === undefined)\n ? [includes, undefined]\n : [undefined, excludes];\n}\n", "//@ts-check\n\nimport {\n isStringType,\n isObjectOfClass,\n} from './index.js';\n\n//#region Dates Constants\nexport const CONST_TICKS_SECOND = 1000;\nexport const CONST_TICKS_HOUR = CONST_TICKS_SECOND * 60 * 60;\nexport const CONST_TICKS_DAY = CONST_TICKS_HOUR * 24;\n\nexport const CONST_TIME_INSERTDATE = '1970-01-01T';\nexport const CONST_DATE_APPENDTIME = 'T00:00:00Z';\n\nexport const CONST_RFC3339_DAYS = Object.freeze(\n [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n);\n\n// full-date from http://tools.ietf.org/html/rfc3339#section-5.6\nexport const CONST_RFC3339_REGEX_ISDATE = /^(\\d\\d\\d\\d)-([0-1]\\d)-([0-3]\\d)z?$/i;\n\n// full-date from http://tools.ietf.org/html/rfc3339#section-5.6\nexport const CONST_RFC3339_REGEX_ISTIME = /^(\\d\\d):(\\d\\d):(\\d\\d)(\\.\\d{1,6})?(z|(([+-])(\\d\\d):(\\d\\d)))$/i;\n\n//#endregion\n\n//#region Dates Compare\nexport function isDateType(data) {\n return isObjectOfClass(data, Date);\n}\n\nexport function isDateishType(data) {\n return isDateType(data)\n || !Number.isNaN(Date.parse(data));\n}\n\nexport function isLeapYear(year) {\n // https://tools.ietf.org/html/rfc3339#appendix-C\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function isDateOnlyInRange(year = 0, month = 0, day = 0) {\n return month >= 1\n && month <= 12\n && day >= 1\n && day <= (month === 2 && isLeapYear(year)\n ? 29\n : CONST_RFC3339_DAYS[month]);\n}\n\nexport function isDateOnlyRFC3339(str) {\n if (!isStringType(str))\n return false;\n\n const r = str.match(CONST_RFC3339_REGEX_ISDATE);\n if (r == null)\n return false;\n\n const y = parseInt(r[1], 10) | 0;\n const m = parseInt(r[2], 10) | 0;\n const d = parseInt(r[3], 10) | 0;\n return isDateOnlyInRange(y, m, d);\n}\n\nexport function isTimeOnlyInRange(hrs = 0, min = 0, sec = 0, tzh = 0, tzm = 0) {\n return ((hrs === 23 && min === 59 && sec === 60)\n || (hrs >= 0 && hrs <= 23\n && min >= 0 && min <= 59\n && sec >= 0 && sec <= 59))\n && (tzh >= 0 && tzh <= 23\n && tzm >= 0 && tzm <= 59);\n}\n\nexport function isTimeOnlyRFC3339(str) {\n if (!isStringType(str))\n return false;\n\n const r = str.match(CONST_RFC3339_REGEX_ISTIME);\n if (r == null)\n return false;\n\n const h = parseInt(r[1], 10) | 0;\n const m = parseInt(r[2], 10) | 0;\n const s = parseInt(r[3], 10) | 0;\n const th = parseInt(r[8], 10) | 0;\n const tm = parseInt(r[9], 10) | 0;\n return isTimeOnlyInRange(h, m, s, th, tm);\n}\n\nexport function isDateTimeRFC3339(str) {\n // http://tools.ietf.org/html/rfc3339#section-5.6\n if (!isStringType(str)) return false;\n const dateTime = str.split(/t|\\s/i);\n return dateTime.length === 2\n && isDateOnlyRFC3339(dateTime[0])\n && isTimeOnlyRFC3339(dateTime[1]);\n}\n\n//#endregion\n\n//#region Dates Getters\nexport function getDateTypeOfDateOnlyRFC3339(str, def = undefined) {\n return isDateOnlyRFC3339(str)\n ? new Date(Date.parse(str))\n : def;\n}\n\nexport function getDateTypeOfTimeOnlyRFC3339(str, def = undefined) {\n return isTimeOnlyRFC3339(str)\n ? new Date(Date.parse(CONST_TIME_INSERTDATE + str))\n : def;\n}\n\nexport function getDateTypeOfDateTimeRFC3339(str, def = undefined) {\n return isDateTimeRFC3339(str)\n ? new Date(Date.parse(str))\n : def;\n}\n//#endregion\n", "//@ts-check\n\nimport {\n isStringType,\n getInclusiveExclusiveBounds,\n} from '@jarenjs/core';\n\nimport {\n isDateType,\n getDateTypeOfDateTimeRFC3339,\n getDateTypeOfDateOnlyRFC3339,\n getDateTypeOfTimeOnlyRFC3339,\n} from '@jarenjs/core/dates';\n\n//#region generalized\nfunction compileFormatMinimumByType(parseType, schemaObj, jsonSchema) {\n const [min, emin] = getInclusiveExclusiveBounds(\n parseType,\n jsonSchema.formatMinimum,\n jsonSchema.formatExclusiveMinimum,\n );\n\n if (emin != null) {\n const addError = schemaObj.createErrorHandler(emin, 'formatExclusiveMinimum');\n\n return function isFormatExclusiveMinimum(date, dataPath) {\n return date > emin\n || addError(date, dataPath);\n };\n }\n else if (min) {\n const addError = schemaObj.createErrorHandler(min, 'formatMinimum');\n\n return function isFormatMinimum(date, dataPath) {\n return date >= min\n || addError(date, dataPath);\n };\n }\n\n return undefined;\n}\n\nfunction compileFormatMaximumByType(parseType, schemaObj, jsonSchema) {\n const [max, emax] = getInclusiveExclusiveBounds(\n parseType,\n jsonSchema.formatMaximum,\n jsonSchema.formatExclusiveMaximum,\n );\n\n if (emax != null) {\n const addError = schemaObj.createErrorHandler(emax, 'formatExclusiveMaximum');\n\n return function isFormatExclusiveMaximum(date, dataPath) {\n return date < emax\n || addError(date, dataPath);\n };\n }\n else if (max != null) {\n const addError = schemaObj.createErrorHandler(max, 'formatMaximum');\n\n return function isFormatMaximum(date, dataPath) {\n return date <= max\n || addError(date, dataPath);\n };\n }\n\n return undefined;\n}\n\nfunction compileFormatByType(name, parseType, schemaObj, jsonSchema) {\n if (jsonSchema.format !== name)\n throw new Error('ERROR: This should not happen!');\n\n const addError = schemaObj.createErrorHandler(jsonSchema.format, 'format');\n\n const validateMin = compileFormatMinimumByType(\n parseType,\n schemaObj,\n jsonSchema,\n );\n\n const validateMax = compileFormatMaximumByType(\n parseType,\n schemaObj,\n jsonSchema,\n );\n\n if (validateMin != null && validateMax != null) {\n return function validateFormatBetween(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMin(date, dataPath)\n && validateMax(date, dataPath);\n }\n else if (isDateType(data))\n return validateMin(data, dataPath)\n && validateMax(data, dataPath);\n else\n return true;\n };\n }\n if (validateMin != null) {\n return function validateFormatMinimum(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMin(date, dataPath);\n }\n else if (isDateType(data))\n return validateMin(data, dataPath);\n else\n return true;\n };\n }\n if (validateMax != null) {\n return function validateFormatMaximum(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMax(date);\n }\n else if (isDateType(data))\n return validateMax(data, dataPath);\n else\n return true;\n };\n }\n\n return function validateDateTime(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : true;\n }\n else\n return true;\n };\n}\n//#endregion\n\nfunction compileDateTimeFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'date-time',\n getDateTypeOfDateTimeRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nfunction compileDateOnlyFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'date',\n getDateTypeOfDateOnlyRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nfunction compileTimeOnlyFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'time',\n getDateTypeOfTimeOnlyRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nexport const formatValidators = {\n 'date-time': compileDateTimeFormat,\n date: compileDateOnlyFormat,\n time: compileTimeOnlyFormat,\n};\n", "//@ts-check\n\nimport {\n isStringType,\n isObjectOfClass,\n} from './index.js';\n\n//#region String Tools\nexport function isStringEmpty(data) {\n return typeof data === 'string' && !data;\n}\n\nexport function isStringWhiteSpace(data) {\n return data == null || /^\\s*$/.test(data);\n}\n\nexport function isStringUpperCase(str) {\n return str === str.toUpperCase();\n}\n\nexport function isStringLowerCase(str) {\n return str === str.toLowerCase();\n}\n\nexport function isRegExpType(data) {\n return isObjectOfClass(data, RegExp);\n}\n\nexport function isStringRegExp(str) {\n try {\n return createRegExp(str) != null;\n }\n // eslint-disable-next-line no-unused-vars\n catch (e) {\n return false;\n }\n}\n\nexport function createRegExp(pattern) {\n if (pattern == null)\n return undefined;\n\n if (isRegExpType(pattern))\n return pattern;\n\n if (isStringType(pattern)) {\n if (pattern[0] === '/') {\n const e = pattern.lastIndexOf('/');\n if (e >= 0) {\n const r = pattern.substring(1, e);\n const g = pattern.substring(e + 1);\n return new RegExp(r, g);\n }\n }\n else\n return new RegExp(pattern);\n }\n\n throw new Error(`Unknown Regular Expression Pattern Type: ${pattern}`);\n}\n", "// @ts-nocheck\n// Copyright Mathias Bynens <https://mathiasbynens.be/>\n// https://github.com/bestiejs/punycode.js/blob/master/punycode.js\n\nexport const punycodeVersion = '2.1.0';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n 'overflow': 'Overflow: input needs wider integers to process',\n 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n 'invalid-input': 'Invalid input',\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n throw new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} fn The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n const result = [];\n let length = array.length;\n while (length--) {\n result[length] = fn(array[length]);\n }\n return result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} fn The function that gets called for every\n * character.\n * @returns {String} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(domain, fn) {\n const parts = domain.split('@');\n let result = '';\n if (parts.length > 1) {\n // In email addresses, only the domain name should be punycoded. Leave\n // the local part (i.e. everything up to `@`) intact.\n result = parts[0] + '@';\n domain = parts[1];\n }\n // Avoid `split(regex)` for IE8 compatibility. See #17.\n domain = domain.replace(regexSeparators, '\\x2E');\n const labels = domain.split('.');\n const encoded = map(labels, fn).join('.');\n return result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nexport function ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nexport const ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nexport function basicToDigit(codePoint) {\n if (codePoint - 0x30 < 0x0A) {\n return codePoint - 0x16;\n }\n if (codePoint - 0x41 < 0x1A) {\n return codePoint - 0x41;\n }\n if (codePoint - 0x61 < 0x1A) {\n return codePoint - 0x61;\n }\n return base;\n}\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nexport function digitToBasic(digit, flag) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26) - ((flag !== 0) << 5);\n}\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nfunction adapt(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nexport function decode(input) {\n // Don't use UCS-2.\n const output = [];\n const inputLength = input.length;\n let i = 0;\n let n = initialN;\n let bias = initialBias;\n\n // Handle the basic code points: let `basic` be the number of input code\n // points before the last delimiter, or `0` if there is none, then copy\n // the first basic code points to the output.\n\n let basic = input.lastIndexOf(delimiter);\n if (basic < 0) {\n basic = 0;\n }\n\n for (let j = 0; j < basic; ++j) {\n // if it's not a basic code point\n if (input.charCodeAt(j) >= 0x80) {\n error('not-basic');\n }\n output.push(input.charCodeAt(j));\n }\n\n // Main decoding loop: start just after the last delimiter if any basic code\n // points were copied; start at the beginning otherwise.\n\n for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n // `index` is the index of the next character to be consumed.\n // Decode a generalized variable-length integer into `delta`,\n // which gets added to `i`. The overflow checking is easier\n // if we increase `i` as we go, then subtract off its starting\n // value at the end to obtain `delta`.\n const oldi = i;\n for (let w = 1, k = base; /* no condition */; k += base) {\n if (index >= inputLength) {\n error('invalid-input');\n }\n\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base || digit > floor((maxInt - i) / w)) {\n error('overflow');\n }\n\n i += digit * w;\n const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (digit < t) {\n break;\n }\n\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT)) {\n error('overflow');\n }\n\n w *= baseMinusT;\n }\n\n const out = output.length + 1;\n bias = adapt(i - oldi, out, oldi === 0);\n\n // `i` was supposed to wrap around from `out` to `0`,\n // incrementing `n` each time, so we'll fix that now:\n if (floor(i / out) > maxInt - n) {\n error('overflow');\n }\n\n n += floor(i / out);\n i %= out;\n\n // Insert `n` at position `i` of the output.\n output.splice(i++, 0, n);\n }\n\n return String.fromCodePoint(...output);\n}\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nexport function encode(str) {\n const output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n const input = ucs2decode(str);\n\n // Cache the length.\n const inputLength = input.length;\n\n // Initialize the state.\n let n = initialN;\n let delta = 0;\n let bias = initialBias;\n\n // Handle the basic code points.\n for (const currentValue of input) {\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n const basicLength = output.length;\n let handledCPCount = basicLength;\n\n // `handledCPCount` is the number of code points that have been handled;\n // `basicLength` is the number of basic code points.\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next\n // larger one:\n let m = maxInt;\n for (const currentValue of input) {\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n // but guard against overflow.\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n error('overflow');\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (const currentValue of input) {\n if (currentValue < n && ++delta > maxInt) {\n error('overflow');\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n let q = delta;\n for (let k = base; /* no condition */; k += base) {\n const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) {\n break;\n }\n const qMinusT = q - t;\n const baseMinusT = base - t;\n output.push(\n stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)),\n );\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q, 0)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n}\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nexport function toUnicode(input) {\n return mapDomain(input, function iterateMapDomain(string) {\n return regexPunycode.test(string)\n ? decode(string.slice(4).toLowerCase())\n : string;\n });\n}\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nexport function toASCII(input) {\n return mapDomain(input, function iterateMapDomain(string) {\n return regexNonASCII.test(string)\n ? 'xn--' + encode(string)\n : string;\n });\n}\n", "/* eslint no-unused-vars: \"off\" */\n/* eslint no-useless-escape: \"off\" */\n\n//@ts-check\nimport {\n toASCII,\n} from './punycode.js';\n\n//#region Common Tests\nconst CONST_REGEXP_ALPHA = /^[a-zA-Z]+$/;\nexport function isStringAlpha(str) {\n return CONST_REGEXP_ALPHA.test(str);\n}\nconst CONST_REGEXP_ALPHANUMERIC = /^[a-zA-Z0-9]+$/;\nexport function isStringAlphaNumeric(str) {\n return CONST_REGEXP_ALPHANUMERIC.test(str);\n}\n\nconst CONST_REGEXP_NUMERIC = /^[0-9]+$/;\nexport function isStringNumeric(str) {\n return CONST_REGEXP_NUMERIC.test(str);\n}\n\nconst CONST_REGEXP_HEXADECIMAL = /^[a-fA-F0-9]+$/;\nexport function isStringHexaDecimal(str) {\n return CONST_REGEXP_HEXADECIMAL.test(str);\n}\n\nconst CONST_REGEXP_HEXCOLOR = /^#(?:[0-9a-f]{3}){1,2}\\b$/i;\nexport function isStringHexColor(str) {\n return CONST_REGEXP_HEXCOLOR.test(str);\n}\n//#endregion\n\n//#region Identifier Tests\nconst CONST_REGEXP_UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nexport function isStringUUID(str) {\n // uuid: http://tools.ietf.org/html/rfc4122\n return CONST_REGEXP_UUID.test(str);\n}\n\nconst CONST_REGEXP_GUID = /^({)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nexport function isStringGUID(str) {\n return CONST_REGEXP_GUID.test(str);\n}\n\nconst CONST_REGEXP_IDENTIFIER = /^[_a-zA-Z]+\\w{0,30}$/;\nexport function isStringIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_IDENTIFIER.test(str);\n}\n\nconst CONST_REGEXP_HTML_IDENTIFIER = /^[A-Za-z]+[\\w\\-\\:\\.]{0,30}$/;\nexport function isStringHtmlIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_HTML_IDENTIFIER.test(str);\n}\n\nconst CONST_REGEXP_CSS_IDENTIFIER = /^-?[_a-zA-Z]+[\\w-]{0,30}$/;\nexport function isStringCssIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_CSS_IDENTIFIER.test(str);\n}\n//#endregion\n\n//#region Host Tests\nconst CONST_REGEXP_MAC_ADDR = /^(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})(?:(?:\\1|\\.)(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})){2}$/;\nexport function isStringMACAddr(str) {\n return CONST_REGEXP_MAC_ADDR.test(str);\n}\n\nconst CONST_REGEXP_IPV4 = /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/;\nexport function isStringIPv4(str) {\n // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n return CONST_REGEXP_IPV4.test(str);\n}\n\nconst CONST_REGEXP_IPV6 = /^\\s*(?:(?:(?:[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}))|:)))(?:%.+)?\\s*$/i;\nexport function isStringIPv6(str) {\n // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses\n return CONST_REGEXP_IPV6.test(str);\n}\n\nconst CONST_REGEXP_HOSTNAME = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;\nexport function isStringHostname(str) {\n // https://tools.ietf.org/html/rfc1034#section-3.5\n // https://tools.ietf.org/html/rfc1123#section-2\n return str.length <= 255 && CONST_REGEXP_HOSTNAME.test(str);\n}\n\nconst CONST_REGEXP_ACEHOSTNAME = /^(?!-)(xn--)?[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\\.(?!-)(xn--)?([a-zA-Z0-9\\-]{1,50}|[a-zA-Z0-9-]{1,30}\\.[a-zA-Z]{2,})$/;\nexport function isStringIdnHostname(str) {\n // https://stackoverflow.com/questions/47514123/domain-name-regex-including-idn-characters-c-sharp\n const punycode = toASCII(str);\n return CONST_REGEXP_ACEHOSTNAME.test(punycode);\n}\n//#endregion\n\n//#region URL Tests\nconst CONST_REGEXP_URL = /^[(http(s)?):\\/\\/(www\\.)?\\w-/=#%&\\.\\?]{2,}\\.[a-z]{2,}([\\w-/=#%&\\.\\?]*)$/i;\nexport function isStringUrl(str) {\n return CONST_REGEXP_URL.test(str);\n}\n\n// For the source: https://gist.github.com/dperini/729294\n// For test cases: https://mathiasbynens.be/demo/url-regex\n// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983.\n// URL = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!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-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu;\n// eslint-disable-next-line no-control-regex\nconst CONST_REGEXP_URL_FULL = /^(?:(?:http[s\\u017F]?|ftp):\\/\\/)(?:(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+(?::(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?@)?(?:(?!10(?:\\.[0-9]{1,3}){3})(?!127(?:\\.[0-9]{1,3}){3})(?!169\\.254(?:\\.[0-9]{1,3}){2})(?!192\\.168(?:\\.[0-9]{1,3}){2})(?!172\\.(?:1[6-9]|2[0-9]|3[01])(?:\\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)(?:\\.(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)*(?:\\.(?:(?:[KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\\/(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?$/i;\nexport function isStringUrlFull(str) {\n return CONST_REGEXP_URL_FULL.test(str);\n}\n//#endregion\n\n//#region URI Tests\nconst CONST_REGEXP_NOT_URI_FRAGMENT = /\\/|:/;\n// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\nconst CONST_REGEXP_URI_FAST = /^(?:[a-z][a-z0-9+-.]*:)(?:\\/?\\/)?[^\\s]*$/i;\nexport function isStringUri(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return CONST_REGEXP_NOT_URI_FRAGMENT.test(str)\n && CONST_REGEXP_URI_FAST.test(str);\n}\n\n// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\nconst CONST_REGEXP_URI_FULL = /^(?:[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;\nexport function isStringUriFull(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return CONST_REGEXP_NOT_URI_FRAGMENT.test(str)\n && CONST_REGEXP_URI_FULL.test(str);\n}\n\nconst CONST_REGEXP_URIREF_FAST = /^(?:(?:[a-z][a-z0-9+-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i;\nexport function isStringUriRef(str) {\n return CONST_REGEXP_URIREF_FAST.test(str);\n}\n\nconst CONST_REGEXP_URIREF_FULL = /^(?:[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;\nexport function isStringUriRefFull(str) {\n return CONST_REGEXP_URIREF_FULL.test(str);\n}\n\n// uri-template: https://tools.ietf.org/html/rfc6570\n// eslint-disable-next-line no-control-regex\nconst CONST_REGEXP_URITEMPLATE = /^(?:(?:[^\\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;\nexport function isStringUriTemplate(str) {\n return CONST_REGEXP_URITEMPLATE.test(str);\n}\n//#endregion\n\n//#region IRI Tests\nconst CONST_REGEXP_ABSOLUTE_IRI = /^([a-z]([a-z]|\\d|\\+|-|\\.)*):(\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?((\\[(|(v[\\da-f]{1,}\\.(([a-z]|\\d|-|\\.|_|~)|[!\\$&'\\(\\)\\*\\+,;=]|:)+))\\])|((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=])*)(:\\d*)?)(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*|(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)){0})(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\nexport function isStringIRI(str) {\n return CONST_REGEXP_ABSOLUTE_IRI.test(str);\n}\n\nexport function isStringIRIRef(str) {\n return isStringUriRef(str);\n}\n//#endregion\n\n//#region JPtr Tests\n// JSON-pointer: https://tools.ietf.org/html/rfc6901\nconst CONST_REGEXP_JSON_POINTER = /^(?:\\/(?:[^~/]|~0|~1)*)*$/;\nexport function isStringJSONPointer(str) {\n return CONST_REGEXP_JSON_POINTER.test(str);\n}\n\n// uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\nconst CONST_REGEXP_JSON_POINTER_URI_FRAGMENT = /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;\nexport function isStringJSONPointerUriFragment(str) {\n return CONST_REGEXP_JSON_POINTER_URI_FRAGMENT.test(str);\n}\n\n// relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\nconst CONST_REGEXP_RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/;\nexport function isStringRelativeJSONPointer(str) {\n return CONST_REGEXP_RELATIVE_JSON_POINTER.test(str);\n}\n//#endregion\n\n//#region Email Tests\n// email (sources from jsen validator):\n// http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n// http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation')\nconst CONST_REGEXP_EMAIL_FAST = /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;\nexport function isStringEmail(str) {\n return CONST_REGEXP_EMAIL_FAST.test(str);\n}\n\nconst CONST_REGEXP_EMAIL_FULL = /^[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;\nexport function isStringEmailFull(str) {\n return CONST_REGEXP_EMAIL_FULL.test(str);\n}\n\nconst CONST_REGEXP_IDNEMAIL = /^[^@]+@[^@]+\\.[^@]+$/;\nexport function isStringIdnEmail(str) {\n return CONST_REGEXP_IDNEMAIL.test(str);\n}\n//#endregion\n\n//#region Common Tests\nconst CONST_REGPEXP_ISBN10 = /^(?:ISBN(?:-10)?:?\\ *((?=\\d{1,5}([ -]?)\\d{1,7}\\2?\\d{1,6}\\2?\\d)(?:\\d\\2*){9}[\\dX]))$/i;\nexport function isStringISBN10(str) {\n return CONST_REGPEXP_ISBN10.test(str);\n}\n\nconst CONST_REGEXP_ISBN13 = /^(?:ISBN(?:-13)?:?\\ *(97(?:8|9)([ -]?)(?=\\d{1,5}\\2?\\d{1,7}\\2?\\d{1,6}\\2?\\d)(?:\\d\\2*){9}\\d))$/i;\nexport function isStringISBN13(str) {\n return CONST_REGEXP_ISBN13.test(str);\n}\n\nconst CONST_REGEXP_BASE64 = /^(?:[a-zA-Z0-9+\\/]{4})*(?:|(?:[a-zA-Z0-9+\\/]{3}=)|(?:[a-zA-Z0-9+\\/]{2}==)|(?:[a-zA-Z0-9+\\/]{1}===))$/;\nexport function isStringBase64(str) {\n return CONST_REGEXP_BASE64.test(str);\n}\n\nconst CONST_REGEXP_COUNTRY_ALPHA2 = /^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW|XK)/i;\nexport function isStringCountryAlpha2(str) {\n return CONST_REGEXP_COUNTRY_ALPHA2.test(str);\n}\n\nconst CONST_REGEXP_IBAN = /^([A-Z]{2}[ '+'\\\\\\\\'+'-]?[0-9]{2})(?=(?:[ '+'\\\\\\\\'+'-]?[A-Z0-9]){9,30}\\$)((?:[ '+'\\\\\\\\'+'-]?[A-Z0-9]{3,5}){2,7})([ '+'\\\\\\\\'+'-]?[A-Z0-9]{1,3})?\\$/i;\nexport function isStringIBAN(str) {\n return CONST_REGEXP_IBAN.test(str);\n}\n//#endregion\n", "//@ts-check\n// eslint-disable no-useless-escape\n\nimport {\n isStringType,\n} from '@jarenjs/core';\n\nimport {\n isStringLowerCase,\n isStringUpperCase,\n isStringRegExp,\n} from '@jarenjs/core/string';\n\nimport {\n isStringUri,\n isStringUriRef,\n isStringUriTemplate,\n isStringJSONPointer,\n isStringJSONPointerUriFragment,\n isStringRelativeJSONPointer,\n isStringUrl,\n isStringEmail,\n isStringHostname,\n isStringIdnEmail,\n isStringIdnHostname,\n isStringIPv4,\n isStringIPv6,\n isStringUUID,\n isStringAlpha,\n isStringAlphaNumeric,\n isStringIdentifier,\n isStringHtmlIdentifier,\n isStringCssIdentifier,\n isStringHexaDecimal,\n isStringNumeric,\n isStringIRI,\n isStringIRIRef,\n isStringHexColor,\n isStringUriFull,\n isStringUriRefFull,\n isStringEmailFull,\n isStringGUID,\n isStringISBN10,\n isStringISBN13,\n isStringMACAddr,\n isStringBase64,\n isStringCountryAlpha2,\n isStringIBAN,\n} from '@jarenjs/strings';\n\nfunction createStringFormatCompiler(formatName, isFormatTest) {\n return function compileStringFormat(schemaObj, jsonSchema) {\n if (jsonSchema.format !== formatName)\n throw new Error('Format is not equal to jsonSchema (should not happen!)');\n\n const addError = schemaObj.createErrorHandler(formatName, 'format', isFormatTest.constructor.name);\n\n return function validateStringFormat(data, dataPath) {\n return isStringType(data)\n ? isFormatTest(data) || addError(data, dataPath)\n : true;\n };\n };\n}\n\nexport const formatValidators = {\n 'alpha': createStringFormatCompiler('alpha', isStringAlpha),\n 'alphanumeric': createStringFormatCompiler('alphanumeric', isStringAlphaNumeric),\n 'identifier': createStringFormatCompiler('identifier', isStringIdentifier),\n 'html-identifier': createStringFormatCompiler('html-identifier', isStringHtmlIdentifier),\n 'css-identifier': createStringFormatCompiler('css-identifier', isStringCssIdentifier),\n 'hexadecimal': createStringFormatCompiler('hexadecimal', isStringHexaDecimal),\n 'numeric': createStringFormatCompiler('numeric', isStringNumeric),\n 'uppercase': createStringFormatCompiler('uppercase', isStringUpperCase),\n 'lowercase': createStringFormatCompiler('lowercase', isStringLowerCase),\n 'color': createStringFormatCompiler('color', isStringHexColor),\n 'regex': createStringFormatCompiler('regex', isStringRegExp),\n 'uri': createStringFormatCompiler('uri', isStringUri),\n 'uri--full': createStringFormatCompiler('uri--full', isStringUriFull),\n 'uri-reference': createStringFormatCompiler('uri-reference', isStringUriRef),\n 'uri-reference--full': createStringFormatCompiler('uri-reference--full', isStringUriRefFull),\n 'uri-template': createStringFormatCompiler('uri-template', isStringUriTemplate),\n 'url': createStringFormatCompiler('url', isStringUrl),\n 'url--full': createStringFormatCompiler('url--full', isStringUrl),\n 'email': createStringFormatCompiler('email', isStringEmail),\n 'email--full': createStringFormatCompiler('email--full', isStringEmailFull),\n 'hostname': createStringFormatCompiler('hostname', isStringHostname),\n 'idn-email': createStringFormatCompiler('idn-email', isStringIdnEmail),\n 'idn-hostname': createStringFormatCompiler('idn-hostname', isStringIdnHostname),\n 'ipv4': createStringFormatCompiler('ipv4', isStringIPv4),\n 'ipv6': createStringFormatCompiler('ipv6', isStringIPv6),\n 'uuid': createStringFormatCompiler('uuid', isStringUUID),\n 'guid': createStringFormatCompiler('guid', isStringGUID),\n 'json-pointer': createStringFormatCompiler('json-pointer', isStringJSONPointer),\n 'json-pointer-uri-fragment': createStringFormatCompiler('json-pointer-uri-fragment', isStringJSONPointerUriFragment),\n 'relative-json-pointer': createStringFormatCompiler('relative-json-pointer', isStringRelativeJSONPointer),\n 'iri': createStringFormatCompiler('iri', isStringIRI),\n 'iri-reference': createStringFormatCompiler('iri-reference', isStringIRIRef),\n 'isbn10': createStringFormatCompiler('isbn10', isStringISBN10),\n 'isbn13': createStringFormatCompiler('isbn13', isStringISBN13),\n 'mac': createStringFormatCompiler('mac', isStringMACAddr),\n 'base64': createStringFormatCompiler('base64', isStringBase64),\n 'byte': createStringFormatCompiler('byte', isStringBase64),\n 'country2': createStringFormatCompiler('country2', isStringCountryAlpha2),\n 'iban': createStringFormatCompiler('iban', isStringIBAN),\n};\n", "//@ts-check\n\nimport {\n isIntegerType,\n} from '@jarenjs/core';\n\nexport const INT8_MIN = -128;\nexport const INT8_MAX = 127;\n\nexport function isValidInt8(value) {\n return isIntegerType(value)\n && value >= INT8_MIN\n && value <= INT8_MAX;\n}\n\nexport const UINT8_MIN = 0;\nexport const UINT8_MAX = 255;\n\nexport function isValidUInt8(value) {\n return isIntegerType(value)\n && value >= UINT8_MIN\n && value <= UINT8_MAX;\n}\n\nexport const INT16_MIN = -32768;\nexport const INT16_MAX = 32767;\n\nexport function isValidInt16(value) {\n return isIntegerType(value)\n && value >= INT16_MIN\n && value <= INT16_MAX;\n}\n\nexport const UINT16_MIN = 0;\nexport const UINT16_MAX = 65535;\n\nexport function isValidUInt16(value) {\n return isIntegerType(value)\n && value >= UINT16_MIN\n && value <= UINT16_MAX;\n}\n\nexport const INT32_MIN = -(2 ** 31);\nexport const INT32_MAX = (2 ** 31) - 1;\n\nexport function isValidInt32(value) {\n return isIntegerType(value)\n && value >= INT32_MIN\n && value <= INT32_MAX;\n}\n\nexport const UINT32_MIN = 0;\nexport const UINT32_MAX = (2 ** 32) - 1;\n\nexport function isValidUInt32(value) {\n return isIntegerType(value)\n && value >= UINT32_MIN\n && value <= UINT32_MAX;\n}\n\nexport const INT64_MIN = Number.MIN_SAFE_INTEGER;\nexport const INT64_MAX = Number.MAX_SAFE_INTEGER;\n\nexport function isValidInt64(value) {\n return isIntegerType(value)\n && value >= INT64_MIN\n && value <= INT64_MAX;\n}\n\nexport const UINT64_MIN = 0;\nexport const UINT64_MAX = Number.MAX_SAFE_INTEGER;\n\nexport function isValidUInt64(value) {\n return isIntegerType(value)\n && value >= UINT64_MIN\n && value <= UINT64_MAX;\n}\n", "//@ts-check\n\nimport {\n isNumberType,\n} from '@jarenjs/core';\n\nexport const FLOAT16_MAX = 65504.0;\nexport const FLOAT16_MIN = 0.00006103515625;\nexport const FLOAT16_EPS = 0.0009765625;\nexport const FLOAT16_EXBITS = 5;\nexport const FLOAT16_FRBITS = 10;\n\nexport function isValidFloat16(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT16_MAX\n && value <= FLOAT16_MAX;\n}\n\nexport function getValidFloat16(value, defVal = NaN) {\n if (!isNumberType(value) /* TODO: do we need this? */\n || Number.isNaN(value)) return defVal;\n if (value < -FLOAT16_MAX) return -Infinity;\n if (value > FLOAT16_MAX) return Infinity;\n return value;\n}\n\nexport function Float16_increment(value) {\n const next = value + 2 ** (Math.log2(value) - 11);\n return (next > FLOAT16_MAX)\n ? Infinity\n : next;\n}\n\nexport function Float16_decrement(value) {\n const next = value - 2 ** (Math.log2(value) - 11);\n return (next < -FLOAT16_MAX)\n ? -Infinity\n : next;\n}\n\nexport const FLOAT32_MAX = 3.4028234663852886e+38;\nexport const FLOAT32_MIN = 1.1754943508222875e-38;\nexport const FLOAT32_EPS = 1.1920928955078125e-7;\nexport const FLOAT32_EXBITS = 8;\nexport const FLOAT32_FRBITS = 23;\n\nexport function isValidFloat32(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT32_MAX\n && value <= FLOAT32_MAX;\n}\n\nexport function getValidFloat32(value, defVal = NaN) {\n if (!isNumberType(value) || Number.isNaN(value)) return defVal;\n if (value < -FLOAT32_MAX) return -Infinity;\n if (value > FLOAT32_MAX) return Infinity;\n return value;\n}\n\nexport function Float32_increment(value) {\n const next = value + 2 ** (Math.log2(value) - 24);\n return (next > FLOAT32_MAX)\n ? Infinity\n : next;\n}\n\nexport function Float32_decrement(value) {\n const next = value - 2 ** (Math.log2(value) - 24);\n return (next < -FLOAT32_MAX)\n ? -Infinity\n : next;\n}\n\nexport const FLOAT64_MAX = Number.MAX_VALUE;\nexport const FLOAT64_MIN = Number.MIN_VALUE;\nexport const FLOAT64_EPS = Number.EPSILON;\nexport const FLOAT64_EXBITS = 11;\nexport const FLOAT64_FRBITS = 52;\n\nexport function isValidFloat64(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT64_MAX\n && value <= FLOAT64_MAX;\n}\n\nexport function getValidFloat64(value, defVal = NaN) {\n return isNumberType(value)\n ? value\n : defVal;\n}\n\nexport function Float64_increment(value) {\n return value + 2 ** (Math.log2(value) - 53);\n}\n\nexport function Float64_decrement(value) {\n return value - 2 ** (Math.log2(value) - 53);\n}\n\nexport const FLOAT128_MAX = 0.0;\nexport const FLOAT128_MIN = 0.0;\nexport const FLOAT128_EPS = 0.0;\nexport const FLOAT128_EXBITS = 15;\nexport const FLOAT128_FRBITS = 112;\n", "//@ts-check\n\nimport {\n isValidInt8,\n isValidInt16,\n isValidInt32,\n isValidInt64,\n isValidUInt8,\n isValidUInt16,\n isValidUInt32,\n isValidUInt64,\n} from '@jarenjs/numbers/integer';\n\nimport {\n isValidFloat16,\n isValidFloat32,\n isValidFloat64,\n} from '@jarenjs/numbers/float';\n\nfunction createNumberFormatCompiler(formatName, isNumberTest, strictFormat = false) {\n return function compileNumberFormat(schemaObj, jsonSchema) {\n if (jsonSchema.format !== formatName)\n throw new Error('Format is not equal to jsonSchema (should not happen!)');\n\n const addError = schemaObj.createErrorHandler(formatName, 'format');\n\n if (strictFormat === true)\n return function validateNumberStrictFormat(data, dataPath) {\n return data == null\n || isNumberTest(data)\n || addError(data, dataPath);\n };\n else\n return function validateNumberFormat(data, dataPath) {\n return (data == null\n || isNumberTest(Number(data))\n || addError(data, dataPath));\n };\n };\n}\n\nexport const formatValidators = {\n // integer types\n int8: createNumberFormatCompiler('int8', isValidInt8),\n uint8: createNumberFormatCompiler('uint8', isValidUInt8),\n int16: createNumberFormatCompiler('int16', isValidInt16),\n uint16: createNumberFormatCompiler('uint16', isValidUInt16),\n int32: createNumberFormatCompiler('int32', isValidInt32),\n uint32: createNumberFormatCompiler('uint32', isValidUInt32),\n int64: createNumberFormatCompiler('int64', isValidInt64),\n uint64: createNumberFormatCompiler('uint64', isValidUInt64),\n // floating point types\n float16: createNumberFormatCompiler('float16', isValidFloat16),\n float32: createNumberFormatCompiler('float32', isValidFloat32),\n float64: createNumberFormatCompiler('float64', isValidFloat64),\n float: createNumberFormatCompiler('float', isValidFloat32),\n double: createNumberFormatCompiler('double', isValidFloat64),\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
3
|
+
"sources": ["../../core/src/index.js", "../../core/src/dates.js", "../src/datetime.js", "../../core/src/string.js", "../../core/src/text/punycode.js", "../../core/src/text/index.js", "../src/string.js", "../../core/src/integer.js", "../../core/src/float.js", "../src/number.js"],
|
|
4
|
+
"sourcesContent": ["//@ts-check\nexport function isFn(data) {\n return typeof data === 'function';\n}\n\n//#region Scalar Tests\nfunction isScalarTypeEx(typeName) {\n switch (typeName) {\n case 'string':\n case 'number':\n case 'boolean':\n case 'integer':\n case 'bigint':\n return true;\n default:\n return false;\n }\n}\n\nexport function isScalarType(data) {\n return data != null && isScalarTypeEx(typeof data);\n}\n\nexport function isStringType(data) {\n return typeof data === 'string';\n}\n\n/**\n * Checks if the given data is of boolean type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is a boolean, otherwise false.\n */\nexport function isBooleanType(data) {\n return data === true || data === false;\n}\n\n/**\n * Checks if the given data is of number type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is a number, otherwise false.\n */\nexport function isNumberType(data) {\n return data != null && typeof data === 'number';\n}\n\n/**\n * Checks if the given data is an integer type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is an integer, otherwise false.\n */\nexport function isIntegerType(data) {\n return Number.isInteger(data);\n}\n\nexport function isBigIntType(data) {\n return typeof data === 'bigint';\n}\n\n//#endregion\n\n//#region Scalar Getters\n/**\n * Returns the string type of the input object if it is a string; otherwise, returns the default value.\n * \n * @param {any} obj - The input object to check its type.\n * @param {string|undefined} [def=undefined] - The default value to return if the input object is not a string.\n * @returns {string} The string type of the input object or the default value.\n */\nexport function getStringType(obj, def = undefined) {\n return isStringType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a boolean type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {boolean|undefined} [def=undefined] - The default value to return if the object is not a boolean.\n * @returns {boolean|undefined} - The boolean value or the default value.\n */\nexport function getBooleanType(obj, def = undefined) {\n return isBooleanType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a number type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {number|undefined} [def=undefined] - The default value to return if the object is not a number.\n * @returns {number|undefined} - The number value or the default value.\n */\nexport function getNumberType(obj, def = undefined) {\n return isNumberType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is an integer type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {number|undefined} [def=undefined] - The default value to return if the object is not an integer.\n * @returns {number|undefined} - The integer value or the default value.\n */\nexport function getIntegerType(obj, def = undefined) {\n return isIntegerType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a bigint type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {bigint|undefined} [def=undefined] - The default value to return if the object is not a bigint.\n * @returns {bigint|undefined} - The bigint value or the default value.\n */\nexport function getBigIntType(obj, def = undefined) {\n return isBigIntType(obj)\n ? obj\n : def;\n}\n//#endregion\n\n//#region Object Tests\n/**\n * Checks if the input data is null.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is null, otherwise false.\n */\nexport function isNullValue(data) {\n return data === null;\n}\n\n/**\n * Checks if the given data is an object of a specific class.\n *\n * @param {any} data - The data to check.\n * @param {Function} type - The class type to compare against.\n * @returns {boolean} Returns true if the data is an object of the specified class; otherwise, false.\n */\nexport function isObjectOfClass(data, type) {\n return data != null && data.constructor === type;\n}\n\n/**\n * @brief test if data is an object literal\n * @param {*} data the data to test\n * @returns boolean\n */\nexport function isObjectClass(data) {\n return isObjectOfClass(data, Object);\n}\n\n/**\n * Checks if the input data is of type Map.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Map class, otherwise false.\n */\nexport function isMapClass(data) {\n return isObjectOfClass(data, Map);\n}\n\n/**\n * @brief test if data is typeof object but not an Array\n * @param {*} data the data to test\n * @returns boolean\n */\nexport function isObjectType(data) {\n return data != null\n && typeof data === 'object'\n && data.constructor !== Array;\n}\n\n/**\n * Checks if the input data is of type Array.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Array class, otherwise false.\n */\nexport function isArrayClass(data) {\n return isObjectOfClass(data, Array);\n}\n\n/**\n * Checks if the input data is of type Set.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Set class, otherwise false.\n */\nexport function isSetClass(data) {\n return isObjectOfClass(data, Set);\n}\n\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nexport function isTypedArray(data) {\n if (data == null)\n return false;\n const proto = data.__proto__.__proto__;\n return proto != null && proto.constructor === TypedArray;\n}\n//#endregion\n\n//#region Object Getters\nexport function getObjectType(obj, def = undefined) {\n return isObjectClass(obj) ? obj : def;\n}\n\nexport function getArrayClass(obj, def = undefined) {\n return isArrayClass(obj) ? obj : def;\n}\n//#endregion\n\n/**\n * Calculates the inclusive and exclusive bounds based on the provided parameters.\n * \n * @param {function} getType - A function to determine the type of the inclusive and exclusive bounds.\n * @param {number|string|undefined} inclusive - The inclusive bound value.\n * @param {number|string|boolean|undefined} exclusive - The exclusive bound value.\n * @returns {Array} An array containing the inclusive and exclusive bounds.\n */\nexport function getInclusiveExclusiveBounds(getType, inclusive, exclusive) {\n const includes = getType(inclusive);\n const excludes = exclusive === true\n ? includes\n : getType(exclusive);\n return (excludes === undefined)\n ? [includes, undefined]\n : [undefined, excludes];\n}\n", "//@ts-check\n\nimport {\n isStringType,\n isObjectOfClass,\n} from './index.js';\n\n//#region Dates Constants\nexport const CONST_TICKS_SECOND = 1000;\nexport const CONST_TICKS_HOUR = CONST_TICKS_SECOND * 60 * 60;\nexport const CONST_TICKS_DAY = CONST_TICKS_HOUR * 24;\n\nexport const CONST_TIME_INSERTDATE = '1970-01-01T';\nexport const CONST_DATE_APPENDTIME = 'T00:00:00Z';\n\nexport const CONST_RFC3339_DAYS = Object.freeze(\n [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n);\n\n// full-date from http://tools.ietf.org/html/rfc3339#section-5.6\nexport const CONST_RFC3339_REGEX_ISDATE = /^(\\d\\d\\d\\d)-([0-1]\\d)-([0-3]\\d)z?$/i;\n\n// full-date from http://tools.ietf.org/html/rfc3339#section-5.6\nexport const CONST_RFC3339_REGEX_ISTIME = /^(\\d\\d):(\\d\\d):(\\d\\d)(\\.\\d{1,6})?(z|(([+-])(\\d\\d):(\\d\\d)))$/i;\n\n//#endregion\n\n//#region Dates Compare\nexport function isDateType(data) {\n return isObjectOfClass(data, Date);\n}\n\nexport function isDateishType(data) {\n return isDateType(data)\n || !Number.isNaN(Date.parse(data));\n}\n\nexport function isLeapYear(year) {\n // https://tools.ietf.org/html/rfc3339#appendix-C\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function isDateOnlyInRange(year = 0, month = 0, day = 0) {\n return month >= 1\n && month <= 12\n && day >= 1\n && day <= (month === 2 && isLeapYear(year)\n ? 29\n : CONST_RFC3339_DAYS[month]);\n}\n\nexport function isDateOnlyRFC3339(str) {\n if (!isStringType(str))\n return false;\n\n const r = str.match(CONST_RFC3339_REGEX_ISDATE);\n if (r == null)\n return false;\n\n const y = parseInt(r[1], 10) | 0;\n const m = parseInt(r[2], 10) | 0;\n const d = parseInt(r[3], 10) | 0;\n return isDateOnlyInRange(y, m, d);\n}\n\nexport function isTimeOnlyInRange(hrs = 0, min = 0, sec = 0, tzh = 0, tzm = 0) {\n return ((hrs === 23 && min === 59 && sec === 60)\n || (hrs >= 0 && hrs <= 23\n && min >= 0 && min <= 59\n && sec >= 0 && sec <= 59))\n && (tzh >= 0 && tzh <= 23\n && tzm >= 0 && tzm <= 59);\n}\n\nexport function isTimeOnlyRFC3339(str) {\n if (!isStringType(str))\n return false;\n\n const r = str.match(CONST_RFC3339_REGEX_ISTIME);\n if (r == null)\n return false;\n\n const h = parseInt(r[1], 10) | 0;\n const m = parseInt(r[2], 10) | 0;\n const s = parseInt(r[3], 10) | 0;\n const th = parseInt(r[8], 10) | 0;\n const tm = parseInt(r[9], 10) | 0;\n return isTimeOnlyInRange(h, m, s, th, tm);\n}\n\nexport function isDateTimeRFC3339(str) {\n // http://tools.ietf.org/html/rfc3339#section-5.6\n if (!isStringType(str)) return false;\n const dateTime = str.split(/t|\\s/i);\n return dateTime.length === 2\n && isDateOnlyRFC3339(dateTime[0])\n && isTimeOnlyRFC3339(dateTime[1]);\n}\n\n//#endregion\n\n//#region Dates Getters\nexport function getDateTypeOfDateOnlyRFC3339(str, def = undefined) {\n return isDateOnlyRFC3339(str)\n ? new Date(Date.parse(str))\n : def;\n}\n\nexport function getDateTypeOfTimeOnlyRFC3339(str, def = undefined) {\n return isTimeOnlyRFC3339(str)\n ? new Date(Date.parse(CONST_TIME_INSERTDATE + str))\n : def;\n}\n\nexport function getDateTypeOfDateTimeRFC3339(str, def = undefined) {\n return isDateTimeRFC3339(str)\n ? new Date(Date.parse(str))\n : def;\n}\n//#endregion\n", "//@ts-check\n\nimport {\n isStringType,\n getInclusiveExclusiveBounds,\n} from '@jarenjs/core';\n\nimport {\n isDateType,\n getDateTypeOfDateTimeRFC3339,\n getDateTypeOfDateOnlyRFC3339,\n getDateTypeOfTimeOnlyRFC3339,\n} from '@jarenjs/core/dates';\n\n//#region generalized\nfunction compileFormatMinimumByType(parseType, schemaObj, jsonSchema) {\n const [min, emin] = getInclusiveExclusiveBounds(\n parseType,\n jsonSchema.formatMinimum,\n jsonSchema.formatExclusiveMinimum,\n );\n\n if (emin != null) {\n const addError = schemaObj.createErrorHandler(emin, 'formatExclusiveMinimum');\n\n return function isFormatExclusiveMinimum(date, dataPath) {\n return date > emin\n || addError(date, dataPath);\n };\n }\n else if (min) {\n const addError = schemaObj.createErrorHandler(min, 'formatMinimum');\n\n return function isFormatMinimum(date, dataPath) {\n return date >= min\n || addError(date, dataPath);\n };\n }\n\n return undefined;\n}\n\nfunction compileFormatMaximumByType(parseType, schemaObj, jsonSchema) {\n const [max, emax] = getInclusiveExclusiveBounds(\n parseType,\n jsonSchema.formatMaximum,\n jsonSchema.formatExclusiveMaximum,\n );\n\n if (emax != null) {\n const addError = schemaObj.createErrorHandler(emax, 'formatExclusiveMaximum');\n\n return function isFormatExclusiveMaximum(date, dataPath) {\n return date < emax\n || addError(date, dataPath);\n };\n }\n else if (max != null) {\n const addError = schemaObj.createErrorHandler(max, 'formatMaximum');\n\n return function isFormatMaximum(date, dataPath) {\n return date <= max\n || addError(date, dataPath);\n };\n }\n\n return undefined;\n}\n\nfunction compileFormatByType(name, parseType, schemaObj, jsonSchema) {\n if (jsonSchema.format !== name)\n throw new Error('ERROR: This should not happen!');\n\n const addError = schemaObj.createErrorHandler(jsonSchema.format, 'format');\n\n const validateMin = compileFormatMinimumByType(\n parseType,\n schemaObj,\n jsonSchema,\n );\n\n const validateMax = compileFormatMaximumByType(\n parseType,\n schemaObj,\n jsonSchema,\n );\n\n if (validateMin != null && validateMax != null) {\n return function validateFormatBetween(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMin(date, dataPath)\n && validateMax(date, dataPath);\n }\n else if (isDateType(data))\n return validateMin(data, dataPath)\n && validateMax(data, dataPath);\n else\n return true;\n };\n }\n if (validateMin != null) {\n return function validateFormatMinimum(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMin(date, dataPath);\n }\n else if (isDateType(data))\n return validateMin(data, dataPath);\n else\n return true;\n };\n }\n if (validateMax != null) {\n return function validateFormatMaximum(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMax(date);\n }\n else if (isDateType(data))\n return validateMax(data, dataPath);\n else\n return true;\n };\n }\n\n return function validateDateTime(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : true;\n }\n else\n return true;\n };\n}\n//#endregion\n\nfunction compileDateTimeFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'date-time',\n getDateTypeOfDateTimeRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nfunction compileDateOnlyFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'date',\n getDateTypeOfDateOnlyRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nfunction compileTimeOnlyFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'time',\n getDateTypeOfTimeOnlyRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nexport const formatValidators = {\n 'date-time': compileDateTimeFormat,\n date: compileDateOnlyFormat,\n time: compileTimeOnlyFormat,\n};\n", "//@ts-check\n\nimport {\n isStringType,\n isObjectOfClass,\n} from './index.js';\n\n//#region String Tools\nexport function isStringEmpty(data) {\n return typeof data === 'string' && !data;\n}\n\nexport function isStringWhiteSpace(data) {\n return data == null || /^\\s*$/.test(data);\n}\n\nexport function isStringUpperCase(str) {\n return str === str.toUpperCase();\n}\n\nexport function isStringLowerCase(str) {\n return str === str.toLowerCase();\n}\n\nexport function isRegExpType(data) {\n return isObjectOfClass(data, RegExp);\n}\n\nexport function isStringRegExp(str) {\n try {\n return createRegExp(str) != null;\n }\n // eslint-disable-next-line no-unused-vars\n catch (e) {\n return false;\n }\n}\n\nexport function createRegExp(pattern) {\n if (pattern == null)\n return undefined;\n\n if (isRegExpType(pattern))\n return pattern;\n\n if (isStringType(pattern)) {\n if (pattern[0] === '/') {\n const e = pattern.lastIndexOf('/');\n if (e >= 0) {\n const r = pattern.substring(1, e);\n const g = pattern.substring(e + 1);\n return new RegExp(r, g);\n }\n }\n else\n return new RegExp(pattern);\n }\n\n throw new Error(`Unknown Regular Expression Pattern Type: ${pattern}`);\n}\n", "// @ts-nocheck\n// Copyright Mathias Bynens <https://mathiasbynens.be/>\n// https://github.com/bestiejs/punycode.js/blob/master/punycode.js\n\nexport const punycodeVersion = '2.1.0';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n 'overflow': 'Overflow: input needs wider integers to process',\n 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n 'invalid-input': 'Invalid input',\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n throw new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} fn The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n const result = [];\n let length = array.length;\n while (length--) {\n result[length] = fn(array[length]);\n }\n return result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} fn The function that gets called for every\n * character.\n * @returns {String} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(domain, fn) {\n const parts = domain.split('@');\n let result = '';\n if (parts.length > 1) {\n // In email addresses, only the domain name should be punycoded. Leave\n // the local part (i.e. everything up to `@`) intact.\n result = parts[0] + '@';\n domain = parts[1];\n }\n // Avoid `split(regex)` for IE8 compatibility. See #17.\n domain = domain.replace(regexSeparators, '\\x2E');\n const labels = domain.split('.');\n const encoded = map(labels, fn).join('.');\n return result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nexport function ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nexport const ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nexport function basicToDigit(codePoint) {\n if (codePoint - 0x30 < 0x0A) {\n return codePoint - 0x16;\n }\n if (codePoint - 0x41 < 0x1A) {\n return codePoint - 0x41;\n }\n if (codePoint - 0x61 < 0x1A) {\n return codePoint - 0x61;\n }\n return base;\n}\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nexport function digitToBasic(digit, flag) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26) - ((flag !== 0) << 5);\n}\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nfunction adapt(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nexport function decode(input) {\n // Don't use UCS-2.\n const output = [];\n const inputLength = input.length;\n let i = 0;\n let n = initialN;\n let bias = initialBias;\n\n // Handle the basic code points: let `basic` be the number of input code\n // points before the last delimiter, or `0` if there is none, then copy\n // the first basic code points to the output.\n\n let basic = input.lastIndexOf(delimiter);\n if (basic < 0) {\n basic = 0;\n }\n\n for (let j = 0; j < basic; ++j) {\n // if it's not a basic code point\n if (input.charCodeAt(j) >= 0x80) {\n error('not-basic');\n }\n output.push(input.charCodeAt(j));\n }\n\n // Main decoding loop: start just after the last delimiter if any basic code\n // points were copied; start at the beginning otherwise.\n\n for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n // `index` is the index of the next character to be consumed.\n // Decode a generalized variable-length integer into `delta`,\n // which gets added to `i`. The overflow checking is easier\n // if we increase `i` as we go, then subtract off its starting\n // value at the end to obtain `delta`.\n const oldi = i;\n for (let w = 1, k = base; /* no condition */; k += base) {\n if (index >= inputLength) {\n error('invalid-input');\n }\n\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base || digit > floor((maxInt - i) / w)) {\n error('overflow');\n }\n\n i += digit * w;\n const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (digit < t) {\n break;\n }\n\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT)) {\n error('overflow');\n }\n\n w *= baseMinusT;\n }\n\n const out = output.length + 1;\n bias = adapt(i - oldi, out, oldi === 0);\n\n // `i` was supposed to wrap around from `out` to `0`,\n // incrementing `n` each time, so we'll fix that now:\n if (floor(i / out) > maxInt - n) {\n error('overflow');\n }\n\n n += floor(i / out);\n i %= out;\n\n // Insert `n` at position `i` of the output.\n output.splice(i++, 0, n);\n }\n\n return String.fromCodePoint(...output);\n}\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nexport function encode(str) {\n const output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n const input = ucs2decode(str);\n\n // Cache the length.\n const inputLength = input.length;\n\n // Initialize the state.\n let n = initialN;\n let delta = 0;\n let bias = initialBias;\n\n // Handle the basic code points.\n for (const currentValue of input) {\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n const basicLength = output.length;\n let handledCPCount = basicLength;\n\n // `handledCPCount` is the number of code points that have been handled;\n // `basicLength` is the number of basic code points.\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next\n // larger one:\n let m = maxInt;\n for (const currentValue of input) {\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n // but guard against overflow.\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n error('overflow');\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (const currentValue of input) {\n if (currentValue < n && ++delta > maxInt) {\n error('overflow');\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n let q = delta;\n for (let k = base; /* no condition */; k += base) {\n const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) {\n break;\n }\n const qMinusT = q - t;\n const baseMinusT = base - t;\n output.push(\n stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)),\n );\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q, 0)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n}\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nexport function toUnicode(input) {\n return mapDomain(input, function iterateMapDomain(string) {\n return regexPunycode.test(string)\n ? decode(string.slice(4).toLowerCase())\n : string;\n });\n}\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nexport function toASCII(input) {\n return mapDomain(input, function iterateMapDomain(string) {\n return regexNonASCII.test(string)\n ? 'xn--' + encode(string)\n : string;\n });\n}\n", "/* eslint no-unused-vars: \"off\" */\n/* eslint no-useless-escape: \"off\" */\n\n//@ts-check\nimport {\n toASCII,\n} from './punycode.js';\n\n//#region Common Tests\nconst CONST_REGEXP_ALPHA = /^[a-zA-Z]+$/;\nexport function isValidAlpha(str) {\n return CONST_REGEXP_ALPHA.test(str);\n}\nconst CONST_REGEXP_ALPHANUMERIC = /^[a-zA-Z0-9]+$/;\nexport function isValidAlphaNumeric(str) {\n return CONST_REGEXP_ALPHANUMERIC.test(str);\n}\n\nconst CONST_REGEXP_NUMERIC = /^[0-9]+$/;\nexport function isValidNumeric(str) {\n return CONST_REGEXP_NUMERIC.test(str);\n}\n\nconst CONST_REGEXP_HEXADECIMAL = /^[a-fA-F0-9]+$/;\nexport function isValidHexaDecimal(str) {\n return CONST_REGEXP_HEXADECIMAL.test(str);\n}\n\nconst CONST_REGEXP_HEXCOLOR = /^#(?:[0-9a-f]{3}){1,2}\\b$/i;\nexport function isValidHexColor(str) {\n return CONST_REGEXP_HEXCOLOR.test(str);\n}\n//#endregion\n\n//#region Identifier Tests\nconst CONST_REGEXP_UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nexport function isValidUUID(str) {\n // uuid: http://tools.ietf.org/html/rfc4122\n return CONST_REGEXP_UUID.test(str);\n}\n\nconst CONST_REGEXP_GUID = /^({)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nexport function isValidGUID(str) {\n return CONST_REGEXP_GUID.test(str);\n}\n\nconst CONST_REGEXP_IDENTIFIER = /^[_a-zA-Z]+\\w{0,30}$/;\nexport function isValidIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_IDENTIFIER.test(str);\n}\n\nconst CONST_REGEXP_HTML_IDENTIFIER = /^[A-Za-z]+[\\w\\-\\:\\.]{0,30}$/;\nexport function isValidHtmlIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_HTML_IDENTIFIER.test(str);\n}\n\nconst CONST_REGEXP_CSS_IDENTIFIER = /^-?[_a-zA-Z]+[\\w-]{0,30}$/;\nexport function isValidCssIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_CSS_IDENTIFIER.test(str);\n}\n//#endregion\n\n//#region Host Tests\nconst CONST_REGEXP_MAC_ADDR = /^(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})(?:(?:\\1|\\.)(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})){2}$/;\nexport function isValidMACAddr(str) {\n return CONST_REGEXP_MAC_ADDR.test(str);\n}\n\nconst CONST_REGEXP_IPV4 = /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/;\nexport function isValidIPv4(str) {\n // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n return CONST_REGEXP_IPV4.test(str);\n}\n\nconst CONST_REGEXP_IPV6 = /^\\s*(?:(?:(?:[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}))|:)))(?:%.+)?\\s*$/i;\nexport function isValidIPv6(str) {\n // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses\n return CONST_REGEXP_IPV6.test(str);\n}\n\nconst CONST_REGEXP_HOSTNAME = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;\nexport function isValidHostname(str) {\n // https://tools.ietf.org/html/rfc1034#section-3.5\n // https://tools.ietf.org/html/rfc1123#section-2\n return str.length <= 255 && CONST_REGEXP_HOSTNAME.test(str);\n}\n\nconst CONST_REGEXP_ACEHOSTNAME = /^(?!-)(xn--)?[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\\.(?!-)(xn--)?([a-zA-Z0-9\\-]{1,50}|[a-zA-Z0-9-]{1,30}\\.[a-zA-Z]{2,})$/;\nexport function isValidIdnHostname(str) {\n // https://stackoverflow.com/questions/47514123/domain-name-regex-including-idn-characters-c-sharp\n const punycode = toASCII(str);\n return CONST_REGEXP_ACEHOSTNAME.test(punycode);\n}\n//#endregion\n\n//#region URL Tests\nconst CONST_REGEXP_URL = /^[(http(s)?):\\/\\/(www\\.)?\\w-/=#%&\\.\\?]{2,}\\.[a-z]{2,}([\\w-/=#%&\\.\\?]*)$/i;\nexport function isValidUrl(str) {\n return CONST_REGEXP_URL.test(str);\n}\n\n// For the source: https://gist.github.com/dperini/729294\n// For test cases: https://mathiasbynens.be/demo/url-regex\n// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983.\n// URL = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!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-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu;\n// eslint-disable-next-line no-control-regex\nconst CONST_REGEXP_URL_FULL = /^(?:(?:http[s\\u017F]?|ftp):\\/\\/)(?:(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+(?::(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?@)?(?:(?!10(?:\\.[0-9]{1,3}){3})(?!127(?:\\.[0-9]{1,3}){3})(?!169\\.254(?:\\.[0-9]{1,3}){2})(?!192\\.168(?:\\.[0-9]{1,3}){2})(?!172\\.(?:1[6-9]|2[0-9]|3[01])(?:\\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)(?:\\.(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)*(?:\\.(?:(?:[KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\\/(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?$/i;\nexport function isValidUrlFull(str) {\n return CONST_REGEXP_URL_FULL.test(str);\n}\n//#endregion\n\n//#region URI Tests\nconst CONST_REGEXP_NOT_URI_FRAGMENT = /\\/|:/;\n// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\nconst CONST_REGEXP_URI_FAST = /^(?:[a-z][a-z0-9+-.]*:)(?:\\/?\\/)?[^\\s]*$/i;\nexport function isValidUri(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return CONST_REGEXP_NOT_URI_FRAGMENT.test(str)\n && CONST_REGEXP_URI_FAST.test(str);\n}\n\n// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\nconst CONST_REGEXP_URI_FULL = /^(?:[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;\nexport function isValidUriFull(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return CONST_REGEXP_NOT_URI_FRAGMENT.test(str)\n && CONST_REGEXP_URI_FULL.test(str);\n}\n\nconst CONST_REGEXP_URIREF_FAST = /^(?:(?:[a-z][a-z0-9+-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i;\nexport function isValidUriRef(str) {\n return CONST_REGEXP_URIREF_FAST.test(str);\n}\n\nconst CONST_REGEXP_URIREF_FULL = /^(?:[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;\nexport function isValidUriRefFull(str) {\n return CONST_REGEXP_URIREF_FULL.test(str);\n}\n\n// uri-template: https://tools.ietf.org/html/rfc6570\n// eslint-disable-next-line no-control-regex\nconst CONST_REGEXP_URITEMPLATE = /^(?:(?:[^\\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;\nexport function isValidUriTemplate(str) {\n return CONST_REGEXP_URITEMPLATE.test(str);\n}\n//#endregion\n\n//#region IRI Tests\nconst CONST_REGEXP_ABSOLUTE_IRI = /^([a-z]([a-z]|\\d|\\+|-|\\.)*):(\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?((\\[(|(v[\\da-f]{1,}\\.(([a-z]|\\d|-|\\.|_|~)|[!\\$&'\\(\\)\\*\\+,;=]|:)+))\\])|((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=])*)(:\\d*)?)(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*|(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)){0})(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\nexport function isValidIRI(str) {\n return CONST_REGEXP_ABSOLUTE_IRI.test(str);\n}\n\nexport function isValidIRIRef(str) {\n return isValidUriRef(str);\n}\n//#endregion\n\n//#region JPtr Tests\n// JSON-pointer: https://tools.ietf.org/html/rfc6901\nconst CONST_REGEXP_JSON_POINTER = /^(?:\\/(?:[^~/]|~0|~1)*)*$/;\nexport function isValidJSONPointer(str) {\n return CONST_REGEXP_JSON_POINTER.test(str);\n}\n\n// uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\nconst CONST_REGEXP_JSON_POINTER_URI_FRAGMENT = /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;\nexport function isValidJSONPointerUriFragment(str) {\n return CONST_REGEXP_JSON_POINTER_URI_FRAGMENT.test(str);\n}\n\n// relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\nconst CONST_REGEXP_RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/;\nexport function isValidRelativeJSONPointer(str) {\n return CONST_REGEXP_RELATIVE_JSON_POINTER.test(str);\n}\n//#endregion\n\n//#region Email Tests\n// email (sources from jsen validator):\n// http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n// http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation')\nconst CONST_REGEXP_EMAIL_FAST = /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;\nexport function isValidEmail(str) {\n return CONST_REGEXP_EMAIL_FAST.test(str);\n}\n\nconst CONST_REGEXP_EMAIL_FULL = /^[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;\nexport function isValidEmailFull(str) {\n return CONST_REGEXP_EMAIL_FULL.test(str);\n}\n\nconst CONST_REGEXP_IDNEMAIL = /^[^@]+@[^@]+\\.[^@]+$/;\nexport function isValidIdnEmail(str) {\n return CONST_REGEXP_IDNEMAIL.test(str);\n}\n//#endregion\n\n//#region Common Tests\nconst CONST_REGPEXP_ISBN10 = /^(?:ISBN(?:-10)?:?\\ *((?=\\d{1,5}([ -]?)\\d{1,7}\\2?\\d{1,6}\\2?\\d)(?:\\d\\2*){9}[\\dX]))$/i;\nexport function isValidISBN10(str) {\n return CONST_REGPEXP_ISBN10.test(str);\n}\n\nconst CONST_REGEXP_ISBN13 = /^(?:ISBN(?:-13)?:?\\ *(97(?:8|9)([ -]?)(?=\\d{1,5}\\2?\\d{1,7}\\2?\\d{1,6}\\2?\\d)(?:\\d\\2*){9}\\d))$/i;\nexport function isValidISBN13(str) {\n return CONST_REGEXP_ISBN13.test(str);\n}\n\nconst CONST_REGEXP_BASE64 = /^(?:[a-zA-Z0-9+\\/]{4})*(?:|(?:[a-zA-Z0-9+\\/]{3}=)|(?:[a-zA-Z0-9+\\/]{2}==)|(?:[a-zA-Z0-9+\\/]{1}===))$/;\nexport function isValidBase64(str) {\n return CONST_REGEXP_BASE64.test(str);\n}\n\nconst CONST_REGEXP_COUNTRY_ALPHA2 = /^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW|XK)/i;\nexport function isValidCountryAlpha2(str) {\n return CONST_REGEXP_COUNTRY_ALPHA2.test(str);\n}\n\nconst CONST_REGEXP_IBAN = /^([A-Z]{2}[ '+'\\\\\\\\'+'-]?[0-9]{2})(?=(?:[ '+'\\\\\\\\'+'-]?[A-Z0-9]){9,30}\\$)((?:[ '+'\\\\\\\\'+'-]?[A-Z0-9]{3,5}){2,7})([ '+'\\\\\\\\'+'-]?[A-Z0-9]{1,3})?\\$/i;\nexport function isValidIBAN(str) {\n return CONST_REGEXP_IBAN.test(str);\n}\n//#endregion\n", "//@ts-check\n// eslint-disable no-useless-escape\n\nimport {\n isStringType,\n} from '@jarenjs/core';\n\nimport {\n isStringLowerCase,\n isStringUpperCase,\n isStringRegExp,\n} from '@jarenjs/core/string';\n\nimport {\n isValidUri,\n isValidUriRef,\n isValidUriTemplate,\n isValidJSONPointer,\n isValidJSONPointerUriFragment,\n isValidRelativeJSONPointer,\n isValidUrl,\n isValidEmail,\n isValidHostname,\n isValidIdnEmail,\n isValidIdnHostname,\n isValidIPv4,\n isValidIPv6,\n isValidUUID,\n isValidAlpha,\n isValidAlphaNumeric,\n isValidIdentifier,\n isValidHtmlIdentifier,\n isValidCssIdentifier,\n isValidHexaDecimal,\n isValidNumeric,\n isValidIRI,\n isValidIRIRef,\n isValidHexColor,\n isValidUriFull,\n isValidUriRefFull,\n isValidEmailFull,\n isValidGUID,\n isValidISBN10,\n isValidISBN13,\n isValidMACAddr,\n isValidBase64,\n isValidCountryAlpha2,\n isValidIBAN,\n} from '@jarenjs/core/text';\n\nfunction createStringFormatCompiler(formatName, isFormatTest) {\n return function compileStringFormat(schemaObj, jsonSchema) {\n if (jsonSchema.format !== formatName)\n throw new Error('Format is not equal to jsonSchema (should not happen!)');\n\n const addError = schemaObj.createErrorHandler(formatName, 'format', isFormatTest.constructor.name);\n\n return function validateStringFormat(data, dataPath) {\n return isStringType(data)\n ? isFormatTest(data) || addError(data, dataPath)\n : true;\n };\n };\n}\n\nexport const formatValidators = {\n 'alpha': createStringFormatCompiler('alpha', isValidAlpha),\n 'alphanumeric': createStringFormatCompiler('alphanumeric', isValidAlphaNumeric),\n 'identifier': createStringFormatCompiler('identifier', isValidIdentifier),\n 'html-identifier': createStringFormatCompiler('html-identifier', isValidHtmlIdentifier),\n 'css-identifier': createStringFormatCompiler('css-identifier', isValidCssIdentifier),\n 'hexadecimal': createStringFormatCompiler('hexadecimal', isValidHexaDecimal),\n 'numeric': createStringFormatCompiler('numeric', isValidNumeric),\n 'uppercase': createStringFormatCompiler('uppercase', isStringUpperCase),\n 'lowercase': createStringFormatCompiler('lowercase', isStringLowerCase),\n 'color': createStringFormatCompiler('color', isValidHexColor),\n 'regex': createStringFormatCompiler('regex', isStringRegExp),\n 'uri': createStringFormatCompiler('uri', isValidUri),\n 'uri--full': createStringFormatCompiler('uri--full', isValidUriFull),\n 'uri-reference': createStringFormatCompiler('uri-reference', isValidUriRef),\n 'uri-reference--full': createStringFormatCompiler('uri-reference--full', isValidUriRefFull),\n 'uri-template': createStringFormatCompiler('uri-template', isValidUriTemplate),\n 'url': createStringFormatCompiler('url', isValidUrl),\n 'url--full': createStringFormatCompiler('url--full', isValidUrl),\n 'email': createStringFormatCompiler('email', isValidEmail),\n 'email--full': createStringFormatCompiler('email--full', isValidEmailFull),\n 'hostname': createStringFormatCompiler('hostname', isValidHostname),\n 'idn-email': createStringFormatCompiler('idn-email', isValidIdnEmail),\n 'idn-hostname': createStringFormatCompiler('idn-hostname', isValidIdnHostname),\n 'ipv4': createStringFormatCompiler('ipv4', isValidIPv4),\n 'ipv6': createStringFormatCompiler('ipv6', isValidIPv6),\n 'uuid': createStringFormatCompiler('uuid', isValidUUID),\n 'guid': createStringFormatCompiler('guid', isValidGUID),\n 'json-pointer': createStringFormatCompiler('json-pointer', isValidJSONPointer),\n 'json-pointer-uri-fragment': createStringFormatCompiler('json-pointer-uri-fragment', isValidJSONPointerUriFragment),\n 'relative-json-pointer': createStringFormatCompiler('relative-json-pointer', isValidRelativeJSONPointer),\n 'iri': createStringFormatCompiler('iri', isValidIRI),\n 'iri-reference': createStringFormatCompiler('iri-reference', isValidIRIRef),\n 'isbn10': createStringFormatCompiler('isbn10', isValidISBN10),\n 'isbn13': createStringFormatCompiler('isbn13', isValidISBN13),\n 'mac': createStringFormatCompiler('mac', isValidMACAddr),\n 'base64': createStringFormatCompiler('base64', isValidBase64),\n 'byte': createStringFormatCompiler('byte', isValidBase64),\n 'country2': createStringFormatCompiler('country2', isValidCountryAlpha2),\n 'iban': createStringFormatCompiler('iban', isValidIBAN),\n};\n", "//@ts-check\n\nimport {\n isIntegerType,\n} from './index.js';\n\nexport const INT8_MIN = -128;\nexport const INT8_MAX = 127;\n\nexport function isValidInt8(value) {\n return isIntegerType(value)\n && value >= INT8_MIN\n && value <= INT8_MAX;\n}\n\nexport const UINT8_MIN = 0;\nexport const UINT8_MAX = 255;\n\nexport function isValidUInt8(value) {\n return isIntegerType(value)\n && value >= UINT8_MIN\n && value <= UINT8_MAX;\n}\n\nexport const INT16_MIN = -32768;\nexport const INT16_MAX = 32767;\n\nexport function isValidInt16(value) {\n return isIntegerType(value)\n && value >= INT16_MIN\n && value <= INT16_MAX;\n}\n\nexport const UINT16_MIN = 0;\nexport const UINT16_MAX = 65535;\n\nexport function isValidUInt16(value) {\n return isIntegerType(value)\n && value >= UINT16_MIN\n && value <= UINT16_MAX;\n}\n\nexport const INT32_MIN = -(2 ** 31);\nexport const INT32_MAX = (2 ** 31) - 1;\n\nexport function isValidInt32(value) {\n return isIntegerType(value)\n && value >= INT32_MIN\n && value <= INT32_MAX;\n}\n\nexport const UINT32_MIN = 0;\nexport const UINT32_MAX = (2 ** 32) - 1;\n\nexport function isValidUInt32(value) {\n return isIntegerType(value)\n && value >= UINT32_MIN\n && value <= UINT32_MAX;\n}\n\nexport const INT64_MIN = Number.MIN_SAFE_INTEGER;\nexport const INT64_MAX = Number.MAX_SAFE_INTEGER;\n\nexport function isValidInt64(value) {\n return isIntegerType(value)\n && value >= INT64_MIN\n && value <= INT64_MAX;\n}\n\nexport const UINT64_MIN = 0;\nexport const UINT64_MAX = Number.MAX_SAFE_INTEGER;\n\nexport function isValidUInt64(value) {\n return isIntegerType(value)\n && value >= UINT64_MIN\n && value <= UINT64_MAX;\n}\n", "//@ts-check\n\nimport {\n isNumberType,\n} from './index.js';\n\nexport const FLOAT16_MAX = 65504.0;\nexport const FLOAT16_MIN = 0.00006103515625;\nexport const FLOAT16_EPS = 0.0009765625;\nexport const FLOAT16_EXBITS = 5;\nexport const FLOAT16_FRBITS = 10;\n\nexport function isValidFloat16(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT16_MAX\n && value <= FLOAT16_MAX;\n}\n\nexport function getValidFloat16(value, defVal = NaN) {\n if (!isNumberType(value) /* TODO: do we need this? */\n || Number.isNaN(value)) return defVal;\n if (value < -FLOAT16_MAX) return -Infinity;\n if (value > FLOAT16_MAX) return Infinity;\n return value;\n}\n\nexport function Float16_increment(value) {\n const next = value + 2 ** (Math.log2(value) - 11);\n return (next > FLOAT16_MAX)\n ? Infinity\n : next;\n}\n\nexport function Float16_decrement(value) {\n const next = value - 2 ** (Math.log2(value) - 11);\n return (next < -FLOAT16_MAX)\n ? -Infinity\n : next;\n}\n\nexport const FLOAT32_MAX = 3.4028234663852886e+38;\nexport const FLOAT32_MIN = 1.1754943508222875e-38;\nexport const FLOAT32_EPS = 1.1920928955078125e-7;\nexport const FLOAT32_EXBITS = 8;\nexport const FLOAT32_FRBITS = 23;\n\nexport function isValidFloat32(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT32_MAX\n && value <= FLOAT32_MAX;\n}\n\nexport function getValidFloat32(value, defVal = NaN) {\n if (!isNumberType(value) || Number.isNaN(value)) return defVal;\n if (value < -FLOAT32_MAX) return -Infinity;\n if (value > FLOAT32_MAX) return Infinity;\n return value;\n}\n\nexport function Float32_increment(value) {\n const next = value + 2 ** (Math.log2(value) - 24);\n return (next > FLOAT32_MAX)\n ? Infinity\n : next;\n}\n\nexport function Float32_decrement(value) {\n const next = value - 2 ** (Math.log2(value) - 24);\n return (next < -FLOAT32_MAX)\n ? -Infinity\n : next;\n}\n\nexport const FLOAT64_MAX = Number.MAX_VALUE;\nexport const FLOAT64_MIN = Number.MIN_VALUE;\nexport const FLOAT64_EPS = Number.EPSILON;\nexport const FLOAT64_EXBITS = 11;\nexport const FLOAT64_FRBITS = 52;\n\nexport function isValidFloat64(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT64_MAX\n && value <= FLOAT64_MAX;\n}\n\nexport function getValidFloat64(value, defVal = NaN) {\n return isNumberType(value)\n ? value\n : defVal;\n}\n\nexport function Float64_increment(value) {\n return value + 2 ** (Math.log2(value) - 53);\n}\n\nexport function Float64_decrement(value) {\n return value - 2 ** (Math.log2(value) - 53);\n}\n\nexport const FLOAT128_MAX = 0.0;\nexport const FLOAT128_MIN = 0.0;\nexport const FLOAT128_EPS = 0.0;\nexport const FLOAT128_EXBITS = 15;\nexport const FLOAT128_FRBITS = 112;\n", "//@ts-check\n\nimport {\n isValidInt8,\n isValidInt16,\n isValidInt32,\n isValidInt64,\n isValidUInt8,\n isValidUInt16,\n isValidUInt32,\n isValidUInt64,\n} from '@jarenjs/core/integer';\n\nimport {\n isValidFloat16,\n isValidFloat32,\n isValidFloat64,\n} from '@jarenjs/core/float';\n\nfunction createNumberFormatCompiler(formatName, isNumberTest, strictFormat = false) {\n return function compileNumberFormat(schemaObj, jsonSchema) {\n if (jsonSchema.format !== formatName)\n throw new Error('Format is not equal to jsonSchema (should not happen!)');\n\n const addError = schemaObj.createErrorHandler(formatName, 'format');\n\n if (strictFormat === true)\n return function validateNumberStrictFormat(data, dataPath) {\n return data == null\n || isNumberTest(data)\n || addError(data, dataPath);\n };\n else\n return function validateNumberFormat(data, dataPath) {\n return (data == null\n || isNumberTest(Number(data))\n || addError(data, dataPath));\n };\n };\n}\n\nexport const formatValidators = {\n // integer types\n int8: createNumberFormatCompiler('int8', isValidInt8),\n uint8: createNumberFormatCompiler('uint8', isValidUInt8),\n int16: createNumberFormatCompiler('int16', isValidInt16),\n uint16: createNumberFormatCompiler('uint16', isValidUInt16),\n int32: createNumberFormatCompiler('int32', isValidInt32),\n uint32: createNumberFormatCompiler('uint32', isValidUInt32),\n int64: createNumberFormatCompiler('int64', isValidInt64),\n uint64: createNumberFormatCompiler('uint64', isValidUInt64),\n // floating point types\n float16: createNumberFormatCompiler('float16', isValidFloat16),\n float32: createNumberFormatCompiler('float32', isValidFloat32),\n float64: createNumberFormatCompiler('float64', isValidFloat64),\n float: createNumberFormatCompiler('float', isValidFloat32),\n double: createNumberFormatCompiler('double', isValidFloat64),\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": ["formatValidators", "formatValidators"]
|
|
7
7
|
}
|
package/dist/index.min.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
function l(t){return typeof t=="string"}function I(t){return t!=null&&typeof t=="number"}function d(t){return Number.isInteger(t)}function T(t,n){return t!=null&&t.constructor===n}var ur=Object.getPrototypeOf(Uint8Array);function N(t,n,r){let i=t(n),o=r===!0?i:t(r);return o===void 0?[i,void 0]:[void 0,o]}var yt=1e3,Lt=yt*60*60,fr=Lt*24,$t="1970-01-01T";var bt=Object.freeze([0,31,28,31,30,31,30,31,31,30,31,30,31]),Xt=/^(\d\d\d\d)-([0-1]\d)-([0-3]\d)z?$/i,ht=/^(\d\d):(\d\d):(\d\d)(\.\d{1,6})?(z|(([+-])(\d\d):(\d\d)))$/i;function D(t){return T(t,Date)}function Vt(t){return t%4===0&&(t%100!==0||t%400===0)}function wt(t=0,n=0,r=0){return n>=1&&n<=12&&r>=1&&r<=(n===2&&Vt(t)?29:bt[n])}function P(t){if(!l(t))return!1;let n=t.match(Xt);if(n==null)return!1;let r=parseInt(n[1],10)|0,i=parseInt(n[2],10)|0,o=parseInt(n[3],10)|0;return wt(r,i,o)}function Ht(t=0,n=0,r=0,i=0,o=0){return(t===23&&n===59&&r===60||t>=0&&t<=23&&n>=0&&n<=59&&r>=0&&r<=59)&&i>=0&&i<=23&&o>=0&&o<=59}function y(t){if(!l(t))return!1;let n=t.match(ht);if(n==null)return!1;let r=parseInt(n[1],10)|0,i=parseInt(n[2],10)|0,o=parseInt(n[3],10)|0,s=parseInt(n[8],10)|0,F=parseInt(n[9],10)|0;return Ht(r,i,o,s,F)}function Zt(t){if(!l(t))return!1;let n=t.split(/t|\s/i);return n.length===2&&P(n[0])&&y(n[1])}function L(t,n=void 0){return P(t)?new Date(Date.parse(t)):n}function $(t,n=void 0){return y(t)?new Date(Date.parse($t+t)):n}function b(t,n=void 0){return Zt(t)?new Date(Date.parse(t)):n}function Kt(t,n,r){let[i,o]=N(t,r.formatMinimum,r.formatExclusiveMinimum);if(o!=null){let s=n.createErrorHandler(o,"formatExclusiveMinimum");return function(f,e){return f>o||s(f,e)}}else if(i){let s=n.createErrorHandler(i,"formatMinimum");return function(f,e){return f>=i||s(f,e)}}}function Jt(t,n,r){let[i,o]=N(t,r.formatMaximum,r.formatExclusiveMaximum);if(o!=null){let s=n.createErrorHandler(o,"formatExclusiveMaximum");return function(f,e){return f<o||s(f,e)}}else if(i!=null){let s=n.createErrorHandler(i,"formatMaximum");return function(f,e){return f<=i||s(f,e)}}}function A(t,n,r,i){if(i.format!==t)throw new Error("ERROR: This should not happen!");let o=r.createErrorHandler(i.format,"format"),s=Kt(n,r,i),F=Jt(n,r,i);return s!=null&&F!=null?function(e,a){if(l(e)){let c=n(e);return c==null?o(e,a):s(c,a)&&F(c,a)}else return D(e)?s(e,a)&&F(e,a):!0}:s!=null?function(e,a){if(l(e)){let c=n(e);return c==null?o(e,a):s(c,a)}else return D(e)?s(e,a):!0}:F!=null?function(e,a){if(l(e)){let c=n(e);return c==null?o(e,a):F(c)}else return D(e)?F(e,a):!0}:function(e,a){return l(e)&&n(e)==null?o(e,a):!0}}function Yt(t,n){return A("date-time",b,t,n)}function Wt(t,n){return A("date",L,t,n)}function kt(t,n){return A("time",$,t,n)}var Qt={"date-time":Yt,date:Wt,time:kt};function X(t){return t===t.toUpperCase()}function h(t){return t===t.toLowerCase()}function jt(t){return T(t,RegExp)}function V(t){try{return qt(t)!=null}catch{return!1}}function qt(t){if(t!=null){if(jt(t))return t;if(l(t))if(t[0]==="/"){let n=t.lastIndexOf("/");if(n>=0){let r=t.substring(1,n),i=t.substring(n+1);return new RegExp(r,i)}}else return new RegExp(t);throw new Error(`Unknown Regular Expression Pattern Type: ${t}`)}}var vt="-";var tn=/[^\0-\x7E]/,nn=/[\x2E\u3002\uFF0E\uFF61]/g,rn={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},C=35,E=Math.floor,g=String.fromCharCode;function w(t){throw new RangeError(rn[t])}function en(t,n){let r=[],i=t.length;for(;i--;)r[i]=n(t[i]);return r}function on(t,n){let r=t.split("@"),i="";r.length>1&&(i=r[0]+"@",t=r[1]),t=t.replace(nn,".");let o=t.split("."),s=en(o,n).join(".");return i+s}function un(t){let n=[],r=0,i=t.length;for(;r<i;){let o=t.charCodeAt(r++);if(o>=55296&&o<=56319&&r<i){let s=t.charCodeAt(r++);(s&64512)===56320?n.push(((o&1023)<<10)+(s&1023)+65536):(n.push(o),r--)}else n.push(o)}return n}function H(t,n){return t+22+75*(t<26)-((n!==0)<<5)}function sn(t,n,r){let i=0;for(t=r?E(t/700):t>>1,t+=E(t/n);t>C*26>>1;i+=36)t=E(t/C);return E(i+(C+1)*t/(t+38))}function an(t){let n=[],r=un(t),i=r.length,o=128,s=0,F=72;for(let a of r)a<128&&n.push(g(a));let f=n.length,e=f;for(f&&n.push(vt);e<i;){let a=2147483647;for(let x of r)x>=o&&x<a&&(a=x);let c=e+1;a-o>E((2147483647-s)/c)&&w("overflow"),s+=(a-o)*c,o=a;for(let x of r)if(x<o&&++s>2147483647&&w("overflow"),x===o){let S=s;for(let m=36;;m+=36){let _=m<=F?1:m>=F+26?26:m-F;if(S<_)break;let U=S-_,G=36-_;n.push(g(H(_+U%G,0))),S=E(U/G)}n.push(g(H(S,0))),F=sn(s,c,e===f),s=0,++e}++s,++o}return n.join("")}function Z(t){return on(t,function(r){return tn.test(r)?"xn--"+an(r):r})}var fn=/^[a-zA-Z]+$/;function K(t){return fn.test(t)}var Fn=/^[a-zA-Z0-9]+$/;function J(t){return Fn.test(t)}var cn=/^[0-9]+$/;function Y(t){return cn.test(t)}var ln=/^[a-fA-F0-9]+$/;function W(t){return ln.test(t)}var pn=/^#(?:[0-9a-f]{3}){1,2}\b$/i;function k(t){return pn.test(t)}var dn=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function Q(t){return dn.test(t)}var xn=/^({)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function j(t){return xn.test(t)}var En=/^[_a-zA-Z]+\w{0,30}$/;function q(t){return En.test(t)}var Sn=/^[A-Za-z]+[\w\-\:\.]{0,30}$/;function v(t){return Sn.test(t)}var mn=/^-?[_a-zA-Z]+[\w-]{0,30}$/;function tt(t){return mn.test(t)}var _n=/^(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})(?:(?:\1|\.)(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})){2}$/;function nt(t){return _n.test(t)}var In=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/;function rt(t){return In.test(t)}var Tn=/^\s*(?:(?:(?:[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}))|:)))(?:%.+)?\s*$/i;function et(t){return Tn.test(t)}var Dn=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;function it(t){return t.length<=255&&Dn.test(t)}var Nn=/^(?!-)(xn--)?[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\.(?!-)(xn--)?([a-zA-Z0-9\-]{1,50}|[a-zA-Z0-9-]{1,30}\.[a-zA-Z]{2,})$/;function ot(t){let n=Z(t);return Nn.test(n)}var An=/^[(http(s)?):\/\/(www\.)?\w-/=#%&\.\?]{2,}\.[a-z]{2,}([\w-/=#%&\.\?]*)$/i;function M(t){return An.test(t)}var ut=/\/|:/,Cn=/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i;function st(t){return ut.test(t)&&Cn.test(t)}var gn=/^(?:[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;function at(t){return ut.test(t)&&gn.test(t)}var Mn=/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i;function R(t){return Mn.test(t)}var Rn=/^(?:[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;function ft(t){return Rn.test(t)}var On=/^(?:(?:[^\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;function Ft(t){return On.test(t)}var zn=/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;function ct(t){return zn.test(t)}function lt(t){return R(t)}var Bn=/^(?:\/(?:[^~/]|~0|~1)*)*$/;function pt(t){return Bn.test(t)}var Un=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;function dt(t){return Un.test(t)}var Gn=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function xt(t){return Gn.test(t)}var Pn=/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;function Et(t){return Pn.test(t)}var yn=/^[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;function St(t){return yn.test(t)}var Ln=/^[^@]+@[^@]+\.[^@]+$/;function mt(t){return Ln.test(t)}var $n=/^(?:ISBN(?:-10)?:?\ *((?=\d{1,5}([ -]?)\d{1,7}\2?\d{1,6}\2?\d)(?:\d\2*){9}[\dX]))$/i;function _t(t){return $n.test(t)}var bn=/^(?:ISBN(?:-13)?:?\ *(97(?:8|9)([ -]?)(?=\d{1,5}\2?\d{1,7}\2?\d{1,6}\2?\d)(?:\d\2*){9}\d))$/i;function It(t){return bn.test(t)}var Xn=/^(?:[a-zA-Z0-9+\/]{4})*(?:|(?:[a-zA-Z0-9+\/]{3}=)|(?:[a-zA-Z0-9+\/]{2}==)|(?:[a-zA-Z0-9+\/]{1}===))$/;function O(t){return Xn.test(t)}var hn=/^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW|XK)/i;function Tt(t){return hn.test(t)}var Vn=/^([A-Z]{2}[ '+'\\\\'+'-]?[0-9]{2})(?=(?:[ '+'\\\\'+'-]?[A-Z0-9]){9,30}\$)((?:[ '+'\\\\'+'-]?[A-Z0-9]{3,5}){2,7})([ '+'\\\\'+'-]?[A-Z0-9]{1,3})?\$/i;function Dt(t){return Vn.test(t)}function u(t,n){return function(i,o){if(o.format!==t)throw new Error("Format is not equal to jsonSchema (should not happen!)");let s=i.createErrorHandler(t,"format",n.constructor.name);return function(f,e){return l(f)?n(f)||s(f,e):!0}}}var wn={alpha:u("alpha",K),alphanumeric:u("alphanumeric",J),identifier:u("identifier",q),"html-identifier":u("html-identifier",v),"css-identifier":u("css-identifier",tt),hexadecimal:u("hexadecimal",W),numeric:u("numeric",Y),uppercase:u("uppercase",X),lowercase:u("lowercase",h),color:u("color",k),regex:u("regex",V),uri:u("uri",st),"uri--full":u("uri--full",at),"uri-reference":u("uri-reference",R),"uri-reference--full":u("uri-reference--full",ft),"uri-template":u("uri-template",Ft),url:u("url",M),"url--full":u("url--full",M),email:u("email",Et),"email--full":u("email--full",St),hostname:u("hostname",it),"idn-email":u("idn-email",mt),"idn-hostname":u("idn-hostname",ot),ipv4:u("ipv4",rt),ipv6:u("ipv6",et),uuid:u("uuid",Q),guid:u("guid",j),"json-pointer":u("json-pointer",pt),"json-pointer-uri-fragment":u("json-pointer-uri-fragment",dt),"relative-json-pointer":u("relative-json-pointer",xt),iri:u("iri",ct),"iri-reference":u("iri-reference",lt),isbn10:u("isbn10",_t),isbn13:u("isbn13",It),mac:u("mac",nt),base64:u("base64",O),byte:u("byte",O),country2:u("country2",Tt),iban:u("iban",Dt)};var Hn=-128,Zn=127;function Nt(t){return d(t)&&t>=Hn&&t<=Zn}var Kn=0,Jn=255;function At(t){return d(t)&&t>=Kn&&t<=Jn}var Yn=-32768,Wn=32767;function Ct(t){return d(t)&&t>=Yn&&t<=Wn}var kn=0,Qn=65535;function gt(t){return d(t)&&t>=kn&&t<=Qn}var jn=-(2**31),qn=2**31-1;function Mt(t){return d(t)&&t>=jn&&t<=qn}var vn=0,tr=2**32-1;function Rt(t){return d(t)&&t>=vn&&t<=tr}var nr=Number.MIN_SAFE_INTEGER,rr=Number.MAX_SAFE_INTEGER;function Ot(t){return d(t)&&t>=nr&&t<=rr}var er=0,ir=Number.MAX_SAFE_INTEGER;function zt(t){return d(t)&&t>=er&&t<=ir}var Bt=65504;function Pt(t){return I(t)&&!Number.isNaN(t)&&t>=-Bt&&t<=Bt}var Ut=34028234663852886e22;function z(t){return I(t)&&!Number.isNaN(t)&&t>=-Ut&&t<=Ut}var Gt=Number.MAX_VALUE,gr=Number.MIN_VALUE,Mr=Number.EPSILON;function B(t){return I(t)&&!Number.isNaN(t)&&t>=-Gt&&t<=Gt}function p(t,n,r=!1){return function(o,s){if(s.format!==t)throw new Error("Format is not equal to jsonSchema (should not happen!)");let F=o.createErrorHandler(t,"format");return r===!0?function(e,a){return e==null||n(e)||F(e,a)}:function(e,a){return e==null||n(Number(e))||F(e,a)}}}var or={int8:p("int8",Nt),uint8:p("uint8",At),int16:p("int16",Ct),uint16:p("uint16",gt),int32:p("int32",Mt),uint32:p("uint32",Rt),int64:p("int64",Ot),uint64:p("uint64",zt),float16:p("float16",Pt),float32:p("float32",z),float64:p("float64",B),float:p("float",z),double:p("double",B)};export{Qt as dateTimeFormats,or as numberFormats,wn as stringFormats};
|
|
1
|
+
function l(t){return typeof t=="string"}function T(t){return t!=null&&typeof t=="number"}function p(t){return Number.isInteger(t)}function D(t,n){return t!=null&&t.constructor===n}var ue=Object.getPrototypeOf(Uint8Array);function A(t,n,e){let i=t(n),o=e===!0?i:t(e);return o===void 0?[i,void 0]:[void 0,o]}var Pt=1e3,yt=Pt*60*60,fe=yt*24,Lt="1970-01-01T";var $t=Object.freeze([0,31,28,31,30,31,30,31,31,30,31,30,31]),bt=/^(\d\d\d\d)-([0-1]\d)-([0-3]\d)z?$/i,Xt=/^(\d\d):(\d\d):(\d\d)(\.\d{1,6})?(z|(([+-])(\d\d):(\d\d)))$/i;function N(t){return D(t,Date)}function ht(t){return t%4===0&&(t%100!==0||t%400===0)}function wt(t=0,n=0,e=0){return n>=1&&n<=12&&e>=1&&e<=(n===2&&ht(t)?29:$t[n])}function G(t){if(!l(t))return!1;let n=t.match(bt);if(n==null)return!1;let e=parseInt(n[1],10)|0,i=parseInt(n[2],10)|0,o=parseInt(n[3],10)|0;return wt(e,i,o)}function Ht(t=0,n=0,e=0,i=0,o=0){return(t===23&&n===59&&e===60||t>=0&&t<=23&&n>=0&&n<=59&&e>=0&&e<=59)&&i>=0&&i<=23&&o>=0&&o<=59}function P(t){if(!l(t))return!1;let n=t.match(Xt);if(n==null)return!1;let e=parseInt(n[1],10)|0,i=parseInt(n[2],10)|0,o=parseInt(n[3],10)|0,a=parseInt(n[8],10)|0,F=parseInt(n[9],10)|0;return Ht(e,i,o,a,F)}function Zt(t){if(!l(t))return!1;let n=t.split(/t|\s/i);return n.length===2&&G(n[0])&&P(n[1])}function y(t,n=void 0){return G(t)?new Date(Date.parse(t)):n}function L(t,n=void 0){return P(t)?new Date(Date.parse(Lt+t)):n}function $(t,n=void 0){return Zt(t)?new Date(Date.parse(t)):n}function Kt(t,n,e){let[i,o]=A(t,e.formatMinimum,e.formatExclusiveMinimum);if(o!=null){let a=n.createErrorHandler(o,"formatExclusiveMinimum");return function(f,r){return f>o||a(f,r)}}else if(i){let a=n.createErrorHandler(i,"formatMinimum");return function(f,r){return f>=i||a(f,r)}}}function Jt(t,n,e){let[i,o]=A(t,e.formatMaximum,e.formatExclusiveMaximum);if(o!=null){let a=n.createErrorHandler(o,"formatExclusiveMaximum");return function(f,r){return f<o||a(f,r)}}else if(i!=null){let a=n.createErrorHandler(i,"formatMaximum");return function(f,r){return f<=i||a(f,r)}}}function C(t,n,e,i){if(i.format!==t)throw new Error("ERROR: This should not happen!");let o=e.createErrorHandler(i.format,"format"),a=Kt(n,e,i),F=Jt(n,e,i);return a!=null&&F!=null?function(r,s){if(l(r)){let c=n(r);return c==null?o(r,s):a(c,s)&&F(c,s)}else return N(r)?a(r,s)&&F(r,s):!0}:a!=null?function(r,s){if(l(r)){let c=n(r);return c==null?o(r,s):a(c,s)}else return N(r)?a(r,s):!0}:F!=null?function(r,s){if(l(r)){let c=n(r);return c==null?o(r,s):F(c)}else return N(r)?F(r,s):!0}:function(r,s){return l(r)&&n(r)==null?o(r,s):!0}}function Yt(t,n){return C("date-time",$,t,n)}function Wt(t,n){return C("date",y,t,n)}function kt(t,n){return C("time",L,t,n)}var Qt={"date-time":Yt,date:Wt,time:kt};function b(t){return t===t.toUpperCase()}function X(t){return t===t.toLowerCase()}function jt(t){return D(t,RegExp)}function h(t){try{return qt(t)!=null}catch{return!1}}function qt(t){if(t!=null){if(jt(t))return t;if(l(t))if(t[0]==="/"){let n=t.lastIndexOf("/");if(n>=0){let e=t.substring(1,n),i=t.substring(n+1);return new RegExp(e,i)}}else return new RegExp(t);throw new Error(`Unknown Regular Expression Pattern Type: ${t}`)}}var vt="-";var tn=/[^\0-\x7E]/,nn=/[\x2E\u3002\uFF0E\uFF61]/g,en={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},S=35,E=Math.floor,M=String.fromCharCode;function w(t){throw new RangeError(en[t])}function rn(t,n){let e=[],i=t.length;for(;i--;)e[i]=n(t[i]);return e}function on(t,n){let e=t.split("@"),i="";e.length>1&&(i=e[0]+"@",t=e[1]),t=t.replace(nn,".");let o=t.split("."),a=rn(o,n).join(".");return i+a}function un(t){let n=[],e=0,i=t.length;for(;e<i;){let o=t.charCodeAt(e++);if(o>=55296&&o<=56319&&e<i){let a=t.charCodeAt(e++);(a&64512)===56320?n.push(((o&1023)<<10)+(a&1023)+65536):(n.push(o),e--)}else n.push(o)}return n}function H(t,n){return t+22+75*(t<26)-((n!==0)<<5)}function an(t,n,e){let i=0;for(t=e?E(t/700):t>>1,t+=E(t/n);t>S*26>>1;i+=36)t=E(t/S);return E(i+(S+1)*t/(t+38))}function sn(t){let n=[],e=un(t),i=e.length,o=128,a=0,F=72;for(let s of e)s<128&&n.push(M(s));let f=n.length,r=f;for(f&&n.push(vt);r<i;){let s=2147483647;for(let x of e)x>=o&&x<s&&(s=x);let c=r+1;s-o>E((2147483647-a)/c)&&w("overflow"),a+=(s-o)*c,o=s;for(let x of e)if(x<o&&++a>2147483647&&w("overflow"),x===o){let m=a;for(let _=36;;_+=36){let I=_<=F?1:_>=F+26?26:_-F;if(m<I)break;let B=m-I,U=36-I;n.push(M(H(I+B%U,0))),m=E(B/U)}n.push(M(H(m,0))),F=an(a,c,r===f),a=0,++r}++a,++o}return n.join("")}function Z(t){return on(t,function(e){return tn.test(e)?"xn--"+sn(e):e})}var fn=/^[a-zA-Z]+$/;function K(t){return fn.test(t)}var Fn=/^[a-zA-Z0-9]+$/;function J(t){return Fn.test(t)}var cn=/^[0-9]+$/;function Y(t){return cn.test(t)}var ln=/^[a-fA-F0-9]+$/;function W(t){return ln.test(t)}var dn=/^#(?:[0-9a-f]{3}){1,2}\b$/i;function k(t){return dn.test(t)}var pn=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function Q(t){return pn.test(t)}var xn=/^({)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;function j(t){return xn.test(t)}var En=/^[_a-zA-Z]+\w{0,30}$/;function q(t){return En.test(t)}var mn=/^[A-Za-z]+[\w\-\:\.]{0,30}$/;function v(t){return mn.test(t)}var _n=/^-?[_a-zA-Z]+[\w-]{0,30}$/;function tt(t){return _n.test(t)}var In=/^(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})(?:(?:\1|\.)(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})){2}$/;function nt(t){return In.test(t)}var Tn=/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/;function et(t){return Tn.test(t)}var Dn=/^\s*(?:(?:(?:[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}))|:)))(?:%.+)?\s*$/i;function rt(t){return Dn.test(t)}var Nn=/^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;function it(t){return t.length<=255&&Nn.test(t)}var An=/^(?!-)(xn--)?[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\.(?!-)(xn--)?([a-zA-Z0-9\-]{1,50}|[a-zA-Z0-9-]{1,30}\.[a-zA-Z]{2,})$/;function ot(t){let n=Z(t);return An.test(n)}var Cn=/^[(http(s)?):\/\/(www\.)?\w-/=#%&\.\?]{2,}\.[a-z]{2,}([\w-/=#%&\.\?]*)$/i;function R(t){return Cn.test(t)}var ut=/\/|:/,Sn=/^(?:[a-z][a-z0-9+-.]*:)(?:\/?\/)?[^\s]*$/i;function at(t){return ut.test(t)&&Sn.test(t)}var Mn=/^(?:[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;function st(t){return ut.test(t)&&Mn.test(t)}var Rn=/^(?:(?:[a-z][a-z0-9+-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i;function O(t){return Rn.test(t)}var On=/^(?:[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;function ft(t){return On.test(t)}var Vn=/^(?:(?:[^\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;function Ft(t){return Vn.test(t)}var gn=/^([a-z]([a-z]|\d|\+|-|\.)*):(\/\/(((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:)*@)?((\[(|(v[\da-f]{1,}\.(([a-z]|\d|-|\.|_|~)|[!\$&'\(\)\*\+,;=]|:)+))\])|((\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])\.(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]))|(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=])*)(:\d*)?)(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*|(\/((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)?)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)+(\/(([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)*)*)|((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)){0})(\?((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|[\uE000-\uF8FF]|\/|\?)*)?(\#((([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(%[\da-f]{2})|[!\$&'\(\)\*\+,;=]|:|@)|\/|\?)*)?$/i;function ct(t){return gn.test(t)}function lt(t){return O(t)}var zn=/^(?:\/(?:[^~/]|~0|~1)*)*$/;function dt(t){return zn.test(t)}var Bn=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;function pt(t){return Bn.test(t)}var Un=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;function xt(t){return Un.test(t)}var Gn=/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;function Et(t){return Gn.test(t)}var Pn=/^[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;function mt(t){return Pn.test(t)}var yn=/^[^@]+@[^@]+\.[^@]+$/;function _t(t){return yn.test(t)}var Ln=/^(?:ISBN(?:-10)?:?\ *((?=\d{1,5}([ -]?)\d{1,7}\2?\d{1,6}\2?\d)(?:\d\2*){9}[\dX]))$/i;function It(t){return Ln.test(t)}var $n=/^(?:ISBN(?:-13)?:?\ *(97(?:8|9)([ -]?)(?=\d{1,5}\2?\d{1,7}\2?\d{1,6}\2?\d)(?:\d\2*){9}\d))$/i;function Tt(t){return $n.test(t)}var bn=/^(?:[a-zA-Z0-9+\/]{4})*(?:|(?:[a-zA-Z0-9+\/]{3}=)|(?:[a-zA-Z0-9+\/]{2}==)|(?:[a-zA-Z0-9+\/]{1}===))$/;function V(t){return bn.test(t)}var Xn=/^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW|XK)/i;function Dt(t){return Xn.test(t)}var hn=/^([A-Z]{2}[ '+'\\\\'+'-]?[0-9]{2})(?=(?:[ '+'\\\\'+'-]?[A-Z0-9]){9,30}\$)((?:[ '+'\\\\'+'-]?[A-Z0-9]{3,5}){2,7})([ '+'\\\\'+'-]?[A-Z0-9]{1,3})?\$/i;function Nt(t){return hn.test(t)}function u(t,n){return function(i,o){if(o.format!==t)throw new Error("Format is not equal to jsonSchema (should not happen!)");let a=i.createErrorHandler(t,"format",n.constructor.name);return function(f,r){return l(f)?n(f)||a(f,r):!0}}}var wn={alpha:u("alpha",K),alphanumeric:u("alphanumeric",J),identifier:u("identifier",q),"html-identifier":u("html-identifier",v),"css-identifier":u("css-identifier",tt),hexadecimal:u("hexadecimal",W),numeric:u("numeric",Y),uppercase:u("uppercase",b),lowercase:u("lowercase",X),color:u("color",k),regex:u("regex",h),uri:u("uri",at),"uri--full":u("uri--full",st),"uri-reference":u("uri-reference",O),"uri-reference--full":u("uri-reference--full",ft),"uri-template":u("uri-template",Ft),url:u("url",R),"url--full":u("url--full",R),email:u("email",Et),"email--full":u("email--full",mt),hostname:u("hostname",it),"idn-email":u("idn-email",_t),"idn-hostname":u("idn-hostname",ot),ipv4:u("ipv4",et),ipv6:u("ipv6",rt),uuid:u("uuid",Q),guid:u("guid",j),"json-pointer":u("json-pointer",dt),"json-pointer-uri-fragment":u("json-pointer-uri-fragment",pt),"relative-json-pointer":u("relative-json-pointer",xt),iri:u("iri",ct),"iri-reference":u("iri-reference",lt),isbn10:u("isbn10",It),isbn13:u("isbn13",Tt),mac:u("mac",nt),base64:u("base64",V),byte:u("byte",V),country2:u("country2",Dt),iban:u("iban",Nt)};var Hn=-128,Zn=127;function At(t){return p(t)&&t>=Hn&&t<=Zn}var Kn=0,Jn=255;function Ct(t){return p(t)&&t>=Kn&&t<=Jn}var Yn=-32768,Wn=32767;function St(t){return p(t)&&t>=Yn&&t<=Wn}var kn=0,Qn=65535;function Mt(t){return p(t)&&t>=kn&&t<=Qn}var jn=-(2**31),qn=2**31-1;function Rt(t){return p(t)&&t>=jn&&t<=qn}var vn=0,te=2**32-1;function Ot(t){return p(t)&&t>=vn&&t<=te}var ne=Number.MIN_SAFE_INTEGER,ee=Number.MAX_SAFE_INTEGER;function Vt(t){return p(t)&&t>=ne&&t<=ee}var re=0,ie=Number.MAX_SAFE_INTEGER;function gt(t){return p(t)&&t>=re&&t<=ie}var zt=65504;function Gt(t){return T(t)&&!Number.isNaN(t)&&t>=-zt&&t<=zt}var Bt=34028234663852886e22;function g(t){return T(t)&&!Number.isNaN(t)&&t>=-Bt&&t<=Bt}var Ut=Number.MAX_VALUE,Me=Number.MIN_VALUE,Re=Number.EPSILON;function z(t){return T(t)&&!Number.isNaN(t)&&t>=-Ut&&t<=Ut}function d(t,n,e=!1){return function(o,a){if(a.format!==t)throw new Error("Format is not equal to jsonSchema (should not happen!)");let F=o.createErrorHandler(t,"format");return e===!0?function(r,s){return r==null||n(r)||F(r,s)}:function(r,s){return r==null||n(Number(r))||F(r,s)}}}var oe={int8:d("int8",At),uint8:d("uint8",Ct),int16:d("int16",St),uint16:d("uint16",Mt),int32:d("int32",Rt),uint32:d("uint32",Ot),int64:d("int64",Vt),uint64:d("uint64",gt),float16:d("float16",Gt),float32:d("float32",g),float64:d("float64",z),float:d("float",g),double:d("double",z)};export{Qt as dateTimeFormats,oe as numberFormats,wn as stringFormats};
|
|
2
2
|
//# sourceMappingURL=index.min.js.map
|
package/dist/index.min.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
|
-
"sources": ["../../core/src/index.js", "../../core/src/dates.js", "../src/datetime.js", "../../core/src/string.js", "../../
|
|
4
|
-
"sourcesContent": ["//@ts-check\nexport function isFn(data) {\n return typeof data === 'function';\n}\n\n//#region Scalar Tests\nfunction isScalarTypeEx(typeName) {\n switch (typeName) {\n case 'string':\n case 'number':\n case 'boolean':\n case 'integer':\n case 'bigint':\n return true;\n default:\n return false;\n }\n}\n\nexport function isScalarType(data) {\n return data != null && isScalarTypeEx(typeof data);\n}\n\nexport function isStringType(data) {\n return typeof data === 'string';\n}\n\n/**\n * Checks if the given data is of boolean type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is a boolean, otherwise false.\n */\nexport function isBooleanType(data) {\n return data === true || data === false;\n}\n\n/**\n * Checks if the given data is of number type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is a number, otherwise false.\n */\nexport function isNumberType(data) {\n return data != null && typeof data === 'number';\n}\n\n/**\n * Checks if the given data is an integer type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is an integer, otherwise false.\n */\nexport function isIntegerType(data) {\n return Number.isInteger(data);\n}\n\nexport function isBigIntType(data) {\n return typeof data === 'bigint';\n}\n\n//#endregion\n\n//#region Scalar Getters\n/**\n * Returns the string type of the input object if it is a string; otherwise, returns the default value.\n * \n * @param {any} obj - The input object to check its type.\n * @param {string|undefined} [def=undefined] - The default value to return if the input object is not a string.\n * @returns {string} The string type of the input object or the default value.\n */\nexport function getStringType(obj, def = undefined) {\n return isStringType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a boolean type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {boolean|undefined} [def=undefined] - The default value to return if the object is not a boolean.\n * @returns {boolean|undefined} - The boolean value or the default value.\n */\nexport function getBooleanType(obj, def = undefined) {\n return isBooleanType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a number type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {number|undefined} [def=undefined] - The default value to return if the object is not a number.\n * @returns {number|undefined} - The number value or the default value.\n */\nexport function getNumberType(obj, def = undefined) {\n return isNumberType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is an integer type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {number|undefined} [def=undefined] - The default value to return if the object is not an integer.\n * @returns {number|undefined} - The integer value or the default value.\n */\nexport function getIntegerType(obj, def = undefined) {\n return isIntegerType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a bigint type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {bigint|undefined} [def=undefined] - The default value to return if the object is not a bigint.\n * @returns {bigint|undefined} - The bigint value or the default value.\n */\nexport function getBigIntType(obj, def = undefined) {\n return isBigIntType(obj)\n ? obj\n : def;\n}\n//#endregion\n\n//#region Object Tests\n/**\n * Checks if the input data is null.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is null, otherwise false.\n */\nexport function isNullValue(data) {\n return data === null;\n}\n\n/**\n * Checks if the given data is an object of a specific class.\n *\n * @param {any} data - The data to check.\n * @param {Function} type - The class type to compare against.\n * @returns {boolean} Returns true if the data is an object of the specified class; otherwise, false.\n */\nexport function isObjectOfClass(data, type) {\n return data != null && data.constructor === type;\n}\n\n/**\n * @brief test if data is an object literal\n * @param {*} data the data to test\n * @returns boolean\n */\nexport function isObjectClass(data) {\n return isObjectOfClass(data, Object);\n}\n\n/**\n * Checks if the input data is of type Map.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Map class, otherwise false.\n */\nexport function isMapClass(data) {\n return isObjectOfClass(data, Map);\n}\n\n/**\n * @brief test if data is typeof object but not an Array\n * @param {*} data the data to test\n * @returns boolean\n */\nexport function isObjectType(data) {\n return data != null\n && typeof data === 'object'\n && data.constructor !== Array;\n}\n\n/**\n * Checks if the input data is of type Array.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Array class, otherwise false.\n */\nexport function isArrayClass(data) {\n return isObjectOfClass(data, Array);\n}\n\n/**\n * Checks if the input data is of type Set.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Set class, otherwise false.\n */\nexport function isSetClass(data) {\n return isObjectOfClass(data, Set);\n}\n\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nexport function isTypedArray(data) {\n if (data == null)\n return false;\n const proto = data.__proto__.__proto__;\n return proto != null && proto.constructor === TypedArray;\n}\n//#endregion\n\n//#region Object Getters\nexport function getObjectType(obj, def = undefined) {\n return isObjectClass(obj) ? obj : def;\n}\n\nexport function getArrayClass(obj, def = undefined) {\n return isArrayClass(obj) ? obj : def;\n}\n//#endregion\n\n/**\n * Calculates the inclusive and exclusive bounds based on the provided parameters.\n * \n * @param {function} getType - A function to determine the type of the inclusive and exclusive bounds.\n * @param {number|string|undefined} inclusive - The inclusive bound value.\n * @param {number|string|boolean|undefined} exclusive - The exclusive bound value.\n * @returns {Array} An array containing the inclusive and exclusive bounds.\n */\nexport function getInclusiveExclusiveBounds(getType, inclusive, exclusive) {\n const includes = getType(inclusive);\n const excludes = exclusive === true\n ? includes\n : getType(exclusive);\n return (excludes === undefined)\n ? [includes, undefined]\n : [undefined, excludes];\n}\n", "//@ts-check\n\nimport {\n isStringType,\n isObjectOfClass,\n} from './index.js';\n\n//#region Dates Constants\nexport const CONST_TICKS_SECOND = 1000;\nexport const CONST_TICKS_HOUR = CONST_TICKS_SECOND * 60 * 60;\nexport const CONST_TICKS_DAY = CONST_TICKS_HOUR * 24;\n\nexport const CONST_TIME_INSERTDATE = '1970-01-01T';\nexport const CONST_DATE_APPENDTIME = 'T00:00:00Z';\n\nexport const CONST_RFC3339_DAYS = Object.freeze(\n [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n);\n\n// full-date from http://tools.ietf.org/html/rfc3339#section-5.6\nexport const CONST_RFC3339_REGEX_ISDATE = /^(\\d\\d\\d\\d)-([0-1]\\d)-([0-3]\\d)z?$/i;\n\n// full-date from http://tools.ietf.org/html/rfc3339#section-5.6\nexport const CONST_RFC3339_REGEX_ISTIME = /^(\\d\\d):(\\d\\d):(\\d\\d)(\\.\\d{1,6})?(z|(([+-])(\\d\\d):(\\d\\d)))$/i;\n\n//#endregion\n\n//#region Dates Compare\nexport function isDateType(data) {\n return isObjectOfClass(data, Date);\n}\n\nexport function isDateishType(data) {\n return isDateType(data)\n || !Number.isNaN(Date.parse(data));\n}\n\nexport function isLeapYear(year) {\n // https://tools.ietf.org/html/rfc3339#appendix-C\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function isDateOnlyInRange(year = 0, month = 0, day = 0) {\n return month >= 1\n && month <= 12\n && day >= 1\n && day <= (month === 2 && isLeapYear(year)\n ? 29\n : CONST_RFC3339_DAYS[month]);\n}\n\nexport function isDateOnlyRFC3339(str) {\n if (!isStringType(str))\n return false;\n\n const r = str.match(CONST_RFC3339_REGEX_ISDATE);\n if (r == null)\n return false;\n\n const y = parseInt(r[1], 10) | 0;\n const m = parseInt(r[2], 10) | 0;\n const d = parseInt(r[3], 10) | 0;\n return isDateOnlyInRange(y, m, d);\n}\n\nexport function isTimeOnlyInRange(hrs = 0, min = 0, sec = 0, tzh = 0, tzm = 0) {\n return ((hrs === 23 && min === 59 && sec === 60)\n || (hrs >= 0 && hrs <= 23\n && min >= 0 && min <= 59\n && sec >= 0 && sec <= 59))\n && (tzh >= 0 && tzh <= 23\n && tzm >= 0 && tzm <= 59);\n}\n\nexport function isTimeOnlyRFC3339(str) {\n if (!isStringType(str))\n return false;\n\n const r = str.match(CONST_RFC3339_REGEX_ISTIME);\n if (r == null)\n return false;\n\n const h = parseInt(r[1], 10) | 0;\n const m = parseInt(r[2], 10) | 0;\n const s = parseInt(r[3], 10) | 0;\n const th = parseInt(r[8], 10) | 0;\n const tm = parseInt(r[9], 10) | 0;\n return isTimeOnlyInRange(h, m, s, th, tm);\n}\n\nexport function isDateTimeRFC3339(str) {\n // http://tools.ietf.org/html/rfc3339#section-5.6\n if (!isStringType(str)) return false;\n const dateTime = str.split(/t|\\s/i);\n return dateTime.length === 2\n && isDateOnlyRFC3339(dateTime[0])\n && isTimeOnlyRFC3339(dateTime[1]);\n}\n\n//#endregion\n\n//#region Dates Getters\nexport function getDateTypeOfDateOnlyRFC3339(str, def = undefined) {\n return isDateOnlyRFC3339(str)\n ? new Date(Date.parse(str))\n : def;\n}\n\nexport function getDateTypeOfTimeOnlyRFC3339(str, def = undefined) {\n return isTimeOnlyRFC3339(str)\n ? new Date(Date.parse(CONST_TIME_INSERTDATE + str))\n : def;\n}\n\nexport function getDateTypeOfDateTimeRFC3339(str, def = undefined) {\n return isDateTimeRFC3339(str)\n ? new Date(Date.parse(str))\n : def;\n}\n//#endregion\n", "//@ts-check\n\nimport {\n isStringType,\n getInclusiveExclusiveBounds,\n} from '@jarenjs/core';\n\nimport {\n isDateType,\n getDateTypeOfDateTimeRFC3339,\n getDateTypeOfDateOnlyRFC3339,\n getDateTypeOfTimeOnlyRFC3339,\n} from '@jarenjs/core/dates';\n\n//#region generalized\nfunction compileFormatMinimumByType(parseType, schemaObj, jsonSchema) {\n const [min, emin] = getInclusiveExclusiveBounds(\n parseType,\n jsonSchema.formatMinimum,\n jsonSchema.formatExclusiveMinimum,\n );\n\n if (emin != null) {\n const addError = schemaObj.createErrorHandler(emin, 'formatExclusiveMinimum');\n\n return function isFormatExclusiveMinimum(date, dataPath) {\n return date > emin\n || addError(date, dataPath);\n };\n }\n else if (min) {\n const addError = schemaObj.createErrorHandler(min, 'formatMinimum');\n\n return function isFormatMinimum(date, dataPath) {\n return date >= min\n || addError(date, dataPath);\n };\n }\n\n return undefined;\n}\n\nfunction compileFormatMaximumByType(parseType, schemaObj, jsonSchema) {\n const [max, emax] = getInclusiveExclusiveBounds(\n parseType,\n jsonSchema.formatMaximum,\n jsonSchema.formatExclusiveMaximum,\n );\n\n if (emax != null) {\n const addError = schemaObj.createErrorHandler(emax, 'formatExclusiveMaximum');\n\n return function isFormatExclusiveMaximum(date, dataPath) {\n return date < emax\n || addError(date, dataPath);\n };\n }\n else if (max != null) {\n const addError = schemaObj.createErrorHandler(max, 'formatMaximum');\n\n return function isFormatMaximum(date, dataPath) {\n return date <= max\n || addError(date, dataPath);\n };\n }\n\n return undefined;\n}\n\nfunction compileFormatByType(name, parseType, schemaObj, jsonSchema) {\n if (jsonSchema.format !== name)\n throw new Error('ERROR: This should not happen!');\n\n const addError = schemaObj.createErrorHandler(jsonSchema.format, 'format');\n\n const validateMin = compileFormatMinimumByType(\n parseType,\n schemaObj,\n jsonSchema,\n );\n\n const validateMax = compileFormatMaximumByType(\n parseType,\n schemaObj,\n jsonSchema,\n );\n\n if (validateMin != null && validateMax != null) {\n return function validateFormatBetween(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMin(date, dataPath)\n && validateMax(date, dataPath);\n }\n else if (isDateType(data))\n return validateMin(data, dataPath)\n && validateMax(data, dataPath);\n else\n return true;\n };\n }\n if (validateMin != null) {\n return function validateFormatMinimum(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMin(date, dataPath);\n }\n else if (isDateType(data))\n return validateMin(data, dataPath);\n else\n return true;\n };\n }\n if (validateMax != null) {\n return function validateFormatMaximum(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMax(date);\n }\n else if (isDateType(data))\n return validateMax(data, dataPath);\n else\n return true;\n };\n }\n\n return function validateDateTime(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : true;\n }\n else\n return true;\n };\n}\n//#endregion\n\nfunction compileDateTimeFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'date-time',\n getDateTypeOfDateTimeRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nfunction compileDateOnlyFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'date',\n getDateTypeOfDateOnlyRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nfunction compileTimeOnlyFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'time',\n getDateTypeOfTimeOnlyRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nexport const formatValidators = {\n 'date-time': compileDateTimeFormat,\n date: compileDateOnlyFormat,\n time: compileTimeOnlyFormat,\n};\n", "//@ts-check\n\nimport {\n isStringType,\n isObjectOfClass,\n} from './index.js';\n\n//#region String Tools\nexport function isStringEmpty(data) {\n return typeof data === 'string' && !data;\n}\n\nexport function isStringWhiteSpace(data) {\n return data == null || /^\\s*$/.test(data);\n}\n\nexport function isStringUpperCase(str) {\n return str === str.toUpperCase();\n}\n\nexport function isStringLowerCase(str) {\n return str === str.toLowerCase();\n}\n\nexport function isRegExpType(data) {\n return isObjectOfClass(data, RegExp);\n}\n\nexport function isStringRegExp(str) {\n try {\n return createRegExp(str) != null;\n }\n // eslint-disable-next-line no-unused-vars\n catch (e) {\n return false;\n }\n}\n\nexport function createRegExp(pattern) {\n if (pattern == null)\n return undefined;\n\n if (isRegExpType(pattern))\n return pattern;\n\n if (isStringType(pattern)) {\n if (pattern[0] === '/') {\n const e = pattern.lastIndexOf('/');\n if (e >= 0) {\n const r = pattern.substring(1, e);\n const g = pattern.substring(e + 1);\n return new RegExp(r, g);\n }\n }\n else\n return new RegExp(pattern);\n }\n\n throw new Error(`Unknown Regular Expression Pattern Type: ${pattern}`);\n}\n", "// @ts-nocheck\n// Copyright Mathias Bynens <https://mathiasbynens.be/>\n// https://github.com/bestiejs/punycode.js/blob/master/punycode.js\n\nexport const punycodeVersion = '2.1.0';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n 'overflow': 'Overflow: input needs wider integers to process',\n 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n 'invalid-input': 'Invalid input',\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n throw new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} fn The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n const result = [];\n let length = array.length;\n while (length--) {\n result[length] = fn(array[length]);\n }\n return result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} fn The function that gets called for every\n * character.\n * @returns {String} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(domain, fn) {\n const parts = domain.split('@');\n let result = '';\n if (parts.length > 1) {\n // In email addresses, only the domain name should be punycoded. Leave\n // the local part (i.e. everything up to `@`) intact.\n result = parts[0] + '@';\n domain = parts[1];\n }\n // Avoid `split(regex)` for IE8 compatibility. See #17.\n domain = domain.replace(regexSeparators, '\\x2E');\n const labels = domain.split('.');\n const encoded = map(labels, fn).join('.');\n return result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nexport function ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nexport const ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nexport function basicToDigit(codePoint) {\n if (codePoint - 0x30 < 0x0A) {\n return codePoint - 0x16;\n }\n if (codePoint - 0x41 < 0x1A) {\n return codePoint - 0x41;\n }\n if (codePoint - 0x61 < 0x1A) {\n return codePoint - 0x61;\n }\n return base;\n}\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nexport function digitToBasic(digit, flag) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26) - ((flag !== 0) << 5);\n}\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nfunction adapt(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nexport function decode(input) {\n // Don't use UCS-2.\n const output = [];\n const inputLength = input.length;\n let i = 0;\n let n = initialN;\n let bias = initialBias;\n\n // Handle the basic code points: let `basic` be the number of input code\n // points before the last delimiter, or `0` if there is none, then copy\n // the first basic code points to the output.\n\n let basic = input.lastIndexOf(delimiter);\n if (basic < 0) {\n basic = 0;\n }\n\n for (let j = 0; j < basic; ++j) {\n // if it's not a basic code point\n if (input.charCodeAt(j) >= 0x80) {\n error('not-basic');\n }\n output.push(input.charCodeAt(j));\n }\n\n // Main decoding loop: start just after the last delimiter if any basic code\n // points were copied; start at the beginning otherwise.\n\n for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n // `index` is the index of the next character to be consumed.\n // Decode a generalized variable-length integer into `delta`,\n // which gets added to `i`. The overflow checking is easier\n // if we increase `i` as we go, then subtract off its starting\n // value at the end to obtain `delta`.\n const oldi = i;\n for (let w = 1, k = base; /* no condition */; k += base) {\n if (index >= inputLength) {\n error('invalid-input');\n }\n\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base || digit > floor((maxInt - i) / w)) {\n error('overflow');\n }\n\n i += digit * w;\n const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (digit < t) {\n break;\n }\n\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT)) {\n error('overflow');\n }\n\n w *= baseMinusT;\n }\n\n const out = output.length + 1;\n bias = adapt(i - oldi, out, oldi === 0);\n\n // `i` was supposed to wrap around from `out` to `0`,\n // incrementing `n` each time, so we'll fix that now:\n if (floor(i / out) > maxInt - n) {\n error('overflow');\n }\n\n n += floor(i / out);\n i %= out;\n\n // Insert `n` at position `i` of the output.\n output.splice(i++, 0, n);\n }\n\n return String.fromCodePoint(...output);\n}\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nexport function encode(str) {\n const output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n const input = ucs2decode(str);\n\n // Cache the length.\n const inputLength = input.length;\n\n // Initialize the state.\n let n = initialN;\n let delta = 0;\n let bias = initialBias;\n\n // Handle the basic code points.\n for (const currentValue of input) {\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n const basicLength = output.length;\n let handledCPCount = basicLength;\n\n // `handledCPCount` is the number of code points that have been handled;\n // `basicLength` is the number of basic code points.\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next\n // larger one:\n let m = maxInt;\n for (const currentValue of input) {\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n // but guard against overflow.\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n error('overflow');\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (const currentValue of input) {\n if (currentValue < n && ++delta > maxInt) {\n error('overflow');\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n let q = delta;\n for (let k = base; /* no condition */; k += base) {\n const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) {\n break;\n }\n const qMinusT = q - t;\n const baseMinusT = base - t;\n output.push(\n stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)),\n );\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q, 0)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n}\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nexport function toUnicode(input) {\n return mapDomain(input, function iterateMapDomain(string) {\n return regexPunycode.test(string)\n ? decode(string.slice(4).toLowerCase())\n : string;\n });\n}\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nexport function toASCII(input) {\n return mapDomain(input, function iterateMapDomain(string) {\n return regexNonASCII.test(string)\n ? 'xn--' + encode(string)\n : string;\n });\n}\n", "/* eslint no-unused-vars: \"off\" */\n/* eslint no-useless-escape: \"off\" */\n\n//@ts-check\nimport {\n toASCII,\n} from './punycode.js';\n\n//#region Common Tests\nconst CONST_REGEXP_ALPHA = /^[a-zA-Z]+$/;\nexport function isStringAlpha(str) {\n return CONST_REGEXP_ALPHA.test(str);\n}\nconst CONST_REGEXP_ALPHANUMERIC = /^[a-zA-Z0-9]+$/;\nexport function isStringAlphaNumeric(str) {\n return CONST_REGEXP_ALPHANUMERIC.test(str);\n}\n\nconst CONST_REGEXP_NUMERIC = /^[0-9]+$/;\nexport function isStringNumeric(str) {\n return CONST_REGEXP_NUMERIC.test(str);\n}\n\nconst CONST_REGEXP_HEXADECIMAL = /^[a-fA-F0-9]+$/;\nexport function isStringHexaDecimal(str) {\n return CONST_REGEXP_HEXADECIMAL.test(str);\n}\n\nconst CONST_REGEXP_HEXCOLOR = /^#(?:[0-9a-f]{3}){1,2}\\b$/i;\nexport function isStringHexColor(str) {\n return CONST_REGEXP_HEXCOLOR.test(str);\n}\n//#endregion\n\n//#region Identifier Tests\nconst CONST_REGEXP_UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nexport function isStringUUID(str) {\n // uuid: http://tools.ietf.org/html/rfc4122\n return CONST_REGEXP_UUID.test(str);\n}\n\nconst CONST_REGEXP_GUID = /^({)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nexport function isStringGUID(str) {\n return CONST_REGEXP_GUID.test(str);\n}\n\nconst CONST_REGEXP_IDENTIFIER = /^[_a-zA-Z]+\\w{0,30}$/;\nexport function isStringIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_IDENTIFIER.test(str);\n}\n\nconst CONST_REGEXP_HTML_IDENTIFIER = /^[A-Za-z]+[\\w\\-\\:\\.]{0,30}$/;\nexport function isStringHtmlIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_HTML_IDENTIFIER.test(str);\n}\n\nconst CONST_REGEXP_CSS_IDENTIFIER = /^-?[_a-zA-Z]+[\\w-]{0,30}$/;\nexport function isStringCssIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_CSS_IDENTIFIER.test(str);\n}\n//#endregion\n\n//#region Host Tests\nconst CONST_REGEXP_MAC_ADDR = /^(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})(?:(?:\\1|\\.)(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})){2}$/;\nexport function isStringMACAddr(str) {\n return CONST_REGEXP_MAC_ADDR.test(str);\n}\n\nconst CONST_REGEXP_IPV4 = /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/;\nexport function isStringIPv4(str) {\n // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n return CONST_REGEXP_IPV4.test(str);\n}\n\nconst CONST_REGEXP_IPV6 = /^\\s*(?:(?:(?:[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}))|:)))(?:%.+)?\\s*$/i;\nexport function isStringIPv6(str) {\n // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses\n return CONST_REGEXP_IPV6.test(str);\n}\n\nconst CONST_REGEXP_HOSTNAME = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;\nexport function isStringHostname(str) {\n // https://tools.ietf.org/html/rfc1034#section-3.5\n // https://tools.ietf.org/html/rfc1123#section-2\n return str.length <= 255 && CONST_REGEXP_HOSTNAME.test(str);\n}\n\nconst CONST_REGEXP_ACEHOSTNAME = /^(?!-)(xn--)?[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\\.(?!-)(xn--)?([a-zA-Z0-9\\-]{1,50}|[a-zA-Z0-9-]{1,30}\\.[a-zA-Z]{2,})$/;\nexport function isStringIdnHostname(str) {\n // https://stackoverflow.com/questions/47514123/domain-name-regex-including-idn-characters-c-sharp\n const punycode = toASCII(str);\n return CONST_REGEXP_ACEHOSTNAME.test(punycode);\n}\n//#endregion\n\n//#region URL Tests\nconst CONST_REGEXP_URL = /^[(http(s)?):\\/\\/(www\\.)?\\w-/=#%&\\.\\?]{2,}\\.[a-z]{2,}([\\w-/=#%&\\.\\?]*)$/i;\nexport function isStringUrl(str) {\n return CONST_REGEXP_URL.test(str);\n}\n\n// For the source: https://gist.github.com/dperini/729294\n// For test cases: https://mathiasbynens.be/demo/url-regex\n// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983.\n// URL = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!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-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu;\n// eslint-disable-next-line no-control-regex\nconst CONST_REGEXP_URL_FULL = /^(?:(?:http[s\\u017F]?|ftp):\\/\\/)(?:(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+(?::(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?@)?(?:(?!10(?:\\.[0-9]{1,3}){3})(?!127(?:\\.[0-9]{1,3}){3})(?!169\\.254(?:\\.[0-9]{1,3}){2})(?!192\\.168(?:\\.[0-9]{1,3}){2})(?!172\\.(?:1[6-9]|2[0-9]|3[01])(?:\\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)(?:\\.(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)*(?:\\.(?:(?:[KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\\/(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?$/i;\nexport function isStringUrlFull(str) {\n return CONST_REGEXP_URL_FULL.test(str);\n}\n//#endregion\n\n//#region URI Tests\nconst CONST_REGEXP_NOT_URI_FRAGMENT = /\\/|:/;\n// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\nconst CONST_REGEXP_URI_FAST = /^(?:[a-z][a-z0-9+-.]*:)(?:\\/?\\/)?[^\\s]*$/i;\nexport function isStringUri(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return CONST_REGEXP_NOT_URI_FRAGMENT.test(str)\n && CONST_REGEXP_URI_FAST.test(str);\n}\n\n// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\nconst CONST_REGEXP_URI_FULL = /^(?:[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;\nexport function isStringUriFull(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return CONST_REGEXP_NOT_URI_FRAGMENT.test(str)\n && CONST_REGEXP_URI_FULL.test(str);\n}\n\nconst CONST_REGEXP_URIREF_FAST = /^(?:(?:[a-z][a-z0-9+-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i;\nexport function isStringUriRef(str) {\n return CONST_REGEXP_URIREF_FAST.test(str);\n}\n\nconst CONST_REGEXP_URIREF_FULL = /^(?:[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;\nexport function isStringUriRefFull(str) {\n return CONST_REGEXP_URIREF_FULL.test(str);\n}\n\n// uri-template: https://tools.ietf.org/html/rfc6570\n// eslint-disable-next-line no-control-regex\nconst CONST_REGEXP_URITEMPLATE = /^(?:(?:[^\\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;\nexport function isStringUriTemplate(str) {\n return CONST_REGEXP_URITEMPLATE.test(str);\n}\n//#endregion\n\n//#region IRI Tests\nconst CONST_REGEXP_ABSOLUTE_IRI = /^([a-z]([a-z]|\\d|\\+|-|\\.)*):(\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?((\\[(|(v[\\da-f]{1,}\\.(([a-z]|\\d|-|\\.|_|~)|[!\\$&'\\(\\)\\*\\+,;=]|:)+))\\])|((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=])*)(:\\d*)?)(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*|(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)){0})(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\nexport function isStringIRI(str) {\n return CONST_REGEXP_ABSOLUTE_IRI.test(str);\n}\n\nexport function isStringIRIRef(str) {\n return isStringUriRef(str);\n}\n//#endregion\n\n//#region JPtr Tests\n// JSON-pointer: https://tools.ietf.org/html/rfc6901\nconst CONST_REGEXP_JSON_POINTER = /^(?:\\/(?:[^~/]|~0|~1)*)*$/;\nexport function isStringJSONPointer(str) {\n return CONST_REGEXP_JSON_POINTER.test(str);\n}\n\n// uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\nconst CONST_REGEXP_JSON_POINTER_URI_FRAGMENT = /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;\nexport function isStringJSONPointerUriFragment(str) {\n return CONST_REGEXP_JSON_POINTER_URI_FRAGMENT.test(str);\n}\n\n// relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\nconst CONST_REGEXP_RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/;\nexport function isStringRelativeJSONPointer(str) {\n return CONST_REGEXP_RELATIVE_JSON_POINTER.test(str);\n}\n//#endregion\n\n//#region Email Tests\n// email (sources from jsen validator):\n// http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n// http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation')\nconst CONST_REGEXP_EMAIL_FAST = /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;\nexport function isStringEmail(str) {\n return CONST_REGEXP_EMAIL_FAST.test(str);\n}\n\nconst CONST_REGEXP_EMAIL_FULL = /^[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;\nexport function isStringEmailFull(str) {\n return CONST_REGEXP_EMAIL_FULL.test(str);\n}\n\nconst CONST_REGEXP_IDNEMAIL = /^[^@]+@[^@]+\\.[^@]+$/;\nexport function isStringIdnEmail(str) {\n return CONST_REGEXP_IDNEMAIL.test(str);\n}\n//#endregion\n\n//#region Common Tests\nconst CONST_REGPEXP_ISBN10 = /^(?:ISBN(?:-10)?:?\\ *((?=\\d{1,5}([ -]?)\\d{1,7}\\2?\\d{1,6}\\2?\\d)(?:\\d\\2*){9}[\\dX]))$/i;\nexport function isStringISBN10(str) {\n return CONST_REGPEXP_ISBN10.test(str);\n}\n\nconst CONST_REGEXP_ISBN13 = /^(?:ISBN(?:-13)?:?\\ *(97(?:8|9)([ -]?)(?=\\d{1,5}\\2?\\d{1,7}\\2?\\d{1,6}\\2?\\d)(?:\\d\\2*){9}\\d))$/i;\nexport function isStringISBN13(str) {\n return CONST_REGEXP_ISBN13.test(str);\n}\n\nconst CONST_REGEXP_BASE64 = /^(?:[a-zA-Z0-9+\\/]{4})*(?:|(?:[a-zA-Z0-9+\\/]{3}=)|(?:[a-zA-Z0-9+\\/]{2}==)|(?:[a-zA-Z0-9+\\/]{1}===))$/;\nexport function isStringBase64(str) {\n return CONST_REGEXP_BASE64.test(str);\n}\n\nconst CONST_REGEXP_COUNTRY_ALPHA2 = /^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW|XK)/i;\nexport function isStringCountryAlpha2(str) {\n return CONST_REGEXP_COUNTRY_ALPHA2.test(str);\n}\n\nconst CONST_REGEXP_IBAN = /^([A-Z]{2}[ '+'\\\\\\\\'+'-]?[0-9]{2})(?=(?:[ '+'\\\\\\\\'+'-]?[A-Z0-9]){9,30}\\$)((?:[ '+'\\\\\\\\'+'-]?[A-Z0-9]{3,5}){2,7})([ '+'\\\\\\\\'+'-]?[A-Z0-9]{1,3})?\\$/i;\nexport function isStringIBAN(str) {\n return CONST_REGEXP_IBAN.test(str);\n}\n//#endregion\n", "//@ts-check\n// eslint-disable no-useless-escape\n\nimport {\n isStringType,\n} from '@jarenjs/core';\n\nimport {\n isStringLowerCase,\n isStringUpperCase,\n isStringRegExp,\n} from '@jarenjs/core/string';\n\nimport {\n isStringUri,\n isStringUriRef,\n isStringUriTemplate,\n isStringJSONPointer,\n isStringJSONPointerUriFragment,\n isStringRelativeJSONPointer,\n isStringUrl,\n isStringEmail,\n isStringHostname,\n isStringIdnEmail,\n isStringIdnHostname,\n isStringIPv4,\n isStringIPv6,\n isStringUUID,\n isStringAlpha,\n isStringAlphaNumeric,\n isStringIdentifier,\n isStringHtmlIdentifier,\n isStringCssIdentifier,\n isStringHexaDecimal,\n isStringNumeric,\n isStringIRI,\n isStringIRIRef,\n isStringHexColor,\n isStringUriFull,\n isStringUriRefFull,\n isStringEmailFull,\n isStringGUID,\n isStringISBN10,\n isStringISBN13,\n isStringMACAddr,\n isStringBase64,\n isStringCountryAlpha2,\n isStringIBAN,\n} from '@jarenjs/strings';\n\nfunction createStringFormatCompiler(formatName, isFormatTest) {\n return function compileStringFormat(schemaObj, jsonSchema) {\n if (jsonSchema.format !== formatName)\n throw new Error('Format is not equal to jsonSchema (should not happen!)');\n\n const addError = schemaObj.createErrorHandler(formatName, 'format', isFormatTest.constructor.name);\n\n return function validateStringFormat(data, dataPath) {\n return isStringType(data)\n ? isFormatTest(data) || addError(data, dataPath)\n : true;\n };\n };\n}\n\nexport const formatValidators = {\n 'alpha': createStringFormatCompiler('alpha', isStringAlpha),\n 'alphanumeric': createStringFormatCompiler('alphanumeric', isStringAlphaNumeric),\n 'identifier': createStringFormatCompiler('identifier', isStringIdentifier),\n 'html-identifier': createStringFormatCompiler('html-identifier', isStringHtmlIdentifier),\n 'css-identifier': createStringFormatCompiler('css-identifier', isStringCssIdentifier),\n 'hexadecimal': createStringFormatCompiler('hexadecimal', isStringHexaDecimal),\n 'numeric': createStringFormatCompiler('numeric', isStringNumeric),\n 'uppercase': createStringFormatCompiler('uppercase', isStringUpperCase),\n 'lowercase': createStringFormatCompiler('lowercase', isStringLowerCase),\n 'color': createStringFormatCompiler('color', isStringHexColor),\n 'regex': createStringFormatCompiler('regex', isStringRegExp),\n 'uri': createStringFormatCompiler('uri', isStringUri),\n 'uri--full': createStringFormatCompiler('uri--full', isStringUriFull),\n 'uri-reference': createStringFormatCompiler('uri-reference', isStringUriRef),\n 'uri-reference--full': createStringFormatCompiler('uri-reference--full', isStringUriRefFull),\n 'uri-template': createStringFormatCompiler('uri-template', isStringUriTemplate),\n 'url': createStringFormatCompiler('url', isStringUrl),\n 'url--full': createStringFormatCompiler('url--full', isStringUrl),\n 'email': createStringFormatCompiler('email', isStringEmail),\n 'email--full': createStringFormatCompiler('email--full', isStringEmailFull),\n 'hostname': createStringFormatCompiler('hostname', isStringHostname),\n 'idn-email': createStringFormatCompiler('idn-email', isStringIdnEmail),\n 'idn-hostname': createStringFormatCompiler('idn-hostname', isStringIdnHostname),\n 'ipv4': createStringFormatCompiler('ipv4', isStringIPv4),\n 'ipv6': createStringFormatCompiler('ipv6', isStringIPv6),\n 'uuid': createStringFormatCompiler('uuid', isStringUUID),\n 'guid': createStringFormatCompiler('guid', isStringGUID),\n 'json-pointer': createStringFormatCompiler('json-pointer', isStringJSONPointer),\n 'json-pointer-uri-fragment': createStringFormatCompiler('json-pointer-uri-fragment', isStringJSONPointerUriFragment),\n 'relative-json-pointer': createStringFormatCompiler('relative-json-pointer', isStringRelativeJSONPointer),\n 'iri': createStringFormatCompiler('iri', isStringIRI),\n 'iri-reference': createStringFormatCompiler('iri-reference', isStringIRIRef),\n 'isbn10': createStringFormatCompiler('isbn10', isStringISBN10),\n 'isbn13': createStringFormatCompiler('isbn13', isStringISBN13),\n 'mac': createStringFormatCompiler('mac', isStringMACAddr),\n 'base64': createStringFormatCompiler('base64', isStringBase64),\n 'byte': createStringFormatCompiler('byte', isStringBase64),\n 'country2': createStringFormatCompiler('country2', isStringCountryAlpha2),\n 'iban': createStringFormatCompiler('iban', isStringIBAN),\n};\n", "//@ts-check\n\nimport {\n isIntegerType,\n} from '@jarenjs/core';\n\nexport const INT8_MIN = -128;\nexport const INT8_MAX = 127;\n\nexport function isValidInt8(value) {\n return isIntegerType(value)\n && value >= INT8_MIN\n && value <= INT8_MAX;\n}\n\nexport const UINT8_MIN = 0;\nexport const UINT8_MAX = 255;\n\nexport function isValidUInt8(value) {\n return isIntegerType(value)\n && value >= UINT8_MIN\n && value <= UINT8_MAX;\n}\n\nexport const INT16_MIN = -32768;\nexport const INT16_MAX = 32767;\n\nexport function isValidInt16(value) {\n return isIntegerType(value)\n && value >= INT16_MIN\n && value <= INT16_MAX;\n}\n\nexport const UINT16_MIN = 0;\nexport const UINT16_MAX = 65535;\n\nexport function isValidUInt16(value) {\n return isIntegerType(value)\n && value >= UINT16_MIN\n && value <= UINT16_MAX;\n}\n\nexport const INT32_MIN = -(2 ** 31);\nexport const INT32_MAX = (2 ** 31) - 1;\n\nexport function isValidInt32(value) {\n return isIntegerType(value)\n && value >= INT32_MIN\n && value <= INT32_MAX;\n}\n\nexport const UINT32_MIN = 0;\nexport const UINT32_MAX = (2 ** 32) - 1;\n\nexport function isValidUInt32(value) {\n return isIntegerType(value)\n && value >= UINT32_MIN\n && value <= UINT32_MAX;\n}\n\nexport const INT64_MIN = Number.MIN_SAFE_INTEGER;\nexport const INT64_MAX = Number.MAX_SAFE_INTEGER;\n\nexport function isValidInt64(value) {\n return isIntegerType(value)\n && value >= INT64_MIN\n && value <= INT64_MAX;\n}\n\nexport const UINT64_MIN = 0;\nexport const UINT64_MAX = Number.MAX_SAFE_INTEGER;\n\nexport function isValidUInt64(value) {\n return isIntegerType(value)\n && value >= UINT64_MIN\n && value <= UINT64_MAX;\n}\n", "//@ts-check\n\nimport {\n isNumberType,\n} from '@jarenjs/core';\n\nexport const FLOAT16_MAX = 65504.0;\nexport const FLOAT16_MIN = 0.00006103515625;\nexport const FLOAT16_EPS = 0.0009765625;\nexport const FLOAT16_EXBITS = 5;\nexport const FLOAT16_FRBITS = 10;\n\nexport function isValidFloat16(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT16_MAX\n && value <= FLOAT16_MAX;\n}\n\nexport function getValidFloat16(value, defVal = NaN) {\n if (!isNumberType(value) /* TODO: do we need this? */\n || Number.isNaN(value)) return defVal;\n if (value < -FLOAT16_MAX) return -Infinity;\n if (value > FLOAT16_MAX) return Infinity;\n return value;\n}\n\nexport function Float16_increment(value) {\n const next = value + 2 ** (Math.log2(value) - 11);\n return (next > FLOAT16_MAX)\n ? Infinity\n : next;\n}\n\nexport function Float16_decrement(value) {\n const next = value - 2 ** (Math.log2(value) - 11);\n return (next < -FLOAT16_MAX)\n ? -Infinity\n : next;\n}\n\nexport const FLOAT32_MAX = 3.4028234663852886e+38;\nexport const FLOAT32_MIN = 1.1754943508222875e-38;\nexport const FLOAT32_EPS = 1.1920928955078125e-7;\nexport const FLOAT32_EXBITS = 8;\nexport const FLOAT32_FRBITS = 23;\n\nexport function isValidFloat32(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT32_MAX\n && value <= FLOAT32_MAX;\n}\n\nexport function getValidFloat32(value, defVal = NaN) {\n if (!isNumberType(value) || Number.isNaN(value)) return defVal;\n if (value < -FLOAT32_MAX) return -Infinity;\n if (value > FLOAT32_MAX) return Infinity;\n return value;\n}\n\nexport function Float32_increment(value) {\n const next = value + 2 ** (Math.log2(value) - 24);\n return (next > FLOAT32_MAX)\n ? Infinity\n : next;\n}\n\nexport function Float32_decrement(value) {\n const next = value - 2 ** (Math.log2(value) - 24);\n return (next < -FLOAT32_MAX)\n ? -Infinity\n : next;\n}\n\nexport const FLOAT64_MAX = Number.MAX_VALUE;\nexport const FLOAT64_MIN = Number.MIN_VALUE;\nexport const FLOAT64_EPS = Number.EPSILON;\nexport const FLOAT64_EXBITS = 11;\nexport const FLOAT64_FRBITS = 52;\n\nexport function isValidFloat64(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT64_MAX\n && value <= FLOAT64_MAX;\n}\n\nexport function getValidFloat64(value, defVal = NaN) {\n return isNumberType(value)\n ? value\n : defVal;\n}\n\nexport function Float64_increment(value) {\n return value + 2 ** (Math.log2(value) - 53);\n}\n\nexport function Float64_decrement(value) {\n return value - 2 ** (Math.log2(value) - 53);\n}\n\nexport const FLOAT128_MAX = 0.0;\nexport const FLOAT128_MIN = 0.0;\nexport const FLOAT128_EPS = 0.0;\nexport const FLOAT128_EXBITS = 15;\nexport const FLOAT128_FRBITS = 112;\n", "//@ts-check\n\nimport {\n isValidInt8,\n isValidInt16,\n isValidInt32,\n isValidInt64,\n isValidUInt8,\n isValidUInt16,\n isValidUInt32,\n isValidUInt64,\n} from '@jarenjs/numbers/integer';\n\nimport {\n isValidFloat16,\n isValidFloat32,\n isValidFloat64,\n} from '@jarenjs/numbers/float';\n\nfunction createNumberFormatCompiler(formatName, isNumberTest, strictFormat = false) {\n return function compileNumberFormat(schemaObj, jsonSchema) {\n if (jsonSchema.format !== formatName)\n throw new Error('Format is not equal to jsonSchema (should not happen!)');\n\n const addError = schemaObj.createErrorHandler(formatName, 'format');\n\n if (strictFormat === true)\n return function validateNumberStrictFormat(data, dataPath) {\n return data == null\n || isNumberTest(data)\n || addError(data, dataPath);\n };\n else\n return function validateNumberFormat(data, dataPath) {\n return (data == null\n || isNumberTest(Number(data))\n || addError(data, dataPath));\n };\n };\n}\n\nexport const formatValidators = {\n // integer types\n int8: createNumberFormatCompiler('int8', isValidInt8),\n uint8: createNumberFormatCompiler('uint8', isValidUInt8),\n int16: createNumberFormatCompiler('int16', isValidInt16),\n uint16: createNumberFormatCompiler('uint16', isValidUInt16),\n int32: createNumberFormatCompiler('int32', isValidInt32),\n uint32: createNumberFormatCompiler('uint32', isValidUInt32),\n int64: createNumberFormatCompiler('int64', isValidInt64),\n uint64: createNumberFormatCompiler('uint64', isValidUInt64),\n // floating point types\n float16: createNumberFormatCompiler('float16', isValidFloat16),\n float32: createNumberFormatCompiler('float32', isValidFloat32),\n float64: createNumberFormatCompiler('float64', isValidFloat64),\n float: createNumberFormatCompiler('float', isValidFloat32),\n double: createNumberFormatCompiler('double', isValidFloat64),\n};\n"],
|
|
5
|
-
"mappings": "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",
|
|
6
|
-
"names": ["isStringType", "data", "isNumberType", "data", "isIntegerType", "isObjectOfClass", "data", "type", "TypedArray", "getInclusiveExclusiveBounds", "getType", "inclusive", "exclusive", "includes", "excludes", "CONST_TICKS_SECOND", "CONST_TICKS_HOUR", "CONST_TICKS_DAY", "CONST_TIME_INSERTDATE", "CONST_RFC3339_DAYS", "CONST_RFC3339_REGEX_ISDATE", "CONST_RFC3339_REGEX_ISTIME", "isDateType", "data", "isObjectOfClass", "isLeapYear", "year", "isDateOnlyInRange", "month", "day", "CONST_RFC3339_DAYS", "isDateOnlyRFC3339", "str", "isStringType", "r", "CONST_RFC3339_REGEX_ISDATE", "y", "m", "d", "isTimeOnlyInRange", "hrs", "min", "sec", "tzh", "tzm", "isTimeOnlyRFC3339", "CONST_RFC3339_REGEX_ISTIME", "h", "s", "th", "tm", "isDateTimeRFC3339", "dateTime", "getDateTypeOfDateOnlyRFC3339", "def", "getDateTypeOfTimeOnlyRFC3339", "CONST_TIME_INSERTDATE", "getDateTypeOfDateTimeRFC3339", "compileFormatMinimumByType", "parseType", "schemaObj", "jsonSchema", "min", "emin", "getInclusiveExclusiveBounds", "addError", "date", "dataPath", "compileFormatMaximumByType", "max", "emax", "compileFormatByType", "name", "validateMin", "validateMax", "data", "isStringType", "isDateType", "compileDateTimeFormat", "getDateTypeOfDateTimeRFC3339", "compileDateOnlyFormat", "getDateTypeOfDateOnlyRFC3339", "compileTimeOnlyFormat", "getDateTypeOfTimeOnlyRFC3339", "formatValidators", "isStringUpperCase", "str", "isStringLowerCase", "isRegExpType", "data", "isObjectOfClass", "isStringRegExp", "createRegExp", "pattern", "isStringType", "e", "g", "delimiter", "regexNonASCII", "regexSeparators", "errors", "baseMinusTMin", "floor", "stringFromCharCode", "error", "type", "map", "array", "fn", "result", "length", "mapDomain", "domain", "parts", "labels", "encoded", "ucs2decode", "string", "output", "counter", "value", "extra", "digitToBasic", "digit", "flag", "adapt", "delta", "numPoints", "firstTime", "k", "floor", "baseMinusTMin", "encode", "str", "output", "input", "ucs2decode", "inputLength", "n", "delta", "bias", "currentValue", "stringFromCharCode", "basicLength", "handledCPCount", "delimiter", "m", "handledCPCountPlusOne", "floor", "error", "q", "k", "t", "qMinusT", "baseMinusT", "digitToBasic", "adapt", "toASCII", "input", "mapDomain", "string", "regexNonASCII", "encode", "CONST_REGEXP_ALPHA", "
|
|
3
|
+
"sources": ["../../core/src/index.js", "../../core/src/dates.js", "../src/datetime.js", "../../core/src/string.js", "../../core/src/text/punycode.js", "../../core/src/text/index.js", "../src/string.js", "../../core/src/integer.js", "../../core/src/float.js", "../src/number.js"],
|
|
4
|
+
"sourcesContent": ["//@ts-check\nexport function isFn(data) {\n return typeof data === 'function';\n}\n\n//#region Scalar Tests\nfunction isScalarTypeEx(typeName) {\n switch (typeName) {\n case 'string':\n case 'number':\n case 'boolean':\n case 'integer':\n case 'bigint':\n return true;\n default:\n return false;\n }\n}\n\nexport function isScalarType(data) {\n return data != null && isScalarTypeEx(typeof data);\n}\n\nexport function isStringType(data) {\n return typeof data === 'string';\n}\n\n/**\n * Checks if the given data is of boolean type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is a boolean, otherwise false.\n */\nexport function isBooleanType(data) {\n return data === true || data === false;\n}\n\n/**\n * Checks if the given data is of number type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is a number, otherwise false.\n */\nexport function isNumberType(data) {\n return data != null && typeof data === 'number';\n}\n\n/**\n * Checks if the given data is an integer type.\n * @param {any} data - The data to check.\n * @returns {boolean} - True if the data is an integer, otherwise false.\n */\nexport function isIntegerType(data) {\n return Number.isInteger(data);\n}\n\nexport function isBigIntType(data) {\n return typeof data === 'bigint';\n}\n\n//#endregion\n\n//#region Scalar Getters\n/**\n * Returns the string type of the input object if it is a string; otherwise, returns the default value.\n * \n * @param {any} obj - The input object to check its type.\n * @param {string|undefined} [def=undefined] - The default value to return if the input object is not a string.\n * @returns {string} The string type of the input object or the default value.\n */\nexport function getStringType(obj, def = undefined) {\n return isStringType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a boolean type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {boolean|undefined} [def=undefined] - The default value to return if the object is not a boolean.\n * @returns {boolean|undefined} - The boolean value or the default value.\n */\nexport function getBooleanType(obj, def = undefined) {\n return isBooleanType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a number type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {number|undefined} [def=undefined] - The default value to return if the object is not a number.\n * @returns {number|undefined} - The number value or the default value.\n */\nexport function getNumberType(obj, def = undefined) {\n return isNumberType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is an integer type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {number|undefined} [def=undefined] - The default value to return if the object is not an integer.\n * @returns {number|undefined} - The integer value or the default value.\n */\nexport function getIntegerType(obj, def = undefined) {\n return isIntegerType(obj) ? obj : def;\n}\n\n/**\n * Checks if the given object is a bigint type and returns it, otherwise returns the default value.\n * @param {any} obj - The object to check.\n * @param {bigint|undefined} [def=undefined] - The default value to return if the object is not a bigint.\n * @returns {bigint|undefined} - The bigint value or the default value.\n */\nexport function getBigIntType(obj, def = undefined) {\n return isBigIntType(obj)\n ? obj\n : def;\n}\n//#endregion\n\n//#region Object Tests\n/**\n * Checks if the input data is null.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is null, otherwise false.\n */\nexport function isNullValue(data) {\n return data === null;\n}\n\n/**\n * Checks if the given data is an object of a specific class.\n *\n * @param {any} data - The data to check.\n * @param {Function} type - The class type to compare against.\n * @returns {boolean} Returns true if the data is an object of the specified class; otherwise, false.\n */\nexport function isObjectOfClass(data, type) {\n return data != null && data.constructor === type;\n}\n\n/**\n * @brief test if data is an object literal\n * @param {*} data the data to test\n * @returns boolean\n */\nexport function isObjectClass(data) {\n return isObjectOfClass(data, Object);\n}\n\n/**\n * Checks if the input data is of type Map.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Map class, otherwise false.\n */\nexport function isMapClass(data) {\n return isObjectOfClass(data, Map);\n}\n\n/**\n * @brief test if data is typeof object but not an Array\n * @param {*} data the data to test\n * @returns boolean\n */\nexport function isObjectType(data) {\n return data != null\n && typeof data === 'object'\n && data.constructor !== Array;\n}\n\n/**\n * Checks if the input data is of type Array.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Array class, otherwise false.\n */\nexport function isArrayClass(data) {\n return isObjectOfClass(data, Array);\n}\n\n/**\n * Checks if the input data is of type Set.\n *\n * @param {any} data - The data to be checked.\n * @returns {boolean} - Returns true if the data is an instance of the Set class, otherwise false.\n */\nexport function isSetClass(data) {\n return isObjectOfClass(data, Set);\n}\n\nexport const TypedArray = Object.getPrototypeOf(Uint8Array);\nexport function isTypedArray(data) {\n if (data == null)\n return false;\n const proto = data.__proto__.__proto__;\n return proto != null && proto.constructor === TypedArray;\n}\n//#endregion\n\n//#region Object Getters\nexport function getObjectType(obj, def = undefined) {\n return isObjectClass(obj) ? obj : def;\n}\n\nexport function getArrayClass(obj, def = undefined) {\n return isArrayClass(obj) ? obj : def;\n}\n//#endregion\n\n/**\n * Calculates the inclusive and exclusive bounds based on the provided parameters.\n * \n * @param {function} getType - A function to determine the type of the inclusive and exclusive bounds.\n * @param {number|string|undefined} inclusive - The inclusive bound value.\n * @param {number|string|boolean|undefined} exclusive - The exclusive bound value.\n * @returns {Array} An array containing the inclusive and exclusive bounds.\n */\nexport function getInclusiveExclusiveBounds(getType, inclusive, exclusive) {\n const includes = getType(inclusive);\n const excludes = exclusive === true\n ? includes\n : getType(exclusive);\n return (excludes === undefined)\n ? [includes, undefined]\n : [undefined, excludes];\n}\n", "//@ts-check\n\nimport {\n isStringType,\n isObjectOfClass,\n} from './index.js';\n\n//#region Dates Constants\nexport const CONST_TICKS_SECOND = 1000;\nexport const CONST_TICKS_HOUR = CONST_TICKS_SECOND * 60 * 60;\nexport const CONST_TICKS_DAY = CONST_TICKS_HOUR * 24;\n\nexport const CONST_TIME_INSERTDATE = '1970-01-01T';\nexport const CONST_DATE_APPENDTIME = 'T00:00:00Z';\n\nexport const CONST_RFC3339_DAYS = Object.freeze(\n [0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31],\n);\n\n// full-date from http://tools.ietf.org/html/rfc3339#section-5.6\nexport const CONST_RFC3339_REGEX_ISDATE = /^(\\d\\d\\d\\d)-([0-1]\\d)-([0-3]\\d)z?$/i;\n\n// full-date from http://tools.ietf.org/html/rfc3339#section-5.6\nexport const CONST_RFC3339_REGEX_ISTIME = /^(\\d\\d):(\\d\\d):(\\d\\d)(\\.\\d{1,6})?(z|(([+-])(\\d\\d):(\\d\\d)))$/i;\n\n//#endregion\n\n//#region Dates Compare\nexport function isDateType(data) {\n return isObjectOfClass(data, Date);\n}\n\nexport function isDateishType(data) {\n return isDateType(data)\n || !Number.isNaN(Date.parse(data));\n}\n\nexport function isLeapYear(year) {\n // https://tools.ietf.org/html/rfc3339#appendix-C\n return year % 4 === 0 && (year % 100 !== 0 || year % 400 === 0);\n}\n\nexport function isDateOnlyInRange(year = 0, month = 0, day = 0) {\n return month >= 1\n && month <= 12\n && day >= 1\n && day <= (month === 2 && isLeapYear(year)\n ? 29\n : CONST_RFC3339_DAYS[month]);\n}\n\nexport function isDateOnlyRFC3339(str) {\n if (!isStringType(str))\n return false;\n\n const r = str.match(CONST_RFC3339_REGEX_ISDATE);\n if (r == null)\n return false;\n\n const y = parseInt(r[1], 10) | 0;\n const m = parseInt(r[2], 10) | 0;\n const d = parseInt(r[3], 10) | 0;\n return isDateOnlyInRange(y, m, d);\n}\n\nexport function isTimeOnlyInRange(hrs = 0, min = 0, sec = 0, tzh = 0, tzm = 0) {\n return ((hrs === 23 && min === 59 && sec === 60)\n || (hrs >= 0 && hrs <= 23\n && min >= 0 && min <= 59\n && sec >= 0 && sec <= 59))\n && (tzh >= 0 && tzh <= 23\n && tzm >= 0 && tzm <= 59);\n}\n\nexport function isTimeOnlyRFC3339(str) {\n if (!isStringType(str))\n return false;\n\n const r = str.match(CONST_RFC3339_REGEX_ISTIME);\n if (r == null)\n return false;\n\n const h = parseInt(r[1], 10) | 0;\n const m = parseInt(r[2], 10) | 0;\n const s = parseInt(r[3], 10) | 0;\n const th = parseInt(r[8], 10) | 0;\n const tm = parseInt(r[9], 10) | 0;\n return isTimeOnlyInRange(h, m, s, th, tm);\n}\n\nexport function isDateTimeRFC3339(str) {\n // http://tools.ietf.org/html/rfc3339#section-5.6\n if (!isStringType(str)) return false;\n const dateTime = str.split(/t|\\s/i);\n return dateTime.length === 2\n && isDateOnlyRFC3339(dateTime[0])\n && isTimeOnlyRFC3339(dateTime[1]);\n}\n\n//#endregion\n\n//#region Dates Getters\nexport function getDateTypeOfDateOnlyRFC3339(str, def = undefined) {\n return isDateOnlyRFC3339(str)\n ? new Date(Date.parse(str))\n : def;\n}\n\nexport function getDateTypeOfTimeOnlyRFC3339(str, def = undefined) {\n return isTimeOnlyRFC3339(str)\n ? new Date(Date.parse(CONST_TIME_INSERTDATE + str))\n : def;\n}\n\nexport function getDateTypeOfDateTimeRFC3339(str, def = undefined) {\n return isDateTimeRFC3339(str)\n ? new Date(Date.parse(str))\n : def;\n}\n//#endregion\n", "//@ts-check\n\nimport {\n isStringType,\n getInclusiveExclusiveBounds,\n} from '@jarenjs/core';\n\nimport {\n isDateType,\n getDateTypeOfDateTimeRFC3339,\n getDateTypeOfDateOnlyRFC3339,\n getDateTypeOfTimeOnlyRFC3339,\n} from '@jarenjs/core/dates';\n\n//#region generalized\nfunction compileFormatMinimumByType(parseType, schemaObj, jsonSchema) {\n const [min, emin] = getInclusiveExclusiveBounds(\n parseType,\n jsonSchema.formatMinimum,\n jsonSchema.formatExclusiveMinimum,\n );\n\n if (emin != null) {\n const addError = schemaObj.createErrorHandler(emin, 'formatExclusiveMinimum');\n\n return function isFormatExclusiveMinimum(date, dataPath) {\n return date > emin\n || addError(date, dataPath);\n };\n }\n else if (min) {\n const addError = schemaObj.createErrorHandler(min, 'formatMinimum');\n\n return function isFormatMinimum(date, dataPath) {\n return date >= min\n || addError(date, dataPath);\n };\n }\n\n return undefined;\n}\n\nfunction compileFormatMaximumByType(parseType, schemaObj, jsonSchema) {\n const [max, emax] = getInclusiveExclusiveBounds(\n parseType,\n jsonSchema.formatMaximum,\n jsonSchema.formatExclusiveMaximum,\n );\n\n if (emax != null) {\n const addError = schemaObj.createErrorHandler(emax, 'formatExclusiveMaximum');\n\n return function isFormatExclusiveMaximum(date, dataPath) {\n return date < emax\n || addError(date, dataPath);\n };\n }\n else if (max != null) {\n const addError = schemaObj.createErrorHandler(max, 'formatMaximum');\n\n return function isFormatMaximum(date, dataPath) {\n return date <= max\n || addError(date, dataPath);\n };\n }\n\n return undefined;\n}\n\nfunction compileFormatByType(name, parseType, schemaObj, jsonSchema) {\n if (jsonSchema.format !== name)\n throw new Error('ERROR: This should not happen!');\n\n const addError = schemaObj.createErrorHandler(jsonSchema.format, 'format');\n\n const validateMin = compileFormatMinimumByType(\n parseType,\n schemaObj,\n jsonSchema,\n );\n\n const validateMax = compileFormatMaximumByType(\n parseType,\n schemaObj,\n jsonSchema,\n );\n\n if (validateMin != null && validateMax != null) {\n return function validateFormatBetween(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMin(date, dataPath)\n && validateMax(date, dataPath);\n }\n else if (isDateType(data))\n return validateMin(data, dataPath)\n && validateMax(data, dataPath);\n else\n return true;\n };\n }\n if (validateMin != null) {\n return function validateFormatMinimum(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMin(date, dataPath);\n }\n else if (isDateType(data))\n return validateMin(data, dataPath);\n else\n return true;\n };\n }\n if (validateMax != null) {\n return function validateFormatMaximum(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : validateMax(date);\n }\n else if (isDateType(data))\n return validateMax(data, dataPath);\n else\n return true;\n };\n }\n\n return function validateDateTime(data, dataPath) {\n if (isStringType(data)) {\n const date = parseType(data);\n return date == null\n ? addError(data, dataPath)\n : true;\n }\n else\n return true;\n };\n}\n//#endregion\n\nfunction compileDateTimeFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'date-time',\n getDateTypeOfDateTimeRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nfunction compileDateOnlyFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'date',\n getDateTypeOfDateOnlyRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nfunction compileTimeOnlyFormat(schemaObj, jsonSchema) {\n return compileFormatByType(\n 'time',\n getDateTypeOfTimeOnlyRFC3339,\n schemaObj,\n jsonSchema,\n );\n}\n\nexport const formatValidators = {\n 'date-time': compileDateTimeFormat,\n date: compileDateOnlyFormat,\n time: compileTimeOnlyFormat,\n};\n", "//@ts-check\n\nimport {\n isStringType,\n isObjectOfClass,\n} from './index.js';\n\n//#region String Tools\nexport function isStringEmpty(data) {\n return typeof data === 'string' && !data;\n}\n\nexport function isStringWhiteSpace(data) {\n return data == null || /^\\s*$/.test(data);\n}\n\nexport function isStringUpperCase(str) {\n return str === str.toUpperCase();\n}\n\nexport function isStringLowerCase(str) {\n return str === str.toLowerCase();\n}\n\nexport function isRegExpType(data) {\n return isObjectOfClass(data, RegExp);\n}\n\nexport function isStringRegExp(str) {\n try {\n return createRegExp(str) != null;\n }\n // eslint-disable-next-line no-unused-vars\n catch (e) {\n return false;\n }\n}\n\nexport function createRegExp(pattern) {\n if (pattern == null)\n return undefined;\n\n if (isRegExpType(pattern))\n return pattern;\n\n if (isStringType(pattern)) {\n if (pattern[0] === '/') {\n const e = pattern.lastIndexOf('/');\n if (e >= 0) {\n const r = pattern.substring(1, e);\n const g = pattern.substring(e + 1);\n return new RegExp(r, g);\n }\n }\n else\n return new RegExp(pattern);\n }\n\n throw new Error(`Unknown Regular Expression Pattern Type: ${pattern}`);\n}\n", "// @ts-nocheck\n// Copyright Mathias Bynens <https://mathiasbynens.be/>\n// https://github.com/bestiejs/punycode.js/blob/master/punycode.js\n\nexport const punycodeVersion = '2.1.0';\n\n/** Highest positive signed 32-bit float value */\nconst maxInt = 2147483647; // aka. 0x7FFFFFFF or 2^31-1\n\n/** Bootstring parameters */\nconst base = 36;\nconst tMin = 1;\nconst tMax = 26;\nconst skew = 38;\nconst damp = 700;\nconst initialBias = 72;\nconst initialN = 128; // 0x80\nconst delimiter = '-'; // '\\x2D'\n\n/** Regular expressions */\nconst regexPunycode = /^xn--/;\nconst regexNonASCII = /[^\\0-\\x7E]/; // non-ASCII chars\nconst regexSeparators = /[\\x2E\\u3002\\uFF0E\\uFF61]/g; // RFC 3490 separators\n\n/** Error messages */\nconst errors = {\n 'overflow': 'Overflow: input needs wider integers to process',\n 'not-basic': 'Illegal input >= 0x80 (not a basic code point)',\n 'invalid-input': 'Invalid input',\n};\n\n/** Convenience shortcuts */\nconst baseMinusTMin = base - tMin;\nconst floor = Math.floor;\nconst stringFromCharCode = String.fromCharCode;\n\n/*--------------------------------------------------------------------------*/\n\n/**\n * A generic error utility function.\n * @private\n * @param {String} type The error type.\n * @returns {Error} Throws a `RangeError` with the applicable error message.\n */\nfunction error(type) {\n throw new RangeError(errors[type]);\n}\n\n/**\n * A generic `Array#map` utility function.\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} fn The function that gets called for every array\n * item.\n * @returns {Array} A new array of values returned by the callback function.\n */\nfunction map(array, fn) {\n const result = [];\n let length = array.length;\n while (length--) {\n result[length] = fn(array[length]);\n }\n return result;\n}\n\n/**\n * A simple `Array#map`-like wrapper to work with domain name strings or email\n * addresses.\n * @private\n * @param {String} domain The domain name or email address.\n * @param {Function} fn The function that gets called for every\n * character.\n * @returns {String} A new string of characters returned by the callback\n * function.\n */\nfunction mapDomain(domain, fn) {\n const parts = domain.split('@');\n let result = '';\n if (parts.length > 1) {\n // In email addresses, only the domain name should be punycoded. Leave\n // the local part (i.e. everything up to `@`) intact.\n result = parts[0] + '@';\n domain = parts[1];\n }\n // Avoid `split(regex)` for IE8 compatibility. See #17.\n domain = domain.replace(regexSeparators, '\\x2E');\n const labels = domain.split('.');\n const encoded = map(labels, fn).join('.');\n return result + encoded;\n}\n\n/**\n * Creates an array containing the numeric code points of each Unicode\n * character in the string. While JavaScript uses UCS-2 internally,\n * this function will convert a pair of surrogate halves (each of which\n * UCS-2 exposes as separate characters) into a single code point,\n * matching UTF-16.\n * @see `punycode.ucs2.encode`\n * @see <https://mathiasbynens.be/notes/javascript-encoding>\n * @memberOf punycode.ucs2\n * @name decode\n * @param {String} string The Unicode input string (UCS-2).\n * @returns {Array} The new array of code points.\n */\nexport function ucs2decode(string) {\n const output = [];\n let counter = 0;\n const length = string.length;\n while (counter < length) {\n const value = string.charCodeAt(counter++);\n if (value >= 0xD800 && value <= 0xDBFF && counter < length) {\n // It's a high surrogate, and there is a next character.\n const extra = string.charCodeAt(counter++);\n if ((extra & 0xFC00) === 0xDC00) { // Low surrogate.\n output.push(((value & 0x3FF) << 10) + (extra & 0x3FF) + 0x10000);\n } else {\n // It's an unmatched surrogate; only append this code unit, in case the\n // next code unit is the high surrogate of a surrogate pair.\n output.push(value);\n counter--;\n }\n } else {\n output.push(value);\n }\n }\n return output;\n}\n\n/**\n * Creates a string based on an array of numeric code points.\n * @see `punycode.ucs2.decode`\n * @memberOf punycode.ucs2\n * @name encode\n * @param {Array} codePoints The array of numeric code points.\n * @returns {String} The new Unicode string (UCS-2).\n */\nexport const ucs2encode = array => String.fromCodePoint(...array);\n\n/**\n * Converts a basic code point into a digit/integer.\n * @see `digitToBasic()`\n * @private\n * @param {Number} codePoint The basic numeric code point value.\n * @returns {Number} The numeric value of a basic code point (for use in\n * representing integers) in the range `0` to `base - 1`, or `base` if\n * the code point does not represent a value.\n */\nexport function basicToDigit(codePoint) {\n if (codePoint - 0x30 < 0x0A) {\n return codePoint - 0x16;\n }\n if (codePoint - 0x41 < 0x1A) {\n return codePoint - 0x41;\n }\n if (codePoint - 0x61 < 0x1A) {\n return codePoint - 0x61;\n }\n return base;\n}\n\n/**\n * Converts a digit/integer into a basic code point.\n * @see `basicToDigit()`\n * @private\n * @param {Number} digit The numeric value of a basic code point.\n * @returns {Number} The basic code point whose value (when used for\n * representing integers) is `digit`, which needs to be in the range\n * `0` to `base - 1`. If `flag` is non-zero, the uppercase form is\n * used; else, the lowercase form is used. The behavior is undefined\n * if `flag` is non-zero and `digit` has no uppercase form.\n */\nexport function digitToBasic(digit, flag) {\n // 0..25 map to ASCII a..z or A..Z\n // 26..35 map to ASCII 0..9\n return digit + 22 + 75 * (digit < 26) - ((flag !== 0) << 5);\n}\n\n/**\n * Bias adaptation function as per section 3.4 of RFC 3492.\n * https://tools.ietf.org/html/rfc3492#section-3.4\n * @private\n */\nfunction adapt(delta, numPoints, firstTime) {\n let k = 0;\n delta = firstTime ? floor(delta / damp) : delta >> 1;\n delta += floor(delta / numPoints);\n for (/* no initialization */; delta > baseMinusTMin * tMax >> 1; k += base) {\n delta = floor(delta / baseMinusTMin);\n }\n return floor(k + (baseMinusTMin + 1) * delta / (delta + skew));\n}\n\n/**\n * Converts a Punycode string of ASCII-only symbols to a string of Unicode\n * symbols.\n * @memberOf punycode\n * @param {String} input The Punycode string of ASCII-only symbols.\n * @returns {String} The resulting string of Unicode symbols.\n */\nexport function decode(input) {\n // Don't use UCS-2.\n const output = [];\n const inputLength = input.length;\n let i = 0;\n let n = initialN;\n let bias = initialBias;\n\n // Handle the basic code points: let `basic` be the number of input code\n // points before the last delimiter, or `0` if there is none, then copy\n // the first basic code points to the output.\n\n let basic = input.lastIndexOf(delimiter);\n if (basic < 0) {\n basic = 0;\n }\n\n for (let j = 0; j < basic; ++j) {\n // if it's not a basic code point\n if (input.charCodeAt(j) >= 0x80) {\n error('not-basic');\n }\n output.push(input.charCodeAt(j));\n }\n\n // Main decoding loop: start just after the last delimiter if any basic code\n // points were copied; start at the beginning otherwise.\n\n for (let index = basic > 0 ? basic + 1 : 0; index < inputLength; /* no final expression */) {\n // `index` is the index of the next character to be consumed.\n // Decode a generalized variable-length integer into `delta`,\n // which gets added to `i`. The overflow checking is easier\n // if we increase `i` as we go, then subtract off its starting\n // value at the end to obtain `delta`.\n const oldi = i;\n for (let w = 1, k = base; /* no condition */; k += base) {\n if (index >= inputLength) {\n error('invalid-input');\n }\n\n const digit = basicToDigit(input.charCodeAt(index++));\n if (digit >= base || digit > floor((maxInt - i) / w)) {\n error('overflow');\n }\n\n i += digit * w;\n const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (digit < t) {\n break;\n }\n\n const baseMinusT = base - t;\n if (w > floor(maxInt / baseMinusT)) {\n error('overflow');\n }\n\n w *= baseMinusT;\n }\n\n const out = output.length + 1;\n bias = adapt(i - oldi, out, oldi === 0);\n\n // `i` was supposed to wrap around from `out` to `0`,\n // incrementing `n` each time, so we'll fix that now:\n if (floor(i / out) > maxInt - n) {\n error('overflow');\n }\n\n n += floor(i / out);\n i %= out;\n\n // Insert `n` at position `i` of the output.\n output.splice(i++, 0, n);\n }\n\n return String.fromCodePoint(...output);\n}\n\n/**\n * Converts a string of Unicode symbols (e.g. a domain name label) to a\n * Punycode string of ASCII-only symbols.\n * @memberOf punycode\n * @param {String} input The string of Unicode symbols.\n * @returns {String} The resulting Punycode string of ASCII-only symbols.\n */\nexport function encode(str) {\n const output = [];\n\n // Convert the input in UCS-2 to an array of Unicode code points.\n const input = ucs2decode(str);\n\n // Cache the length.\n const inputLength = input.length;\n\n // Initialize the state.\n let n = initialN;\n let delta = 0;\n let bias = initialBias;\n\n // Handle the basic code points.\n for (const currentValue of input) {\n if (currentValue < 0x80) {\n output.push(stringFromCharCode(currentValue));\n }\n }\n\n const basicLength = output.length;\n let handledCPCount = basicLength;\n\n // `handledCPCount` is the number of code points that have been handled;\n // `basicLength` is the number of basic code points.\n\n // Finish the basic string with a delimiter unless it's empty.\n if (basicLength) {\n output.push(delimiter);\n }\n\n // Main encoding loop:\n while (handledCPCount < inputLength) {\n // All non-basic code points < n have been handled already. Find the next\n // larger one:\n let m = maxInt;\n for (const currentValue of input) {\n if (currentValue >= n && currentValue < m) {\n m = currentValue;\n }\n }\n\n // Increase `delta` enough to advance the decoder's <n,i> state to <m,0>,\n // but guard against overflow.\n const handledCPCountPlusOne = handledCPCount + 1;\n if (m - n > floor((maxInt - delta) / handledCPCountPlusOne)) {\n error('overflow');\n }\n\n delta += (m - n) * handledCPCountPlusOne;\n n = m;\n\n for (const currentValue of input) {\n if (currentValue < n && ++delta > maxInt) {\n error('overflow');\n }\n if (currentValue === n) {\n // Represent delta as a generalized variable-length integer.\n let q = delta;\n for (let k = base; /* no condition */; k += base) {\n const t = k <= bias ? tMin : (k >= bias + tMax ? tMax : k - bias);\n if (q < t) {\n break;\n }\n const qMinusT = q - t;\n const baseMinusT = base - t;\n output.push(\n stringFromCharCode(digitToBasic(t + qMinusT % baseMinusT, 0)),\n );\n q = floor(qMinusT / baseMinusT);\n }\n\n output.push(stringFromCharCode(digitToBasic(q, 0)));\n bias = adapt(delta, handledCPCountPlusOne, handledCPCount === basicLength);\n delta = 0;\n ++handledCPCount;\n }\n }\n\n ++delta;\n ++n;\n }\n return output.join('');\n}\n\n/**\n * Converts a Punycode string representing a domain name or an email address\n * to Unicode. Only the Punycoded parts of the input will be converted, i.e.\n * it doesn't matter if you call it on a string that has already been\n * converted to Unicode.\n * @memberOf punycode\n * @param {String} input The Punycoded domain name or email address to\n * convert to Unicode.\n * @returns {String} The Unicode representation of the given Punycode\n * string.\n */\nexport function toUnicode(input) {\n return mapDomain(input, function iterateMapDomain(string) {\n return regexPunycode.test(string)\n ? decode(string.slice(4).toLowerCase())\n : string;\n });\n}\n\n/**\n * Converts a Unicode string representing a domain name or an email address to\n * Punycode. Only the non-ASCII parts of the domain name will be converted,\n * i.e. it doesn't matter if you call it with a domain that's already in\n * ASCII.\n * @memberOf punycode\n * @param {String} input The domain name or email address to convert, as a\n * Unicode string.\n * @returns {String} The Punycode representation of the given domain name or\n * email address.\n */\nexport function toASCII(input) {\n return mapDomain(input, function iterateMapDomain(string) {\n return regexNonASCII.test(string)\n ? 'xn--' + encode(string)\n : string;\n });\n}\n", "/* eslint no-unused-vars: \"off\" */\n/* eslint no-useless-escape: \"off\" */\n\n//@ts-check\nimport {\n toASCII,\n} from './punycode.js';\n\n//#region Common Tests\nconst CONST_REGEXP_ALPHA = /^[a-zA-Z]+$/;\nexport function isValidAlpha(str) {\n return CONST_REGEXP_ALPHA.test(str);\n}\nconst CONST_REGEXP_ALPHANUMERIC = /^[a-zA-Z0-9]+$/;\nexport function isValidAlphaNumeric(str) {\n return CONST_REGEXP_ALPHANUMERIC.test(str);\n}\n\nconst CONST_REGEXP_NUMERIC = /^[0-9]+$/;\nexport function isValidNumeric(str) {\n return CONST_REGEXP_NUMERIC.test(str);\n}\n\nconst CONST_REGEXP_HEXADECIMAL = /^[a-fA-F0-9]+$/;\nexport function isValidHexaDecimal(str) {\n return CONST_REGEXP_HEXADECIMAL.test(str);\n}\n\nconst CONST_REGEXP_HEXCOLOR = /^#(?:[0-9a-f]{3}){1,2}\\b$/i;\nexport function isValidHexColor(str) {\n return CONST_REGEXP_HEXCOLOR.test(str);\n}\n//#endregion\n\n//#region Identifier Tests\nconst CONST_REGEXP_UUID = /^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nexport function isValidUUID(str) {\n // uuid: http://tools.ietf.org/html/rfc4122\n return CONST_REGEXP_UUID.test(str);\n}\n\nconst CONST_REGEXP_GUID = /^({)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i;\nexport function isValidGUID(str) {\n return CONST_REGEXP_GUID.test(str);\n}\n\nconst CONST_REGEXP_IDENTIFIER = /^[_a-zA-Z]+\\w{0,30}$/;\nexport function isValidIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_IDENTIFIER.test(str);\n}\n\nconst CONST_REGEXP_HTML_IDENTIFIER = /^[A-Za-z]+[\\w\\-\\:\\.]{0,30}$/;\nexport function isValidHtmlIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_HTML_IDENTIFIER.test(str);\n}\n\nconst CONST_REGEXP_CSS_IDENTIFIER = /^-?[_a-zA-Z]+[\\w-]{0,30}$/;\nexport function isValidCssIdentifier(str) {\n return /* str != null && */ CONST_REGEXP_CSS_IDENTIFIER.test(str);\n}\n//#endregion\n\n//#region Host Tests\nconst CONST_REGEXP_MAC_ADDR = /^(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})(?:(?:\\1|\\.)(?:[0-9A-Fa-f]{2}([:-]?)[0-9A-Fa-f]{2})){2}$/;\nexport function isValidMACAddr(str) {\n return CONST_REGEXP_MAC_ADDR.test(str);\n}\n\nconst CONST_REGEXP_IPV4 = /^(?:(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d\\d?)$/;\nexport function isValidIPv4(str) {\n // optimized https://www.safaribooksonline.com/library/view/regular-expressions-cookbook/9780596802837/ch07s16.html\n return CONST_REGEXP_IPV4.test(str);\n}\n\nconst CONST_REGEXP_IPV6 = /^\\s*(?:(?:(?:[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}))|:)))(?:%.+)?\\s*$/i;\nexport function isValidIPv6(str) {\n // optimized http://stackoverflow.com/questions/53497/regular-expression-that-matches-valid-ipv6-addresses\n return CONST_REGEXP_IPV6.test(str);\n}\n\nconst CONST_REGEXP_HOSTNAME = /^[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*$/i;\nexport function isValidHostname(str) {\n // https://tools.ietf.org/html/rfc1034#section-3.5\n // https://tools.ietf.org/html/rfc1123#section-2\n return str.length <= 255 && CONST_REGEXP_HOSTNAME.test(str);\n}\n\nconst CONST_REGEXP_ACEHOSTNAME = /^(?!-)(xn--)?[a-zA-Z0-9][a-zA-Z0-9-_]{0,61}[a-zA-Z0-9]{0,1}\\.(?!-)(xn--)?([a-zA-Z0-9\\-]{1,50}|[a-zA-Z0-9-]{1,30}\\.[a-zA-Z]{2,})$/;\nexport function isValidIdnHostname(str) {\n // https://stackoverflow.com/questions/47514123/domain-name-regex-including-idn-characters-c-sharp\n const punycode = toASCII(str);\n return CONST_REGEXP_ACEHOSTNAME.test(punycode);\n}\n//#endregion\n\n//#region URL Tests\nconst CONST_REGEXP_URL = /^[(http(s)?):\\/\\/(www\\.)?\\w-/=#%&\\.\\?]{2,}\\.[a-z]{2,}([\\w-/=#%&\\.\\?]*)$/i;\nexport function isValidUrl(str) {\n return CONST_REGEXP_URL.test(str);\n}\n\n// For the source: https://gist.github.com/dperini/729294\n// For test cases: https://mathiasbynens.be/demo/url-regex\n// @todo Delete current URL in favour of the commented out URL rule when this issue is fixed https://github.com/eslint/eslint/issues/7983.\n// URL = /^(?:(?:https?|ftp):\\/\\/)(?:\\S+(?::\\S*)?@)?(?:(?!10(?:\\.\\d{1,3}){3})(?!127(?:\\.\\d{1,3}){3})(?!169\\.254(?:\\.\\d{1,3}){2})(?!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-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}0-9]+-?)*[a-z\\u{00a1}-\\u{ffff}0-9]+)*(?:\\.(?:[a-z\\u{00a1}-\\u{ffff}]{2,})))(?::\\d{2,5})?(?:\\/[^\\s]*)?$/iu;\n// eslint-disable-next-line no-control-regex\nconst CONST_REGEXP_URL_FULL = /^(?:(?:http[s\\u017F]?|ftp):\\/\\/)(?:(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+(?::(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?@)?(?:(?!10(?:\\.[0-9]{1,3}){3})(?!127(?:\\.[0-9]{1,3}){3})(?!169\\.254(?:\\.[0-9]{1,3}){2})(?!192\\.168(?:\\.[0-9]{1,3}){2})(?!172\\.(?:1[6-9]|2[0-9]|3[01])(?:\\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)(?:\\.(?:(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+-?)*(?:[0-9KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])+)*(?:\\.(?:(?:[KSa-z\\xA1-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\\/(?:[\\0-\\x08\\x0E-\\x1F!-\\x9F\\xA1-\\u167F\\u1681-\\u1FFF\\u200B-\\u2027\\u202A-\\u202E\\u2030-\\u205E\\u2060-\\u2FFF\\u3001-\\uD7FF\\uE000-\\uFEFE\\uFF00-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])*)?$/i;\nexport function isValidUrlFull(str) {\n return CONST_REGEXP_URL_FULL.test(str);\n}\n//#endregion\n\n//#region URI Tests\nconst CONST_REGEXP_NOT_URI_FRAGMENT = /\\/|:/;\n// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\nconst CONST_REGEXP_URI_FAST = /^(?:[a-z][a-z0-9+-.]*:)(?:\\/?\\/)?[^\\s]*$/i;\nexport function isValidUri(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return CONST_REGEXP_NOT_URI_FRAGMENT.test(str)\n && CONST_REGEXP_URI_FAST.test(str);\n}\n\n// uri: https://github.com/mafintosh/is-my-json-valid/blob/master/formats.js\nconst CONST_REGEXP_URI_FULL = /^(?:[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;\nexport function isValidUriFull(str) {\n // http://jmrware.com/articles/2009/uri_regexp/URI_regex.html + optional protocol + required \".\"\n return CONST_REGEXP_NOT_URI_FRAGMENT.test(str)\n && CONST_REGEXP_URI_FULL.test(str);\n}\n\nconst CONST_REGEXP_URIREF_FAST = /^(?:(?:[a-z][a-z0-9+-.]*:)?\\/?\\/)?(?:[^\\\\\\s#][^\\s#]*)?(?:#[^\\\\\\s]*)?$/i;\nexport function isValidUriRef(str) {\n return CONST_REGEXP_URIREF_FAST.test(str);\n}\n\nconst CONST_REGEXP_URIREF_FULL = /^(?:[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;\nexport function isValidUriRefFull(str) {\n return CONST_REGEXP_URIREF_FULL.test(str);\n}\n\n// uri-template: https://tools.ietf.org/html/rfc6570\n// eslint-disable-next-line no-control-regex\nconst CONST_REGEXP_URITEMPLATE = /^(?:(?:[^\\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;\nexport function isValidUriTemplate(str) {\n return CONST_REGEXP_URITEMPLATE.test(str);\n}\n//#endregion\n\n//#region IRI Tests\nconst CONST_REGEXP_ABSOLUTE_IRI = /^([a-z]([a-z]|\\d|\\+|-|\\.)*):(\\/\\/(((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:)*@)?((\\[(|(v[\\da-f]{1,}\\.(([a-z]|\\d|-|\\.|_|~)|[!\\$&'\\(\\)\\*\\+,;=]|:)+))\\])|((\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5])\\.(\\d|[1-9]\\d|1\\d\\d|2[0-4]\\d|25[0-5]))|(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=])*)(:\\d*)?)(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*|(\\/((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)?)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)+(\\/(([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)*)*)|((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)){0})(\\?((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|[\\uE000-\\uF8FF]|\\/|\\?)*)?(\\#((([a-z]|\\d|-|\\.|_|~|[\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF])|(%[\\da-f]{2})|[!\\$&'\\(\\)\\*\\+,;=]|:|@)|\\/|\\?)*)?$/i;\nexport function isValidIRI(str) {\n return CONST_REGEXP_ABSOLUTE_IRI.test(str);\n}\n\nexport function isValidIRIRef(str) {\n return isValidUriRef(str);\n}\n//#endregion\n\n//#region JPtr Tests\n// JSON-pointer: https://tools.ietf.org/html/rfc6901\nconst CONST_REGEXP_JSON_POINTER = /^(?:\\/(?:[^~/]|~0|~1)*)*$/;\nexport function isValidJSONPointer(str) {\n return CONST_REGEXP_JSON_POINTER.test(str);\n}\n\n// uri fragment: https://tools.ietf.org/html/rfc3986#appendix-A\nconst CONST_REGEXP_JSON_POINTER_URI_FRAGMENT = /^#(?:\\/(?:[a-z0-9_\\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i;\nexport function isValidJSONPointerUriFragment(str) {\n return CONST_REGEXP_JSON_POINTER_URI_FRAGMENT.test(str);\n}\n\n// relative JSON-pointer: http://tools.ietf.org/html/draft-luff-relative-json-pointer-00\nconst CONST_REGEXP_RELATIVE_JSON_POINTER = /^(?:0|[1-9][0-9]*)(?:#|(?:\\/(?:[^~/]|~0|~1)*)*)$/;\nexport function isValidRelativeJSONPointer(str) {\n return CONST_REGEXP_RELATIVE_JSON_POINTER.test(str);\n}\n//#endregion\n\n//#region Email Tests\n// email (sources from jsen validator):\n// http://stackoverflow.com/questions/201323/using-a-regular-expression-to-validate-an-email-address#answer-8829363\n// http://www.w3.org/TR/html5/forms.html#valid-e-mail-address (search for 'willful violation')\nconst CONST_REGEXP_EMAIL_FAST = /^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i;\nexport function isValidEmail(str) {\n return CONST_REGEXP_EMAIL_FAST.test(str);\n}\n\nconst CONST_REGEXP_EMAIL_FULL = /^[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;\nexport function isValidEmailFull(str) {\n return CONST_REGEXP_EMAIL_FULL.test(str);\n}\n\nconst CONST_REGEXP_IDNEMAIL = /^[^@]+@[^@]+\\.[^@]+$/;\nexport function isValidIdnEmail(str) {\n return CONST_REGEXP_IDNEMAIL.test(str);\n}\n//#endregion\n\n//#region Common Tests\nconst CONST_REGPEXP_ISBN10 = /^(?:ISBN(?:-10)?:?\\ *((?=\\d{1,5}([ -]?)\\d{1,7}\\2?\\d{1,6}\\2?\\d)(?:\\d\\2*){9}[\\dX]))$/i;\nexport function isValidISBN10(str) {\n return CONST_REGPEXP_ISBN10.test(str);\n}\n\nconst CONST_REGEXP_ISBN13 = /^(?:ISBN(?:-13)?:?\\ *(97(?:8|9)([ -]?)(?=\\d{1,5}\\2?\\d{1,7}\\2?\\d{1,6}\\2?\\d)(?:\\d\\2*){9}\\d))$/i;\nexport function isValidISBN13(str) {\n return CONST_REGEXP_ISBN13.test(str);\n}\n\nconst CONST_REGEXP_BASE64 = /^(?:[a-zA-Z0-9+\\/]{4})*(?:|(?:[a-zA-Z0-9+\\/]{3}=)|(?:[a-zA-Z0-9+\\/]{2}==)|(?:[a-zA-Z0-9+\\/]{1}===))$/;\nexport function isValidBase64(str) {\n return CONST_REGEXP_BASE64.test(str);\n}\n\nconst CONST_REGEXP_COUNTRY_ALPHA2 = /^(AF|AX|AL|DZ|AS|AD|AO|AI|AQ|AG|AR|AM|AW|AU|AT|AZ|BS|BH|BD|BB|BY|BE|BZ|BJ|BM|BT|BO|BQ|BA|BW|BV|BR|IO|BN|BG|BF|BI|KH|CM|CA|CV|KY|CF|TD|CL|CN|CX|CC|CO|KM|CG|CD|CK|CR|CI|HR|CU|CW|CY|CZ|DK|DJ|DM|DO|EC|EG|SV|GQ|ER|EE|ET|FK|FO|FJ|FI|FR|GF|PF|TF|GA|GM|GE|DE|GH|GI|GR|GL|GD|GP|GU|GT|GG|GN|GW|GY|HT|HM|VA|HN|HK|HU|IS|IN|ID|IR|IQ|IE|IM|IL|IT|JM|JP|JE|JO|KZ|KE|KI|KP|KR|KW|KG|LA|LV|LB|LS|LR|LY|LI|LT|LU|MO|MK|MG|MW|MY|MV|ML|MT|MH|MQ|MR|MU|YT|MX|FM|MD|MC|MN|ME|MS|MA|MZ|MM|NA|NR|NP|NL|NC|NZ|NI|NE|NG|NU|NF|MP|NO|OM|PK|PW|PS|PA|PG|PY|PE|PH|PN|PL|PT|PR|QA|RE|RO|RU|RW|BL|SH|KN|LC|MF|PM|VC|WS|SM|ST|SA|SN|RS|SC|SL|SG|SX|SK|SI|SB|SO|ZA|GS|SS|ES|LK|SD|SR|SJ|SZ|SE|CH|SY|TW|TJ|TZ|TH|TL|TG|TK|TO|TT|TN|TR|TM|TC|TV|UG|UA|AE|GB|US|UM|UY|UZ|VU|VE|VN|VG|VI|WF|EH|YE|ZM|ZW|XK)/i;\nexport function isValidCountryAlpha2(str) {\n return CONST_REGEXP_COUNTRY_ALPHA2.test(str);\n}\n\nconst CONST_REGEXP_IBAN = /^([A-Z]{2}[ '+'\\\\\\\\'+'-]?[0-9]{2})(?=(?:[ '+'\\\\\\\\'+'-]?[A-Z0-9]){9,30}\\$)((?:[ '+'\\\\\\\\'+'-]?[A-Z0-9]{3,5}){2,7})([ '+'\\\\\\\\'+'-]?[A-Z0-9]{1,3})?\\$/i;\nexport function isValidIBAN(str) {\n return CONST_REGEXP_IBAN.test(str);\n}\n//#endregion\n", "//@ts-check\n// eslint-disable no-useless-escape\n\nimport {\n isStringType,\n} from '@jarenjs/core';\n\nimport {\n isStringLowerCase,\n isStringUpperCase,\n isStringRegExp,\n} from '@jarenjs/core/string';\n\nimport {\n isValidUri,\n isValidUriRef,\n isValidUriTemplate,\n isValidJSONPointer,\n isValidJSONPointerUriFragment,\n isValidRelativeJSONPointer,\n isValidUrl,\n isValidEmail,\n isValidHostname,\n isValidIdnEmail,\n isValidIdnHostname,\n isValidIPv4,\n isValidIPv6,\n isValidUUID,\n isValidAlpha,\n isValidAlphaNumeric,\n isValidIdentifier,\n isValidHtmlIdentifier,\n isValidCssIdentifier,\n isValidHexaDecimal,\n isValidNumeric,\n isValidIRI,\n isValidIRIRef,\n isValidHexColor,\n isValidUriFull,\n isValidUriRefFull,\n isValidEmailFull,\n isValidGUID,\n isValidISBN10,\n isValidISBN13,\n isValidMACAddr,\n isValidBase64,\n isValidCountryAlpha2,\n isValidIBAN,\n} from '@jarenjs/core/text';\n\nfunction createStringFormatCompiler(formatName, isFormatTest) {\n return function compileStringFormat(schemaObj, jsonSchema) {\n if (jsonSchema.format !== formatName)\n throw new Error('Format is not equal to jsonSchema (should not happen!)');\n\n const addError = schemaObj.createErrorHandler(formatName, 'format', isFormatTest.constructor.name);\n\n return function validateStringFormat(data, dataPath) {\n return isStringType(data)\n ? isFormatTest(data) || addError(data, dataPath)\n : true;\n };\n };\n}\n\nexport const formatValidators = {\n 'alpha': createStringFormatCompiler('alpha', isValidAlpha),\n 'alphanumeric': createStringFormatCompiler('alphanumeric', isValidAlphaNumeric),\n 'identifier': createStringFormatCompiler('identifier', isValidIdentifier),\n 'html-identifier': createStringFormatCompiler('html-identifier', isValidHtmlIdentifier),\n 'css-identifier': createStringFormatCompiler('css-identifier', isValidCssIdentifier),\n 'hexadecimal': createStringFormatCompiler('hexadecimal', isValidHexaDecimal),\n 'numeric': createStringFormatCompiler('numeric', isValidNumeric),\n 'uppercase': createStringFormatCompiler('uppercase', isStringUpperCase),\n 'lowercase': createStringFormatCompiler('lowercase', isStringLowerCase),\n 'color': createStringFormatCompiler('color', isValidHexColor),\n 'regex': createStringFormatCompiler('regex', isStringRegExp),\n 'uri': createStringFormatCompiler('uri', isValidUri),\n 'uri--full': createStringFormatCompiler('uri--full', isValidUriFull),\n 'uri-reference': createStringFormatCompiler('uri-reference', isValidUriRef),\n 'uri-reference--full': createStringFormatCompiler('uri-reference--full', isValidUriRefFull),\n 'uri-template': createStringFormatCompiler('uri-template', isValidUriTemplate),\n 'url': createStringFormatCompiler('url', isValidUrl),\n 'url--full': createStringFormatCompiler('url--full', isValidUrl),\n 'email': createStringFormatCompiler('email', isValidEmail),\n 'email--full': createStringFormatCompiler('email--full', isValidEmailFull),\n 'hostname': createStringFormatCompiler('hostname', isValidHostname),\n 'idn-email': createStringFormatCompiler('idn-email', isValidIdnEmail),\n 'idn-hostname': createStringFormatCompiler('idn-hostname', isValidIdnHostname),\n 'ipv4': createStringFormatCompiler('ipv4', isValidIPv4),\n 'ipv6': createStringFormatCompiler('ipv6', isValidIPv6),\n 'uuid': createStringFormatCompiler('uuid', isValidUUID),\n 'guid': createStringFormatCompiler('guid', isValidGUID),\n 'json-pointer': createStringFormatCompiler('json-pointer', isValidJSONPointer),\n 'json-pointer-uri-fragment': createStringFormatCompiler('json-pointer-uri-fragment', isValidJSONPointerUriFragment),\n 'relative-json-pointer': createStringFormatCompiler('relative-json-pointer', isValidRelativeJSONPointer),\n 'iri': createStringFormatCompiler('iri', isValidIRI),\n 'iri-reference': createStringFormatCompiler('iri-reference', isValidIRIRef),\n 'isbn10': createStringFormatCompiler('isbn10', isValidISBN10),\n 'isbn13': createStringFormatCompiler('isbn13', isValidISBN13),\n 'mac': createStringFormatCompiler('mac', isValidMACAddr),\n 'base64': createStringFormatCompiler('base64', isValidBase64),\n 'byte': createStringFormatCompiler('byte', isValidBase64),\n 'country2': createStringFormatCompiler('country2', isValidCountryAlpha2),\n 'iban': createStringFormatCompiler('iban', isValidIBAN),\n};\n", "//@ts-check\n\nimport {\n isIntegerType,\n} from './index.js';\n\nexport const INT8_MIN = -128;\nexport const INT8_MAX = 127;\n\nexport function isValidInt8(value) {\n return isIntegerType(value)\n && value >= INT8_MIN\n && value <= INT8_MAX;\n}\n\nexport const UINT8_MIN = 0;\nexport const UINT8_MAX = 255;\n\nexport function isValidUInt8(value) {\n return isIntegerType(value)\n && value >= UINT8_MIN\n && value <= UINT8_MAX;\n}\n\nexport const INT16_MIN = -32768;\nexport const INT16_MAX = 32767;\n\nexport function isValidInt16(value) {\n return isIntegerType(value)\n && value >= INT16_MIN\n && value <= INT16_MAX;\n}\n\nexport const UINT16_MIN = 0;\nexport const UINT16_MAX = 65535;\n\nexport function isValidUInt16(value) {\n return isIntegerType(value)\n && value >= UINT16_MIN\n && value <= UINT16_MAX;\n}\n\nexport const INT32_MIN = -(2 ** 31);\nexport const INT32_MAX = (2 ** 31) - 1;\n\nexport function isValidInt32(value) {\n return isIntegerType(value)\n && value >= INT32_MIN\n && value <= INT32_MAX;\n}\n\nexport const UINT32_MIN = 0;\nexport const UINT32_MAX = (2 ** 32) - 1;\n\nexport function isValidUInt32(value) {\n return isIntegerType(value)\n && value >= UINT32_MIN\n && value <= UINT32_MAX;\n}\n\nexport const INT64_MIN = Number.MIN_SAFE_INTEGER;\nexport const INT64_MAX = Number.MAX_SAFE_INTEGER;\n\nexport function isValidInt64(value) {\n return isIntegerType(value)\n && value >= INT64_MIN\n && value <= INT64_MAX;\n}\n\nexport const UINT64_MIN = 0;\nexport const UINT64_MAX = Number.MAX_SAFE_INTEGER;\n\nexport function isValidUInt64(value) {\n return isIntegerType(value)\n && value >= UINT64_MIN\n && value <= UINT64_MAX;\n}\n", "//@ts-check\n\nimport {\n isNumberType,\n} from './index.js';\n\nexport const FLOAT16_MAX = 65504.0;\nexport const FLOAT16_MIN = 0.00006103515625;\nexport const FLOAT16_EPS = 0.0009765625;\nexport const FLOAT16_EXBITS = 5;\nexport const FLOAT16_FRBITS = 10;\n\nexport function isValidFloat16(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT16_MAX\n && value <= FLOAT16_MAX;\n}\n\nexport function getValidFloat16(value, defVal = NaN) {\n if (!isNumberType(value) /* TODO: do we need this? */\n || Number.isNaN(value)) return defVal;\n if (value < -FLOAT16_MAX) return -Infinity;\n if (value > FLOAT16_MAX) return Infinity;\n return value;\n}\n\nexport function Float16_increment(value) {\n const next = value + 2 ** (Math.log2(value) - 11);\n return (next > FLOAT16_MAX)\n ? Infinity\n : next;\n}\n\nexport function Float16_decrement(value) {\n const next = value - 2 ** (Math.log2(value) - 11);\n return (next < -FLOAT16_MAX)\n ? -Infinity\n : next;\n}\n\nexport const FLOAT32_MAX = 3.4028234663852886e+38;\nexport const FLOAT32_MIN = 1.1754943508222875e-38;\nexport const FLOAT32_EPS = 1.1920928955078125e-7;\nexport const FLOAT32_EXBITS = 8;\nexport const FLOAT32_FRBITS = 23;\n\nexport function isValidFloat32(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT32_MAX\n && value <= FLOAT32_MAX;\n}\n\nexport function getValidFloat32(value, defVal = NaN) {\n if (!isNumberType(value) || Number.isNaN(value)) return defVal;\n if (value < -FLOAT32_MAX) return -Infinity;\n if (value > FLOAT32_MAX) return Infinity;\n return value;\n}\n\nexport function Float32_increment(value) {\n const next = value + 2 ** (Math.log2(value) - 24);\n return (next > FLOAT32_MAX)\n ? Infinity\n : next;\n}\n\nexport function Float32_decrement(value) {\n const next = value - 2 ** (Math.log2(value) - 24);\n return (next < -FLOAT32_MAX)\n ? -Infinity\n : next;\n}\n\nexport const FLOAT64_MAX = Number.MAX_VALUE;\nexport const FLOAT64_MIN = Number.MIN_VALUE;\nexport const FLOAT64_EPS = Number.EPSILON;\nexport const FLOAT64_EXBITS = 11;\nexport const FLOAT64_FRBITS = 52;\n\nexport function isValidFloat64(value) {\n return isNumberType(value)\n && !Number.isNaN(value)\n && value >= -FLOAT64_MAX\n && value <= FLOAT64_MAX;\n}\n\nexport function getValidFloat64(value, defVal = NaN) {\n return isNumberType(value)\n ? value\n : defVal;\n}\n\nexport function Float64_increment(value) {\n return value + 2 ** (Math.log2(value) - 53);\n}\n\nexport function Float64_decrement(value) {\n return value - 2 ** (Math.log2(value) - 53);\n}\n\nexport const FLOAT128_MAX = 0.0;\nexport const FLOAT128_MIN = 0.0;\nexport const FLOAT128_EPS = 0.0;\nexport const FLOAT128_EXBITS = 15;\nexport const FLOAT128_FRBITS = 112;\n", "//@ts-check\n\nimport {\n isValidInt8,\n isValidInt16,\n isValidInt32,\n isValidInt64,\n isValidUInt8,\n isValidUInt16,\n isValidUInt32,\n isValidUInt64,\n} from '@jarenjs/core/integer';\n\nimport {\n isValidFloat16,\n isValidFloat32,\n isValidFloat64,\n} from '@jarenjs/core/float';\n\nfunction createNumberFormatCompiler(formatName, isNumberTest, strictFormat = false) {\n return function compileNumberFormat(schemaObj, jsonSchema) {\n if (jsonSchema.format !== formatName)\n throw new Error('Format is not equal to jsonSchema (should not happen!)');\n\n const addError = schemaObj.createErrorHandler(formatName, 'format');\n\n if (strictFormat === true)\n return function validateNumberStrictFormat(data, dataPath) {\n return data == null\n || isNumberTest(data)\n || addError(data, dataPath);\n };\n else\n return function validateNumberFormat(data, dataPath) {\n return (data == null\n || isNumberTest(Number(data))\n || addError(data, dataPath));\n };\n };\n}\n\nexport const formatValidators = {\n // integer types\n int8: createNumberFormatCompiler('int8', isValidInt8),\n uint8: createNumberFormatCompiler('uint8', isValidUInt8),\n int16: createNumberFormatCompiler('int16', isValidInt16),\n uint16: createNumberFormatCompiler('uint16', isValidUInt16),\n int32: createNumberFormatCompiler('int32', isValidInt32),\n uint32: createNumberFormatCompiler('uint32', isValidUInt32),\n int64: createNumberFormatCompiler('int64', isValidInt64),\n uint64: createNumberFormatCompiler('uint64', isValidUInt64),\n // floating point types\n float16: createNumberFormatCompiler('float16', isValidFloat16),\n float32: createNumberFormatCompiler('float32', isValidFloat32),\n float64: createNumberFormatCompiler('float64', isValidFloat64),\n float: createNumberFormatCompiler('float', isValidFloat32),\n double: createNumberFormatCompiler('double', isValidFloat64),\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["isStringType", "data", "isNumberType", "data", "isIntegerType", "isObjectOfClass", "data", "type", "TypedArray", "getInclusiveExclusiveBounds", "getType", "inclusive", "exclusive", "includes", "excludes", "CONST_TICKS_SECOND", "CONST_TICKS_HOUR", "CONST_TICKS_DAY", "CONST_TIME_INSERTDATE", "CONST_RFC3339_DAYS", "CONST_RFC3339_REGEX_ISDATE", "CONST_RFC3339_REGEX_ISTIME", "isDateType", "data", "isObjectOfClass", "isLeapYear", "year", "isDateOnlyInRange", "month", "day", "CONST_RFC3339_DAYS", "isDateOnlyRFC3339", "str", "isStringType", "r", "CONST_RFC3339_REGEX_ISDATE", "y", "m", "d", "isTimeOnlyInRange", "hrs", "min", "sec", "tzh", "tzm", "isTimeOnlyRFC3339", "CONST_RFC3339_REGEX_ISTIME", "h", "s", "th", "tm", "isDateTimeRFC3339", "dateTime", "getDateTypeOfDateOnlyRFC3339", "def", "getDateTypeOfTimeOnlyRFC3339", "CONST_TIME_INSERTDATE", "getDateTypeOfDateTimeRFC3339", "compileFormatMinimumByType", "parseType", "schemaObj", "jsonSchema", "min", "emin", "getInclusiveExclusiveBounds", "addError", "date", "dataPath", "compileFormatMaximumByType", "max", "emax", "compileFormatByType", "name", "validateMin", "validateMax", "data", "isStringType", "isDateType", "compileDateTimeFormat", "getDateTypeOfDateTimeRFC3339", "compileDateOnlyFormat", "getDateTypeOfDateOnlyRFC3339", "compileTimeOnlyFormat", "getDateTypeOfTimeOnlyRFC3339", "formatValidators", "isStringUpperCase", "str", "isStringLowerCase", "isRegExpType", "data", "isObjectOfClass", "isStringRegExp", "createRegExp", "pattern", "isStringType", "e", "r", "g", "delimiter", "regexNonASCII", "regexSeparators", "errors", "baseMinusTMin", "floor", "stringFromCharCode", "error", "type", "map", "array", "fn", "result", "length", "mapDomain", "domain", "parts", "labels", "encoded", "ucs2decode", "string", "output", "counter", "value", "extra", "digitToBasic", "digit", "flag", "adapt", "delta", "numPoints", "firstTime", "k", "floor", "baseMinusTMin", "encode", "str", "output", "input", "ucs2decode", "inputLength", "n", "delta", "bias", "currentValue", "stringFromCharCode", "basicLength", "handledCPCount", "delimiter", "m", "handledCPCountPlusOne", "floor", "error", "q", "k", "t", "qMinusT", "baseMinusT", "digitToBasic", "adapt", "toASCII", "input", "mapDomain", "string", "regexNonASCII", "encode", "CONST_REGEXP_ALPHA", "isValidAlpha", "str", "CONST_REGEXP_ALPHANUMERIC", "isValidAlphaNumeric", "CONST_REGEXP_NUMERIC", "isValidNumeric", "CONST_REGEXP_HEXADECIMAL", "isValidHexaDecimal", "CONST_REGEXP_HEXCOLOR", "isValidHexColor", "CONST_REGEXP_UUID", "isValidUUID", "CONST_REGEXP_GUID", "isValidGUID", "CONST_REGEXP_IDENTIFIER", "isValidIdentifier", "CONST_REGEXP_HTML_IDENTIFIER", "isValidHtmlIdentifier", "CONST_REGEXP_CSS_IDENTIFIER", "isValidCssIdentifier", "CONST_REGEXP_MAC_ADDR", "isValidMACAddr", "CONST_REGEXP_IPV4", "isValidIPv4", "CONST_REGEXP_IPV6", "isValidIPv6", "CONST_REGEXP_HOSTNAME", "isValidHostname", "CONST_REGEXP_ACEHOSTNAME", "isValidIdnHostname", "punycode", "toASCII", "CONST_REGEXP_URL", "isValidUrl", "CONST_REGEXP_NOT_URI_FRAGMENT", "CONST_REGEXP_URI_FAST", "isValidUri", "str", "CONST_REGEXP_URI_FULL", "isValidUriFull", "CONST_REGEXP_URIREF_FAST", "isValidUriRef", "CONST_REGEXP_URIREF_FULL", "isValidUriRefFull", "CONST_REGEXP_URITEMPLATE", "isValidUriTemplate", "CONST_REGEXP_ABSOLUTE_IRI", "isValidIRI", "isValidIRIRef", "CONST_REGEXP_JSON_POINTER", "isValidJSONPointer", "CONST_REGEXP_JSON_POINTER_URI_FRAGMENT", "isValidJSONPointerUriFragment", "CONST_REGEXP_RELATIVE_JSON_POINTER", "isValidRelativeJSONPointer", "CONST_REGEXP_EMAIL_FAST", "isValidEmail", "CONST_REGEXP_EMAIL_FULL", "isValidEmailFull", "CONST_REGEXP_IDNEMAIL", "isValidIdnEmail", "CONST_REGPEXP_ISBN10", "isValidISBN10", "CONST_REGEXP_ISBN13", "isValidISBN13", "CONST_REGEXP_BASE64", "isValidBase64", "CONST_REGEXP_COUNTRY_ALPHA2", "isValidCountryAlpha2", "CONST_REGEXP_IBAN", "isValidIBAN", "createStringFormatCompiler", "formatName", "isFormatTest", "schemaObj", "jsonSchema", "addError", "data", "dataPath", "isStringType", "formatValidators", "isValidAlpha", "isValidAlphaNumeric", "isValidIdentifier", "isValidHtmlIdentifier", "isValidCssIdentifier", "isValidHexaDecimal", "isValidNumeric", "isStringUpperCase", "isStringLowerCase", "isValidHexColor", "isStringRegExp", "isValidUri", "isValidUriFull", "isValidUriRef", "isValidUriRefFull", "isValidUriTemplate", "isValidUrl", "isValidEmail", "isValidEmailFull", "isValidHostname", "isValidIdnEmail", "isValidIdnHostname", "isValidIPv4", "isValidIPv6", "isValidUUID", "isValidGUID", "isValidJSONPointer", "isValidJSONPointerUriFragment", "isValidRelativeJSONPointer", "isValidIRI", "isValidIRIRef", "isValidISBN10", "isValidISBN13", "isValidMACAddr", "isValidBase64", "isValidCountryAlpha2", "isValidIBAN", "INT8_MIN", "INT8_MAX", "isValidInt8", "value", "isIntegerType", "UINT8_MIN", "UINT8_MAX", "isValidUInt8", "INT16_MIN", "INT16_MAX", "isValidInt16", "UINT16_MIN", "UINT16_MAX", "isValidUInt16", "INT32_MIN", "INT32_MAX", "isValidInt32", "UINT32_MIN", "UINT32_MAX", "isValidUInt32", "INT64_MIN", "INT64_MAX", "isValidInt64", "UINT64_MIN", "UINT64_MAX", "isValidUInt64", "FLOAT16_MAX", "isValidFloat16", "value", "isNumberType", "FLOAT16_MAX", "FLOAT32_MAX", "isValidFloat32", "value", "isNumberType", "FLOAT32_MAX", "FLOAT64_MAX", "FLOAT64_MIN", "FLOAT64_EPS", "isValidFloat64", "value", "isNumberType", "FLOAT64_MAX", "createNumberFormatCompiler", "formatName", "isNumberTest", "strictFormat", "schemaObj", "jsonSchema", "addError", "data", "dataPath", "formatValidators", "isValidInt8", "isValidUInt8", "isValidInt16", "isValidUInt16", "isValidInt32", "isValidUInt32", "isValidInt64", "isValidUInt64", "isValidFloat16", "isValidFloat32", "isValidFloat64"]
|
|
7
7
|
}
|