UNPKG

one

Version:

One is a React framework for web, iOS, and Android apps.

33 lines (30 loc) • 1.4 kB
import { TurboModuleRegistry } from "react-native"; import NativeSafeAreaProviderHost from "../specs/OneNativeSafeAreaProviderNativeComponent.native.js"; import { buildSafeAreaInsetStyle, keyboardSafeBottom, providerEventToMetrics, resolveOverlappingInsets, resolveSafeAreaEdgeModes } from "./insets.native.js"; function getInitialWindowMetrics() { var module = TurboModuleRegistry.get("OneNativeSafeAreaContext"); if (!module) return null; var constants = typeof module.getConstants === "function" ? module.getConstants() : module; var metrics = constants === null || constants === void 0 ? void 0 : constants.initialWindowMetrics; return isMetrics(metrics) ? metrics : null; } function isMetrics(value) { if (!value || typeof value !== "object") return false; var { insets, frame } = value; if (!insets || typeof insets !== "object" || !frame || typeof frame !== "object") return false; var numbers = [ insets.top, insets.right, insets.bottom, insets.left, frame.x, frame.y, frame.width, frame.height ]; return numbers.every(function(number) { return typeof number === "number" && Number.isFinite(number); }); } export { NativeSafeAreaProviderHost as NativeSafeAreaProvider, buildSafeAreaInsetStyle, getInitialWindowMetrics, keyboardSafeBottom, providerEventToMetrics, resolveOverlappingInsets, resolveSafeAreaEdgeModes }; //# sourceMappingURL=index.native.js.map