|
"use strict"; |
|
var __importDefault = (this && this.__importDefault) || function (mod) { |
|
return (mod && mod.__esModule) ? mod : { "default": mod }; |
|
}; |
|
Object.defineProperty(exports, "__esModule", { value: true }); |
|
exports.default = exports.connect = exports.io = exports.Socket = exports.Manager = exports.protocol = void 0; |
|
const url_js_1 = require("./url.js"); |
|
const manager_js_1 = require("./manager.js"); |
|
Object.defineProperty(exports, "Manager", { enumerable: true, get: function () { return manager_js_1.Manager; } }); |
|
const socket_js_1 = require("./socket.js"); |
|
Object.defineProperty(exports, "Socket", { enumerable: true, get: function () { return socket_js_1.Socket; } }); |
|
const debug_1 = __importDefault(require("debug")); |
|
const debug = debug_1.default("socket.io-client"); |
|
|
|
|
|
|
|
const cache = {}; |
|
function lookup(uri, opts) { |
|
if (typeof uri === "object") { |
|
opts = uri; |
|
uri = undefined; |
|
} |
|
opts = opts || {}; |
|
const parsed = url_js_1.url(uri, opts.path || "/socket.io"); |
|
const source = parsed.source; |
|
const id = parsed.id; |
|
const path = parsed.path; |
|
const sameNamespace = cache[id] && path in cache[id]["nsps"]; |
|
const newConnection = opts.forceNew || |
|
opts["force new connection"] || |
|
false === opts.multiplex || |
|
sameNamespace; |
|
let io; |
|
if (newConnection) { |
|
debug("ignoring socket cache for %s", source); |
|
io = new manager_js_1.Manager(source, opts); |
|
} |
|
else { |
|
if (!cache[id]) { |
|
debug("new io instance for %s", source); |
|
cache[id] = new manager_js_1.Manager(source, opts); |
|
} |
|
io = cache[id]; |
|
} |
|
if (parsed.query && !opts.query) { |
|
opts.query = parsed.queryKey; |
|
} |
|
return io.socket(parsed.path, opts); |
|
} |
|
exports.io = lookup; |
|
exports.connect = lookup; |
|
exports.default = lookup; |
|
|
|
|
|
Object.assign(lookup, { |
|
Manager: manager_js_1.Manager, |
|
Socket: socket_js_1.Socket, |
|
io: lookup, |
|
connect: lookup, |
|
}); |
|
|
|
|
|
|
|
|
|
|
|
var socket_io_parser_1 = require("socket.io-parser"); |
|
Object.defineProperty(exports, "protocol", { enumerable: true, get: function () { return socket_io_parser_1.protocol; } }); |
|
|
|
module.exports = lookup; |
|
|