콘텐츠로 이동

FileSystemAdapter — @gj-kit/expo-media

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

import { FileSystemAdapter } from '@gj-kit/expo-media';
interface FileSystemAdapter {
/** 앱 소유 캐시 디렉토리 URI(끝에 '/'). 없으면 documentDirectory, 그것도 없으면 null. */
cacheDirectory(): string | null;
/** ⚠ throw 금지 — 코어가 후보 URI를 순회한다. 없거나 디렉토리면 그 kind를 반환. */
stat(uri: string): Promise<FileStat>;
copy(input: {
readonly from: string;
readonly to: string;
}): Promise<void>;
/** 멱등 삭제. 실패해도 throw 금지 — 스테이징 누수는 디스크 비용일 뿐이다. */
remove(uri: string): Promise<void>;
/**
* `[position, position+length)` 구간을 base64로 반환.
* ⚠ 코어는 length를 **항상 3의 배수**로 준다(§7 하드닝 9 — 3바이트가 base64 4문자에 대응하므로
* 3의 배수가 아니면 윈도우 경계에 패딩이 끼어 **해시가 조용히 틀린다**).
* 어댑터가 범위를 재정렬·병합·확장하면 그 하드닝이 무력화된다.
*/
readBase64(uri: string, range: ChunkRange): Promise<string>;
}

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

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