@visulima/humanizer 1.1.2 → 1.2.1
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/README.md +107 -26
- package/dist/index.cjs +3 -1
- package/dist/index.d.cts +5 -3
- package/dist/index.d.mts +5 -3
- package/dist/index.d.ts +5 -3
- package/dist/index.mjs +2 -1
- package/dist/language/af.cjs +25 -1
- package/dist/language/af.d.cts +1 -1
- package/dist/language/af.d.mts +1 -1
- package/dist/language/af.d.ts +1 -1
- package/dist/language/af.mjs +25 -1
- package/dist/language/am.cjs +29 -1
- package/dist/language/am.d.cts +1 -1
- package/dist/language/am.d.mts +1 -1
- package/dist/language/am.d.ts +1 -1
- package/dist/language/am.mjs +29 -1
- package/dist/language/ar.cjs +25 -3
- package/dist/language/ar.d.cts +5 -2
- package/dist/language/ar.d.mts +5 -2
- package/dist/language/ar.d.ts +5 -2
- package/dist/language/ar.mjs +25 -3
- package/dist/language/bg.cjs +25 -1
- package/dist/language/bg.d.cts +1 -1
- package/dist/language/bg.d.mts +1 -1
- package/dist/language/bg.d.ts +1 -1
- package/dist/language/bg.mjs +25 -1
- package/dist/language/bn.cjs +29 -1
- package/dist/language/bn.d.cts +1 -1
- package/dist/language/bn.d.mts +1 -1
- package/dist/language/bn.d.ts +1 -1
- package/dist/language/bn.mjs +29 -1
- package/dist/language/ca.cjs +25 -1
- package/dist/language/ca.d.cts +1 -1
- package/dist/language/ca.d.mts +1 -1
- package/dist/language/ca.d.ts +1 -1
- package/dist/language/ca.mjs +25 -1
- package/dist/language/ckb.cjs +29 -1
- package/dist/language/ckb.d.cts +1 -1
- package/dist/language/ckb.d.mts +1 -1
- package/dist/language/ckb.d.ts +1 -1
- package/dist/language/ckb.mjs +29 -1
- package/dist/language/cs.cjs +36 -1
- package/dist/language/cs.d.cts +1 -1
- package/dist/language/cs.d.mts +1 -1
- package/dist/language/cs.d.ts +1 -1
- package/dist/language/cs.mjs +36 -1
- package/dist/language/cy.cjs +51 -1
- package/dist/language/cy.d.cts +1 -1
- package/dist/language/cy.d.mts +1 -1
- package/dist/language/cy.d.ts +1 -1
- package/dist/language/cy.mjs +51 -1
- package/dist/language/da.cjs +29 -1
- package/dist/language/da.d.cts +1 -1
- package/dist/language/da.d.mts +1 -1
- package/dist/language/da.d.ts +1 -1
- package/dist/language/da.mjs +29 -1
- package/dist/language/de.cjs +31 -1
- package/dist/language/de.d.cts +1 -1
- package/dist/language/de.d.mts +1 -1
- package/dist/language/de.d.ts +1 -1
- package/dist/language/de.mjs +31 -1
- package/dist/language/el.cjs +37 -1
- package/dist/language/el.d.cts +1 -1
- package/dist/language/el.d.mts +1 -1
- package/dist/language/el.d.ts +1 -1
- package/dist/language/el.mjs +37 -1
- package/dist/language/en.cjs +43 -1
- package/dist/language/en.d.cts +3 -2
- package/dist/language/en.d.mts +3 -2
- package/dist/language/en.d.ts +3 -2
- package/dist/language/en.mjs +43 -2
- package/dist/language/eo.cjs +31 -1
- package/dist/language/eo.d.cts +1 -1
- package/dist/language/eo.d.mts +1 -1
- package/dist/language/eo.d.ts +1 -1
- package/dist/language/eo.mjs +31 -1
- package/dist/language/es.cjs +30 -1
- package/dist/language/es.d.cts +1 -1
- package/dist/language/es.d.mts +1 -1
- package/dist/language/es.d.ts +1 -1
- package/dist/language/es.mjs +30 -1
- package/dist/language/et.cjs +31 -1
- package/dist/language/et.d.cts +1 -1
- package/dist/language/et.d.mts +1 -1
- package/dist/language/et.d.ts +1 -1
- package/dist/language/et.mjs +31 -1
- package/dist/language/eu.cjs +25 -1
- package/dist/language/eu.d.cts +1 -1
- package/dist/language/eu.d.mts +1 -1
- package/dist/language/eu.d.ts +1 -1
- package/dist/language/eu.mjs +25 -1
- package/dist/language/fa.cjs +34 -1
- package/dist/language/fa.d.cts +1 -1
- package/dist/language/fa.d.mts +1 -1
- package/dist/language/fa.d.ts +1 -1
- package/dist/language/fa.mjs +34 -1
- package/dist/language/fi.cjs +39 -1
- package/dist/language/fi.d.cts +1 -1
- package/dist/language/fi.d.mts +1 -1
- package/dist/language/fi.d.ts +1 -1
- package/dist/language/fi.mjs +39 -1
- package/dist/language/fo.cjs +32 -1
- package/dist/language/fo.d.cts +1 -1
- package/dist/language/fo.d.mts +1 -1
- package/dist/language/fo.d.ts +1 -1
- package/dist/language/fo.mjs +32 -1
- package/dist/language/fr.cjs +36 -1
- package/dist/language/fr.d.cts +1 -1
- package/dist/language/fr.d.mts +1 -1
- package/dist/language/fr.d.ts +1 -1
- package/dist/language/fr.mjs +36 -1
- package/dist/language/he.cjs +37 -1
- package/dist/language/he.d.cts +1 -1
- package/dist/language/he.d.mts +1 -1
- package/dist/language/he.d.ts +1 -1
- package/dist/language/he.mjs +37 -1
- package/dist/language/hi.cjs +40 -1
- package/dist/language/hi.d.cts +1 -1
- package/dist/language/hi.d.mts +1 -1
- package/dist/language/hi.d.ts +1 -1
- package/dist/language/hi.mjs +40 -1
- package/dist/language/hr.cjs +42 -1
- package/dist/language/hr.d.cts +1 -1
- package/dist/language/hr.d.mts +1 -1
- package/dist/language/hr.d.ts +1 -1
- package/dist/language/hr.mjs +42 -1
- package/dist/language/hu.cjs +47 -1
- package/dist/language/hu.d.cts +1 -1
- package/dist/language/hu.d.mts +1 -1
- package/dist/language/hu.d.ts +1 -1
- package/dist/language/hu.mjs +47 -1
- package/dist/language/id.cjs +46 -1
- package/dist/language/id.d.cts +1 -1
- package/dist/language/id.d.mts +1 -1
- package/dist/language/id.d.ts +1 -1
- package/dist/language/id.mjs +46 -1
- package/dist/language/is.cjs +37 -1
- package/dist/language/is.d.cts +1 -1
- package/dist/language/is.d.mts +1 -1
- package/dist/language/is.d.ts +1 -1
- package/dist/language/is.mjs +37 -1
- package/dist/language/it.cjs +43 -9
- package/dist/language/it.d.cts +1 -1
- package/dist/language/it.d.mts +1 -1
- package/dist/language/it.d.ts +1 -1
- package/dist/language/it.mjs +43 -9
- package/dist/language/ja.cjs +43 -1
- package/dist/language/ja.d.cts +1 -1
- package/dist/language/ja.d.mts +1 -1
- package/dist/language/ja.d.ts +1 -1
- package/dist/language/ja.mjs +43 -1
- package/dist/language/km.cjs +53 -1
- package/dist/language/km.d.cts +1 -1
- package/dist/language/km.d.mts +1 -1
- package/dist/language/km.d.ts +1 -1
- package/dist/language/km.mjs +53 -1
- package/dist/language/kn.cjs +35 -1
- package/dist/language/kn.d.cts +1 -1
- package/dist/language/kn.d.mts +1 -1
- package/dist/language/kn.d.ts +1 -1
- package/dist/language/kn.mjs +35 -1
- package/dist/language/ko.cjs +38 -1
- package/dist/language/ko.d.cts +1 -1
- package/dist/language/ko.d.mts +1 -1
- package/dist/language/ko.d.ts +1 -1
- package/dist/language/ko.mjs +38 -1
- package/dist/language/ku.cjs +50 -1
- package/dist/language/ku.d.cts +1 -1
- package/dist/language/ku.d.mts +1 -1
- package/dist/language/ku.d.ts +1 -1
- package/dist/language/ku.mjs +50 -1
- package/dist/language/lo.cjs +54 -1
- package/dist/language/lo.d.cts +1 -1
- package/dist/language/lo.d.mts +1 -1
- package/dist/language/lo.d.ts +1 -1
- package/dist/language/lo.mjs +54 -1
- package/dist/language/lt.cjs +44 -1
- package/dist/language/lt.d.cts +1 -1
- package/dist/language/lt.d.mts +1 -1
- package/dist/language/lt.d.ts +1 -1
- package/dist/language/lt.mjs +44 -1
- package/dist/language/lv.cjs +38 -1
- package/dist/language/lv.d.cts +1 -1
- package/dist/language/lv.d.mts +1 -1
- package/dist/language/lv.d.ts +1 -1
- package/dist/language/lv.mjs +38 -1
- package/dist/language/mk.cjs +39 -1
- package/dist/language/mk.d.cts +1 -1
- package/dist/language/mk.d.mts +1 -1
- package/dist/language/mk.d.ts +1 -1
- package/dist/language/mk.mjs +39 -1
- package/dist/language/mn.cjs +42 -1
- package/dist/language/mn.d.cts +1 -1
- package/dist/language/mn.d.mts +1 -1
- package/dist/language/mn.d.ts +1 -1
- package/dist/language/mn.mjs +42 -1
- package/dist/language/mr.cjs +29 -2
- package/dist/language/mr.d.cts +1 -1
- package/dist/language/mr.d.mts +1 -1
- package/dist/language/mr.d.ts +1 -1
- package/dist/language/mr.mjs +29 -2
- package/dist/language/ms.cjs +45 -1
- package/dist/language/ms.d.cts +1 -1
- package/dist/language/ms.d.mts +1 -1
- package/dist/language/ms.d.ts +1 -1
- package/dist/language/ms.mjs +45 -1
- package/dist/language/nl.cjs +34 -1
- package/dist/language/nl.d.cts +1 -1
- package/dist/language/nl.d.mts +1 -1
- package/dist/language/nl.d.ts +1 -1
- package/dist/language/nl.mjs +34 -1
- package/dist/language/no.cjs +31 -1
- package/dist/language/no.d.cts +1 -1
- package/dist/language/no.d.mts +1 -1
- package/dist/language/no.d.ts +1 -1
- package/dist/language/no.mjs +31 -1
- package/dist/language/pl.cjs +45 -1
- package/dist/language/pl.d.cts +1 -1
- package/dist/language/pl.d.mts +1 -1
- package/dist/language/pl.d.ts +1 -1
- package/dist/language/pl.mjs +45 -1
- package/dist/language/pt.cjs +34 -1
- package/dist/language/pt.d.cts +1 -1
- package/dist/language/pt.d.mts +1 -1
- package/dist/language/pt.d.ts +1 -1
- package/dist/language/pt.mjs +34 -1
- package/dist/language/ro.cjs +37 -1
- package/dist/language/ro.d.cts +1 -1
- package/dist/language/ro.d.mts +1 -1
- package/dist/language/ro.d.ts +1 -1
- package/dist/language/ro.mjs +37 -1
- package/dist/language/ru.cjs +42 -1
- package/dist/language/ru.d.cts +1 -1
- package/dist/language/ru.d.mts +1 -1
- package/dist/language/ru.d.ts +1 -1
- package/dist/language/ru.mjs +42 -1
- package/dist/language/sk.cjs +47 -1
- package/dist/language/sk.d.cts +1 -1
- package/dist/language/sk.d.mts +1 -1
- package/dist/language/sk.d.ts +1 -1
- package/dist/language/sk.mjs +47 -1
- package/dist/language/sl.cjs +45 -1
- package/dist/language/sl.d.cts +1 -1
- package/dist/language/sl.d.mts +1 -1
- package/dist/language/sl.d.ts +1 -1
- package/dist/language/sl.mjs +45 -1
- package/dist/language/sq.cjs +35 -1
- package/dist/language/sq.d.cts +1 -1
- package/dist/language/sq.d.mts +1 -1
- package/dist/language/sq.d.ts +1 -1
- package/dist/language/sq.mjs +35 -1
- package/dist/language/sr.cjs +66 -1
- package/dist/language/sr.d.cts +1 -1
- package/dist/language/sr.d.mts +1 -1
- package/dist/language/sr.d.ts +1 -1
- package/dist/language/sr.mjs +66 -1
- package/dist/language/sv.cjs +33 -1
- package/dist/language/sv.d.cts +1 -1
- package/dist/language/sv.d.mts +1 -1
- package/dist/language/sv.d.ts +1 -1
- package/dist/language/sv.mjs +33 -1
- package/dist/language/sw.cjs +33 -1
- package/dist/language/sw.d.cts +4 -1
- package/dist/language/sw.d.mts +4 -1
- package/dist/language/sw.d.ts +4 -1
- package/dist/language/sw.mjs +33 -1
- package/dist/language/ta.cjs +39 -1
- package/dist/language/ta.d.cts +1 -1
- package/dist/language/ta.d.mts +1 -1
- package/dist/language/ta.d.ts +1 -1
- package/dist/language/ta.mjs +39 -1
- package/dist/language/te.cjs +35 -1
- package/dist/language/te.d.cts +1 -1
- package/dist/language/te.d.mts +1 -1
- package/dist/language/te.d.ts +1 -1
- package/dist/language/te.mjs +35 -1
- package/dist/language/th.cjs +40 -1
- package/dist/language/th.d.cts +1 -1
- package/dist/language/th.d.mts +1 -1
- package/dist/language/th.d.ts +1 -1
- package/dist/language/th.mjs +40 -1
- package/dist/language/tr.cjs +38 -1
- package/dist/language/tr.d.cts +1 -1
- package/dist/language/tr.d.mts +1 -1
- package/dist/language/tr.d.ts +1 -1
- package/dist/language/tr.mjs +38 -1
- package/dist/language/uk.cjs +44 -1
- package/dist/language/uk.d.cts +1 -1
- package/dist/language/uk.d.mts +1 -1
- package/dist/language/uk.d.ts +1 -1
- package/dist/language/uk.mjs +44 -1
- package/dist/language/ur.cjs +42 -1
- package/dist/language/ur.d.cts +1 -1
- package/dist/language/ur.d.mts +1 -1
- package/dist/language/ur.d.ts +1 -1
- package/dist/language/ur.mjs +42 -1
- package/dist/language/util/create-duration-language.cjs +10 -1
- package/dist/language/util/create-duration-language.d.cts +2 -2
- package/dist/language/util/create-duration-language.d.mts +2 -2
- package/dist/language/util/create-duration-language.d.ts +2 -2
- package/dist/language/util/create-duration-language.mjs +10 -1
- package/dist/language/util/validate-duration-language.cjs +6 -0
- package/dist/language/util/validate-duration-language.d.cts +1 -1
- package/dist/language/util/validate-duration-language.d.mts +1 -1
- package/dist/language/util/validate-duration-language.d.ts +1 -1
- package/dist/language/util/validate-duration-language.mjs +6 -0
- package/dist/language/uz.cjs +39 -1
- package/dist/language/uz.d.cts +1 -1
- package/dist/language/uz.d.mts +1 -1
- package/dist/language/uz.d.ts +1 -1
- package/dist/language/uz.mjs +39 -1
- package/dist/language/uz_CYR.cjs +39 -1
- package/dist/language/uz_CYR.d.cts +1 -1
- package/dist/language/uz_CYR.d.mts +1 -1
- package/dist/language/uz_CYR.d.ts +1 -1
- package/dist/language/uz_CYR.mjs +39 -1
- package/dist/language/vi.cjs +30 -1
- package/dist/language/vi.d.cts +1 -1
- package/dist/language/vi.d.mts +1 -1
- package/dist/language/vi.d.ts +1 -1
- package/dist/language/vi.mjs +30 -1
- package/dist/language/zh_CN.cjs +35 -1
- package/dist/language/zh_CN.d.cts +1 -1
- package/dist/language/zh_CN.d.mts +1 -1
- package/dist/language/zh_CN.d.ts +1 -1
- package/dist/language/zh_CN.mjs +35 -1
- package/dist/language/zh_TW.cjs +35 -1
- package/dist/language/zh_TW.d.cts +1 -1
- package/dist/language/zh_TW.d.mts +1 -1
- package/dist/language/zh_TW.d.ts +1 -1
- package/dist/language/zh_TW.mjs +35 -1
- package/dist/packem_shared/{duration-f-II6vKb.cjs → duration-DYSJZCH0.cjs} +2 -2
- package/dist/packem_shared/{duration-CEv0RfYk.mjs → duration-jUX98xbn.mjs} +2 -2
- package/dist/packem_shared/parseDuration-Bp1J3FbZ.cjs +115 -0
- package/dist/packem_shared/parseDuration-N_JLGPIB.mjs +113 -0
- package/dist/packem_shared/{types-4Kt5giRg.d.ts → types-H2jJHSlI.d.cts} +8 -1
- package/dist/packem_shared/{types-4Kt5giRg.d.cts → types-H2jJHSlI.d.mts} +8 -1
- package/dist/packem_shared/{types-4Kt5giRg.d.mts → types-H2jJHSlI.d.ts} +8 -1
- package/package.json +1 -1
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import { durationLanguage, englishUnitMap } from '../language/en.mjs';
|
|
2
|
+
import validateDurationLanguage from '../language/util/validate-duration-language.mjs';
|
|
3
|
+
|
|
4
|
+
var __defProp = Object.defineProperty;
|
|
5
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
6
|
+
const STANDARD_UNIT_MEASURES = {
|
|
7
|
+
d: 864e5,
|
|
8
|
+
h: 36e5,
|
|
9
|
+
m: 6e4,
|
|
10
|
+
mo: 2629746e3,
|
|
11
|
+
ms: 1,
|
|
12
|
+
s: 1e3,
|
|
13
|
+
w: 6048e5,
|
|
14
|
+
y: 31556952e3
|
|
15
|
+
};
|
|
16
|
+
const ESCAPE_REGEX = /[-/\\^$*+?.()|[\]{}]/g;
|
|
17
|
+
const ISO_FORMAT = /^PT(?:(\d+)H)?(?:(\d+)M)?(?:(\d+)S)?$/i;
|
|
18
|
+
const COLON_FORMAT = /^(?:(\d+):)?(?:(\d+):)?(\d+)$/;
|
|
19
|
+
const NUMERIC_STRING_REGEX = /^[+-]?\d+(?:\.\d+)?$/;
|
|
20
|
+
const parseDuration = /* @__PURE__ */ __name((value, options) => {
|
|
21
|
+
if (typeof value !== "string" || value.length === 0) {
|
|
22
|
+
return void 0;
|
|
23
|
+
}
|
|
24
|
+
const { defaultUnit = "ms", language = durationLanguage } = options ?? {};
|
|
25
|
+
validateDurationLanguage(language);
|
|
26
|
+
const decimalSeparator = language.decimal ?? ".";
|
|
27
|
+
const groupSeparator = language.groupSeparator ?? ",";
|
|
28
|
+
const placeholderSeparator = language.placeholderSeparator ?? "_";
|
|
29
|
+
const escapedDecimal = decimalSeparator.replaceAll(ESCAPE_REGEX, "\\$&");
|
|
30
|
+
const escapedGroup = groupSeparator.replaceAll(ESCAPE_REGEX, "\\$&");
|
|
31
|
+
const escapedPlaceholder = placeholderSeparator.replaceAll(ESCAPE_REGEX, "\\$&");
|
|
32
|
+
const currentUnitMap = language.unitMap ?? englishUnitMap;
|
|
33
|
+
let processedValue = value.replaceAll(new RegExp(`(\\d)[${escapedPlaceholder}${escapedGroup}](\\d)`, "g"), "$1$2");
|
|
34
|
+
if (decimalSeparator !== ".") {
|
|
35
|
+
processedValue = processedValue.replace(escapedDecimal, ".");
|
|
36
|
+
}
|
|
37
|
+
if (NUMERIC_STRING_REGEX.test(value)) {
|
|
38
|
+
const numberOnly = Number.parseFloat(processedValue.trim());
|
|
39
|
+
if (!Number.isNaN(numberOnly)) {
|
|
40
|
+
const unitKey = currentUnitMap[defaultUnit];
|
|
41
|
+
if (unitKey !== void 0) {
|
|
42
|
+
return numberOnly * STANDARD_UNIT_MEASURES[unitKey];
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return void 0;
|
|
46
|
+
}
|
|
47
|
+
const isoMatch = ISO_FORMAT.exec(value);
|
|
48
|
+
if (isoMatch) {
|
|
49
|
+
const hours = Number.parseInt(isoMatch[1] ?? "0", 10);
|
|
50
|
+
const minutes = Number.parseInt(isoMatch[2] ?? "0", 10);
|
|
51
|
+
const seconds = Number.parseInt(isoMatch[3] ?? "0", 10);
|
|
52
|
+
return hours * 36e5 + minutes * 6e4 + seconds * 1e3;
|
|
53
|
+
}
|
|
54
|
+
const colonMatch = COLON_FORMAT.exec(value);
|
|
55
|
+
if (colonMatch) {
|
|
56
|
+
let hours = 0;
|
|
57
|
+
let minutes = 0;
|
|
58
|
+
let seconds = 0;
|
|
59
|
+
if (colonMatch[2] !== void 0) {
|
|
60
|
+
hours = Number.parseInt(colonMatch[1] ?? "0", 10);
|
|
61
|
+
minutes = Number.parseInt(colonMatch[2], 10);
|
|
62
|
+
} else if (colonMatch[1] !== void 0) {
|
|
63
|
+
minutes = Number.parseInt(colonMatch[1], 10);
|
|
64
|
+
}
|
|
65
|
+
seconds = Number.parseInt(colonMatch[3] ?? "0", 10);
|
|
66
|
+
return hours * 36e5 + minutes * 6e4 + seconds * 1e3;
|
|
67
|
+
}
|
|
68
|
+
const currentUnitMapKeys = Object.keys(currentUnitMap);
|
|
69
|
+
const regexKeys = currentUnitMapKeys.sort((a, b) => b.length - a.length).map((k) => k.replaceAll(ESCAPE_REGEX, "\\$&")).join("|");
|
|
70
|
+
const durationRegex = new RegExp(`(-?\\d*\\.?\\d+)\\s*(${regexKeys})`, "gi");
|
|
71
|
+
let totalMs = 0;
|
|
72
|
+
let match;
|
|
73
|
+
let unitsFound = false;
|
|
74
|
+
let firstMatchIndex = -1;
|
|
75
|
+
let lastMatchEndIndex = 0;
|
|
76
|
+
durationRegex.lastIndex = 0;
|
|
77
|
+
while ((match = durationRegex.exec(processedValue)) !== null) {
|
|
78
|
+
if (!unitsFound) {
|
|
79
|
+
firstMatchIndex = match.index;
|
|
80
|
+
}
|
|
81
|
+
unitsFound = true;
|
|
82
|
+
const numberString = match[1];
|
|
83
|
+
const unitString = match[2];
|
|
84
|
+
if (!numberString || !unitString) {
|
|
85
|
+
continue;
|
|
86
|
+
}
|
|
87
|
+
const trimmedNumberString = numberString.trim();
|
|
88
|
+
const sign = trimmedNumberString.startsWith("-") ? -1 : 1;
|
|
89
|
+
const absNumberString = trimmedNumberString.replace(/^[-+]/, "");
|
|
90
|
+
const parsedNumber = Number.parseFloat(absNumberString);
|
|
91
|
+
const unitKey = currentUnitMap[unitString.toLowerCase()];
|
|
92
|
+
if (unitKey === void 0) {
|
|
93
|
+
continue;
|
|
94
|
+
}
|
|
95
|
+
const unitValue = STANDARD_UNIT_MEASURES[unitKey];
|
|
96
|
+
if (Number.isNaN(parsedNumber)) {
|
|
97
|
+
return void 0;
|
|
98
|
+
}
|
|
99
|
+
totalMs += sign * parsedNumber * unitValue;
|
|
100
|
+
lastMatchEndIndex = durationRegex.lastIndex;
|
|
101
|
+
}
|
|
102
|
+
const leadingText = processedValue.slice(0, firstMatchIndex).trim();
|
|
103
|
+
const trailingText = processedValue.slice(lastMatchEndIndex).trim();
|
|
104
|
+
if (unitsFound && (leadingText.length > 0 || trailingText.length > 0)) {
|
|
105
|
+
return void 0;
|
|
106
|
+
}
|
|
107
|
+
if (!unitsFound) {
|
|
108
|
+
return void 0;
|
|
109
|
+
}
|
|
110
|
+
return totalMs;
|
|
111
|
+
}, "parseDuration");
|
|
112
|
+
|
|
113
|
+
export { parseDuration as default };
|
|
@@ -25,12 +25,15 @@ interface DurationLanguage {
|
|
|
25
25
|
decimal?: string;
|
|
26
26
|
delimiter?: string;
|
|
27
27
|
future?: string;
|
|
28
|
+
groupSeparator?: string;
|
|
28
29
|
h: DurationUnit;
|
|
29
30
|
m: DurationUnit;
|
|
30
31
|
mo: DurationUnit;
|
|
31
32
|
ms: DurationUnit;
|
|
32
33
|
past?: string;
|
|
34
|
+
placeholderSeparator?: string;
|
|
33
35
|
s: DurationUnit;
|
|
36
|
+
unitMap?: Record<string, keyof DurationUnitMeasures>;
|
|
34
37
|
w: DurationUnit;
|
|
35
38
|
y: DurationUnit;
|
|
36
39
|
}
|
|
@@ -61,5 +64,9 @@ interface FormateByteOptions<ByteSize> extends BytesOptions, Omit<Intl.NumberFor
|
|
|
61
64
|
space?: boolean;
|
|
62
65
|
unit?: ByteSize;
|
|
63
66
|
}
|
|
67
|
+
interface ParseDurationOptions {
|
|
68
|
+
defaultUnit?: keyof DurationUnitMeasures;
|
|
69
|
+
language?: DurationLanguage;
|
|
70
|
+
}
|
|
64
71
|
|
|
65
|
-
export type { DurationOptions as D, FormateByteOptions as F, IntlLocale as I, ParseByteOptions as P,
|
|
72
|
+
export type { DurationOptions as D, FormateByteOptions as F, IntlLocale as I, ParseByteOptions as P, ParseDurationOptions as a, DurationDigitReplacements as b, DurationLanguage as c, DurationPiece as d, DurationUnit as e, DurationUnitMeasures as f, DurationUnitName as g };
|
|
@@ -25,12 +25,15 @@ interface DurationLanguage {
|
|
|
25
25
|
decimal?: string;
|
|
26
26
|
delimiter?: string;
|
|
27
27
|
future?: string;
|
|
28
|
+
groupSeparator?: string;
|
|
28
29
|
h: DurationUnit;
|
|
29
30
|
m: DurationUnit;
|
|
30
31
|
mo: DurationUnit;
|
|
31
32
|
ms: DurationUnit;
|
|
32
33
|
past?: string;
|
|
34
|
+
placeholderSeparator?: string;
|
|
33
35
|
s: DurationUnit;
|
|
36
|
+
unitMap?: Record<string, keyof DurationUnitMeasures>;
|
|
34
37
|
w: DurationUnit;
|
|
35
38
|
y: DurationUnit;
|
|
36
39
|
}
|
|
@@ -61,5 +64,9 @@ interface FormateByteOptions<ByteSize> extends BytesOptions, Omit<Intl.NumberFor
|
|
|
61
64
|
space?: boolean;
|
|
62
65
|
unit?: ByteSize;
|
|
63
66
|
}
|
|
67
|
+
interface ParseDurationOptions {
|
|
68
|
+
defaultUnit?: keyof DurationUnitMeasures;
|
|
69
|
+
language?: DurationLanguage;
|
|
70
|
+
}
|
|
64
71
|
|
|
65
|
-
export type { DurationOptions as D, FormateByteOptions as F, IntlLocale as I, ParseByteOptions as P,
|
|
72
|
+
export type { DurationOptions as D, FormateByteOptions as F, IntlLocale as I, ParseByteOptions as P, ParseDurationOptions as a, DurationDigitReplacements as b, DurationLanguage as c, DurationPiece as d, DurationUnit as e, DurationUnitMeasures as f, DurationUnitName as g };
|
|
@@ -25,12 +25,15 @@ interface DurationLanguage {
|
|
|
25
25
|
decimal?: string;
|
|
26
26
|
delimiter?: string;
|
|
27
27
|
future?: string;
|
|
28
|
+
groupSeparator?: string;
|
|
28
29
|
h: DurationUnit;
|
|
29
30
|
m: DurationUnit;
|
|
30
31
|
mo: DurationUnit;
|
|
31
32
|
ms: DurationUnit;
|
|
32
33
|
past?: string;
|
|
34
|
+
placeholderSeparator?: string;
|
|
33
35
|
s: DurationUnit;
|
|
36
|
+
unitMap?: Record<string, keyof DurationUnitMeasures>;
|
|
34
37
|
w: DurationUnit;
|
|
35
38
|
y: DurationUnit;
|
|
36
39
|
}
|
|
@@ -61,5 +64,9 @@ interface FormateByteOptions<ByteSize> extends BytesOptions, Omit<Intl.NumberFor
|
|
|
61
64
|
space?: boolean;
|
|
62
65
|
unit?: ByteSize;
|
|
63
66
|
}
|
|
67
|
+
interface ParseDurationOptions {
|
|
68
|
+
defaultUnit?: keyof DurationUnitMeasures;
|
|
69
|
+
language?: DurationLanguage;
|
|
70
|
+
}
|
|
64
71
|
|
|
65
|
-
export type { DurationOptions as D, FormateByteOptions as F, IntlLocale as I, ParseByteOptions as P,
|
|
72
|
+
export type { DurationOptions as D, FormateByteOptions as F, IntlLocale as I, ParseByteOptions as P, ParseDurationOptions as a, DurationDigitReplacements as b, DurationLanguage as c, DurationPiece as d, DurationUnit as e, DurationUnitMeasures as f, DurationUnitName as g };
|