pzp-db/test/util.js

36 lines
750 B
JavaScript

/**
* @typedef {ReturnType<import('pzp-db').init>} 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,
}