custom-class-validator-tools 1.0.55 → 1.1.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.
Files changed (91) hide show
  1. package/dist/index.d.ts +5 -0
  2. package/dist/index.js +5 -0
  3. package/dist/src/decorator/transform/any-to-number-array.decorator.d.ts +2 -0
  4. package/dist/src/decorator/transform/any-to-number-array.decorator.js +44 -0
  5. package/dist/src/decorator/validate/is-not-empty-bigint-string.decorator.d.ts +1 -1
  6. package/dist/src/decorator/validate/is-not-empty-bigint-string.decorator.js +15 -18
  7. package/dist/src/decorator/validate/is-not-empty-bigint.decorator.d.ts +1 -1
  8. package/dist/src/decorator/validate/is-not-empty-bigint.decorator.js +12 -17
  9. package/dist/src/decorator/validate/is-not-empty-boolean-number.decorator.d.ts +4 -0
  10. package/dist/src/decorator/validate/is-not-empty-boolean-number.decorator.js +51 -0
  11. package/dist/src/decorator/validate/is-not-empty-boolean-string.decorator.d.ts +1 -1
  12. package/dist/src/decorator/validate/is-not-empty-boolean-string.decorator.js +14 -17
  13. package/dist/src/decorator/validate/is-not-empty-boolean.decorator.d.ts +1 -1
  14. package/dist/src/decorator/validate/is-not-empty-boolean.decorator.js +12 -17
  15. package/dist/src/decorator/validate/is-not-empty-number-string.decorator.d.ts +2 -2
  16. package/dist/src/decorator/validate/is-not-empty-number-string.decorator.js +19 -23
  17. package/dist/src/decorator/validate/is-not-empty-number.decorator.d.ts +2 -2
  18. package/dist/src/decorator/validate/is-not-empty-number.decorator.js +17 -21
  19. package/dist/src/decorator/validate/is-not-empty-sql-date-string.decorator.d.ts +1 -1
  20. package/dist/src/decorator/validate/is-not-empty-sql-date-string.decorator.js +13 -19
  21. package/dist/src/decorator/validate/is-not-empty-sql-date-time-string.decorator.d.ts +1 -1
  22. package/dist/src/decorator/validate/is-not-empty-sql-date-time-string.decorator.js +13 -19
  23. package/dist/src/decorator/validate/is-not-empty-sql-time-string.decorator.d.ts +2 -2
  24. package/dist/src/decorator/validate/is-not-empty-sql-time-string.decorator.js +18 -21
  25. package/dist/src/decorator/validate/is-not-empty-string.decorator.d.ts +2 -2
  26. package/dist/src/decorator/validate/is-not-empty-string.decorator.js +12 -17
  27. package/dist/src/decorator/validate/is-nullable-bigint.decorator.d.ts +1 -1
  28. package/dist/src/decorator/validate/is-nullable-bigint.decorator.js +12 -17
  29. package/dist/src/decorator/validate/is-nullable-boolean-number.decorator.d.ts +4 -0
  30. package/dist/src/decorator/validate/is-nullable-boolean-number.decorator.js +52 -0
  31. package/dist/src/decorator/validate/is-nullable-boolean-string.decorator.d.ts +1 -1
  32. package/dist/src/decorator/validate/is-nullable-boolean-string.decorator.js +14 -17
  33. package/dist/src/decorator/validate/is-nullable-boolean.decorator.d.ts +1 -1
  34. package/dist/src/decorator/validate/is-nullable-boolean.decorator.js +12 -17
  35. package/dist/src/decorator/validate/is-nullable-number-string.decorator.d.ts +2 -2
  36. package/dist/src/decorator/validate/is-nullable-number-string.decorator.js +20 -23
  37. package/dist/src/decorator/validate/is-nullable-number.decorator.d.ts +2 -2
  38. package/dist/src/decorator/validate/is-nullable-number.decorator.js +19 -22
  39. package/dist/src/decorator/validate/is-nullable-sql-date-string.decorator.d.ts +1 -1
  40. package/dist/src/decorator/validate/is-nullable-sql-date-string.decorator.js +16 -19
  41. package/dist/src/decorator/validate/is-nullable-sql-date-time-string.decorator.d.ts +1 -1
  42. package/dist/src/decorator/validate/is-nullable-sql-date-time-string.decorator.js +16 -19
  43. package/dist/src/decorator/validate/is-nullable-sql-time-string.decorator.d.ts +2 -2
  44. package/dist/src/decorator/validate/is-nullable-sql-time-string.decorator.js +20 -23
  45. package/dist/src/decorator/validate/is-nullable-string.decorator.d.ts +2 -2
  46. package/dist/src/decorator/validate/is-nullable-string.decorator.js +13 -18
  47. package/dist/src/decorator/validate/is-nullable.decorator.d.ts +1 -1
  48. package/dist/src/decorator/validate/is-nullable.decorator.js +2 -2
  49. package/dist/src/decorator/validate/is-optional-bigint.decorator.d.ts +1 -1
  50. package/dist/src/decorator/validate/is-optional-bigint.decorator.js +12 -17
  51. package/dist/src/decorator/validate/is-optional-boolean-string.decorator.d.ts +1 -1
  52. package/dist/src/decorator/validate/is-optional-boolean-string.decorator.js +14 -17
  53. package/dist/src/decorator/validate/is-optional-boolean.decorator.d.ts +1 -1
  54. package/dist/src/decorator/validate/is-optional-boolean.decorator.js +12 -17
  55. package/dist/src/decorator/validate/is-optional-number-boolean.decorator.d.ts +4 -0
  56. package/dist/src/decorator/validate/is-optional-number-boolean.decorator.js +52 -0
  57. package/dist/src/decorator/validate/is-optional-number-string.decorator.d.ts +2 -2
  58. package/dist/src/decorator/validate/is-optional-number-string.decorator.js +19 -22
  59. package/dist/src/decorator/validate/is-optional-number.decorator.d.ts +2 -2
  60. package/dist/src/decorator/validate/is-optional-number.decorator.js +19 -22
  61. package/dist/src/decorator/validate/is-optional-sql-date-string.decorator.d.ts +1 -1
  62. package/dist/src/decorator/validate/is-optional-sql-date-string.decorator.js +16 -19
  63. package/dist/src/decorator/validate/is-optional-sql-date-time-string.decorator.d.ts +1 -1
  64. package/dist/src/decorator/validate/is-optional-sql-date-time-string.decorator.js +15 -18
  65. package/dist/src/decorator/validate/is-optional-sql-time-string.decorator.d.ts +2 -2
  66. package/dist/src/decorator/validate/is-optional-sql-time-string.decorator.js +23 -26
  67. package/dist/src/decorator/validate/is-optional-string.decorator.d.ts +2 -2
  68. package/dist/src/decorator/validate/is-optional-string.decorator.js +13 -18
  69. package/dist/src/decorator/validate/is-undefinable-bigint.decorator.d.ts +1 -1
  70. package/dist/src/decorator/validate/is-undefinable-bigint.decorator.js +13 -18
  71. package/dist/src/decorator/validate/is-undefinable-boolean-number.decorator.d.ts +4 -0
  72. package/dist/src/decorator/validate/is-undefinable-boolean-number.decorator.js +52 -0
  73. package/dist/src/decorator/validate/is-undefinable-boolean-string.decorator.d.ts +1 -1
  74. package/dist/src/decorator/validate/is-undefinable-boolean-string.decorator.js +13 -18
  75. package/dist/src/decorator/validate/is-undefinable-boolean.decorator.d.ts +1 -1
  76. package/dist/src/decorator/validate/is-undefinable-boolean.decorator.js +13 -18
  77. package/dist/src/decorator/validate/is-undefinable-number-string.decorator.d.ts +2 -2
  78. package/dist/src/decorator/validate/is-undefinable-number-string.decorator.js +21 -23
  79. package/dist/src/decorator/validate/is-undefinable-number.decorator.d.ts +2 -2
  80. package/dist/src/decorator/validate/is-undefinable-number.decorator.js +19 -22
  81. package/dist/src/decorator/validate/is-undefinable-sql-date-string.decorator.d.ts +1 -1
  82. package/dist/src/decorator/validate/is-undefinable-sql-date-string.decorator.js +13 -18
  83. package/dist/src/decorator/validate/is-undefinable-sql-date-time-string.decorator.d.ts +1 -1
  84. package/dist/src/decorator/validate/is-undefinable-sql-date-time-string.decorator.js +14 -19
  85. package/dist/src/decorator/validate/is-undefinable-sql-time.decorator.d.ts +2 -2
  86. package/dist/src/decorator/validate/is-undefinable-sql-time.decorator.js +24 -27
  87. package/dist/src/decorator/validate/is-undefinable-string.decorator.d.ts +2 -2
  88. package/dist/src/decorator/validate/is-undefinable-string.decorator.js +13 -18
  89. package/dist/src/decorator/validate/is-undefinable.decorator.d.ts +1 -1
  90. package/dist/src/decorator/validate/is-undefinable.decorator.js +2 -2
  91. package/package.json +1 -1
package/dist/index.d.ts CHANGED
@@ -1,11 +1,13 @@
1
1
  export * from './src/decorator/validate/function/string-validator.function';
2
2
  export * from './src/decorator/transform/any-to-bigint.decorator';
3
+ export * from './src/decorator/transform/any-to-number-array.decorator';
3
4
  export * from './src/decorator/transform/any-to-number.decorator';
4
5
  export * from './src/decorator/transform/any-to-string.decorator';
5
6
  export * from './src/decorator/transform/number-to-boolean.decorator';
6
7
  export * from './src/decorator/transform/string-to-boolean.decorator';
7
8
  export * from './src/decorator/validate/is-not-empty-bigint-string.decorator';
8
9
  export * from './src/decorator/validate/is-not-empty-bigint.decorator';
10
+ export * from './src/decorator/validate/is-not-empty-boolean-number.decorator';
9
11
  export * from './src/decorator/validate/is-not-empty-boolean-string.decorator';
10
12
  export * from './src/decorator/validate/is-not-empty-boolean.decorator';
11
13
  export * from './src/decorator/validate/is-not-empty-number-string.decorator';
@@ -15,6 +17,7 @@ export * from './src/decorator/validate/is-not-empty-sql-date-time-string.decora
15
17
  export * from './src/decorator/validate/is-not-empty-sql-time-string.decorator';
16
18
  export * from './src/decorator/validate/is-not-empty-string.decorator';
17
19
  export * from './src/decorator/validate/is-nullable-bigint.decorator';
20
+ export * from './src/decorator/validate/is-nullable-boolean-number.decorator';
18
21
  export * from './src/decorator/validate/is-nullable-boolean-string.decorator';
19
22
  export * from './src/decorator/validate/is-nullable-boolean.decorator';
20
23
  export * from './src/decorator/validate/is-nullable-number-string.decorator';
@@ -27,6 +30,7 @@ export * from './src/decorator/validate/is-nullable.decorator';
27
30
  export * from './src/decorator/validate/is-optional-bigint.decorator';
28
31
  export * from './src/decorator/validate/is-optional-boolean-string.decorator';
29
32
  export * from './src/decorator/validate/is-optional-boolean.decorator';
33
+ export * from './src/decorator/validate/is-optional-number-boolean.decorator';
30
34
  export * from './src/decorator/validate/is-optional-number-string.decorator';
31
35
  export * from './src/decorator/validate/is-optional-number.decorator';
32
36
  export * from './src/decorator/validate/is-optional-sql-date-string.decorator';
@@ -34,6 +38,7 @@ export * from './src/decorator/validate/is-optional-sql-date-time-string.decorat
34
38
  export * from './src/decorator/validate/is-optional-sql-time-string.decorator';
35
39
  export * from './src/decorator/validate/is-optional-string.decorator';
36
40
  export * from './src/decorator/validate/is-undefinable-bigint.decorator';
41
+ export * from './src/decorator/validate/is-undefinable-boolean-number.decorator';
37
42
  export * from './src/decorator/validate/is-undefinable-boolean-string.decorator';
38
43
  export * from './src/decorator/validate/is-undefinable-boolean.decorator';
39
44
  export * from './src/decorator/validate/is-undefinable-number-string.decorator';
package/dist/index.js CHANGED
@@ -17,12 +17,14 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
17
  Object.defineProperty(exports, "__esModule", { value: true });
18
18
  __exportStar(require("./src/decorator/validate/function/string-validator.function"), exports);
19
19
  __exportStar(require("./src/decorator/transform/any-to-bigint.decorator"), exports);
20
+ __exportStar(require("./src/decorator/transform/any-to-number-array.decorator"), exports);
20
21
  __exportStar(require("./src/decorator/transform/any-to-number.decorator"), exports);
21
22
  __exportStar(require("./src/decorator/transform/any-to-string.decorator"), exports);
22
23
  __exportStar(require("./src/decorator/transform/number-to-boolean.decorator"), exports);
23
24
  __exportStar(require("./src/decorator/transform/string-to-boolean.decorator"), exports);
24
25
  __exportStar(require("./src/decorator/validate/is-not-empty-bigint-string.decorator"), exports);
25
26
  __exportStar(require("./src/decorator/validate/is-not-empty-bigint.decorator"), exports);
27
+ __exportStar(require("./src/decorator/validate/is-not-empty-boolean-number.decorator"), exports);
26
28
  __exportStar(require("./src/decorator/validate/is-not-empty-boolean-string.decorator"), exports);
27
29
  __exportStar(require("./src/decorator/validate/is-not-empty-boolean.decorator"), exports);
28
30
  __exportStar(require("./src/decorator/validate/is-not-empty-number-string.decorator"), exports);
@@ -32,6 +34,7 @@ __exportStar(require("./src/decorator/validate/is-not-empty-sql-date-time-string
32
34
  __exportStar(require("./src/decorator/validate/is-not-empty-sql-time-string.decorator"), exports);
33
35
  __exportStar(require("./src/decorator/validate/is-not-empty-string.decorator"), exports);
34
36
  __exportStar(require("./src/decorator/validate/is-nullable-bigint.decorator"), exports);
37
+ __exportStar(require("./src/decorator/validate/is-nullable-boolean-number.decorator"), exports);
35
38
  __exportStar(require("./src/decorator/validate/is-nullable-boolean-string.decorator"), exports);
36
39
  __exportStar(require("./src/decorator/validate/is-nullable-boolean.decorator"), exports);
37
40
  __exportStar(require("./src/decorator/validate/is-nullable-number-string.decorator"), exports);
@@ -44,6 +47,7 @@ __exportStar(require("./src/decorator/validate/is-nullable.decorator"), exports)
44
47
  __exportStar(require("./src/decorator/validate/is-optional-bigint.decorator"), exports);
45
48
  __exportStar(require("./src/decorator/validate/is-optional-boolean-string.decorator"), exports);
46
49
  __exportStar(require("./src/decorator/validate/is-optional-boolean.decorator"), exports);
50
+ __exportStar(require("./src/decorator/validate/is-optional-number-boolean.decorator"), exports);
47
51
  __exportStar(require("./src/decorator/validate/is-optional-number-string.decorator"), exports);
48
52
  __exportStar(require("./src/decorator/validate/is-optional-number.decorator"), exports);
49
53
  __exportStar(require("./src/decorator/validate/is-optional-sql-date-string.decorator"), exports);
@@ -51,6 +55,7 @@ __exportStar(require("./src/decorator/validate/is-optional-sql-date-time-string.
51
55
  __exportStar(require("./src/decorator/validate/is-optional-sql-time-string.decorator"), exports);
52
56
  __exportStar(require("./src/decorator/validate/is-optional-string.decorator"), exports);
53
57
  __exportStar(require("./src/decorator/validate/is-undefinable-bigint.decorator"), exports);
58
+ __exportStar(require("./src/decorator/validate/is-undefinable-boolean-number.decorator"), exports);
54
59
  __exportStar(require("./src/decorator/validate/is-undefinable-boolean-string.decorator"), exports);
55
60
  __exportStar(require("./src/decorator/validate/is-undefinable-boolean.decorator"), exports);
56
61
  __exportStar(require("./src/decorator/validate/is-undefinable-number-string.decorator"), exports);
@@ -0,0 +1,2 @@
1
+ declare const ToNumberArray: () => (target: any, key: string) => void;
2
+ export { ToNumberArray };
@@ -0,0 +1,44 @@
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.ToNumberArray = void 0;
27
+ const is_boolean_1 = require("../../util/is-boolean");
28
+ const class_transformer_1 = require("class-transformer");
29
+ const FF = __importStar(require("fp-ts/function"));
30
+ const FO = __importStar(require("fp-ts/Option"));
31
+ const ToNumberArray = () => {
32
+ const toPlain = (0, class_transformer_1.Transform)(({ value }) => value, { toPlainOnly: true });
33
+ const toClass = (target, key) => (0, class_transformer_1.Transform)(({ obj }) => {
34
+ return FF.pipe(obj[key], FO.fromPredicate(predicate => Array.isArray(predicate)), FO.fold(() => obj[key], items => {
35
+ const result = items.map(item => +item);
36
+ return FF.pipe(result, FO.fromPredicate(values => values.some(item => (0, is_boolean_1.isTrue)(Number.isNaN(item)))), FO.fold(() => result, () => obj[key]));
37
+ }));
38
+ })(target, key);
39
+ return function (target, key) {
40
+ toPlain(target, key);
41
+ toClass(target, key);
42
+ };
43
+ };
44
+ exports.ToNumberArray = ToNumberArray;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptyBigIntString(validationOptions?: ValidationOptions): (object: object, propertyName: string) => void;
2
+ export declare const IsNotEmptyBigIntString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -24,26 +24,23 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.IsNotEmptyBigIntString = void 0;
27
+ const class_validator_1 = require("class-validator");
27
28
  const FE = __importStar(require("fp-ts/Either"));
28
29
  const FF = __importStar(require("fp-ts/function"));
29
30
  const FO = __importStar(require("fp-ts/Option"));
30
- const class_validator_1 = require("class-validator");
31
- function IsNotEmptyBigIntString(validationOptions) {
32
- return function (object, propertyName) {
33
- (0, class_validator_1.registerDecorator)({
34
- name: 'IsNotEmptyBitIntString',
35
- target: object.constructor,
36
- propertyName: propertyName,
37
- options: validationOptions,
38
- validator: {
39
- validate(value) {
40
- return FF.pipe(value, FO.fromPredicate(refinement => typeof refinement === 'string' && refinement.length > 0), FO.map(notNullString => FF.pipe(FE.tryCatch(() => BigInt(notNullString), () => false), FE.fold(left => left, () => true))), FO.fold(() => false, right => right));
41
- },
42
- defaultMessage(validationArguments) {
43
- return `${validationArguments?.property} should be bigint string`;
44
- },
31
+ const isNotEmptyBigIntString = (value) => {
32
+ return FF.pipe(value, FO.fromPredicate(refinement => typeof refinement === 'string' && refinement.length > 0), FO.map(notNullString => FF.pipe(FE.tryCatch(() => BigInt(notNullString), () => false), FE.fold(left => left, () => true))), FO.fold(() => false, right => right));
33
+ };
34
+ const IsNotEmptyBigIntString = (validationOptions) => {
35
+ return (0, class_validator_1.ValidateBy)({
36
+ name: 'IsNotEmptyBitIntString',
37
+ constraints: [validationOptions],
38
+ validator: {
39
+ validate: (value) => isNotEmptyBigIntString(value),
40
+ defaultMessage(validationArguments) {
41
+ return `${validationArguments?.property} should be bigint string`;
45
42
  },
46
- });
47
- };
48
- }
43
+ },
44
+ }, validationOptions);
45
+ };
49
46
  exports.IsNotEmptyBigIntString = IsNotEmptyBigIntString;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptyBigInt(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNotEmptyBigInt: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -2,22 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNotEmptyBigInt = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
- function IsNotEmptyBigInt(validationOptions) {
6
- return function (object, propertyName) {
7
- (0, class_validator_1.registerDecorator)({
8
- name: 'IsNotEmptyBigInt',
9
- target: object.constructor,
10
- propertyName: propertyName,
11
- options: validationOptions,
12
- validator: {
13
- validate(value) {
14
- return typeof value === 'bigint';
15
- },
16
- defaultMessage(validationArguments) {
17
- return `${validationArguments?.property} should be bigint`;
18
- },
5
+ const isNotEmptyBigInt = (value) => typeof value === 'bigint';
6
+ const IsNotEmptyBigInt = (validationOptions) => {
7
+ return (0, class_validator_1.ValidateBy)({
8
+ name: 'IsNotEmptyBigInt',
9
+ constraints: [validationOptions],
10
+ validator: {
11
+ validate: (value) => isNotEmptyBigInt(value),
12
+ defaultMessage(validationArguments) {
13
+ return `${validationArguments?.property} should be bigint`;
19
14
  },
20
- });
21
- };
22
- }
15
+ },
16
+ }, validationOptions);
17
+ };
23
18
  exports.IsNotEmptyBigInt = IsNotEmptyBigInt;
@@ -0,0 +1,4 @@
1
+ import { ValidationOptions } from 'class-validator';
2
+ export declare const IsNotEmptyBooleanNumber: (validationOptions?: ValidationOptions & {
3
+ strict?: 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.IsNotEmptyBooleanNumber = 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 strictValues = [1, 0];
32
+ const isNotEmptyBooleanNumber = (value, validationOptions) => {
33
+ return FF.pipe(value, FO.fromNullable, FO.map(notEmptyValue => {
34
+ return FF.pipe(notEmptyValue, FO.fromPredicate(predicate => typeof predicate === 'number' && (0, is_boolean_1.isFalse)(isNaN(predicate))), FO.map(numberValue => {
35
+ return FF.pipe(validationOptions?.strict ?? true, FO.fromPredicate(predicate => (0, is_boolean_1.isTrue)(predicate)), FO.fold(() => true, () => strictValues.includes(numberValue)));
36
+ }), FO.fold(() => false, right => right));
37
+ }), FO.fold(() => false, right => right));
38
+ };
39
+ const IsNotEmptyBooleanNumber = (validationOptions) => {
40
+ return (0, class_validator_1.ValidateBy)({
41
+ name: 'IsNotEmptyBooleanNumber',
42
+ constraints: [validationOptions],
43
+ validator: {
44
+ validate: (value) => isNotEmptyBooleanNumber(value, validationOptions),
45
+ defaultMessage(validationArguments) {
46
+ return `${validationArguments?.property} should be boolean number`;
47
+ },
48
+ },
49
+ }, validationOptions);
50
+ };
51
+ exports.IsNotEmptyBooleanNumber = IsNotEmptyBooleanNumber;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptyBooleanString(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNotEmptyBooleanString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -2,22 +2,19 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNotEmptyBooleanString = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
- function IsNotEmptyBooleanString(validationOptions) {
6
- return function (object, propertyName) {
7
- (0, class_validator_1.registerDecorator)({
8
- name: 'INotEmptyBooleanString',
9
- target: object.constructor,
10
- propertyName: propertyName,
11
- options: validationOptions,
12
- validator: {
13
- validate(value) {
14
- return typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value);
15
- },
16
- defaultMessage(validationArguments) {
17
- return `${validationArguments?.property} should be boolean`;
18
- },
5
+ const isNotEmptyBooleanString = (value) => {
6
+ return typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value);
7
+ };
8
+ const IsNotEmptyBooleanString = (validationOptions) => {
9
+ return (0, class_validator_1.ValidateBy)({
10
+ name: 'IsNotEmptyBooleanString',
11
+ constraints: [validationOptions],
12
+ validator: {
13
+ validate: (value) => isNotEmptyBooleanString(value),
14
+ defaultMessage(validationArguments) {
15
+ return `${validationArguments?.property} should be boolean string`;
19
16
  },
20
- });
21
- };
22
- }
17
+ },
18
+ }, validationOptions);
19
+ };
23
20
  exports.IsNotEmptyBooleanString = IsNotEmptyBooleanString;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptyBoolean(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNotEmptyBoolean: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -2,22 +2,17 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.IsNotEmptyBoolean = void 0;
4
4
  const class_validator_1 = require("class-validator");
5
- function IsNotEmptyBoolean(validationOptions) {
6
- return function (object, propertyName) {
7
- (0, class_validator_1.registerDecorator)({
8
- name: 'IsNotEmptyBoolean',
9
- target: object.constructor,
10
- propertyName: propertyName,
11
- options: validationOptions,
12
- validator: {
13
- validate(value) {
14
- return typeof value === 'boolean';
15
- },
16
- defaultMessage(validationArguments) {
17
- return `${validationArguments?.property} should be boolean`;
18
- },
5
+ const isNotEmptyBoolean = (value) => typeof value === 'boolean';
6
+ const IsNotEmptyBoolean = (validationOptions) => {
7
+ return (0, class_validator_1.ValidateBy)({
8
+ name: 'IsNotEmptyBoolean',
9
+ constraints: [validationOptions],
10
+ validator: {
11
+ validate: (value) => isNotEmptyBoolean(value),
12
+ defaultMessage(validationArguments) {
13
+ return `${validationArguments?.property} should be boolean`;
19
14
  },
20
- });
21
- };
22
- }
15
+ },
16
+ }, validationOptions);
17
+ };
23
18
  exports.IsNotEmptyBoolean = IsNotEmptyBoolean;
@@ -1,4 +1,4 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptyNumberString(validationOptions?: ValidationOptions & {
2
+ export declare const IsNotEmptyNumberString: (validationOptions?: ValidationOptions & {
3
3
  isFloat?: boolean;
4
- }): (object: Object, propertyName: string) => void;
4
+ }) => PropertyDecorator;
@@ -24,31 +24,27 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.IsNotEmptyNumberString = void 0;
27
- const is_boolean_1 = require("../../util/is-boolean");
28
- const is_boolean_2 = require("../../util/is-boolean");
29
27
  const class_validator_1 = require("class-validator");
30
28
  const FF = __importStar(require("fp-ts/function"));
31
29
  const FO = __importStar(require("fp-ts/Option"));
32
- function IsNotEmptyNumberString(validationOptions) {
33
- return function (object, propertyName) {
34
- (0, class_validator_1.registerDecorator)({
35
- name: 'IsNotEmptyNumberString',
36
- target: object.constructor,
37
- propertyName: propertyName,
38
- options: validationOptions,
39
- validator: {
40
- validate(value) {
41
- const numberValue = Number(value);
42
- const isNumber = typeof value === 'string' && value.length > 0 && (0, is_boolean_2.isFalse)(isNaN(numberValue));
43
- 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, () => {
44
- return (0, is_boolean_1.isTrue)(isNumber);
45
- }));
46
- },
47
- defaultMessage(validationArguments) {
48
- return `${validationArguments?.property} sould be number string`;
49
- },
30
+ const is_boolean_1 = require("../../util/is-boolean");
31
+ const isNotEmptyNumberString = (value, validationOptions) => {
32
+ const numberValue = Number(value);
33
+ const isNumber = typeof value === 'string' && value.length > 0 && (0, is_boolean_1.isFalse)(isNaN(numberValue));
34
+ 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, () => {
35
+ return (0, is_boolean_1.isTrue)(isNumber);
36
+ }));
37
+ };
38
+ const IsNotEmptyNumberString = (validationOptions) => {
39
+ return (0, class_validator_1.ValidateBy)({
40
+ name: 'IsNotEmptyNumberString',
41
+ constraints: [validationOptions],
42
+ validator: {
43
+ validate: (value) => isNotEmptyNumberString(value, validationOptions),
44
+ defaultMessage(validationArguments) {
45
+ return `${validationArguments?.property} should be number string`;
50
46
  },
51
- });
52
- };
53
- }
47
+ },
48
+ }, validationOptions);
49
+ };
54
50
  exports.IsNotEmptyNumberString = IsNotEmptyNumberString;
@@ -1,4 +1,4 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptyNumber(validationOptions?: ValidationOptions & {
2
+ export declare const IsNotEmptyNumber: (validationOptions?: ValidationOptions & {
3
3
  isFloat?: boolean;
4
- }): (object: Object, propertyName: string) => void;
4
+ }) => PropertyDecorator;
@@ -24,28 +24,24 @@ var __importStar = (this && this.__importStar) || function (mod) {
24
24
  };
25
25
  Object.defineProperty(exports, "__esModule", { value: true });
26
26
  exports.IsNotEmptyNumber = void 0;
27
- const is_boolean_1 = require("../../util/is-boolean");
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
- const is_boolean_2 = require("../../util/is-boolean");
32
- function IsNotEmptyNumber(validationOptions) {
33
- return function (object, propertyName) {
34
- (0, class_validator_1.registerDecorator)({
35
- name: 'IsNotEmptyNumber',
36
- target: object.constructor,
37
- propertyName: propertyName,
38
- options: validationOptions,
39
- validator: {
40
- validate(value) {
41
- const isNumber = typeof value === 'number' && (0, is_boolean_2.isFalse)(isNaN(value));
42
- 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)));
43
- },
44
- defaultMessage(validationArguments) {
45
- return `${validationArguments?.property} should be number`;
46
- },
30
+ const is_boolean_1 = require("../../util/is-boolean");
31
+ const isNotEmptyNumber = (value, validationOptions) => {
32
+ const isNumber = typeof value === 'number' && (0, is_boolean_1.isFalse)(isNaN(value));
33
+ 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)));
34
+ };
35
+ const IsNotEmptyNumber = (validationOptions) => {
36
+ return (0, class_validator_1.ValidateBy)({
37
+ name: 'IsNotEmptyNumber',
38
+ constraints: [validationOptions],
39
+ validator: {
40
+ validate: (value) => isNotEmptyNumber(value, validationOptions),
41
+ defaultMessage(validationArguments) {
42
+ return `${validationArguments?.property} should be number`;
47
43
  },
48
- });
49
- };
50
- }
44
+ },
45
+ }, validationOptions);
46
+ };
51
47
  exports.IsNotEmptyNumber = IsNotEmptyNumber;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptySqlDateString(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNotEmptySqlDateString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -4,27 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.IsNotEmptySqlDateString = void 0;
7
+ const class_validator_1 = require("class-validator");
7
8
  const dayjs_1 = __importDefault(require("dayjs"));
8
9
  const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
9
- const class_validator_1 = require("class-validator");
10
- const is_empty_1 = require("../../util/is-empty");
11
10
  dayjs_1.default.extend(customParseFormat_1.default);
12
- function IsNotEmptySqlDateString(validationOptions) {
13
- return function (object, propertyName) {
14
- (0, class_validator_1.registerDecorator)({
15
- name: 'IsNotEmptySqlDateString',
16
- target: object.constructor,
17
- propertyName: propertyName,
18
- options: validationOptions,
19
- validator: {
20
- validate(value) {
21
- return typeof value === 'string' && (0, is_empty_1.isNotEmpty)(value) && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid();
22
- },
23
- defaultMessage(validationArguments) {
24
- return `${validationArguments?.property} should be YYYY-MM-DD`;
25
- },
11
+ const isNotEmptySqlDateString = (value) => typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid();
12
+ const IsNotEmptySqlDateString = (validationOptions) => {
13
+ return (0, class_validator_1.ValidateBy)({
14
+ name: 'IsNotEmptySqlDateString',
15
+ constraints: [validationOptions],
16
+ validator: {
17
+ validate: (value) => isNotEmptySqlDateString(value),
18
+ defaultMessage(validationArguments) {
19
+ return `${validationArguments?.property} should be YYYY-MM-DD`;
26
20
  },
27
- });
28
- };
29
- }
21
+ },
22
+ }, validationOptions);
23
+ };
30
24
  exports.IsNotEmptySqlDateString = IsNotEmptySqlDateString;
@@ -1,2 +1,2 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptySqlDateTimeString(validationOptions?: ValidationOptions): (object: Object, propertyName: string) => void;
2
+ export declare const IsNotEmptySqlDateTimeString: (validationOptions?: ValidationOptions) => PropertyDecorator;
@@ -4,27 +4,21 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
4
4
  };
5
5
  Object.defineProperty(exports, "__esModule", { value: true });
6
6
  exports.IsNotEmptySqlDateTimeString = void 0;
7
+ const class_validator_1 = require("class-validator");
7
8
  const dayjs_1 = __importDefault(require("dayjs"));
8
9
  const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
9
- const class_validator_1 = require("class-validator");
10
- const is_empty_1 = require("../../util/is-empty");
11
10
  dayjs_1.default.extend(customParseFormat_1.default);
12
- function IsNotEmptySqlDateTimeString(validationOptions) {
13
- return function (object, propertyName) {
14
- (0, class_validator_1.registerDecorator)({
15
- name: 'IsNotEmptySqlDateTimeString',
16
- target: object.constructor,
17
- propertyName: propertyName,
18
- options: validationOptions,
19
- validator: {
20
- validate(value) {
21
- return typeof value === 'string' && (0, is_empty_1.isNotEmpty)(value) && (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
- },
11
+ const isNotEmptySqlDateTimeString = (value) => typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD HH:mm:ss', true).isValid();
12
+ const IsNotEmptySqlDateTimeString = (validationOptions) => {
13
+ return (0, class_validator_1.ValidateBy)({
14
+ name: 'IsNotEmptySqlDateTimeString',
15
+ constraints: [validationOptions],
16
+ validator: {
17
+ validate: (value) => isNotEmptySqlDateTimeString(value),
18
+ defaultMessage(validationArguments) {
19
+ return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
26
20
  },
27
- });
28
- };
29
- }
21
+ },
22
+ }, validationOptions);
23
+ };
30
24
  exports.IsNotEmptySqlDateTimeString = IsNotEmptySqlDateTimeString;
@@ -1,4 +1,4 @@
1
1
  import { ValidationOptions } from 'class-validator';
2
- export declare function IsNotEmptySqlTimeString(validationOptions?: ValidationOptions & {
2
+ export declare const IsNotEmptySqlTimeString: (validationOptions?: ValidationOptions & {
3
3
  format?: 'hh:mm:ss' | 'hh:mm';
4
- }): (object: Object, propertyName: string) => void;
4
+ }) => PropertyDecorator;