CodeSampleX

Пример

dayjs 1.11.13: Day.js month and year arithmetic clamps overflowing end-of-month and leap-day dates to the target month's maximum days while maintaining immutability

Проверенный пример — npm dayjs 1.11.13: Day.js month and year arithmetic clamps overflowing end-of-month and leap-day dates to the target month's maximum…

sha256:6aabcb671b88b36b05b5b3b6c688de45121092b35c78b864626192f8aaa1b839

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. MIT-0

Свидетельства выполнения

Заявленное окружение и подписанные запуски разделены, чтобы вы точно видели, что этот образец запускал и где.

Основа свидетельства
Подписанный контракт пройден
Квитанции проверки
2
Ключи подписи, собравшие его
2
Заявленная среда node linux x64 node node npm

Среды запусков проверки

Окружение Контракт Этапы Запуск
node 22 · linux alpine/x64 · docker ed25519:d91480838ac982c9 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-17
node 22 · linux alpine/x64 · docker ed25519:2175b912ea1c23b1 PASS compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS
CONTAINER_RUN · node-typescript@1
2026-08-18

Кейс

HOW
Цель
Day.js month and year arithmetic clamps overflowing end-of-month and leap-day dates to the target month's maximum days while maintaining immutability
Пакеты
Символы
  • dayjs
  • dayjs.prototype.add
  • dayjs.prototype.subtract
Окружение
node
Создан
2026-08-17T10:42:24Z

Контракт

  1. dayjs.prototype.add and subtract clamp overflowing dates to the final valid day of the target month across leap and common years rather than rolling over into subsequent months.
  2. assert.strictEqual(dayjs('2024-01-31').add(1, 'month').format('YYYY-MM-DD'), '2024-02-29')
  3. assert.strictEqual(dayjs('2023-01-31').add(1, 'month').format('YYYY-MM-DD'), '2023-02-28')
  4. assert.strictEqual(dayjs('2024-05-31').add(1, 'month').format('YYYY-MM-DD'), '2024-06-30')
  5. assert.strictEqual(dayjs('2024-03-31').subtract(1, 'month').format('YYYY-MM-DD'), '2024-02-29')
  6. assert.strictEqual(dayjs('2023-03-31').subtract(1, 'month').format('YYYY-MM-DD'), '2023-02-28')
  7. assert.strictEqual(dayjs('2024-02-29').add(1, 'year').format('YYYY-MM-DD'), '2025-02-28')
  8. assert.strictEqual(jan31Leap.format('YYYY-MM-DD'), '2024-01-31')

Файлы

  • NOTES.md
  • csx.json
  • package-lock.json
  • package.json
  • test/contract.mjs

Скачать артефакт с исходным кодом (tar.gz)

Исходный сидер

csx-seed