custom-class-validator-tools 1.0.55 → 1.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +4 -0
- package/dist/index.js +4 -0
- package/dist/src/decorator/validate/is-not-empty-bigint-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-not-empty-bigint-string.decorator.js +15 -18
- package/dist/src/decorator/validate/is-not-empty-bigint.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-not-empty-bigint.decorator.js +12 -17
- package/dist/src/decorator/validate/is-not-empty-boolean-number.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-not-empty-boolean-number.decorator.js +51 -0
- package/dist/src/decorator/validate/is-not-empty-boolean-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-not-empty-boolean-string.decorator.js +14 -17
- package/dist/src/decorator/validate/is-not-empty-boolean.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-not-empty-boolean.decorator.js +12 -17
- package/dist/src/decorator/validate/is-not-empty-number-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-not-empty-number-string.decorator.js +19 -23
- package/dist/src/decorator/validate/is-not-empty-number.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-not-empty-number.decorator.js +17 -21
- package/dist/src/decorator/validate/is-not-empty-sql-date-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-not-empty-sql-date-string.decorator.js +13 -19
- package/dist/src/decorator/validate/is-not-empty-sql-date-time-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-not-empty-sql-date-time-string.decorator.js +13 -19
- package/dist/src/decorator/validate/is-not-empty-sql-time-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-not-empty-sql-time-string.decorator.js +18 -21
- package/dist/src/decorator/validate/is-not-empty-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-not-empty-string.decorator.js +12 -17
- package/dist/src/decorator/validate/is-nullable-bigint.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-nullable-bigint.decorator.js +12 -17
- package/dist/src/decorator/validate/is-nullable-boolean-number.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-nullable-boolean-number.decorator.js +52 -0
- package/dist/src/decorator/validate/is-nullable-boolean-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-nullable-boolean-string.decorator.js +14 -17
- package/dist/src/decorator/validate/is-nullable-boolean.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-nullable-boolean.decorator.js +12 -17
- package/dist/src/decorator/validate/is-nullable-number-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-nullable-number-string.decorator.js +20 -23
- package/dist/src/decorator/validate/is-nullable-number.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-nullable-number.decorator.js +19 -22
- package/dist/src/decorator/validate/is-nullable-sql-date-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-nullable-sql-date-string.decorator.js +16 -19
- package/dist/src/decorator/validate/is-nullable-sql-date-time-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-nullable-sql-date-time-string.decorator.js +16 -19
- package/dist/src/decorator/validate/is-nullable-sql-time-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-nullable-sql-time-string.decorator.js +20 -23
- package/dist/src/decorator/validate/is-nullable-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-nullable-string.decorator.js +13 -18
- package/dist/src/decorator/validate/is-nullable.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-nullable.decorator.js +2 -2
- package/dist/src/decorator/validate/is-optional-bigint.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-optional-bigint.decorator.js +12 -17
- package/dist/src/decorator/validate/is-optional-boolean-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-optional-boolean-string.decorator.js +14 -17
- package/dist/src/decorator/validate/is-optional-boolean.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-optional-boolean.decorator.js +12 -17
- package/dist/src/decorator/validate/is-optional-number-boolean.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-optional-number-boolean.decorator.js +52 -0
- package/dist/src/decorator/validate/is-optional-number-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-optional-number-string.decorator.js +19 -22
- package/dist/src/decorator/validate/is-optional-number.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-optional-number.decorator.js +19 -22
- package/dist/src/decorator/validate/is-optional-sql-date-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-optional-sql-date-string.decorator.js +16 -19
- package/dist/src/decorator/validate/is-optional-sql-date-time-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-optional-sql-date-time-string.decorator.js +15 -18
- package/dist/src/decorator/validate/is-optional-sql-time-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-optional-sql-time-string.decorator.js +23 -26
- package/dist/src/decorator/validate/is-optional-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-optional-string.decorator.js +13 -18
- package/dist/src/decorator/validate/is-undefinable-bigint.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-undefinable-bigint.decorator.js +13 -18
- package/dist/src/decorator/validate/is-undefinable-boolean-number.decorator.d.ts +4 -0
- package/dist/src/decorator/validate/is-undefinable-boolean-number.decorator.js +52 -0
- package/dist/src/decorator/validate/is-undefinable-boolean-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-undefinable-boolean-string.decorator.js +13 -18
- package/dist/src/decorator/validate/is-undefinable-boolean.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-undefinable-boolean.decorator.js +13 -18
- package/dist/src/decorator/validate/is-undefinable-number-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-undefinable-number-string.decorator.js +21 -23
- package/dist/src/decorator/validate/is-undefinable-number.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-undefinable-number.decorator.js +19 -22
- package/dist/src/decorator/validate/is-undefinable-sql-date-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-undefinable-sql-date-string.decorator.js +13 -18
- package/dist/src/decorator/validate/is-undefinable-sql-date-time-string.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-undefinable-sql-date-time-string.decorator.js +14 -19
- package/dist/src/decorator/validate/is-undefinable-sql-time.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-undefinable-sql-time.decorator.js +24 -27
- package/dist/src/decorator/validate/is-undefinable-string.decorator.d.ts +2 -2
- package/dist/src/decorator/validate/is-undefinable-string.decorator.js +13 -18
- package/dist/src/decorator/validate/is-undefinable.decorator.d.ts +1 -1
- package/dist/src/decorator/validate/is-undefinable.decorator.js +2 -2
- package/package.json +1 -1
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsOptionalBoolean: (validationOptions?: ValidationOptions) => PropertyDecorator;
|
|
@@ -3,22 +3,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.IsOptionalBoolean = void 0;
|
|
4
4
|
const class_validator_1 = require("class-validator");
|
|
5
5
|
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
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
|
-
},
|
|
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`;
|
|
20
15
|
},
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
16
|
+
},
|
|
17
|
+
}, validationOptions);
|
|
18
|
+
};
|
|
24
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;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsOptionalNumberString: (validationOptions?: ValidationOptions & {
|
|
3
3
|
isFloat?: boolean;
|
|
4
|
-
})
|
|
4
|
+
}) => PropertyDecorator;
|
|
@@ -24,30 +24,27 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.IsOptionalNumberString = void 0;
|
|
27
|
-
const is_boolean_1 = require("../../util/is-boolean");
|
|
28
27
|
const class_validator_1 = require("class-validator");
|
|
29
28
|
const FF = __importStar(require("fp-ts/function"));
|
|
30
29
|
const FO = __importStar(require("fp-ts/Option"));
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
return `${validationArguments?.property} should be number`;
|
|
48
|
-
},
|
|
30
|
+
const is_boolean_1 = require("../../util/is-boolean");
|
|
31
|
+
const isOptionalNumberString = (value, validationOptions) => {
|
|
32
|
+
return FF.pipe(value, FO.fromNullable, FO.fold(() => true, () => {
|
|
33
|
+
const numberValue = Number(value);
|
|
34
|
+
const isNumber = typeof value === 'string' && value.length > 0 && (0, is_boolean_1.isFalse)(isNaN(numberValue));
|
|
35
|
+
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)));
|
|
36
|
+
}));
|
|
37
|
+
};
|
|
38
|
+
const IsOptionalNumberString = (validationOptions) => {
|
|
39
|
+
return (0, class_validator_1.ValidateBy)({
|
|
40
|
+
name: 'IsOptionalString',
|
|
41
|
+
constraints: [validationOptions],
|
|
42
|
+
validator: {
|
|
43
|
+
validate: (value) => isOptionalNumberString(value, validationOptions),
|
|
44
|
+
defaultMessage(validationArguments) {
|
|
45
|
+
return `${validationArguments?.property} should be string or null or undefined`;
|
|
49
46
|
},
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
47
|
+
},
|
|
48
|
+
}, validationOptions);
|
|
49
|
+
};
|
|
53
50
|
exports.IsOptionalNumberString = IsOptionalNumberString;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsOptionalNumber: (validationOptions?: ValidationOptions & {
|
|
3
3
|
isFloat?: boolean;
|
|
4
|
-
})
|
|
4
|
+
}) => PropertyDecorator;
|
|
@@ -24,29 +24,26 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.IsOptionalNumber = void 0;
|
|
27
|
-
const
|
|
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
|
|
31
|
-
|
|
32
|
-
return
|
|
33
|
-
(0,
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
}
|
|
45
|
-
defaultMessage(validationArguments) {
|
|
46
|
-
return `${validationArguments?.property} should be number or null or undefined`;
|
|
47
|
-
},
|
|
30
|
+
const is_boolean_1 = require("../../util/is-boolean");
|
|
31
|
+
const isOptionalNumber = (value, validationOptions) => {
|
|
32
|
+
return FF.pipe(value, FO.fromNullable, FO.fold(() => true, () => {
|
|
33
|
+
const isNumber = typeof value === 'number' && (0, is_boolean_1.isFalse)(isNaN(value));
|
|
34
|
+
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)));
|
|
35
|
+
}));
|
|
36
|
+
};
|
|
37
|
+
const IsOptionalNumber = (validationOptions) => {
|
|
38
|
+
return (0, class_validator_1.ValidateBy)({
|
|
39
|
+
name: 'IsOptionalNumber',
|
|
40
|
+
constraints: [validationOptions],
|
|
41
|
+
validator: {
|
|
42
|
+
validate: (value) => isOptionalNumber(value, validationOptions),
|
|
43
|
+
defaultMessage(validationArguments) {
|
|
44
|
+
return `${validationArguments?.property} should be number or null or undefined`;
|
|
48
45
|
},
|
|
49
|
-
}
|
|
50
|
-
};
|
|
51
|
-
}
|
|
46
|
+
},
|
|
47
|
+
}, validationOptions);
|
|
48
|
+
};
|
|
52
49
|
exports.IsOptionalNumber = IsOptionalNumber;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsOptionalSqlDateString: (validationOptions?: ValidationOptions) => PropertyDecorator;
|
|
@@ -4,27 +4,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.IsOptionalSqlDateString = void 0;
|
|
7
|
-
const
|
|
7
|
+
const class_validator_1 = require("class-validator");
|
|
8
8
|
const dayjs_1 = __importDefault(require("dayjs"));
|
|
9
9
|
const customParseFormat_1 = __importDefault(require("dayjs/plugin/customParseFormat"));
|
|
10
|
-
const
|
|
10
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
11
11
|
dayjs_1.default.extend(customParseFormat_1.default);
|
|
12
|
-
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
defaultMessage(validationArguments) {
|
|
24
|
-
return `${validationArguments?.property} should be YYYY-MM-DD`;
|
|
25
|
-
},
|
|
12
|
+
const isOptionalSqlDateString = (value) => {
|
|
13
|
+
return (0, is_empty_1.isEmptySimple)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid());
|
|
14
|
+
};
|
|
15
|
+
const IsOptionalSqlDateString = (validationOptions) => {
|
|
16
|
+
return (0, class_validator_1.ValidateBy)({
|
|
17
|
+
name: 'IsOptionalSqlDateString',
|
|
18
|
+
constraints: [validationOptions],
|
|
19
|
+
validator: {
|
|
20
|
+
validate: (value) => isOptionalSqlDateString(value),
|
|
21
|
+
defaultMessage(validationArguments) {
|
|
22
|
+
return `${validationArguments?.property} should be YYYY-MM-DD or null or undefined`;
|
|
26
23
|
},
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
24
|
+
},
|
|
25
|
+
}, validationOptions);
|
|
26
|
+
};
|
|
30
27
|
exports.IsOptionalSqlDateString = IsOptionalSqlDateString;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsOptionalSqlDateTimeString: (validationOptions?: ValidationOptions) => PropertyDecorator;
|
|
@@ -4,27 +4,24 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.IsOptionalSqlDateTimeString = 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
10
|
const is_empty_1 = require("../../util/is-empty");
|
|
11
11
|
dayjs_1.default.extend(customParseFormat_1.default);
|
|
12
|
-
|
|
13
|
-
return
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
}
|
|
23
|
-
defaultMessage(validationArguments) {
|
|
24
|
-
return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
|
|
25
|
-
},
|
|
12
|
+
const isOptionalSqlDateTimeString = (value) => {
|
|
13
|
+
return (0, is_empty_1.isEmptySimple)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD HH:mm:ss', true).isValid());
|
|
14
|
+
};
|
|
15
|
+
const IsOptionalSqlDateTimeString = (validationOptions) => {
|
|
16
|
+
return (0, class_validator_1.ValidateBy)({
|
|
17
|
+
name: 'IsOptionalSqlDateTimeString',
|
|
18
|
+
constraints: [validationOptions],
|
|
19
|
+
validator: {
|
|
20
|
+
validate: (value) => isOptionalSqlDateTimeString(value),
|
|
21
|
+
defaultMessage(validationArguments) {
|
|
22
|
+
return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
|
|
26
23
|
},
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
24
|
+
},
|
|
25
|
+
}, validationOptions);
|
|
26
|
+
};
|
|
30
27
|
exports.IsOptionalSqlDateTimeString = IsOptionalSqlDateTimeString;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsOptionalSqlTimeString: (validationOptions?: ValidationOptions & {
|
|
3
3
|
format?: 'hh:mm' | 'hh:mm:ss';
|
|
4
|
-
})
|
|
4
|
+
}) => PropertyDecorator;
|
|
@@ -24,33 +24,30 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.IsOptionalSqlTimeString = void 0;
|
|
27
|
+
const class_validator_1 = require("class-validator");
|
|
27
28
|
const FF = __importStar(require("fp-ts/function"));
|
|
28
29
|
const FO = __importStar(require("fp-ts/Option"));
|
|
29
|
-
const
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
},
|
|
49
|
-
defaultMessage(validationArguments) {
|
|
50
|
-
return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
|
|
51
|
-
},
|
|
30
|
+
const isOptionalSqlTimeString = (value, validationOptions) => {
|
|
31
|
+
return FF.pipe(value, FO.fromNullable, FO.fold(() => true, right => {
|
|
32
|
+
return FF.pipe(right, FO.fromPredicate(refinement => typeof refinement === 'string'), FO.fold(() => false, () => {
|
|
33
|
+
return FF.pipe(validationOptions?.format, FO.fromPredicate(refinement => refinement === 'hh:mm'), FO.fold(() => {
|
|
34
|
+
return RegExp(/^(?:(?:([01]\d|2[0-3]):)?([0-5]\d):)?([0-5]\d)$/).test(value);
|
|
35
|
+
}, () => {
|
|
36
|
+
return RegExp(/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(value);
|
|
37
|
+
}));
|
|
38
|
+
}));
|
|
39
|
+
}));
|
|
40
|
+
};
|
|
41
|
+
const IsOptionalSqlTimeString = (validationOptions) => {
|
|
42
|
+
return (0, class_validator_1.ValidateBy)({
|
|
43
|
+
name: 'IsOptionalSqlTimeString',
|
|
44
|
+
constraints: [validationOptions],
|
|
45
|
+
validator: {
|
|
46
|
+
validate: (value) => isOptionalSqlTimeString(value, validationOptions),
|
|
47
|
+
defaultMessage(validationArguments) {
|
|
48
|
+
return `${validationArguments?.property} should be YYYY-MM-DD ${validationOptions?.format ?? 'hh:mm:ss'} or null or undefined`;
|
|
52
49
|
},
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
}
|
|
50
|
+
},
|
|
51
|
+
}, validationOptions);
|
|
52
|
+
};
|
|
56
53
|
exports.IsOptionalSqlTimeString = IsOptionalSqlTimeString;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsOptionalString: (validationOptions?: ValidationOptions & {
|
|
3
3
|
blank?: boolean;
|
|
4
|
-
})
|
|
4
|
+
}) => PropertyDecorator;
|
|
@@ -1,26 +1,21 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IsOptionalString = void 0;
|
|
4
|
+
const class_validator_1 = require("class-validator");
|
|
4
5
|
const is_boolean_1 = require("../../util/is-boolean");
|
|
5
6
|
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
-
const class_validator_1 = require("class-validator");
|
|
7
7
|
const string_validator_function_1 = require("./function/string-validator.function");
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
return (0, is_boolean_1.isTrue)((0, string_validator_function_1.stringValidator)(value, validationOptions?.blank)) || (0, is_empty_1.isEmptySimple)(value);
|
|
18
|
-
},
|
|
19
|
-
defaultMessage(validationArguments) {
|
|
20
|
-
return `${validationArguments?.property} should be string or null or undefined`;
|
|
21
|
-
},
|
|
8
|
+
const isOptionalString = (value, validationOptions) => (0, is_boolean_1.isTrue)((0, string_validator_function_1.stringValidator)(value, validationOptions?.blank)) || (0, is_empty_1.isEmptySimple)(value);
|
|
9
|
+
const IsOptionalString = (validationOptions) => {
|
|
10
|
+
return (0, class_validator_1.ValidateBy)({
|
|
11
|
+
name: 'IsOptionalString',
|
|
12
|
+
constraints: [validationOptions],
|
|
13
|
+
validator: {
|
|
14
|
+
validate: (value) => isOptionalString(value, validationOptions),
|
|
15
|
+
defaultMessage(validationArguments) {
|
|
16
|
+
return `${validationArguments?.property} should be string or null or undefined`;
|
|
22
17
|
},
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
18
|
+
},
|
|
19
|
+
}, validationOptions);
|
|
20
|
+
};
|
|
26
21
|
exports.IsOptionalString = IsOptionalString;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableBigInt: (validationOptions?: ValidationOptions) => PropertyDecorator;
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IsUndefinableBigInt = void 0;
|
|
4
|
-
const is_empty_1 = require("../../util/is-empty");
|
|
5
4
|
const class_validator_1 = require("class-validator");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
defaultMessage(validationArguments) {
|
|
18
|
-
return `${validationArguments?.property} should be string or undefined`;
|
|
19
|
-
},
|
|
5
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
+
const isUndefinableBigInt = (value) => typeof value === 'bigint' || (0, is_empty_1.isUndefined)(value);
|
|
7
|
+
const IsUndefinableBigInt = (validationOptions) => {
|
|
8
|
+
return (0, class_validator_1.ValidateBy)({
|
|
9
|
+
name: 'IsUndefinableBigInt',
|
|
10
|
+
constraints: [validationOptions],
|
|
11
|
+
validator: {
|
|
12
|
+
validate: (value) => isUndefinableBigInt(value),
|
|
13
|
+
defaultMessage(validationArguments) {
|
|
14
|
+
return `${validationArguments?.property} should be bigint or null or undefined`;
|
|
20
15
|
},
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
16
|
+
},
|
|
17
|
+
}, validationOptions);
|
|
18
|
+
};
|
|
24
19
|
exports.IsUndefinableBigInt = IsUndefinableBigInt;
|
|
@@ -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.IsUndefinableBooleanNumber = 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 isUndefinableBooleanNumber = (value, validationOptions) => {
|
|
34
|
+
return FF.pipe(value, FO.fromPredicate(predicate => (0, is_empty_1.isNotUndefined)(predicate)), FO.fold(() => true, notUndefinedValue => {
|
|
35
|
+
return FF.pipe(notUndefinedValue, 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 IsUndefinableBooleanNumber = (validationOptions) => {
|
|
41
|
+
return (0, class_validator_1.ValidateBy)({
|
|
42
|
+
name: 'IsUndefinableBooleanNumber',
|
|
43
|
+
constraints: [validationOptions],
|
|
44
|
+
validator: {
|
|
45
|
+
validate: (value) => isUndefinableBooleanNumber(value, validationOptions),
|
|
46
|
+
defaultMessage(validationArguments) {
|
|
47
|
+
return `${validationArguments?.property} should be boolean number or undefined`;
|
|
48
|
+
},
|
|
49
|
+
},
|
|
50
|
+
}, validationOptions);
|
|
51
|
+
};
|
|
52
|
+
exports.IsUndefinableBooleanNumber = IsUndefinableBooleanNumber;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableBooleanString: (validationOptions?: ValidationOptions) => PropertyDecorator;
|
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IsUndefinableBooleanString = void 0;
|
|
4
|
-
const is_empty_1 = require("../../util/is-empty");
|
|
5
4
|
const class_validator_1 = require("class-validator");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
},
|
|
17
|
-
defaultMessage(validationArguments) {
|
|
18
|
-
return `${validationArguments?.property} should be boolean or null or undefined`;
|
|
19
|
-
},
|
|
5
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
+
const isUndefinableBooleanString = (value) => (typeof value === 'string' && value.length > 0 && ['true', 'false'].includes(value)) || (0, is_empty_1.isUndefined)(value);
|
|
7
|
+
const IsUndefinableBooleanString = (validationOptions) => {
|
|
8
|
+
return (0, class_validator_1.ValidateBy)({
|
|
9
|
+
name: 'IsUndefinableBooleanString',
|
|
10
|
+
constraints: [validationOptions],
|
|
11
|
+
validator: {
|
|
12
|
+
validate: (value) => isUndefinableBooleanString(value),
|
|
13
|
+
defaultMessage(validationArguments) {
|
|
14
|
+
return `${validationArguments?.property} should be boolean string or null or undefined`;
|
|
20
15
|
},
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
16
|
+
},
|
|
17
|
+
}, validationOptions);
|
|
18
|
+
};
|
|
24
19
|
exports.IsUndefinableBooleanString = IsUndefinableBooleanString;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableBoolean: (validationOptions?: ValidationOptions) => PropertyDecorator;
|