@javelin/ecs
Version:
18 lines • 544 B
JavaScript
import { mutableRemoveUnordered } from "@javelin/core";
export const createSignal = () => {
const subscribers = [];
const subscribe = (subscriber) => {
subscribers.push(subscriber);
return () => mutableRemoveUnordered(subscribers, subscriber);
};
const dispatch = (arg1, arg2, arg3, arg4) => {
for (let i = 0; i < subscribers.length; i++) {
subscribers[i](arg1, arg2, arg3, arg4);
}
};
return {
subscribe,
dispatch,
};
};
//# sourceMappingURL=signal.js.map