콘텐츠로 이동

HashAdapter — @gj-kit/expo-media

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

import { HashAdapter } from '@gj-kit/expo-media/core';
/**
* 기본 구현은 core 내장 순수 TS 증분 SHA-256(§9) — `js-sha256` 제거, 런타임 의존성 0.
* 네이티브 가속이 필요한 호스트만 교체한다.
*
* ⚠ 해시는 dedup **최적화**일 뿐이므로 실패가 업로드를 막지 않는다(§7.1). 그 정책은 코어의
* `hashSafely()`가 갖는다 — 어댑터는 그냥 throw해도 된다.
*/
interface HashAdapter {
hashLocalFile(uri: string): Promise<string>;
hashBinary(source: BinarySource): Promise<string>;
}

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

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

기본 구현은 core 내장 순수 TS 증분 SHA-256(§9) — js-sha256 제거, 런타임 의존성 0. 네이티브 가속이 필요한 호스트만 교체한다.

⚠ 해시는 dedup 최적화일 뿐이므로 실패가 업로드를 막지 않는다(§7.1). 그 정책은 코어의 hashSafely()가 갖는다 — 어댑터는 그냥 throw해도 된다.