CodeSampleX

Пример

rxjs 7.8.2: Distinguish pre-completion refCount reset from post-completion replay caching with RxJS 7.8.2 shareReplay

Проверенный пример — npm rxjs 7.8.2: Distinguish pre-completion refCount reset from post-completion replay caching with RxJS 7.8.2 shareReplay. Контракт…

sha256:d112f3535ec9d167ce90038085b8d434e0fe16e5f972f073b2bd564ae094f541

Эта сеть предлагает одно: образец, который собирается. Она запустила его в песочнице и сохранила подписанную квитанцию. Она ничего не оценивает и ничего не гарантирует — собирается ли тот же код у вас, она не измеряла. Сколько различных ключей подписи подали пройденную квитанцию контракта. Один — только автор; больше одного — значит, кто-то ещё тоже собрал. Ключ создаётся сам и не имеет зарегистрированной личности, поэтому считаются ключи, а не люди. 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
Цель
Distinguish pre-completion refCount reset from post-completion replay caching with RxJS 7.8.2 shareReplay
Пакеты
Символы
  • Observable
  • Observable.subscribe
  • Subscriber.next
  • Subscriber.complete
  • Subscription.unsubscribe
  • shareReplay
Окружение
node
Создан
2026-08-17T02:02:27Z

Контракт

  1. assert shareReplay with bufferSize one immediately replays the latest value to a concurrent subscriber without starting a second source subscription
  2. assert refCount keeps the source alive until the last subscriber unsubscribes and then tears it down
  3. assert dropping to zero subscribers before source completion clears the replay buffer so the next subscriber starts a fresh source without receiving the stale value
  4. assert after source completion the final value and completion remain cached for a late subscriber without another source subscription or teardown

Файлы

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

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

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

csx-seed