import type { RequestListener } from 'http' export function createServer () { const listener = createDynamicFunction ((_req, res) => { res.setHeader('Content-Type', 'text/html; charset=UTF-8') res.end('...') }) async function listen (opts) { const { listen } = await import('listhen') return listen(listener.call, opts) } return { setApp: (app: RequestListener) => listener.set(app), listen } } function createDynamicFunction any>(initialValue: T) { let fn: T = initialValue return { set: (newFn: T) => { fn = newFn }, call: ((...args) => fn(...args)) as T } }