diff options
author | RaindropsSys <contact@minteck.org> | 2023-04-06 22:18:28 +0200 |
---|---|---|
committer | RaindropsSys <contact@minteck.org> | 2023-04-06 22:18:28 +0200 |
commit | 83354b2b88218090988dd6e526b0a2505b57e0f1 (patch) | |
tree | e3c73c38a122a78bb7e66fbb99056407edd9d4b9 /includes/external/addressbook/node_modules/defer-to-connect/dist/source | |
parent | 47b8f2299a483024c4a6a8876af825a010954caa (diff) | |
download | pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.gz pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.tar.bz2 pluralconnect-83354b2b88218090988dd6e526b0a2505b57e0f1.zip |
Updated 5 files and added 1110 files (automated)
Diffstat (limited to 'includes/external/addressbook/node_modules/defer-to-connect/dist/source')
-rw-r--r-- | includes/external/addressbook/node_modules/defer-to-connect/dist/source/index.d.ts | 10 | ||||
-rw-r--r-- | includes/external/addressbook/node_modules/defer-to-connect/dist/source/index.js | 47 |
2 files changed, 57 insertions, 0 deletions
diff --git a/includes/external/addressbook/node_modules/defer-to-connect/dist/source/index.d.ts b/includes/external/addressbook/node_modules/defer-to-connect/dist/source/index.d.ts new file mode 100644 index 0000000..8db8dbb --- /dev/null +++ b/includes/external/addressbook/node_modules/defer-to-connect/dist/source/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: TLSSocket | Socket, fn: Listeners | (() => void)) => void; +export default deferToConnect; diff --git a/includes/external/addressbook/node_modules/defer-to-connect/dist/source/index.js b/includes/external/addressbook/node_modules/defer-to-connect/dist/source/index.js new file mode 100644 index 0000000..f26c4fa --- /dev/null +++ b/includes/external/addressbook/node_modules/defer-to-connect/dist/source/index.js @@ -0,0 +1,47 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +function isTLSSocket(socket) { + return socket.encrypted; +} +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 (isTLSSocket(socket) && 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; |