{"version":3,"sources":["webpack:///./node_modules/i18next/dist/es/Interpolator.js","webpack:///./node_modules/i18next/dist/es/BackendConnector.js","webpack:///./node_modules/i18next/dist/es/LanguageUtils.js","webpack:///./node_modules/i18next/dist/es/EventEmitter.js"],"names":["_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","_classCallCheck","instance","Constructor","TypeError","Interpolator","options","undefined","this","logger","create","init","reset","format","interpolation","value","escapeValue","iOpts","escape","useRawValueToEscape","prefix","prefixEscaped","suffix","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","maxReplaces","resetRegExp","regexpStr","regexp","RegExp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","nestingRegexp","interpolate","str","data","lng","_this","match","replaces","regexSafe","val","replace","handleFormat","indexOf","p","split","k","shift","trim","f","join","missingInterpolationHandler","exec","lastIndex","temp","warn","nest","fc","clonedOptions","handleHasOptions","inheritedOptions","optionsString","JSON","parse","e","error","applyPostProcessor","_slicedToArray","arr","Array","isArray","Symbol","iterator","_arr","_n","_d","_e","_s","_i","next","done","push","err","sliceIterator","_possibleConstructorReturn","self","ReferenceError","_inherits","subClass","superClass","constructor","enumerable","writable","configurable","setPrototypeOf","obj","defaults","keys","getOwnPropertyNames","getOwnPropertyDescriptor","defineProperty","_defaults","Connector","_EventEmitter","backend","store","services","languageUtils","state","queue","queueLoad","languages","namespaces","callback","_this2","toLoad","pending","toLoadLanguages","toLoadNamespaces","forEach","hasAllNamespaces","ns","name","reload","hasResourceBundle","loaded","errors","_name$split","_name$split2","emit","addResourceBundle","q","what","found","splice","remove","l","filter","read","fcName","tried","_this3","wait","setTimeout","prepareLoading","_this4","toResolveHierarchy","loadOne","load","_this5","_name$split3","_name$split4","log","saveMissing","namespace","fallbackValue","isUpdate","addResource","capitalize","string","charAt","toUpperCase","slice","LanguageUtil","whitelist","getScriptPartFromCode","code","pop","formatLanguageCode","getLanguagePartFromCode","specialCases","lowerCaseLng","map","part","toLowerCase","cleanCode","isWhitelisted","nonExplicitWhitelist","getFallbackCodes","fallbacks","toString","apply","default","fallbackCode","fallbackCodes","fallbackLng","codes","addCode","c","EventEmitter","observers","on","events","listener","event","off","index","_len","args","_key","cloned","concat","observer","_cloned"],"mappings":"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","file":"vendor.i18next~b575809c.a60238ac45185582ead9.chunk.js","sourcesContent":["var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n\n this.init(options, true);\n }\n\n /* eslint no-param-reassign: 0 */\n\n\n Interpolator.prototype.init = function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var reset = arguments[1];\n\n if (reset) {\n this.options = options;\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n }\n if (!options.interpolation) options.interpolation = { escapeValue: true };\n\n var iOpts = options.interpolation;\n\n this.escape = iOpts.escape !== undefined ? iOpts.escape : utils.escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n\n this.prefix = iOpts.prefix ? utils.regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? utils.regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n\n this.nestingPrefix = iOpts.nestingPrefix ? utils.regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || utils.regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? utils.regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || utils.regexEscape(')');\n\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n\n // the regexp\n this.resetRegExp();\n };\n\n Interpolator.prototype.reset = function reset() {\n if (this.options) this.init(this.options);\n };\n\n Interpolator.prototype.resetRegExp = function resetRegExp() {\n // the regexp\n var regexpStr = this.prefix + '(.+?)' + this.suffix;\n this.regexp = new RegExp(regexpStr, 'g');\n\n var regexpUnescapeStr = '' + this.prefix + this.unescapePrefix + '(.+?)' + this.unescapeSuffix + this.suffix;\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n\n var nestingRegexpStr = this.nestingPrefix + '(.+?)' + this.nestingSuffix;\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n };\n\n Interpolator.prototype.interpolate = function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match = void 0;\n var value = void 0;\n var replaces = void 0;\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) return utils.getPath(data, key);\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n\n return _this.format(utils.getPath(data, k), f, lng);\n };\n\n this.resetRegExp();\n\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n\n replaces = 0;\n // unescape if has unescapePrefix/Suffix\n /* eslint no-cond-assign: 0 */\n while (match = this.regexpUnescape.exec(str)) {\n value = handleFormat(match[1].trim());\n str = str.replace(match[0], value);\n this.regexpUnescape.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n\n replaces = 0;\n // regular escape on demand\n while (match = this.regexp.exec(str)) {\n value = handleFormat(match[1].trim());\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else {\n this.logger.warn('missed to pass in variable ' + match[1] + ' for interpolating ' + str);\n value = '';\n }\n } else if (typeof value !== 'string' && !this.useRawValueToEscape) {\n value = utils.makeString(value);\n }\n value = this.escapeValue ? regexSafe(this.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n replaces++;\n if (replaces >= this.maxReplaces) {\n break;\n }\n }\n return str;\n };\n\n Interpolator.prototype.nest = function nest(str, fc) {\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var match = void 0;\n var value = void 0;\n\n var clonedOptions = _extends({}, options);\n clonedOptions.applyPostProcessor = false; // avoid post processing on nested lookup\n\n // if value is something like \"myKey\": \"lorem $(anotherKey, { \"count\": {{aValueInOptions}} })\"\n function handleHasOptions(key, inheritedOptions) {\n if (key.indexOf(',') < 0) return key;\n\n var p = key.split(',');\n key = p.shift();\n var optionsString = p.join(',');\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n\n if (inheritedOptions) clonedOptions = _extends({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.error('failed parsing options string in nesting for key ' + key, e);\n }\n\n return key;\n }\n\n // regular escape on demand\n while (match = this.nestingRegexp.exec(str)) {\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n\n // is only the nesting key (key1 = '$(key2)') return the value without stringify\n if (value && match[0] === str && typeof value !== 'string') return value;\n\n // no string to include or empty\n if (typeof value !== 'string') value = utils.makeString(value);\n if (!value) {\n this.logger.warn('missed to resolve ' + match[1] + ' for nesting ' + str);\n value = '';\n }\n // Nested keys should not be escaped by default #854\n // value = this.escapeValue ? regexSafe(utils.escape(value)) : regexSafe(value);\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n return str;\n };\n\n return Interpolator;\n}();\n\nexport default Interpolator;","var _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _slicedToArray = function () { function sliceIterator(arr, i) { var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"]) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; } return function (arr, i) { if (Array.isArray(arr)) { return arr; } else if (Symbol.iterator in Object(arr)) { return sliceIterator(arr, i); } else { throw new TypeError(\"Invalid attempt to destructure non-iterable instance\"); } }; }();\n\nfunction _defaults(obj, defaults) { var keys = Object.getOwnPropertyNames(defaults); for (var i = 0; i < keys.length; i++) { var key = keys[i]; var value = Object.getOwnPropertyDescriptor(defaults, key); if (value && value.configurable && obj[key] === undefined) { Object.defineProperty(obj, key, value); } } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : _defaults(subClass, superClass); }\n\nimport * as utils from './utils.js';\nimport baseLogger from './logger.js';\nimport EventEmitter from './EventEmitter.js';\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n var _this = _possibleConstructorReturn(this, _EventEmitter.call(this));\n\n _this.backend = backend;\n _this.store = store;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n return _this;\n }\n\n Connector.prototype.queueLoad = function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n // find what needs to be loaded\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n\n namespaces.forEach(function (ns) {\n var name = lng + '|' + ns;\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2; // loaded\n } else if (_this2.state[name] < 0) {\n // nothing to do for err\n } else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1; // pending\n\n hasAllNamespaces = false;\n\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n };\n\n Connector.prototype.loaded = function loaded(name, err, data) {\n var _name$split = name.split('|'),\n _name$split2 = _slicedToArray(_name$split, 2),\n lng = _name$split2[0],\n ns = _name$split2[1];\n\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n // set loaded\n this.state[name] = err ? -1 : 2;\n\n // consolidated loading done in this run - only emit once for a loaded namespace\n var loaded = {};\n\n // callback if ready\n this.queue.forEach(function (q) {\n utils.pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n // only do once per loaded -> this.emit('loaded', q.loaded);\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n\n /* eslint no-param-reassign: 0 */\n q.done = true;\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n\n // emit consolidated loaded event\n this.emit('loaded', loaded);\n\n // remove done load requests\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n };\n\n Connector.prototype.read = function read(lng, ns, fcName) {\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n\n var _this3 = this;\n\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 250;\n var callback = arguments[5];\n\n if (!lng.length) return callback(null, {}); // noting to load\n\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data /* = retryFlag */ && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n callback(err, data);\n });\n };\n\n /* eslint consistent-return: 0 */\n\n\n Connector.prototype.prepareLoading = function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments[3];\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback(); // nothing to load and no pendings...callback now\n return null; // pendings will trigger callback\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n };\n\n Connector.prototype.load = function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n };\n\n Connector.prototype.reload = function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, { reload: true }, callback);\n };\n\n Connector.prototype.loadOne = function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n\n var _name$split3 = name.split('|'),\n _name$split4 = _slicedToArray(_name$split3, 2),\n lng = _name$split4[0],\n ns = _name$split4[1];\n\n this.read(lng, ns, 'read', null, null, function (err, data) {\n if (err) _this5.logger.warn(prefix + 'loading namespace ' + ns + ' for language ' + lng + ' failed', err);\n if (!err && data) _this5.logger.log(prefix + 'loaded namespace ' + ns + ' for language ' + lng, data);\n\n _this5.loaded(name, err, data);\n });\n };\n\n Connector.prototype.saveMissing = function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null /* unused callback */, _extends({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n // write to store to avoid resending\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n };\n\n return Connector;\n}(EventEmitter);\n\nexport default Connector;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nimport baseLogger from './logger.js';\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n\n this.whitelist = this.options.whitelist || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n LanguageUtil.prototype.getScriptPartFromCode = function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n return this.formatLanguageCode(p.join('-'));\n };\n\n LanguageUtil.prototype.getLanguagePartFromCode = function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n };\n\n LanguageUtil.prototype.formatLanguageCode = function formatLanguageCode(code) {\n // http://www.iana.org/assignments/language-tags/language-tags.xhtml\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n\n // if lenght 2 guess it's a country\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n };\n\n LanguageUtil.prototype.isWhitelisted = function isWhitelisted(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitWhitelist) {\n code = this.getLanguagePartFromCode(code);\n }\n return !this.whitelist || !this.whitelist.length || this.whitelist.indexOf(code) > -1;\n };\n\n LanguageUtil.prototype.getFallbackCodes = function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n\n if (!code) return fallbacks.default || [];\n\n // asume we have an object defining fallbacks\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks.default;\n\n return found || [];\n };\n\n LanguageUtil.prototype.toResolveHierarchy = function toResolveHierarchy(code, fallbackCode) {\n var _this = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n\n var codes = [];\n var addCode = function addCode(c) {\n if (!c) return;\n if (_this.isWhitelisted(c)) {\n codes.push(c);\n } else {\n _this.logger.warn('rejecting non-whitelisted language code: ' + c);\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this.formatLanguageCode(fc));\n });\n\n return codes;\n };\n\n return LanguageUtil;\n}();\n\nexport default LanguageUtil;","function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n EventEmitter.prototype.on = function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n _this.observers[event].push(listener);\n });\n return this;\n };\n\n EventEmitter.prototype.off = function off(event, listener) {\n var _this2 = this;\n\n if (!this.observers[event]) {\n return;\n }\n\n this.observers[event].forEach(function () {\n if (!listener) {\n delete _this2.observers[event];\n } else {\n var index = _this2.observers[event].indexOf(listener);\n if (index > -1) {\n _this2.observers[event].splice(index, 1);\n }\n }\n });\n };\n\n EventEmitter.prototype.emit = function emit(event) {\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 if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(undefined, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n };\n\n return EventEmitter;\n}();\n\nexport default EventEmitter;"],"sourceRoot":""}