{"version":3,"sources":["jsdelivr-header.js","/npm/hapi-io@0.2.1/lib/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACNA,aAEA,IAAI,KAAO,QAAQ,QACf,SAAW,QAAQ,aACnB,KAAO,QAAQ,UACf,OAAS,QAAQ,YACjB,WAAa,QAAQ,gBAIrB,UAAY,CACd,SAAU,CACR,SAAU,CACR,KAAM,gBAKZ,QAAQ,SAAW,SAAS,EAAQ,EAAS,GAI3C,IAAI,GAFJ,EAAU,KAAK,gBAAgB,UAAU,SAAU,IAEnC,gBACR,EAAO,OAAO,EAAQ,iBAAmB,EAEjD,IAAK,EACH,OAAO,EAAK,uBAGd,IAAK,EAAE,YAAY,OACjB,OAAO,EAAK,2BAGd,GAA6B,IAAzB,EAAE,YAAY,OAChB,OAAO,EAAK,kCAGd,IAAI,EAAa,GAAK,EAAE,YAAY,QAAU,EAAE,YAAY,GAE5D,IAAK,EACH,OAAO,EAAK,gCAGd,IAAI,EAAK,SAAS,EAAW,SAAU,EAAQ,UAE3C,EAAO,WAAW,EAAI,EAAQ,YAElC,EAAE,OAAO,KAAM,GAEf,EAAE,IAAI,aAAa,SAAS,EAAS,GAMnC,OALK,EAAQ,QAAQ,aACnB,EAAQ,QAAQ,WAAa,CAAC,GAGhC,EAAQ,QAAQ,WAAW,GAAK,EAAQ,OAAO,QAAQ,WAAW,GAC3D,EAAM,UACf,IAEI,EAAQ,MACV,KAAK,EAAG,EAAI,GAGd,OAAO,KAAK,GAAM,SAAQ,SAAS,GACjC,EAAK,GAAW,GAAG,cAAc,SAAS,GACxC,OAAO,EAAG,EAAQ,EACpB,GACF,IAEA,GACF,EAEA,QAAQ,SAAS,WAAa,CAC5B,IAAK,QAAQ","file":"/npm/hapi-io@0.2.1/lib/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/hapi-io@0.2.1/lib/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","'use strict';\n\nvar Hoek = require('hoek');\nvar socketio = require('socket.io');\nvar auth = require('./auth');\nvar routes = require('./routes');\nvar namespaces = require('./namespaces');\n\n// Declare internals\n\nvar internals = {\n  defaults: {\n    socketio: {\n      path: '/socket.io'\n    }\n  }\n};\n\nexports.register = function(server, options, next) {\n\n  options = Hoek.applyToDefaults(internals.defaults, options);\n\n  var s = options.connectionLabel ?\n          server.select(options.connectionLabel) : server;\n\n  if (!s) {\n    return next('hapi-io - no server');\n  }\n\n  if (!s.connections.length) {\n    return next('hapi-io - no connection');\n  }\n\n  if (s.connections.length !== 1) {\n    return next('hapi-io - multiple connections');\n  }\n\n  var connection = s && s.connections.length && s.connections[0];\n\n  if (!connection) {\n    return next('No connection/listener found');\n  }\n\n  var io = socketio(connection.listener, options.socketio);\n\n  var nsps = namespaces(io, options.namespaces);\n\n  s.expose('io', io);\n\n  s.ext('onRequest', function(request, reply) {\n    if (!request.plugins['hapi-io']) {\n      request.plugins['hapi-io'] = {};\n    }\n\n    request.plugins['hapi-io'].io = request.server.plugins['hapi-io'].io;\n    return reply.continue();\n  });\n\n  if (options.auth) {\n    auth(s, io, options);\n  }\n\n  Object.keys(nsps).forEach(function(namespace) {\n    nsps[namespace].on('connection', function(socket) {\n      routes(s, socket, namespace);\n    });\n  });\n\n  next();\n};\n\nexports.register.attributes = {\n  pkg: require('../package.json')\n};\n"]}