{"version":3,"sources":["jsdelivr-header.js","/npm/spanan@2.1.0/dist/index.browser.js"],"names":[],"mappings":"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","file":"/npm/spanan@2.1.0/dist/index.browser.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/spanan@2.1.0/dist/index.browser.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function(f){if(typeof exports===\"object\"&&typeof module!==\"undefined\"){module.exports=f()}else if(typeof define===\"function\"&&define.amd){define([],f)}else{var g;if(typeof window!==\"undefined\"){g=window}else if(typeof global!==\"undefined\"){g=global}else if(typeof self!==\"undefined\"){g=self}else{g=this}g.Spanan = f()}})(function(){var define,module,exports;return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require==\"function\"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);var f=new Error(\"Cannot find module '\"+o+\"'\");throw f.code=\"MODULE_NOT_FOUND\",f}var l=n[o]={exports:{}};t[o][0].call(l.exports,function(e){var n=t[o][1][e];return s(n?n:e)},l,l.exports,e,t,n,r)}return n[o].exports}var i=typeof require==\"function\"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){\n\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n// eslint-disable-next-line\nvar has = exports.has = function has(o, p) {\n  return Object.prototype.hasOwnProperty.call(o, p);\n};\n},{}],2:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _server = require('./server');\n\nvar _server2 = _interopRequireDefault(_server);\n\nvar _uuid = require('./uuid');\n\nvar _uuid2 = _interopRequireDefault(_uuid);\n\nvar _helpers = require('./helpers');\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\n// eslint-disable-next-line\nvar getDefaultLogger = function getDefaultLogger() {\n  return console.error.bind(console);\n};\n\nvar Spanan = function () {\n  function Spanan(sendFunction) {\n    var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n        errorLogger = _ref.errorLogger;\n\n    _classCallCheck(this, Spanan);\n\n    this.sendFunction = sendFunction;\n    this.callbacks = new Map();\n    this.errorLogger = errorLogger || getDefaultLogger();\n    this.listeners = [this];\n  }\n\n  _createClass(Spanan, [{\n    key: 'send',\n    value: function send(action) {\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      var resolver = void 0;\n      var rejecter = void 0;\n      var id = (0, _uuid2.default)();\n      var promise = new Promise(function (resolve, reject) {\n        resolver = resolve;\n        rejecter = reject;\n      });\n      this.callbacks.set(id, {\n        resolver: resolver,\n        rejecter: rejecter\n      });\n      this.sendFunction({\n        action: action,\n        args: args,\n        uuid: id\n      });\n      return promise;\n    }\n  }, {\n    key: 'createProxy',\n    value: function createProxy() {\n      return new Proxy(this, {\n        get: function get(target, key) {\n          return target.send.bind(target, key);\n        }\n      });\n    }\n  }, {\n    key: 'dispatch',\n    value: function dispatch() {\n      var message = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n      var callback = this.callbacks.get(message.uuid);\n\n      if (!callback) {\n        return false;\n      }\n\n      if ((0, _helpers.has)(message, 'response')) {\n        callback.resolver(message.response);\n      } else if ((0, _helpers.has)(message, 'error')) {\n        callback.rejecter(message.error);\n      } else {\n        return false;\n      }\n\n      this.callbacks.delete(message.uuid);\n      return true;\n    }\n  }, {\n    key: 'handleMessage',\n    value: function handleMessage(message) {\n      return this.listeners.some(function (listener) {\n        try {\n          return listener.dispatch(message);\n        } catch (e) {\n          listener.errorLogger('Spanan dispatch error', e);\n          return false;\n        }\n      });\n    }\n  }, {\n    key: 'export',\n    value: function _export(actions) {\n      var _this = this;\n\n      var _ref2 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},\n          filter = _ref2.filter,\n          transform = _ref2.transform,\n          respond = _ref2.respond,\n          respondWithError = _ref2.respondWithError,\n          errorLogger = _ref2.errorLogger;\n\n      var server = new _server2.default({\n        actions: actions,\n        respond: respond,\n        respondWithError: respondWithError,\n        filter: filter,\n        transform: transform,\n        errorLogger: errorLogger || getDefaultLogger(),\n        onTerminate: function onTerminate() {\n          _this.listeners = _this.listeners.filter(function (listener) {\n            return listener !== server;\n          });\n        }\n      });\n\n      this.listeners.push(server);\n\n      return server;\n    }\n  }, {\n    key: 'reset',\n    value: function reset() {\n      this.listeners = [];\n    }\n  }]);\n\n  return Spanan;\n}();\n\nexports.default = Spanan;\n},{\"./helpers\":1,\"./server\":3,\"./uuid\":4}],3:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _helpers = require('./helpers');\n\nfunction _toConsumableArray(arr) { if (Array.isArray(arr)) { for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) { arr2[i] = arr[i]; } return arr2; } else { return Array.from(arr); } }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar _class = function () {\n  function _class() {\n    var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n        _ref$actions = _ref.actions,\n        actions = _ref$actions === undefined ? {} : _ref$actions,\n        _ref$respond = _ref.respond,\n        respond = _ref$respond === undefined ? function () /* res, req */{} : _ref$respond,\n        _ref$respondWithError = _ref.respondWithError,\n        respondWithError = _ref$respondWithError === undefined ? function () /* err, req */{} : _ref$respondWithError,\n        _ref$filter = _ref.filter,\n        filter = _ref$filter === undefined ? function () {\n      return true;\n    } : _ref$filter,\n        _ref$transform = _ref.transform,\n        transform = _ref$transform === undefined ? function (r) {\n      return r;\n    } : _ref$transform,\n        errorLogger = _ref.errorLogger,\n        _ref$onTerminate = _ref.onTerminate,\n        onTerminate = _ref$onTerminate === undefined ? function () {} : _ref$onTerminate;\n\n    _classCallCheck(this, _class);\n\n    this.actions = actions;\n    this.onTerminate = onTerminate;\n    this.dispatch = this.dispatch.bind(this);\n    this.filter = filter;\n    this.transform = transform;\n    this.respond = respond;\n    this.respondWithError = respondWithError;\n    this.errorLogger = errorLogger;\n  }\n\n  _createClass(_class, [{\n    key: 'dispatch',\n    value: function dispatch(request) {\n      var _this = this;\n\n      if (!this.filter || !this.filter(request)) {\n        return false;\n      }\n\n      var _transform = this.transform(request),\n          _transform$args = _transform.args,\n          args = _transform$args === undefined ? [] : _transform$args,\n          action = _transform.action;\n\n      if (!(0, _helpers.has)(this.actions, action)) {\n        return false;\n      }\n\n      var res = void 0;\n\n      try {\n        var _actions;\n\n        res = (_actions = this.actions)[action].apply(_actions, _toConsumableArray(args));\n      } catch (e) {\n        this.respondWithError(e.message, request);\n        return true;\n      }\n\n      if (!(res instanceof Promise)) {\n        res = Promise.resolve(res);\n      }\n\n      res.then(function (response) {\n        return _this.respond(response, request);\n      }, function (error) {\n        return _this.respondWithError(error, request);\n      });\n\n      return true;\n    }\n  }, {\n    key: 'terminate',\n    value: function terminate() {\n      this.onTerminate();\n    }\n  }]);\n\n  return _class;\n}();\n\nexports.default = _class;\n},{\"./helpers\":1}],4:[function(require,module,exports){\n'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\n\nexports.default = function () {\n  function s4() {\n    return Math.floor((1 + Math.random()) * 0x10000).toString(16).substring(1);\n  }\n  return [s4(), s4(), '-', s4(), '-', s4(), '-', s4(), '-', s4(), s4(), s4()].join('');\n};\n},{}]},{},[2])(2)\n});"]}