콘텐츠로 이동

StagingCache — @gj-kit/expo-media

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

import { StagingCache } from '@gj-kit/expo-media';
interface StagingCache extends Brand<'StagingCache'> {
/** `${namespace}-upload-`. */
readonly prefix: string;
/**
* cleanup의 유일한 판정 근거.
*
* 전신은 `uri.includes(PREFIX)` 한 줄이었다(deviceUploadCache.ts:29). 그 술어는
* `file:///other/dir/memorylog-upload-x.jpg`처럼 **우리가 만들지 않은 경로**도 참으로 만들고,
* 프리픽스가 중간에 낀 임의의 경로까지 삭제 대상에 넣는다. 3조건으로 좁힌다:
* (i) 앱 캐시 디렉토리로 시작 (ii) 파일명이 prefix로 **시작** (iii) 하위 경로 없음
*/
owns(uri: string | null | undefined): boolean;
/** 스테이징 사본이 놓일 자리. 캐시 디렉토리가 없으면 `null`. */
uriFor(asset: DeviceAssetRef): string | null;
/**
* 스테이징 사본 삭제. `owns()`가 false면 **no-op**이다.
* 실패는 삼킨다 — 누수의 대가는 디스크 비용뿐이고, 정리 실패로 업로드 결과를 뒤집을 이유가 없다.
*/
cleanup(uri: string | null | undefined): Promise<void>;
}

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

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