@xylabs/threads
Version:
Web workers & worker threads as simple as a function call
40 lines (39 loc) • 1.13 kB
JavaScript
var __defProp = Object.defineProperty;
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
// src/observable.ts
import { Observable } from "observable-fns";
import { Observable as Observable2 } from "observable-fns";
var $observers = Symbol("observers");
var Subject = class extends Observable {
static {
__name(this, "Subject");
}
[$observers];
constructor() {
super((observer) => {
this[$observers] = [
...this[$observers] || [],
observer
];
const unsubscribe = /* @__PURE__ */ __name(() => {
this[$observers] = this[$observers].filter((someObserver) => someObserver !== observer);
}, "unsubscribe");
return unsubscribe;
});
this[$observers] = [];
}
complete() {
for (const observer of this[$observers]) observer.complete();
}
error(error) {
for (const observer of this[$observers]) observer.error(error);
}
next(value) {
for (const observer of this[$observers]) observer.next(value);
}
};
export {
Observable2 as Observable,
Subject
};
//# sourceMappingURL=observable.mjs.map