Files
boris/node_modules/rxjs/dist/esm/internal/observable/connectable.js
Gigi 5d53a827e0 feat: initialize markr nostr bookmark client
- Add project structure with TypeScript, React, and Vite
- Implement nostr authentication using browser extension (NIP-07)
- Add NIP-51 compliant bookmark fetching and display
- Create minimal UI with login and bookmark components
- Integrate applesauce-core and applesauce-react libraries
- Add responsive styling with dark/light mode support
- Include comprehensive README with setup instructions

This is a minimal MVP for a nostr bookmark client that allows users to
view their bookmarks according to NIP-51 specification.
2025-10-02 07:17:07 +02:00

26 lines
855 B
JavaScript

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