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.
- package/dist/decorator/transform/any-to-bigint.decorator.d.ts +2 -0
- package/dist/decorator/transform/any-to-bigint.decorator.js +40 -0
- package/dist/decorator/transform/any-to-number-array.decorator.d.ts +2 -0
- package/dist/decorator/transform/any-to-number-array.decorator.js +48 -0
- package/dist/decorator/transform/any-to-number.decorator.d.ts +2 -0
- package/dist/decorator/transform/any-to-number.decorator.js +43 -0
- package/dist/decorator/transform/any-to-string.decorator.d.ts +2 -0
- package/dist/decorator/transform/any-to-string.decorator.js +15 -0
- package/dist/decorator/transform/number-to-boolean.decorator.d.ts +2 -0
- package/dist/decorator/transform/number-to-boolean.decorator.js +22 -0
- package/dist/decorator/transform/string-to-boolean.decorator.d.ts +2 -0
- package/dist/decorator/transform/string-to-boolean.decorator.js +24 -0
- package/dist/decorator/validate/function/string-validator.function.d.ts +1 -0
- package/dist/decorator/validate/function/string-validator.function.js +13 -0
- package/dist/decorator/validate/is-not-empty-bigint-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-not-empty-bigint-string.decorator.js +46 -0
- package/dist/decorator/validate/is-not-empty-bigint.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-not-empty-bigint.decorator.js +18 -0
- package/dist/decorator/validate/is-not-empty-boolean-number.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-not-empty-boolean-number.decorator.js +51 -0
- package/dist/decorator/validate/is-not-empty-boolean-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-not-empty-boolean-string.decorator.js +20 -0
- package/dist/decorator/validate/is-not-empty-boolean.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-not-empty-boolean.decorator.js +18 -0
- package/dist/decorator/validate/is-not-empty-number-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-not-empty-number-string.decorator.js +50 -0
- package/dist/decorator/validate/is-not-empty-number.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-not-empty-number.decorator.js +47 -0
- package/dist/decorator/validate/is-not-empty-sql-date-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-not-empty-sql-date-string.decorator.js +24 -0
- package/dist/decorator/validate/is-not-empty-sql-date-time-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-not-empty-sql-date-time-string.decorator.js +24 -0
- package/dist/decorator/validate/is-not-empty-sql-time-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-not-empty-sql-time-string.decorator.js +48 -0
- package/dist/decorator/validate/is-not-empty-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-not-empty-string.decorator.js +19 -0
- package/dist/decorator/validate/is-nullable-bigint.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-nullable-bigint.decorator.js +19 -0
- package/dist/decorator/validate/is-nullable-boolean-number.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-nullable-boolean-number.decorator.js +52 -0
- package/dist/decorator/validate/is-nullable-boolean-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-nullable-boolean-string.decorator.js +21 -0
- package/dist/decorator/validate/is-nullable-boolean.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-nullable-boolean.decorator.js +19 -0
- package/dist/decorator/validate/is-nullable-number-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-nullable-number-string.decorator.js +51 -0
- package/dist/decorator/validate/is-nullable-number.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-nullable-number.decorator.js +50 -0
- package/dist/decorator/validate/is-nullable-sql-date-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-nullable-sql-date-string.decorator.js +27 -0
- package/dist/decorator/validate/is-nullable-sql-date-time-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-nullable-sql-date-time-string.decorator.js +27 -0
- package/dist/decorator/validate/is-nullable-sql-time-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-nullable-sql-time-string.decorator.js +50 -0
- package/dist/decorator/validate/is-nullable-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-nullable-string.decorator.js +21 -0
- package/dist/decorator/validate/is-nullable.decorator.d.ts +1 -0
- package/dist/decorator/validate/is-nullable.decorator.js +11 -0
- package/dist/decorator/validate/is-optional-bigint.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-optional-bigint.decorator.js +19 -0
- package/dist/decorator/validate/is-optional-boolean-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-optional-boolean-string.decorator.js +21 -0
- package/dist/decorator/validate/is-optional-boolean.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-optional-boolean.decorator.js +19 -0
- package/dist/decorator/validate/is-optional-number-boolean.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-optional-number-boolean.decorator.js +52 -0
- package/dist/decorator/validate/is-optional-number-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-optional-number-string.decorator.js +50 -0
- package/dist/decorator/validate/is-optional-number.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-optional-number.decorator.js +49 -0
- package/dist/decorator/validate/is-optional-sql-date-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-optional-sql-date-string.decorator.js +27 -0
- package/dist/decorator/validate/is-optional-sql-date-time-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-optional-sql-date-time-string.decorator.js +27 -0
- package/dist/decorator/validate/is-optional-sql-time-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-optional-sql-time-string.decorator.js +53 -0
- package/dist/decorator/validate/is-optional-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-optional-string.decorator.js +21 -0
- package/dist/decorator/validate/is-type.decorator.d.ts +7 -0
- package/dist/decorator/validate/is-type.decorator.js +20 -0
- package/dist/decorator/validate/is-undefinable-bigint.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-undefinable-bigint.decorator.js +19 -0
- package/dist/decorator/validate/is-undefinable-boolean-number.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-undefinable-boolean-number.decorator.js +52 -0
- package/dist/decorator/validate/is-undefinable-boolean-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-undefinable-boolean-string.decorator.js +19 -0
- package/dist/decorator/validate/is-undefinable-boolean.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-undefinable-boolean.decorator.js +19 -0
- package/dist/decorator/validate/is-undefinable-number-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-undefinable-number-string.decorator.js +52 -0
- package/dist/decorator/validate/is-undefinable-number.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-undefinable-number.decorator.js +50 -0
- package/dist/decorator/validate/is-undefinable-sql-date-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-undefinable-sql-date-string.decorator.js +25 -0
- package/dist/decorator/validate/is-undefinable-sql-date-time-string.decorator.d.ts +2 -0
- package/dist/decorator/validate/is-undefinable-sql-date-time-string.decorator.js +25 -0
- package/dist/decorator/validate/is-undefinable-sql-time.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-undefinable-sql-time.decorator.js +54 -0
- package/dist/decorator/validate/is-undefinable-string.decorator.d.ts +4 -0
- package/dist/decorator/validate/is-undefinable-string.decorator.js +21 -0
- package/dist/decorator/validate/is-undefinable.decorator.d.ts +1 -0
- package/dist/decorator/validate/is-undefinable.decorator.js +11 -0
- package/dist/function/validate-with-header.decorators.d.ts +2 -0
- package/dist/function/validate-with-header.decorators.js +33 -0
- package/dist/index.d.ts +54 -0
- package/dist/util/is-boolean.d.ts +2 -0
- package/dist/util/is-boolean.js +11 -0
- package/dist/util/is-empty.d.ts +12 -0
- package/dist/util/is-empty.js +80 -0
- 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,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,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,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,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,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,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,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,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,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,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,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,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,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,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,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;
|