mirror of
https://github.com/Nezumi-2711/javascript-training.git
synced 2026-09-22 13:38:43 +00:00
27 lines
518 B
JavaScript
27 lines
518 B
JavaScript
export default class Transform {
|
|
constructor() {
|
|
this.signal = {};
|
|
}
|
|
|
|
onSendSignal(fromClass, value) {
|
|
Object.keys(this.signal).forEach((key) => {
|
|
const item = this.signal[key];
|
|
|
|
// Same receiver
|
|
if (item.name === fromClass) {
|
|
return;
|
|
}
|
|
|
|
// Send signal
|
|
const { handler } = this.signal[key];
|
|
if (handler) {
|
|
handler(value);
|
|
}
|
|
});
|
|
}
|
|
|
|
create(className, handler = null) {
|
|
this.signal[className] = { name: className, handler };
|
|
}
|
|
}
|