iterable date range using moment-range

시작날짜와 끝날짜를 지정하면 시작날짜부터 끝날짜까지 간단히 순회할 수 있는 방법이 뭐가 있을까?

날짜 객체를 구해 하루씩 더하고 값을 일일이 비교하는거 말고 간단한 인터페이스로 가능했으면 좋겠다.

es에 native way는 없는 것 같고, 아래와 같은 방법을 찾음.

의존성
- http://momentjs.com/
- https://github.com/rotaready/moment-range

사용법

npm 으로 설치했다치고

const Moment = require('moment');
const MomentRange = require('moment-range');

const moment = MomentRange.extendMoment(Moment);

const start = moment('2018-10-15', 'YYYY-MM-DD');
const end = moment('2019-01-22', 'YYYY-MM-DD');
const range = moment.range(start, end);

const days = Array.from(range.by('days'));

days.forEach((day, i) => {
    console.log(`${day.format(moment.HTML5_FMT.DATE)} - ${i}`)
});

이런 식으로 range 를 얻은 다음에 배열로 변환해서 순회했다.