react-runtime-config
Version:
Provide a typesafe runtime configuration inside a react app
50 lines • 3.14 kB
JavaScript
;
var __read = (this && this.__read) || function (o, n) {
var m = typeof Symbol === "function" && o[Symbol.iterator];
if (!m) return o;
var i = m.call(o), r, ar = [], e;
try {
while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
}
catch (error) { e = { error: error }; }
finally {
try {
if (r && !r.done && (m = i["return"])) m.call(i);
}
finally { if (e) throw e.error; }
}
return ar;
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.capitalize = exports.useWatchLocalStorageEvents = void 0;
var react_1 = __importDefault(require("react"));
/**
* Utils to provide a key that depends to the localStorage state.
*
* @param storage
* @param localOverride
*/
var useWatchLocalStorageEvents = function (storage, localOverride) {
var _a = __read(react_1.default.useState(0), 2), key = _a[0], setKey = _a[1];
react_1.default.useEffect(function () {
var onStorageUpdate = function (_) {
if (storage && localOverride) {
setKey(function (i) { return (i + 1) % 10; });
}
};
window.addEventListener("storage", onStorageUpdate);
return function () { return window.removeEventListener("storage", onStorageUpdate); };
}, [storage, localOverride, setKey]);
return key;
};
exports.useWatchLocalStorageEvents = useWatchLocalStorageEvents;
function capitalize(str) {
if (!str || str.length < 1)
return "";
return (str[0].toUpperCase() + str.slice(1));
}
exports.capitalize = capitalize;
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLGdEQUEwQjtBQUUxQjs7Ozs7R0FLRztBQUNJLElBQU0sMEJBQTBCLEdBQUcsVUFBQyxPQUFnQixFQUFFLGFBQXNCO0lBQzNFLElBQUEsS0FBQSxPQUFnQixlQUFLLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFBLEVBQWhDLEdBQUcsUUFBQSxFQUFFLE1BQU0sUUFBcUIsQ0FBQztJQUV4QyxlQUFLLENBQUMsU0FBUyxDQUFDO1FBQ2QsSUFBTSxlQUFlLEdBQUcsVUFBQyxDQUFlO1lBQ3RDLElBQUksT0FBTyxJQUFJLGFBQWEsRUFBRTtnQkFDNUIsTUFBTSxDQUFDLFVBQUEsQ0FBQyxJQUFJLE9BQUEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFaLENBQVksQ0FBQyxDQUFDO2FBQzNCO1FBQ0gsQ0FBQyxDQUFDO1FBRUYsTUFBTSxDQUFDLGdCQUFnQixDQUFDLFNBQVMsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUVwRCxPQUFPLGNBQU0sT0FBQSxNQUFNLENBQUMsbUJBQW1CLENBQUMsU0FBUyxFQUFFLGVBQWUsQ0FBQyxFQUF0RCxDQUFzRCxDQUFDO0lBQ3RFLENBQUMsRUFBRSxDQUFDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUVyQyxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUMsQ0FBQztBQWhCVyxRQUFBLDBCQUEwQiw4QkFnQnJDO0FBRUYsU0FBZ0IsVUFBVSxDQUFtQixHQUFNO0lBQ2pELElBQUksQ0FBQyxHQUFHLElBQUksR0FBRyxDQUFDLE1BQU0sR0FBRyxDQUFDO1FBQUUsT0FBTyxFQUFtQixDQUFDO0lBQ3ZELE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBa0IsQ0FBQztBQUNoRSxDQUFDO0FBSEQsZ0NBR0MifQ==