133 lines
3.5 KiB
JavaScript
133 lines
3.5 KiB
JavaScript
// Module ID: 1476
|
|
// Function ID: 17139
|
|
// Name: useEventEmitter
|
|
// Dependencies: []
|
|
// Exports: default
|
|
|
|
// Module 1476 (useEventEmitter)
|
|
let closure_0 = importDefault(dependencyMap[0]);
|
|
let closure_1 = importAll(dependencyMap[1]);
|
|
|
|
export default function useEventEmitter(arg0) {
|
|
let closure_0 = arg0;
|
|
const React = React.useRef(arg0);
|
|
const effect = React.useEffect(() => {
|
|
closure_1.current = arg0;
|
|
});
|
|
let closure_2 = React.useRef(Object.create(null));
|
|
const callback = React.useCallback((arg0) => {
|
|
function removeListener(arg0, arg1) {
|
|
let tmp;
|
|
if (closure_2.current[arg0]) {
|
|
tmp = closure_2.current[arg0][closure_0];
|
|
}
|
|
if (tmp) {
|
|
const index = tmp.indexOf(arg1);
|
|
if (index > -1) {
|
|
tmp.splice(index, 1);
|
|
}
|
|
}
|
|
}
|
|
let closure_1 = removeListener;
|
|
return {
|
|
addListener(arg0, arg1) {
|
|
const removeListener = arg1;
|
|
let obj = closure_2.current[arg0];
|
|
if (!obj) {
|
|
obj = {};
|
|
}
|
|
closure_2.current[arg0] = obj;
|
|
let items = closure_2.current[arg0][closure_0];
|
|
if (!items) {
|
|
items = [];
|
|
}
|
|
closure_2.current[arg0][arg0] = items;
|
|
closure_2.current[arg0][closure_0].push(arg1);
|
|
closure_2 = false;
|
|
return () => {
|
|
if (!closure_2) {
|
|
closure_2 = true;
|
|
arg1(arg0, arg1);
|
|
}
|
|
};
|
|
},
|
|
removeListener
|
|
};
|
|
}, []);
|
|
const callback1 = React.useCallback((type) => {
|
|
type = type.type;
|
|
const data = type.data;
|
|
const target = type.target;
|
|
let obj = target.current[type];
|
|
if (!obj) {
|
|
obj = {};
|
|
}
|
|
const callback = obj;
|
|
if (undefined !== target) {
|
|
let substr;
|
|
if (null != obj[target]) {
|
|
substr = arr5.slice();
|
|
}
|
|
let found = substr;
|
|
} else {
|
|
const items = [];
|
|
const concat = items.concat;
|
|
const _Object = Object;
|
|
const keys = Object.keys(obj);
|
|
found = concat.apply(items, type(keys.map((arg0) => obj[arg0]))).filter((arg0, arg1, arr) => arr.lastIndexOf(arg0) === arg1);
|
|
const applyResult = concat.apply(items, type(keys.map((arg0) => obj[arg0])));
|
|
}
|
|
obj = {};
|
|
Object.defineProperty(obj, "type", { get: () => type, set: undefined });
|
|
const callback1 = obj;
|
|
if (undefined !== target) {
|
|
const _Object2 = Object;
|
|
obj = {
|
|
enumerable: true,
|
|
get() {
|
|
return target;
|
|
}
|
|
};
|
|
Object.defineProperty(obj, "target", obj);
|
|
}
|
|
if (undefined !== data) {
|
|
const _Object3 = Object;
|
|
const obj1 = {
|
|
enumerable: true,
|
|
get() {
|
|
return data;
|
|
}
|
|
};
|
|
Object.defineProperty(obj, "data", obj1);
|
|
}
|
|
if (type.canPreventDefault) {
|
|
let closure_5 = false;
|
|
const _Object4 = Object;
|
|
const obj2 = {};
|
|
const obj3 = {
|
|
enumerable: true,
|
|
get() {
|
|
return closure_5;
|
|
}
|
|
};
|
|
obj2.defaultPrevented = obj3;
|
|
const obj4 = {
|
|
enumerable: true,
|
|
value() {
|
|
let closure_5 = true;
|
|
}
|
|
};
|
|
obj2.preventDefault = obj4;
|
|
Object.defineProperties(obj, obj2);
|
|
}
|
|
if (null != data.current) {
|
|
ref.current(obj);
|
|
}
|
|
if (null != found) {
|
|
const item = found.forEach((arg0) => arg0(obj));
|
|
}
|
|
return obj;
|
|
}, []);
|
|
const items = [callback, callback1];
|
|
return React.useMemo(() => ({ create: callback, emit: callback1 }), items);
|
|
};
|