custom-class-validator-tools 1.0.55 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. package/dist/index.d.ts +4 -0
  2. package/dist/index.js +4 -0
  3. package/dist/src/decorator/validate/is-not-empty-bigint-string.decorator.d.ts +1 -1
  4. package/dist/src/decorator/validate/is-not-empty-bigint-string.decorator.js +15 -18
  5. package/dist/src/decorator/validate/is-not-empty-bigint.decorator.d.ts +1 -1
  6. package/dist/src/decorator/validate/is-not-empty-bigint.decorator.js +12 -17
  7. package/dist/src/decorator/validate/is-not-empty-boolean-number.decorator.d.ts +4 -0
  8. package/dist/src/decorator/validate/is-not-empty-boolean-number.decorator.js +51 -0
  9. package/dist/src/decorator/validate/is-not-empty-boolean-string.decorator.d.ts +1 -1
  10. package/dist/src/decorator/validate/is-not-empty-boolean-string.decorator.js +14 -17
  11. package/dist/src/decorator/validate/is-not-empty-boolean.decorator.d.ts +1 -1
  12. package/dist/src/decorator/validate/is-not-empty-boolean.decorator.js +12 -17
  13. package/dist/src/decorator/validate/is-not-empty-number-string.decorator.d.ts +2 -2
  14. package/dist/src/decorator/validate/is-not-empty-number-string.decorator.js +19 -23
  15. package/dist/src/decorator/validate/is-not-empty-number.decorator.d.ts +2 -2
  16. package/dist/src/decorator/validate/is-not-empty-number.decorator.js +17 -21
  17. package/dist/src/decorator/validate/is-not-empty-sql-date-string.decorator.d.ts +1 -1
  18. package/dist/src/decorator/validate/is-not-empty-sql-date-string.decorator.js +13 -19
  19. package/dist/src/decorator/validate/is-not-empty-sql-date-time-string.decorator.d.ts +1 -1
  20. package/dist/src/decorator/validate/is-not-empty-sql-date-time-string.decorator.js +13 -19
  21. package/dist/src/decorator/validate/is-not-empty-sql-time-string.decorator.d.ts +2 -2
  22. package/dist/src/decorator/validate/is-not-empty-sql-time-string.decorator.js +18 -21
  23. package/dist/src/decorator/validate/is-not-empty-string.decorator.d.ts +2 -2
  24. package/dist/src/decorator/validate/is-not-empty-string.decorator.js +12 -17
  25. package/dist/src/decorator/validate/is-nullable-bigint.decorator.d.ts +1 -1
  26. package/dist/src/decorator/validate/is-nullable-bigint.decorator.js +12 -17
  27. package/dist/src/decorator/validate/is-nullable-boolean-number.decorator.d.ts +4 -0
  28. package/dist/src/decorator/validate/is-nullable-boolean-number.decorator.js +52 -0
  29. package/dist/src/decorator/validate/is-nullable-boolean-string.decorator.d.ts +1 -1
  30. package/dist/src/decorator/validate/is-nullable-boolean-string.decorator.js +14 -17
  31. package/dist/src/decorator/validate/is-nullable-boolean.decorator.d.ts +1 -1
  32. package/dist/src/decorator/validate/is-nullable-boolean.decorator.js +12 -17
  33. package/dist/src/decorator/validate/is-nullable-number-string.decorator.d.ts +2 -2
  34. package/dist/src/decorator/validate/is-nullable-number-string.decorator.js +20 -23
  35. package/dist/src/decorator/validate/is-nullable-number.decorator.d.ts +2 -2
  36. package/dist/src/decorator/validate/is-nullable-number.decorator.js +19 -22
  37. package/dist/src/decorator/validate/is-nullable-sql-date-string.decorator.d.ts +1 -1
  38. package/dist/src/decorator/validate/is-nullable-sql-date-string.decorator.js +16 -19
  39. package/dist/src/decorator/validate/is-nullable-sql-date-time-string.decorator.d.ts +1 -1
  40. package/dist/src/decorator/validate/is-nullable-sql-date-time-string.decorator.js +16 -19
  41. package/dist/src/decorator/validate/is-nullable-sql-time-string.decorator.d.ts +2 -2
  42. package/dist/src/decorator/validate/is-nullable-sql-time-string.decorator.js +20 -23
  43. package/dist/src/decorator/validate/is-nullable-string.decorator.d.ts +2 -2
  44. package/dist/src/decorator/validate/is-nullable-string.decorator.js +13 -18
  45. package/dist/src/decorator/validate/is-nullable.decorator.d.ts +1 -1
  46. package/dist/src/decorator/validate/is-nullable.decorator.js +2 -2
  47. package/dist/src/decorator/validate/is-optional-bigint.decorator.d.ts +1 -1
  48. package/dist/src/decorator/validate/is-optional-bigint.decorator.js +12 -17
  49. package/dist/src/decorator/validate/is-optional-boolean-string.decorator.d.ts +1 -1
  50. package/dist/src/decorator/validate/is-optional-boolean-string.decorator.js +14 -17
  51. package/dist/src/decorator/validate/is-optional-boolean.decorator.d.ts +1 -1
  52. package/dist/src/decorator/validate/is-optional-boolean.decorator.js +12 -17
  53. package/dist/src/decorator/validate/is-optional-number-boolean.decorator.d.ts +4 -0
  54. package/dist/src/decorator/validate/is-optional-number-boolean.decorator.js +52 -0
  55. package/dist/src/decorator/validate/is-optional-number-string.decorator.d.ts +2 -2
  56. package/dist/src/decorator/validate/is-optional-number-string.decorator.js +19 -22
  57. package/dist/src/decorator/validate/is-optional-number.decorator.d.ts +2 -2
  58. package/dist/src/decorator/validate/is-optional-number.decorator.js +19 -22
  59. package/dist/src/decorator/validate/is-optional-sql-date-string.decorator.d.ts +1 -1
  60. package/dist/src/decorator/validate/is-optional-sql-date-string.decorator.js +16 -19
  61. package/dist/src/decorator/validate/is-optional-sql-date-time-string.decorator.d.ts +1 -1
  62. package/dist/src/decorator/validate/is-optional-sql-date-time-string.decorator.js +15 -18
  63. package/dist/src/decorator/validate/is-optional-sql-time-string.decorator.d.ts +2 -2
  64. package/dist/src/decorator/validate/is-optional-sql-time-string.decorator.js +23 -26
  65. package/dist/src/decorator/validate/is-optional-string.decorator.d.ts +2 -2
  66. package/dist/src/decorator/validate/is-optional-string.decorator.js +13 -18
  67. package/dist/src/decorator/validate/is-undefinable-bigint.decorator.d.ts +1 -1
  68. package/dist/src/decorator/validate/is-undefinable-bigint.decorator.js +13 -18
  69. package/dist/src/decorator/validate/is-undefinable-boolean-number.decorator.d.ts +4 -0
  70. package/dist/src/decorator/validate/is-undefinable-boolean-number.decorator.js +52 -0
  71. package/dist/src/decorator/validate/is-undefinable-boolean-string.decorator.d.ts +1 -1
  72. package/dist/src/decorator/validate/is-undefinable-boolean-string.decorator.js +13 -18
  73. package/dist/src/decorator/validate/is-undefinable-boolean.decorator.d.ts +1 -1
  74. package/dist/src/decorator/validate/is-undefinable-boolean.decorator.js +13 -18
  75. package/dist/src/decorator/validate/is-undefinable-number-string.decorator.d.ts +2 -2
  76. package/dist/src/decorator/validate/is-undefinable-number-string.decorator.js +21 -23
  77. package/dist/src/decorator/validate/is-undefinable-number.decorator.d.ts +2 -2
  78. package/dist/src/decorator/validate/is-undefinable-number.decorator.js +19 -22
  79. package/dist/src/decorator/validate/is-undefinable-sql-date-string.decorator.d.ts +1 -1
  80. package/dist/src/decorator/validate/is-undefinable-sql-date-string.decorator.js +13 -18
  81. package/dist/src/decorator/validate/is-undefinable-sql-date-time-string.decorator.d.ts +1 -1
  82. package/dist/src/decorator/validate/is-undefinable-sql-date-time-string.decorator.js +14 -19
  83. package/dist/src/decorator/validate/is-undefinable-sql-time.decorator.d.ts +2 -2
  84. package/dist/src/decorator/validate/is-undefinable-sql-time.decorator.js +24 -27
  85. package/dist/src/decorator/validate/is-undefinable-string.decorator.d.ts +2 -2
  86. package/dist/src/decorator/validate/is-undefinable-string.decorator.js +13 -18
  87. package/dist/src/decorator/validate/is-undefinable.decorator.d.ts +1 -1
  88. package/dist/src/decorator/validate/is-undefinable.decorator.js +2 -2
  89. package/package.json +1 -1
@@ -3,22 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNullableBigInt = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
5
  const is_empty_1 = require("../../util/is-empty");
6
- function IsNullableBigInt(validationOptions) {
7
- return function (object, propertyName) {
8
- (0, class_validator_1.registerDecorator)({
9
- name: 'IsNullableBigInt',
10
- target: object.constructor,
11
- propertyName: propertyName,
12
- options: validationOptions,
13
- validator: {
14
- validate(value) {
15
- return typeof value === 'bigint' || (0, is_empty_1.isNull)(value);
16
- },
17
- defaultMessage(validationArguments) {
18
- return `${validationArguments?.property} should be number or null`;
19
- },
6
+ const isNullableBigInt = (value) => typeof value === 'bigint' || (0, is_empty_1.isNull)(value);
7
+ const IsNullableBigInt = (validationOptions) => {
8
+ return (0, class_validator_1.ValidateBy)({
9
+ name: 'IsNullableBigInt',
10
+ constraints: [validationOptions],
11
+ validator: {
12
+ validate: (value) => isNullableBigInt(value),
13
+ defaultMessage(validationArguments) {
14
+ return `${validationArguments?.property} should be bigint or null`;
20
15
  },
21
- });
22
- };
23
- }
16
+ },
17
+ }, validationOptions);
18
+ };
24
19
  exports.IsNullableBigInt = IsNullableBigInt;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableBooleanNumber: (validationOptions?: ValidationOptions & {
3
+ strict?: boolean;
4
+ }) => PropertyDecorator;
@@ -0,0 +1,52 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || function (mod) {
19
+ if (mod && mod.__esModule) return mod;
20
+ var result = {};
21
+ if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
+ __setModuleDefault(result, mod);
23
+ return result;
24
+ };
25
+ Object.defineProperty(exports, "__esModule", { value: true });
26
+ exports.IsNullableBooleanNumber = void 0;
27
+ const class_validator_1 = require("class-validator");
28
+ const FF = __importStar(require("fp-ts/function"));
29
+ const FO = __importStar(require("fp-ts/Option"));
30
+ const is_boolean_1 = require("../../util/is-boolean");
31
+ const is_empty_1 = require("../../util/is-empty");
32
+ const strictValues = [1, 0];
33
+ const isNullableBooleanNumber = (value, validationOptions) => {
34
+ return FF.pipe(value, FO.fromPredicate(predicate => (0, is_empty_1.isNotNull)(predicate)), FO.fold(() => true, notNullValue => {
35
+ return FF.pipe(notNullValue, FO.fromPredicate(predicate => typeof predicate === 'number' && (0, is_boolean_1.isFalse)(isNaN(predicate))), FO.map(numberValue => {
36
+ return FF.pipe(validationOptions?.strict ?? true, FO.fromPredicate(predicate => (0, is_boolean_1.isTrue)(predicate)), FO.fold(() => true, () => strictValues.includes(numberValue)));
37
+ }), FO.fold(() => false, right => right));
38
+ }));
39
+ };
40
+ const IsNullableBooleanNumber = (validationOptions) => {
41
+ return (0, class_validator_1.ValidateBy)({
42
+ name: 'IsNullableBooleanNumber',
43
+ constraints: [validationOptions],
44
+ validator: {
45
+ validate: (value) => isNullableBooleanNumber(value, validationOptions),
46
+ defaultMessage(validationArguments) {
47
+ return `${validationArguments?.property} should be boolean number or null`;
48
+ },
49
+ },
50
+ }, validationOptions);
51
+ };
52
+ exports.IsNullableBooleanNumber = IsNullableBooleanNumber;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNullableBooleanString(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNullableBooleanString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -3,22 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNullableBooleanString = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
5
  const is_empty_1 = require("../../util/is-empty");
6
- function IsNullableBooleanString(validationOptions) {
7
- return function (object, propertyName) {
8
- (0, class_validator_1.registerDecorator)({
9
- name: 'IsNullableBooleanString',
10
- target: object.constructor,
11
- propertyName: propertyName,
12
- options: validationOptions,
13
- validator: {
14
- validate(value) {
15
- return (typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value)) || (0, is_empty_1.isNull)(value);
16
- },
17
- defaultMessage(validationArguments) {
18
- return `${validationArguments?.property} should be boolean`;
19
- },
6
+ const isNullableBooleanString = (value) => {
7
+ return (typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value)) || (0, is_empty_1.isNull)(value);
8
+ };
9
+ const IsNullableBooleanString = (validationOptions) => {
10
+ return (0, class_validator_1.ValidateBy)({
11
+ name: 'IsNullableBooleanString',
12
+ constraints: [validationOptions],
13
+ validator: {
14
+ validate: (value) => isNullableBooleanString(value),
15
+ defaultMessage(validationArguments) {
16
+ return `${validationArguments?.property} should be boolean string`;
20
17
  },
21
- });
22
- };
23
- }
18
+ },
19
+ }, validationOptions);
20
+ };
24
21
  exports.IsNullableBooleanString = IsNullableBooleanString;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNullableBoolean(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNullableBoolean: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -3,22 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNullableBoolean = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
5
  const is_empty_1 = require("../../util/is-empty");
6
- function IsNullableBoolean(validationOptions) {
7
- return function (object, propertyName) {
8
- (0, class_validator_1.registerDecorator)({
9
- name: 'IsNullableBoolean',
10
- target: object.constructor,
11
- propertyName: propertyName,
12
- options: validationOptions,
13
- validator: {
14
- validate(value) {
15
- return typeof value === 'boolean' || (0, is_empty_1.isNull)(value);
16
- },
17
- defaultMessage(validationArguments) {
18
- return `${validationArguments?.property} should be boolean or null`;
19
- },
6
+ const isNullableBoolean = (value) => typeof value === 'boolean' || (0, is_empty_1.isNull)(value);
7
+ const IsNullableBoolean = (validationOptions) => {
8
+ return (0, class_validator_1.ValidateBy)({
9
+ name: 'IsNullableBoolean',
10
+ constraints: [validationOptions],
11
+ validator: {
12
+ validate: (value) => isNullableBoolean(value),
13
+ defaultMessage(validationArguments) {
14
+ return `${validationArguments?.property} should be boolean or null`;
20
15
  },
21
- });
22
- };
23
- }
16
+ },
17
+ }, validationOptions);
18
+ };
24
19
  exports.IsNullableBoolean = IsNullableBoolean;
@@ -1,4 +1,4 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNullableNumberString(validationOptions?: ValidationOptions & {
2
+ export declare const IsNullableNumberString: (validationOptions?: ValidationOptions & {
3
3
  isFloat?: boolean;
4
- }): (object: Object, propertyName: string) => void;
4
+ }) => PropertyDecorator;
@@ -25,30 +25,27 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.IsNullableNumberString = void 0;
27
27
  const class_validator_1 = require("class-validator");
28
- const is_boolean_1 = require("../../util/is-boolean");
29
- const is_empty_1 = require("../../util/is-empty");
30
28
  const FF = __importStar(require("fp-ts/function"));
31
29
  const FO = __importStar(require("fp-ts/Option"));
32
- function IsNullableNumberString(validationOptions) {
33
- return function (object, propertyName) {
34
- (0, class_validator_1.registerDecorator)({
35
- name: 'IsNullableNumberString',
36
- target: object.constructor,
37
- propertyName: propertyName,
38
- options: validationOptions,
39
- validator: {
40
- validate(value) {
41
- return FF.pipe(value, FO.fromPredicate(predicate => (0, is_empty_1.isNull)(predicate)), FO.fold(() => {
42
- const numberValue = Number(value);
43
- const isNumber = (typeof value === 'string' && value.length > 0 && (0, is_boolean_1.isFalse)(isNaN(numberValue))) || (0, is_empty_1.isNull)(value);
44
- return FF.pipe(validationOptions?.isFloat ?? false, FO.fromPredicate(predicate => (0, is_boolean_1.isTrue)(predicate)), FO.fold(() => (0, is_boolean_1.isTrue)(isNumber) && numberValue % 1 === 0, () => (0, is_boolean_1.isTrue)(isNumber)));
45
- }, () => true));
46
- },
47
- defaultMessage(validationArguments) {
48
- return `${validationArguments?.property} should be number`;
49
- },
30
+ const is_boolean_1 = require("../../util/is-boolean");
31
+ const is_empty_1 = require("../../util/is-empty");
32
+ const isNullableNumberString = (value, validationOptions) => {
33
+ return FF.pipe(value, FO.fromPredicate(predicate => (0, is_empty_1.isNull)(predicate)), FO.fold(() => {
34
+ const numberValue = Number(value);
35
+ const isNumber = (typeof value === 'string' && value.length > 0 && (0, is_boolean_1.isFalse)(isNaN(numberValue))) || (0, is_empty_1.isNull)(value);
36
+ return FF.pipe(validationOptions?.isFloat ?? false, FO.fromPredicate(predicate => (0, is_boolean_1.isTrue)(predicate)), FO.fold(() => (0, is_boolean_1.isTrue)(isNumber) && numberValue % 1 === 0, () => (0, is_boolean_1.isTrue)(isNumber)));
37
+ }, () => true));
38
+ };
39
+ const IsNullableNumberString = (validationOptions) => {
40
+ return (0, class_validator_1.ValidateBy)({
41
+ name: 'IsNullableNumberString',
42
+ constraints: [validationOptions],
43
+ validator: {
44
+ validate: (value) => isNullableNumberString(value, validationOptions),
45
+ defaultMessage(validationArguments) {
46
+ return `${validationArguments?.property} should be number string or null`;
50
47
  },
51
- });
52
- };
53
- }
48
+ },
49
+ }, validationOptions);
50
+ };
54
51
  exports.IsNullableNumberString = IsNullableNumberString;
@@ -1,4 +1,4 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNullableNumber(validationOptions?: ValidationOptions & {
2
+ export declare const IsNullableNumber: (validationOptions?: ValidationOptions & {
3
3
  isFloat?: boolean;
4
- }): (object: Object, propertyName: string) => void;
4
+ }) => PropertyDecorator;
@@ -25,29 +25,26 @@ var __importStar = (this && this.__importStar) || function (mod) {
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.IsNullableNumber = void 0;
27
27
  const class_validator_1 = require("class-validator");
28
- const is_empty_1 = require("../../util/is-empty");
29
- const is_boolean_1 = require("../../util/is-boolean");
30
28
  const FF = __importStar(require("fp-ts/function"));
31
29
  const FO = __importStar(require("fp-ts/Option"));
32
- function IsNullableNumber(validationOptions) {
33
- return function (object, propertyName) {
34
- (0, class_validator_1.registerDecorator)({
35
- name: 'IsNullableNumber',
36
- target: object.constructor,
37
- propertyName: propertyName,
38
- options: validationOptions,
39
- validator: {
40
- validate(value) {
41
- return FF.pipe(value, FO.fromPredicate(predicate => (0, is_empty_1.isNull)(predicate)), FO.fold(() => {
42
- const isNumber = (typeof value === 'number' && (0, is_boolean_1.isFalse)(isNaN(value))) || (0, is_empty_1.isNull)(value);
43
- return FF.pipe(validationOptions?.isFloat ?? false, FO.fromPredicate(predicate => (0, is_boolean_1.isTrue)(predicate)), FO.fold(() => (0, is_boolean_1.isTrue)(isNumber) && value % 1 === 0, () => (0, is_boolean_1.isTrue)(isNumber)));
44
- }, () => true));
45
- },
46
- defaultMessage(validationArguments) {
47
- return `${validationArguments?.property} should be number or null`;
48
- },
30
+ const is_boolean_1 = require("../../util/is-boolean");
31
+ const is_empty_1 = require("../../util/is-empty");
32
+ const isNullableNumber = (value, validationOptions) => {
33
+ return FF.pipe(value, FO.fromPredicate(predicate => (0, is_empty_1.isNull)(predicate)), FO.fold(() => {
34
+ const isNumber = (typeof value === 'number' && (0, is_boolean_1.isFalse)(isNaN(value))) || (0, is_empty_1.isNull)(value);
35
+ return FF.pipe(validationOptions?.isFloat ?? false, FO.fromPredicate(predicate => (0, is_boolean_1.isTrue)(predicate)), FO.fold(() => (0, is_boolean_1.isTrue)(isNumber) && value % 1 === 0, () => (0, is_boolean_1.isTrue)(isNumber)));
36
+ }, () => true));
37
+ };
38
+ const IsNullableNumber = (validationOptions) => {
39
+ return (0, class_validator_1.ValidateBy)({
40
+ name: 'IsNullableNumber',
41
+ constraints: [validationOptions],
42
+ validator: {
43
+ validate: (value) => isNullableNumber(value, validationOptions),
44
+ defaultMessage(validationArguments) {
45
+ return `${validationArguments?.property} should be number or null`;
49
46
  },
50
- });
51
- };
52
- }
47
+ },
48
+ }, validationOptions);
49
+ };
53
50
  exports.IsNullableNumber = IsNullableNumber;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNullableSqlDateString(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNullableSqlDateString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -4,27 +4,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.IsNullableSqlDateString = void 0;
7
- const is_empty_1 = require("../../util/is-empty");
7
+ const class_validator_1 = require("class-validator");
8
8
  const dayjs_1 = __importDefault(require("dayjs"));
9
9
  const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
10
- const class_validator_1 = require("class-validator");
10
+ const is_empty_1 = require("../../util/is-empty");
11
11
  dayjs_1.default.extend(customParseFormat_1.default);
12
- function IsNullableSqlDateString(validationOptions) {
13
- return function (object, propertyName) {
14
- (0, class_validator_1.registerDecorator)({
15
- name: 'IsNullableSqlDateString',
16
- target: object.constructor,
17
- propertyName: propertyName,
18
- options: validationOptions,
19
- validator: {
20
- validate(value) {
21
- return (0, is_empty_1.isNull)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid());
22
- },
23
- defaultMessage(validationArguments) {
24
- return `${validationArguments?.property} should be YYYY-MM-DD`;
25
- },
12
+ const isNullableSqlDateString = (value) => {
13
+ return (0, is_empty_1.isNull)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid());
14
+ };
15
+ const IsNullableSqlDateString = (validationOptions) => {
16
+ return (0, class_validator_1.ValidateBy)({
17
+ name: 'IsNullableSqlDateString',
18
+ constraints: [validationOptions],
19
+ validator: {
20
+ validate: (value) => isNullableSqlDateString(value),
21
+ defaultMessage(validationArguments) {
22
+ return `${validationArguments?.property} should be YYYY-MM-DD`;
26
23
  },
27
- });
28
- };
29
- }
24
+ },
25
+ }, validationOptions);
26
+ };
30
27
  exports.IsNullableSqlDateString = IsNullableSqlDateString;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNullableSqlDateTimeString(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNullableSqlDateTimeString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -4,27 +4,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.IsNullableSqlDateTimeString = void 0;
7
- const is_empty_1 = require("../../util/is-empty");
7
+ const class_validator_1 = require("class-validator");
8
8
  const dayjs_1 = __importDefault(require("dayjs"));
9
9
  const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
10
- const class_validator_1 = require("class-validator");
10
+ const is_empty_1 = require("../../util/is-empty");
11
11
  dayjs_1.default.extend(customParseFormat_1.default);
12
- function IsNullableSqlDateTimeString(validationOptions) {
13
- return function (object, propertyName) {
14
- (0, class_validator_1.registerDecorator)({
15
- name: 'IsNullableSqlDateTimeString',
16
- target: object.constructor,
17
- propertyName: propertyName,
18
- options: validationOptions,
19
- validator: {
20
- validate(value) {
21
- return (0, is_empty_1.isNull)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD HH:mm:ss', true).isValid());
22
- },
23
- defaultMessage(validationArguments) {
24
- return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
25
- },
12
+ const isNullableSqlDateTimeString = (value) => {
13
+ return (0, is_empty_1.isNull)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD HH:mm:ss', true).isValid());
14
+ };
15
+ const IsNullableSqlDateTimeString = (validationOptions) => {
16
+ return (0, class_validator_1.ValidateBy)({
17
+ name: 'IsNullableSqlDateTimeString',
18
+ constraints: [validationOptions],
19
+ validator: {
20
+ validate: (value) => isNullableSqlDateTimeString(value),
21
+ defaultMessage(validationArguments) {
22
+ return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss or null`;
26
23
  },
27
- });
28
- };
29
- }
24
+ },
25
+ }, validationOptions);
26
+ };
30
27
  exports.IsNullableSqlDateTimeString = IsNullableSqlDateTimeString;
@@ -1,4 +1,4 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNullableSqlTimeString(validationOptions?: ValidationOptions & {
2
+ export declare const IsNullableSqlTimeString: (validationOptions?: ValidationOptions & {
3
3
  format?: 'hh:mm:ss' | 'hh:mm';
4
- }): (object: Object, propertyName: string) => void;
4
+ }) => PropertyDecorator;
@@ -24,30 +24,27 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.IsNullableSqlTimeString = void 0;
27
- const is_empty_1 = require("../../util/is-empty");
27
+ const class_validator_1 = require("class-validator");
28
28
  const FF = __importStar(require("fp-ts/function"));
29
29
  const FO = __importStar(require("fp-ts/Option"));
30
- const class_validator_1 = require("class-validator");
31
- function IsNullableSqlTimeString(validationOptions) {
32
- return function (object, propertyName) {
33
- (0, class_validator_1.registerDecorator)({
34
- name: 'IsNullableSqlTimeString',
35
- target: object.constructor,
36
- propertyName: propertyName,
37
- options: validationOptions,
38
- validator: {
39
- validate(value) {
40
- return FF.pipe(value, FO.fromPredicate(refinement => (0, is_empty_1.isNull)(refinement)), FO.fold(() => {
41
- return FF.pipe(value, FO.fromPredicate(refinement => typeof refinement === 'string'), FO.fold(() => false, () => {
42
- return FF.pipe(validationOptions?.format, FO.fromPredicate(refinement => refinement === 'hh:mm'), FO.fold(() => RegExp(/^(?:(?:([01]\d|2[0-3]):)?([0-5]\d):)?([0-5]\d)$/).test(value), () => RegExp(/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(value)));
43
- }));
44
- }, () => true));
45
- },
46
- defaultMessage(validationArguments) {
47
- return `${validationArguments?.property} should be YYYY-MM-DD`;
48
- },
30
+ const is_empty_1 = require("../../util/is-empty");
31
+ const isNullableSqlTimeString = (value, validationOptions) => {
32
+ return FF.pipe(value, FO.fromPredicate(refinement => (0, is_empty_1.isNull)(refinement)), FO.fold(() => {
33
+ return FF.pipe(value, FO.fromPredicate(refinement => typeof refinement === 'string'), FO.fold(() => false, () => {
34
+ return FF.pipe(validationOptions?.format, FO.fromPredicate(refinement => refinement === 'hh:mm'), FO.fold(() => RegExp(/^(?:(?:([01]\d|2[0-3]):)?([0-5]\d):)?([0-5]\d)$/).test(value), () => RegExp(/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(value)));
35
+ }));
36
+ }, () => true));
37
+ };
38
+ const IsNullableSqlTimeString = (validationOptions) => {
39
+ return (0, class_validator_1.ValidateBy)({
40
+ name: 'IsNullableSqlTimeString',
41
+ constraints: [validationOptions],
42
+ validator: {
43
+ validate: (value) => isNullableSqlTimeString(value, validationOptions),
44
+ defaultMessage(validationArguments) {
45
+ return `${validationArguments?.property} should be ${validationOptions?.format ?? 'hh:mm:ss'} or null`;
49
46
  },
50
- });
51
- };
52
- }
47
+ },
48
+ }, validationOptions);
49
+ };
53
50
  exports.IsNullableSqlTimeString = IsNullableSqlTimeString;
@@ -1,4 +1,4 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNullableString(validationOptions?: ValidationOptions & {
2
+ export declare const IsNullableString: (validationOptions?: ValidationOptions & {
3
3
  blank?: boolean;
4
- }): (object: Object, propertyName: string) => void;
4
+ }) => PropertyDecorator;
@@ -1,26 +1,21 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNullableString = void 0;
4
+ const class_validator_1 = require("class-validator");
4
5
  const is_boolean_1 = require("../../util/is-boolean");
5
6
  const is_empty_1 = require("../../util/is-empty");
6
- const class_validator_1 = require("class-validator");
7
7
  const string_validator_function_1 = require("./function/string-validator.function");
8
- function IsNullableString(validationOptions) {
9
- return function (object, propertyName) {
10
- (0, class_validator_1.registerDecorator)({
11
- name: 'IsNullableString',
12
- target: object.constructor,
13
- propertyName: propertyName,
14
- options: validationOptions,
15
- validator: {
16
- validate(value) {
17
- return (0, is_boolean_1.isTrue)((0, string_validator_function_1.stringValidator)(value, validationOptions?.blank)) || (0, is_empty_1.isNull)(value);
18
- },
19
- defaultMessage(validationArguments) {
20
- return `${validationArguments?.property} should be string or null`;
21
- },
8
+ const isNullableString = (value, validationOptions) => (0, is_boolean_1.isTrue)((0, string_validator_function_1.stringValidator)(value, validationOptions?.blank)) || (0, is_empty_1.isNull)(value);
9
+ const IsNullableString = (validationOptions) => {
10
+ return (0, class_validator_1.ValidateBy)({
11
+ name: 'IsNullableString',
12
+ constraints: [validationOptions],
13
+ validator: {
14
+ validate: (value) => isNullableString(value, validationOptions),
15
+ defaultMessage(validationArguments) {
16
+ return `${validationArguments?.property} should be string or null`;
22
17
  },
23
- });
24
- };
25
- }
18
+ },
19
+ }, validationOptions);
20
+ };
26
21
  exports.IsNullableString = IsNullableString;
@@ -1 +1 @@
1
- export declare function IsNullable(): PropertyDecorator;
1
+ export declare const IsNullable: () => PropertyDecorator;
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNullable = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
5
  const is_empty_1 = require("../../util/is-empty");
6
- function IsNullable() {
6
+ const IsNullable = () => {
7
7
  return (0, class_validator_1.ValidateIf)((_, value) => {
8
8
  return (0, is_empty_1.isNotNull)(value);
9
9
  });
10
- }
10
+ };
11
11
  exports.IsNullable = IsNullable;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsOptionalBigInt(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsOptionalBigInt: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -3,22 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsOptionalBigInt = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
5
  const is_empty_1 = require("../../util/is-empty");
6
- function IsOptionalBigInt(validationOptions) {
7
- return function (object, propertyName) {
8
- (0, class_validator_1.registerDecorator)({
9
- name: 'IsOptionalBigInt',
10
- target: object.constructor,
11
- propertyName: propertyName,
12
- options: validationOptions,
13
- validator: {
14
- validate(value) {
15
- return typeof value === 'bigint' || (0, is_empty_1.isEmptySimple)(value);
16
- },
17
- defaultMessage(validationArguments) {
18
- return `${validationArguments?.property} should be string or null or undefined`;
19
- },
6
+ const isOptionalBigInt = (value) => typeof value === 'bigint' || (0, is_empty_1.isEmptySimple)(value);
7
+ const IsOptionalBigInt = (validationOptions) => {
8
+ return (0, class_validator_1.ValidateBy)({
9
+ name: 'IsOptionalBigInt',
10
+ constraints: [validationOptions],
11
+ validator: {
12
+ validate: (value) => isOptionalBigInt(value),
13
+ defaultMessage(validationArguments) {
14
+ return `${validationArguments?.property} should be bigint or null or undefined`;
20
15
  },
21
- });
22
- };
23
- }
16
+ },
17
+ }, validationOptions);
18
+ };
24
19
  exports.IsOptionalBigInt = IsOptionalBigInt;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsOptionalBooleanString(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsOptionalBooleanString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -3,22 +3,19 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsOptionalBooleanString = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
5
  const is_empty_1 = require("../../util/is-empty");
6
- function IsOptionalBooleanString(validationOptions) {
7
- return function (object, propertyName) {
8
- (0, class_validator_1.registerDecorator)({
9
- name: 'IsOptionalBooleanString',
10
- target: object.constructor,
11
- propertyName: propertyName,
12
- options: validationOptions,
13
- validator: {
14
- validate(value) {
15
- return ((typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value)) || (0, is_empty_1.isEmptySimple)(value));
16
- },
17
- defaultMessage(validationArguments) {
18
- return `${validationArguments?.property} should be boolean or null or undefined`;
19
- },
6
+ const isOptionalBooleanString = (value) => {
7
+ return (typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value)) || (0, is_empty_1.isEmptySimple)(value);
8
+ };
9
+ const IsOptionalBooleanString = (validationOptions) => {
10
+ return (0, class_validator_1.ValidateBy)({
11
+ name: 'IsOptionalBooleanString',
12
+ constraints: [validationOptions],
13
+ validator: {
14
+ validate: (value) => isOptionalBooleanString(value),
15
+ defaultMessage(validationArguments) {
16
+ return `${validationArguments?.property} should be boolean string or null or undefined`;
20
17
  },
21
- });
22
- };
23
- }
18
+ },
19
+ });
20
+ };
24
21
  exports.IsOptionalBooleanString = IsOptionalBooleanString;