*/
function handleMessage (message: unknown): void {
NODE: if (host == null) return queueMicrotask(() => handleMessage(message))
+ if (message == null
+ || typeof message !== 'object'
+ || !('data' in message)
+ || message.data == null
+ || typeof message.data !== 'object'
+ || !('url' in message.data)
+ || typeof message.data.url !== 'string'
+ || !('id' in message.data)
+ || typeof message.data.id !== 'string'
+ || !('action' in message.data)
+ || typeof message.data.action !== 'string'
+ ) return
let result: undefined | boolean | string | Uint8Array<ArrayBuffer>
let url: undefined | string
let id: undefined | string
try {
- if (message == null
- || typeof message !== 'object'
- || !('data' in message)
- || message.data == null
- || typeof message.data !== 'object'
- || !('url' in message.data)
- || typeof message.data.url !== 'string'
- || !('id' in message.data)
- || typeof message.data.id !== 'string'
- || !('action' in message.data)
- || typeof message.data.action !== 'string'
- ) {
- throw new TypeError('Invalid nano25519Worker request')
- }
const data: Data = message.data as object & { url: string, id: string, action: string }
{ ({ url, id } = data) }
- if (typeof url !== 'string' || typeof id !== 'string') return
if (url !== client) return
if (data.action === 'start') {