Skip to content

Commit 3e71e5e

Browse files
committed
iso8601 fix
1 parent 57bc37e commit 3e71e5e

4 files changed

Lines changed: 8 additions & 2 deletions

File tree

dist/regexValues/duration.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,4 @@
22
Object.defineProperty(exports, "__esModule", { value: true });
33
var rulr_1 = require("rulr");
44
var TypeWarning_1 = require("../warnings/TypeWarning");
5-
exports.default = rulr_1.checkRegex(/^P((\d+([\.,]\d+)?Y)?(\d+([\.,]\d+)?M)?(\d+([\.,]\d+)?W)?(\d+([\.,]\d+)?D)?)?(T(\d+([\.,]\d+)?H)?(\d+([\.,]\d+)?M)?(\d+([\.,]\d+)?S)?)?$/i, TypeWarning_1.createTypeWarning('ISO Duration'));
5+
exports.default = rulr_1.checkRegex(/^(-?)P(?=\d|T\d)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)([DW]))?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/, TypeWarning_1.createTypeWarning('ISO Duration'));

dist/tests/regexValues/duration.js

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
33
var itsInvalid_1 = require("../itsInvalid");
44
var itsValid_1 = require("../itsValid");
55
var validData = 'P3Y6M4DT12H30M5S';
6+
var validData2 = 'P4W';
67
exports.default = function (test) {
78
itsInvalid_1.default('3Y6M4DT12H30M5S', 'not a Duration', test);
9+
itsInvalid_1.default('P4W1D', 'not a Duration', test);
810
itsInvalid_1.default(10, 'not a String', test);
911
itsValid_1.default(validData, test);
12+
itsValid_1.default(validData2, test);
1013
};

src/regexValues/duration.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,5 +3,5 @@ import { checkRegex, Rule } from 'rulr';
33
import { createTypeWarning } from '../warnings/TypeWarning';
44

55
export default checkRegex(
6-
/^P((\d+([\.,]\d+)?Y)?(\d+([\.,]\d+)?M)?(\d+([\.,]\d+)?W)?(\d+([\.,]\d+)?D)?)?(T(\d+([\.,]\d+)?H)?(\d+([\.,]\d+)?M)?(\d+([\.,]\d+)?S)?)?$/i
6+
/^(-?)P(?=\d|T\d)(?:(\d+)Y)?(?:(\d+)M)?(?:(\d+)([DW]))?(?:T(?:(\d+)H)?(?:(\d+)M)?(?:(\d+(?:\.\d+)?)S)?)?$/
77
, createTypeWarning('ISO Duration')) as Rule;

src/tests/regexValues/duration.ts

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,12 @@ import itsInvalid from '../itsInvalid';
33
import itsValid from '../itsValid';
44

55
const validData = 'P3Y6M4DT12H30M5S';
6+
const validData2 = 'P4W';
67

78
export default (test: Test) => {
89
itsInvalid('3Y6M4DT12H30M5S', 'not a Duration', test);
10+
itsInvalid('P4W1D', 'not a Duration', test);
911
itsInvalid(10, 'not a String', test);
1012
itsValid(validData, test);
13+
itsValid(validData2, test);
1114
};

0 commit comments

Comments
 (0)