UNPKG

unstated-enhancers

Version:
36 lines (35 loc) 1.4 kB
"use strict"; var __assign = (this && this.__assign) || function () { __assign = Object.assign || function(t) { for (var s, i = 1, n = arguments.length; i < n; i++) { s = arguments[i]; for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p]; } return t; }; return __assign.apply(this, arguments); }; Object.defineProperty(exports, "__esModule", { value: true }); var React = require("react"); var unstated_1 = require("unstated"); var unstated_persist_1 = require("./unstated-persist"); var isBootstrapped = function (container) { return container.hydrated === true || container.persist === undefined || (container.state !== undefined && container.state._persist_version !== undefined); }; function SubscribeGate(props) { var bootstrapped = unstated_persist_1.PERSIST_ENABLED ? false : true; return (React.createElement(unstated_1.Subscribe, __assign({}, props), function () { var args = []; for (var _i = 0; _i < arguments.length; _i++) { args[_i] = arguments[_i]; } if (!bootstrapped && args.every(isBootstrapped)) bootstrapped = true; if (bootstrapped) { return props.children.apply(props, args); } else { return props.loading || null; } })); } exports.default = SubscribeGate;