@javelin/ecs
Version:
22 lines • 674 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.createSignal = void 0;
const core_1 = require("@javelin/core");
const createSignal = () => {
const subscribers = [];
const subscribe = (subscriber) => {
subscribers.push(subscriber);
return () => core_1.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,
};
};
exports.createSignal = createSignal;
//# sourceMappingURL=signal.js.map