custom-class-validator-tools 1.1.6 → 1.1.8

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 (110) hide show
  1. package/dist/decorator/transform/any-to-bigint.decorator.d.ts +2 -0
  2. package/dist/decorator/transform/any-to-bigint.decorator.js +40 -0
  3. package/dist/decorator/transform/any-to-number-array.decorator.d.ts +2 -0
  4. package/dist/decorator/transform/any-to-number-array.decorator.js +48 -0
  5. package/dist/decorator/transform/any-to-number.decorator.d.ts +2 -0
  6. package/dist/decorator/transform/any-to-number.decorator.js +43 -0
  7. package/dist/decorator/transform/any-to-string.decorator.d.ts +2 -0
  8. package/dist/decorator/transform/any-to-string.decorator.js +15 -0
  9. package/dist/decorator/transform/number-to-boolean.decorator.d.ts +2 -0
  10. package/dist/decorator/transform/number-to-boolean.decorator.js +22 -0
  11. package/dist/decorator/transform/string-to-boolean.decorator.d.ts +2 -0
  12. package/dist/decorator/transform/string-to-boolean.decorator.js +24 -0
  13. package/dist/decorator/validate/function/string-validator.function.d.ts +1 -0
  14. package/dist/decorator/validate/function/string-validator.function.js +13 -0
  15. package/dist/decorator/validate/is-not-empty-bigint-string.decorator.d.ts +2 -0
  16. package/dist/decorator/validate/is-not-empty-bigint-string.decorator.js +46 -0
  17. package/dist/decorator/validate/is-not-empty-bigint.decorator.d.ts +2 -0
  18. package/dist/decorator/validate/is-not-empty-bigint.decorator.js +18 -0
  19. package/dist/decorator/validate/is-not-empty-boolean-number.decorator.d.ts +4 -0
  20. package/dist/decorator/validate/is-not-empty-boolean-number.decorator.js +51 -0
  21. package/dist/decorator/validate/is-not-empty-boolean-string.decorator.d.ts +2 -0
  22. package/dist/decorator/validate/is-not-empty-boolean-string.decorator.js +20 -0
  23. package/dist/decorator/validate/is-not-empty-boolean.decorator.d.ts +2 -0
  24. package/dist/decorator/validate/is-not-empty-boolean.decorator.js +18 -0
  25. package/dist/decorator/validate/is-not-empty-number-string.decorator.d.ts +4 -0
  26. package/dist/decorator/validate/is-not-empty-number-string.decorator.js +50 -0
  27. package/dist/decorator/validate/is-not-empty-number.decorator.d.ts +4 -0
  28. package/dist/decorator/validate/is-not-empty-number.decorator.js +47 -0
  29. package/dist/decorator/validate/is-not-empty-sql-date-string.decorator.d.ts +2 -0
  30. package/dist/decorator/validate/is-not-empty-sql-date-string.decorator.js +24 -0
  31. package/dist/decorator/validate/is-not-empty-sql-date-time-string.decorator.d.ts +2 -0
  32. package/dist/decorator/validate/is-not-empty-sql-date-time-string.decorator.js +24 -0
  33. package/dist/decorator/validate/is-not-empty-sql-time-string.decorator.d.ts +4 -0
  34. package/dist/decorator/validate/is-not-empty-sql-time-string.decorator.js +48 -0
  35. package/dist/decorator/validate/is-not-empty-string.decorator.d.ts +4 -0
  36. package/dist/decorator/validate/is-not-empty-string.decorator.js +19 -0
  37. package/dist/decorator/validate/is-nullable-bigint.decorator.d.ts +2 -0
  38. package/dist/decorator/validate/is-nullable-bigint.decorator.js +19 -0
  39. package/dist/decorator/validate/is-nullable-boolean-number.decorator.d.ts +4 -0
  40. package/dist/decorator/validate/is-nullable-boolean-number.decorator.js +52 -0
  41. package/dist/decorator/validate/is-nullable-boolean-string.decorator.d.ts +2 -0
  42. package/dist/decorator/validate/is-nullable-boolean-string.decorator.js +21 -0
  43. package/dist/decorator/validate/is-nullable-boolean.decorator.d.ts +2 -0
  44. package/dist/decorator/validate/is-nullable-boolean.decorator.js +19 -0
  45. package/dist/decorator/validate/is-nullable-number-string.decorator.d.ts +4 -0
  46. package/dist/decorator/validate/is-nullable-number-string.decorator.js +51 -0
  47. package/dist/decorator/validate/is-nullable-number.decorator.d.ts +4 -0
  48. package/dist/decorator/validate/is-nullable-number.decorator.js +50 -0
  49. package/dist/decorator/validate/is-nullable-sql-date-string.decorator.d.ts +2 -0
  50. package/dist/decorator/validate/is-nullable-sql-date-string.decorator.js +27 -0
  51. package/dist/decorator/validate/is-nullable-sql-date-time-string.decorator.d.ts +2 -0
  52. package/dist/decorator/validate/is-nullable-sql-date-time-string.decorator.js +27 -0
  53. package/dist/decorator/validate/is-nullable-sql-time-string.decorator.d.ts +4 -0
  54. package/dist/decorator/validate/is-nullable-sql-time-string.decorator.js +50 -0
  55. package/dist/decorator/validate/is-nullable-string.decorator.d.ts +4 -0
  56. package/dist/decorator/validate/is-nullable-string.decorator.js +21 -0
  57. package/dist/decorator/validate/is-nullable.decorator.d.ts +1 -0
  58. package/dist/decorator/validate/is-nullable.decorator.js +11 -0
  59. package/dist/decorator/validate/is-optional-bigint.decorator.d.ts +2 -0
  60. package/dist/decorator/validate/is-optional-bigint.decorator.js +19 -0
  61. package/dist/decorator/validate/is-optional-boolean-string.decorator.d.ts +2 -0
  62. package/dist/decorator/validate/is-optional-boolean-string.decorator.js +21 -0
  63. package/dist/decorator/validate/is-optional-boolean.decorator.d.ts +2 -0
  64. package/dist/decorator/validate/is-optional-boolean.decorator.js +19 -0
  65. package/dist/decorator/validate/is-optional-number-boolean.decorator.d.ts +4 -0
  66. package/dist/decorator/validate/is-optional-number-boolean.decorator.js +52 -0
  67. package/dist/decorator/validate/is-optional-number-string.decorator.d.ts +4 -0
  68. package/dist/decorator/validate/is-optional-number-string.decorator.js +50 -0
  69. package/dist/decorator/validate/is-optional-number.decorator.d.ts +4 -0
  70. package/dist/decorator/validate/is-optional-number.decorator.js +49 -0
  71. package/dist/decorator/validate/is-optional-sql-date-string.decorator.d.ts +2 -0
  72. package/dist/decorator/validate/is-optional-sql-date-string.decorator.js +27 -0
  73. package/dist/decorator/validate/is-optional-sql-date-time-string.decorator.d.ts +2 -0
  74. package/dist/decorator/validate/is-optional-sql-date-time-string.decorator.js +27 -0
  75. package/dist/decorator/validate/is-optional-sql-time-string.decorator.d.ts +4 -0
  76. package/dist/decorator/validate/is-optional-sql-time-string.decorator.js +53 -0
  77. package/dist/decorator/validate/is-optional-string.decorator.d.ts +4 -0
  78. package/dist/decorator/validate/is-optional-string.decorator.js +21 -0
  79. package/dist/decorator/validate/is-type.decorator.d.ts +7 -0
  80. package/dist/decorator/validate/is-type.decorator.js +20 -0
  81. package/dist/decorator/validate/is-undefinable-bigint.decorator.d.ts +2 -0
  82. package/dist/decorator/validate/is-undefinable-bigint.decorator.js +19 -0
  83. package/dist/decorator/validate/is-undefinable-boolean-number.decorator.d.ts +4 -0
  84. package/dist/decorator/validate/is-undefinable-boolean-number.decorator.js +52 -0
  85. package/dist/decorator/validate/is-undefinable-boolean-string.decorator.d.ts +2 -0
  86. package/dist/decorator/validate/is-undefinable-boolean-string.decorator.js +19 -0
  87. package/dist/decorator/validate/is-undefinable-boolean.decorator.d.ts +2 -0
  88. package/dist/decorator/validate/is-undefinable-boolean.decorator.js +19 -0
  89. package/dist/decorator/validate/is-undefinable-number-string.decorator.d.ts +4 -0
  90. package/dist/decorator/validate/is-undefinable-number-string.decorator.js +52 -0
  91. package/dist/decorator/validate/is-undefinable-number.decorator.d.ts +4 -0
  92. package/dist/decorator/validate/is-undefinable-number.decorator.js +50 -0
  93. package/dist/decorator/validate/is-undefinable-sql-date-string.decorator.d.ts +2 -0
  94. package/dist/decorator/validate/is-undefinable-sql-date-string.decorator.js +25 -0
  95. package/dist/decorator/validate/is-undefinable-sql-date-time-string.decorator.d.ts +2 -0
  96. package/dist/decorator/validate/is-undefinable-sql-date-time-string.decorator.js +25 -0
  97. package/dist/decorator/validate/is-undefinable-sql-time.decorator.d.ts +4 -0
  98. package/dist/decorator/validate/is-undefinable-sql-time.decorator.js +54 -0
  99. package/dist/decorator/validate/is-undefinable-string.decorator.d.ts +4 -0
  100. package/dist/decorator/validate/is-undefinable-string.decorator.js +21 -0
  101. package/dist/decorator/validate/is-undefinable.decorator.d.ts +1 -0
  102. package/dist/decorator/validate/is-undefinable.decorator.js +11 -0
  103. package/dist/function/validate-with-header.decorators.d.ts +2 -0
  104. package/dist/function/validate-with-header.decorators.js +33 -0
  105. package/dist/index.d.ts +54 -0
  106. package/dist/util/is-boolean.d.ts +2 -0
  107. package/dist/util/is-boolean.js +11 -0
  108. package/dist/util/is-empty.d.ts +12 -0
  109. package/dist/util/is-empty.js +80 -0
  110. package/package.json +2 -2
@@ -0,0 +1,48 @@
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.IsNotEmptySqlTimeString = 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 isNotEmptySqlTimeString = (value, validationOptions) => {
31
+ return FF.pipe(value, FO.fromNullable, FO.fold(() => false, right => {
32
+ 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(right), () => RegExp(/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(right)));
33
+ }));
34
+ };
35
+ const IsNotEmptySqlTimeString = (validationOptions) => {
36
+ return (0, class_validator_1.ValidateBy)({
37
+ name: 'IsNoEmptySqlTimeString',
38
+ constraints: [validationOptions],
39
+ validator: {
40
+ validate: (value) => isNotEmptySqlTimeString(value, validationOptions),
41
+ defaultMessage(validationArguments) {
42
+ const format = validationOptions?.format ?? 'hh:mm:ss';
43
+ return `${validationArguments?.property} should be YYYY-MM-DD ${format}`;
44
+ },
45
+ },
46
+ }, validationOptions);
47
+ };
48
+ exports.IsNotEmptySqlTimeString = IsNotEmptySqlTimeString;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNotEmptyString: (validationOptions?: ValidationOptions & {
3
+ blank?: boolean;
4
+ }) => PropertyDecorator;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsNotEmptyString = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const string_validator_function_1 = require("./function/string-validator.function");
6
+ const isNotEmptyString = (value, validationOptions) => (0, string_validator_function_1.stringValidator)(value, validationOptions?.blank);
7
+ const IsNotEmptyString = (validationOptions) => {
8
+ return (0, class_validator_1.ValidateBy)({
9
+ name: 'IsNotEmptyString',
10
+ constraints: [validationOptions],
11
+ validator: {
12
+ validate: (value) => isNotEmptyString(value, validationOptions),
13
+ defaultMessage(validationArguments) {
14
+ return `${validationArguments?.property} should be string`;
15
+ },
16
+ },
17
+ }, validationOptions);
18
+ };
19
+ exports.IsNotEmptyString = IsNotEmptyString;
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableBigInt: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsNullableBigInt = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const is_empty_1 = require("../../util/is-empty");
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`;
15
+ },
16
+ },
17
+ }, validationOptions);
18
+ };
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;
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableBooleanString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsNullableBooleanString = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const is_empty_1 = require("../../util/is-empty");
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`;
17
+ },
18
+ },
19
+ }, validationOptions);
20
+ };
21
+ exports.IsNullableBooleanString = IsNullableBooleanString;
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableBoolean: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsNullableBoolean = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const is_empty_1 = require("../../util/is-empty");
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`;
15
+ },
16
+ },
17
+ }, validationOptions);
18
+ };
19
+ exports.IsNullableBoolean = IsNullableBoolean;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableNumberString: (validationOptions?: ValidationOptions & {
3
+ isFloat?: boolean;
4
+ }) => PropertyDecorator;
@@ -0,0 +1,51 @@
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.IsNullableNumberString = 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 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`;
47
+ },
48
+ },
49
+ }, validationOptions);
50
+ };
51
+ exports.IsNullableNumberString = IsNullableNumberString;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableNumber: (validationOptions?: ValidationOptions & {
3
+ isFloat?: boolean;
4
+ }) => PropertyDecorator;
@@ -0,0 +1,50 @@
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.IsNullableNumber = 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 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`;
46
+ },
47
+ },
48
+ }, validationOptions);
49
+ };
50
+ exports.IsNullableNumber = IsNullableNumber;
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableSqlDateString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IsNullableSqlDateString = void 0;
7
+ const class_validator_1 = require("class-validator");
8
+ const dayjs_1 = __importDefault(require("dayjs"));
9
+ const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
10
+ const is_empty_1 = require("../../util/is-empty");
11
+ dayjs_1.default.extend(customParseFormat_1.default);
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`;
23
+ },
24
+ },
25
+ }, validationOptions);
26
+ };
27
+ exports.IsNullableSqlDateString = IsNullableSqlDateString;
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableSqlDateTimeString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -0,0 +1,27 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.IsNullableSqlDateTimeString = void 0;
7
+ const class_validator_1 = require("class-validator");
8
+ const dayjs_1 = __importDefault(require("dayjs"));
9
+ const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
10
+ const is_empty_1 = require("../../util/is-empty");
11
+ dayjs_1.default.extend(customParseFormat_1.default);
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`;
23
+ },
24
+ },
25
+ }, validationOptions);
26
+ };
27
+ exports.IsNullableSqlDateTimeString = IsNullableSqlDateTimeString;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableSqlTimeString: (validationOptions?: ValidationOptions & {
3
+ format?: 'hh:mm:ss' | 'hh:mm';
4
+ }) => PropertyDecorator;
@@ -0,0 +1,50 @@
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.IsNullableSqlTimeString = 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_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`;
46
+ },
47
+ },
48
+ }, validationOptions);
49
+ };
50
+ exports.IsNullableSqlTimeString = IsNullableSqlTimeString;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNullableString: (validationOptions?: ValidationOptions & {
3
+ blank?: boolean;
4
+ }) => PropertyDecorator;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsNullableString = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const is_boolean_1 = require("../../util/is-boolean");
6
+ const is_empty_1 = require("../../util/is-empty");
7
+ const string_validator_function_1 = require("./function/string-validator.function");
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`;
17
+ },
18
+ },
19
+ }, validationOptions);
20
+ };
21
+ exports.IsNullableString = IsNullableString;
@@ -0,0 +1 @@
1
+ export declare const IsNullable: () => PropertyDecorator;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsNullable = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const is_empty_1 = require("../../util/is-empty");
6
+ const IsNullable = () => {
7
+ return (0, class_validator_1.ValidateIf)((_, value) => {
8
+ return (0, is_empty_1.isNotNull)(value);
9
+ });
10
+ };
11
+ exports.IsNullable = IsNullable;
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsOptionalBigInt: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsOptionalBigInt = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const is_empty_1 = require("../../util/is-empty");
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`;
15
+ },
16
+ },
17
+ }, validationOptions);
18
+ };
19
+ exports.IsOptionalBigInt = IsOptionalBigInt;
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsOptionalBooleanString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -0,0 +1,21 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsOptionalBooleanString = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const is_empty_1 = require("../../util/is-empty");
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`;
17
+ },
18
+ },
19
+ });
20
+ };
21
+ exports.IsOptionalBooleanString = IsOptionalBooleanString;
@@ -0,0 +1,2 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsOptionalBoolean: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.IsOptionalBoolean = void 0;
4
+ const class_validator_1 = require("class-validator");
5
+ const is_empty_1 = require("../../util/is-empty");
6
+ const isOptionalBoolean = (value) => typeof value === 'boolean' || (0, is_empty_1.isEmptySimple)(value);
7
+ const IsOptionalBoolean = (validationOptions) => {
8
+ return (0, class_validator_1.ValidateBy)({
9
+ name: 'IsOptionalBoolean',
10
+ constraints: [validationOptions],
11
+ validator: {
12
+ validate: (value) => isOptionalBoolean(value),
13
+ defaultMessage(validationArguments) {
14
+ return `${validationArguments?.property} should be boolean or null or undefined`;
15
+ },
16
+ },
17
+ }, validationOptions);
18
+ };
19
+ exports.IsOptionalBoolean = IsOptionalBoolean;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsOptionalNumberBoolean: (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.IsOptionalNumberBoolean = 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 isOptionalNumberBoolean = (value, validationOptions) => {
34
+ return FF.pipe(value, FO.fromPredicate(predicate => (0, is_empty_1.isNotEmptySimple)(predicate)), FO.fold(() => true, () => {
35
+ return FF.pipe(value, 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 IsOptionalNumberBoolean = (validationOptions) => {
41
+ return (0, class_validator_1.ValidateBy)({
42
+ name: 'IsOptionalNumberBoolean',
43
+ constraints: [validationOptions],
44
+ validator: {
45
+ validate: (value) => isOptionalNumberBoolean(value, validationOptions),
46
+ defaultMessage(validationArguments) {
47
+ return `${validationArguments?.property} should be boolean number or null or undefined`;
48
+ },
49
+ },
50
+ }, validationOptions);
51
+ };
52
+ exports.IsOptionalNumberBoolean = IsOptionalNumberBoolean;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsOptionalNumberString: (validationOptions?: ValidationOptions & {
3
+ isFloat?: boolean;
4
+ }) => PropertyDecorator;