mediaDownloadFileName — @gj-kit/expo-media
@gj-kit/expo-media에서 공개하는 function입니다. package version 0.6.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { mediaDownloadFileName } from '@gj-kit/expo-media';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”/** * 저장 파일명 = `` `${prefix}-${id || index + 1}.${ext}` `` (전신 saveImages.ts:71). * * 확장자 우선순위 — **저장된 fileName → contentType → URL 경로 → `'jpg'`**. * 전신 주석(saveImages.ts:56-58) 그대로의 근거: "저장된 원본 이름을 우선한다 — 다운로드 URL은 * 흔히 경로에 확장자가 없는 토큰화된 프록시라, URL을 스니핑하면 모든 PNG/HEIC/동영상 * 다운로드가 `<prefix>-<id>.jpg`가 되어버린다." * * ⚠ `index`는 **0-base 필수 인자**다(G8). `id`가 없거나 빈 문자열일 때 `index + 1`이 * 유일한 구분자이며, 이것이 없으면 여러 장을 저장할 때 파일명이 전부 같아진다 — * 브라우저는 `(1)` 접미사로 얼버무리고, MediaLibrary 경로는 캐시 파일을 덮어쓴다. */declare function mediaDownloadFileName(input: { readonly url: string; readonly index: number; readonly id?: string | undefined; readonly fileName?: string | undefined; readonly contentType?: MediaContentType | undefined; readonly prefix?: string | undefined;}): string;이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/expo-media - 버전:
0.6.1 - 공개 entry:
. - 소스: GitHub
구현 주석
섹션 제목: “구현 주석”저장 파일명 = `${prefix}-${id || index + 1}.${ext}` (전신 saveImages.ts:71).
확장자 우선순위 — 저장된 fileName → contentType → URL 경로 → 'jpg'.
전신 주석(saveImages.ts:56-58) 그대로의 근거: “저장된 원본 이름을 우선한다 — 다운로드 URL은
흔히 경로에 확장자가 없는 토큰화된 프록시라, URL을 스니핑하면 모든 PNG/HEIC/동영상
다운로드가 <prefix>-<id>.jpg가 되어버린다.”
⚠ index는 0-base 필수 인자다(G8). id가 없거나 빈 문자열일 때 index + 1이
유일한 구분자이며, 이것이 없으면 여러 장을 저장할 때 파일명이 전부 같아진다 —
브라우저는 (1) 접미사로 얼버무리고, MediaLibrary 경로는 캐시 파일을 덮어쓴다.