UNPKG

@lvxiaowu/antd4

Version:

antd4-components

57 lines (49 loc) 1.9 kB
import { action } from 'mobx'; import { getGlobalConfig, DataType } from '@lvxiaowu/utils'; // 重置mobx的store export var resetStore = action(function (self, Instance, propNames) { if (self && Instance) { var store = DataType.isFunc(Instance) ? new Instance() : Instance; var allProps; if (Array.isArray(propNames)) { allProps = propNames; } else { var proto = Object.getPrototypeOf(store); var ownPropsName = Object.getOwnPropertyNames(store); var protoName = Object.getOwnPropertyNames(proto); allProps = ownPropsName.concat(protoName); } allProps.forEach(function (name) { if (!DataType.isFunc(self[name]) && self[name] !== store[name]) { var _self$name; if ((_self$name = self[name]) === null || _self$name === void 0 ? void 0 : _self$name.$storeName) { var _self$name2; (_self$name2 = self[name]) === null || _self$name2 === void 0 ? void 0 : _self$name2.resetStore(); } else { self[name] = store[name]; } } }); } }); export function overrideStore(instance, overrides) { Object.keys(overrides || {}).forEach(function (name) { var desc = Object.getOwnPropertyDescriptor(overrides, name); if (desc.get) { Object.defineProperty(instance, name, desc); } else { instance[name] = overrides[name]; } }); } export function getPathLevel(pathname) { var level = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1; var pathSplit = pathname.split('/').filter(Boolean); if (pathSplit.length >= level) { return '/' + pathSplit.splice(0, level).join('/'); } } export function hasAuth(value) { var _admin$hasAuth; var admin = getGlobalConfig('appContext') || {}; return !!((_admin$hasAuth = admin.hasAuth) === null || _admin$hasAuth === void 0 ? void 0 : _admin$hasAuth.call(admin, value)); }