콘텐츠로 이동

NotificationRelaySummary — @gj-kit/nest-notifications

@gj-kit/nest-notifications/core에서 공개하는 type입니다. package version 0.1.1의 release declaration을 그대로 표시합니다.

import { NotificationRelaySummary } from '@gj-kit/nest-notifications/core';
/**
* Declared as a type alias, NOT an interface. Only object type aliases get an
* implicit index signature, so only this form is assignable to
* `Record<string, unknown>` - which is exactly the shape a sibling job runner's
* summary slot has. An interface fails with "Index signature for type 'string'
* is missing" and the 12-line job adapter in the README stops compiling
* (measured; design 0.4-3).
*
* The outcome counters can sum to less than `claimed`: a claim lost mid-pass is
* neither an outcome nor a failure, and it is logged rather than counted.
*/
type NotificationRelaySummary = {
readonly ok: boolean;
readonly claimed: number;
readonly relayed: number;
readonly suppressed: number;
readonly alreadyRelayed: number;
readonly noLongerLive: number;
readonly failed: number;
};

이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.

  • 패키지: @gj-kit/nest-notifications
  • 버전: 0.1.1
  • 공개 entry: ./core
  • 소스: GitHub

Declared as a type alias, NOT an interface. Only object type aliases get an implicit index signature, so only this form is assignable to Record<string, unknown> - which is exactly the shape a sibling job runner’s summary slot has. An interface fails with “Index signature for type ‘string’ is missing” and the 12-line job adapter in the README stops compiling (measured; design 0.4-3).

The outcome counters can sum to less than claimed: a claim lost mid-pass is neither an outcome nor a failure, and it is logged rather than counted.