diff options
author | Minteck <contact@minteck.org> | 2022-04-09 16:39:03 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-04-09 16:40:02 +0200 |
commit | 0f8967b9113d698cdeb2d05ca85d2d9a80461c24 (patch) | |
tree | 00664ddd9c55a2c33631fd1bd33e556cea9c67e5 /node_modules/defer-to-connect/dist | |
parent | dac03ac82bc0f8044a4b339c27b5390e4dcecf2f (diff) | |
download | voicer-trunk.tar.gz voicer-trunk.tar.bz2 voicer-trunk.zip |
Diffstat (limited to 'node_modules/defer-to-connect/dist')
-rw-r--r-- | node_modules/defer-to-connect/dist/index.d.ts | 10 | ||||
-rw-r--r-- | node_modules/defer-to-connect/dist/index.js | 45 |
2 files changed, 55 insertions, 0 deletions
diff --git a/node_modules/defer-to-connect/dist/index.d.ts b/node_modules/defer-to-connect/dist/index.d.ts new file mode 100644 index 0000000..323bd12 --- /dev/null +++ b/node_modules/defer-to-connect/dist/index.d.ts @@ -0,0 +1,10 @@ +/// <reference types="node" /> +import { Socket } from 'net'; +import { TLSSocket } from 'tls'; +interface Listeners { + connect?: () => void; + secureConnect?: () => void; + close?: (hadError: boolean) => void; +} +declare const deferToConnect: (socket: Socket | TLSSocket, fn: Listeners | (() => void)) => void; +export default deferToConnect; diff --git a/node_modules/defer-to-connect/dist/index.js b/node_modules/defer-to-connect/dist/index.js new file mode 100644 index 0000000..aaf1cf5 --- /dev/null +++ b/node_modules/defer-to-connect/dist/index.js @@ -0,0 +1,45 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +const tls_1 = require("tls"); +const deferToConnect = (socket, fn) => { + let listeners; + if (typeof fn === 'function') { + const connect = fn; + listeners = { connect }; + } + else { + listeners = fn; + } + const hasConnectListener = typeof listeners.connect === 'function'; + const hasSecureConnectListener = typeof listeners.secureConnect === 'function'; + const hasCloseListener = typeof listeners.close === 'function'; + const onConnect = () => { + if (hasConnectListener) { + listeners.connect(); + } + if (socket instanceof tls_1.TLSSocket && hasSecureConnectListener) { + if (socket.authorized) { + listeners.secureConnect(); + } + else if (!socket.authorizationError) { + socket.once('secureConnect', listeners.secureConnect); + } + } + if (hasCloseListener) { + socket.once('close', listeners.close); + } + }; + if (socket.writable && !socket.connecting) { + onConnect(); + } + else if (socket.connecting) { + socket.once('connect', onConnect); + } + else if (socket.destroyed && hasCloseListener) { + listeners.close(socket._hadError); + } +}; +exports.default = deferToConnect; +// For CommonJS default export support +module.exports = deferToConnect; +module.exports.default = deferToConnect; |