one
Version:
One is a React framework for web, iOS, and Android apps.
48 lines (45 loc) • 1.5 kB
JavaScript
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