Add web front-end and fix API issues
This commit is contained in:
1 parent
45ca4de0ad
commit
a7524412f0
2571 files changed
+86998
-5
No files matched your search
+26
@@ -0,0 +1,26 @@
|
||||
import { Subject } from '../Subject';
|
||||
import { Observable } from '../Observable';
|
||||
import { defer } from './defer';
|
||||
const DEFAULT_CONFIG = {
|
||||
connector: () => new Subject(),
|
||||
resetOnDisconnect: true,
|
||||
};
|
||||
export function connectable(source, config = DEFAULT_CONFIG) {
|
||||
let connection = null;
|
||||
const { connector, resetOnDisconnect = true } = config;
|
||||
let subject = connector();
|
||||
const result = new Observable((subscriber) => {
|
||||
return subject.subscribe(subscriber);
|
||||
});
|
||||
result.connect = () => {
|
||||
if (!connection || connection.closed) {
|
||||
connection = defer(() => source).subscribe(subject);
|
||||
if (resetOnDisconnect) {
|
||||
connection.add(() => (subject = connector()));
|
||||
}
|
||||
}
|
||||
return connection;
|
||||
};
|
||||
return result;
|
||||
}
|
||||
//# sourceMappingURL=connectable.js.map
|
||||
Reference in new issue
Block a user