UNPKG

one

Version:

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

48 lines (45 loc) • 1.5 kB
import { useEffect, useId } from "react"; import { NitroModules } from "react-native-nitro-modules"; import { rethrowNativeError } from "../nativeError.native.js"; import { assertKeepAwakeEnabled, assertKeepAwakeTag, normalizeKeepAwakeTag } from "./validate.native.js"; var hybrid; function native() { hybrid !== null && hybrid !== void 0 ? hybrid : hybrid = NitroModules.createHybridObject("OneKeepAwake"); return hybrid; } function isEnabled() { return native().isEnabled().catch(rethrowNativeError); } function setEnabled(enabled) { assertKeepAwakeEnabled(enabled); return native().setEnabled(enabled).catch(rethrowNativeError); } function activate(tag) { assertKeepAwakeTag(tag, "activate"); return native().activate(normalizeKeepAwakeTag(tag)).catch(rethrowNativeError); } function deactivate(tag) { assertKeepAwakeTag(tag, "deactivate"); return native().deactivate(normalizeKeepAwakeTag(tag)).catch(rethrowNativeError); } function useKeepAwake(tag) { var fallback = useId(); assertKeepAwakeTag(tag, "useKeepAwake"); var effective = tag !== null && tag !== void 0 ? tag : fallback; useEffect(function() { activate(effective).catch(function(error) { console.error(`Failed to keep the screen awake: ${String(error)}`); }); return function() { deactivate(effective).catch(function() {}); }; }, [effective]); } var KeepAwake = Object.freeze({ isEnabled, setEnabled, activate, deactivate }); export { KeepAwake, useKeepAwake }; //# sourceMappingURL=index.native.js.map