import { createServer as _tls_server, connect as _tls_connect } from 'node:tls' import {net_common} from './_net_common.jsy' export default tls_plugin export function tls_plugin(plugin_options={}) :: const protocol = plugin_options.protocol || 'tls' return hub => :: const tls_api = @{} connect(...args) :: return _common_.createClient @ protocol, handler => _tls_connect @ ...args, handler createServer(tls_options, onPeer) :: return _common_.createServer @ protocol, onPeer, handler => _tls_server @ tls_options, handler codec: plugin_options.codec on_url_connect: plugin_options.on_url_connect p2p: plugin_options.p2p const _common_ = net_common @ hub, tls_api, protocol hub[protocol] = tls_api