diff --git a/index.js b/index.js index 3e2b5dc..d05d5c8 100644 --- a/index.js +++ b/index.js @@ -33,5 +33,5 @@ export default function parse(str = '', format = 'ms') { if (units) result = (result || 0) + n * units }) - return result && ((result / (parse.unit[format] || 1)) * (str[0] === '-' ? -1 : 1)) + return result && ((result / (parse.unit[format] || 1)) * (String(str).trimStart()[0] === '-' ? -1 : 1)) } diff --git a/test.js b/test.js index ed7c11e..422ee3d 100644 --- a/test.js +++ b/test.js @@ -97,6 +97,9 @@ t('combined', t => { t.equal(parse('running length: 1hour:20mins'), 1 * h + 20 * m) t.equal(parse('2hr -40mins'), 2 * h + 40 * m) t.equal(parse('-1hr 40mins'), -1 * h - 40 * m) + t.equal(parse(' -1hr 40mins'), -1 * h - 40 * m) + t.equal(parse(' -1h'), -1 * h) + t.equal(parse('\t-30m'), -30 * m) t.equal(parse('2e3s'), 2000 * s) t.end() })