{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/channels/consumer.js","webpack:///./app/javascript/channels/chat_channel.js","webpack:///./node_modules/@rails/actioncable/app/assets/javascripts/action_cable.js","webpack:///./app/javascript/packs/importchannels.js","webpack:///./app/javascript/channels/index.js","webpack:///./app/javascript/channels sync _channel\\.js$"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","createConsumer","subscriptions","received","data","console","log","refresh","location","reload","factory","_typeof2","iterator","obj","constructor","adapters","logger","self","WebSocket","this","enabled","_adapters$logger","_len","arguments","length","messages","Array","_key","push","Date","now","apply","concat","_typeof","classCallCheck","instance","Constructor","TypeError","createClass","defineProperties","target","props","descriptor","configurable","writable","protoProps","staticProps","getTime","secondsSince","time","ConnectionMonitor","connection","visibilityDidChange","reconnectAttempts","start","isRunning","startedAt","stoppedAt","startPolling","addEventListener","getPollInterval","stop","stopPolling","removeEventListener","recordPing","pingedAt","recordConnect","disconnectedAt","recordDisconnect","poll","clearTimeout","pollTimeout","_this","setTimeout","reconnectIfStale","_constructor$pollInte","pollInterval","min","max","interval","multiplier","Math","round","number","clamp","connectionIsStale","staleThreshold","disconnectedRecently","reopen","_this2","document","visibilityState","isOpen","INTERNAL","message_types","welcome","disconnect","ping","confirmation","rejection","disconnect_reasons","unauthorized","invalid_request","server_restart","default_mount_path","protocols","supportedProtocols","slice","indexOf","Connection","consumer","open","monitor","disconnected","send","webSocket","JSON","stringify","isActive","getState","uninstallEventHandlers","url","installEventHandlers","close","_ref","undefined","allowReconnect","error","reopenDelay","getProtocol","protocol","isState","isProtocolSupported","states","state","readyState","toLowerCase","eventName","events","handler","message","event","_JSON$parse","parse","identifier","reason","reconnect","type","notify","reject","notifyAll","willAttemptReconnect","extend","properties","Subscription","params","mixin","perform","action","command","unsubscribe","remove","Subscriptions","channelName","channel","subscription","add","ensureActiveConnection","sendCommand","forget","findAll","map","filter","callbackName","_this3","args","_len2","_key2","Consumer","_url","connect","createWebSocketURL","test","a","createElement","href","replace","getConfig","element","head","querySelector","getAttribute","require","channels","keys","forEach","webpackContext","req","id","webpackContextResolve","e","Error","code","resolve"],"mappings":"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","file":"js/importchannels-0ba0b107a014ec7ddb1a.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 71);\n","// Action Cable provides the framework to deal with WebSockets in Rails.\n// You can generate new channels where WebSocket features live using the `rails generate channel` command.\n\nimport { createConsumer } from \"@rails/actioncable\"\n\nexport default createConsumer()\n","// app/javascript/channels/chat_channel.js\nimport consumer from \"./consumer\"\n\nconsumer.subscriptions.create(\"ChatChannel\", {\n received(data) {\n console.log(\"yo!\"); \n if (data.refresh) {\n location.reload();\n }\n }\n});\n\n\n// // app/javascript/channels/chat_channel.js\n// import consumer from \"./consumer\"\n\n// consumer.subscriptions.create(\"ChatChannel\", {\n// received(data) {\n// if (data.refresh) {\n// appendChatMessage(data.chat_message);\n// scrollToBottom();\n// }\n// }\n// });\n\n// function appendChatMessage(chatMessage) {\n// const chatHistory = document.querySelector(\"#chat-history\");\n// chatHistory.insertAdjacentHTML(\"beforeend\", chatMessage);\n// }\n\n// function scrollToBottom() {\n// window.scrollTo(0, document.body.scrollHeight);\n// }\n\n // // app/javascript/channels/chat_channel.js\n // import consumer from \"./consumer\"\n\n // consumer.subscriptions.create(\"ChatChannel\", {\n // received(data) {\n // if (data.refresh) {\n // appendChatMessage(data.chat_message);\n // scrollToBottom();\n // }\n // }\n // });\n\n // const form = document.querySelector(\"form\");\n // form.addEventListener(\"submit\", (event) => {\n // event.preventDefault();\n // const formData = new FormData(form);\n // const url = form.action;\n\n // fetch(url, {\n // method: \"POST\",\n // body: formData\n // })\n // .then(response => response.json())\n // .then(data => {\n // if (data.success) {\n // appendChatMessage(data.chat_message);\n // scrollToBottom();\n // form.reset();\n // } else {\n // console.error(data.errors);\n // }\n // })\n // .catch(error => {\n // console.error(error);\n // });\n // });\n\n // function appendChatMessage(chatMessage) {\n // const chatHistory = document.querySelector(\"#chat-history\");\n // chatHistory.insertAdjacentHTML(\"beforeend\", chatMessage);\n // }\n\n // function scrollToBottom() {\n // window.scrollTo(0, document.body.scrollHeight);\n // }","function _typeof2(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof2 = function _typeof2(obj) { return typeof obj; }; } else { _typeof2 = function _typeof2(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof2(obj); }\n\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof2(exports)) === \"object\" && typeof module !== \"undefined\" ? factory(exports) : typeof define === \"function\" && define.amd ? define([\"exports\"], factory) : factory(global.ActionCable = {});\n})(this, function (exports) {\n \"use strict\";\n\n var adapters = {\n logger: self.console,\n WebSocket: self.WebSocket\n };\n var logger = {\n log: function log() {\n if (this.enabled) {\n var _adapters$logger;\n\n for (var _len = arguments.length, messages = Array(_len), _key = 0; _key < _len; _key++) {\n messages[_key] = arguments[_key];\n }\n\n messages.push(Date.now());\n\n (_adapters$logger = adapters.logger).log.apply(_adapters$logger, [\"[ActionCable]\"].concat(messages));\n }\n }\n };\n\n var _typeof = typeof Symbol === \"function\" && _typeof2(Symbol.iterator) === \"symbol\" ? function (obj) {\n return _typeof2(obj);\n } : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : _typeof2(obj);\n };\n\n var classCallCheck = function classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n };\n\n var createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n }();\n\n var now = function now() {\n return new Date().getTime();\n };\n\n var secondsSince = function secondsSince(time) {\n return (now() - time) / 1e3;\n };\n\n var clamp = function clamp(number, min, max) {\n return Math.max(min, Math.min(max, number));\n };\n\n var ConnectionMonitor = function () {\n function ConnectionMonitor(connection) {\n classCallCheck(this, ConnectionMonitor);\n this.visibilityDidChange = this.visibilityDidChange.bind(this);\n this.connection = connection;\n this.reconnectAttempts = 0;\n }\n\n ConnectionMonitor.prototype.start = function start() {\n if (!this.isRunning()) {\n this.startedAt = now();\n delete this.stoppedAt;\n this.startPolling();\n addEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor started. pollInterval = \" + this.getPollInterval() + \" ms\");\n }\n };\n\n ConnectionMonitor.prototype.stop = function stop() {\n if (this.isRunning()) {\n this.stoppedAt = now();\n this.stopPolling();\n removeEventListener(\"visibilitychange\", this.visibilityDidChange);\n logger.log(\"ConnectionMonitor stopped\");\n }\n };\n\n ConnectionMonitor.prototype.isRunning = function isRunning() {\n return this.startedAt && !this.stoppedAt;\n };\n\n ConnectionMonitor.prototype.recordPing = function recordPing() {\n this.pingedAt = now();\n };\n\n ConnectionMonitor.prototype.recordConnect = function recordConnect() {\n this.reconnectAttempts = 0;\n this.recordPing();\n delete this.disconnectedAt;\n logger.log(\"ConnectionMonitor recorded connect\");\n };\n\n ConnectionMonitor.prototype.recordDisconnect = function recordDisconnect() {\n this.disconnectedAt = now();\n logger.log(\"ConnectionMonitor recorded disconnect\");\n };\n\n ConnectionMonitor.prototype.startPolling = function startPolling() {\n this.stopPolling();\n this.poll();\n };\n\n ConnectionMonitor.prototype.stopPolling = function stopPolling() {\n clearTimeout(this.pollTimeout);\n };\n\n ConnectionMonitor.prototype.poll = function poll() {\n var _this = this;\n\n this.pollTimeout = setTimeout(function () {\n _this.reconnectIfStale();\n\n _this.poll();\n }, this.getPollInterval());\n };\n\n ConnectionMonitor.prototype.getPollInterval = function getPollInterval() {\n var _constructor$pollInte = this.constructor.pollInterval,\n min = _constructor$pollInte.min,\n max = _constructor$pollInte.max,\n multiplier = _constructor$pollInte.multiplier;\n var interval = multiplier * Math.log(this.reconnectAttempts + 1);\n return Math.round(clamp(interval, min, max) * 1e3);\n };\n\n ConnectionMonitor.prototype.reconnectIfStale = function reconnectIfStale() {\n if (this.connectionIsStale()) {\n logger.log(\"ConnectionMonitor detected stale connection. reconnectAttempts = \" + this.reconnectAttempts + \", pollInterval = \" + this.getPollInterval() + \" ms, time disconnected = \" + secondsSince(this.disconnectedAt) + \" s, stale threshold = \" + this.constructor.staleThreshold + \" s\");\n this.reconnectAttempts++;\n\n if (this.disconnectedRecently()) {\n logger.log(\"ConnectionMonitor skipping reopening recent disconnect\");\n } else {\n logger.log(\"ConnectionMonitor reopening\");\n this.connection.reopen();\n }\n }\n };\n\n ConnectionMonitor.prototype.connectionIsStale = function connectionIsStale() {\n return secondsSince(this.pingedAt ? this.pingedAt : this.startedAt) > this.constructor.staleThreshold;\n };\n\n ConnectionMonitor.prototype.disconnectedRecently = function disconnectedRecently() {\n return this.disconnectedAt && secondsSince(this.disconnectedAt) < this.constructor.staleThreshold;\n };\n\n ConnectionMonitor.prototype.visibilityDidChange = function visibilityDidChange() {\n var _this2 = this;\n\n if (document.visibilityState === \"visible\") {\n setTimeout(function () {\n if (_this2.connectionIsStale() || !_this2.connection.isOpen()) {\n logger.log(\"ConnectionMonitor reopening stale connection on visibilitychange. visibilityState = \" + document.visibilityState);\n\n _this2.connection.reopen();\n }\n }, 200);\n }\n };\n\n return ConnectionMonitor;\n }();\n\n ConnectionMonitor.pollInterval = {\n min: 3,\n max: 30,\n multiplier: 5\n };\n ConnectionMonitor.staleThreshold = 6;\n var INTERNAL = {\n message_types: {\n welcome: \"welcome\",\n disconnect: \"disconnect\",\n ping: \"ping\",\n confirmation: \"confirm_subscription\",\n rejection: \"reject_subscription\"\n },\n disconnect_reasons: {\n unauthorized: \"unauthorized\",\n invalid_request: \"invalid_request\",\n server_restart: \"server_restart\"\n },\n default_mount_path: \"/cable\",\n protocols: [\"actioncable-v1-json\", \"actioncable-unsupported\"]\n };\n var message_types = INTERNAL.message_types,\n protocols = INTERNAL.protocols;\n var supportedProtocols = protocols.slice(0, protocols.length - 1);\n var indexOf = [].indexOf;\n\n var Connection = function () {\n function Connection(consumer) {\n classCallCheck(this, Connection);\n this.open = this.open.bind(this);\n this.consumer = consumer;\n this.subscriptions = this.consumer.subscriptions;\n this.monitor = new ConnectionMonitor(this);\n this.disconnected = true;\n }\n\n Connection.prototype.send = function send(data) {\n if (this.isOpen()) {\n this.webSocket.send(JSON.stringify(data));\n return true;\n } else {\n return false;\n }\n };\n\n Connection.prototype.open = function open() {\n if (this.isActive()) {\n logger.log(\"Attempted to open WebSocket, but existing socket is \" + this.getState());\n return false;\n } else {\n logger.log(\"Opening WebSocket, current state is \" + this.getState() + \", subprotocols: \" + protocols);\n\n if (this.webSocket) {\n this.uninstallEventHandlers();\n }\n\n this.webSocket = new adapters.WebSocket(this.consumer.url, protocols);\n this.installEventHandlers();\n this.monitor.start();\n return true;\n }\n };\n\n Connection.prototype.close = function close() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {\n allowReconnect: true\n },\n allowReconnect = _ref.allowReconnect;\n\n if (!allowReconnect) {\n this.monitor.stop();\n }\n\n if (this.isActive()) {\n return this.webSocket.close();\n }\n };\n\n Connection.prototype.reopen = function reopen() {\n logger.log(\"Reopening WebSocket, current state is \" + this.getState());\n\n if (this.isActive()) {\n try {\n return this.close();\n } catch (error) {\n logger.log(\"Failed to reopen WebSocket\", error);\n } finally {\n logger.log(\"Reopening WebSocket in \" + this.constructor.reopenDelay + \"ms\");\n setTimeout(this.open, this.constructor.reopenDelay);\n }\n } else {\n return this.open();\n }\n };\n\n Connection.prototype.getProtocol = function getProtocol() {\n if (this.webSocket) {\n return this.webSocket.protocol;\n }\n };\n\n Connection.prototype.isOpen = function isOpen() {\n return this.isState(\"open\");\n };\n\n Connection.prototype.isActive = function isActive() {\n return this.isState(\"open\", \"connecting\");\n };\n\n Connection.prototype.isProtocolSupported = function isProtocolSupported() {\n return indexOf.call(supportedProtocols, this.getProtocol()) >= 0;\n };\n\n Connection.prototype.isState = function isState() {\n for (var _len = arguments.length, states = Array(_len), _key = 0; _key < _len; _key++) {\n states[_key] = arguments[_key];\n }\n\n return indexOf.call(states, this.getState()) >= 0;\n };\n\n Connection.prototype.getState = function getState() {\n if (this.webSocket) {\n for (var state in adapters.WebSocket) {\n if (adapters.WebSocket[state] === this.webSocket.readyState) {\n return state.toLowerCase();\n }\n }\n }\n\n return null;\n };\n\n Connection.prototype.installEventHandlers = function installEventHandlers() {\n for (var eventName in this.events) {\n var handler = this.events[eventName].bind(this);\n this.webSocket[\"on\" + eventName] = handler;\n }\n };\n\n Connection.prototype.uninstallEventHandlers = function uninstallEventHandlers() {\n for (var eventName in this.events) {\n this.webSocket[\"on\" + eventName] = function () {};\n }\n };\n\n return Connection;\n }();\n\n Connection.reopenDelay = 500;\n Connection.prototype.events = {\n message: function message(event) {\n if (!this.isProtocolSupported()) {\n return;\n }\n\n var _JSON$parse = JSON.parse(event.data),\n identifier = _JSON$parse.identifier,\n message = _JSON$parse.message,\n reason = _JSON$parse.reason,\n reconnect = _JSON$parse.reconnect,\n type = _JSON$parse.type;\n\n switch (type) {\n case message_types.welcome:\n this.monitor.recordConnect();\n return this.subscriptions.reload();\n\n case message_types.disconnect:\n logger.log(\"Disconnecting. Reason: \" + reason);\n return this.close({\n allowReconnect: reconnect\n });\n\n case message_types.ping:\n return this.monitor.recordPing();\n\n case message_types.confirmation:\n return this.subscriptions.notify(identifier, \"connected\");\n\n case message_types.rejection:\n return this.subscriptions.reject(identifier);\n\n default:\n return this.subscriptions.notify(identifier, \"received\", message);\n }\n },\n open: function open() {\n logger.log(\"WebSocket onopen event, using '\" + this.getProtocol() + \"' subprotocol\");\n this.disconnected = false;\n\n if (!this.isProtocolSupported()) {\n logger.log(\"Protocol is unsupported. Stopping monitor and disconnecting.\");\n return this.close({\n allowReconnect: false\n });\n }\n },\n close: function close(event) {\n logger.log(\"WebSocket onclose event\");\n\n if (this.disconnected) {\n return;\n }\n\n this.disconnected = true;\n this.monitor.recordDisconnect();\n return this.subscriptions.notifyAll(\"disconnected\", {\n willAttemptReconnect: this.monitor.isRunning()\n });\n },\n error: function error() {\n logger.log(\"WebSocket onerror event\");\n }\n };\n\n var extend = function extend(object, properties) {\n if (properties != null) {\n for (var key in properties) {\n var value = properties[key];\n object[key] = value;\n }\n }\n\n return object;\n };\n\n var Subscription = function () {\n function Subscription(consumer) {\n var params = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var mixin = arguments[2];\n classCallCheck(this, Subscription);\n this.consumer = consumer;\n this.identifier = JSON.stringify(params);\n extend(this, mixin);\n }\n\n Subscription.prototype.perform = function perform(action) {\n var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n data.action = action;\n return this.send(data);\n };\n\n Subscription.prototype.send = function send(data) {\n return this.consumer.send({\n command: \"message\",\n identifier: this.identifier,\n data: JSON.stringify(data)\n });\n };\n\n Subscription.prototype.unsubscribe = function unsubscribe() {\n return this.consumer.subscriptions.remove(this);\n };\n\n return Subscription;\n }();\n\n var Subscriptions = function () {\n function Subscriptions(consumer) {\n classCallCheck(this, Subscriptions);\n this.consumer = consumer;\n this.subscriptions = [];\n }\n\n Subscriptions.prototype.create = function create(channelName, mixin) {\n var channel = channelName;\n var params = (typeof channel === \"undefined\" ? \"undefined\" : _typeof(channel)) === \"object\" ? channel : {\n channel: channel\n };\n var subscription = new Subscription(this.consumer, params, mixin);\n return this.add(subscription);\n };\n\n Subscriptions.prototype.add = function add(subscription) {\n this.subscriptions.push(subscription);\n this.consumer.ensureActiveConnection();\n this.notify(subscription, \"initialized\");\n this.sendCommand(subscription, \"subscribe\");\n return subscription;\n };\n\n Subscriptions.prototype.remove = function remove(subscription) {\n this.forget(subscription);\n\n if (!this.findAll(subscription.identifier).length) {\n this.sendCommand(subscription, \"unsubscribe\");\n }\n\n return subscription;\n };\n\n Subscriptions.prototype.reject = function reject(identifier) {\n var _this = this;\n\n return this.findAll(identifier).map(function (subscription) {\n _this.forget(subscription);\n\n _this.notify(subscription, \"rejected\");\n\n return subscription;\n });\n };\n\n Subscriptions.prototype.forget = function forget(subscription) {\n this.subscriptions = this.subscriptions.filter(function (s) {\n return s !== subscription;\n });\n return subscription;\n };\n\n Subscriptions.prototype.findAll = function findAll(identifier) {\n return this.subscriptions.filter(function (s) {\n return s.identifier === identifier;\n });\n };\n\n Subscriptions.prototype.reload = function reload() {\n var _this2 = this;\n\n return this.subscriptions.map(function (subscription) {\n return _this2.sendCommand(subscription, \"subscribe\");\n });\n };\n\n Subscriptions.prototype.notifyAll = function notifyAll(callbackName) {\n var _this3 = this;\n\n for (var _len = arguments.length, args = Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n return this.subscriptions.map(function (subscription) {\n return _this3.notify.apply(_this3, [subscription, callbackName].concat(args));\n });\n };\n\n Subscriptions.prototype.notify = function notify(subscription, callbackName) {\n for (var _len2 = arguments.length, args = Array(_len2 > 2 ? _len2 - 2 : 0), _key2 = 2; _key2 < _len2; _key2++) {\n args[_key2 - 2] = arguments[_key2];\n }\n\n var subscriptions = void 0;\n\n if (typeof subscription === \"string\") {\n subscriptions = this.findAll(subscription);\n } else {\n subscriptions = [subscription];\n }\n\n return subscriptions.map(function (subscription) {\n return typeof subscription[callbackName] === \"function\" ? subscription[callbackName].apply(subscription, args) : undefined;\n });\n };\n\n Subscriptions.prototype.sendCommand = function sendCommand(subscription, command) {\n var identifier = subscription.identifier;\n return this.consumer.send({\n command: command,\n identifier: identifier\n });\n };\n\n return Subscriptions;\n }();\n\n var Consumer = function () {\n function Consumer(url) {\n classCallCheck(this, Consumer);\n this._url = url;\n this.subscriptions = new Subscriptions(this);\n this.connection = new Connection(this);\n }\n\n Consumer.prototype.send = function send(data) {\n return this.connection.send(data);\n };\n\n Consumer.prototype.connect = function connect() {\n return this.connection.open();\n };\n\n Consumer.prototype.disconnect = function disconnect() {\n return this.connection.close({\n allowReconnect: false\n });\n };\n\n Consumer.prototype.ensureActiveConnection = function ensureActiveConnection() {\n if (!this.connection.isActive()) {\n return this.connection.open();\n }\n };\n\n createClass(Consumer, [{\n key: \"url\",\n get: function get$$1() {\n return createWebSocketURL(this._url);\n }\n }]);\n return Consumer;\n }();\n\n function createWebSocketURL(url) {\n if (typeof url === \"function\") {\n url = url();\n }\n\n if (url && !/^wss?:/i.test(url)) {\n var a = document.createElement(\"a\");\n a.href = url;\n a.href = a.href;\n a.protocol = a.protocol.replace(\"http\", \"ws\");\n return a.href;\n } else {\n return url;\n }\n }\n\n function createConsumer() {\n var url = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : getConfig(\"url\") || INTERNAL.default_mount_path;\n return new Consumer(url);\n }\n\n function getConfig(name) {\n var element = document.head.querySelector(\"meta[name='action-cable-\" + name + \"']\");\n\n if (element) {\n return element.getAttribute(\"content\");\n }\n }\n\n exports.Connection = Connection;\n exports.ConnectionMonitor = ConnectionMonitor;\n exports.Consumer = Consumer;\n exports.INTERNAL = INTERNAL;\n exports.Subscription = Subscription;\n exports.Subscriptions = Subscriptions;\n exports.adapters = adapters;\n exports.createWebSocketURL = createWebSocketURL;\n exports.logger = logger;\n exports.createConsumer = createConsumer;\n exports.getConfig = getConfig;\n Object.defineProperty(exports, \"__esModule\", {\n value: true\n });\n});","require(\"channels\")\nimport \"../channels/chat_channel\";","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","var map = {\n\t\"./chat_channel.js\": 62\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 73;"],"sourceRoot":""}