UNPKG

one

Version:

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

96 lines (93 loc) • 3.19 kB
import { NitroModules } from "react-native-nitro-modules"; import { rethrowNativeError } from "../nativeError.native.js"; import { assertStagedListener, parseUpdateManifest } from "./validate.native.js"; var hybrid; function native() { hybrid !== null && hybrid !== void 0 ? hybrid : hybrid = NitroModules.createHybridObject("OneUpdates"); return hybrid; } var hasNative = NitroModules.hasHybridObject("OneUpdates"); function disabledError(verb) { return Object.assign(new Error(`Updates.${verb}: updates are disabled in this build.`), { code: "E_UPDATES_DISABLED" }); } function toCheckResult(param) { var { type, manifestJson } = param; if (type === "available" && manifestJson !== void 0) return { type, manifest: parseUpdateManifest(manifestJson) }; if (type === "available") throw new Error("Updates.check: available without a manifest"); return { type }; } function toFetchResult(param) { var { type, manifestJson } = param; if (type === "fetched" && manifestJson !== void 0) return { type, manifest: parseUpdateManifest(manifestJson) }; if (type === "fetched") throw new Error("Updates.fetch: fetched without a manifest"); return { type }; } function check() { if (!hasNative) return Promise.reject(disabledError("check")); return native().check().then(toCheckResult, rethrowNativeError); } function fetch() { if (!hasNative) return Promise.reject(disabledError("fetch")); return native().fetch().then(toFetchResult, rethrowNativeError); } function getStaged() { if (!hasNative) return null; var stagedJson = native().getStagedJson(); return stagedJson === void 0 ? null : parseUpdateManifest(stagedJson); } function addStagedListener(listener) { assertStagedListener(listener); if (!hasNative) return { remove: function remove2() {} }; var remove = native().addStagedListener(function(stagedJson) { listener(stagedJson === void 0 ? null : parseUpdateManifest(stagedJson)); }); return { remove: function remove1() { return remove(); } }; } function reload() { if (!hasNative) return Promise.reject(disabledError("reload")); return native().reload().catch(rethrowNativeError); } function readUpdates() { var _running_runtimeVersion, _running_updateId; if (!hasNative) { return { isEnabled: false, runtimeVersion: null, updateId: null, isEmbeddedLaunch: false, createdAt: null, manifest: null, check, fetch, getStaged, addStagedListener, reload }; } var running = native(); var createdAt = running.createdAt; return { isEnabled: running.isEnabled, runtimeVersion: (_running_runtimeVersion = running.runtimeVersion) !== null && _running_runtimeVersion !== void 0 ? _running_runtimeVersion : null, updateId: (_running_updateId = running.updateId) !== null && _running_updateId !== void 0 ? _running_updateId : null, isEmbeddedLaunch: running.isEmbeddedLaunch, createdAt: createdAt === void 0 ? null : new Date(createdAt), manifest: running.manifestJson === void 0 ? null : parseUpdateManifest(running.manifestJson), check, fetch, getStaged, addStagedListener, reload }; } var Updates = Object.freeze(readUpdates()); export { Updates }; //# sourceMappingURL=index.native.js.map