콘텐츠로 이동

PlatformAdapter — @gj-kit/expo-media

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

import { PlatformAdapter } from '@gj-kit/expo-media/core';
/**
* core에서 `react-native` import를 제거하는 유일한 이유. 필드 2개뿐인 것이 정상이다.
*
* 전신 `debug.ts`는 `Platform`을 직접 import했고, 그 한 줄 때문에 서명 URL 새니타이저
* (§7 하드닝 8)를 순수 유닛으로 검증할 수 없었다. 주입으로 바꾸면서 debug 모듈이 core로 하강했다.
*/
interface PlatformAdapter {
readonly os: MediaPlatform;
/** `__DEV__` 상당. 디버그 로거 게이트(§7 하드닝 8). expo 기본값: `__DEV__ && NODE_ENV !== 'test'`. */
readonly isDev: boolean;
}

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

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

core에서 react-native import를 제거하는 유일한 이유. 필드 2개뿐인 것이 정상이다.

전신 debug.tsPlatform을 직접 import했고, 그 한 줄 때문에 서명 URL 새니타이저 (§7 하드닝 8)를 순수 유닛으로 검증할 수 없었다. 주입으로 바꾸면서 debug 모듈이 core로 하강했다.