UNPKG

@orca-fe/hooks

Version:

React Hooks Collections

41 lines (39 loc) 1.28 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault").default; Object.defineProperty(exports, "__esModule", { value: true }); exports.registerGlobal = registerGlobal; exports.unregisterGlobal = unregisterGlobal; var _typeof2 = _interopRequireDefault(require("@babel/runtime/helpers/typeof")); /** * 将 value 注册到 window 上,如果 window 中不存在该内容,则将 value 挂载上去,否则直接使用该内容 */ function registerGlobal(key, value) { if (!key || value === undefined) throw new Error('registerGlobal: key or value is empty.'); if (window[key] === undefined) { // 新增 window[key] = value; return value; } // 已存在内容 var originValue = window[key]; if ((0, _typeof2.default)(originValue) === (0, _typeof2.default)(value)) { return originValue; } throw new Error("Global key ".concat(key.toString(), " conflict! Please check your value type")); } /** * 取消注册内容 * @param key * @param value */ function unregisterGlobal(key, value) { if (!key || value === undefined) return false; if (window[key] === value) { // eslint-disable-next-line @typescript-eslint/no-dynamic-delete delete window[key]; return true; } return false; }