콘텐츠로 이동

FakeUploadApiOptions — @gj-kit/expo-media

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

import { FakeUploadApiOptions } from '@gj-kit/expo-media/testing';
type FakeUploadApiOptions<TAsset> = {
/** 완료 페이로드 → 호스트 자산. 테스트가 무엇을 자산으로 볼지 직접 정한다. */
readonly asset: (input: MediaUploadCompletion) => TAsset;
/**
* 중복 판정.
* ⚠ `UploadResult.duplicate`는 **필수 필드**다(§6.1-⑯) — 옵셔널이면 호스트가 판정을
* 돌려주지 않을 때 킷이 "새로 만들어졌다"로 오독하고, 중복 취소 경로가 사용자의 예전
* 사진을 지운다. 그 분기를 유닛에서 돌리려면 여기에 주입구가 있어야 한다.
*/
readonly duplicateWhen?: ((input: MediaUploadCompletion) => boolean) | undefined;
/** 오브젝트 키 결정. 기본 `objects/<순번>-<fileName>`. */
readonly objectName?: ((input: MediaUploadIntentRequest, index: number) => string) | undefined;
/** 서명 URL 발급. 기본은 §7 하드닝 8용 서명 URL 픽스처다. */
readonly uploadUrl?: ((objectName: string) => string) | undefined;
/** presign 응답 헤더. 기본 `{ 'content-type': <요청 contentType> }`. */
readonly headers?: ((input: MediaUploadIntentRequest) => Readonly<Record<string, string>>) | undefined;
};

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

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