From e5729baa785c3a85d02d8315817e3a57f7c5fcb9 Mon Sep 17 00:00:00 2001 From: Determinant Date: Sun, 10 Feb 2019 01:39:31 -0500 Subject: popup works --- src/duration.js | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/duration.js (limited to 'src/duration.js') diff --git a/src/duration.js b/src/duration.js new file mode 100644 index 0000000..53de0ad --- /dev/null +++ b/src/duration.js @@ -0,0 +1,21 @@ +import moment from 'moment'; + +export class Duration { + constructor(value, unit) { + this.value = value + this.unit = unit + } + + toMoment() { + let m = moment.duration(this.value, this.unit); + if (m.isValid()) return m; + return null; + } + + static days(n) { return new Duration(n, 'days'); } + static weeks(n) { return new Duration(n, 'weeks'); } + static months(n) { return new Duration(n, 'months'); } + + deflate() { return { value: this.value, unit: this.unit }; } + static inflate = obj => new Duration(obj.value, obj.unit); +} -- cgit v1.2.3