콘텐츠로 이동

matchRefreshOutcome — @gj-kit/expo-auth

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

import { matchRefreshOutcome } from '@gj-kit/expo-auth';
/**
* Exhaustive matcher over the five endings. TypeScript does not force exhaustiveness on raw
* `switch`/`if` (§4.1-③ — `assertNever` is only an opt-in pattern), so the library ships a
* consumption form where a missing handler key is a **compile error**.
*/
declare function matchRefreshOutcome<T>(outcome: RefreshOutcome, handlers: {
readonly refreshed: (outcome: Extract<RefreshOutcome, {
status: 'refreshed';
}>) => T;
readonly adopted: (outcome: Extract<RefreshOutcome, {
status: 'adopted';
}>) => T;
readonly 'signed-out': (outcome: Extract<RefreshOutcome, {
status: 'signed-out';
}>) => T;
readonly invalid: (outcome: Extract<RefreshOutcome, {
status: 'invalid';
}>) => T;
readonly transient: (outcome: Extract<RefreshOutcome, {
status: 'transient';
}>) => T;
}): T;

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

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

Exhaustive matcher over the five endings. TypeScript does not force exhaustiveness on raw switch/if (§4.1-③ — assertNever is only an opt-in pattern), so the library ships a consumption form where a missing handler key is a compile error.