콘텐츠로 이동

DurableFileStoreAdapter — @gj-kit/expo-media

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

import { DurableFileStoreAdapter } from '@gj-kit/expo-media';
/**
* App-owned persistent-file storage seam.
*
* This is deliberately separate from `FileSystemAdapter`: upload code needs a
* cache directory plus base64 reads, whereas an application attachment store
* needs a durable root plus directory creation. Keeping the contracts apart
* avoids making every upload-only adapter pretend it can persist user files.
*/
interface DurableFileStoreAdapter {
/** App-owned durable root URI. It must identify a directory, or return null when unavailable. */
rootDirectory(): string | null;
/** Creates a directory and all missing parents. Repeating the call must be safe. */
ensureDirectory(uri: string): Promise<void>;
/** Same discriminated stat contract as the upload file-system seam. */
stat(uri: string): Promise<FileStat>;
copy(input: {
readonly from: string;
readonly to: string;
}): Promise<void>;
/** Idempotent best-effort removal. */
remove(uri: string): Promise<void>;
}

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

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

App-owned persistent-file storage seam.

This is deliberately separate from FileSystemAdapter: upload code needs a cache directory plus base64 reads, whereas an application attachment store needs a durable root plus directory creation. Keeping the contracts apart avoids making every upload-only adapter pretend it can persist user files.