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.
 
 
 
 
 

25 lines
633 B

import {timeInterval} from "./interval.js";
export const millisecond = timeInterval(() => {
// noop
}, (date, step) => {
date.setTime(+date + step);
}, (start, end) => {
return end - start;
});
// An optimized implementation for this simple case.
millisecond.every = (k) => {
k = Math.floor(k);
if (!isFinite(k) || !(k > 0)) return null;
if (!(k > 1)) return millisecond;
return timeInterval((date) => {
date.setTime(Math.floor(date / k) * k);
}, (date, step) => {
date.setTime(+date + step * k);
}, (start, end) => {
return (end - start) / k;
});
};
export const milliseconds = millisecond.range;