Skip to content

MediaStrings — @gj-kit/expo-media

A public interface from @gj-kit/expo-media/core. The signature below is taken directly from the 0.6.1 release declaration.

import { MediaStrings } from '@gj-kit/expo-media/core';
interface MediaStrings {
/** 자산 정보 조회 15s 데드라인 초과 — `device-timeout`. */
readonly deviceInfoTimeout: string;
/** iCloud 원본 다운로드 60s 데드라인 초과 — `device-timeout`. */
readonly iCloudDownloadTimeout: string;
/** 원본이 iCloud에만 있고 다운로드 옵트인이 없음 — `device-icloud-only`. */
readonly iCloudOnly: string;
/** 로컬 파일 없음/판독 불가 — `device-not-found`. 전신은 hashFile.ts:71과 문구를 공유했다. */
readonly fileNotFound: string;
/** 기기 라이브러리 어댑터/OS 호출 실패 — 원본 예외를 공개하지 않는다. */
readonly deviceLibraryFailed: string;
/** 피커 어댑터/웹 바이너리 로더 호출 실패 — 원본 예외를 공개하지 않는다. */
readonly pickerFailed: string;
/** 이미지 decoder 또는 transform 실패 — URI와 네이티브 원문은 공개하지 않는다. */
readonly imageProcessingFailed: string;
readonly unsupportedFileType: string;
/** 전신 uploader.ts:625 — 드롭/선택 결과에 업로드 가능한 미디어가 없음. */
readonly noMediaFiles: string;
/** 전신 uploader.ts:678 — 피커가 준 사진 자산에 uri가 없음. */
readonly pickedPhotoInvalid: string;
/** 전신 uploader.ts:717 — 피커가 준 미디어 자산에 uri가 없음. */
readonly pickedMediaInvalid: string;
readonly imageSizeUnknown: string;
readonly videoSizeUnknown: string;
readonly imageUploadFailed: string;
readonly videoUploadFailed: string;
/** 전신 uploader.ts:237, 295 — 포스터(썸네일) PUT 실패. */
readonly posterUploadFailed: string;
readonly photoPermissionRequired: string;
readonly mediaPermissionRequired: string;
readonly cameraPermissionRequired: string;
readonly savePermissionDenied: string;
readonly saveDownloadFailed: string;
/**
* `platform-unsupported` — 비네이티브 포크(web·SSR·RSC)에서 네이티브 전용 경로를 호출했을 때.
* 전신에는 대응 문구가 없다(전신의 web 포크는 영어 `Error`를 던졌다 —
* devicePhotoLibrary.web.ts:29). 이 코드는 §5.2에서 신설됐는데 §4의 키 목록이 함께
* 늘지 않아, 초기 구현이 `pickedMediaInvalid`·`fileNotFound`·`saveDownloadFailed` 셋을
* 돌려 쓰고 있었다 — 전부 원인과 무관한 문구다("파일을 찾을 수 없습니다"는 사용자를
* 파일 탐색으로 오도한다). 그래서 전용 키로 분리한다.
*/
readonly platformUnsupported: string;
/** 크기 초과 — 단위 표기가 언어마다 다르므로 함수. */
readonly fileTooLarge: (input: {
readonly maxBytes: number;
readonly kind: MediaKind;
}) => string;
}

This declaration is the source of truth for parameters, optionality, generics, return values, and public union/type contracts. Check the package golden path and this subpath’s import conditions for required environment, permission, and error boundaries before calling it.

  • Package: @gj-kit/expo-media
  • Version: 0.6.1
  • Public entry: ./core
  • Source: GitHub