/** * @aquienpz/sdk/native — React Native compression helpers. * * Thin pass-through to `@aquienpz/asset-compressor-native`'s * `compressImage` / `compressImages`, kept in its own subpath so: * * 1. Web-only consumers (Next.js, Vite) don't pull react-native into * their bundle when they import `@aquienpz/sdk`. * 2. The native bridge stays lazy — `aq.upload(...)` on RN can * dynamic-import this module only when `compress: true` is set. * 3. Future native helpers (upload session resume, native * thumbnailing, etc.) can land here without polluting `/expo`, * which is specifically about background upload sessions. * * Peer deps: * - react-native * - react-native-compressor (with the matching Expo config plugin) * * Usage: * * import { compressImage, compressImages } from "@aquienpz/sdk/native"; * * const { uri, size, originalSize } = await compressImage({ * uri: pickerAsset.uri, * filename: pickerAsset.fileName ?? "photo.jpg", * }); * * const upload = createExpoUploader(aq, { * file: { uri, mime: "image/jpeg", name: "photo.jpg" }, * }); * await upload.start(); */ export { type CompressInput, compressImage, compressImages, } from "@aquienpz/asset-compressor-native"; export { DEFAULT_COMPRESSION_OPTIONS, DEFAULT_NATIVE_CONCURRENCY, MAX_UPLOAD_DIMENSION, } from "@aquienpz/asset-compressor-native"; export type { CompressedResult, CompressionError, CompressionOptions, CompressionStatusKey, } from "@aquienpz/asset-compressor-native";