Skip to content

FakeDeviceLibraryOptions — @gj-kit/expo-media

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

import { FakeDeviceLibraryOptions } from '@gj-kit/expo-media/testing';
type FakeDeviceLibraryOptions = {
/** 열거 대상. ⚠ **주어진 순서를 그대로 유지한다** — 정렬 계약의 주인은 어댑터다(§3.3). */
readonly assets?: readonly DeviceAsset[] | undefined;
/** ⚠ `count: 0` 앨범과 뒤섞인 순서를 일부러 줄 수 있어야 한다(§7.1 unit 2케이스). */
readonly albums?: readonly DeviceAlbum[] | undefined;
/** albumId → 그 앨범에 속한 자산 id. 없으면 `albumId` 필터는 무시된다. */
readonly albumAssets?: Readonly<Record<string, readonly string[]>> | undefined;
/** `getPermission()` 결과. 기본 허용. */
readonly permission?: MediaPermission | undefined;
/** `requestPermission()` 결과. 기본은 `permission`과 동일. */
readonly requestedPermission?: MediaPermission | undefined;
/**
* true면 원본이 iCloud에만 있다고 보고한다 — 단, `downloadFromNetwork: true`로 조회하면
* 해소된다. 그래야 §7 하드닝 6의 "옵트인 → 60s 데드라인 → 재조회" 흐름이 실제로 돈다.
*/
readonly networkOnly?: boolean | undefined;
/** assetId별 EXIF. 기기 경로의 EXIF가 `PickedAsset.exif`까지 흐르는지 검증한다. */
readonly assetExif?: Readonly<Record<string, Readonly<Record<string, unknown>>>> | undefined;
/** assetId별 `DeviceAssetInfo` 전체 치환. 후보 순서(localUri → uri)를 직접 조작할 때 쓴다. */
readonly assetInfo?: Readonly<Record<string, DeviceAssetInfo>> | undefined;
/**
* `getAssetInfo`가 **영영 응답하지 않는다**. §7 하드닝 6의 15s/60s 데드라인이 core에 있음을
* 가짜 타이머로 검증하는 유일한 수단이다.
*/
readonly hangInfo?: boolean | undefined;
/**
* `getAssetInfo`가 이 값을 throw한다.
* ⚠ §7.1 「정보 조회 실패 2조건」의 ②(어댑터 raw 예외)를 만드는 주입구다. `MediaError`를 주면
* ①(후보 유무와 무관하게 항상 재throw)도 같은 손잡이로 검증된다.
*/
readonly failInfoWith?: unknown;
};

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: ./testing
  • Source: GitHub