You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
39 lines
699 B
39 lines
699 B
'use strict';
|
|
|
|
class DatePart {
|
|
constructor({
|
|
token,
|
|
date,
|
|
parts,
|
|
locales
|
|
}) {
|
|
this.token = token;
|
|
this.date = date || new Date();
|
|
this.parts = parts || [this];
|
|
this.locales = locales || {};
|
|
}
|
|
|
|
up() {}
|
|
|
|
down() {}
|
|
|
|
next() {
|
|
const currentIdx = this.parts.indexOf(this);
|
|
return this.parts.find((part, idx) => idx > currentIdx && part instanceof DatePart);
|
|
}
|
|
|
|
setTo(val) {}
|
|
|
|
prev() {
|
|
let parts = [].concat(this.parts).reverse();
|
|
const currentIdx = parts.indexOf(this);
|
|
return parts.find((part, idx) => idx > currentIdx && part instanceof DatePart);
|
|
}
|
|
|
|
toString() {
|
|
return String(this.date);
|
|
}
|
|
|
|
}
|
|
|
|
module.exports = DatePart;
|