@regle/rules 0.5.0 → 0.5.1

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.
@@ -161,8 +161,8 @@ function isNumber(value) {
161
161
  }
162
162
  }
163
163
 
164
- // src/helpers/ruleHelpers/regex.ts
165
- function regex(_value, ...expr) {
164
+ // src/helpers/ruleHelpers/matchRegex.ts
165
+ function matchRegex(_value, ...expr) {
166
166
  if (isEmpty(_value)) {
167
167
  return true;
168
168
  }
@@ -172,7 +172,7 @@ function regex(_value, ...expr) {
172
172
  return reg.test(value);
173
173
  });
174
174
  }
175
- function size(value) {
175
+ function getSize(value) {
176
176
  const _value = vue.unref(value);
177
177
  if (Array.isArray(_value)) return _value.length;
178
178
  if (typeof _value === "object") {
@@ -243,18 +243,6 @@ function toNumber(argument) {
243
243
  }
244
244
  return NaN;
245
245
  }
246
-
247
- // src/helpers/ruleHelpers/index.ts
248
- var ruleHelpers = {
249
- isEmpty,
250
- isFilled,
251
- size,
252
- regex,
253
- isNumber,
254
- isDate,
255
- toDate,
256
- toNumber
257
- };
258
246
  function and(...rules) {
259
247
  const isAnyRuleAsync = rules.some((rule) => {
260
248
  if (typeof rule === "function") {
@@ -420,7 +408,7 @@ function not(rule, message) {
420
408
  }
421
409
  if (_async) {
422
410
  newValidator = async (value, ...params) => {
423
- if (ruleHelpers.isFilled(value)) {
411
+ if (isFilled(value)) {
424
412
  const result = await validator(value, ...params);
425
413
  return !result;
426
414
  }
@@ -428,7 +416,7 @@ function not(rule, message) {
428
416
  };
429
417
  } else {
430
418
  newValidator = (value, ...params) => {
431
- if (ruleHelpers.isFilled(value)) {
419
+ if (isFilled(value)) {
432
420
  return !validator(value, ...params);
433
421
  }
434
422
  return true;
@@ -445,16 +433,16 @@ function not(rule, message) {
445
433
  var required = core.createRule({
446
434
  type: "required",
447
435
  validator: (value) => {
448
- return ruleHelpers.isFilled(value);
436
+ return isFilled(value);
449
437
  },
450
438
  message: "This field is required"
451
439
  });
452
440
  var maxLength = core.createRule({
453
441
  type: "maxLength",
454
442
  validator: (value, count) => {
455
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
456
- if (ruleHelpers.isNumber(count)) {
457
- return ruleHelpers.size(value) <= count;
443
+ if (isFilled(value) && isFilled(count)) {
444
+ if (isNumber(count)) {
445
+ return getSize(value) <= count;
458
446
  }
459
447
  console.warn(`[maxLength] Value or parameter isn't a number, got value: ${value}, parameter: ${count}`);
460
448
  return false;
@@ -472,7 +460,7 @@ var requiredIf = core.createRule({
472
460
  type: "required",
473
461
  validator(value, condition) {
474
462
  if (condition) {
475
- return ruleHelpers.isFilled(value);
463
+ return isFilled(value);
476
464
  }
477
465
  return true;
478
466
  },
@@ -485,10 +473,10 @@ var alphaRegex = /^[a-zA-Z]*$/;
485
473
  var alpha = core.createRule({
486
474
  type: "alpha",
487
475
  validator(value) {
488
- if (ruleHelpers.isEmpty(value)) {
476
+ if (isEmpty(value)) {
489
477
  return true;
490
478
  }
491
- return ruleHelpers.regex(value, alphaRegex);
479
+ return matchRegex(value, alphaRegex);
492
480
  },
493
481
  message: "The value is not alphabetical"
494
482
  });
@@ -496,21 +484,21 @@ var alphaNumRegex = /^[a-zA-Z0-9]*$/;
496
484
  var alphaNum = core.createRule({
497
485
  type: "alpha",
498
486
  validator(value) {
499
- if (ruleHelpers.isEmpty(value)) {
487
+ if (isEmpty(value)) {
500
488
  return true;
501
489
  }
502
- return ruleHelpers.regex(value, alphaNumRegex);
490
+ return matchRegex(value, alphaNumRegex);
503
491
  },
504
492
  message: "The value must be alpha-numeric"
505
493
  });
506
494
  var between = core.createRule({
507
495
  type: "between",
508
496
  validator: (value, min, max) => {
509
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(min) && ruleHelpers.isFilled(max)) {
510
- const tValue = ruleHelpers.toNumber(value);
511
- const tMin = ruleHelpers.toNumber(min);
512
- const tMax = ruleHelpers.toNumber(max);
513
- if (ruleHelpers.isNumber(tValue) && ruleHelpers.isNumber(tMin) && ruleHelpers.isNumber(tMax)) {
497
+ if (isFilled(value) && isFilled(min) && isFilled(max)) {
498
+ const tValue = toNumber(value);
499
+ const tMin = toNumber(min);
500
+ const tMax = toNumber(max);
501
+ if (isNumber(tValue) && isNumber(tMin) && isNumber(tMax)) {
514
502
  return tValue >= tMin && tValue <= tMax;
515
503
  }
516
504
  console.warn(`[between] Value or parameters aren't numbers, got value: ${value}, min: ${min}, max: ${max}`);
@@ -526,10 +514,10 @@ var decimalRegex = /^[-]?\d*(\.\d+)?$/;
526
514
  var decimal = core.createRule({
527
515
  type: "decimal",
528
516
  validator(value) {
529
- if (ruleHelpers.isEmpty(value)) {
517
+ if (isEmpty(value)) {
530
518
  return true;
531
519
  }
532
- return ruleHelpers.regex(value, decimalRegex);
520
+ return matchRegex(value, decimalRegex);
533
521
  },
534
522
  message: "Value must be decimal"
535
523
  });
@@ -537,10 +525,10 @@ var emailRegex = /^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~
537
525
  var email = core.createRule({
538
526
  type: "email",
539
527
  validator(value) {
540
- if (ruleHelpers.isEmpty(value)) {
528
+ if (isEmpty(value)) {
541
529
  return true;
542
530
  }
543
- return ruleHelpers.regex(value, emailRegex);
531
+ return matchRegex(value, emailRegex);
544
532
  },
545
533
  message: "Value must be an valid email address"
546
534
  });
@@ -548,18 +536,18 @@ var integerRegex = /(^[0-9]*$)|(^-[0-9]+$)/;
548
536
  var integer = core.createRule({
549
537
  type: "integer",
550
538
  validator(value) {
551
- if (ruleHelpers.isEmpty(value)) {
539
+ if (isEmpty(value)) {
552
540
  return true;
553
541
  }
554
- return ruleHelpers.regex(value, integerRegex);
542
+ return matchRegex(value, integerRegex);
555
543
  },
556
544
  message: "Value must be an integer"
557
545
  });
558
546
  var maxValue = core.createRule({
559
547
  type: "maxValue",
560
548
  validator: (value, count) => {
561
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
562
- if (ruleHelpers.isNumber(count) && !isNaN(toNumber(value))) {
549
+ if (isFilled(value) && isFilled(count)) {
550
+ if (isNumber(count) && !isNaN(toNumber(value))) {
563
551
  return toNumber(value) <= count;
564
552
  }
565
553
  console.warn(`[maxValue] Value or parameter isn't a number, got value: ${value}, parameter: ${count}`);
@@ -574,9 +562,9 @@ var maxValue = core.createRule({
574
562
  var minLength = core.createRule({
575
563
  type: "minLength",
576
564
  validator: (value, count) => {
577
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
578
- if (ruleHelpers.isNumber(count)) {
579
- return ruleHelpers.size(value) >= count;
565
+ if (isFilled(value) && isFilled(count)) {
566
+ if (isNumber(count)) {
567
+ return getSize(value) >= count;
580
568
  }
581
569
  console.warn(`[minLength] Parameter isn't a number, got parameter: ${count}`);
582
570
  return false;
@@ -593,8 +581,8 @@ var minLength = core.createRule({
593
581
  var minValue = core.createRule({
594
582
  type: "minValue",
595
583
  validator: (value, count) => {
596
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
597
- if (ruleHelpers.isNumber(count) && !isNaN(toNumber(value))) {
584
+ if (isFilled(value) && isFilled(count)) {
585
+ if (isNumber(count) && !isNaN(toNumber(value))) {
598
586
  return toNumber(value) >= count;
599
587
  }
600
588
  console.warn(`[minValue] Value or parameter isn't a number, got value: ${value}, parameter: ${count}`);
@@ -609,9 +597,9 @@ var minValue = core.createRule({
609
597
  var exactLength = core.createRule({
610
598
  type: "exactLength",
611
599
  validator: (value, count) => {
612
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
613
- if (ruleHelpers.isNumber(count)) {
614
- return ruleHelpers.size(value) === count;
600
+ if (isFilled(value) && isFilled(count)) {
601
+ if (isNumber(count)) {
602
+ return getSize(value) === count;
615
603
  }
616
604
  console.warn(`[minLength] Parameter isn't a number, got parameter: ${count}`);
617
605
  return false;
@@ -626,10 +614,10 @@ var numericRegex = /^\d*(\.\d+)?$/;
626
614
  var numeric = core.createRule({
627
615
  type: "numeric",
628
616
  validator(value) {
629
- if (ruleHelpers.isEmpty(value)) {
617
+ if (isEmpty(value)) {
630
618
  return true;
631
619
  }
632
- return ruleHelpers.regex(value, numericRegex);
620
+ return matchRegex(value, numericRegex);
633
621
  },
634
622
  message: "This field must be numeric"
635
623
  });
@@ -637,7 +625,7 @@ var requiredUnless = core.createRule({
637
625
  type: "required",
638
626
  validator(value, condition) {
639
627
  if (!condition) {
640
- return ruleHelpers.isFilled(value);
628
+ return isFilled(value);
641
629
  }
642
630
  return true;
643
631
  },
@@ -649,7 +637,7 @@ var requiredUnless = core.createRule({
649
637
  var sameAs = core.createRule({
650
638
  type: "sameAs",
651
639
  validator(value, target, otherName = "other") {
652
- if (ruleHelpers.isEmpty(value)) {
640
+ if (isEmpty(value)) {
653
641
  return true;
654
642
  }
655
643
  return value === target;
@@ -662,10 +650,10 @@ var urlRegex = /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(
662
650
  var url = core.createRule({
663
651
  type: "url",
664
652
  validator(value) {
665
- if (ruleHelpers.isEmpty(value)) {
653
+ if (isEmpty(value)) {
666
654
  return true;
667
655
  }
668
- return ruleHelpers.regex(value, urlRegex);
656
+ return matchRegex(value, urlRegex);
669
657
  },
670
658
  message: "The value is not a valid URL address"
671
659
  });
@@ -686,9 +674,9 @@ function formatLocaleDate(date) {
686
674
  var dateAfter = core.createRule({
687
675
  type: "dateAfter",
688
676
  validator: (value, after) => {
689
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(after)) {
690
- if (ruleHelpers.isDate(value) && ruleHelpers.isDate(after)) {
691
- const result = ruleHelpers.toDate(value).getTime() > ruleHelpers.toDate(after).getTime();
677
+ if (isFilled(value) && isFilled(after)) {
678
+ if (isDate(value) && isDate(after)) {
679
+ const result = toDate(value).getTime() > toDate(after).getTime();
692
680
  if (result) {
693
681
  return true;
694
682
  }
@@ -708,9 +696,9 @@ var dateAfter = core.createRule({
708
696
  var dateBefore = core.createRule({
709
697
  type: "dateBefore",
710
698
  validator: (value, before) => {
711
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(before)) {
712
- if (ruleHelpers.isDate(value) && ruleHelpers.isDate(before)) {
713
- const result = ruleHelpers.toDate(value).getTime() < ruleHelpers.toDate(before).getTime();
699
+ if (isFilled(value) && isFilled(before)) {
700
+ if (isDate(value) && isDate(before)) {
701
+ const result = toDate(value).getTime() < toDate(before).getTime();
714
702
  if (result) {
715
703
  return true;
716
704
  }
@@ -730,8 +718,8 @@ var dateBefore = core.createRule({
730
718
  var dateBetween = core.createRule({
731
719
  type: "dateBetween",
732
720
  validator: (value, before, after) => {
733
- if (ruleHelpers.isDate(value) && ruleHelpers.isDate(before) && ruleHelpers.isDate(after)) {
734
- return ruleHelpers.toDate(value).getTime() > ruleHelpers.toDate(before).getTime() && ruleHelpers.toDate(value).getTime() < ruleHelpers.toDate(after).getTime();
721
+ if (isDate(value) && isDate(before) && isDate(after)) {
722
+ return toDate(value).getTime() > toDate(before).getTime() && toDate(value).getTime() < toDate(after).getTime();
735
723
  }
736
724
  return true;
737
725
  },
@@ -755,7 +743,7 @@ function nibbleValid(nibble) {
755
743
  var ipAddress = core.createRule({
756
744
  type: "ipAddress",
757
745
  validator(value) {
758
- if (ruleHelpers.isEmpty(value)) {
746
+ if (isEmpty(value)) {
759
747
  return true;
760
748
  }
761
749
  if (typeof value !== "string") {
@@ -769,7 +757,7 @@ var ipAddress = core.createRule({
769
757
  var macAddress = core.createRule({
770
758
  type: "macAddress",
771
759
  validator(value, separator = ":") {
772
- if (ruleHelpers.isEmpty(value)) {
760
+ if (isEmpty(value)) {
773
761
  return true;
774
762
  }
775
763
  if (typeof value !== "string") {
@@ -784,7 +772,7 @@ var hexValid = (hex) => hex.toLowerCase().match(/^[0-9a-f]{2}$/);
784
772
  var checked = core.createRule({
785
773
  type: "checked",
786
774
  validator: (value) => {
787
- if (ruleHelpers.isFilled(value)) {
775
+ if (isFilled(value)) {
788
776
  return value === true;
789
777
  }
790
778
  return true;
@@ -794,7 +782,7 @@ var checked = core.createRule({
794
782
  var contains = core.createRule({
795
783
  type: "contains",
796
784
  validator(value, part) {
797
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(part)) {
785
+ if (isFilled(value) && isFilled(part)) {
798
786
  return value.includes(part);
799
787
  }
800
788
  return true;
@@ -806,7 +794,7 @@ var contains = core.createRule({
806
794
  var startsWith = core.createRule({
807
795
  type: "startsWith",
808
796
  validator(value, part) {
809
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(part)) {
797
+ if (isFilled(value) && isFilled(part)) {
810
798
  return value.startsWith(part);
811
799
  }
812
800
  return true;
@@ -818,7 +806,7 @@ var startsWith = core.createRule({
818
806
  var endsWith = core.createRule({
819
807
  type: "endsWith",
820
808
  validator(value, part) {
821
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(part)) {
809
+ if (isFilled(value) && isFilled(part)) {
822
810
  return value.endsWith(part);
823
811
  }
824
812
  return true;
@@ -827,11 +815,11 @@ var endsWith = core.createRule({
827
815
  return `Field must end with ${part}`;
828
816
  }
829
817
  });
830
- var regex2 = core.createRule({
818
+ var regex = core.createRule({
831
819
  type: "regex",
832
820
  validator(value, ...regexp) {
833
- if (ruleHelpers.isFilled(value)) {
834
- return ruleHelpers.regex(value, ...regexp);
821
+ if (isFilled(value)) {
822
+ return matchRegex(value, ...regexp);
835
823
  }
836
824
  return true;
837
825
  },
@@ -852,9 +840,15 @@ exports.decimal = decimal;
852
840
  exports.email = email;
853
841
  exports.endsWith = endsWith;
854
842
  exports.exactLength = exactLength;
843
+ exports.getSize = getSize;
855
844
  exports.integer = integer;
856
845
  exports.ipAddress = ipAddress;
846
+ exports.isDate = isDate;
847
+ exports.isEmpty = isEmpty;
848
+ exports.isFilled = isFilled;
849
+ exports.isNumber = isNumber;
857
850
  exports.macAddress = macAddress;
851
+ exports.matchRegex = matchRegex;
858
852
  exports.maxLength = maxLength;
859
853
  exports.maxValue = maxValue;
860
854
  exports.minLength = minLength;
@@ -862,13 +856,14 @@ exports.minValue = minValue;
862
856
  exports.not = not;
863
857
  exports.numeric = numeric;
864
858
  exports.or = or;
865
- exports.regex = regex2;
859
+ exports.regex = regex;
866
860
  exports.required = required;
867
861
  exports.requiredIf = requiredIf;
868
862
  exports.requiredUnless = requiredUnless;
869
- exports.ruleHelpers = ruleHelpers;
870
863
  exports.sameAs = sameAs;
871
864
  exports.startsWith = startsWith;
865
+ exports.toDate = toDate;
866
+ exports.toNumber = toNumber;
872
867
  exports.url = url;
873
868
  exports.withAsync = withAsync;
874
869
  exports.withMessage = withMessage;
@@ -19,9 +19,9 @@ declare function isFilled<T extends unknown>(value: T): value is NonNullable<T>;
19
19
 
20
20
  declare function isNumber(value: unknown): value is number;
21
21
 
22
- declare function regex$1(_value: string | number | null | undefined, ...expr: RegExp[]): boolean;
22
+ declare function matchRegex(_value: string | number | null | undefined, ...expr: RegExp[]): boolean;
23
23
 
24
- declare function size(value: MaybeRef<string | any[] | Record<string, any> | number>): number;
24
+ declare function getSize(value: MaybeRef<string | any[] | Record<string, any> | number>): number;
25
25
 
26
26
  declare function isDate(value: unknown): value is Date;
27
27
 
@@ -71,17 +71,6 @@ type EmptyObject$1 = {[emptyObjectSymbol$1]?: never};
71
71
 
72
72
  declare function isEmpty(value: unknown): value is null | undefined | [] | EmptyObject$1;
73
73
 
74
- declare const ruleHelpers: {
75
- isEmpty: typeof isEmpty;
76
- isFilled: typeof isFilled;
77
- size: typeof size;
78
- regex: typeof regex$1;
79
- isNumber: typeof isNumber;
80
- isDate: typeof isDate;
81
- toDate: typeof toDate;
82
- toNumber: typeof toNumber;
83
- };
84
-
85
74
  declare global {
86
75
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
87
76
  interface SymbolConstructor {
@@ -211,9 +200,7 @@ declare const dateBetween: RegleRuleWithParamsDefinition<string | Date, [
211
200
 
212
201
  declare const ipAddress: RegleRuleDefinition<string, [], false, boolean, string>;
213
202
 
214
- declare const macAddress: RegleRuleWithParamsDefinition<string, [
215
- separator?: string | undefined
216
- ], false, boolean>;
203
+ declare const macAddress: RegleRuleWithParamsDefinition<string, [separator?: string | undefined], false, boolean>;
217
204
 
218
205
  declare const checked: RegleRuleDefinition<boolean, [], false, boolean, boolean>;
219
206
 
@@ -223,8 +210,6 @@ declare const startsWith: RegleRuleWithParamsDefinition<string, [part: Maybe<str
223
210
 
224
211
  declare const endsWith: RegleRuleWithParamsDefinition<string, [part: Maybe<string>], false, boolean>;
225
212
 
226
- declare const regex: RegleRuleWithParamsDefinition<string | number, [
227
- ...regexp: RegExp[]
228
- ], false, boolean>;
213
+ declare const regex: RegleRuleWithParamsDefinition<string | number, [...regexp: RegExp[]], false, boolean>;
229
214
 
230
- export { alpha, alphaNum, and, applyIf, between, checked, contains, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, integer, ipAddress, macAddress, maxLength, maxValue, minLength, minValue, not, numeric, or, regex, required, requiredIf, requiredUnless, ruleHelpers, sameAs, startsWith, url, withAsync, withMessage, withParams, withTooltip };
215
+ export { alpha, alphaNum, and, applyIf, between, checked, contains, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, getSize, integer, ipAddress, isDate, isEmpty, isFilled, isNumber, macAddress, matchRegex, maxLength, maxValue, minLength, minValue, not, numeric, or, regex, required, requiredIf, requiredUnless, sameAs, startsWith, toDate, toNumber, url, withAsync, withMessage, withParams, withTooltip };
@@ -19,9 +19,9 @@ declare function isFilled<T extends unknown>(value: T): value is NonNullable<T>;
19
19
 
20
20
  declare function isNumber(value: unknown): value is number;
21
21
 
22
- declare function regex$1(_value: string | number | null | undefined, ...expr: RegExp[]): boolean;
22
+ declare function matchRegex(_value: string | number | null | undefined, ...expr: RegExp[]): boolean;
23
23
 
24
- declare function size(value: MaybeRef<string | any[] | Record<string, any> | number>): number;
24
+ declare function getSize(value: MaybeRef<string | any[] | Record<string, any> | number>): number;
25
25
 
26
26
  declare function isDate(value: unknown): value is Date;
27
27
 
@@ -71,17 +71,6 @@ type EmptyObject$1 = {[emptyObjectSymbol$1]?: never};
71
71
 
72
72
  declare function isEmpty(value: unknown): value is null | undefined | [] | EmptyObject$1;
73
73
 
74
- declare const ruleHelpers: {
75
- isEmpty: typeof isEmpty;
76
- isFilled: typeof isFilled;
77
- size: typeof size;
78
- regex: typeof regex$1;
79
- isNumber: typeof isNumber;
80
- isDate: typeof isDate;
81
- toDate: typeof toDate;
82
- toNumber: typeof toNumber;
83
- };
84
-
85
74
  declare global {
86
75
  // eslint-disable-next-line @typescript-eslint/consistent-type-definitions -- It has to be an `interface` so that it can be merged.
87
76
  interface SymbolConstructor {
@@ -211,9 +200,7 @@ declare const dateBetween: RegleRuleWithParamsDefinition<string | Date, [
211
200
 
212
201
  declare const ipAddress: RegleRuleDefinition<string, [], false, boolean, string>;
213
202
 
214
- declare const macAddress: RegleRuleWithParamsDefinition<string, [
215
- separator?: string | undefined
216
- ], false, boolean>;
203
+ declare const macAddress: RegleRuleWithParamsDefinition<string, [separator?: string | undefined], false, boolean>;
217
204
 
218
205
  declare const checked: RegleRuleDefinition<boolean, [], false, boolean, boolean>;
219
206
 
@@ -223,8 +210,6 @@ declare const startsWith: RegleRuleWithParamsDefinition<string, [part: Maybe<str
223
210
 
224
211
  declare const endsWith: RegleRuleWithParamsDefinition<string, [part: Maybe<string>], false, boolean>;
225
212
 
226
- declare const regex: RegleRuleWithParamsDefinition<string | number, [
227
- ...regexp: RegExp[]
228
- ], false, boolean>;
213
+ declare const regex: RegleRuleWithParamsDefinition<string | number, [...regexp: RegExp[]], false, boolean>;
229
214
 
230
- export { alpha, alphaNum, and, applyIf, between, checked, contains, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, integer, ipAddress, macAddress, maxLength, maxValue, minLength, minValue, not, numeric, or, regex, required, requiredIf, requiredUnless, ruleHelpers, sameAs, startsWith, url, withAsync, withMessage, withParams, withTooltip };
215
+ export { alpha, alphaNum, and, applyIf, between, checked, contains, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, getSize, integer, ipAddress, isDate, isEmpty, isFilled, isNumber, macAddress, matchRegex, maxLength, maxValue, minLength, minValue, not, numeric, or, regex, required, requiredIf, requiredUnless, sameAs, startsWith, toDate, toNumber, url, withAsync, withMessage, withParams, withTooltip };
@@ -1 +1 @@
1
- 'use strict';var core=require('@regle/core'),vue=require('vue');function V(e,t){let i,o,s,u;typeof e=="function"&&!("_validator"in e)?(i=core.InternalRuleType.Inline,o=e):{_type:i,validator:o,_active:s,_params:u}=e;let m=core.createRule({type:i,validator:o,active:s,message:t}),a=[...u??[]];if(m._params=a,m._message_patched=!0,typeof m=="function"){let l=m(...a);return l._message_patched=!0,l}else return m}function A(e,t){let i,o,s,u,m;typeof e=="function"&&!("_validator"in e)?(i=core.InternalRuleType.Inline,o=e):{_type:i,validator:o,_active:s,_params:u,_message:m}=e;let a=core.createRule({type:i,validator:o,active:s,message:m,tooltip:t}),l=[...u??[]];if(a._params=l,a._tooltip_patched=!0,typeof a=="function"){let n=a(...l);return a._tooltip_patched=!0,n}else return a}function _(e,t){let i=async(s,...u)=>e(s,...u),o=core.createRule({type:core.InternalRuleType.Async,validator:i,message:""});return o._params=o._params?.concat(t),o(...t??[])}function E(e,t){let i=(s,...u)=>e(s,...u),o=core.createRule({type:core.InternalRuleType.Inline,validator:i,message:""});return o._params=o._params?.concat(t),o(...t)}function C(e,t){let i,o,s=[],u="";typeof t=="function"?(i=core.InternalRuleType.Inline,o=t,s=[e]):({_type:i,validator:o,_message:u}=t,s=t._params?.concat([e]));function m(f,...p){let[R]=core.unwrapRuleParameters([e]);return R?o(f,...p):!0}function a(f){let[p]=core.unwrapRuleParameters([e]);return p}let l=core.createRule({type:i,validator:m,active:a,message:u}),n=[...s??[]];if(l._params=n,typeof l=="function"){let f=l(...n);return f._message_patched=!0,f}else return l}function d(e){return e==null?!0:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function x(e){return !d(typeof e=="string"?e.trim():e)}function b(e){return e==null||typeof e!="number"?!1:!isNaN(e)}function D(e,...t){if(d(e))return !0;let i=typeof e=="number"?e.toString():e;return t.every(o=>(o.lastIndex=0,o.test(i)))}function M(e){let t=vue.unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function h(e){if(d(e))return !1;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="number"&&!isNaN(e))t=new Date(e);else if(typeof e=="string"){let i=new Date(e);if(i.toString()==="Invalid Date")return !1;t=i;}return !!t}catch{return !1}}function P(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function y(e){return typeof e=="number"?e:e!=null?typeof e=="string"?e.trim()!==e?NaN:+e:NaN:NaN}var r={isEmpty:d,isFilled:x,size:M,regex:D,isNumber:b,isDate:h,toDate:P,toNumber:y};function j(...e){let t=e.some(a=>typeof a=="function"?a.constructor.name==="AsyncFunction":a._async),i=e.map(a=>{if(typeof a=="function")return null;{let l=a._params;return l?.length?l:[null]}}).flat().filter(a=>!!a);function o(a,l,...n){let f=[],p=0;for(let R of a)if(typeof R=="function")f.push(R(l)),p++;else {let g=R._params?.length??0;f.push(R.validator(l,...n.slice(p,g))),g&&(p+=g);}return f}function s(a){return a?.some(n=>typeof n!="boolean")?{$valid:a.every(n=>typeof n=="boolean"?!!n:n.$valid),...a.reduce((n,f)=>{if(typeof f=="boolean")return n;let{$valid:p,...R}=f;return {...n,...R}},{})}:a.every(n=>!!n)}let u;e.length?u=t?async(a,...l)=>{let n=await Promise.all(o(e,a,...l));return s(n)}:(a,...l)=>{let n=o(e,a,...l);return s(n)}:u=a=>!1;let m=core.createRule({type:"and",validator:u,message:"The value does not match all of the provided validators"});return m._params=i,m}function S(...e){let t=e.some(a=>typeof a=="function"?a.constructor.name==="AsyncFunction":a._async),i=e.map(a=>typeof a=="function"?null:a._params).flat().filter(a=>!!a);function o(a,l,...n){let f=[],p=0;for(let R of a)if(typeof R=="function")f.push(R(l)),p++;else {let g=R._params?.length??0;f.push(R.validator(l,...n.slice(p,g))),g&&(p+=g);}return f}function s(a){return a.some(n=>typeof n!="boolean")?{$valid:a.some(n=>typeof n=="boolean"?!!n:n.$valid),...a.reduce((n,f)=>{if(typeof f=="boolean")return n;let{$valid:p,...R}=f;return {...n,...R}},{})}:a.some(n=>!!n)}let m=core.createRule({type:"or",validator:t?async(a,...l)=>{let n=await Promise.all(o(e,a,...l));return s(n)}:(a,...l)=>{let n=o(e,a,...l);return s(n)},message:"The value does not match any of the provided validators"});return m._params=i,m}function K(e,t){let i,o,s,u,m;typeof e=="function"?(o=e,m=e.constructor.name==="AsyncFunction"):({_type:i,validator:o,_params:u}=e,m=e._async),m?s=async(l,...n)=>r.isFilled(l)?!await o(l,...n):!0:s=(l,...n)=>r.isFilled(l)?!o(l,...n):!0;let a=core.createRule({type:"not",validator:s,message:t??"Error"});return a._params=u,a}var Ft=core.createRule({type:"required",validator:e=>r.isFilled(e),message:"This field is required"});var Ht=core.createRule({type:"maxLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)<=t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var Ct=core.createRule({type:"required",validator(e,t){return t?r.isFilled(e):!0},message:"This field is required",active({$params:[e]}){return e}});var Q=/^[a-zA-Z]*$/,qt=core.createRule({type:"alpha",validator(e){return r.isEmpty(e)?!0:r.regex(e,Q)},message:"The value is not alphabetical"});var Y=/^[a-zA-Z0-9]*$/,Ot=core.createRule({type:"alpha",validator(e){return r.isEmpty(e)?!0:r.regex(e,Y)},message:"The value must be alpha-numeric"});var Qt=core.createRule({type:"between",validator:(e,t,i)=>{if(r.isFilled(e)&&r.isFilled(t)&&r.isFilled(i)){let o=r.toNumber(e),s=r.toNumber(t),u=r.toNumber(i);return r.isNumber(o)&&r.isNumber(s)&&r.isNumber(u)?o>=s&&o<=u:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${i}`),!1)}return !0},message:({$params:[e,t]})=>`The value must be between ${e} and ${t}`});var re=/^[-]?\d*(\.\d+)?$/,tr=core.createRule({type:"decimal",validator(e){return r.isEmpty(e)?!0:r.regex(e,re)},message:"Value must be decimal"});var ne=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,ir=core.createRule({type:"email",validator(e){return r.isEmpty(e)?!0:r.regex(e,ne)},message:"Value must be an valid email address"});var oe=/(^[0-9]*$)|(^-[0-9]+$)/,ur=core.createRule({type:"integer",validator(e){return r.isEmpty(e)?!0:r.regex(e,oe)},message:"Value must be an integer"});var dr=core.createRule({type:"maxValue",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)&&!isNaN(y(e))?y(e)<=t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!0):!0,message:({$params:[e]})=>`The maximum value allowed is ${e}`});var Tr=core.createRule({type:"minLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)>=t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var hr=core.createRule({type:"minValue",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)&&!isNaN(y(e))?y(e)>=t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!0):!0,message:({$params:[e]})=>`The minimum value allowed is ${e}`});var Vr=core.createRule({type:"exactLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:({$params:[e]})=>`This field should be exactly ${e} characters long`});var Re=/^\d*(\.\d+)?$/,Fr=core.createRule({type:"numeric",validator(e){return r.isEmpty(e)?!0:r.regex(e,Re)},message:"This field must be numeric"});var Hr=core.createRule({type:"required",validator(e,t){return t?!0:r.isFilled(e)},message:"This field is required",active({$params:[e]}){return !e}});var Cr=core.createRule({type:"sameAs",validator(e,t,i="other"){return r.isEmpty(e)?!0:e===t},message({$params:[e,t]}){return `Value must be equal to the ${t} value`}});var ge=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,qr=core.createRule({type:"url",validator(e){return r.isEmpty(e)?!0:r.regex(e,ge)},message:"The value is not a valid URL address"});function ce(){return navigator.languages!=null?navigator.languages[0]:navigator.language}function c(e){return e?new Intl.DateTimeFormat(ce(),{dateStyle:"short"}).format(new Date(e)):"?"}var Zr=core.createRule({type:"dateAfter",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isDate(e)&&r.isDate(t)?r.toDate(e).getTime()>r.toDate(t).getTime()?!0:{$valid:!1,error:"date-not-after"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be after ${c(e)}`});var ea=core.createRule({type:"dateBefore",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isDate(e)&&r.isDate(t)?r.toDate(e).getTime()<r.toDate(t).getTime()?!0:{$valid:!1,error:"date-not-before"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The fields must be Dates":`The date must be before ${c(e)}`});var ia=core.createRule({type:"dateBetween",validator:(e,t,i)=>r.isDate(e)&&r.isDate(t)&&r.isDate(i)?r.toDate(e).getTime()>r.toDate(t).getTime()&&r.toDate(e).getTime()<r.toDate(i).getTime():!0,message:({$params:[e,t]})=>`The date must be between ${c(e)} and ${c(t)}`});function Me(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return !1;let t=+e|0;return t>=0&&t<=255}var ua=core.createRule({type:"ipAddress",validator(e){if(r.isEmpty(e))return !0;if(typeof e!="string")return !1;let t=e.split(".");return t.length===4&&t.every(Me)},message:"The value is not a valid IP address"});var pa=core.createRule({type:"macAddress",validator(e,t=":"){if(r.isEmpty(e))return !0;if(typeof e!="string")return !1;let i=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return i!==null&&(i.length===6||i.length===8)&&i.every(Pe)},message:"The value is not a valid MAC Address"}),Pe=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var ca=core.createRule({type:"checked",validator:e=>r.isFilled(e)?e===!0:!0,message:"This field must be checked"});var Da=core.createRule({type:"contains",validator(e,t){return r.isFilled(e)&&r.isFilled(t)?e.includes(t):!0},message({$params:[e]}){return `Field must contain ${e}`}});var wa=core.createRule({type:"startsWith",validator(e,t){return r.isFilled(e)&&r.isFilled(t)?e.startsWith(t):!0},message({$params:[e]}){return `Field must end with ${e}`}});var va=core.createRule({type:"endsWith",validator(e,t){return r.isFilled(e)&&r.isFilled(t)?e.endsWith(t):!0},message({$params:[e]}){return `Field must end with ${e}`}});var _a=core.createRule({type:"regex",validator(e,...t){return r.isFilled(e)?r.regex(e,...t):!0},message:"This field does not match the required pattern"});exports.alpha=qt;exports.alphaNum=Ot;exports.and=j;exports.applyIf=C;exports.between=Qt;exports.checked=ca;exports.contains=Da;exports.dateAfter=Zr;exports.dateBefore=ea;exports.dateBetween=ia;exports.decimal=tr;exports.email=ir;exports.endsWith=va;exports.exactLength=Vr;exports.integer=ur;exports.ipAddress=ua;exports.macAddress=pa;exports.maxLength=Ht;exports.maxValue=dr;exports.minLength=Tr;exports.minValue=hr;exports.not=K;exports.numeric=Fr;exports.or=S;exports.regex=_a;exports.required=Ft;exports.requiredIf=Ct;exports.requiredUnless=Hr;exports.ruleHelpers=r;exports.sameAs=Cr;exports.startsWith=wa;exports.url=qr;exports.withAsync=_;exports.withMessage=V;exports.withParams=E;exports.withTooltip=A;
1
+ 'use strict';var core=require('@regle/core'),vue=require('vue');function $(e,t){let i,o,u,m;typeof e=="function"&&!("_validator"in e)?(i=core.InternalRuleType.Inline,o=e):{_type:i,validator:o,_active:u,_params:m}=e;let f=core.createRule({type:i,validator:o,active:u,message:t}),r=[...m??[]];if(f._params=r,f._message_patched=!0,typeof f=="function"){let s=f(...r);return s._message_patched=!0,s}else return f}function v(e,t){let i,o,u,m,f;typeof e=="function"&&!("_validator"in e)?(i=core.InternalRuleType.Inline,o=e):{_type:i,validator:o,_active:u,_params:m,_message:f}=e;let r=core.createRule({type:i,validator:o,active:u,message:f,tooltip:t}),s=[...m??[]];if(r._params=s,r._tooltip_patched=!0,typeof r=="function"){let n=r(...s);return r._tooltip_patched=!0,n}else return r}function N(e,t){let i=async(u,...m)=>e(u,...m),o=core.createRule({type:core.InternalRuleType.Async,validator:i,message:""});return o._params=o._params?.concat(t),o(...t??[])}function E(e,t){let i=(u,...m)=>e(u,...m),o=core.createRule({type:core.InternalRuleType.Inline,validator:i,message:""});return o._params=o._params?.concat(t),o(...t)}function C(e,t){let i,o,u=[],m="";typeof t=="function"?(i=core.InternalRuleType.Inline,o=t,u=[e]):({_type:i,validator:o,_message:m}=t,u=t._params?.concat([e]));function f(R,...d){let[y]=core.unwrapRuleParameters([e]);return y?o(R,...d):!0}function r(R){let[d]=core.unwrapRuleParameters([e]);return d}let s=core.createRule({type:i,validator:f,active:r,message:m}),n=[...u??[]];if(s._params=n,typeof s=="function"){let R=s(...n);return R._message_patched=!0,R}else return s}function l(e){return e==null?!0:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function a(e){return !l(typeof e=="string"?e.trim():e)}function g(e){return e==null||typeof e!="number"?!1:!isNaN(e)}function p(e,...t){if(l(e))return !0;let i=typeof e=="number"?e.toString():e;return t.every(o=>(o.lastIndex=0,o.test(i)))}function b(e){let t=vue.unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function T(e){if(l(e))return !1;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="number"&&!isNaN(e))t=new Date(e);else if(typeof e=="string"){let i=new Date(e);if(i.toString()==="Invalid Date")return !1;t=i;}return !!t}catch{return !1}}function c(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function x(e){return typeof e=="number"?e:e!=null?typeof e=="string"?e.trim()!==e?NaN:+e:NaN:NaN}function U(...e){let t=e.some(r=>typeof r=="function"?r.constructor.name==="AsyncFunction":r._async),i=e.map(r=>{if(typeof r=="function")return null;{let s=r._params;return s?.length?s:[null]}}).flat().filter(r=>!!r);function o(r,s,...n){let R=[],d=0;for(let y of r)if(typeof y=="function")R.push(y(s)),d++;else {let D=y._params?.length??0;R.push(y.validator(s,...n.slice(d,D))),D&&(d+=D);}return R}function u(r){return r?.some(n=>typeof n!="boolean")?{$valid:r.every(n=>typeof n=="boolean"?!!n:n.$valid),...r.reduce((n,R)=>{if(typeof R=="boolean")return n;let{$valid:d,...y}=R;return {...n,...y}},{})}:r.every(n=>!!n)}let m;e.length?m=t?async(r,...s)=>{let n=await Promise.all(o(e,r,...s));return u(n)}:(r,...s)=>{let n=o(e,r,...s);return u(n)}:m=r=>!1;let f=core.createRule({type:"and",validator:m,message:"The value does not match all of the provided validators"});return f._params=i,f}function q(...e){let t=e.some(r=>typeof r=="function"?r.constructor.name==="AsyncFunction":r._async),i=e.map(r=>typeof r=="function"?null:r._params).flat().filter(r=>!!r);function o(r,s,...n){let R=[],d=0;for(let y of r)if(typeof y=="function")R.push(y(s)),d++;else {let D=y._params?.length??0;R.push(y.validator(s,...n.slice(d,D))),D&&(d+=D);}return R}function u(r){return r.some(n=>typeof n!="boolean")?{$valid:r.some(n=>typeof n=="boolean"?!!n:n.$valid),...r.reduce((n,R)=>{if(typeof R=="boolean")return n;let{$valid:d,...y}=R;return {...n,...y}},{})}:r.some(n=>!!n)}let f=core.createRule({type:"or",validator:t?async(r,...s)=>{let n=await Promise.all(o(e,r,...s));return u(n)}:(r,...s)=>{let n=o(e,r,...s);return u(n)},message:"The value does not match any of the provided validators"});return f._params=i,f}function K(e,t){let i,o,u,m,f;typeof e=="function"?(o=e,f=e.constructor.name==="AsyncFunction"):({_type:i,validator:o,_params:m}=e,f=e._async),f?u=async(s,...n)=>a(s)?!await o(s,...n):!0:u=(s,...n)=>a(s)?!o(s,...n):!0;let r=core.createRule({type:"not",validator:u,message:t??"Error"});return r._params=m,r}var _t=core.createRule({type:"required",validator:e=>a(e),message:"This field is required"});var zt=core.createRule({type:"maxLength",validator:(e,t)=>a(e)&&a(t)?g(t)?b(e)<=t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var Ut=core.createRule({type:"required",validator(e,t){return t?a(e):!0},message:"This field is required",active({$params:[e]}){return e}});var J=/^[a-zA-Z]*$/,Kt=core.createRule({type:"alpha",validator(e){return l(e)?!0:p(e,J)},message:"The value is not alphabetical"});var X=/^[a-zA-Z0-9]*$/,Ht=core.createRule({type:"alpha",validator(e){return l(e)?!0:p(e,X)},message:"The value must be alpha-numeric"});var Yt=core.createRule({type:"between",validator:(e,t,i)=>{if(a(e)&&a(t)&&a(i)){let o=x(e),u=x(t),m=x(i);return g(o)&&g(u)&&g(m)?o>=u&&o<=m:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${i}`),!1)}return !0},message:({$params:[e,t]})=>`The value must be between ${e} and ${t}`});var te=/^[-]?\d*(\.\d+)?$/,ar=core.createRule({type:"decimal",validator(e){return l(e)?!0:p(e,te)},message:"Value must be decimal"});var ae=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,sr=core.createRule({type:"email",validator(e){return l(e)?!0:p(e,ae)},message:"Value must be an valid email address"});var ie=/(^[0-9]*$)|(^-[0-9]+$)/,fr=core.createRule({type:"integer",validator(e){return l(e)?!0:p(e,ie)},message:"Value must be an integer"});var yr=core.createRule({type:"maxValue",validator:(e,t)=>a(e)&&a(t)?g(t)&&!isNaN(x(e))?x(e)<=t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!0):!0,message:({$params:[e]})=>`The maximum value allowed is ${e}`});var xr=core.createRule({type:"minLength",validator:(e,t)=>a(e)&&a(t)?g(t)?b(e)>=t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var hr=core.createRule({type:"minValue",validator:(e,t)=>a(e)&&a(t)?g(t)&&!isNaN(x(e))?x(e)>=t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!0):!0,message:({$params:[e]})=>`The minimum value allowed is ${e}`});var Vr=core.createRule({type:"exactLength",validator:(e,t)=>a(e)&&a(t)?g(t)?b(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:({$params:[e]})=>`This field should be exactly ${e} characters long`});var fe=/^\d*(\.\d+)?$/,Fr=core.createRule({type:"numeric",validator(e){return l(e)?!0:p(e,fe)},message:"This field must be numeric"});var Er=core.createRule({type:"required",validator(e,t){return t?!0:a(e)},message:"This field is required",active({$params:[e]}){return !e}});var Sr=core.createRule({type:"sameAs",validator(e,t,i="other"){return l(e)?!0:e===t},message({$params:[e,t]}){return `Value must be equal to the ${t} value`}});var ye=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,qr=core.createRule({type:"url",validator(e){return l(e)?!0:p(e,ye)},message:"The value is not a valid URL address"});function de(){return navigator.languages!=null?navigator.languages[0]:navigator.language}function M(e){return e?new Intl.DateTimeFormat(de(),{dateStyle:"short"}).format(new Date(e)):"?"}var Hr=core.createRule({type:"dateAfter",validator:(e,t)=>a(e)&&a(t)?T(e)&&T(t)?c(e).getTime()>c(t).getTime()?!0:{$valid:!1,error:"date-not-after"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be after ${M(e)}`});var ea=core.createRule({type:"dateBefore",validator:(e,t)=>a(e)&&a(t)?T(e)&&T(t)?c(e).getTime()<c(t).getTime()?!0:{$valid:!1,error:"date-not-before"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The fields must be Dates":`The date must be before ${M(e)}`});var ia=core.createRule({type:"dateBetween",validator:(e,t,i)=>T(e)&&T(t)&&T(i)?c(e).getTime()>c(t).getTime()&&c(e).getTime()<c(i).getTime():!0,message:({$params:[e,t]})=>`The date must be between ${M(e)} and ${M(t)}`});function De(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return !1;let t=+e|0;return t>=0&&t<=255}var ua=core.createRule({type:"ipAddress",validator(e){if(l(e))return !0;if(typeof e!="string")return !1;let t=e.split(".");return t.length===4&&t.every(De)},message:"The value is not a valid IP address"});var pa=core.createRule({type:"macAddress",validator(e,t=":"){if(l(e))return !0;if(typeof e!="string")return !1;let i=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return i!==null&&(i.length===6||i.length===8)&&i.every(he)},message:"The value is not a valid MAC Address"}),he=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var ca=core.createRule({type:"checked",validator:e=>a(e)?e===!0:!0,message:"This field must be checked"});var Da=core.createRule({type:"contains",validator(e,t){return a(e)&&a(t)?e.includes(t):!0},message({$params:[e]}){return `Field must contain ${e}`}});var wa=core.createRule({type:"startsWith",validator(e,t){return a(e)&&a(t)?e.startsWith(t):!0},message({$params:[e]}){return `Field must end with ${e}`}});var va=core.createRule({type:"endsWith",validator(e,t){return a(e)&&a(t)?e.endsWith(t):!0},message({$params:[e]}){return `Field must end with ${e}`}});var _a=core.createRule({type:"regex",validator(e,...t){return a(e)?p(e,...t):!0},message:"This field does not match the required pattern"});exports.alpha=Kt;exports.alphaNum=Ht;exports.and=U;exports.applyIf=C;exports.between=Yt;exports.checked=ca;exports.contains=Da;exports.dateAfter=Hr;exports.dateBefore=ea;exports.dateBetween=ia;exports.decimal=ar;exports.email=sr;exports.endsWith=va;exports.exactLength=Vr;exports.getSize=b;exports.integer=fr;exports.ipAddress=ua;exports.isDate=T;exports.isEmpty=l;exports.isFilled=a;exports.isNumber=g;exports.macAddress=pa;exports.matchRegex=p;exports.maxLength=zt;exports.maxValue=yr;exports.minLength=xr;exports.minValue=hr;exports.not=K;exports.numeric=Fr;exports.or=q;exports.regex=_a;exports.required=_t;exports.requiredIf=Ut;exports.requiredUnless=Er;exports.sameAs=Sr;exports.startsWith=wa;exports.toDate=c;exports.toNumber=x;exports.url=qr;exports.withAsync=N;exports.withMessage=$;exports.withParams=E;exports.withTooltip=v;
@@ -1 +1 @@
1
- import {createRule,InternalRuleType,unwrapRuleParameters}from'@regle/core';import {unref}from'vue';function V(e,t){let i,o,s,u;typeof e=="function"&&!("_validator"in e)?(i=InternalRuleType.Inline,o=e):{_type:i,validator:o,_active:s,_params:u}=e;let m=createRule({type:i,validator:o,active:s,message:t}),a=[...u??[]];if(m._params=a,m._message_patched=!0,typeof m=="function"){let l=m(...a);return l._message_patched=!0,l}else return m}function A(e,t){let i,o,s,u,m;typeof e=="function"&&!("_validator"in e)?(i=InternalRuleType.Inline,o=e):{_type:i,validator:o,_active:s,_params:u,_message:m}=e;let a=createRule({type:i,validator:o,active:s,message:m,tooltip:t}),l=[...u??[]];if(a._params=l,a._tooltip_patched=!0,typeof a=="function"){let n=a(...l);return a._tooltip_patched=!0,n}else return a}function _(e,t){let i=async(s,...u)=>e(s,...u),o=createRule({type:InternalRuleType.Async,validator:i,message:""});return o._params=o._params?.concat(t),o(...t??[])}function E(e,t){let i=(s,...u)=>e(s,...u),o=createRule({type:InternalRuleType.Inline,validator:i,message:""});return o._params=o._params?.concat(t),o(...t)}function C(e,t){let i,o,s=[],u="";typeof t=="function"?(i=InternalRuleType.Inline,o=t,s=[e]):({_type:i,validator:o,_message:u}=t,s=t._params?.concat([e]));function m(f,...p){let[R]=unwrapRuleParameters([e]);return R?o(f,...p):!0}function a(f){let[p]=unwrapRuleParameters([e]);return p}let l=createRule({type:i,validator:m,active:a,message:u}),n=[...s??[]];if(l._params=n,typeof l=="function"){let f=l(...n);return f._message_patched=!0,f}else return l}function d(e){return e==null?!0:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function x(e){return !d(typeof e=="string"?e.trim():e)}function b(e){return e==null||typeof e!="number"?!1:!isNaN(e)}function D(e,...t){if(d(e))return !0;let i=typeof e=="number"?e.toString():e;return t.every(o=>(o.lastIndex=0,o.test(i)))}function M(e){let t=unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function h(e){if(d(e))return !1;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="number"&&!isNaN(e))t=new Date(e);else if(typeof e=="string"){let i=new Date(e);if(i.toString()==="Invalid Date")return !1;t=i;}return !!t}catch{return !1}}function P(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function y(e){return typeof e=="number"?e:e!=null?typeof e=="string"?e.trim()!==e?NaN:+e:NaN:NaN}var r={isEmpty:d,isFilled:x,size:M,regex:D,isNumber:b,isDate:h,toDate:P,toNumber:y};function j(...e){let t=e.some(a=>typeof a=="function"?a.constructor.name==="AsyncFunction":a._async),i=e.map(a=>{if(typeof a=="function")return null;{let l=a._params;return l?.length?l:[null]}}).flat().filter(a=>!!a);function o(a,l,...n){let f=[],p=0;for(let R of a)if(typeof R=="function")f.push(R(l)),p++;else {let g=R._params?.length??0;f.push(R.validator(l,...n.slice(p,g))),g&&(p+=g);}return f}function s(a){return a?.some(n=>typeof n!="boolean")?{$valid:a.every(n=>typeof n=="boolean"?!!n:n.$valid),...a.reduce((n,f)=>{if(typeof f=="boolean")return n;let{$valid:p,...R}=f;return {...n,...R}},{})}:a.every(n=>!!n)}let u;e.length?u=t?async(a,...l)=>{let n=await Promise.all(o(e,a,...l));return s(n)}:(a,...l)=>{let n=o(e,a,...l);return s(n)}:u=a=>!1;let m=createRule({type:"and",validator:u,message:"The value does not match all of the provided validators"});return m._params=i,m}function S(...e){let t=e.some(a=>typeof a=="function"?a.constructor.name==="AsyncFunction":a._async),i=e.map(a=>typeof a=="function"?null:a._params).flat().filter(a=>!!a);function o(a,l,...n){let f=[],p=0;for(let R of a)if(typeof R=="function")f.push(R(l)),p++;else {let g=R._params?.length??0;f.push(R.validator(l,...n.slice(p,g))),g&&(p+=g);}return f}function s(a){return a.some(n=>typeof n!="boolean")?{$valid:a.some(n=>typeof n=="boolean"?!!n:n.$valid),...a.reduce((n,f)=>{if(typeof f=="boolean")return n;let{$valid:p,...R}=f;return {...n,...R}},{})}:a.some(n=>!!n)}let m=createRule({type:"or",validator:t?async(a,...l)=>{let n=await Promise.all(o(e,a,...l));return s(n)}:(a,...l)=>{let n=o(e,a,...l);return s(n)},message:"The value does not match any of the provided validators"});return m._params=i,m}function K(e,t){let i,o,s,u,m;typeof e=="function"?(o=e,m=e.constructor.name==="AsyncFunction"):({_type:i,validator:o,_params:u}=e,m=e._async),m?s=async(l,...n)=>r.isFilled(l)?!await o(l,...n):!0:s=(l,...n)=>r.isFilled(l)?!o(l,...n):!0;let a=createRule({type:"not",validator:s,message:t??"Error"});return a._params=u,a}var Ft=createRule({type:"required",validator:e=>r.isFilled(e),message:"This field is required"});var Ht=createRule({type:"maxLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)<=t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var Ct=createRule({type:"required",validator(e,t){return t?r.isFilled(e):!0},message:"This field is required",active({$params:[e]}){return e}});var Q=/^[a-zA-Z]*$/,qt=createRule({type:"alpha",validator(e){return r.isEmpty(e)?!0:r.regex(e,Q)},message:"The value is not alphabetical"});var Y=/^[a-zA-Z0-9]*$/,Ot=createRule({type:"alpha",validator(e){return r.isEmpty(e)?!0:r.regex(e,Y)},message:"The value must be alpha-numeric"});var Qt=createRule({type:"between",validator:(e,t,i)=>{if(r.isFilled(e)&&r.isFilled(t)&&r.isFilled(i)){let o=r.toNumber(e),s=r.toNumber(t),u=r.toNumber(i);return r.isNumber(o)&&r.isNumber(s)&&r.isNumber(u)?o>=s&&o<=u:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${i}`),!1)}return !0},message:({$params:[e,t]})=>`The value must be between ${e} and ${t}`});var re=/^[-]?\d*(\.\d+)?$/,tr=createRule({type:"decimal",validator(e){return r.isEmpty(e)?!0:r.regex(e,re)},message:"Value must be decimal"});var ne=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,ir=createRule({type:"email",validator(e){return r.isEmpty(e)?!0:r.regex(e,ne)},message:"Value must be an valid email address"});var oe=/(^[0-9]*$)|(^-[0-9]+$)/,ur=createRule({type:"integer",validator(e){return r.isEmpty(e)?!0:r.regex(e,oe)},message:"Value must be an integer"});var dr=createRule({type:"maxValue",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)&&!isNaN(y(e))?y(e)<=t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!0):!0,message:({$params:[e]})=>`The maximum value allowed is ${e}`});var Tr=createRule({type:"minLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)>=t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var hr=createRule({type:"minValue",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)&&!isNaN(y(e))?y(e)>=t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!0):!0,message:({$params:[e]})=>`The minimum value allowed is ${e}`});var Vr=createRule({type:"exactLength",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isNumber(t)?r.size(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:({$params:[e]})=>`This field should be exactly ${e} characters long`});var Re=/^\d*(\.\d+)?$/,Fr=createRule({type:"numeric",validator(e){return r.isEmpty(e)?!0:r.regex(e,Re)},message:"This field must be numeric"});var Hr=createRule({type:"required",validator(e,t){return t?!0:r.isFilled(e)},message:"This field is required",active({$params:[e]}){return !e}});var Cr=createRule({type:"sameAs",validator(e,t,i="other"){return r.isEmpty(e)?!0:e===t},message({$params:[e,t]}){return `Value must be equal to the ${t} value`}});var ge=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,qr=createRule({type:"url",validator(e){return r.isEmpty(e)?!0:r.regex(e,ge)},message:"The value is not a valid URL address"});function ce(){return navigator.languages!=null?navigator.languages[0]:navigator.language}function c(e){return e?new Intl.DateTimeFormat(ce(),{dateStyle:"short"}).format(new Date(e)):"?"}var Zr=createRule({type:"dateAfter",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isDate(e)&&r.isDate(t)?r.toDate(e).getTime()>r.toDate(t).getTime()?!0:{$valid:!1,error:"date-not-after"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be after ${c(e)}`});var ea=createRule({type:"dateBefore",validator:(e,t)=>r.isFilled(e)&&r.isFilled(t)?r.isDate(e)&&r.isDate(t)?r.toDate(e).getTime()<r.toDate(t).getTime()?!0:{$valid:!1,error:"date-not-before"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The fields must be Dates":`The date must be before ${c(e)}`});var ia=createRule({type:"dateBetween",validator:(e,t,i)=>r.isDate(e)&&r.isDate(t)&&r.isDate(i)?r.toDate(e).getTime()>r.toDate(t).getTime()&&r.toDate(e).getTime()<r.toDate(i).getTime():!0,message:({$params:[e,t]})=>`The date must be between ${c(e)} and ${c(t)}`});function Me(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return !1;let t=+e|0;return t>=0&&t<=255}var ua=createRule({type:"ipAddress",validator(e){if(r.isEmpty(e))return !0;if(typeof e!="string")return !1;let t=e.split(".");return t.length===4&&t.every(Me)},message:"The value is not a valid IP address"});var pa=createRule({type:"macAddress",validator(e,t=":"){if(r.isEmpty(e))return !0;if(typeof e!="string")return !1;let i=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return i!==null&&(i.length===6||i.length===8)&&i.every(Pe)},message:"The value is not a valid MAC Address"}),Pe=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var ca=createRule({type:"checked",validator:e=>r.isFilled(e)?e===!0:!0,message:"This field must be checked"});var Da=createRule({type:"contains",validator(e,t){return r.isFilled(e)&&r.isFilled(t)?e.includes(t):!0},message({$params:[e]}){return `Field must contain ${e}`}});var wa=createRule({type:"startsWith",validator(e,t){return r.isFilled(e)&&r.isFilled(t)?e.startsWith(t):!0},message({$params:[e]}){return `Field must end with ${e}`}});var va=createRule({type:"endsWith",validator(e,t){return r.isFilled(e)&&r.isFilled(t)?e.endsWith(t):!0},message({$params:[e]}){return `Field must end with ${e}`}});var _a=createRule({type:"regex",validator(e,...t){return r.isFilled(e)?r.regex(e,...t):!0},message:"This field does not match the required pattern"});export{qt as alpha,Ot as alphaNum,j as and,C as applyIf,Qt as between,ca as checked,Da as contains,Zr as dateAfter,ea as dateBefore,ia as dateBetween,tr as decimal,ir as email,va as endsWith,Vr as exactLength,ur as integer,ua as ipAddress,pa as macAddress,Ht as maxLength,dr as maxValue,Tr as minLength,hr as minValue,K as not,Fr as numeric,S as or,_a as regex,Ft as required,Ct as requiredIf,Hr as requiredUnless,r as ruleHelpers,Cr as sameAs,wa as startsWith,qr as url,_ as withAsync,V as withMessage,E as withParams,A as withTooltip};
1
+ import {createRule,InternalRuleType,unwrapRuleParameters}from'@regle/core';import {unref}from'vue';function $(e,t){let i,o,u,m;typeof e=="function"&&!("_validator"in e)?(i=InternalRuleType.Inline,o=e):{_type:i,validator:o,_active:u,_params:m}=e;let f=createRule({type:i,validator:o,active:u,message:t}),r=[...m??[]];if(f._params=r,f._message_patched=!0,typeof f=="function"){let s=f(...r);return s._message_patched=!0,s}else return f}function v(e,t){let i,o,u,m,f;typeof e=="function"&&!("_validator"in e)?(i=InternalRuleType.Inline,o=e):{_type:i,validator:o,_active:u,_params:m,_message:f}=e;let r=createRule({type:i,validator:o,active:u,message:f,tooltip:t}),s=[...m??[]];if(r._params=s,r._tooltip_patched=!0,typeof r=="function"){let n=r(...s);return r._tooltip_patched=!0,n}else return r}function N(e,t){let i=async(u,...m)=>e(u,...m),o=createRule({type:InternalRuleType.Async,validator:i,message:""});return o._params=o._params?.concat(t),o(...t??[])}function E(e,t){let i=(u,...m)=>e(u,...m),o=createRule({type:InternalRuleType.Inline,validator:i,message:""});return o._params=o._params?.concat(t),o(...t)}function C(e,t){let i,o,u=[],m="";typeof t=="function"?(i=InternalRuleType.Inline,o=t,u=[e]):({_type:i,validator:o,_message:m}=t,u=t._params?.concat([e]));function f(R,...d){let[y]=unwrapRuleParameters([e]);return y?o(R,...d):!0}function r(R){let[d]=unwrapRuleParameters([e]);return d}let s=createRule({type:i,validator:f,active:r,message:m}),n=[...u??[]];if(s._params=n,typeof s=="function"){let R=s(...n);return R._message_patched=!0,R}else return s}function l(e){return e==null?!0:e instanceof Date?isNaN(e.getTime()):Array.isArray(e)?!1:typeof e=="object"&&e!=null?Object.keys(e).length===0:!String(e).length}function a(e){return !l(typeof e=="string"?e.trim():e)}function g(e){return e==null||typeof e!="number"?!1:!isNaN(e)}function p(e,...t){if(l(e))return !0;let i=typeof e=="number"?e.toString():e;return t.every(o=>(o.lastIndex=0,o.test(i)))}function b(e){let t=unref(e);return Array.isArray(t)?t.length:typeof t=="object"?Object.keys(t).length:typeof t=="number"?isNaN(t)?0:t:String(t).length}function T(e){if(l(e))return !1;try{let t=null;if(e instanceof Date)t=e;else if(typeof e=="number"&&!isNaN(e))t=new Date(e);else if(typeof e=="string"){let i=new Date(e);if(i.toString()==="Invalid Date")return !1;t=i;}return !!t}catch{return !1}}function c(e){let t=Object.prototype.toString.call(e);return e==null?new Date(NaN):e instanceof Date||typeof e=="object"&&t==="[object Date]"?new Date(e.getTime()):typeof e=="number"||t==="[object Number]"?new Date(e):typeof e=="string"||t==="[object String]"?new Date(e):new Date(NaN)}function x(e){return typeof e=="number"?e:e!=null?typeof e=="string"?e.trim()!==e?NaN:+e:NaN:NaN}function U(...e){let t=e.some(r=>typeof r=="function"?r.constructor.name==="AsyncFunction":r._async),i=e.map(r=>{if(typeof r=="function")return null;{let s=r._params;return s?.length?s:[null]}}).flat().filter(r=>!!r);function o(r,s,...n){let R=[],d=0;for(let y of r)if(typeof y=="function")R.push(y(s)),d++;else {let D=y._params?.length??0;R.push(y.validator(s,...n.slice(d,D))),D&&(d+=D);}return R}function u(r){return r?.some(n=>typeof n!="boolean")?{$valid:r.every(n=>typeof n=="boolean"?!!n:n.$valid),...r.reduce((n,R)=>{if(typeof R=="boolean")return n;let{$valid:d,...y}=R;return {...n,...y}},{})}:r.every(n=>!!n)}let m;e.length?m=t?async(r,...s)=>{let n=await Promise.all(o(e,r,...s));return u(n)}:(r,...s)=>{let n=o(e,r,...s);return u(n)}:m=r=>!1;let f=createRule({type:"and",validator:m,message:"The value does not match all of the provided validators"});return f._params=i,f}function q(...e){let t=e.some(r=>typeof r=="function"?r.constructor.name==="AsyncFunction":r._async),i=e.map(r=>typeof r=="function"?null:r._params).flat().filter(r=>!!r);function o(r,s,...n){let R=[],d=0;for(let y of r)if(typeof y=="function")R.push(y(s)),d++;else {let D=y._params?.length??0;R.push(y.validator(s,...n.slice(d,D))),D&&(d+=D);}return R}function u(r){return r.some(n=>typeof n!="boolean")?{$valid:r.some(n=>typeof n=="boolean"?!!n:n.$valid),...r.reduce((n,R)=>{if(typeof R=="boolean")return n;let{$valid:d,...y}=R;return {...n,...y}},{})}:r.some(n=>!!n)}let f=createRule({type:"or",validator:t?async(r,...s)=>{let n=await Promise.all(o(e,r,...s));return u(n)}:(r,...s)=>{let n=o(e,r,...s);return u(n)},message:"The value does not match any of the provided validators"});return f._params=i,f}function K(e,t){let i,o,u,m,f;typeof e=="function"?(o=e,f=e.constructor.name==="AsyncFunction"):({_type:i,validator:o,_params:m}=e,f=e._async),f?u=async(s,...n)=>a(s)?!await o(s,...n):!0:u=(s,...n)=>a(s)?!o(s,...n):!0;let r=createRule({type:"not",validator:u,message:t??"Error"});return r._params=m,r}var _t=createRule({type:"required",validator:e=>a(e),message:"This field is required"});var zt=createRule({type:"maxLength",validator:(e,t)=>a(e)&&a(t)?g(t)?b(e)<=t:(console.warn(`[maxLength] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!1):!0,message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have maximum ${t} items`:`The maximum length allowed is ${t}`});var Ut=createRule({type:"required",validator(e,t){return t?a(e):!0},message:"This field is required",active({$params:[e]}){return e}});var J=/^[a-zA-Z]*$/,Kt=createRule({type:"alpha",validator(e){return l(e)?!0:p(e,J)},message:"The value is not alphabetical"});var X=/^[a-zA-Z0-9]*$/,Ht=createRule({type:"alpha",validator(e){return l(e)?!0:p(e,X)},message:"The value must be alpha-numeric"});var Yt=createRule({type:"between",validator:(e,t,i)=>{if(a(e)&&a(t)&&a(i)){let o=x(e),u=x(t),m=x(i);return g(o)&&g(u)&&g(m)?o>=u&&o<=m:(console.warn(`[between] Value or parameters aren't numbers, got value: ${e}, min: ${t}, max: ${i}`),!1)}return !0},message:({$params:[e,t]})=>`The value must be between ${e} and ${t}`});var te=/^[-]?\d*(\.\d+)?$/,ar=createRule({type:"decimal",validator(e){return l(e)?!0:p(e,te)},message:"Value must be decimal"});var ae=/^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9]{2,}(?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$/i,sr=createRule({type:"email",validator(e){return l(e)?!0:p(e,ae)},message:"Value must be an valid email address"});var ie=/(^[0-9]*$)|(^-[0-9]+$)/,fr=createRule({type:"integer",validator(e){return l(e)?!0:p(e,ie)},message:"Value must be an integer"});var yr=createRule({type:"maxValue",validator:(e,t)=>a(e)&&a(t)?g(t)&&!isNaN(x(e))?x(e)<=t:(console.warn(`[maxValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!0):!0,message:({$params:[e]})=>`The maximum value allowed is ${e}`});var xr=createRule({type:"minLength",validator:(e,t)=>a(e)&&a(t)?g(t)?b(e)>=t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:({$value:e,$params:[t]})=>Array.isArray(e)?`This list should have at least ${t} items`:`This field should be at least ${t} characters long`});var hr=createRule({type:"minValue",validator:(e,t)=>a(e)&&a(t)?g(t)&&!isNaN(x(e))?x(e)>=t:(console.warn(`[minValue] Value or parameter isn't a number, got value: ${e}, parameter: ${t}`),!0):!0,message:({$params:[e]})=>`The minimum value allowed is ${e}`});var Vr=createRule({type:"exactLength",validator:(e,t)=>a(e)&&a(t)?g(t)?b(e)===t:(console.warn(`[minLength] Parameter isn't a number, got parameter: ${t}`),!1):!0,message:({$params:[e]})=>`This field should be exactly ${e} characters long`});var fe=/^\d*(\.\d+)?$/,Fr=createRule({type:"numeric",validator(e){return l(e)?!0:p(e,fe)},message:"This field must be numeric"});var Er=createRule({type:"required",validator(e,t){return t?!0:a(e)},message:"This field is required",active({$params:[e]}){return !e}});var Sr=createRule({type:"sameAs",validator(e,t,i="other"){return l(e)?!0:e===t},message({$params:[e,t]}){return `Value must be equal to the ${t} value`}});var ye=/^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(?:\.\d{1,3}){3})(?!(?:169\.254|192\.168)(?:\.\d{1,3}){2})(?!172\.(?:1[6-9]|2\d|3[0-1])(?:\.\d{1,3}){2})(?:[1-9]\d?|1\d\d|2[01]\d|22[0-3])(?:\.(?:1?\d{1,2}|2[0-4]\d|25[0-5])){2}(?:\.(?:[1-9]\d?|1\d\d|2[0-4]\d|25[0-4]))|(?:(?:[a-z0-9\u00a1-\uffff][a-z0-9\u00a1-\uffff_-]{0,62})?[a-z0-9\u00a1-\uffff]\.)+(?:[a-z\u00a1-\uffff]{2,}\.?))(?::\d{2,5})?(?:[/?#]\S*)?$/i,qr=createRule({type:"url",validator(e){return l(e)?!0:p(e,ye)},message:"The value is not a valid URL address"});function de(){return navigator.languages!=null?navigator.languages[0]:navigator.language}function M(e){return e?new Intl.DateTimeFormat(de(),{dateStyle:"short"}).format(new Date(e)):"?"}var Hr=createRule({type:"dateAfter",validator:(e,t)=>a(e)&&a(t)?T(e)&&T(t)?c(e).getTime()>c(t).getTime()?!0:{$valid:!1,error:"date-not-after"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The inputs must be Dates":`The date must be after ${M(e)}`});var ea=createRule({type:"dateBefore",validator:(e,t)=>a(e)&&a(t)?T(e)&&T(t)?c(e).getTime()<c(t).getTime()?!0:{$valid:!1,error:"date-not-before"}:{$valid:!1,error:"value-or-paramater-not-a-date"}:!0,message:({$params:[e],error:t})=>t==="value-or-paramater-not-a-date"?"The fields must be Dates":`The date must be before ${M(e)}`});var ia=createRule({type:"dateBetween",validator:(e,t,i)=>T(e)&&T(t)&&T(i)?c(e).getTime()>c(t).getTime()&&c(e).getTime()<c(i).getTime():!0,message:({$params:[e,t]})=>`The date must be between ${M(e)} and ${M(t)}`});function De(e){if(e.length>3||e.length===0||e[0]==="0"&&e!=="0"||!e.match(/^\d+$/))return !1;let t=+e|0;return t>=0&&t<=255}var ua=createRule({type:"ipAddress",validator(e){if(l(e))return !0;if(typeof e!="string")return !1;let t=e.split(".");return t.length===4&&t.every(De)},message:"The value is not a valid IP address"});var pa=createRule({type:"macAddress",validator(e,t=":"){if(l(e))return !0;if(typeof e!="string")return !1;let i=typeof t=="string"&&t!==""?e.split(t):e.length===12||e.length===16?e.match(/.{2}/g):null;return i!==null&&(i.length===6||i.length===8)&&i.every(he)},message:"The value is not a valid MAC Address"}),he=e=>e.toLowerCase().match(/^[0-9a-f]{2}$/);var ca=createRule({type:"checked",validator:e=>a(e)?e===!0:!0,message:"This field must be checked"});var Da=createRule({type:"contains",validator(e,t){return a(e)&&a(t)?e.includes(t):!0},message({$params:[e]}){return `Field must contain ${e}`}});var wa=createRule({type:"startsWith",validator(e,t){return a(e)&&a(t)?e.startsWith(t):!0},message({$params:[e]}){return `Field must end with ${e}`}});var va=createRule({type:"endsWith",validator(e,t){return a(e)&&a(t)?e.endsWith(t):!0},message({$params:[e]}){return `Field must end with ${e}`}});var _a=createRule({type:"regex",validator(e,...t){return a(e)?p(e,...t):!0},message:"This field does not match the required pattern"});export{Kt as alpha,Ht as alphaNum,U as and,C as applyIf,Yt as between,ca as checked,Da as contains,Hr as dateAfter,ea as dateBefore,ia as dateBetween,ar as decimal,sr as email,va as endsWith,Vr as exactLength,b as getSize,fr as integer,ua as ipAddress,T as isDate,l as isEmpty,a as isFilled,g as isNumber,pa as macAddress,p as matchRegex,zt as maxLength,yr as maxValue,xr as minLength,hr as minValue,K as not,Fr as numeric,q as or,_a as regex,_t as required,Ut as requiredIf,Er as requiredUnless,Sr as sameAs,wa as startsWith,c as toDate,x as toNumber,qr as url,N as withAsync,$ as withMessage,E as withParams,v as withTooltip};
@@ -159,8 +159,8 @@ function isNumber(value) {
159
159
  }
160
160
  }
161
161
 
162
- // src/helpers/ruleHelpers/regex.ts
163
- function regex(_value, ...expr) {
162
+ // src/helpers/ruleHelpers/matchRegex.ts
163
+ function matchRegex(_value, ...expr) {
164
164
  if (isEmpty(_value)) {
165
165
  return true;
166
166
  }
@@ -170,7 +170,7 @@ function regex(_value, ...expr) {
170
170
  return reg.test(value);
171
171
  });
172
172
  }
173
- function size(value) {
173
+ function getSize(value) {
174
174
  const _value = unref(value);
175
175
  if (Array.isArray(_value)) return _value.length;
176
176
  if (typeof _value === "object") {
@@ -241,18 +241,6 @@ function toNumber(argument) {
241
241
  }
242
242
  return NaN;
243
243
  }
244
-
245
- // src/helpers/ruleHelpers/index.ts
246
- var ruleHelpers = {
247
- isEmpty,
248
- isFilled,
249
- size,
250
- regex,
251
- isNumber,
252
- isDate,
253
- toDate,
254
- toNumber
255
- };
256
244
  function and(...rules) {
257
245
  const isAnyRuleAsync = rules.some((rule) => {
258
246
  if (typeof rule === "function") {
@@ -418,7 +406,7 @@ function not(rule, message) {
418
406
  }
419
407
  if (_async) {
420
408
  newValidator = async (value, ...params) => {
421
- if (ruleHelpers.isFilled(value)) {
409
+ if (isFilled(value)) {
422
410
  const result = await validator(value, ...params);
423
411
  return !result;
424
412
  }
@@ -426,7 +414,7 @@ function not(rule, message) {
426
414
  };
427
415
  } else {
428
416
  newValidator = (value, ...params) => {
429
- if (ruleHelpers.isFilled(value)) {
417
+ if (isFilled(value)) {
430
418
  return !validator(value, ...params);
431
419
  }
432
420
  return true;
@@ -443,16 +431,16 @@ function not(rule, message) {
443
431
  var required = createRule({
444
432
  type: "required",
445
433
  validator: (value) => {
446
- return ruleHelpers.isFilled(value);
434
+ return isFilled(value);
447
435
  },
448
436
  message: "This field is required"
449
437
  });
450
438
  var maxLength = createRule({
451
439
  type: "maxLength",
452
440
  validator: (value, count) => {
453
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
454
- if (ruleHelpers.isNumber(count)) {
455
- return ruleHelpers.size(value) <= count;
441
+ if (isFilled(value) && isFilled(count)) {
442
+ if (isNumber(count)) {
443
+ return getSize(value) <= count;
456
444
  }
457
445
  console.warn(`[maxLength] Value or parameter isn't a number, got value: ${value}, parameter: ${count}`);
458
446
  return false;
@@ -470,7 +458,7 @@ var requiredIf = createRule({
470
458
  type: "required",
471
459
  validator(value, condition) {
472
460
  if (condition) {
473
- return ruleHelpers.isFilled(value);
461
+ return isFilled(value);
474
462
  }
475
463
  return true;
476
464
  },
@@ -483,10 +471,10 @@ var alphaRegex = /^[a-zA-Z]*$/;
483
471
  var alpha = createRule({
484
472
  type: "alpha",
485
473
  validator(value) {
486
- if (ruleHelpers.isEmpty(value)) {
474
+ if (isEmpty(value)) {
487
475
  return true;
488
476
  }
489
- return ruleHelpers.regex(value, alphaRegex);
477
+ return matchRegex(value, alphaRegex);
490
478
  },
491
479
  message: "The value is not alphabetical"
492
480
  });
@@ -494,21 +482,21 @@ var alphaNumRegex = /^[a-zA-Z0-9]*$/;
494
482
  var alphaNum = createRule({
495
483
  type: "alpha",
496
484
  validator(value) {
497
- if (ruleHelpers.isEmpty(value)) {
485
+ if (isEmpty(value)) {
498
486
  return true;
499
487
  }
500
- return ruleHelpers.regex(value, alphaNumRegex);
488
+ return matchRegex(value, alphaNumRegex);
501
489
  },
502
490
  message: "The value must be alpha-numeric"
503
491
  });
504
492
  var between = createRule({
505
493
  type: "between",
506
494
  validator: (value, min, max) => {
507
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(min) && ruleHelpers.isFilled(max)) {
508
- const tValue = ruleHelpers.toNumber(value);
509
- const tMin = ruleHelpers.toNumber(min);
510
- const tMax = ruleHelpers.toNumber(max);
511
- if (ruleHelpers.isNumber(tValue) && ruleHelpers.isNumber(tMin) && ruleHelpers.isNumber(tMax)) {
495
+ if (isFilled(value) && isFilled(min) && isFilled(max)) {
496
+ const tValue = toNumber(value);
497
+ const tMin = toNumber(min);
498
+ const tMax = toNumber(max);
499
+ if (isNumber(tValue) && isNumber(tMin) && isNumber(tMax)) {
512
500
  return tValue >= tMin && tValue <= tMax;
513
501
  }
514
502
  console.warn(`[between] Value or parameters aren't numbers, got value: ${value}, min: ${min}, max: ${max}`);
@@ -524,10 +512,10 @@ var decimalRegex = /^[-]?\d*(\.\d+)?$/;
524
512
  var decimal = createRule({
525
513
  type: "decimal",
526
514
  validator(value) {
527
- if (ruleHelpers.isEmpty(value)) {
515
+ if (isEmpty(value)) {
528
516
  return true;
529
517
  }
530
- return ruleHelpers.regex(value, decimalRegex);
518
+ return matchRegex(value, decimalRegex);
531
519
  },
532
520
  message: "Value must be decimal"
533
521
  });
@@ -535,10 +523,10 @@ var emailRegex = /^(?:[A-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[A-z0-9!#$%&'*+/=?^_`{|}~
535
523
  var email = createRule({
536
524
  type: "email",
537
525
  validator(value) {
538
- if (ruleHelpers.isEmpty(value)) {
526
+ if (isEmpty(value)) {
539
527
  return true;
540
528
  }
541
- return ruleHelpers.regex(value, emailRegex);
529
+ return matchRegex(value, emailRegex);
542
530
  },
543
531
  message: "Value must be an valid email address"
544
532
  });
@@ -546,18 +534,18 @@ var integerRegex = /(^[0-9]*$)|(^-[0-9]+$)/;
546
534
  var integer = createRule({
547
535
  type: "integer",
548
536
  validator(value) {
549
- if (ruleHelpers.isEmpty(value)) {
537
+ if (isEmpty(value)) {
550
538
  return true;
551
539
  }
552
- return ruleHelpers.regex(value, integerRegex);
540
+ return matchRegex(value, integerRegex);
553
541
  },
554
542
  message: "Value must be an integer"
555
543
  });
556
544
  var maxValue = createRule({
557
545
  type: "maxValue",
558
546
  validator: (value, count) => {
559
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
560
- if (ruleHelpers.isNumber(count) && !isNaN(toNumber(value))) {
547
+ if (isFilled(value) && isFilled(count)) {
548
+ if (isNumber(count) && !isNaN(toNumber(value))) {
561
549
  return toNumber(value) <= count;
562
550
  }
563
551
  console.warn(`[maxValue] Value or parameter isn't a number, got value: ${value}, parameter: ${count}`);
@@ -572,9 +560,9 @@ var maxValue = createRule({
572
560
  var minLength = createRule({
573
561
  type: "minLength",
574
562
  validator: (value, count) => {
575
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
576
- if (ruleHelpers.isNumber(count)) {
577
- return ruleHelpers.size(value) >= count;
563
+ if (isFilled(value) && isFilled(count)) {
564
+ if (isNumber(count)) {
565
+ return getSize(value) >= count;
578
566
  }
579
567
  console.warn(`[minLength] Parameter isn't a number, got parameter: ${count}`);
580
568
  return false;
@@ -591,8 +579,8 @@ var minLength = createRule({
591
579
  var minValue = createRule({
592
580
  type: "minValue",
593
581
  validator: (value, count) => {
594
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
595
- if (ruleHelpers.isNumber(count) && !isNaN(toNumber(value))) {
582
+ if (isFilled(value) && isFilled(count)) {
583
+ if (isNumber(count) && !isNaN(toNumber(value))) {
596
584
  return toNumber(value) >= count;
597
585
  }
598
586
  console.warn(`[minValue] Value or parameter isn't a number, got value: ${value}, parameter: ${count}`);
@@ -607,9 +595,9 @@ var minValue = createRule({
607
595
  var exactLength = createRule({
608
596
  type: "exactLength",
609
597
  validator: (value, count) => {
610
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(count)) {
611
- if (ruleHelpers.isNumber(count)) {
612
- return ruleHelpers.size(value) === count;
598
+ if (isFilled(value) && isFilled(count)) {
599
+ if (isNumber(count)) {
600
+ return getSize(value) === count;
613
601
  }
614
602
  console.warn(`[minLength] Parameter isn't a number, got parameter: ${count}`);
615
603
  return false;
@@ -624,10 +612,10 @@ var numericRegex = /^\d*(\.\d+)?$/;
624
612
  var numeric = createRule({
625
613
  type: "numeric",
626
614
  validator(value) {
627
- if (ruleHelpers.isEmpty(value)) {
615
+ if (isEmpty(value)) {
628
616
  return true;
629
617
  }
630
- return ruleHelpers.regex(value, numericRegex);
618
+ return matchRegex(value, numericRegex);
631
619
  },
632
620
  message: "This field must be numeric"
633
621
  });
@@ -635,7 +623,7 @@ var requiredUnless = createRule({
635
623
  type: "required",
636
624
  validator(value, condition) {
637
625
  if (!condition) {
638
- return ruleHelpers.isFilled(value);
626
+ return isFilled(value);
639
627
  }
640
628
  return true;
641
629
  },
@@ -647,7 +635,7 @@ var requiredUnless = createRule({
647
635
  var sameAs = createRule({
648
636
  type: "sameAs",
649
637
  validator(value, target, otherName = "other") {
650
- if (ruleHelpers.isEmpty(value)) {
638
+ if (isEmpty(value)) {
651
639
  return true;
652
640
  }
653
641
  return value === target;
@@ -660,10 +648,10 @@ var urlRegex = /^(?:(?:(?:https?|ftp):)?\/\/)(?:\S+(?::\S*)?@)?(?:(?!(?:10|127)(
660
648
  var url = createRule({
661
649
  type: "url",
662
650
  validator(value) {
663
- if (ruleHelpers.isEmpty(value)) {
651
+ if (isEmpty(value)) {
664
652
  return true;
665
653
  }
666
- return ruleHelpers.regex(value, urlRegex);
654
+ return matchRegex(value, urlRegex);
667
655
  },
668
656
  message: "The value is not a valid URL address"
669
657
  });
@@ -684,9 +672,9 @@ function formatLocaleDate(date) {
684
672
  var dateAfter = createRule({
685
673
  type: "dateAfter",
686
674
  validator: (value, after) => {
687
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(after)) {
688
- if (ruleHelpers.isDate(value) && ruleHelpers.isDate(after)) {
689
- const result = ruleHelpers.toDate(value).getTime() > ruleHelpers.toDate(after).getTime();
675
+ if (isFilled(value) && isFilled(after)) {
676
+ if (isDate(value) && isDate(after)) {
677
+ const result = toDate(value).getTime() > toDate(after).getTime();
690
678
  if (result) {
691
679
  return true;
692
680
  }
@@ -706,9 +694,9 @@ var dateAfter = createRule({
706
694
  var dateBefore = createRule({
707
695
  type: "dateBefore",
708
696
  validator: (value, before) => {
709
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(before)) {
710
- if (ruleHelpers.isDate(value) && ruleHelpers.isDate(before)) {
711
- const result = ruleHelpers.toDate(value).getTime() < ruleHelpers.toDate(before).getTime();
697
+ if (isFilled(value) && isFilled(before)) {
698
+ if (isDate(value) && isDate(before)) {
699
+ const result = toDate(value).getTime() < toDate(before).getTime();
712
700
  if (result) {
713
701
  return true;
714
702
  }
@@ -728,8 +716,8 @@ var dateBefore = createRule({
728
716
  var dateBetween = createRule({
729
717
  type: "dateBetween",
730
718
  validator: (value, before, after) => {
731
- if (ruleHelpers.isDate(value) && ruleHelpers.isDate(before) && ruleHelpers.isDate(after)) {
732
- return ruleHelpers.toDate(value).getTime() > ruleHelpers.toDate(before).getTime() && ruleHelpers.toDate(value).getTime() < ruleHelpers.toDate(after).getTime();
719
+ if (isDate(value) && isDate(before) && isDate(after)) {
720
+ return toDate(value).getTime() > toDate(before).getTime() && toDate(value).getTime() < toDate(after).getTime();
733
721
  }
734
722
  return true;
735
723
  },
@@ -753,7 +741,7 @@ function nibbleValid(nibble) {
753
741
  var ipAddress = createRule({
754
742
  type: "ipAddress",
755
743
  validator(value) {
756
- if (ruleHelpers.isEmpty(value)) {
744
+ if (isEmpty(value)) {
757
745
  return true;
758
746
  }
759
747
  if (typeof value !== "string") {
@@ -767,7 +755,7 @@ var ipAddress = createRule({
767
755
  var macAddress = createRule({
768
756
  type: "macAddress",
769
757
  validator(value, separator = ":") {
770
- if (ruleHelpers.isEmpty(value)) {
758
+ if (isEmpty(value)) {
771
759
  return true;
772
760
  }
773
761
  if (typeof value !== "string") {
@@ -782,7 +770,7 @@ var hexValid = (hex) => hex.toLowerCase().match(/^[0-9a-f]{2}$/);
782
770
  var checked = createRule({
783
771
  type: "checked",
784
772
  validator: (value) => {
785
- if (ruleHelpers.isFilled(value)) {
773
+ if (isFilled(value)) {
786
774
  return value === true;
787
775
  }
788
776
  return true;
@@ -792,7 +780,7 @@ var checked = createRule({
792
780
  var contains = createRule({
793
781
  type: "contains",
794
782
  validator(value, part) {
795
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(part)) {
783
+ if (isFilled(value) && isFilled(part)) {
796
784
  return value.includes(part);
797
785
  }
798
786
  return true;
@@ -804,7 +792,7 @@ var contains = createRule({
804
792
  var startsWith = createRule({
805
793
  type: "startsWith",
806
794
  validator(value, part) {
807
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(part)) {
795
+ if (isFilled(value) && isFilled(part)) {
808
796
  return value.startsWith(part);
809
797
  }
810
798
  return true;
@@ -816,7 +804,7 @@ var startsWith = createRule({
816
804
  var endsWith = createRule({
817
805
  type: "endsWith",
818
806
  validator(value, part) {
819
- if (ruleHelpers.isFilled(value) && ruleHelpers.isFilled(part)) {
807
+ if (isFilled(value) && isFilled(part)) {
820
808
  return value.endsWith(part);
821
809
  }
822
810
  return true;
@@ -825,15 +813,15 @@ var endsWith = createRule({
825
813
  return `Field must end with ${part}`;
826
814
  }
827
815
  });
828
- var regex2 = createRule({
816
+ var regex = createRule({
829
817
  type: "regex",
830
818
  validator(value, ...regexp) {
831
- if (ruleHelpers.isFilled(value)) {
832
- return ruleHelpers.regex(value, ...regexp);
819
+ if (isFilled(value)) {
820
+ return matchRegex(value, ...regexp);
833
821
  }
834
822
  return true;
835
823
  },
836
824
  message: "This field does not match the required pattern"
837
825
  });
838
826
 
839
- export { alpha, alphaNum, and, applyIf, between, checked, contains, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, integer, ipAddress, macAddress, maxLength, maxValue, minLength, minValue, not, numeric, or, regex2 as regex, required, requiredIf, requiredUnless, ruleHelpers, sameAs, startsWith, url, withAsync, withMessage, withParams, withTooltip };
827
+ export { alpha, alphaNum, and, applyIf, between, checked, contains, dateAfter, dateBefore, dateBetween, decimal, email, endsWith, exactLength, getSize, integer, ipAddress, isDate, isEmpty, isFilled, isNumber, macAddress, matchRegex, maxLength, maxValue, minLength, minValue, not, numeric, or, regex, required, requiredIf, requiredUnless, sameAs, startsWith, toDate, toNumber, url, withAsync, withMessage, withParams, withTooltip };
package/package.json CHANGED
@@ -1,9 +1,9 @@
1
1
  {
2
2
  "name": "@regle/rules",
3
- "version": "0.5.0",
3
+ "version": "0.5.1",
4
4
  "description": "Collection of rules and helpers for Regle",
5
5
  "dependencies": {
6
- "@regle/core": "0.5.0"
6
+ "@regle/core": "0.5.1"
7
7
  },
8
8
  "devDependencies": {
9
9
  "@typescript-eslint/eslint-plugin": "8.18.1",