custom-class-validator-tools 1.0.12
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/index.d.ts +43 -0
- package/dist/index.js +60 -0
- package/dist/src/decorator/transform/any-to-bigint.decorator.d.ts +2 -0
- package/dist/src/decorator/transform/any-to-bigint.decorator.js +40 -0
- package/dist/src/decorator/transform/any-to-number.decorator.d.ts +2 -0
- package/dist/src/decorator/transform/any-to-number.decorator.js +43 -0
- package/dist/src/decorator/transform/any-to-string.decorator.d.ts +2 -0
- package/dist/src/decorator/transform/any-to-string.decorator.js +15 -0
- package/dist/src/decorator/transform/number-to-boolean.decorator.d.ts +2 -0
- package/dist/src/decorator/transform/number-to-boolean.decorator.js +22 -0
- package/dist/src/decorator/transform/string-to-boolean.decorator.d.ts +2 -0
- package/dist/src/decorator/transform/string-to-boolean.decorator.js +24 -0
- package/dist/src/decorator/validate/function/string-validator.function.d.ts +1 -0
- package/dist/src/decorator/validate/function/string-validator.function.js +13 -0
- package/dist/src/decorator/validate/is-not-empty-bigint-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-not-empty-bigint-string.decorator.js +49 -0
- package/dist/src/decorator/validate/is-not-empty-bigint.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-not-empty-bigint.decorator.js +23 -0
- package/dist/src/decorator/validate/is-not-empty-boolean-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-not-empty-boolean-string.decorator.js +23 -0
- package/dist/src/decorator/validate/is-not-empty-boolean.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-not-empty-boolean.decorator.js +23 -0
- package/dist/src/decorator/validate/is-not-empty-number-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-not-empty-number-string.decorator.js +24 -0
- package/dist/src/decorator/validate/is-not-empty-number.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-not-empty-number.decorator.js +24 -0
- package/dist/src/decorator/validate/is-not-empty-sql-date-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-not-empty-sql-date-string.decorator.js +30 -0
- package/dist/src/decorator/validate/is-not-empty-sql-date-time-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-not-empty-sql-date-time-string.decorator.js +30 -0
- package/dist/src/decorator/validate/is-not-empty-sql-time-string.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-not-empty-sql-time-string.decorator.js +51 -0
- package/dist/src/decorator/validate/is-not-empty-string.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-not-empty-string.decorator.js +24 -0
- package/dist/src/decorator/validate/is-nullable-bigint.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-nullable-bigint.decorator.js +24 -0
- package/dist/src/decorator/validate/is-nullable-boolean-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-nullable-boolean-string.decorator.js +24 -0
- package/dist/src/decorator/validate/is-nullable-boolean.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-nullable-boolean.decorator.js +24 -0
- package/dist/src/decorator/validate/is-nullable-number-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-nullable-number-string.decorator.js +25 -0
- package/dist/src/decorator/validate/is-nullable-number.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-nullable-number.decorator.js +25 -0
- package/dist/src/decorator/validate/is-nullable-sql-date-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-nullable-sql-date-string.decorator.js +30 -0
- package/dist/src/decorator/validate/is-nullable-sql-date-time-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-nullable-sql-date-time-string.decorator.js +30 -0
- package/dist/src/decorator/validate/is-nullable-sql-time-string.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-nullable-sql-time-string.decorator.js +53 -0
- package/dist/src/decorator/validate/is-nullable-string.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-nullable-string.decorator.js +26 -0
- package/dist/src/decorator/validate/is-nullable.decorator.d.ts +1 -0
- package/dist/src/decorator/validate/is-nullable.decorator.js +11 -0
- package/dist/src/decorator/validate/is-optional-bigint.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-optional-bigint.decorator.js +24 -0
- package/dist/src/decorator/validate/is-optional-boolean-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-optional-boolean-string.decorator.js +24 -0
- package/dist/src/decorator/validate/is-optional-boolean.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-optional-boolean.decorator.js +24 -0
- package/dist/src/decorator/validate/is-optional-number-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-optional-number-string.decorator.js +25 -0
- package/dist/src/decorator/validate/is-optional-number.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-optional-number.decorator.js +25 -0
- package/dist/src/decorator/validate/is-optional-sql-date-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-optional-sql-date-string.decorator.js +30 -0
- package/dist/src/decorator/validate/is-optional-sql-date-time-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-optional-sql-date-time-string.decorator.js +30 -0
- package/dist/src/decorator/validate/is-optional-sql-time-string.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-optional-sql-time-string.decorator.js +56 -0
- package/dist/src/decorator/validate/is-optional-string.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-optional-string.decorator.js +26 -0
- package/dist/src/decorator/validate/is-undefinable-bigint.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-undefinable-bigint.decorator.js +24 -0
- package/dist/src/decorator/validate/is-undefinable-boolean-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-undefinable-boolean-string.decorator.js +24 -0
- package/dist/src/decorator/validate/is-undefinable-boolean.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-undefinable-boolean.decorator.js +24 -0
- package/dist/src/decorator/validate/is-undefinable-number-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-undefinable-number-string.decorator.js +25 -0
- package/dist/src/decorator/validate/is-undefinable-number.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-undefinable-number.decorator.js +25 -0
- package/dist/src/decorator/validate/is-undefinable-sql-date-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-undefinable-sql-date-string.decorator.js +30 -0
- package/dist/src/decorator/validate/is-undefinable-sql-date-time-string.decorator.d.ts +2 -0
- package/dist/src/decorator/validate/is-undefinable-sql-date-time-string.decorator.js +30 -0
- package/dist/src/decorator/validate/is-undefinable-sql-time.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-undefinable-sql-time.decorator.js +57 -0
- package/dist/src/decorator/validate/is-undefinable-string.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-undefinable-string.decorator.js +26 -0
- package/dist/src/decorator/validate/is-undefinable.decorator.d.ts +1 -0
- package/dist/src/decorator/validate/is-undefinable.decorator.js +11 -0
- package/dist/src/function/validate-with-header.decorators.d.ts +2 -0
- package/dist/src/function/validate-with-header.decorators.js +33 -0
- package/dist/src/util/is-boolean.d.ts +2 -0
- package/dist/src/util/is-boolean.js +11 -0
- package/dist/src/util/is-empty.d.ts +12 -0
- package/dist/src/util/is-empty.js +80 -0
- package/package.json +42 -0
- package/readme.md +71 -0
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
function IsNotEmptyString(validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'IsNotEmptyString',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName: propertyName,
|
|
12
|
+
options: validationOptions,
|
|
13
|
+
validator: {
|
|
14
|
+
validate(value) {
|
|
15
|
+
return (0, string_validator_function_1.stringValidator)(value, validationOptions?.blank);
|
|
16
|
+
},
|
|
17
|
+
defaultMessage(validationArguments) {
|
|
18
|
+
return `${validationArguments?.property} should be string`;
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.IsNotEmptyString = IsNotEmptyString;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
function IsNullableBigInt(validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'IsNullableBigInt',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName: propertyName,
|
|
12
|
+
options: validationOptions,
|
|
13
|
+
validator: {
|
|
14
|
+
validate(value) {
|
|
15
|
+
return typeof value === 'bigint' || (0, is_empty_1.isNull)(value);
|
|
16
|
+
},
|
|
17
|
+
defaultMessage(validationArguments) {
|
|
18
|
+
return `${validationArguments?.property} should be number or null`;
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.IsNullableBigInt = IsNullableBigInt;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
function IsNullableBooleanString(validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'IsNullableBooleanString',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName: propertyName,
|
|
12
|
+
options: validationOptions,
|
|
13
|
+
validator: {
|
|
14
|
+
validate(value) {
|
|
15
|
+
return (typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value)) || (0, is_empty_1.isNull)(value);
|
|
16
|
+
},
|
|
17
|
+
defaultMessage(validationArguments) {
|
|
18
|
+
return `${validationArguments?.property} should be boolean`;
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.IsNullableBooleanString = IsNullableBooleanString;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
function IsNullableBoolean(validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'IsNullableBoolean',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName: propertyName,
|
|
12
|
+
options: validationOptions,
|
|
13
|
+
validator: {
|
|
14
|
+
validate(value) {
|
|
15
|
+
return typeof value === 'boolean' || (0, is_empty_1.isNull)(value);
|
|
16
|
+
},
|
|
17
|
+
defaultMessage(validationArguments) {
|
|
18
|
+
return `${validationArguments?.property} should be boolean or null`;
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.IsNullableBoolean = IsNullableBoolean;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsNullableNumberString = 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
|
+
function IsNullableNumberString(validationOptions) {
|
|
8
|
+
return function (object, propertyName) {
|
|
9
|
+
(0, class_validator_1.registerDecorator)({
|
|
10
|
+
name: 'IsNullableNumberString',
|
|
11
|
+
target: object.constructor,
|
|
12
|
+
propertyName: propertyName,
|
|
13
|
+
options: validationOptions,
|
|
14
|
+
validator: {
|
|
15
|
+
validate(value) {
|
|
16
|
+
return (typeof value === 'string' && value.length > 0 && (0, is_boolean_1.isFalse)(isNaN(Number(value)))) || (0, is_empty_1.isNull)(value);
|
|
17
|
+
},
|
|
18
|
+
defaultMessage(validationArguments) {
|
|
19
|
+
return `${validationArguments?.property} should be number`;
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.IsNullableNumberString = IsNullableNumberString;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsNullableNumber = void 0;
|
|
4
|
+
const class_validator_1 = require("class-validator");
|
|
5
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
+
const is_boolean_1 = require("../../util/is-boolean");
|
|
7
|
+
function IsNullableNumber(validationOptions) {
|
|
8
|
+
return function (object, propertyName) {
|
|
9
|
+
(0, class_validator_1.registerDecorator)({
|
|
10
|
+
name: 'IsNullableNumber',
|
|
11
|
+
target: object.constructor,
|
|
12
|
+
propertyName: propertyName,
|
|
13
|
+
options: validationOptions,
|
|
14
|
+
validator: {
|
|
15
|
+
validate(value) {
|
|
16
|
+
return (typeof value === 'number' && (0, is_boolean_1.isFalse)(isNaN(value))) || (0, is_empty_1.isNull)(value);
|
|
17
|
+
},
|
|
18
|
+
defaultMessage(validationArguments) {
|
|
19
|
+
return `${validationArguments?.property} should be number or null`;
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.IsNullableNumber = IsNullableNumber;
|
|
@@ -0,0 +1,30 @@
|
|
|
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 is_empty_1 = require("../../util/is-empty");
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
9
|
+
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
10
|
+
const class_validator_1 = require("class-validator");
|
|
11
|
+
dayjs_1.default.extend(customParseFormat_1.default);
|
|
12
|
+
function IsNullableSqlDateString(validationOptions) {
|
|
13
|
+
return function (object, propertyName) {
|
|
14
|
+
(0, class_validator_1.registerDecorator)({
|
|
15
|
+
name: 'IsNullableSqlDateString',
|
|
16
|
+
target: object.constructor,
|
|
17
|
+
propertyName: propertyName,
|
|
18
|
+
options: validationOptions,
|
|
19
|
+
validator: {
|
|
20
|
+
validate(value) {
|
|
21
|
+
return (0, is_empty_1.isNull)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid());
|
|
22
|
+
},
|
|
23
|
+
defaultMessage(validationArguments) {
|
|
24
|
+
return `${validationArguments?.property} should be YYYY-MM-DD`;
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.IsNullableSqlDateString = IsNullableSqlDateString;
|
|
@@ -0,0 +1,30 @@
|
|
|
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 is_empty_1 = require("../../util/is-empty");
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
9
|
+
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
10
|
+
const class_validator_1 = require("class-validator");
|
|
11
|
+
dayjs_1.default.extend(customParseFormat_1.default);
|
|
12
|
+
function IsNullableSqlDateTimeString(validationOptions) {
|
|
13
|
+
return function (object, propertyName) {
|
|
14
|
+
(0, class_validator_1.registerDecorator)({
|
|
15
|
+
name: 'IsNullableSqlDateTimeString',
|
|
16
|
+
target: object.constructor,
|
|
17
|
+
propertyName: propertyName,
|
|
18
|
+
options: validationOptions,
|
|
19
|
+
validator: {
|
|
20
|
+
validate(value) {
|
|
21
|
+
return (0, is_empty_1.isNull)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD HH:mm:ss', true).isValid());
|
|
22
|
+
},
|
|
23
|
+
defaultMessage(validationArguments) {
|
|
24
|
+
return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.IsNullableSqlDateTimeString = IsNullableSqlDateTimeString;
|
|
@@ -0,0 +1,53 @@
|
|
|
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 is_empty_1 = require("../../util/is-empty");
|
|
28
|
+
const FF = __importStar(require("fp-ts/function"));
|
|
29
|
+
const FO = __importStar(require("fp-ts/Option"));
|
|
30
|
+
const class_validator_1 = require("class-validator");
|
|
31
|
+
function IsNullableSqlTimeString(validationOptions) {
|
|
32
|
+
return function (object, propertyName) {
|
|
33
|
+
(0, class_validator_1.registerDecorator)({
|
|
34
|
+
name: 'IsNullableSqlTimeString',
|
|
35
|
+
target: object.constructor,
|
|
36
|
+
propertyName: propertyName,
|
|
37
|
+
options: validationOptions,
|
|
38
|
+
validator: {
|
|
39
|
+
validate(value) {
|
|
40
|
+
return FF.pipe(value, FO.fromPredicate(refinement => (0, is_empty_1.isNull)(refinement)), FO.fold(() => {
|
|
41
|
+
return FF.pipe(value, FO.fromPredicate(refinement => typeof refinement === 'string'), FO.fold(() => false, () => {
|
|
42
|
+
return FF.pipe(validationOptions?.format, FO.fromPredicate(refinement => refinement === 'hh:mm'), FO.fold(() => RegExp(/^(?:(?:([01]\d|2[0-3]):)?([0-5]\d):)?([0-5]\d)$/).test(value), () => RegExp(/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(value)));
|
|
43
|
+
}));
|
|
44
|
+
}, () => true));
|
|
45
|
+
},
|
|
46
|
+
defaultMessage(validationArguments) {
|
|
47
|
+
return `${validationArguments?.property} should be YYYY-MM-DD`;
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
});
|
|
51
|
+
};
|
|
52
|
+
}
|
|
53
|
+
exports.IsNullableSqlTimeString = IsNullableSqlTimeString;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsNullableString = void 0;
|
|
4
|
+
const is_boolean_1 = require("../../util/is-boolean");
|
|
5
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
+
const class_validator_1 = require("class-validator");
|
|
7
|
+
const string_validator_function_1 = require("./function/string-validator.function");
|
|
8
|
+
function IsNullableString(validationOptions) {
|
|
9
|
+
return function (object, propertyName) {
|
|
10
|
+
(0, class_validator_1.registerDecorator)({
|
|
11
|
+
name: 'IsNullableString',
|
|
12
|
+
target: object.constructor,
|
|
13
|
+
propertyName: propertyName,
|
|
14
|
+
options: validationOptions,
|
|
15
|
+
validator: {
|
|
16
|
+
validate(value) {
|
|
17
|
+
return (0, is_boolean_1.isTrue)((0, string_validator_function_1.stringValidator)(value, validationOptions?.blank)) || (0, is_empty_1.isNull)(value);
|
|
18
|
+
},
|
|
19
|
+
defaultMessage(validationArguments) {
|
|
20
|
+
return `${validationArguments?.property} should be string or null`;
|
|
21
|
+
},
|
|
22
|
+
},
|
|
23
|
+
});
|
|
24
|
+
};
|
|
25
|
+
}
|
|
26
|
+
exports.IsNullableString = IsNullableString;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function 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
|
+
function 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,24 @@
|
|
|
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
|
+
function IsOptionalBigInt(validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'IsOptionalBigInt',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName: propertyName,
|
|
12
|
+
options: validationOptions,
|
|
13
|
+
validator: {
|
|
14
|
+
validate(value) {
|
|
15
|
+
return typeof value === 'bigint' || (0, is_empty_1.isEmptySimple)(value);
|
|
16
|
+
},
|
|
17
|
+
defaultMessage(validationArguments) {
|
|
18
|
+
return `${validationArguments?.property} should be string or null or undefined`;
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.IsOptionalBigInt = IsOptionalBigInt;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
function IsOptionalBooleanString(validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'IsOptionalBooleanString',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName: propertyName,
|
|
12
|
+
options: validationOptions,
|
|
13
|
+
validator: {
|
|
14
|
+
validate(value) {
|
|
15
|
+
return ((typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value)) || (0, is_empty_1.isEmptySimple)(value));
|
|
16
|
+
},
|
|
17
|
+
defaultMessage(validationArguments) {
|
|
18
|
+
return `${validationArguments?.property} should be boolean or null or undefined`;
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.IsOptionalBooleanString = IsOptionalBooleanString;
|
|
@@ -0,0 +1,24 @@
|
|
|
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
|
+
function IsOptionalBoolean(validationOptions) {
|
|
7
|
+
return function (object, propertyName) {
|
|
8
|
+
(0, class_validator_1.registerDecorator)({
|
|
9
|
+
name: 'IsOptionalBoolean',
|
|
10
|
+
target: object.constructor,
|
|
11
|
+
propertyName: propertyName,
|
|
12
|
+
options: validationOptions,
|
|
13
|
+
validator: {
|
|
14
|
+
validate(value) {
|
|
15
|
+
return typeof value === 'boolean' || (0, is_empty_1.isEmptySimple)(value);
|
|
16
|
+
},
|
|
17
|
+
defaultMessage(validationArguments) {
|
|
18
|
+
return `${validationArguments?.property} should be boolean or null or undefined`;
|
|
19
|
+
},
|
|
20
|
+
},
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
exports.IsOptionalBoolean = IsOptionalBoolean;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsOptionalNumberString = void 0;
|
|
4
|
+
const is_boolean_1 = require("../../util/is-boolean");
|
|
5
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
+
const class_validator_1 = require("class-validator");
|
|
7
|
+
function IsOptionalNumberString(validationOptions) {
|
|
8
|
+
return function (object, propertyName) {
|
|
9
|
+
(0, class_validator_1.registerDecorator)({
|
|
10
|
+
name: 'IsOptionalNumberString',
|
|
11
|
+
target: object.constructor,
|
|
12
|
+
propertyName: propertyName,
|
|
13
|
+
options: validationOptions,
|
|
14
|
+
validator: {
|
|
15
|
+
validate(value) {
|
|
16
|
+
return (typeof value === 'string' && value.length > 0 && (0, is_boolean_1.isFalse)(isNaN(Number(value)))) || (0, is_empty_1.isEmptySimple)(value);
|
|
17
|
+
},
|
|
18
|
+
defaultMessage(validationArguments) {
|
|
19
|
+
return `${validationArguments?.property} should be number`;
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.IsOptionalNumberString = IsOptionalNumberString;
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.IsOptionalNumber = void 0;
|
|
4
|
+
const is_boolean_1 = require("../../util/is-boolean");
|
|
5
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
+
const class_validator_1 = require("class-validator");
|
|
7
|
+
function IsOptionalNumber(validationOptions) {
|
|
8
|
+
return function (object, propertyName) {
|
|
9
|
+
(0, class_validator_1.registerDecorator)({
|
|
10
|
+
name: 'IsOptionalNumber',
|
|
11
|
+
target: object.constructor,
|
|
12
|
+
propertyName: propertyName,
|
|
13
|
+
options: validationOptions,
|
|
14
|
+
validator: {
|
|
15
|
+
validate(value) {
|
|
16
|
+
return (typeof value === 'number' && (0, is_boolean_1.isFalse)(isNaN(value))) || (0, is_empty_1.isEmptySimple)(value);
|
|
17
|
+
},
|
|
18
|
+
defaultMessage(validationArguments) {
|
|
19
|
+
return `${validationArguments?.property} should be number or null or undefined`;
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
exports.IsOptionalNumber = IsOptionalNumber;
|
|
@@ -0,0 +1,30 @@
|
|
|
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.IsOptionalSqlDateString = void 0;
|
|
7
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
8
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
9
|
+
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
10
|
+
const class_validator_1 = require("class-validator");
|
|
11
|
+
dayjs_1.default.extend(customParseFormat_1.default);
|
|
12
|
+
function IsOptionalSqlDateString(validationOptions) {
|
|
13
|
+
return function (object, propertyName) {
|
|
14
|
+
(0, class_validator_1.registerDecorator)({
|
|
15
|
+
name: 'IsOptionalSqlDateString',
|
|
16
|
+
target: object.constructor,
|
|
17
|
+
propertyName: propertyName,
|
|
18
|
+
options: validationOptions,
|
|
19
|
+
validator: {
|
|
20
|
+
validate(value) {
|
|
21
|
+
return (0, is_empty_1.isEmptySimple)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid());
|
|
22
|
+
},
|
|
23
|
+
defaultMessage(validationArguments) {
|
|
24
|
+
return `${validationArguments?.property} should be YYYY-MM-DD`;
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.IsOptionalSqlDateString = IsOptionalSqlDateString;
|
|
@@ -0,0 +1,30 @@
|
|
|
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.IsOptionalSqlDateTimeString = void 0;
|
|
7
|
+
const dayjs_1 = __importDefault(require("dayjs"));
|
|
8
|
+
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
|
+
dayjs_1.default.extend(customParseFormat_1.default);
|
|
12
|
+
function IsOptionalSqlDateTimeString(validationOptions) {
|
|
13
|
+
return function (object, propertyName) {
|
|
14
|
+
(0, class_validator_1.registerDecorator)({
|
|
15
|
+
name: 'IsOptionalSqlDateTimeString',
|
|
16
|
+
target: object.constructor,
|
|
17
|
+
propertyName: propertyName,
|
|
18
|
+
options: validationOptions,
|
|
19
|
+
validator: {
|
|
20
|
+
validate(value) {
|
|
21
|
+
return (0, is_empty_1.isEmptySimple)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD HH:mm:ss', true).isValid());
|
|
22
|
+
},
|
|
23
|
+
defaultMessage(validationArguments) {
|
|
24
|
+
return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
|
|
25
|
+
},
|
|
26
|
+
},
|
|
27
|
+
});
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
exports.IsOptionalSqlDateTimeString = IsOptionalSqlDateTimeString;
|
|
@@ -0,0 +1,56 @@
|
|
|
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.IsOptionalSqlTimeString = void 0;
|
|
27
|
+
const FF = __importStar(require("fp-ts/function"));
|
|
28
|
+
const FO = __importStar(require("fp-ts/Option"));
|
|
29
|
+
const class_validator_1 = require("class-validator");
|
|
30
|
+
function IsOptionalSqlTimeString(validationOptions) {
|
|
31
|
+
return function (object, propertyName) {
|
|
32
|
+
(0, class_validator_1.registerDecorator)({
|
|
33
|
+
name: 'IsOptionalSQLTimeString',
|
|
34
|
+
target: object.constructor,
|
|
35
|
+
propertyName: propertyName,
|
|
36
|
+
options: validationOptions,
|
|
37
|
+
validator: {
|
|
38
|
+
validate(value) {
|
|
39
|
+
return FF.pipe(value, FO.fromNullable, FO.fold(() => true, right => {
|
|
40
|
+
return FF.pipe(right, FO.fromPredicate(refinement => typeof refinement === 'string'), FO.fold(() => false, () => {
|
|
41
|
+
return FF.pipe(validationOptions?.format, FO.fromPredicate(refinement => refinement === 'hh:mm'), FO.fold(() => {
|
|
42
|
+
return RegExp(/^(?:(?:([01]\d|2[0-3]):)?([0-5]\d):)?([0-5]\d)$/).test(value);
|
|
43
|
+
}, () => {
|
|
44
|
+
return RegExp(/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(value);
|
|
45
|
+
}));
|
|
46
|
+
}));
|
|
47
|
+
}));
|
|
48
|
+
},
|
|
49
|
+
defaultMessage(validationArguments) {
|
|
50
|
+
return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
});
|
|
54
|
+
};
|
|
55
|
+
}
|
|
56
|
+
exports.IsOptionalSqlTimeString = IsOptionalSqlTimeString;
|