NotificationRelayStore — @gj-kit/nest-notifications
A public interface from @gj-kit/nest-notifications/core. The signature below is taken directly from the 0.1.1 release declaration.
Verified import example
Section titled “Verified import example”import { NotificationRelayStore } from '@gj-kit/nest-notifications/core';Signature, parameters, and return type
Section titled “Signature, parameters, and return type”/** * 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>;}This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.
Release context
Section titled “Release context”- Package:
@gj-kit/nest-notifications - Version:
0.1.1 - Public entry:
./core - Source: GitHub