pzp-hub-client/lib/plugin-hub.js

57 lines
1.1 KiB
JavaScript

const pull = require('pull-stream')
const { ErrorDuplex } = require('./utils')
module.exports = {
name: 'hub',
version: '1.0.0',
manifest: {
ping: 'sync',
metadata: 'async',
attendants: 'source',
createTunnel: 'duplex',
createToken: 'async',
},
permissions: {
anonymous: {
allow: ['createTunnel', 'ping', 'attendants', 'createToken', 'metadata'],
},
},
/**
* @param {any} peer
*/
init(peer) {
return {
attendants() {
return pull.error(new Error('Not implemented on the client'))
},
/**
* @param {string} origin
* @returns {pull.Duplex<unknown, unknown>}
*/
connect(origin) {
return ErrorDuplex('Not implemented on the client')
},
ping() {
throw new Error('Not implemented on the client')
},
/**
* @param {CallableFunction} cb
*/
createToken(cb) {
cb(new Error('Not implemented on the client'))
},
/**
* @param {CallableFunction} cb
*/
metadata(cb) {
cb(new Error('Not implemented on the client'))
},
}
},
}