Luxon возвращает Invalid Interval, когда внутри библиотеки вызывается Interval.after
Я столкнулся со странной проблемой с Luxon, когда Interval.after
метод вызывается внутри библиотеки.
const interval = Interval.after(dateTime, duration);
Следующий журнал из приложения DateTime__Duration
и вторая строка записывается в результате Interval.after
:
1535806800000__PT330M
[2018-09-01T16:00:00.000+03:00 – 2018-09-01T21:30:00.000+03:00)
Однако, если я передам эти значения в библиотечный метод и наблюдаю там журнал:
1535806800000__PT330M
Invalid Interval
Где причина invalid endpoints
, призвание isValid
за DateTime
а также Duration
возвращает истину.
Если я инициализирую DateTime
а также Duration
точно так же, как приложение, то Interval.after
работает внутри библиотеки.
const interval2 = Interval.after(DateTime.fromISO('2018-09-01T16:00:00.000+03:00',
{zone: 'Europe/Helsinki'}), Duration.fromObject({ minutes: 330 }));
Оба вызова используют одни и те же объекты, но Interval.after
работает только внутри приложения. Есть идеи, что может вызвать это?
ОБНОВИТЬ
Кажется, это как-то связано с DateTime
, Может ли он вести себя по-разному в приложении и в библиотеке, даже если версия luxon одинакова? Из того, что я поняла, люксон не имеет зависимостей.
ОБНОВЛЕНИЕ 2
Мне удалось получить воспроизводящую версию этой установки. Источники приложений и библиотек можно скачать с http://www.filedropper.com/luxon
Для локальной привязки библиотеки к приложению, которое я использовал yarn link
в библиотеке и yarn link "luxon-test-lib"
в приложении после этого.
1 ответ
Причиной этого стало локальное связывание библиотеки во время разработки. Поэтому, хотя и приложение, и lib имели одинаковую версию luxon, у них обоих были отдельные модули. Это привело к поломке библиотеки Luxon из-за instanceof
чеки там используются.