createPickerFlows — @gj-kit/expo-media
@gj-kit/expo-media/core에서 공개하는 function입니다. package version 0.6.1의 release declaration을 그대로 표시합니다.
검증된 import 예제
섹션 제목: “검증된 import 예제”import { createPickerFlows } from '@gj-kit/expo-media/core';시그니처, 매개변수, 반환 타입
섹션 제목: “시그니처, 매개변수, 반환 타입”declare function createPickerFlows<TAsset, TCollectionId extends string = string>(input: { readonly picker: PickerAdapter; readonly uploads: LocalUploads<TAsset, TCollectionId>; readonly platform: PlatformAdapter; readonly strings?: MediaStrings | undefined; /** * 웹 경로에서 `asset.fileName`이 없을 때 생성되는 폴백 파일명의 접두사. * 전신은 uploader의 `fileNamePrefix`를 썼다(uploader.ts:701) — 생략하면 `mediaFileName` * 기본값(`'media'`)이 되어 호스트 접두사가 웹 경로에서만 달라진다. * 네이티브 경로는 `uploads`가 이미 자기 접두사를 갖고 있으므로 영향받지 않는다. */ readonly fileNamePrefix?: string | undefined; /** * ⚠ `platform.os === 'web'`에서 피커 자산을 업로드하려면 **필수**. 없으면 * `MediaError('platform-unsupported')`. 조건부 타입 0 — 런타임 분기다(§3.1). * * 실측 근거(§5.7.4/V9-d): memorylog2 `app/profile-edit.tsx:137`의 `pickAndUploadPhoto()`에는 * **플랫폼 게이트가 없다**. 웹에서 그 호출은 전신 uploader.ts:692-710으로 들어가 * `fetch(asset.uri)` → Blob → `uploadImageBlob({ fallbackExif: asset.exif })`를 탔다. * 그 경로를 잃지 않으려면 변환 담당자(`loader`)와 업로더(`uploads`)가 여기 주입돼야 한다. */ readonly web?: { readonly uploads: BinaryUploads<TAsset, TCollectionId>; readonly loader: BinarySourceLoader; } | undefined;}): PickerFlows<TAsset, TCollectionId>;이 선언은 매개변수, optionality, 제네릭, 반환값, 공개 union/type 계약의 정본입니다. 호출 전 필요한 환경·권한·오류 경계는 패키지 Golden path와 이 subpath의 import 조건을 함께 확인하세요.
Release context
섹션 제목: “Release context”- 패키지:
@gj-kit/expo-media - 버전:
0.6.1 - 공개 entry:
./core - 소스: GitHub