askexperts
Version:
AskExperts SDK: build and use AI experts - ask them questions and pay with bitcoin on an open protocol
79 lines • 3.64 kB
JavaScript
/**
* Default implementation of StreamFactory
*/
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
};
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
if (kind === "m") throw new TypeError("Private method is not writable");
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
};
var _DefaultStreamFactory_readerConfig, _DefaultStreamFactory_writerConfig;
import { StreamReader } from "./StreamReader.js";
import { StreamWriter } from "./StreamWriter.js";
/**
* Default implementation of StreamFactory
* Uses the built-in StreamReader and StreamWriter classes
*/
export class DefaultStreamFactory {
constructor() {
_DefaultStreamFactory_readerConfig.set(this, void 0);
_DefaultStreamFactory_writerConfig.set(this, void 0);
}
get readerConfig() {
return __classPrivateFieldGet(this, _DefaultStreamFactory_readerConfig, "f");
}
set readerConfig(c) {
__classPrivateFieldSet(this, _DefaultStreamFactory_readerConfig, c, "f");
}
get writerConfig() {
return __classPrivateFieldGet(this, _DefaultStreamFactory_writerConfig, "f");
}
set writerConfig(c) {
__classPrivateFieldSet(this, _DefaultStreamFactory_writerConfig, c, "f");
}
/**
* Creates a StreamReader for reading from a stream
*
* @param metadata - Stream metadata
* @param pool - SimplePool instance for relay communication
* @param config - Configuration options
* @returns Promise resolving to an AsyncIterable of string or Uint8Array
*/
async createReader(metadata, pool, config) {
return new StreamReader(metadata, pool, config || __classPrivateFieldGet(this, _DefaultStreamFactory_readerConfig, "f"));
}
/**
* Creates a StreamWriter for writing to a stream
*
* @param metadata - Stream metadata
* @param pool - SimplePool instance for relay communication
* @param senderPrivkey - Private key for signing stream events
* @param config - Configuration options
* @returns Promise resolving to a StreamWriterInterface
*/
async createWriter(metadata, pool, senderPrivkey, config) {
return new StreamWriter(metadata, pool, senderPrivkey, config || __classPrivateFieldGet(this, _DefaultStreamFactory_writerConfig, "f"));
}
}
_DefaultStreamFactory_readerConfig = new WeakMap(), _DefaultStreamFactory_writerConfig = new WeakMap();
/**
* Singleton instance of DefaultStreamFactory
*/
let defaultStreamFactory = null;
/**
* Gets the default StreamFactory instance
*
* @returns The default StreamFactory instance
*/
export function getStreamFactory() {
if (!defaultStreamFactory) {
defaultStreamFactory = new DefaultStreamFactory();
}
return defaultStreamFactory;
}
//# sourceMappingURL=DefaultStreamFactory.js.map