NotificationRelayStore — @gj-kit/nest-notifications
@gj-kit/nest-notifications에서 공개하는 interface입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { NotificationRelayStore } from '@gj-kit/nest-notifications';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * Ingress outbox persistence. The library owns no schema; a host maps these four * operations onto its own table. The obligations R1-R13 documented in the design * are part of the contract, and `notificationStoreContractCases()` from the * `./testing` subpath checks them. */interface NotificationRelayStore { /** Atomically claim up to `limit` due rows. Only rows this call actually won are returned (R1). */ claimDue(request: RelayClaimRequest): Promise<readonly ClaimedNotificationCommand[]>; /** * Run `work` in one transaction that holds the outbox row lock (R7). Resolves * to `null` without running `work` when this worker no longer owns the claim. */ relayInTransaction<T>(request: RelayTransactionRequest, work: (tx: NotificationRelayTransaction) => Promise<T>): Promise<T | null>; /** `false` means the claim was lost; the stored outcome is unchanged (R8). */ completeClaim(request: RelayCompleteRequest): Promise<boolean>; /** Release a failed claim so the next pass can retry it. Never throws for a lost claim. */ releaseClaim(request: RelayReleaseRequest): Promise<void>;}이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/nest-notifications - 버전:
0.1.1 - 공개 entry:
. - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”Ingress outbox persistence. The library owns no schema; a host maps these four
operations onto its own table. The obligations R1-R13 documented in the design
are part of the contract, and notificationStoreContractCases() from the
./testing subpath checks them.