MediaMetadata — @gj-kit/expo-media
A public type from @gj-kit/expo-media. The signature below is taken directly from the 0.6.1 release declaration.
Verified import example
Section titled “Verified import example”import { MediaMetadata } from '@gj-kit/expo-media';Signature, parameters, and return type
Section titled “Signature, parameters, and return type”/** * EXIF에서 유도한 촬영 메타데이터. `capturedAt`은 ISO 타임스탬프이며, EXIF 벽시계는 * **기기 로컬 타임존**으로 해석한다(§7 하드닝 11 — 근거는 `metadata.ts`에 원문 그대로 있다). * * ⚠ **필드명은 전신 그대로다.** 초안의 `geoPoint → location` 리네임은 **철회**했다(G5 확정). * 이 객체는 `api.completeUpload({ photo })`로 **호스트 백엔드에 그대로 전달**된다 * (전신 uploader.ts:442). 리네임의 파손은 타입에 잡히지 않는다: * · 호스트 대입 지점 `kit.ts:40-44`가 `completeUpload({...input})`을 zod 파생 타입에 넘긴다. * · 타깃은 `packages/shared/src/index.ts:105-108` `photoMetadataSchema = { capturedAt?, geoPoint? }`. * · `{capturedAt?, location?}` → `{capturedAt?, geoPoint?}` 대입은 공통 프로퍼티 `capturedAt`이 * 있어 **weak type 검사를 통과**하고, 변수 전달이라 초과 프로퍼티 검사도 걸리지 않는다. * · 런타임에서는 서버 zod가 non-strict라 미지의 `location` 키를 **조용히 스트립**한다. * 즉 컴파일도 테스트도 통과하고 위치정보만 사라지는 §6.1의 전형적 "조용히 깨지는" 클래스이며, * 얻는 것은 명명 취향뿐이었다. * * ⚠ 초안의 `width`/`height`는 **삭제**했다. 전신 EXIF 파서는 `PixelXDimension`/`PixelYDimension`을 * 읽지 않으므로(photoMetadata.ts 전문에 `Pixel`·`width`·`height` 0건 — grep 실측) 영구 `undefined`인 * 죽은 필드였고, `MediaUploadCompletion`에 이미 최상위 `width`/`height`(피커 자산 치수, * uploader.ts:749-756)가 있어 의미도 중복이다. */type MediaMetadata = { readonly capturedAt?: string | undefined; readonly geoPoint?: GeoPoint | undefined;};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.
Release context
Section titled “Release context”- Package:
@gj-kit/expo-media - Version:
0.6.1 - Public entry:
. - Source: GitHub