custom-class-validator-tools 1.0.54 → 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 +2 -2
|
@@ -1,24 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IsUndefinableBoolean = 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 undefined`;
|
|
19
|
-
},
|
|
5
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
+
const isUndefinableBoolean = (value) => typeof value === 'boolean' || (0, is_empty_1.isUndefined)(value);
|
|
7
|
+
const IsUndefinableBoolean = (validationOptions) => {
|
|
8
|
+
return (0, class_validator_1.ValidateBy)({
|
|
9
|
+
name: 'IsUndefinedBoolean',
|
|
10
|
+
constraints: [validationOptions],
|
|
11
|
+
validator: {
|
|
12
|
+
validate: (value) => isUndefinableBoolean(value),
|
|
13
|
+
defaultMessage(validationArguments) {
|
|
14
|
+
return `${validationArguments?.property} should be boolean or undefined`;
|
|
20
15
|
},
|
|
21
|
-
}
|
|
22
|
-
};
|
|
23
|
-
}
|
|
16
|
+
},
|
|
17
|
+
}, validationOptions);
|
|
18
|
+
};
|
|
24
19
|
exports.IsUndefinableBoolean = IsUndefinableBoolean;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableNumberString: (validationOptions?: ValidationOptions & {
|
|
3
3
|
isFloat?: boolean;
|
|
4
|
-
})
|
|
4
|
+
}) => PropertyDecorator;
|
|
@@ -24,31 +24,29 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.IsUndefinableNumberString = void 0;
|
|
27
|
-
const is_boolean_1 = require("../../util/is-boolean");
|
|
28
|
-
const is_empty_1 = require("../../util/is-empty");
|
|
29
27
|
const class_validator_1 = require("class-validator");
|
|
30
28
|
const FF = __importStar(require("fp-ts/function"));
|
|
31
29
|
const FO = __importStar(require("fp-ts/Option"));
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
30
|
+
const is_boolean_1 = require("../../util/is-boolean");
|
|
31
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
32
|
+
const isUndefinableNumberString = (value, validationOptions) => {
|
|
33
|
+
if ((0, is_empty_1.isUndefined)(value)) {
|
|
34
|
+
return true;
|
|
35
|
+
}
|
|
36
|
+
const numberValue = +value;
|
|
37
|
+
const isNumber = (typeof value === 'string' && value.length > 0 && (0, is_boolean_1.isFalse)(isNaN(numberValue))) || (0, is_empty_1.isUndefined)(value);
|
|
38
|
+
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)));
|
|
39
|
+
};
|
|
40
|
+
const IsUndefinableNumberString = (validationOptions) => {
|
|
41
|
+
return (0, class_validator_1.ValidateBy)({
|
|
42
|
+
name: 'IsUndefinableNumberString',
|
|
43
|
+
constraints: [validationOptions],
|
|
44
|
+
validator: {
|
|
45
|
+
validate: (value) => isUndefinableNumberString(value, validationOptions),
|
|
46
|
+
defaultMessage(validationArguments) {
|
|
47
|
+
return `${validationArguments?.property} should be number or undefined`;
|
|
50
48
|
},
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
}
|
|
49
|
+
},
|
|
50
|
+
}, validationOptions);
|
|
51
|
+
};
|
|
54
52
|
exports.IsUndefinableNumberString = IsUndefinableNumberString;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableNumber: (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.IsUndefinableNumber = void 0;
|
|
27
|
-
const is_boolean_1 = require("../../util/is-boolean");
|
|
28
|
-
const is_empty_1 = require("../../util/is-empty");
|
|
29
27
|
const class_validator_1 = require("class-validator");
|
|
30
28
|
const FF = __importStar(require("fp-ts/function"));
|
|
31
29
|
const FO = __importStar(require("fp-ts/Option"));
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
},
|
|
30
|
+
const is_boolean_1 = require("../../util/is-boolean");
|
|
31
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
32
|
+
const isUndefinableNumber = (value, validationOptions) => {
|
|
33
|
+
return FF.pipe(value, FO.fromPredicate(predicate => (0, is_empty_1.isNotUndefined)(predicate)), FO.fold(() => true, () => {
|
|
34
|
+
const isNumber = typeof value === 'number' && (0, is_boolean_1.isFalse)(isNaN(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
|
+
}));
|
|
37
|
+
};
|
|
38
|
+
const IsUndefinableNumber = (validationOptions) => {
|
|
39
|
+
return (0, class_validator_1.ValidateBy)({
|
|
40
|
+
name: 'IsUndefinableNumber',
|
|
41
|
+
constraints: [validationOptions],
|
|
42
|
+
validator: {
|
|
43
|
+
validate: (value) => isUndefinableNumber(value, validationOptions),
|
|
44
|
+
defaultMessage(validationArguments) {
|
|
45
|
+
return `${validationArguments?.property} should be number or null or undefined`;
|
|
49
46
|
},
|
|
50
|
-
}
|
|
51
|
-
};
|
|
52
|
-
}
|
|
47
|
+
},
|
|
48
|
+
}, validationOptions);
|
|
49
|
+
};
|
|
53
50
|
exports.IsUndefinableNumber = IsUndefinableNumber;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableSQLDateString: (validationOptions?: ValidationOptions) => PropertyDecorator;
|
|
@@ -4,27 +4,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.IsUndefinableSQLDateString = 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
10
|
const is_empty_1 = require("../../util/is-empty");
|
|
10
|
-
const class_validator_1 = require("class-validator");
|
|
11
11
|
dayjs_1.default.extend(customParseFormat_1.default);
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return (0, is_empty_1.isUndefined)(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
|
-
},
|
|
12
|
+
const isUndefinableSQLDateString = (value) => (0, is_empty_1.isUndefined)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD', true).isValid());
|
|
13
|
+
const IsUndefinableSQLDateString = (validationOptions) => {
|
|
14
|
+
return (0, class_validator_1.ValidateBy)({
|
|
15
|
+
name: 'IsUndefinableSQLDateString',
|
|
16
|
+
constraints: [validationOptions],
|
|
17
|
+
validator: {
|
|
18
|
+
validate: (value) => isUndefinableSQLDateString(value),
|
|
19
|
+
defaultMessage(validationArguments) {
|
|
20
|
+
return `${validationArguments?.property} should be YYYY-MM-DD or undefined`;
|
|
26
21
|
},
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
22
|
+
},
|
|
23
|
+
}, validationOptions);
|
|
24
|
+
};
|
|
30
25
|
exports.IsUndefinableSQLDateString = IsUndefinableSQLDateString;
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableSQLDateTimeString: (validationOptions?: ValidationOptions) => PropertyDecorator;
|
|
@@ -4,27 +4,22 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
exports.IsUndefinableSQLDateTimeString = 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
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
return (0, is_empty_1.isUndefined)(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
|
-
},
|
|
12
|
+
const isUndefinableSqlDateTimeString = (value) => (0, is_empty_1.isUndefined)(value) || (typeof value === 'string' && (0, dayjs_1.default)(value, 'YYYY-MM-DD HH:mm:ss', true).isValid());
|
|
13
|
+
const IsUndefinableSQLDateTimeString = (validationOptions) => {
|
|
14
|
+
return (0, class_validator_1.ValidateBy)({
|
|
15
|
+
name: 'IsUndefinableSQLDateTimeString',
|
|
16
|
+
constraints: [validationOptions],
|
|
17
|
+
validator: {
|
|
18
|
+
validate: (value) => isUndefinableSqlDateTimeString(value),
|
|
19
|
+
defaultMessage(validationArguments) {
|
|
20
|
+
return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss or undefined`;
|
|
26
21
|
},
|
|
27
|
-
}
|
|
28
|
-
};
|
|
29
|
-
}
|
|
22
|
+
},
|
|
23
|
+
}, validationOptions);
|
|
24
|
+
};
|
|
30
25
|
exports.IsUndefinableSQLDateTimeString = IsUndefinableSQLDateTimeString;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableSQLTimeString: (validationOptions?: ValidationOptions & {
|
|
3
3
|
format: 'hh:mm' | 'hh:mm:ss';
|
|
4
|
-
})
|
|
4
|
+
}) => PropertyDecorator;
|
|
@@ -24,34 +24,31 @@ var __importStar = (this && this.__importStar) || function (mod) {
|
|
|
24
24
|
};
|
|
25
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
26
|
exports.IsUndefinableSQLTimeString = 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
|
-
(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
}
|
|
50
|
-
defaultMessage(validationArguments) {
|
|
51
|
-
return `${validationArguments?.property} should be YYYY-MM-DD hh:mm:ss`;
|
|
52
|
-
},
|
|
30
|
+
const is_empty_1 = require("../../util/is-empty");
|
|
31
|
+
const isUndefinableSQLTimeString = (value, validationOptions) => {
|
|
32
|
+
return FF.pipe(value, FO.fromPredicate(refinement => (0, is_empty_1.isUndefined)(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(() => {
|
|
35
|
+
return RegExp(/^(?:(?:([01]\d|2[0-3]):)?([0-5]\d):)?([0-5]\d)$/).test(value);
|
|
36
|
+
}, () => {
|
|
37
|
+
return RegExp(/^(0[0-9]|1[0-9]|2[0-3]):[0-5][0-9]$/).test(value);
|
|
38
|
+
}));
|
|
39
|
+
}));
|
|
40
|
+
}, () => true));
|
|
41
|
+
};
|
|
42
|
+
const IsUndefinableSQLTimeString = (validationOptions) => {
|
|
43
|
+
return (0, class_validator_1.ValidateBy)({
|
|
44
|
+
name: 'IsUndefinableSQLTimeString',
|
|
45
|
+
constraints: [validationOptions],
|
|
46
|
+
validator: {
|
|
47
|
+
validate: (value) => isUndefinableSQLTimeString(value, validationOptions),
|
|
48
|
+
defaultMessage(validationArguments) {
|
|
49
|
+
return `${validationArguments?.property} should be YYYY-MM-DD ${validationOptions?.format ?? 'hh:mm:ss'} or undefined`;
|
|
53
50
|
},
|
|
54
|
-
}
|
|
55
|
-
};
|
|
56
|
-
}
|
|
51
|
+
},
|
|
52
|
+
}, validationOptions);
|
|
53
|
+
};
|
|
57
54
|
exports.IsUndefinableSQLTimeString = IsUndefinableSQLTimeString;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { ValidationOptions } from 'class-validator';
|
|
2
|
-
export declare
|
|
2
|
+
export declare const IsUndefinableString: (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.IsUndefinableString = 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.isUndefined)(value);
|
|
18
|
-
},
|
|
19
|
-
defaultMessage(validationArguments) {
|
|
20
|
-
return `${validationArguments?.property} should be string or undefined`;
|
|
21
|
-
},
|
|
8
|
+
const isUndefinableString = (value, validationOptions) => (0, is_boolean_1.isTrue)((0, string_validator_function_1.stringValidator)(value, validationOptions?.blank)) || (0, is_empty_1.isUndefined)(value);
|
|
9
|
+
const IsUndefinableString = (validationOptions) => {
|
|
10
|
+
return (0, class_validator_1.ValidateBy)({
|
|
11
|
+
name: 'IsUndefinableString',
|
|
12
|
+
constraints: [validationOptions],
|
|
13
|
+
validator: {
|
|
14
|
+
validate: (value) => isUndefinableString(value, validationOptions),
|
|
15
|
+
defaultMessage(validationArguments) {
|
|
16
|
+
return `${validationArguments?.property} should be string or undefined`;
|
|
22
17
|
},
|
|
23
|
-
}
|
|
24
|
-
};
|
|
25
|
-
}
|
|
18
|
+
},
|
|
19
|
+
}, validationOptions);
|
|
20
|
+
};
|
|
26
21
|
exports.IsUndefinableString = IsUndefinableString;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare
|
|
1
|
+
export declare const IsUndefinable: () => PropertyDecorator;
|
|
@@ -3,9 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.IsUndefinable = void 0;
|
|
4
4
|
const class_validator_1 = require("class-validator");
|
|
5
5
|
const is_empty_1 = require("../../util/is-empty");
|
|
6
|
-
|
|
6
|
+
const IsUndefinable = () => {
|
|
7
7
|
return (0, class_validator_1.ValidateIf)((_, value) => {
|
|
8
8
|
return (0, is_empty_1.isNotUndefined)(value);
|
|
9
9
|
});
|
|
10
|
-
}
|
|
10
|
+
};
|
|
11
11
|
exports.IsUndefinable = IsUndefinable;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "custom-class-validator-tools",
|
|
3
|
-
"version": "1.0
|
|
3
|
+
"version": "1.1.0",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
"dependencies": {
|
|
20
20
|
"class-transformer": "^0.5.1",
|
|
21
21
|
"class-validator": "^0.14.0",
|
|
22
|
-
"dayjs": "1.11.
|
|
22
|
+
"dayjs": "^1.11.10",
|
|
23
23
|
"fp-ts": "^2.11.9"
|
|
24
24
|
},
|
|
25
25
|
"devDependencies": {
|