@whitesev/pops
Version:
弹窗库,包含了alert、confirm、prompt、drawer、folder、loading、iframe、panel、tooltip、searchSuggestion、rightClickMenu组件
55 lines (50 loc) • 1.24 kB
text/typescript
const OriginPrototype = {
Object: {
defineProperty: Object.defineProperty,
defineProperties: Object.defineProperties,
},
};
const PopsCoreDefaultApi = {
document: document,
window: window,
globalThis: globalThis,
self: self,
setTimeout: globalThis.setTimeout.bind(globalThis),
setInterval: globalThis.setInterval.bind(globalThis),
clearTimeout: globalThis.clearTimeout.bind(globalThis),
clearInterval: globalThis.clearInterval.bind(globalThis),
};
const PopsCoreApi = Object.assign({}, PopsCoreDefaultApi);
const PopsCore = {
init(option?: typeof PopsCoreDefaultApi) {
if (!option) {
option = Object.assign({}, PopsCoreDefaultApi);
}
Object.assign(PopsCoreApi, option);
},
get document() {
return PopsCoreApi.document;
},
get window() {
return PopsCoreApi.window;
},
get globalThis() {
return PopsCoreApi.globalThis;
},
get self() {
return PopsCoreApi.self;
},
get setTimeout() {
return PopsCoreApi.setTimeout;
},
get setInterval() {
return PopsCoreApi.setInterval;
},
get clearTimeout() {
return PopsCoreApi.clearTimeout;
},
get clearInterval() {
return PopsCoreApi.clearInterval;
},
};
export { OriginPrototype, PopsCore };