fix
This commit is contained in:
10
book/node_modules/defer-to-connect/dist/source/index.d.ts
generated
vendored
Normal file
10
book/node_modules/defer-to-connect/dist/source/index.d.ts
generated
vendored
Normal file
@ -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;
|
47
book/node_modules/defer-to-connect/dist/source/index.js
generated
vendored
Normal file
47
book/node_modules/defer-to-connect/dist/source/index.js
generated
vendored
Normal file
@ -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;
|
Reference in New Issue
Block a user