/** * @typedef {ReturnType} PZPDB * @typedef {import('node:events').EventEmitter} Emitter * @typedef {{ pubkey: string }} SHSE */ /** * @typedef {Emitter & { * db: PZPDB, * shse: SHSE * close(cb: () => void): void * }} Peer */ /** * @param {unknown} globalConfig * @returns {Peer} */ function createPeer(globalConfig) { // @ts-ignore return require('secret-stack/bare')() // @ts-ignore .use(require('secret-stack/plugins/net')) .use(require('secret-handshake-ext/secret-stack')) .use(require('../lib')) // @ts-ignore .use(require('ssb-box')) // @ts-ignore .call(null, { shse: { caps: require('pzp-caps') }, global: globalConfig }) } module.exports = { createPeer, }