diff --git a/dist/esm/silkrouter.esm.js b/dist/esm/silkrouter.esm.js index 470458f..88df3ac 100644 --- a/dist/esm/silkrouter.esm.js +++ b/dist/esm/silkrouter.esm.js @@ -397,9 +397,7 @@ function each(arrayObj, callback) { var cont = callback(arrayObj[key], isNumber(key) ? +key : key); if (_typeof$1(cont) === TYPEOF_BOOL) { - if (cont) { - continue; - } else { + if (!cont) { break; } } @@ -419,7 +417,8 @@ function trigger(target, eventType, data) { if (target.length && _typeof$1(eventType) === TYPEOF_STR$1) { each(target, function (el) { - var customEvent = new getGlobal().CustomEvent(eventType, { + var win = getGlobal(); + var customEvent = new win.CustomEvent(eventType, { bubbles: true, cancelable: true, detail: data || [] @@ -551,12 +550,21 @@ function resolveQuery(queryString, hashRouting) { var location = this.config.location; var search = trim(location.search && location.search.substring(1)); var existingQuery = trim(hashRouting ? location.hash.split(QRY)[1] : search); - if (!existingQuery) return queryString; + + if (!existingQuery) { + return queryString; + } + return toQueryString(assign(lib(search), lib(existingQuery), lib(queryString))); } -function set(route, replace, exec) { - exec = exec || true; +function set(route, replace, doExec) { + var exec = true; + + if (_typeof$1(doExec) === TYPEOF_BOOL) { + exec = doExec; + } + var _this$config = this.config, preservePath = _this$config.preservePath, hashRouting = _this$config.hashRouting, diff --git a/dist/esm/silkrouter.esm.js.map b/dist/esm/silkrouter.esm.js.map index db7269d..3b162c8 100644 --- a/dist/esm/silkrouter.esm.js.map +++ b/dist/esm/silkrouter.esm.js.map @@ -1 +1 @@ -{"version":3,"file":"silkrouter.esm.js","sources":["../../src/js/utils/assign.js","../../src/js/utils/constants.js","../../src/js/utils/getGlobal.js","../../node_modules/deparam.js/dist/esm/deparam.esm.js","../../src/js/utils/utils.js","../../src/js/utils/triggerEvent.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/utils/getPath.js","../../src/js/api/bindRouterEvents/index.js","../../src/js/utils/query.js","../../src/js/api/resolveQuery/index.js","../../src/js/api/set/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/index.js","../../src/js/utils/params.js","../../src/js/operators/index.js"],"sourcesContent":["/**\n * Function to extend an object with new and updated properties\n * @private\n * @returns {object}\n */\nexport function assign(...args) {\n return Object.assign(...args);\n}\n","/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const REG_COMPLEX = /\\[/;\nexport const REG_VARIABLE = /([^[]+)\\[([^[]*)\\]/;\nexport const REG_REPLACE_BRACKETS = /\\[([^[]*)\\]/;\nexport const REG_REPLACE_NEXTPROP = /[^[]+/;\nexport const HISTORY_UNSUPPORTED = 'History unsupported!';\nexport const INVALID_ROUTE = 'Route string is not a pure route';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const CACHED_FIELDS = [\n 'route',\n 'hashRouting',\n 'path',\n 'hash',\n 'search',\n 'hashSearch',\n 'data',\n];\nexport const AMP = '&';\nexport const QRY = '?';\nexport const EQ = '=';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_OBJ = typeof {};\nexport const TYPEOF_NUM = typeof 0;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { TYPEOF_UNDEF } from './constants';\n\nexport function getGlobal() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n}\n","/*!\n * Deparam plugin converts query string to a valid JavaScript object\n * Released under MIT license\n * @name Deparam.js\n * @author Sachin Singh \n * @version 3.0.6\n * @license MIT\n */\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n/*!\n * is-number \n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nvar isNumber = function(num) {\n if (typeof num === 'number') {\n return num - num === 0;\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);\n }\n return false;\n};\n\nvar isObject = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n\nvar UNDEF = void 0; // Results to undefined\n// Typeof undefined\n\nvar TYPEOF_UNDEF = _typeof(UNDEF); // Typeof string\n\n\nvar TYPEOF_STR = _typeof(\"\"); // location var\n\n\nvar loc = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== TYPEOF_UNDEF ? window.location : null; // Shorthand for built-ins\n\nvar isArr = Array.isArray;\n/**\n * Checks if current key is safe\n * @param {string} key Current key\n * @returns {boolean}\n */\n\nfunction isSafe(key) {\n return [\"__proto__\", \"prototype\"].indexOf(key) === -1;\n}\n/**\n * Shorthand for Object.prototype.hasOwnProperty\n * @param {any} obj Any object\n * @param {string} key key\n * @returns {boolean} true or false if object has the property\n */\n\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n * Returns true of input query string is complex\n * @param {string} q Query string\n * @returns {boolean} true or false\n */\n\n\nfunction ifComplex(q) {\n return /\\[/.test(q);\n}\n/**\n * Returns an object without a prototype\n * @returns {{[key in string|number]: any}} Object without __proto__\n */\n\n\nfunction obNull() {\n return Object.create(null);\n}\n/**\n * Returns a parsed query object\n * @param {string} qs Query string\n * @param {boolean} coerce Coerce values\n * @returns {{[key in string|number]: any}} Query object\n */\n\n\nfunction lib(qs, coerce) {\n var _this = this;\n\n if (_typeof(qs) !== TYPEOF_STR) {\n qs = loc ? loc.search : \"\";\n }\n\n qs = qs.substring(qs.charAt(0) === \"?\");\n var queryObject = obNull();\n\n if (qs) {\n qs.split(\"&\").forEach(function (qq) {\n var qArr = qq.split(\"=\").map(function (part) {\n return decodeURIComponent(part);\n });\n\n if (ifComplex(qArr[0])) {\n complex.apply(_this, [].concat(qArr).concat([queryObject, coerce]));\n } else {\n simple.apply(_this, [qArr, queryObject, false, coerce]);\n }\n });\n }\n\n return queryObject;\n}\n/**\n * Converts an array to equivalent object\n * @param {any[]} arr Any array\n * @returns {any} Any object\n */\n\n\nfunction toObject(arr) {\n var convertedObj = obNull();\n\n if (isArr(arr)) {\n arr.forEach(function (value, index) {\n convertedObj[index] = value;\n });\n }\n\n return convertedObj;\n}\n/**\n * Converts array to an object if required\n * @param {any} ob Any object\n * @param {booleab} isNextNumber Test for next key\n * @returns {any} Any object\n */\n\n\nfunction resolve(ob, isNextNumber) {\n if (_typeof(ob) === TYPEOF_UNDEF) return isNextNumber ? [] : obNull();\n return isNextNumber ? ob : toObject(ob);\n}\n/**\n * Resolves the target object for next iteration\n * @param {any} ob current reference object\n * @param {string} nextProp reference property in current object\n * @returns {any} Resolved object for next iteration\n */\n\n\nfunction resolveObj(ob, nextProp) {\n if (isObject(ob) && !isArr(ob)) return {\n ob: ob\n };\n if (isArr(ob) || _typeof(ob) === TYPEOF_UNDEF) return {\n ob: resolve(ob, isNumber(nextProp))\n };\n return {\n ob: [ob],\n push: ob !== null\n };\n}\n/**\n * Handles complex query parameters\n * @param {string} key Query key\n * @param {string} value Query value\n * @param {Object} obj Query object\n * @returns {void}\n */\n\n\nfunction complex(key, value, obj, doCoerce) {\n var match = key.match(/([^\\[]+)\\[([^\\[]*)\\]/) || [];\n\n if (match.length === 3) {\n var prop = match[1];\n var nextProp = match[2];\n key = key.replace(/\\[([^\\[]*)\\]/, \"\");\n\n if (ifComplex(key)) {\n if (nextProp === \"\") nextProp = \"0\";\n key = key.replace(/[^\\[]+/, nextProp);\n complex(key, value, obj[prop] = resolveObj(obj[prop], nextProp).ob, doCoerce);\n } else if (nextProp) {\n if (isSafe(prop) && isSafe(nextProp)) {\n var _resolveObj = resolveObj(obj[prop], nextProp),\n ob = _resolveObj.ob,\n push = _resolveObj.push;\n\n obj[prop] = ob;\n var nextOb = push ? obNull() : obj[prop];\n nextOb[nextProp] = coerce(value, !doCoerce);\n\n if (push) {\n obj[prop].push(nextOb);\n }\n }\n } else {\n simple([match[1], value], obj, true, doCoerce);\n }\n }\n}\n/**\n * Handles simple query\n * @param {array} qArr Query list\n * @param {Object} queryObject Query object\n * @param {boolean} toArray Test for conversion to array\n * @returns {void}\n */\n\n\nfunction simple(qArr, queryObject, toArray, doCoerce) {\n var key = qArr[0];\n var value = qArr[1];\n\n if (isSafe(key)) {\n value = coerce(value, !doCoerce);\n\n if (hasOwn(queryObject, key)) {\n queryObject[key] = isArr(queryObject[key]) ? queryObject[key] : [queryObject[key]];\n queryObject[key].push(value);\n } else {\n queryObject[key] = toArray ? [value] : value;\n }\n }\n}\n/**\n * Converts input value to their appropriate types\n * @param {any} value Input value\n * @param {boolean} skip Test for skipping coercion\n * @returns {any} Coerced value\n */\n\n\nfunction coerce(value, skip) {\n // eslint-disable-next-line\n if (value == null) {\n return \"\";\n }\n\n if (skip || _typeof(value) !== TYPEOF_STR) {\n return value;\n }\n\n value = value.trim();\n\n if (isNumber(value)) {\n return +value;\n }\n\n switch (value) {\n case \"null\":\n return null;\n\n case TYPEOF_UNDEF:\n return UNDEF;\n\n case \"true\":\n return true;\n\n case \"false\":\n return false;\n\n case \"NaN\":\n return NaN;\n\n default:\n return value;\n }\n}\n\nexport { lib as default, isNumber, isObject };\n//# sourceMappingURL=deparam.esm.js.map\n","import { isNumber, isObject } from 'deparam.js';\nimport { EMPTY, REG_PATHNAME, TYPEOF_BOOL, TYPEOF_STR } from './constants';\n\n/**\n * Shorthand for Array.isArray\n */\nexport const isArr = Array.isArray;\n\n/**\n * Shorthand for Object.keys\n */\nexport const oKeys = Object.keys;\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n\n/**\n * Checks if key is present in provided object\n * @param {object} ob Object\n * @param {*} key Key\n */\nexport function hasOwn(ob, key) {\n return Object.prototype.hasOwnProperty.call(ob, key);\n}\n\n/**\n * Loops over an array like object\n * @param {object} arrayObj Array or array like object\n * @param {function} callback Callback function\n */\nexport function each(arrayObj, callback) {\n if (isObject(arrayObj)) {\n const keys = oKeys(arrayObj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const cont = callback(arrayObj[key], isNumber(key) ? +key : key);\n if (typeof cont === TYPEOF_BOOL) {\n if (cont) {\n continue;\n } else {\n break;\n }\n }\n }\n }\n}\n","import { TYPEOF_STR } from './constants';\nimport { getGlobal } from './getGlobal';\nimport { each } from './utils';\n\n/**\n * Function to trigger custom event\n * @param {Node|NodeList|HTMLCollection|Node[]} target Target element or list\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(target, eventType, data) {\n target = Array.from(target instanceof Node ? [target] : target);\n if (target.length && typeof eventType === TYPEOF_STR) {\n each(target, (el) => {\n const customEvent = new getGlobal().CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n });\n el.dispatchEvent(customEvent);\n });\n }\n}\n","import { QRY } from '../../utils/constants';\nimport { trim } from '../../utils/utils';\nexport default class RouterEvent {\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const routeObject = routeInfo[0];\n const originalEvent = routeInfo[1];\n const routerInstance = routeInfo[2];\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.hashRouting = routeObject.hash;\n this.routerInstance = routerInstance;\n this.virtualEvent = currentEvent || {};\n this.originalEvent = originalEvent || {};\n this.path = trim(location.pathname);\n this.hash = location.hash;\n this.search = trim(location.search.substring(1));\n this.hashSearch = trim(location.hash && location.hash.split(QRY)[1]);\n const { state } = this.originalEvent;\n this.data = (state && state.data) || (history.state && history.state.data);\n }\n}\n","import { Observable } from 'rxjs';\nimport RouterEvent from '../routerEvent';\n\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const routerInstance = event.detail[2];\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { QRY } from './constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { fromEvent } from 'rxjs';\nimport { POP_STATE, VIRTUAL_PUSHSTATE } from '../../utils/constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport { getGlobal } from '../../utils/getGlobal';\nimport { getPath } from '../../utils/getPath';\n\nexport default function bindRouterEvents(inst) {\n const { context, location, hashRouting: hash } = inst.config;\n inst.popStateSubscription = fromEvent(getGlobal(), POP_STATE).subscribe(\n (e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, inst]);\n }\n }\n );\n inst.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(inst)\n );\n if (hash && !location.hash) {\n inst.set('/', true, false); // Replace current hash path without executing anythings\n }\n}\n","import { isObject } from 'deparam.js';\nimport { AMP, EMPTY, TYPEOF_FUNC, TYPEOF_STR } from './constants';\nimport { each, isArr } from './utils';\n\nexport const encode = encodeURIComponent;\n\n/**\n * Builds query string recursively\n * @private\n * @param {string[]} qsList List of query string key value pairs\n * @param {*} key Key\n * @param {*} obj Value\n */\nfunction buildQuery(qsList, key, obj) {\n if (isObject(obj)) {\n each(obj, (prop, obKey) => {\n buildQuery(qsList, `${key}[${isArr(obj) ? EMPTY : obKey}]`, prop);\n });\n } else if (typeof obj !== TYPEOF_FUNC) {\n qsList.push(`${encode(key)}=${encode(obj)}`);\n }\n}\n\n/**\n * Converts an object to a query string\n * @private\n * @param {object} obj Object which should be converted to a string\n * @returns {string}\n */\nexport function toQueryString(obj) {\n let qsList = [];\n if (isObject(obj)) {\n each(obj, (prop, key) => {\n buildQuery(qsList, key, prop);\n });\n return qsList.join(AMP);\n }\n return typeof obj === TYPEOF_STR ? obj : EMPTY;\n}\n","import deparam from 'deparam.js';\nimport { trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport { assign } from '../../utils/assign';\nimport { QRY } from '../../utils/constants';\n\n/**\n * Resolves and analyzes existing query string\n * @private\n * @param {string} queryString Query string\n * @param {string} hashRouting Flag to test if hash routing is enabled\n */\nexport default function resolveQuery(queryString, hashRouting) {\n const { location } = this.config;\n const search = trim(location.search && location.search.substring(1));\n const existingQuery = trim(\n hashRouting ? location.hash.split(QRY)[1] : search\n );\n if (!existingQuery) return queryString;\n return toQueryString(\n assign(deparam(search), deparam(existingQuery), deparam(queryString))\n );\n}\n","import { isObject } from \"deparam.js\";\nimport { trigger } from \"../../utils/triggerEvent\";\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n TYPEOF_STR,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n} from \"../../utils/constants\";\nimport { isValidRoute, trim } from \"../../utils/utils\";\nimport { toQueryString } from \"../../utils/query\";\nimport resolveQuery from \"../resolveQuery\";\nimport { assign } from \"../../utils/assign\";\n\nexport default function set(route, replace, exec) {\n exec = exec || true;\n const { preservePath, hashRouting, history } = this.config;\n const routeObject = assign(\n { replace, exec },\n typeof route === TYPEOF_STR ? { route } : route\n );\n replace = routeObject.replace;\n exec = routeObject.exec;\n let { route: routeStr, queryString } = routeObject;\n const { preserveQuery, data, pageTitle = null } = routeObject;\n const routeParts = routeStr.split(QRY);\n // Check if query string is an object\n if (isObject(queryString)) {\n queryString = toQueryString(queryString);\n }\n // Resolve to URL query string if it's not explicitly passed\n queryString = trim(queryString ? queryString : routeParts[1]);\n routeStr = trim(routeParts[0]);\n // Check if query preservation is required. Resolve query accordingly\n if (preserveQuery) {\n queryString = resolveQuery.apply(this, [queryString, hashRouting]);\n }\n if (isValidRoute(routeStr)) {\n const unmodifiedRoute = routeStr;\n if (hashRouting) {\n routeStr = `/#${routeStr}`;\n // Path preservation should only work for hash routing\n if (preservePath) {\n routeStr = `${routeStr.substring(1)}`;\n }\n }\n // Append query string\n routeStr = `${routeStr}${queryString ? `${QRY + queryString}` : EMPTY}`;\n history[replace ? REPLACE : PUSH]({ data }, pageTitle, routeStr);\n if (exec && unmodifiedRoute) {\n trigger(this.config.context, VIRTUAL_PUSHSTATE, [\n {\n path: unmodifiedRoute,\n hash: hashRouting,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n return this;\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../utils/constants';\nimport { getPath } from '../../utils/getPath';\nimport RouterEvent from '../routerEvent';\n\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { assign } from '../../utils/assign';\nimport bindRouterEvents from '../bindRouterEvents';\nimport set from '../set';\nimport { HISTORY_UNSUPPORTED, PUSH, TYPEOF_FUNC } from '../../utils/constants';\nimport callOnce from '../callOnce';\nimport { getGlobal } from '../../utils/getGlobal';\n\nexport default class Router {\n constructor(config) {\n const { history, location, document } = getGlobal();\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.config = Object.freeze(\n assign(\n {\n init: true, // Initialize as soon as route handler is attached\n hashRouting: false, // Switch to hash routing\n preservePath: false, // Works for hash routing\n context: document.body, // To change the context of \"vpushstate\" event\n location, // Should remain unchanged\n history, // History object\n },\n config || {}\n )\n );\n this.__paths__ = [];\n bindRouterEvents(this);\n }\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n subscribe(...fns) {\n return this.pipe().subscribe(...fns);\n }\n set(...props) {\n return set.apply(this, props);\n }\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n this.__paths__.length = 0;\n }\n}\n","import { EMPTY, REG_ROUTE_PARAMS } from './constants';\nimport { each } from './utils';\n\n/**\n * Parses current path and returns params object\n * @private\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {object}\n */\nexport function extractParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n each(keys, (key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","import { trim, isValidRoute, each, oKeys } from \"../utils/utils\";\nimport queryDeparam, { isObject } from \"deparam.js\";\nimport { Observable } from \"rxjs\";\nimport {\n INVALID_ROUTE,\n CACHED_FIELDS,\n UNDEF,\n TYPEOF_BOOL,\n} from \"../utils/constants\";\nimport { extractParams } from \"../utils/params\";\nimport Router from \"../api/router\";\nimport { assign } from \"../utils/assign\";\n\n/**\n * Operator to compare a specific route\n * @param {string} routeStr Route string\n * @param {Router} routerInstance Current router object [optional]\n * @param {boolean} ignoreCase Ignore case in route string\n */\nexport function route(routeStr, routerInstance, ignoreCase) {\n if (typeof routerInstance === TYPEOF_BOOL) {\n ignoreCase = routerInstance;\n routerInstance = UNDEF;\n }\n routeStr = trim(routeStr);\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.indexOf(routeStr) === -1) {\n paths.push(routeStr);\n }\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n let incomingRoute = event.route;\n if (isValidRoute(routeStr)) {\n if (ignoreCase) {\n routeStr = routeStr.toLowerCase();\n incomingRoute = incomingRoute.toLowerCase();\n }\n const params = extractParams(routeStr, incomingRoute);\n const paramsLength = oKeys(params).length;\n if (incomingRoute === routeStr || paramsLength > 0) {\n if (paramsLength > 0) {\n event.params = params;\n }\n subscriber.next(event);\n }\n } else {\n subscriber.error(new Error(INVALID_ROUTE));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n const existingRouteIndex = paths.indexOf(routeStr);\n if (existingRouteIndex > -1) {\n paths.splice(existingRouteIndex, 1);\n }\n }\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Converts search and hashSearch strings to object\n * @param {boolean} coerce Flag to enable value typecast\n */\nexport function deparam(coerce) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n try {\n event.search = queryDeparam(event.search, coerce);\n event.hashSearch = queryDeparam(event.hashSearch, coerce);\n subscriber.next(event);\n } catch (e) {\n subscriber.error(e);\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Modifies current subscriber to detect errors\n * @param {Router} routerInstance Current router object\n */\nexport function noMatch(routerInstance) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.length > 0) {\n const currentRoute = event.route;\n let match = false;\n each(paths, (path) => {\n if (\n path === currentRoute ||\n oKeys(extractParams(path, currentRoute)).length\n ) {\n return !(match = true);\n }\n });\n if (!match) {\n event.noMatch = true;\n subscriber.next(event);\n }\n }\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\nfunction deepComparison(first, second, result) {\n each(oKeys(first), (key) => {\n if (isObject(first[key]) && isObject(second[key])) {\n deepComparison(first[key], second[key], result);\n } else {\n result.break = first[key] !== second[key];\n }\n });\n}\n\n/**\n * Caches incoming routes to avoid calling handler if there is no change\n * @param {string[]} keys\n * @param {boolean} deep\n */\nexport function cache(keys = CACHED_FIELDS, deep) {\n let cache = {};\n if (typeof keys === TYPEOF_BOOL) {\n deep = keys;\n keys = CACHED_FIELDS;\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n each(keys, (key) => {\n if (deep && isObject(event[key]) && isObject(cache[key])) {\n const result = {};\n deepComparison(event[key], cache[key], result);\n if (result.break) {\n assign(cache, event);\n subscriber.next(event);\n return false;\n }\n } else if (event[key] !== cache[key]) {\n assign(cache, event);\n subscriber.next(event);\n return false; // break loop\n }\n });\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n cache = {};\n };\n });\n}\n"],"names":["assign","Object","POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","CACHED_FIELDS","AMP","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_BOOL","_typeof","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","getGlobal","globalThis","global","self","isArr","Array","isArray","oKeys","keys","trim","str","isValidRoute","route","test","each","arrayObj","callback","isObject","i","length","key","cont","isNumber","trigger","target","eventType","data","from","Node","el","customEvent","CustomEvent","bubbles","cancelable","detail","dispatchEvent","RouterEvent","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","config","location","history","path","hashRouting","hash","virtualEvent","pathname","search","substring","hashSearch","split","state","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","getPath","isHash","bindRouterEvents","inst","context","popStateSubscription","fromEvent","e","listeners","pipe","apply","set","encode","encodeURIComponent","buildQuery","qsList","obj","prop","obKey","push","toQueryString","join","resolveQuery","queryString","existingQuery","deparam","replace","exec","preservePath","routeStr","preserveQuery","pageTitle","routeParts","unmodifiedRoute","TypeError","callOnce","isDone","init","Router","document","Error","freeze","body","__paths__","ops","props","extractParams","expr","params","pathRegex","RegExp","lastIndex","match","map","values","shift","index","ignoreCase","paths","indexOf","incomingRoute","toLowerCase","paramsLength","existingRouteIndex","splice","coerce","queryDeparam","noMatch","currentRoute","deepComparison","first","second","result","cache","deep"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;AACA;AACA;AACA;AACA;AACO,SAASA,MAAT,GAAyB;AAC9B,EAAA,OAAOC,MAAM,CAACD,MAAP,CAAA,KAAA,CAAAC,MAAM,EAAb,SAAA,CAAA,CAAA;AACD;;ACPD;AACA;AACA;AACO,IAAMC,SAAS,GAAG,UAAlB,CAAA;AACA,IAAMC,gBAAgB,GAAG,SAAzB,CAAA;AACA,IAAMC,YAAY,GAAG,cAArB,CAAA;AAKA,IAAMC,mBAAmB,GAAG,sBAA5B,CAAA;AACA,IAAMC,aAAa,GAAG,kCAAtB,CAAA;AACA,IAAMC,iBAAiB,GAAG,YAA1B,CAAA;AACA,IAAMC,aAAa,GAAG,CAC3B,OAD2B,EAE3B,aAF2B,EAG3B,MAH2B,EAI3B,MAJ2B,EAK3B,QAL2B,EAM3B,YAN2B,EAO3B,MAP2B,CAAtB,CAAA;AASA,IAAMC,GAAG,GAAG,GAAZ,CAAA;AACA,IAAMC,GAAG,GAAG,GAAZ,CAAA;AAEA,IAAMC,KAAK,GAAG,EAAd,CAAA;AACA,IAAMC,OAAK,GAAG,KAAK,CAAnB,CAAA;AACA,IAAMC,YAAU,GAAUF,SAAAA,CAAAA,KAAV,CAAhB,CAAA;AACA,IAAMG,WAAW,GAAUC,SAAA,CAAA,IAAV,CAAjB,CAAA;AACA,IAAMC,cAAY,GAAUJ,SAAAA,CAAAA,OAAV,CAAlB,CAAA;AAC0BG,SAAA,CAAA,EAAV,EAAhB;AAC0BA,SAAA,CAAA,CAAV,EAAhB;AACA,IAAME,WAAW,GAAAF,SAAA,CAAW,YAAM,EAAjB,CAAjB,CAAA;AACA,IAAMG,KAAK,GAAG,OAAd,CAAA;AACA,IAAMC,IAAI,GAAUD,MAAAA,CAAAA,MAAAA,CAAAA,KAAV,CAAV,CAAA;AACA,IAAME,OAAO,GAAaF,SAAAA,CAAAA,MAAAA,CAAAA,KAAb,CAAb;;ACjCA,SAASG,SAAT,GAAqB;EAC1B,OAAO,CAAA,OAAOC,UAAP,KAAA,WAAA,GAAA,WAAA,GAAAP,SAAA,CAAOO,UAAP,CAAA,MAAsBN,cAAtB,GAAqCM,UAArC,GAAkDC,MAAM,IAAIC,IAAnE,CAAA;AACD;;ACJD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,GAAG,EAAE;AACtB,EAAE,yBAAyB,CAAC;AAC5B;AACA,EAAE,OAAO,OAAO,GAAG,UAAU,IAAI,OAAO,MAAM,IAAI,QAAQ,IAAI,OAAO,MAAM,CAAC,QAAQ,GAAG,UAAU,GAAG,EAAE;AACtG,IAAI,OAAO,OAAO,GAAG,CAAC;AACtB,GAAG,GAAG,UAAU,GAAG,EAAE;AACrB,IAAI,OAAO,GAAG,IAAI,UAAU,IAAI,OAAO,MAAM,IAAI,GAAG,CAAC,WAAW,KAAK,MAAM,IAAI,GAAG,KAAK,MAAM,CAAC,SAAS,GAAG,QAAQ,GAAG,OAAO,GAAG,CAAC;AAChI,GAAG,EAAE,OAAO,CAAC,GAAG,CAAC,CAAC;AAClB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,IAAI,QAAQ,GAAG,SAAS,GAAG,EAAE;AAC7B,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE;AAC/B,IAAI,OAAO,GAAG,GAAG,GAAG,KAAK,CAAC,CAAC;AAC3B,GAAG;AACH,EAAE,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,GAAG,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE;AACpD,IAAI,OAAO,MAAM,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,GAAG,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC;AACpE,GAAG;AACH,EAAE,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AACF;AACA,IAAI,QAAQ,GAAG,SAAS,QAAQ,CAAC,CAAC,EAAE;AACpC,CAAC,OAAO,OAAO,CAAC,KAAK,QAAQ,IAAI,CAAC,KAAK,IAAI,CAAC;AAC5C,CAAC,CAAC;AACF;AACA,IAAI,KAAK,GAAG,KAAK,CAAC,CAAC;AACnB;AACA;AACA,IAAI,YAAY,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;AAClC;AACA;AACA,IAAI,UAAU,GAAG,OAAO,CAAC,EAAE,CAAC,CAAC;AAC7B;AACA;AACA,IAAI,GAAG,GAAG,CAAC,OAAO,MAAM,KAAK,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,YAAY,GAAG,MAAM,CAAC,QAAQ,GAAG,IAAI,CAAC;AACpH;AACA,IAAIC,OAAK,GAAG,KAAK,CAAC,OAAO,CAAC;AAC1B;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,GAAG,EAAE;AACrB,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;AACxD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE;AAC1B,EAAE,OAAO,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;AACxD,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,SAAS,CAAC,CAAC,EAAE;AACtB,EAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,GAAG;AAClB,EAAE,OAAO,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;AAC7B,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,GAAG,CAAC,EAAE,EAAE,MAAM,EAAE;AACzB,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC;AACnB;AACA,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,UAAU,EAAE;AAClC,IAAI,EAAE,GAAG,GAAG,GAAG,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC;AAC/B,GAAG;AACH;AACA,EAAE,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC;AAC1C,EAAE,IAAI,WAAW,GAAG,MAAM,EAAE,CAAC;AAC7B;AACA,EAAE,IAAI,EAAE,EAAE;AACV,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,EAAE;AACxC,MAAM,IAAI,IAAI,GAAG,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE;AACnD,QAAQ,OAAO,kBAAkB,CAAC,IAAI,CAAC,CAAC;AACxC,OAAO,CAAC,CAAC;AACT;AACA,MAAM,IAAI,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE;AAC9B,QAAQ,OAAO,CAAC,KAAK,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC;AAC5E,OAAO,MAAM;AACb,QAAQ,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,CAAC,CAAC,CAAC;AAChE,OAAO;AACP,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,QAAQ,CAAC,GAAG,EAAE;AACvB,EAAE,IAAI,YAAY,GAAG,MAAM,EAAE,CAAC;AAC9B;AACA,EAAE,IAAIA,OAAK,CAAC,GAAG,CAAC,EAAE;AAClB,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU,KAAK,EAAE,KAAK,EAAE;AACxC,MAAM,YAAY,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AAClC,KAAK,CAAC,CAAC;AACP,GAAG;AACH;AACA,EAAE,OAAO,YAAY,CAAC;AACtB,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,EAAE,EAAE,YAAY,EAAE;AACnC,EAAE,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,YAAY,EAAE,OAAO,YAAY,GAAG,EAAE,GAAG,MAAM,EAAE,CAAC;AACxE,EAAE,OAAO,YAAY,GAAG,EAAE,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAC;AAC1C,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,UAAU,CAAC,EAAE,EAAE,QAAQ,EAAE;AAClC,EAAE,IAAI,QAAQ,CAAC,EAAE,CAAC,IAAI,CAACA,OAAK,CAAC,EAAE,CAAC,EAAE,OAAO;AACzC,IAAI,EAAE,EAAE,EAAE;AACV,GAAG,CAAC;AACJ,EAAE,IAAIA,OAAK,CAAC,EAAE,CAAC,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,YAAY,EAAE,OAAO;AACxD,IAAI,EAAE,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,CAAC,QAAQ,CAAC,CAAC;AACvC,GAAG,CAAC;AACJ,EAAE,OAAO;AACT,IAAI,EAAE,EAAE,CAAC,EAAE,CAAC;AACZ,IAAI,IAAI,EAAE,EAAE,KAAK,IAAI;AACrB,GAAG,CAAC;AACJ,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE;AAC5C,EAAE,IAAI,KAAK,GAAG,GAAG,CAAC,KAAK,CAAC,sBAAsB,CAAC,IAAI,EAAE,CAAC;AACtD;AACA,EAAE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;AAC1B,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AACxB,IAAI,IAAI,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;AAC5B,IAAI,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;AAC1C;AACA,IAAI,IAAI,SAAS,CAAC,GAAG,CAAC,EAAE;AACxB,MAAM,IAAI,QAAQ,KAAK,EAAE,EAAE,QAAQ,GAAG,GAAG,CAAC;AAC1C,MAAM,GAAG,GAAG,GAAG,CAAC,OAAO,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;AAC5C,MAAM,OAAO,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,CAAC,IAAI,CAAC,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;AACpF,KAAK,MAAM,IAAI,QAAQ,EAAE;AACzB,MAAM,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,EAAE;AAC5C,QAAQ,IAAI,WAAW,GAAG,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC;AACzD,YAAY,EAAE,GAAG,WAAW,CAAC,EAAE;AAC/B,YAAY,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC;AACpC;AACA,QAAQ,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;AACvB,QAAQ,IAAI,MAAM,GAAG,IAAI,GAAG,MAAM,EAAE,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC;AACjD,QAAQ,MAAM,CAAC,QAAQ,CAAC,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;AACpD;AACA,QAAQ,IAAI,IAAI,EAAE;AAClB,UAAU,GAAG,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AACjC,SAAS;AACT,OAAO;AACP,KAAK,MAAM;AACX,MAAM,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;AACrD,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,QAAQ,EAAE;AACtD,EAAE,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACpB,EAAE,IAAI,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,CAAC;AACtB;AACA,EAAE,IAAI,MAAM,CAAC,GAAG,CAAC,EAAE;AACnB,IAAI,KAAK,GAAG,MAAM,CAAC,KAAK,EAAE,CAAC,QAAQ,CAAC,CAAC;AACrC;AACA,IAAI,IAAI,MAAM,CAAC,WAAW,EAAE,GAAG,CAAC,EAAE;AAClC,MAAM,WAAW,CAAC,GAAG,CAAC,GAAGA,OAAK,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;AACzF,MAAM,WAAW,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACnC,KAAK,MAAM;AACX,MAAM,WAAW,CAAC,GAAG,CAAC,GAAG,OAAO,GAAG,CAAC,KAAK,CAAC,GAAG,KAAK,CAAC;AACnD,KAAK;AACL,GAAG;AACH,CAAC;AACD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,SAAS,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE;AAC7B;AACA,EAAE,IAAI,KAAK,IAAI,IAAI,EAAE;AACrB,IAAI,OAAO,EAAE,CAAC;AACd,GAAG;AACH;AACA,EAAE,IAAI,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,UAAU,EAAE;AAC7C,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG;AACH;AACA,EAAE,KAAK,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;AACvB;AACA,EAAE,IAAI,QAAQ,CAAC,KAAK,CAAC,EAAE;AACvB,IAAI,OAAO,CAAC,KAAK,CAAC;AAClB,GAAG;AACH;AACA,EAAE,QAAQ,KAAK;AACf,IAAI,KAAK,MAAM;AACf,MAAM,OAAO,IAAI,CAAC;AAClB;AACA,IAAI,KAAK,YAAY;AACrB,MAAM,OAAO,KAAK,CAAC;AACnB;AACA,IAAI,KAAK,MAAM;AACf,MAAM,OAAO,IAAI,CAAC;AAClB;AACA,IAAI,KAAK,OAAO;AAChB,MAAM,OAAO,KAAK,CAAC;AACnB;AACA,IAAI,KAAK,KAAK;AACd,MAAM,OAAO,GAAG,CAAC;AACjB;AACA,IAAI;AACJ,MAAM,OAAO,KAAK,CAAC;AACnB,GAAG;AACH;;ACtRA;AACA;AACA;;AACO,IAAMA,KAAK,GAAGC,KAAK,CAACC,OAApB,CAAA;AAEP;AACA;AACA;;AACO,IAAMC,KAAK,GAAG3B,MAAM,CAAC4B,IAArB,CAAA;AAEP;AACA;AACA;AACA;;AACO,SAASC,IAAT,CAAcC,GAAd,EAAmB;EACxB,OAAOhB,SAAA,CAAOgB,GAAP,CAAA,KAAelB,YAAf,GAA4BkB,GAAG,CAACD,IAAJ,EAA5B,GAAyCnB,KAAhD,CAAA;AACD,CAAA;AAED;AACA;AACA;AACA;AACA;;AACO,SAASqB,YAAT,CAAsBC,KAAtB,EAA6B;AAClC,EAAA,OAAO7B,YAAY,CAAC8B,IAAb,CAAkBD,KAAlB,CAAP,CAAA;AACD,CAAA;AAWD;AACA;AACA;AACA;AACA;;AACO,SAASE,IAAT,CAAcC,QAAd,EAAwBC,QAAxB,EAAkC;AACvC,EAAA,IAAIC,QAAQ,CAACF,QAAD,CAAZ,EAAwB;AACtB,IAAA,IAAMP,IAAI,GAAGD,KAAK,CAACQ,QAAD,CAAlB,CAAA;;AACA,IAAA,KAAK,IAAIG,CAAC,GAAG,CAAb,EAAgBA,CAAC,GAAGV,IAAI,CAACW,MAAzB,EAAiCD,CAAC,EAAlC,EAAsC;AACpC,MAAA,IAAME,GAAG,GAAGZ,IAAI,CAACU,CAAD,CAAhB,CAAA;AACA,MAAA,IAAMG,IAAI,GAAGL,QAAQ,CAACD,QAAQ,CAACK,GAAD,CAAT,EAAgBE,QAAQ,CAACF,GAAD,CAAR,GAAgB,CAACA,GAAjB,GAAuBA,GAAvC,CAArB,CAAA;;AACA,MAAA,IAAI1B,SAAO2B,CAAAA,IAAP,CAAgB5B,KAAAA,WAApB,EAAiC;AAC/B,QAAA,IAAI4B,IAAJ,EAAU;AACR,UAAA,SAAA;AACD,SAFD,MAEO;AACL,UAAA,MAAA;AACD,SAAA;AACF,OAAA;AACF,KAAA;AACF,GAAA;AACF;;ACvDD;AACA;AACA;AACA;AACA;AACA;;AACO,SAASE,OAAT,CAAiBC,MAAjB,EAAyBC,SAAzB,EAAoCC,IAApC,EAA0C;AAC/CF,EAAAA,MAAM,GAAGnB,KAAK,CAACsB,IAAN,CAAWH,MAAM,YAAYI,IAAlB,GAAyB,CAACJ,MAAD,CAAzB,GAAoCA,MAA/C,CAAT,CAAA;;EACA,IAAIA,MAAM,CAACL,MAAP,IAAiBzB,UAAO+B,SAAP,CAAA,KAAqBjC,YAA1C,EAAsD;AACpDsB,IAAAA,IAAI,CAACU,MAAD,EAAS,UAACK,EAAD,EAAQ;MACnB,IAAMC,WAAW,GAAG,IAAI9B,SAAJ,GAAgB+B,WAAhB,CAA4BN,SAA5B,EAAuC;AACzDO,QAAAA,OAAO,EAAE,IADgD;AAEzDC,QAAAA,UAAU,EAAE,IAF6C;QAGzDC,MAAM,EAAER,IAAI,IAAI,EAAA;AAHyC,OAAvC,CAApB,CAAA;MAKAG,EAAE,CAACM,aAAH,CAAiBL,WAAjB,CAAA,CAAA;AACD,KAPG,CAAJ,CAAA;AAQD,GAAA;AACF;;ACpBoBM,IAAAA,2BACnB,YAAA,CAAA,SAAA,WAAA,CAAYC,SAAZ,EAAuBC,YAAvB,EAAqC;AAAA,EAAA,eAAA,CAAA,IAAA,EAAA,WAAA,CAAA,CAAA;;AACnC;AACA,EAAA,IAAMC,WAAW,GAAGF,SAAS,CAAC,CAAD,CAA7B,CAAA;AACA,EAAA,IAAMG,aAAa,GAAGH,SAAS,CAAC,CAAD,CAA/B,CAAA;AACA,EAAA,IAAMI,cAAc,GAAGJ,SAAS,CAAC,CAAD,CAAhC,CAAA;EACA,IAA8BI,qBAAAA,GAAAA,cAAc,CAACC,MAA7C;MAAQC,QAAR,yBAAQA,QAAR;MAAkBC,OAAlB,yBAAkBA,OAAlB,CAAA;AACA,EAAA,IAAA,CAAKhC,KAAL,GAAa2B,WAAW,CAACM,IAAzB,CAAA;AACA,EAAA,IAAA,CAAKC,WAAL,GAAmBP,WAAW,CAACQ,IAA/B,CAAA;EACA,IAAKN,CAAAA,cAAL,GAAsBA,cAAtB,CAAA;AACA,EAAA,IAAA,CAAKO,YAAL,GAAoBV,YAAY,IAAI,EAApC,CAAA;AACA,EAAA,IAAA,CAAKE,aAAL,GAAqBA,aAAa,IAAI,EAAtC,CAAA;AACA,EAAA,IAAA,CAAKK,IAAL,GAAYpC,IAAI,CAACkC,QAAQ,CAACM,QAAV,CAAhB,CAAA;AACA,EAAA,IAAA,CAAKF,IAAL,GAAYJ,QAAQ,CAACI,IAArB,CAAA;AACA,EAAA,IAAA,CAAKG,MAAL,GAAczC,IAAI,CAACkC,QAAQ,CAACO,MAAT,CAAgBC,SAAhB,CAA0B,CAA1B,CAAD,CAAlB,CAAA;AACA,EAAA,IAAA,CAAKC,UAAL,GAAkB3C,IAAI,CAACkC,QAAQ,CAACI,IAAT,IAAiBJ,QAAQ,CAACI,IAAT,CAAcM,KAAd,CAAoBhE,GAApB,CAAyB,CAAA,CAAzB,CAAlB,CAAtB,CAAA;AACA,EAAA,IAAQiE,KAAR,GAAkB,IAAKd,CAAAA,aAAvB,CAAQc,KAAR,CAAA;AACA,EAAA,IAAA,CAAK5B,IAAL,GAAa4B,KAAK,IAAIA,KAAK,CAAC5B,IAAhB,IAA0BkB,OAAO,CAACU,KAAR,IAAiBV,OAAO,CAACU,KAAR,CAAc5B,IAArE,CAAA;AACD;;ACjBY,SAAS6B,OAAT,GAAmB;AAAA,EAAA,IAAA,KAAA,GAAA,IAAA,CAAA;;AAChC,EAAA,OAAO,UAACC,UAAD,EAAA;AAAA,IAAA,OACL,IAAIC,UAAJ,CAAe,UAACC,UAAD,EAAgB;AAC7B,MAAA,IAAMC,IAAI,GAAGH,UAAU,CAACI,SAAX,CAAqB;QAChCC,IAAI,EAAE,SAACC,IAAAA,CAAAA,KAAD,EAAW;AACf,UAAA,IAAMrB,cAAc,GAAGqB,KAAK,CAAC5B,MAAN,CAAa,CAAb,CAAvB,CAAA;;UACA,IAAIO,cAAc,KAAK,KAAvB,EAA6B;YAC3BiB,UAAU,CAACG,IAAX,CAAgB,IAAIzB,WAAJ,CAAgB0B,KAAK,CAAC5B,MAAtB,EAA8B4B,KAA9B,CAAhB,CAAA,CAAA;AACD,WAAA;SAL6B;QAOhCC,KAAK,EAAEL,UAAU,CAACK,KAPc;QAQhCC,QAAQ,EAAEN,UAAU,CAACM,QAAAA;AARW,OAArB,CAAb,CAAA;AAUA,MAAA,OAAO,YAAM;AACXL,QAAAA,IAAI,CAACM,WAAL,EAAA,CAAA;OADF,CAAA;AAGD,KAdD,CADK,CAAA;GAAP,CAAA;AAgBD;;ACjBM,IAAMC,OAAO,GAAG,SAAVA,OAAU,CAACC,MAAD,EAASxB,QAAT,EAAsB;EAC3C,OAAOlC,IAAI,CACT0D,MAAM,GAAGxB,QAAQ,CAACI,IAAT,CAAcI,SAAd,CAAwB,CAAxB,EAA2BE,KAA3B,CAAiChE,GAAjC,CAAsC,CAAA,CAAtC,CAAH,GAA8CsD,QAAQ,CAACM,QADpD,CAAX,CAAA;AAGD,CAJM;;ACIQ,SAASmB,gBAAT,CAA0BC,IAA1B,EAAgC;EAC7C,IAAiDA,YAAAA,GAAAA,IAAI,CAAC3B,MAAtD;MAAQ4B,OAAR,gBAAQA,OAAR;MAAiB3B,QAAjB,gBAAiBA,QAAjB;MAAwCI,IAAxC,gBAA2BD,WAA3B,CAAA;AACAuB,EAAAA,IAAI,CAACE,oBAAL,GAA4BC,SAAS,CAACxE,SAAS,EAAV,EAAcnB,SAAd,CAAT,CAAkC+E,SAAlC,CAC1B,UAACa,CAAD,EAAO;AACL,IAAA,IAAM5B,IAAI,GAAGqB,OAAO,CAACnB,IAAD,EAAOJ,QAAP,CAApB,CAAA;;AACA,IAAA,IAAIE,IAAJ,EAAU;AACRtB,MAAAA,OAAO,CAAC+C,OAAD,EAAUpF,iBAAV,EAA6B,CAAC;AAAE2D,QAAAA,IAAI,EAAJA,IAAF;AAAQE,QAAAA,IAAI,EAAJA,IAAAA;AAAR,OAAD,EAAiB0B,CAAjB,EAAoBJ,IAApB,CAA7B,CAAP,CAAA;AACD,KAAA;AACF,GANyB,CAA5B,CAAA;AAQAA,EAAAA,IAAI,CAACK,SAAL,GAAiBF,SAAS,CAACF,OAAD,EAAUpF,iBAAV,CAAT,CAAsCyF,IAAtC,CACfpB,OAAO,CAACqB,KAAR,CAAcP,IAAd,CADe,CAAjB,CAAA;;AAGA,EAAA,IAAItB,IAAI,IAAI,CAACJ,QAAQ,CAACI,IAAtB,EAA4B;IAC1BsB,IAAI,CAACQ,GAAL,CAAS,GAAT,EAAc,IAAd,EAAoB,KAApB,CAAA,CAD0B;AAE3B,GAAA;AACF;;ACnBM,IAAMC,MAAM,GAAGC,kBAAf,CAAA;AAEP;AACA;AACA;AACA;AACA;AACA;AACA;;AACA,SAASC,UAAT,CAAoBC,MAApB,EAA4B7D,GAA5B,EAAiC8D,GAAjC,EAAsC;AACpC,EAAA,IAAIjE,QAAQ,CAACiE,GAAD,CAAZ,EAAmB;AACjBpE,IAAAA,IAAI,CAACoE,GAAD,EAAM,UAACC,IAAD,EAAOC,KAAP,EAAiB;AACzBJ,MAAAA,UAAU,CAACC,MAAD,EAAY7D,EAAAA,CAAAA,MAAAA,CAAAA,GAAZ,cAAmBhB,KAAK,CAAC8E,GAAD,CAAL,GAAa5F,KAAb,GAAqB8F,KAAxC,EAAA,GAAA,CAAA,EAAkDD,IAAlD,CAAV,CAAA;AACD,KAFG,CAAJ,CAAA;AAGD,GAJD,MAIO,IAAIzF,SAAA,CAAOwF,GAAP,CAAA,KAAetF,WAAnB,EAAgC;IACrCqF,MAAM,CAACI,IAAP,CAAA,EAAA,CAAA,MAAA,CAAeP,MAAM,CAAC1D,GAAD,CAArB,EAA8B0D,GAAAA,CAAAA,CAAAA,MAAAA,CAAAA,MAAM,CAACI,GAAD,CAApC,CAAA,CAAA,CAAA;AACD,GAAA;AACF,CAAA;AAED;AACA;AACA;AACA;AACA;AACA;;;AACO,SAASI,aAAT,CAAuBJ,GAAvB,EAA4B;EACjC,IAAID,MAAM,GAAG,EAAb,CAAA;;AACA,EAAA,IAAIhE,QAAQ,CAACiE,GAAD,CAAZ,EAAmB;AACjBpE,IAAAA,IAAI,CAACoE,GAAD,EAAM,UAACC,IAAD,EAAO/D,GAAP,EAAe;AACvB4D,MAAAA,UAAU,CAACC,MAAD,EAAS7D,GAAT,EAAc+D,IAAd,CAAV,CAAA;AACD,KAFG,CAAJ,CAAA;AAGA,IAAA,OAAOF,MAAM,CAACM,IAAP,CAAYnG,GAAZ,CAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAOM,UAAOwF,GAAP,CAAA,KAAe1F,YAAf,GAA4B0F,GAA5B,GAAkC5F,KAAzC,CAAA;AACD;;AChCD;AACA;AACA;AACA;AACA;AACA;;AACe,SAASkG,YAAT,CAAsBC,WAAtB,EAAmC3C,WAAnC,EAAgD;AAC7D,EAAA,IAAQH,QAAR,GAAqB,IAAKD,CAAAA,MAA1B,CAAQC,QAAR,CAAA;AACA,EAAA,IAAMO,MAAM,GAAGzC,IAAI,CAACkC,QAAQ,CAACO,MAAT,IAAmBP,QAAQ,CAACO,MAAT,CAAgBC,SAAhB,CAA0B,CAA1B,CAApB,CAAnB,CAAA;AACA,EAAA,IAAMuC,aAAa,GAAGjF,IAAI,CACxBqC,WAAW,GAAGH,QAAQ,CAACI,IAAT,CAAcM,KAAd,CAAoBhE,GAApB,CAAA,CAAyB,CAAzB,CAAH,GAAiC6D,MADpB,CAA1B,CAAA;AAGA,EAAA,IAAI,CAACwC,aAAL,EAAoB,OAAOD,WAAP,CAAA;AACpB,EAAA,OAAOH,aAAa,CAClB3G,MAAM,CAACgH,GAAO,CAACzC,MAAD,CAAR,EAAkByC,GAAO,CAACD,aAAD,CAAzB,EAA0CC,GAAO,CAACF,WAAD,CAAjD,CADY,CAApB,CAAA;AAGD;;ACLc,SAASZ,GAAT,CAAajE,KAAb,EAAoBgF,OAApB,EAA6BC,IAA7B,EAAmC;EAChDA,IAAI,GAAGA,IAAI,IAAI,IAAf,CAAA;AACA,EAAA,IAAA,YAAA,GAA+C,KAAKnD,MAApD;MAAQoD,YAAR,gBAAQA,YAAR;MAAsBhD,WAAtB,gBAAsBA,WAAtB;MAAmCF,OAAnC,gBAAmCA,OAAnC,CAAA;EACA,IAAML,WAAW,GAAG5D,MAAM,CACxB;AAAEiH,IAAAA,OAAO,EAAPA,OAAF;AAAWC,IAAAA,IAAI,EAAJA,IAAAA;AAAX,GADwB,EAExBnG,SAAA,CAAOkB,KAAP,CAAA,KAAiBpB,YAAjB,GAA8B;AAAEoB,IAAAA,KAAK,EAALA,KAAAA;GAAhC,GAA0CA,KAFlB,CAA1B,CAAA;EAIAgF,OAAO,GAAGrD,WAAW,CAACqD,OAAtB,CAAA;EACAC,IAAI,GAAGtD,WAAW,CAACsD,IAAnB,CAAA;AACA,EAAA,IAAaE,QAAb,GAAuCxD,WAAvC,CAAM3B,KAAN;AAAA,MAAuB6E,WAAvB,GAAuClD,WAAvC,CAAuBkD,WAAvB,CAAA;AACA,EAAA,IAAQO,aAAR,GAAkDzD,WAAlD,CAAQyD,aAAR;AAAA,MAAuBtE,IAAvB,GAAkDa,WAAlD,CAAuBb,IAAvB;MAAkDa,qBAAAA,GAAAA,WAAlD,CAA6B0D,SAA7B;MAA6BA,SAA7B,sCAAyC,IAAzC,GAAA,qBAAA,CAAA;EACA,IAAMC,UAAU,GAAGH,QAAQ,CAAC1C,KAAT,CAAehE,GAAf,CAAnB,CAXgD;;AAahD,EAAA,IAAI4B,QAAQ,CAACwE,WAAD,CAAZ,EAA2B;AACzBA,IAAAA,WAAW,GAAGH,aAAa,CAACG,WAAD,CAA3B,CAAA;AACD,GAf+C;;;EAiBhDA,WAAW,GAAGhF,IAAI,CAACgF,WAAW,GAAGA,WAAH,GAAiBS,UAAU,CAAC,CAAD,CAAvC,CAAlB,CAAA;EACAH,QAAQ,GAAGtF,IAAI,CAACyF,UAAU,CAAC,CAAD,CAAX,CAAf,CAlBgD;;AAoBhD,EAAA,IAAIF,aAAJ,EAAmB;AACjBP,IAAAA,WAAW,GAAGD,YAAY,CAACZ,KAAb,CAAmB,IAAnB,EAAyB,CAACa,WAAD,EAAc3C,WAAd,CAAzB,CAAd,CAAA;AACD,GAAA;;AACD,EAAA,IAAInC,YAAY,CAACoF,QAAD,CAAhB,EAA4B;IAC1B,IAAMI,eAAe,GAAGJ,QAAxB,CAAA;;AACA,IAAA,IAAIjD,WAAJ,EAAiB;AACfiD,MAAAA,QAAQ,GAAQA,IAAAA,CAAAA,MAAAA,CAAAA,QAAR,CAAR,CADe;;AAGf,MAAA,IAAID,YAAJ,EAAkB;AAChBC,QAAAA,QAAQ,aAAMA,QAAQ,CAAC5C,SAAT,CAAmB,CAAnB,CAAN,CAAR,CAAA;AACD,OAAA;AACF,KARyB;;;IAU1B4C,QAAQ,GAAA,EAAA,CAAA,MAAA,CAAMA,QAAN,CAAA,CAAA,MAAA,CAAiBN,WAAW,GAAA,EAAA,CAAA,MAAA,CAAMpG,GAAG,GAAGoG,WAAZ,CAA4BnG,GAAAA,KAAxD,CAAR,CAAA;AACAsD,IAAAA,OAAO,CAACgD,OAAO,GAAG7F,OAAH,GAAaD,IAArB,CAAP,CAAkC;AAAE4B,MAAAA,IAAI,EAAJA,IAAAA;KAApC,EAA4CuE,SAA5C,EAAuDF,QAAvD,CAAA,CAAA;;IACA,IAAIF,IAAI,IAAIM,eAAZ,EAA6B;MAC3B5E,OAAO,CAAC,KAAKmB,MAAL,CAAY4B,OAAb,EAAsBpF,iBAAtB,EAAyC,CAC9C;AACE2D,QAAAA,IAAI,EAAEsD,eADR;AAEEpD,QAAAA,IAAI,EAAED,WAAAA;AAFR,OAD8C,EAK9CvD,OAL8C,EAM9C,IAN8C,CAAzC,CAAP,CAAA;AAQD,KAAA;AACF,GAtBD,MAsBO;AACL,IAAA,MAAM,IAAI6G,SAAJ,CAAcnH,aAAd,CAAN,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,IAAP,CAAA;AACD;;AC7Dc,SAASoH,QAAT,CAAkBC,MAAlB,EAA0B;AAAA,EAAA,IAAA,KAAA,GAAA,IAAA,CAAA;;AACvC,EAAA,IAAA,YAAA,GAA8C,KAAK5D,MAAnD;MAAqBK,IAArB,gBAAQD,WAAR;MAA2BH,QAA3B,gBAA2BA,QAA3B;MAAqC4D,IAArC,gBAAqCA,IAArC,CAAA;AACA,EAAA,IAAM1D,IAAI,GAAGqB,OAAO,CAACnB,IAAD,EAAOJ,QAAP,CAApB,CAAA;AACA,EAAA,OAAO,UAACa,UAAD,EAAA;AAAA,IAAA,OACL,IAAIC,UAAJ,CAAe,UAACC,UAAD,EAAgB;AAC7B,MAAA,IAAMC,IAAI,GAAGH,UAAU,CAACI,SAAX,CAAqBF,UAArB,CAAb,CAAA;;MACA,IAAI,CAAC4C,MAAL,EAAa;AACXA,QAAAA,MAAM,GAAG,IAAT,CAAA;;QACA,IAAIC,IAAI,IAAI1D,IAAZ,EAAkB;AAChBa,UAAAA,UAAU,CAACG,IAAX,CAAgB,IAAIzB,WAAJ,CAAgB,CAAC;AAAES,YAAAA,IAAI,EAAJA,IAAF;AAAQE,YAAAA,IAAI,EAAJA,IAAAA;AAAR,WAAD,EAAiBxD,OAAjB,EAAwB,KAAxB,CAAhB,CAAhB,CAAA,CAAA;AACD,SAAA;AACF,OAAA;;AACD,MAAA,OAAO,YAAM;AACXoE,QAAAA,IAAI,CAACM,WAAL,EAAA,CAAA;OADF,CAAA;AAGD,KAXD,CADK,CAAA;GAAP,CAAA;AAaD;;ICdoBuC;AACnB,EAAA,SAAA,MAAA,CAAY9D,MAAZ,EAAoB;AAAA,IAAA,eAAA,CAAA,IAAA,EAAA,MAAA,CAAA,CAAA;;AAClB,IAAA,IAAA,UAAA,GAAwC1C,SAAS,EAAjD;QAAQ4C,OAAR,cAAQA,OAAR;QAAiBD,QAAjB,cAAiBA,QAAjB;QAA2B8D,QAA3B,cAA2BA,QAA3B,CAAA;;AACA,IAAA,IAAI,CAAC7D,OAAO,CAAC9C,IAAD,CAAZ,EAAoB;AAClB,MAAA,MAAM,IAAI4G,KAAJ,CAAU1H,mBAAV,CAAN,CAAA;AACD,KAAA;;AACD,IAAA,IAAA,CAAK0D,MAAL,GAAc9D,MAAM,CAAC+H,MAAP,CACZhI,MAAM,CACJ;AACE4H,MAAAA,IAAI,EAAE,IADR;AACc;AACZzD,MAAAA,WAAW,EAAE,KAFf;AAEsB;AACpBgD,MAAAA,YAAY,EAAE,KAHhB;AAGuB;MACrBxB,OAAO,EAAEmC,QAAQ,CAACG,IAJpB;AAI0B;AACxBjE,MAAAA,QAAQ,EAARA,QALF;AAKY;MACVC,OAAO,EAAPA,OANF;;AAAA,KADI,EASJF,MAAM,IAAI,EATN,CADM,CAAd,CAAA;IAaA,IAAKmE,CAAAA,SAAL,GAAiB,EAAjB,CAAA;IACAzC,gBAAgB,CAAC,IAAD,CAAhB,CAAA;AACD,GAAA;;;;WACD,SAAa,IAAA,GAAA;AAAA,MAAA,IAAA,eAAA,CAAA;;AAAA,MAAA,KAAA,IAAA,IAAA,GAAA,SAAA,CAAA,MAAA,EAAL0C,GAAK,GAAA,IAAA,KAAA,CAAA,IAAA,CAAA,EAAA,IAAA,GAAA,CAAA,EAAA,IAAA,GAAA,IAAA,EAAA,IAAA,EAAA,EAAA;QAALA,GAAK,CAAA,IAAA,CAAA,GAAA,SAAA,CAAA,IAAA,CAAA,CAAA;AAAA,OAAA;;AACX,MAAA,OAAO,CAAKpC,eAAAA,GAAAA,IAAAA,CAAAA,SAAL,EAAeC,IAAf,CAAoB0B,KAAAA,CAAAA,eAAAA,EAAAA,CAAAA,QAAQ,CAACzB,KAAT,CAAe,IAAf,CAApB,CAAA,CAAA,MAAA,CAA6CkC,GAA7C,CAAP,CAAA,CAAA;AACD,KAAA;;;WACD,SAAkB,SAAA,GAAA;AAAA,MAAA,IAAA,UAAA,CAAA;;AAChB,MAAA,OAAO,CAAKnC,UAAAA,GAAAA,IAAAA,CAAAA,IAAL,EAAYf,EAAAA,SAAZ,CAAP,KAAA,CAAA,UAAA,EAAA,SAAA,CAAA,CAAA;AACD,KAAA;;;WACD,SAAciB,KAAA,GAAA;AAAA,MAAA,KAAA,IAAA,KAAA,GAAA,SAAA,CAAA,MAAA,EAAPkC,KAAO,GAAA,IAAA,KAAA,CAAA,KAAA,CAAA,EAAA,KAAA,GAAA,CAAA,EAAA,KAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA;QAAPA,KAAO,CAAA,KAAA,CAAA,GAAA,SAAA,CAAA,KAAA,CAAA,CAAA;AAAA,OAAA;;AACZ,MAAA,OAAOlC,GAAG,CAACD,KAAJ,CAAU,IAAV,EAAgBmC,KAAhB,CAAP,CAAA;AACD,KAAA;;;AACD,IAAA,KAAA,EAAA,SAAA,OAAA,CAAQ/F,QAAR,EAAkB;AAChB,MAAA,IAAItB,SAAOsB,CAAAA,QAAP,CAAoBpB,KAAAA,WAAxB,EAAqC;QACnCoB,QAAQ,EAAA,CAAA;AACT,OAAA;;AACD,MAAA,IAAA,CAAKuD,oBAAL,CAA0BN,WAA1B,EAAA,CAJgB;;AAKhB,MAAA,IAAA,CAAK4C,SAAL,CAAe1F,MAAf,GAAwB,CAAxB,CAAA;AACD,KAAA;;;;;;ACzCH;AACA;AACA;AACA;AACA;AACA;AACA;;AACO,SAAS6F,aAAT,CAAuBC,IAAvB,EAA6BpE,IAA7B,EAAmC;EACxC,IAAMqE,MAAM,GAAG,EAAf,CAAA;;AACA,EAAA,IAAIpI,gBAAgB,CAAC+B,IAAjB,CAAsBoG,IAAtB,CAAJ,EAAiC;AAC/B,IAAA,IAAME,SAAS,GAAG,IAAIC,MAAJ,CAChBH,IAAI,CAACrB,OAAL,CAAa,KAAb,EAAoB,KAApB,EAA2BA,OAA3B,CAAmC,WAAnC,EAAgD,WAAhD,CADgB,CAAlB,CAAA;IAGA9G,gBAAgB,CAACuI,SAAjB,GAA6B,CAA7B,CAAA;;AACA,IAAA,IAAIF,SAAS,CAACtG,IAAV,CAAegC,IAAf,CAAJ,EAA0B;AACxB,MAAA,IAAMrC,IAAI,GAAGH,KAAK,CAACsB,IAAN,CAAWsF,IAAI,CAACK,KAAL,CAAWxI,gBAAX,CAAX,CAAA,CAAyCyI,GAAzC,CAA6C,UAACnG,GAAD,EAAA;AAAA,QAAA,OACxDA,GAAG,CAACwE,OAAJ,CAAY,GAAZ,EAAiBtG,KAAjB,CADwD,CAAA;AAAA,OAA7C,CAAb,CAAA;AAGA,MAAA,IAAMkI,MAAM,GAAGnH,KAAK,CAACsB,IAAN,CAAWkB,IAAI,CAACyE,KAAL,CAAWH,SAAX,CAAX,CAAf,CAAA;AACAK,MAAAA,MAAM,CAACC,KAAP,EAAA,CAAA;AACA3G,MAAAA,IAAI,CAACN,IAAD,EAAO,UAACY,GAAD,EAAMsG,KAAN,EAAgB;AACzBR,QAAAA,MAAM,CAAC9F,GAAD,CAAN,GAAcoG,MAAM,CAACE,KAAD,CAApB,CAAA;AACD,OAFG,CAAJ,CAAA;AAGD,KAAA;AACF,GAAA;;AACD,EAAA,OAAOR,MAAP,CAAA;AACD;;AChBD;AACA;AACA;AACA;AACA;AACA;;AACO,SAAStG,KAAT,CAAemF,QAAf,EAAyBtD,cAAzB,EAAyCkF,UAAzC,EAAqD;AAC1D,EAAA,IAAIjI,SAAO+C,CAAAA,cAAP,CAA0BhD,KAAAA,WAA9B,EAA2C;AACzCkI,IAAAA,UAAU,GAAGlF,cAAb,CAAA;AACAA,IAAAA,cAAc,GAAGlD,OAAjB,CAAA;AACD,GAAA;;AACDwG,EAAAA,QAAQ,GAAGtF,IAAI,CAACsF,QAAD,CAAf,CAAA;;EACA,IAAItD,cAAc,YAAY+D,MAA9B,EAAsC;AACpC,IAAA,IAAMoB,KAAK,GAAGnF,cAAc,CAACoE,SAA7B,CAAA;;IACA,IAAIe,KAAK,CAACC,OAAN,CAAc9B,QAAd,CAA4B,KAAA,CAAC,CAAjC,EAAoC;MAClC6B,KAAK,CAACvC,IAAN,CAAWU,QAAX,CAAA,CAAA;AACD,KAAA;AACF,GAAA;;AACD,EAAA,OAAO,UAACvC,UAAD,EAAA;AAAA,IAAA,OACL,IAAIC,UAAJ,CAAe,UAACC,UAAD,EAAgB;AAC7B,MAAA,IAAMC,IAAI,GAAGH,UAAU,CAACI,SAAX,CAAqB;QAChCC,IADgC,EAAA,SAAA,IAAA,CAC3BC,KAD2B,EACpB;AACV,UAAA,IAAIgE,aAAa,GAAGhE,KAAK,CAAClD,KAA1B,CAAA;;AACA,UAAA,IAAID,YAAY,CAACoF,QAAD,CAAhB,EAA4B;AAC1B,YAAA,IAAI4B,UAAJ,EAAgB;AACd5B,cAAAA,QAAQ,GAAGA,QAAQ,CAACgC,WAAT,EAAX,CAAA;AACAD,cAAAA,aAAa,GAAGA,aAAa,CAACC,WAAd,EAAhB,CAAA;AACD,aAAA;;AACD,YAAA,IAAMb,MAAM,GAAGF,aAAa,CAACjB,QAAD,EAAW+B,aAAX,CAA5B,CAAA;AACA,YAAA,IAAME,YAAY,GAAGzH,KAAK,CAAC2G,MAAD,CAAL,CAAc/F,MAAnC,CAAA;;AACA,YAAA,IAAI2G,aAAa,KAAK/B,QAAlB,IAA8BiC,YAAY,GAAG,CAAjD,EAAoD;cAClD,IAAIA,YAAY,GAAG,CAAnB,EAAsB;gBACpBlE,KAAK,CAACoD,MAAN,GAAeA,MAAf,CAAA;AACD,eAAA;;cACDxD,UAAU,CAACG,IAAX,CAAgBC,KAAhB,CAAA,CAAA;AACD,aAAA;AACF,WAbD,MAaO;AACLJ,YAAAA,UAAU,CAACK,KAAX,CAAiB,IAAI2C,KAAJ,CAAUzH,aAAV,CAAjB,CAAA,CAAA;AACD,WAAA;SAlB6B;QAoBhC8E,KAAK,EAAEL,UAAU,CAACK,KApBc;QAqBhCC,QAAQ,EAAEN,UAAU,CAACM,QAAAA;AArBW,OAArB,CAAb,CAAA;AAuBA,MAAA,OAAO,YAAM;QACX,IAAIvB,cAAc,YAAY+D,MAA9B,EAAsC;AACpC,UAAA,IAAMoB,MAAK,GAAGnF,cAAc,CAACoE,SAA7B,CAAA;;AACA,UAAA,IAAMoB,kBAAkB,GAAGL,MAAK,CAACC,OAAN,CAAc9B,QAAd,CAA3B,CAAA;;AACA,UAAA,IAAIkC,kBAAkB,GAAG,CAAC,CAA1B,EAA6B;AAC3BL,YAAAA,MAAK,CAACM,MAAN,CAAaD,kBAAb,EAAiC,CAAjC,CAAA,CAAA;AACD,WAAA;AACF,SAAA;;AACDtE,QAAAA,IAAI,CAACM,WAAL,EAAA,CAAA;OARF,CAAA;AAUD,KAlCD,CADK,CAAA;GAAP,CAAA;AAoCD,CAAA;AAED;AACA;AACA;AACA;;AACO,SAAS0B,OAAT,CAAiBwC,MAAjB,EAAyB;AAC9B,EAAA,OAAO,UAAC3E,UAAD,EAAA;AAAA,IAAA,OACL,IAAIC,UAAJ,CAAe,UAACC,UAAD,EAAgB;AAC7B,MAAA,IAAMC,IAAI,GAAGH,UAAU,CAACI,SAAX,CAAqB;QAChCC,IADgC,EAAA,SAAA,IAAA,CAC3BC,KAD2B,EACpB;UACV,IAAI;YACFA,KAAK,CAACZ,MAAN,GAAekF,GAAY,CAACtE,KAAK,CAACZ,MAAP,EAAeiF,MAAf,CAA3B,CAAA;YACArE,KAAK,CAACV,UAAN,GAAmBgF,GAAY,CAACtE,KAAK,CAACV,UAAP,EAAmB+E,MAAnB,CAA/B,CAAA;YACAzE,UAAU,CAACG,IAAX,CAAgBC,KAAhB,CAAA,CAAA;WAHF,CAIE,OAAOW,CAAP,EAAU;YACVf,UAAU,CAACK,KAAX,CAAiBU,CAAjB,CAAA,CAAA;AACD,WAAA;SAR6B;QAUhCV,KAAK,EAAEL,UAAU,CAACK,KAVc;QAWhCC,QAAQ,EAAEN,UAAU,CAACM,QAAAA;AAXW,OAArB,CAAb,CAAA;AAaA,MAAA,OAAO,YAAM;AACXL,QAAAA,IAAI,CAACM,WAAL,EAAA,CAAA;OADF,CAAA;AAGD,KAjBD,CADK,CAAA;GAAP,CAAA;AAmBD,CAAA;AAED;AACA;AACA;AACA;;AACO,SAASoE,OAAT,CAAiB5F,cAAjB,EAAiC;AACtC,EAAA,OAAO,UAACe,UAAD,EAAA;AAAA,IAAA,OACL,IAAIC,UAAJ,CAAe,UAACC,UAAD,EAAgB;AAC7B,MAAA,IAAMC,IAAI,GAAGH,UAAU,CAACI,SAAX,CAAqB;QAChCC,IADgC,EAAA,SAAA,IAAA,CAC3BC,KAD2B,EACpB;UACV,IAAIrB,cAAc,YAAY+D,MAA9B,EAAsC;AACpC,YAAA,IAAMoB,KAAK,GAAGnF,cAAc,CAACoE,SAA7B,CAAA;;AACA,YAAA,IAAIe,KAAK,CAACzG,MAAN,GAAe,CAAnB,EAAsB;AACpB,cAAA,IAAMmH,YAAY,GAAGxE,KAAK,CAAClD,KAA3B,CAAA;cACA,IAAI0G,KAAK,GAAG,KAAZ,CAAA;AACAxG,cAAAA,IAAI,CAAC8G,KAAD,EAAQ,UAAC/E,IAAD,EAAU;AACpB,gBAAA,IACEA,IAAI,KAAKyF,YAAT,IACA/H,KAAK,CAACyG,aAAa,CAACnE,IAAD,EAAOyF,YAAP,CAAd,CAAL,CAAyCnH,MAF3C,EAGE;AACA,kBAAA,OAAO,EAAEmG,KAAK,GAAG,IAAV,CAAP,CAAA;AACD,iBAAA;AACF,eAPG,CAAJ,CAAA;;cAQA,IAAI,CAACA,KAAL,EAAY;gBACVxD,KAAK,CAACuE,OAAN,GAAgB,IAAhB,CAAA;gBACA3E,UAAU,CAACG,IAAX,CAAgBC,KAAhB,CAAA,CAAA;AACD,eAAA;AACF,aAAA;AACF,WAAA;SApB6B;QAsBhCC,KAAK,EAAEL,UAAU,CAACK,KAtBc;QAuBhCC,QAAQ,EAAEN,UAAU,CAACM,QAAAA;AAvBW,OAArB,CAAb,CAAA;AAyBA,MAAA,OAAO,YAAM;AACXL,QAAAA,IAAI,CAACM,WAAL,EAAA,CAAA;OADF,CAAA;AAGD,KA7BD,CADK,CAAA;GAAP,CAAA;AA+BD,CAAA;;AAED,SAASsE,cAAT,CAAwBC,KAAxB,EAA+BC,MAA/B,EAAuCC,MAAvC,EAA+C;EAC7C5H,IAAI,CAACP,KAAK,CAACiI,KAAD,CAAN,EAAe,UAACpH,GAAD,EAAS;AAC1B,IAAA,IAAIH,QAAQ,CAACuH,KAAK,CAACpH,GAAD,CAAN,CAAR,IAAwBH,QAAQ,CAACwH,MAAM,CAACrH,GAAD,CAAP,CAApC,EAAmD;AACjDmH,MAAAA,cAAc,CAACC,KAAK,CAACpH,GAAD,CAAN,EAAaqH,MAAM,CAACrH,GAAD,CAAnB,EAA0BsH,MAA1B,CAAd,CAAA;AACD,KAFD,MAEO;MACLA,MAAM,CAAA,OAAA,CAAN,GAAeF,KAAK,CAACpH,GAAD,CAAL,KAAeqH,MAAM,CAACrH,GAAD,CAApC,CAAA;AACD,KAAA;AACF,GANG,CAAJ,CAAA;AAOD,CAAA;AAED;AACA;AACA;AACA;AACA;;;AACO,SAASuH,KAAT,GAA2C;EAAA,IAA5BnI,IAA4B,uEAArBrB,aAAqB,CAAA;AAAA,EAAA,IAANyJ,IAAM,GAAA,SAAA,CAAA,MAAA,GAAA,CAAA,GAAA,SAAA,CAAA,CAAA,CAAA,GAAA,SAAA,CAAA;EAChD,IAAID,KAAK,GAAG,EAAZ,CAAA;;AACA,EAAA,IAAIjJ,SAAOc,CAAAA,IAAP,CAAgBf,KAAAA,WAApB,EAAiC;AAC/BmJ,IAAAA,IAAI,GAAGpI,IAAP,CAAA;AACAA,IAAAA,IAAI,GAAGrB,aAAP,CAAA;AACD,GAAA;;AACD,EAAA,OAAO,UAACqE,UAAD,EAAA;AAAA,IAAA,OACL,IAAIC,UAAJ,CAAe,UAACC,UAAD,EAAgB;AAC7B,MAAA,IAAMC,IAAI,GAAGH,UAAU,CAACI,SAAX,CAAqB;QAChCC,IADgC,EAAA,SAAA,IAAA,CAC3BC,KAD2B,EACpB;AACVhD,UAAAA,IAAI,CAACN,IAAD,EAAO,UAACY,GAAD,EAAS;AAClB,YAAA,IAAIwH,IAAI,IAAI3H,QAAQ,CAAC6C,KAAK,CAAC1C,GAAD,CAAN,CAAhB,IAAgCH,QAAQ,CAAC0H,KAAK,CAACvH,GAAD,CAAN,CAA5C,EAA0D;cACxD,IAAMsH,MAAM,GAAG,EAAf,CAAA;AACAH,cAAAA,cAAc,CAACzE,KAAK,CAAC1C,GAAD,CAAN,EAAauH,KAAK,CAACvH,GAAD,CAAlB,EAAyBsH,MAAzB,CAAd,CAAA;;cACA,IAAIA,MAAM,SAAV,EAAkB;AAChB/J,gBAAAA,MAAM,CAACgK,KAAD,EAAQ7E,KAAR,CAAN,CAAA;gBACAJ,UAAU,CAACG,IAAX,CAAgBC,KAAhB,CAAA,CAAA;AACA,gBAAA,OAAO,KAAP,CAAA;AACD,eAAA;aAPH,MAQO,IAAIA,KAAK,CAAC1C,GAAD,CAAL,KAAeuH,KAAK,CAACvH,GAAD,CAAxB,EAA+B;AACpCzC,cAAAA,MAAM,CAACgK,KAAD,EAAQ7E,KAAR,CAAN,CAAA;cACAJ,UAAU,CAACG,IAAX,CAAgBC,KAAhB,CAAA,CAAA;cACA,OAAO,KAAP,CAHoC;AAIrC,aAAA;AACF,WAdG,CAAJ,CAAA;SAF8B;QAkBhCC,KAAK,EAAEL,UAAU,CAACK,KAlBc;QAmBhCC,QAAQ,EAAEN,UAAU,CAACM,QAAAA;AAnBW,OAArB,CAAb,CAAA;AAqBA,MAAA,OAAO,YAAM;AACXL,QAAAA,IAAI,CAACM,WAAL,EAAA,CAAA;AACA0E,QAAAA,KAAK,GAAG,EAAR,CAAA;OAFF,CAAA;AAID,KA1BD,CADK,CAAA;GAAP,CAAA;AA4BD;;;;;;;;;;;;"} \ No newline at end of file +{"version":3,"file":"silkrouter.esm.js","sources":["../../src/js/utils/assign.js","../../src/js/utils/constants.js","../../src/js/utils/getGlobal.js","../../node_modules/deparam.js/dist/esm/deparam.esm.js","../../src/js/utils/utils.js","../../src/js/utils/triggerEvent.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/utils/getPath.js","../../src/js/api/bindRouterEvents/index.js","../../src/js/utils/query.js","../../src/js/api/resolveQuery/index.js","../../src/js/api/set/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/index.js","../../src/js/utils/params.js","../../src/js/operators/index.js"],"sourcesContent":["/**\n * Function to extend an object with new and updated properties\n * @private\n * @returns {object}\n */\nexport function assign(...args) {\n return Object.assign(...args);\n}\n","/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const REG_COMPLEX = /\\[/;\nexport const REG_VARIABLE = /([^[]+)\\[([^[]*)\\]/;\nexport const REG_REPLACE_BRACKETS = /\\[([^[]*)\\]/;\nexport const REG_REPLACE_NEXTPROP = /[^[]+/;\nexport const HISTORY_UNSUPPORTED = 'History unsupported!';\nexport const INVALID_ROUTE = 'Route string is not a pure route';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const CACHED_FIELDS = [\n 'route',\n 'hashRouting',\n 'path',\n 'hash',\n 'search',\n 'hashSearch',\n 'data',\n];\nexport const AMP = '&';\nexport const QRY = '?';\nexport const EQ = '=';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_OBJ = typeof {};\nexport const TYPEOF_NUM = typeof 0;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { TYPEOF_UNDEF } from './constants';\n\nexport function getGlobal() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n}\n","/*!\n * Deparam plugin converts query string to a valid JavaScript object\n * Released under MIT license\n * @name Deparam.js\n * @author Sachin Singh \n * @version 3.0.6\n * @license MIT\n */\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n/*!\n * is-number \n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nvar isNumber = function(num) {\n if (typeof num === 'number') {\n return num - num === 0;\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);\n }\n return false;\n};\n\nvar isObject = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n\nvar UNDEF = void 0; // Results to undefined\n// Typeof undefined\n\nvar TYPEOF_UNDEF = _typeof(UNDEF); // Typeof string\n\n\nvar TYPEOF_STR = _typeof(\"\"); // location var\n\n\nvar loc = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== TYPEOF_UNDEF ? window.location : null; // Shorthand for built-ins\n\nvar isArr = Array.isArray;\n/**\n * Checks if current key is safe\n * @param {string} key Current key\n * @returns {boolean}\n */\n\nfunction isSafe(key) {\n return [\"__proto__\", \"prototype\"].indexOf(key) === -1;\n}\n/**\n * Shorthand for Object.prototype.hasOwnProperty\n * @param {any} obj Any object\n * @param {string} key key\n * @returns {boolean} true or false if object has the property\n */\n\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n * Returns true of input query string is complex\n * @param {string} q Query string\n * @returns {boolean} true or false\n */\n\n\nfunction ifComplex(q) {\n return /\\[/.test(q);\n}\n/**\n * Returns an object without a prototype\n * @returns {{[key in string|number]: any}} Object without __proto__\n */\n\n\nfunction obNull() {\n return Object.create(null);\n}\n/**\n * Returns a parsed query object\n * @param {string} qs Query string\n * @param {boolean} coerce Coerce values\n * @returns {{[key in string|number]: any}} Query object\n */\n\n\nfunction lib(qs, coerce) {\n var _this = this;\n\n if (_typeof(qs) !== TYPEOF_STR) {\n qs = loc ? loc.search : \"\";\n }\n\n qs = qs.substring(qs.charAt(0) === \"?\");\n var queryObject = obNull();\n\n if (qs) {\n qs.split(\"&\").forEach(function (qq) {\n var qArr = qq.split(\"=\").map(function (part) {\n return decodeURIComponent(part);\n });\n\n if (ifComplex(qArr[0])) {\n complex.apply(_this, [].concat(qArr).concat([queryObject, coerce]));\n } else {\n simple.apply(_this, [qArr, queryObject, false, coerce]);\n }\n });\n }\n\n return queryObject;\n}\n/**\n * Converts an array to equivalent object\n * @param {any[]} arr Any array\n * @returns {any} Any object\n */\n\n\nfunction toObject(arr) {\n var convertedObj = obNull();\n\n if (isArr(arr)) {\n arr.forEach(function (value, index) {\n convertedObj[index] = value;\n });\n }\n\n return convertedObj;\n}\n/**\n * Converts array to an object if required\n * @param {any} ob Any object\n * @param {booleab} isNextNumber Test for next key\n * @returns {any} Any object\n */\n\n\nfunction resolve(ob, isNextNumber) {\n if (_typeof(ob) === TYPEOF_UNDEF) return isNextNumber ? [] : obNull();\n return isNextNumber ? ob : toObject(ob);\n}\n/**\n * Resolves the target object for next iteration\n * @param {any} ob current reference object\n * @param {string} nextProp reference property in current object\n * @returns {any} Resolved object for next iteration\n */\n\n\nfunction resolveObj(ob, nextProp) {\n if (isObject(ob) && !isArr(ob)) return {\n ob: ob\n };\n if (isArr(ob) || _typeof(ob) === TYPEOF_UNDEF) return {\n ob: resolve(ob, isNumber(nextProp))\n };\n return {\n ob: [ob],\n push: ob !== null\n };\n}\n/**\n * Handles complex query parameters\n * @param {string} key Query key\n * @param {string} value Query value\n * @param {Object} obj Query object\n * @returns {void}\n */\n\n\nfunction complex(key, value, obj, doCoerce) {\n var match = key.match(/([^\\[]+)\\[([^\\[]*)\\]/) || [];\n\n if (match.length === 3) {\n var prop = match[1];\n var nextProp = match[2];\n key = key.replace(/\\[([^\\[]*)\\]/, \"\");\n\n if (ifComplex(key)) {\n if (nextProp === \"\") nextProp = \"0\";\n key = key.replace(/[^\\[]+/, nextProp);\n complex(key, value, obj[prop] = resolveObj(obj[prop], nextProp).ob, doCoerce);\n } else if (nextProp) {\n if (isSafe(prop) && isSafe(nextProp)) {\n var _resolveObj = resolveObj(obj[prop], nextProp),\n ob = _resolveObj.ob,\n push = _resolveObj.push;\n\n obj[prop] = ob;\n var nextOb = push ? obNull() : obj[prop];\n nextOb[nextProp] = coerce(value, !doCoerce);\n\n if (push) {\n obj[prop].push(nextOb);\n }\n }\n } else {\n simple([match[1], value], obj, true, doCoerce);\n }\n }\n}\n/**\n * Handles simple query\n * @param {array} qArr Query list\n * @param {Object} queryObject Query object\n * @param {boolean} toArray Test for conversion to array\n * @returns {void}\n */\n\n\nfunction simple(qArr, queryObject, toArray, doCoerce) {\n var key = qArr[0];\n var value = qArr[1];\n\n if (isSafe(key)) {\n value = coerce(value, !doCoerce);\n\n if (hasOwn(queryObject, key)) {\n queryObject[key] = isArr(queryObject[key]) ? queryObject[key] : [queryObject[key]];\n queryObject[key].push(value);\n } else {\n queryObject[key] = toArray ? [value] : value;\n }\n }\n}\n/**\n * Converts input value to their appropriate types\n * @param {any} value Input value\n * @param {boolean} skip Test for skipping coercion\n * @returns {any} Coerced value\n */\n\n\nfunction coerce(value, skip) {\n // eslint-disable-next-line\n if (value == null) {\n return \"\";\n }\n\n if (skip || _typeof(value) !== TYPEOF_STR) {\n return value;\n }\n\n value = value.trim();\n\n if (isNumber(value)) {\n return +value;\n }\n\n switch (value) {\n case \"null\":\n return null;\n\n case TYPEOF_UNDEF:\n return UNDEF;\n\n case \"true\":\n return true;\n\n case \"false\":\n return false;\n\n case \"NaN\":\n return NaN;\n\n default:\n return value;\n }\n}\n\nexport { lib as default, isNumber, isObject };\n//# sourceMappingURL=deparam.esm.js.map\n","import { isNumber, isObject } from 'deparam.js';\nimport { EMPTY, REG_PATHNAME, TYPEOF_BOOL, TYPEOF_STR } from './constants';\n\n/**\n * Shorthand for Array.isArray\n */\nexport const isArr = Array.isArray;\n\n/**\n * Shorthand for Object.keys\n */\nexport const oKeys = Object.keys;\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n\n/**\n * Checks if key is present in provided object\n * @param {object} ob Object\n * @param {*} key Key\n */\nexport function hasOwn(ob, key) {\n return Object.prototype.hasOwnProperty.call(ob, key);\n}\n\n/**\n * Loops over an array like object\n * @param {object} arrayObj Array or array like object\n * @param {function} callback Callback function\n */\nexport function each(arrayObj, callback) {\n if (isObject(arrayObj)) {\n const keys = oKeys(arrayObj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const cont = callback(arrayObj[key], isNumber(key) ? +key : key);\n if (typeof cont === TYPEOF_BOOL) {\n if (!cont) {\n break;\n }\n }\n }\n }\n}\n","import { TYPEOF_STR } from './constants';\nimport { getGlobal } from './getGlobal';\nimport { each } from './utils';\n\n/**\n * Function to trigger custom event\n * @param {Node|NodeList|HTMLCollection|Node[]} target Target element or list\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(target, eventType, data) {\n target = Array.from(target instanceof Node ? [target] : target);\n if (target.length && typeof eventType === TYPEOF_STR) {\n each(target, (el) => {\n const win = getGlobal();\n const customEvent = new win.CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n });\n el.dispatchEvent(customEvent);\n });\n }\n}\n","import { QRY } from '../../utils/constants';\nimport { trim } from '../../utils/utils';\nexport default class RouterEvent {\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const routeObject = routeInfo[0];\n const originalEvent = routeInfo[1];\n const routerInstance = routeInfo[2];\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.hashRouting = routeObject.hash;\n this.routerInstance = routerInstance;\n this.virtualEvent = currentEvent || {};\n this.originalEvent = originalEvent || {};\n this.path = trim(location.pathname);\n this.hash = location.hash;\n this.search = trim(location.search.substring(1));\n this.hashSearch = trim(location.hash && location.hash.split(QRY)[1]);\n const { state } = this.originalEvent;\n this.data = (state && state.data) || (history.state && history.state.data);\n }\n}\n","import { Observable } from 'rxjs';\nimport RouterEvent from '../routerEvent';\n\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const routerInstance = event.detail[2];\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { QRY } from './constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { fromEvent } from 'rxjs';\nimport { POP_STATE, VIRTUAL_PUSHSTATE } from '../../utils/constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport { getGlobal } from '../../utils/getGlobal';\nimport { getPath } from '../../utils/getPath';\n\nexport default function bindRouterEvents(inst) {\n const { context, location, hashRouting: hash } = inst.config;\n inst.popStateSubscription = fromEvent(getGlobal(), POP_STATE).subscribe(\n (e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, inst]);\n }\n }\n );\n inst.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(inst)\n );\n if (hash && !location.hash) {\n inst.set('/', true, false); // Replace current hash path without executing anythings\n }\n}\n","import { isObject } from 'deparam.js';\nimport { AMP, EMPTY, TYPEOF_FUNC, TYPEOF_STR } from './constants';\nimport { each, isArr } from './utils';\n\nexport const encode = encodeURIComponent;\n\n/**\n * Builds query string recursively\n * @private\n * @param {string[]} qsList List of query string key value pairs\n * @param {*} key Key\n * @param {*} obj Value\n */\nfunction buildQuery(qsList, key, obj) {\n if (isObject(obj)) {\n each(obj, (prop, obKey) => {\n buildQuery(qsList, `${key}[${isArr(obj) ? EMPTY : obKey}]`, prop);\n });\n } else if (typeof obj !== TYPEOF_FUNC) {\n qsList.push(`${encode(key)}=${encode(obj)}`);\n }\n}\n\n/**\n * Converts an object to a query string\n * @private\n * @param {object} obj Object which should be converted to a string\n * @returns {string}\n */\nexport function toQueryString(obj) {\n let qsList = [];\n if (isObject(obj)) {\n each(obj, (prop, key) => {\n buildQuery(qsList, key, prop);\n });\n return qsList.join(AMP);\n }\n return typeof obj === TYPEOF_STR ? obj : EMPTY;\n}\n","import deparam from 'deparam.js';\nimport { trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport { assign } from '../../utils/assign';\nimport { QRY } from '../../utils/constants';\n\n/**\n * Resolves and analyzes existing query string\n * @private\n * @param {string} queryString Query string\n * @param {string} hashRouting Flag to test if hash routing is enabled\n */\nexport default function resolveQuery(queryString, hashRouting) {\n const { location } = this.config;\n const search = trim(location.search && location.search.substring(1));\n const existingQuery = trim(\n hashRouting ? location.hash.split(QRY)[1] : search\n );\n if (!existingQuery) {\n return queryString;\n }\n return toQueryString(\n assign(deparam(search), deparam(existingQuery), deparam(queryString))\n );\n}\n","import { isObject } from 'deparam.js';\nimport { trigger } from '../../utils/triggerEvent';\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n TYPEOF_STR,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n TYPEOF_BOOL,\n} from '../../utils/constants';\nimport { isValidRoute, trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport resolveQuery from '../resolveQuery';\nimport { assign } from '../../utils/assign';\n\nexport default function set(route, replace, doExec) {\n let exec = true;\n if (typeof doExec === TYPEOF_BOOL) {\n exec = doExec;\n }\n const { preservePath, hashRouting, history } = this.config;\n const routeObject = assign(\n { replace, exec },\n typeof route === TYPEOF_STR ? { route } : route\n );\n replace = routeObject.replace;\n exec = routeObject.exec;\n let { route: routeStr, queryString } = routeObject;\n const { preserveQuery, data, pageTitle = null } = routeObject;\n const routeParts = routeStr.split(QRY);\n // Check if query string is an object\n if (isObject(queryString)) {\n queryString = toQueryString(queryString);\n }\n // Resolve to URL query string if it's not explicitly passed\n queryString = trim(queryString ? queryString : routeParts[1]);\n routeStr = trim(routeParts[0]);\n // Check if query preservation is required. Resolve query accordingly\n if (preserveQuery) {\n queryString = resolveQuery.apply(this, [queryString, hashRouting]);\n }\n if (isValidRoute(routeStr)) {\n const unmodifiedRoute = routeStr;\n if (hashRouting) {\n routeStr = `/#${routeStr}`;\n // Path preservation should only work for hash routing\n if (preservePath) {\n routeStr = `${routeStr.substring(1)}`;\n }\n }\n // Append query string\n routeStr = `${routeStr}${queryString ? `${QRY + queryString}` : EMPTY}`;\n history[replace ? REPLACE : PUSH]({ data }, pageTitle, routeStr);\n if (exec && unmodifiedRoute) {\n trigger(this.config.context, VIRTUAL_PUSHSTATE, [\n {\n path: unmodifiedRoute,\n hash: hashRouting,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n return this;\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../utils/constants';\nimport { getPath } from '../../utils/getPath';\nimport RouterEvent from '../routerEvent';\n\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { assign } from '../../utils/assign';\nimport bindRouterEvents from '../bindRouterEvents';\nimport set from '../set';\nimport { HISTORY_UNSUPPORTED, PUSH, TYPEOF_FUNC } from '../../utils/constants';\nimport callOnce from '../callOnce';\nimport { getGlobal } from '../../utils/getGlobal';\n\nexport default class Router {\n constructor(config) {\n const { history, location, document } = getGlobal();\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.config = Object.freeze(\n assign(\n {\n init: true, // Initialize as soon as route handler is attached\n hashRouting: false, // Switch to hash routing\n preservePath: false, // Works for hash routing\n context: document.body, // To change the context of \"vpushstate\" event\n location, // Should remain unchanged\n history, // History object\n },\n config || {}\n )\n );\n this.__paths__ = [];\n bindRouterEvents(this);\n }\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n subscribe(...fns) {\n return this.pipe().subscribe(...fns);\n }\n set(...props) {\n return set.apply(this, props);\n }\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n this.__paths__.length = 0;\n }\n}\n","import { EMPTY, REG_ROUTE_PARAMS } from './constants';\nimport { each } from './utils';\n\n/**\n * Parses current path and returns params object\n * @private\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {object}\n */\nexport function extractParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n each(keys, (key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","import { trim, isValidRoute, each, oKeys } from '../utils/utils';\nimport queryDeparam, { isObject } from 'deparam.js';\nimport { Observable } from 'rxjs';\nimport {\n INVALID_ROUTE,\n CACHED_FIELDS,\n UNDEF,\n TYPEOF_BOOL,\n} from '../utils/constants';\nimport { extractParams } from '../utils/params';\nimport Router from '../api/router';\nimport { assign } from '../utils/assign';\n\n/**\n * Operator to compare a specific route\n * @param {string} routeStr Route string\n * @param {Router} routerInstance Current router object [optional]\n * @param {boolean} ignoreCase Ignore case in route string\n */\nexport function route(routeStr, routerInstance, ignoreCase) {\n if (typeof routerInstance === TYPEOF_BOOL) {\n ignoreCase = routerInstance;\n routerInstance = UNDEF;\n }\n routeStr = trim(routeStr);\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.indexOf(routeStr) === -1) {\n paths.push(routeStr);\n }\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n let incomingRoute = event.route;\n if (isValidRoute(routeStr)) {\n if (ignoreCase) {\n routeStr = routeStr.toLowerCase();\n incomingRoute = incomingRoute.toLowerCase();\n }\n const params = extractParams(routeStr, incomingRoute);\n const paramsLength = oKeys(params).length;\n if (incomingRoute === routeStr || paramsLength > 0) {\n if (paramsLength > 0) {\n event.params = params;\n }\n subscriber.next(event);\n }\n } else {\n subscriber.error(new Error(INVALID_ROUTE));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n const existingRouteIndex = paths.indexOf(routeStr);\n if (existingRouteIndex > -1) {\n paths.splice(existingRouteIndex, 1);\n }\n }\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Converts search and hashSearch strings to object\n * @param {boolean} coerce Flag to enable value typecast\n */\nexport function deparam(coerce) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n try {\n event.search = queryDeparam(event.search, coerce);\n event.hashSearch = queryDeparam(event.hashSearch, coerce);\n subscriber.next(event);\n } catch (e) {\n subscriber.error(e);\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Modifies current subscriber to detect errors\n * @param {Router} routerInstance Current router object\n */\nexport function noMatch(routerInstance) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.length > 0) {\n const currentRoute = event.route;\n let match = false;\n each(paths, (path) => {\n if (\n path === currentRoute ||\n oKeys(extractParams(path, currentRoute)).length\n ) {\n return !(match = true);\n }\n });\n if (!match) {\n event.noMatch = true;\n subscriber.next(event);\n }\n }\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\nfunction deepComparison(first, second, result) {\n each(oKeys(first), (key) => {\n if (isObject(first[key]) && isObject(second[key])) {\n deepComparison(first[key], second[key], result);\n } else {\n result.break = first[key] !== second[key];\n }\n });\n}\n\n/**\n * Caches incoming routes to avoid calling handler if there is no change\n * @param {string[]} keys\n * @param {boolean} deep\n */\nexport function cache(keys = CACHED_FIELDS, deep) {\n let cache = {};\n if (typeof keys === TYPEOF_BOOL) {\n deep = keys;\n keys = CACHED_FIELDS;\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n each(keys, (key) => {\n if (deep && isObject(event[key]) && isObject(cache[key])) {\n const result = {};\n deepComparison(event[key], cache[key], result);\n if (result.break) {\n assign(cache, event);\n subscriber.next(event);\n return false;\n }\n } else if (event[key] !== cache[key]) {\n assign(cache, event);\n subscriber.next(event);\n return false; // break loop\n }\n });\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n cache = {};\n };\n });\n}\n"],"names":["assign","Object","POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","CACHED_FIELDS","AMP","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_BOOL","_typeof","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","getGlobal","globalThis","global","self","isArr","Array","isArray","oKeys","keys","trim","str","isValidRoute","route","test","each","arrayObj","callback","isObject","i","length","key","cont","isNumber","trigger","target","eventType","data","from","Node","el","win","customEvent","CustomEvent","bubbles","cancelable","detail","dispatchEvent","RouterEvent","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","config","location","history","path","hashRouting","hash","virtualEvent","pathname","search","substring","hashSearch","split","state","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","getPath","isHash","bindRouterEvents","inst","context","popStateSubscription","fromEvent","e","listeners","pipe","apply","set","encode","encodeURIComponent","buildQuery","qsList","obj","prop","obKey","push","toQueryString","join","resolveQuery","queryString","existingQuery","deparam","replace","doExec","exec","preservePath","routeStr","preserveQuery","pageTitle","routeParts","unmodifiedRoute","TypeError","callOnce","isDone","init","Router","document","Error","freeze","body","__paths__","ops","props","extractParams","expr","params","pathRegex","RegExp","lastIndex","match","map","values","shift","index","ignoreCase","paths","indexOf","incomingRoute","toLowerCase","paramsLength","existingRouteIndex","splice","coerce","queryDeparam","noMatch","currentRoute","deepComparison","first","second","result","cache","deep"],"mappings":"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"} \ No newline at end of file diff --git a/dist/esm/silkrouter.esm.min.js b/dist/esm/silkrouter.esm.min.js index 605bb60..7d3d03b 100644 --- a/dist/esm/silkrouter.esm.min.js +++ b/dist/esm/silkrouter.esm.min.js @@ -1 +1 @@ -import{Observable as t,fromEvent as n}from"rxjs";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function r(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function o(t,n){for(var e=0;e0)&&(a>0&&(e.params=i),t.next(e))}else t.error(new Error("Route string is not a pure route"))},error:t.error,complete:t.complete});return function(){if(r instanceof W){var t=r.__paths__,e=t.indexOf(n);e>-1&&t.splice(e,1)}i.unsubscribe()}}))}},deparam:function(n){return function(e){return new t((function(t){var r=e.subscribe({next:function(e){try{e.search=R(e.search,n),e.hashSearch=R(e.hashSearch,n),t.next(e)}catch(n){t.error(n)}},error:t.error,complete:t.complete});return function(){r.unsubscribe()}}))}},noMatch:function(n){return function(e){return new t((function(t){var r=e.subscribe({next:function(e){if(n instanceof W){var r=n.__paths__;if(r.length>0){var o=e.route,i=!1;L(r,(function(t){if(t===o||I(X(t,o)).length)return!(i=!0)})),i||(e.noMatch=!0,t.next(e))}}},error:t.error,complete:t.complete});return function(){r.unsubscribe()}}))}},cache:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,r=arguments.length>1?arguments[1]:void 0,o={};return e(n)===h&&(r=n,n=s),function(e){return new t((function(t){var i=e.subscribe({next:function(e){L(n,(function(n){if(r&&g(e[n])&&g(o[n])){var i={};if(Y(e[n],o[n],i),i.break)return a(o,e),t.next(e),!1}else if(e[n]!==o[n])return a(o,e),t.next(e),!1}))},error:t.error,complete:t.complete});return function(){i.unsubscribe(),o={}}}))}}});export{W as Router,Z as operators}; +import{Observable as t,fromEvent as n}from"rxjs";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function r(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function o(t,n){for(var e=0;e0)&&(a>0&&(e.params=i),t.next(e))}else t.error(new Error("Route string is not a pure route"))},error:t.error,complete:t.complete});return function(){if(r instanceof W){var t=r.__paths__,e=t.indexOf(n);e>-1&&t.splice(e,1)}i.unsubscribe()}}))}},deparam:function(n){return function(e){return new t((function(t){var r=e.subscribe({next:function(e){try{e.search=R(e.search,n),e.hashSearch=R(e.hashSearch,n),t.next(e)}catch(n){t.error(n)}},error:t.error,complete:t.complete});return function(){r.unsubscribe()}}))}},noMatch:function(n){return function(e){return new t((function(t){var r=e.subscribe({next:function(e){if(n instanceof W){var r=n.__paths__;if(r.length>0){var o=e.route,i=!1;L(r,(function(t){if(t===o||I(X(t,o)).length)return!(i=!0)})),i||(e.noMatch=!0,t.next(e))}}},error:t.error,complete:t.complete});return function(){r.unsubscribe()}}))}},cache:function(){var n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:s,r=arguments.length>1?arguments[1]:void 0,o={};return e(n)===h&&(r=n,n=s),function(e){return new t((function(t){var i=e.subscribe({next:function(e){L(n,(function(n){if(r&&g(e[n])&&g(o[n])){var i={};if(Y(e[n],o[n],i),i.break)return a(o,e),t.next(e),!1}else if(e[n]!==o[n])return a(o,e),t.next(e),!1}))},error:t.error,complete:t.complete});return function(){i.unsubscribe(),o={}}}))}}});export{W as Router,Z as operators}; diff --git a/dist/render/silkrouter.iife.js b/dist/render/silkrouter.iife.js index f98fa36..7287230 100644 --- a/dist/render/silkrouter.iife.js +++ b/dist/render/silkrouter.iife.js @@ -2414,9 +2414,7 @@ var cont = callback(arrayObj[key], isNumber(key) ? +key : key); if (_typeof$1(cont) === TYPEOF_BOOL) { - if (cont) { - continue; - } else { + if (!cont) { break; } } @@ -2436,7 +2434,8 @@ if (target.length && _typeof$1(eventType) === TYPEOF_STR$1) { each(target, function (el) { - var customEvent = new getGlobal().CustomEvent(eventType, { + var win = getGlobal(); + var customEvent = new win.CustomEvent(eventType, { bubbles: true, cancelable: true, detail: data || [] @@ -2568,12 +2567,21 @@ var location = this.config.location; var search = trim(location.search && location.search.substring(1)); var existingQuery = trim(hashRouting ? location.hash.split(QRY)[1] : search); - if (!existingQuery) return queryString; + + if (!existingQuery) { + return queryString; + } + return toQueryString(assign(lib(search), lib(existingQuery), lib(queryString))); } - function set(route, replace, exec) { - exec = exec || true; + function set(route, replace, doExec) { + var exec = true; + + if (_typeof$1(doExec) === TYPEOF_BOOL) { + exec = doExec; + } + var _this$config = this.config, preservePath = _this$config.preservePath, hashRouting = _this$config.hashRouting, @@ -2962,7 +2970,7 @@ }; } - const name="silkrouter";const version="4.2.10";const description="Silk router is an app routing library";const main="dist/umd/silkrouter.min.js";const module="dist/esm/silkrouter.esm.min.js";const types="src/typings/silkrouter.d.ts";const scripts={start:"env-cmd -f ./.env.start rollup -c --watch",dev:"env-cmd -f ./.env.dev rollup -c","dev:serve":"env-cmd -f ./.env.start.prod rollup -c",prod:"env-cmd rollup -c",build:"npm run test && npm run dev && npm run dev:serve && npm run prod",test:"jest tests/*",deploy:"gh-pages -d dist"};const author="scssyworks";const license="MIT";const keywords=["router","routing","single page apps","single page application","SPA","silk","silk router","history","browser","url","hash","hash routing","pushState","popstate","hashchange","observables","observer","subscriber","subscribe","subscription","rxjs","reactivex"];const files=["dist/umd/","dist/esm/","src/typings/"];const repository={type:"git",url:"git+https://github.com/scssyworks/silkrouter.git"};const bugs={url:"https://github.com/scssyworks/silkrouter/issues"};const homepage="https://scssyworks.github.io/silkrouter";const dependencies={"deparam.js":"^3.0.6"};const devDependencies={"@babel/core":"^7.18.9","@babel/eslint-parser":"^7.18.9","@babel/preset-env":"^7.18.9","@rollup/plugin-babel":"^5.3.1","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-eslint":"^8.0.2","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@types/jest":"^28.1.6","env-cmd":"^10.1.0",eslint:"^8.20.0","gh-pages":"^4.0.0",jest:"^28.1.3",rollup:"^2.77.0","rollup-plugin-livereload":"^2.0.5","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2",rxjs:"^7.5.6"};const peerDependencies={rxjs:"^7.5.6"};var pkg = {name:name,version:version,description:description,main:main,module:module,types:types,scripts:scripts,author:author,license:license,keywords:keywords,files:files,repository:repository,bugs:bugs,homepage:homepage,dependencies:dependencies,devDependencies:devDependencies,peerDependencies:peerDependencies}; + const name="silkrouter";const version="4.2.15";const description="Silk router is an app routing library";const main="dist/umd/silkrouter.min.js";const module="dist/esm/silkrouter.esm.min.js";const types="src/typings/silkrouter.d.ts";const scripts={start:"env-cmd -f ./.env.start rollup -c --watch",dev:"env-cmd -f ./.env.dev rollup -c","dev:serve":"env-cmd -f ./.env.start.prod rollup -c",prod:"env-cmd rollup -c",build:"npm run test && npm run dev && npm run dev:serve && npm run prod",test:"jest tests/*",deploy:"gh-pages -d dist",format:"rome format ./src --write",lint:"rome check ./src","check:sanity":"npm run lint && npm run format"};const author="scssyworks";const license="MIT";const keywords=["router","routing","single page apps","single page application","SPA","silk","silk router","history","browser","url","hash","hash routing","pushState","popstate","hashchange","observables","observer","subscriber","subscribe","subscription","rxjs","reactivex"];const files=["dist/umd/","dist/esm/","src/typings/","LICENSE"];const repository={type:"git",url:"git+https://github.com/scssyworks/silkrouter.git"};const bugs={url:"https://github.com/scssyworks/silkrouter/issues"};const homepage="https://scssyworks.github.io/silkrouter";const dependencies={"deparam.js":"^3.0.6"};const devDependencies={"@babel/core":"^7.18.9","@babel/eslint-parser":"^7.18.9","@babel/preset-env":"^7.18.9","@rollup/plugin-babel":"^5.3.1","@rollup/plugin-commonjs":"^22.0.1","@rollup/plugin-eslint":"^8.0.2","@rollup/plugin-json":"^4.1.0","@rollup/plugin-node-resolve":"^13.3.0","@types/jest":"^28.1.6","env-cmd":"^10.1.0",eslint:"^8.20.0","gh-pages":"^4.0.0",jest:"^28.1.3",rollup:"^2.77.0","rollup-plugin-livereload":"^2.0.5","rollup-plugin-serve":"^2.0.0","rollup-plugin-terser":"^7.0.2",rome:"^10.0.1",rxjs:"^7.5.6"};const peerDependencies={rxjs:"^7.5.6"};var pkg = {name:name,version:version,description:description,main:main,module:module,types:types,scripts:scripts,author:author,license:license,keywords:keywords,files:files,repository:repository,bugs:bugs,homepage:homepage,dependencies:dependencies,devDependencies:devDependencies,peerDependencies:peerDependencies}; function q(selector) { var _document; diff --git a/dist/render/silkrouter.iife.js.map b/dist/render/silkrouter.iife.js.map index 179fb95..d0ab0a3 100644 --- a/dist/render/silkrouter.iife.js.map +++ b/dist/render/silkrouter.iife.js.map @@ -1 +1 @@ -{"version":3,"file":"silkrouter.iife.js","sources":["../../src/js/utils/assign.js","../../node_modules/tslib/tslib.es6.js","../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../node_modules/rxjs/dist/esm5/internal/Subscription.js","../../node_modules/rxjs/dist/esm5/internal/config.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../node_modules/rxjs/dist/esm5/internal/util/noop.js","../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../node_modules/rxjs/dist/esm5/internal/util/identity.js","../../node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../node_modules/rxjs/dist/esm5/internal/Observable.js","../../node_modules/rxjs/dist/esm5/internal/util/lift.js","../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../node_modules/rxjs/dist/esm5/internal/operators/refCount.js","../../node_modules/rxjs/dist/esm5/internal/observable/ConnectableObservable.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/performanceTimestampProvider.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/animationFrameProvider.js","../../node_modules/rxjs/dist/esm5/internal/observable/dom/animationFrames.js","../../node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../node_modules/rxjs/dist/esm5/internal/Subject.js","../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../../node_modules/rxjs/dist/esm5/internal/AsyncSubject.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","../../node_modules/rxjs/dist/esm5/internal/util/Immediate.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/immediateProvider.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AsapAction.js","../../node_modules/rxjs/dist/esm5/internal/Scheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AsapScheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/asap.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/async.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/QueueAction.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/QueueScheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/queue.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameAction.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameScheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/animationFrame.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/VirtualTimeScheduler.js","../../node_modules/rxjs/dist/esm5/internal/observable/empty.js","../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../node_modules/rxjs/dist/esm5/internal/Notification.js","../../node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../../node_modules/rxjs/dist/esm5/internal/util/ArgumentOutOfRangeError.js","../../node_modules/rxjs/dist/esm5/internal/util/NotFoundError.js","../../node_modules/rxjs/dist/esm5/internal/util/SequenceError.js","../../node_modules/rxjs/dist/esm5/internal/operators/timeout.js","../../node_modules/rxjs/dist/esm5/internal/operators/map.js","../../node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../../node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../../node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js","../../node_modules/rxjs/dist/esm5/internal/observable/never.js","../../src/js/utils/constants.js","../../src/js/utils/getGlobal.js","../../node_modules/deparam.js/dist/esm/deparam.esm.js","../../src/js/utils/utils.js","../../src/js/utils/triggerEvent.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/utils/getPath.js","../../src/js/api/bindRouterEvents/index.js","../../src/js/utils/query.js","../../src/js/api/resolveQuery/index.js","../../src/js/api/set/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/index.js","../../src/js/utils/params.js","../../src/js/operators/index.js","../../render/index.js"],"sourcesContent":["/**\n * Function to extend an object with new and updated properties\n * @private\n * @returns {object}\n */\nexport function assign(...args) {\n return Object.assign(...args);\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function refCount() {\n return operate(function (source, subscriber) {\n var connection = null;\n source._refCount++;\n var refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, function () {\n if (!source || source._refCount <= 0 || 0 < --source._refCount) {\n connection = null;\n return;\n }\n var sharedConnection = source._connection;\n var conn = connection;\n connection = null;\n if (sharedConnection && (!conn || sharedConnection === conn)) {\n sharedConnection.unsubscribe();\n }\n subscriber.unsubscribe();\n });\n source.subscribe(refCounter);\n if (!refCounter.closed) {\n connection = source.connect();\n }\n });\n}\n//# sourceMappingURL=refCount.js.map","import { __extends } from \"tslib\";\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { hasLift } from '../util/lift';\nvar ConnectableObservable = (function (_super) {\n __extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._subject = null;\n _this._refCount = 0;\n _this._connection = null;\n if (hasLift(source)) {\n _this.lift = source.lift;\n }\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype._teardown = function () {\n this._refCount = 0;\n var _connection = this._connection;\n this._subject = this._connection = null;\n _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();\n };\n ConnectableObservable.prototype.connect = function () {\n var _this = this;\n var connection = this._connection;\n if (!connection) {\n connection = this._connection = new Subscription();\n var subject_1 = this.getSubject();\n connection.add(this.source.subscribe(createOperatorSubscriber(subject_1, undefined, function () {\n _this._teardown();\n subject_1.complete();\n }, function (err) {\n _this._teardown();\n subject_1.error(err);\n }, function () { return _this._teardown(); })));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return higherOrderRefCount()(this);\n };\n return ConnectableObservable;\n}(Observable));\nexport { ConnectableObservable };\n//# sourceMappingURL=ConnectableObservable.js.map","export var performanceTimestampProvider = {\n now: function () {\n return (performanceTimestampProvider.delegate || performance).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=performanceTimestampProvider.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { Subscription } from '../Subscription';\nexport var animationFrameProvider = {\n schedule: function (callback) {\n var request = requestAnimationFrame;\n var cancel = cancelAnimationFrame;\n var delegate = animationFrameProvider.delegate;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n var handle = request(function (timestamp) {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(function () { return cancel === null || cancel === void 0 ? void 0 : cancel(handle); });\n },\n requestAnimationFrame: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = animationFrameProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame).apply(void 0, __spreadArray([], __read(args)));\n },\n cancelAnimationFrame: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = animationFrameProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame).apply(void 0, __spreadArray([], __read(args)));\n },\n delegate: undefined,\n};\n//# sourceMappingURL=animationFrameProvider.js.map","import { Observable } from '../../Observable';\nimport { Subscription } from '../../Subscription';\nimport { performanceTimestampProvider } from '../../scheduler/performanceTimestampProvider';\nimport { animationFrameProvider } from '../../scheduler/animationFrameProvider';\nexport function animationFrames(timestampProvider) {\n return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;\n}\nfunction animationFramesFactory(timestampProvider) {\n var schedule = animationFrameProvider.schedule;\n return new Observable(function (subscriber) {\n var subscription = new Subscription();\n var provider = timestampProvider || performanceTimestampProvider;\n var start = provider.now();\n var run = function (timestamp) {\n var now = provider.now();\n subscriber.next({\n timestamp: timestampProvider ? now : timestamp,\n elapsed: now - start,\n });\n if (!subscriber.closed) {\n subscription.add(schedule(run));\n }\n };\n subscription.add(schedule(run));\n return subscription;\n });\n}\nvar DEFAULT_ANIMATION_FRAMES = animationFramesFactory();\n//# sourceMappingURL=animationFrames.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: false,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, (this._value = value));\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nvar AsyncSubject = (function (_super) {\n __extends(AsyncSubject, _super);\n function AsyncSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._value = null;\n _this._hasValue = false;\n _this._isComplete = false;\n return _this;\n }\n AsyncSubject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, _hasValue = _a._hasValue, _value = _a._value, thrownError = _a.thrownError, isStopped = _a.isStopped, _isComplete = _a._isComplete;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped || _isComplete) {\n _hasValue && subscriber.next(_value);\n subscriber.complete();\n }\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.isStopped) {\n this._value = value;\n this._hasValue = true;\n }\n };\n AsyncSubject.prototype.complete = function () {\n var _a = this, _hasValue = _a._hasValue, _value = _a._value, _isComplete = _a._isComplete;\n if (!_isComplete) {\n this._isComplete = true;\n _hasValue && _super.prototype.next.call(this, _value);\n _super.prototype.complete.call(this);\n }\n };\n return AsyncSubject;\n}(Subject));\nexport { AsyncSubject };\n//# sourceMappingURL=AsyncSubject.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n intervalProvider.clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","var nextHandle = 1;\nvar resolved;\nvar activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport var Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(function () { return findAndClearHandle(handle) && cb(); });\n return handle;\n },\n clearImmediate: function (handle) {\n findAndClearHandle(handle);\n },\n};\nexport var TestTools = {\n pending: function () {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { Immediate } from '../util/Immediate';\nvar setImmediate = Immediate.setImmediate, clearImmediate = Immediate.clearImmediate;\nexport var immediateProvider = {\n setImmediate: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = immediateProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate).apply(void 0, __spreadArray([], __read(args)));\n },\n clearImmediate: function (handle) {\n var delegate = immediateProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=immediateProvider.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { immediateProvider } from './immediateProvider';\nvar AsapAction = (function (_super) {\n __extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (!scheduler.actions.some(function (action) { return action.id === id; })) {\n immediateProvider.clearImmediate(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n };\n return AsapAction;\n}(AsyncAction));\nexport { AsapAction };\n//# sourceMappingURL=AsapAction.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n _this._scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { __extends } from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AsapScheduler = (function (_super) {\n __extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this._active = true;\n var flushId = this._scheduled;\n this._scheduled = undefined;\n var actions = this.actions;\n var error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler));\nexport { AsapScheduler };\n//# sourceMappingURL=AsapScheduler.js.map","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport var asapScheduler = new AsapScheduler(AsapAction);\nexport var asap = asapScheduler;\n//# sourceMappingURL=asap.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar QueueAction = (function (_super) {\n __extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction));\nexport { QueueAction };\n//# sourceMappingURL=QueueAction.js.map","import { __extends } from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar QueueScheduler = (function (_super) {\n __extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler));\nexport { QueueScheduler };\n//# sourceMappingURL=QueueScheduler.js.map","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queueScheduler = new QueueScheduler(QueueAction);\nexport var queue = queueScheduler;\n//# sourceMappingURL=queue.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { animationFrameProvider } from './animationFrameProvider';\nvar AnimationFrameAction = (function (_super) {\n __extends(AnimationFrameAction, _super);\n function AnimationFrameAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(function () { return scheduler.flush(undefined); }));\n };\n AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (!scheduler.actions.some(function (action) { return action.id === id; })) {\n animationFrameProvider.cancelAnimationFrame(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n };\n return AnimationFrameAction;\n}(AsyncAction));\nexport { AnimationFrameAction };\n//# sourceMappingURL=AnimationFrameAction.js.map","import { __extends } from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AnimationFrameScheduler = (function (_super) {\n __extends(AnimationFrameScheduler, _super);\n function AnimationFrameScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnimationFrameScheduler.prototype.flush = function (action) {\n this._active = true;\n var flushId = this._scheduled;\n this._scheduled = undefined;\n var actions = this.actions;\n var error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AnimationFrameScheduler;\n}(AsyncScheduler));\nexport { AnimationFrameScheduler };\n//# sourceMappingURL=AnimationFrameScheduler.js.map","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport var animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport var animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nvar VirtualTimeScheduler = (function (_super) {\n __extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(schedulerActionCtor, maxFrames) {\n if (schedulerActionCtor === void 0) { schedulerActionCtor = VirtualAction; }\n if (maxFrames === void 0) { maxFrames = Infinity; }\n var _this = _super.call(this, schedulerActionCtor, function () { return _this.frame; }) || this;\n _this.maxFrames = maxFrames;\n _this.frame = 0;\n _this.index = -1;\n return _this;\n }\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error;\n var action;\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n }\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(AsyncScheduler));\nexport { VirtualTimeScheduler };\nvar VirtualAction = (function (_super) {\n __extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) { index = (scheduler.index += 1); }\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.index = index;\n _this.active = true;\n _this.index = scheduler.index = index;\n return _this;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (Number.isFinite(delay)) {\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(AsyncAction));\nexport { VirtualAction };\n//# sourceMappingURL=VirtualTimeScheduler.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { EMPTY } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nimport { isFunction } from './util/isFunction';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nvar Notification = (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n return observeNotification(this, observer);\n };\n Notification.prototype.do = function (nextHandler, errorHandler, completeHandler) {\n var _a = this, kind = _a.kind, value = _a.value, error = _a.error;\n return kind === 'N' ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === 'E' ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n var _a;\n return isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next)\n ? this.observe(nextOrObserver)\n : this.do(nextOrObserver, error, complete);\n };\n Notification.prototype.toObservable = function () {\n var _a = this, kind = _a.kind, value = _a.value, error = _a.error;\n var result = kind === 'N'\n ?\n of(value)\n :\n kind === 'E'\n ?\n throwError(function () { return error; })\n :\n kind === 'C'\n ?\n EMPTY\n :\n 0;\n if (!result) {\n throw new TypeError(\"Unexpected notification kind \" + kind);\n }\n return result;\n };\n Notification.createNext = function (value) {\n return new Notification('N', value);\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n return Notification;\n}());\nexport { Notification };\nexport function observeNotification(notification, observer) {\n var _a, _b, _c;\n var _d = notification, kind = _d.kind, value = _d.value, error = _d.error;\n if (typeof kind !== 'string') {\n throw new TypeError('Invalid notification, missing \"kind\"');\n }\n kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);\n}\n//# sourceMappingURL=Notification.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { createErrorClass } from './createErrorClass';\nexport var ArgumentOutOfRangeError = createErrorClass(function (_super) {\n return function ArgumentOutOfRangeErrorImpl() {\n _super(this);\n this.name = 'ArgumentOutOfRangeError';\n this.message = 'argument out of range';\n };\n});\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map","import { createErrorClass } from './createErrorClass';\nexport var NotFoundError = createErrorClass(function (_super) {\n return function NotFoundErrorImpl(message) {\n _super(this);\n this.name = 'NotFoundError';\n this.message = message;\n };\n});\n//# sourceMappingURL=NotFoundError.js.map","import { createErrorClass } from './createErrorClass';\nexport var SequenceError = createErrorClass(function (_super) {\n return function SequenceErrorImpl(message) {\n _super(this);\n this.name = 'SequenceError';\n this.message = message;\n };\n});\n//# sourceMappingURL=SequenceError.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport var TimeoutError = createErrorClass(function (_super) {\n return function TimeoutErrorImpl(info) {\n if (info === void 0) { info = null; }\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n };\n});\nexport function timeout(config, schedulerArg) {\n var _a = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config), first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate(function (source, subscriber) {\n var originalSourceSubscription;\n var timerSubscription;\n var lastValue = null;\n var seen = 0;\n var startTimer = function (delay) {\n timerSubscription = executeSchedule(subscriber, scheduler, function () {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta: meta,\n lastValue: lastValue,\n seen: seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, function () {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n//# sourceMappingURL=timeout.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { __read } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nvar nodeEventEmitterMethods = ['addListener', 'removeListener'];\nvar eventTargetMethods = ['addEventListener', 'removeEventListener'];\nvar jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n var _a = __read(isEventTarget(target)\n ? eventTargetMethods.map(function (methodName) { return function (handler) { return target[methodName](eventName, handler, options); }; })\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [], 2), add = _a[0], remove = _a[1];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap(function (subTarget) { return fromEvent(subTarget, eventName, options); })(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subscriber.next(1 < args.length ? args : args[0]);\n };\n add(handler);\n return function () { return remove(handler); };\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return function (methodName) { return function (handler) { return target[methodName](eventName, handler); }; };\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport var NEVER = new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map","/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const REG_COMPLEX = /\\[/;\nexport const REG_VARIABLE = /([^[]+)\\[([^[]*)\\]/;\nexport const REG_REPLACE_BRACKETS = /\\[([^[]*)\\]/;\nexport const REG_REPLACE_NEXTPROP = /[^[]+/;\nexport const HISTORY_UNSUPPORTED = 'History unsupported!';\nexport const INVALID_ROUTE = 'Route string is not a pure route';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const CACHED_FIELDS = [\n 'route',\n 'hashRouting',\n 'path',\n 'hash',\n 'search',\n 'hashSearch',\n 'data',\n];\nexport const AMP = '&';\nexport const QRY = '?';\nexport const EQ = '=';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_OBJ = typeof {};\nexport const TYPEOF_NUM = typeof 0;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { TYPEOF_UNDEF } from './constants';\n\nexport function getGlobal() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n}\n","/*!\n * Deparam plugin converts query string to a valid JavaScript object\n * Released under MIT license\n * @name Deparam.js\n * @author Sachin Singh \n * @version 3.0.6\n * @license MIT\n */\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n/*!\n * is-number \n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nvar isNumber = function(num) {\n if (typeof num === 'number') {\n return num - num === 0;\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);\n }\n return false;\n};\n\nvar isObject = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n\nvar UNDEF = void 0; // Results to undefined\n// Typeof undefined\n\nvar TYPEOF_UNDEF = _typeof(UNDEF); // Typeof string\n\n\nvar TYPEOF_STR = _typeof(\"\"); // location var\n\n\nvar loc = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== TYPEOF_UNDEF ? window.location : null; // Shorthand for built-ins\n\nvar isArr = Array.isArray;\n/**\n * Checks if current key is safe\n * @param {string} key Current key\n * @returns {boolean}\n */\n\nfunction isSafe(key) {\n return [\"__proto__\", \"prototype\"].indexOf(key) === -1;\n}\n/**\n * Shorthand for Object.prototype.hasOwnProperty\n * @param {any} obj Any object\n * @param {string} key key\n * @returns {boolean} true or false if object has the property\n */\n\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n * Returns true of input query string is complex\n * @param {string} q Query string\n * @returns {boolean} true or false\n */\n\n\nfunction ifComplex(q) {\n return /\\[/.test(q);\n}\n/**\n * Returns an object without a prototype\n * @returns {{[key in string|number]: any}} Object without __proto__\n */\n\n\nfunction obNull() {\n return Object.create(null);\n}\n/**\n * Returns a parsed query object\n * @param {string} qs Query string\n * @param {boolean} coerce Coerce values\n * @returns {{[key in string|number]: any}} Query object\n */\n\n\nfunction lib(qs, coerce) {\n var _this = this;\n\n if (_typeof(qs) !== TYPEOF_STR) {\n qs = loc ? loc.search : \"\";\n }\n\n qs = qs.substring(qs.charAt(0) === \"?\");\n var queryObject = obNull();\n\n if (qs) {\n qs.split(\"&\").forEach(function (qq) {\n var qArr = qq.split(\"=\").map(function (part) {\n return decodeURIComponent(part);\n });\n\n if (ifComplex(qArr[0])) {\n complex.apply(_this, [].concat(qArr).concat([queryObject, coerce]));\n } else {\n simple.apply(_this, [qArr, queryObject, false, coerce]);\n }\n });\n }\n\n return queryObject;\n}\n/**\n * Converts an array to equivalent object\n * @param {any[]} arr Any array\n * @returns {any} Any object\n */\n\n\nfunction toObject(arr) {\n var convertedObj = obNull();\n\n if (isArr(arr)) {\n arr.forEach(function (value, index) {\n convertedObj[index] = value;\n });\n }\n\n return convertedObj;\n}\n/**\n * Converts array to an object if required\n * @param {any} ob Any object\n * @param {booleab} isNextNumber Test for next key\n * @returns {any} Any object\n */\n\n\nfunction resolve(ob, isNextNumber) {\n if (_typeof(ob) === TYPEOF_UNDEF) return isNextNumber ? [] : obNull();\n return isNextNumber ? ob : toObject(ob);\n}\n/**\n * Resolves the target object for next iteration\n * @param {any} ob current reference object\n * @param {string} nextProp reference property in current object\n * @returns {any} Resolved object for next iteration\n */\n\n\nfunction resolveObj(ob, nextProp) {\n if (isObject(ob) && !isArr(ob)) return {\n ob: ob\n };\n if (isArr(ob) || _typeof(ob) === TYPEOF_UNDEF) return {\n ob: resolve(ob, isNumber(nextProp))\n };\n return {\n ob: [ob],\n push: ob !== null\n };\n}\n/**\n * Handles complex query parameters\n * @param {string} key Query key\n * @param {string} value Query value\n * @param {Object} obj Query object\n * @returns {void}\n */\n\n\nfunction complex(key, value, obj, doCoerce) {\n var match = key.match(/([^\\[]+)\\[([^\\[]*)\\]/) || [];\n\n if (match.length === 3) {\n var prop = match[1];\n var nextProp = match[2];\n key = key.replace(/\\[([^\\[]*)\\]/, \"\");\n\n if (ifComplex(key)) {\n if (nextProp === \"\") nextProp = \"0\";\n key = key.replace(/[^\\[]+/, nextProp);\n complex(key, value, obj[prop] = resolveObj(obj[prop], nextProp).ob, doCoerce);\n } else if (nextProp) {\n if (isSafe(prop) && isSafe(nextProp)) {\n var _resolveObj = resolveObj(obj[prop], nextProp),\n ob = _resolveObj.ob,\n push = _resolveObj.push;\n\n obj[prop] = ob;\n var nextOb = push ? obNull() : obj[prop];\n nextOb[nextProp] = coerce(value, !doCoerce);\n\n if (push) {\n obj[prop].push(nextOb);\n }\n }\n } else {\n simple([match[1], value], obj, true, doCoerce);\n }\n }\n}\n/**\n * Handles simple query\n * @param {array} qArr Query list\n * @param {Object} queryObject Query object\n * @param {boolean} toArray Test for conversion to array\n * @returns {void}\n */\n\n\nfunction simple(qArr, queryObject, toArray, doCoerce) {\n var key = qArr[0];\n var value = qArr[1];\n\n if (isSafe(key)) {\n value = coerce(value, !doCoerce);\n\n if (hasOwn(queryObject, key)) {\n queryObject[key] = isArr(queryObject[key]) ? queryObject[key] : [queryObject[key]];\n queryObject[key].push(value);\n } else {\n queryObject[key] = toArray ? [value] : value;\n }\n }\n}\n/**\n * Converts input value to their appropriate types\n * @param {any} value Input value\n * @param {boolean} skip Test for skipping coercion\n * @returns {any} Coerced value\n */\n\n\nfunction coerce(value, skip) {\n // eslint-disable-next-line\n if (value == null) {\n return \"\";\n }\n\n if (skip || _typeof(value) !== TYPEOF_STR) {\n return value;\n }\n\n value = value.trim();\n\n if (isNumber(value)) {\n return +value;\n }\n\n switch (value) {\n case \"null\":\n return null;\n\n case TYPEOF_UNDEF:\n return UNDEF;\n\n case \"true\":\n return true;\n\n case \"false\":\n return false;\n\n case \"NaN\":\n return NaN;\n\n default:\n return value;\n }\n}\n\nexport { lib as default, isNumber, isObject };\n//# sourceMappingURL=deparam.esm.js.map\n","import { isNumber, isObject } from 'deparam.js';\nimport { EMPTY, REG_PATHNAME, TYPEOF_BOOL, TYPEOF_STR } from './constants';\n\n/**\n * Shorthand for Array.isArray\n */\nexport const isArr = Array.isArray;\n\n/**\n * Shorthand for Object.keys\n */\nexport const oKeys = Object.keys;\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n\n/**\n * Checks if key is present in provided object\n * @param {object} ob Object\n * @param {*} key Key\n */\nexport function hasOwn(ob, key) {\n return Object.prototype.hasOwnProperty.call(ob, key);\n}\n\n/**\n * Loops over an array like object\n * @param {object} arrayObj Array or array like object\n * @param {function} callback Callback function\n */\nexport function each(arrayObj, callback) {\n if (isObject(arrayObj)) {\n const keys = oKeys(arrayObj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const cont = callback(arrayObj[key], isNumber(key) ? +key : key);\n if (typeof cont === TYPEOF_BOOL) {\n if (cont) {\n continue;\n } else {\n break;\n }\n }\n }\n }\n}\n","import { TYPEOF_STR } from './constants';\nimport { getGlobal } from './getGlobal';\nimport { each } from './utils';\n\n/**\n * Function to trigger custom event\n * @param {Node|NodeList|HTMLCollection|Node[]} target Target element or list\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(target, eventType, data) {\n target = Array.from(target instanceof Node ? [target] : target);\n if (target.length && typeof eventType === TYPEOF_STR) {\n each(target, (el) => {\n const customEvent = new getGlobal().CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n });\n el.dispatchEvent(customEvent);\n });\n }\n}\n","import { QRY } from '../../utils/constants';\nimport { trim } from '../../utils/utils';\nexport default class RouterEvent {\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const routeObject = routeInfo[0];\n const originalEvent = routeInfo[1];\n const routerInstance = routeInfo[2];\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.hashRouting = routeObject.hash;\n this.routerInstance = routerInstance;\n this.virtualEvent = currentEvent || {};\n this.originalEvent = originalEvent || {};\n this.path = trim(location.pathname);\n this.hash = location.hash;\n this.search = trim(location.search.substring(1));\n this.hashSearch = trim(location.hash && location.hash.split(QRY)[1]);\n const { state } = this.originalEvent;\n this.data = (state && state.data) || (history.state && history.state.data);\n }\n}\n","import { Observable } from 'rxjs';\nimport RouterEvent from '../routerEvent';\n\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const routerInstance = event.detail[2];\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { QRY } from './constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { fromEvent } from 'rxjs';\nimport { POP_STATE, VIRTUAL_PUSHSTATE } from '../../utils/constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport { getGlobal } from '../../utils/getGlobal';\nimport { getPath } from '../../utils/getPath';\n\nexport default function bindRouterEvents(inst) {\n const { context, location, hashRouting: hash } = inst.config;\n inst.popStateSubscription = fromEvent(getGlobal(), POP_STATE).subscribe(\n (e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, inst]);\n }\n }\n );\n inst.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(inst)\n );\n if (hash && !location.hash) {\n inst.set('/', true, false); // Replace current hash path without executing anythings\n }\n}\n","import { isObject } from 'deparam.js';\nimport { AMP, EMPTY, TYPEOF_FUNC, TYPEOF_STR } from './constants';\nimport { each, isArr } from './utils';\n\nexport const encode = encodeURIComponent;\n\n/**\n * Builds query string recursively\n * @private\n * @param {string[]} qsList List of query string key value pairs\n * @param {*} key Key\n * @param {*} obj Value\n */\nfunction buildQuery(qsList, key, obj) {\n if (isObject(obj)) {\n each(obj, (prop, obKey) => {\n buildQuery(qsList, `${key}[${isArr(obj) ? EMPTY : obKey}]`, prop);\n });\n } else if (typeof obj !== TYPEOF_FUNC) {\n qsList.push(`${encode(key)}=${encode(obj)}`);\n }\n}\n\n/**\n * Converts an object to a query string\n * @private\n * @param {object} obj Object which should be converted to a string\n * @returns {string}\n */\nexport function toQueryString(obj) {\n let qsList = [];\n if (isObject(obj)) {\n each(obj, (prop, key) => {\n buildQuery(qsList, key, prop);\n });\n return qsList.join(AMP);\n }\n return typeof obj === TYPEOF_STR ? obj : EMPTY;\n}\n","import deparam from 'deparam.js';\nimport { trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport { assign } from '../../utils/assign';\nimport { QRY } from '../../utils/constants';\n\n/**\n * Resolves and analyzes existing query string\n * @private\n * @param {string} queryString Query string\n * @param {string} hashRouting Flag to test if hash routing is enabled\n */\nexport default function resolveQuery(queryString, hashRouting) {\n const { location } = this.config;\n const search = trim(location.search && location.search.substring(1));\n const existingQuery = trim(\n hashRouting ? location.hash.split(QRY)[1] : search\n );\n if (!existingQuery) return queryString;\n return toQueryString(\n assign(deparam(search), deparam(existingQuery), deparam(queryString))\n );\n}\n","import { isObject } from \"deparam.js\";\nimport { trigger } from \"../../utils/triggerEvent\";\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n TYPEOF_STR,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n} from \"../../utils/constants\";\nimport { isValidRoute, trim } from \"../../utils/utils\";\nimport { toQueryString } from \"../../utils/query\";\nimport resolveQuery from \"../resolveQuery\";\nimport { assign } from \"../../utils/assign\";\n\nexport default function set(route, replace, exec) {\n exec = exec || true;\n const { preservePath, hashRouting, history } = this.config;\n const routeObject = assign(\n { replace, exec },\n typeof route === TYPEOF_STR ? { route } : route\n );\n replace = routeObject.replace;\n exec = routeObject.exec;\n let { route: routeStr, queryString } = routeObject;\n const { preserveQuery, data, pageTitle = null } = routeObject;\n const routeParts = routeStr.split(QRY);\n // Check if query string is an object\n if (isObject(queryString)) {\n queryString = toQueryString(queryString);\n }\n // Resolve to URL query string if it's not explicitly passed\n queryString = trim(queryString ? queryString : routeParts[1]);\n routeStr = trim(routeParts[0]);\n // Check if query preservation is required. Resolve query accordingly\n if (preserveQuery) {\n queryString = resolveQuery.apply(this, [queryString, hashRouting]);\n }\n if (isValidRoute(routeStr)) {\n const unmodifiedRoute = routeStr;\n if (hashRouting) {\n routeStr = `/#${routeStr}`;\n // Path preservation should only work for hash routing\n if (preservePath) {\n routeStr = `${routeStr.substring(1)}`;\n }\n }\n // Append query string\n routeStr = `${routeStr}${queryString ? `${QRY + queryString}` : EMPTY}`;\n history[replace ? REPLACE : PUSH]({ data }, pageTitle, routeStr);\n if (exec && unmodifiedRoute) {\n trigger(this.config.context, VIRTUAL_PUSHSTATE, [\n {\n path: unmodifiedRoute,\n hash: hashRouting,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n return this;\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../utils/constants';\nimport { getPath } from '../../utils/getPath';\nimport RouterEvent from '../routerEvent';\n\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { assign } from '../../utils/assign';\nimport bindRouterEvents from '../bindRouterEvents';\nimport set from '../set';\nimport { HISTORY_UNSUPPORTED, PUSH, TYPEOF_FUNC } from '../../utils/constants';\nimport callOnce from '../callOnce';\nimport { getGlobal } from '../../utils/getGlobal';\n\nexport default class Router {\n constructor(config) {\n const { history, location, document } = getGlobal();\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.config = Object.freeze(\n assign(\n {\n init: true, // Initialize as soon as route handler is attached\n hashRouting: false, // Switch to hash routing\n preservePath: false, // Works for hash routing\n context: document.body, // To change the context of \"vpushstate\" event\n location, // Should remain unchanged\n history, // History object\n },\n config || {}\n )\n );\n this.__paths__ = [];\n bindRouterEvents(this);\n }\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n subscribe(...fns) {\n return this.pipe().subscribe(...fns);\n }\n set(...props) {\n return set.apply(this, props);\n }\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n this.__paths__.length = 0;\n }\n}\n","import { EMPTY, REG_ROUTE_PARAMS } from './constants';\nimport { each } from './utils';\n\n/**\n * Parses current path and returns params object\n * @private\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {object}\n */\nexport function extractParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n each(keys, (key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","import { trim, isValidRoute, each, oKeys } from \"../utils/utils\";\nimport queryDeparam, { isObject } from \"deparam.js\";\nimport { Observable } from \"rxjs\";\nimport {\n INVALID_ROUTE,\n CACHED_FIELDS,\n UNDEF,\n TYPEOF_BOOL,\n} from \"../utils/constants\";\nimport { extractParams } from \"../utils/params\";\nimport Router from \"../api/router\";\nimport { assign } from \"../utils/assign\";\n\n/**\n * Operator to compare a specific route\n * @param {string} routeStr Route string\n * @param {Router} routerInstance Current router object [optional]\n * @param {boolean} ignoreCase Ignore case in route string\n */\nexport function route(routeStr, routerInstance, ignoreCase) {\n if (typeof routerInstance === TYPEOF_BOOL) {\n ignoreCase = routerInstance;\n routerInstance = UNDEF;\n }\n routeStr = trim(routeStr);\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.indexOf(routeStr) === -1) {\n paths.push(routeStr);\n }\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n let incomingRoute = event.route;\n if (isValidRoute(routeStr)) {\n if (ignoreCase) {\n routeStr = routeStr.toLowerCase();\n incomingRoute = incomingRoute.toLowerCase();\n }\n const params = extractParams(routeStr, incomingRoute);\n const paramsLength = oKeys(params).length;\n if (incomingRoute === routeStr || paramsLength > 0) {\n if (paramsLength > 0) {\n event.params = params;\n }\n subscriber.next(event);\n }\n } else {\n subscriber.error(new Error(INVALID_ROUTE));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n const existingRouteIndex = paths.indexOf(routeStr);\n if (existingRouteIndex > -1) {\n paths.splice(existingRouteIndex, 1);\n }\n }\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Converts search and hashSearch strings to object\n * @param {boolean} coerce Flag to enable value typecast\n */\nexport function deparam(coerce) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n try {\n event.search = queryDeparam(event.search, coerce);\n event.hashSearch = queryDeparam(event.hashSearch, coerce);\n subscriber.next(event);\n } catch (e) {\n subscriber.error(e);\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Modifies current subscriber to detect errors\n * @param {Router} routerInstance Current router object\n */\nexport function noMatch(routerInstance) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.length > 0) {\n const currentRoute = event.route;\n let match = false;\n each(paths, (path) => {\n if (\n path === currentRoute ||\n oKeys(extractParams(path, currentRoute)).length\n ) {\n return !(match = true);\n }\n });\n if (!match) {\n event.noMatch = true;\n subscriber.next(event);\n }\n }\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\nfunction deepComparison(first, second, result) {\n each(oKeys(first), (key) => {\n if (isObject(first[key]) && isObject(second[key])) {\n deepComparison(first[key], second[key], result);\n } else {\n result.break = first[key] !== second[key];\n }\n });\n}\n\n/**\n * Caches incoming routes to avoid calling handler if there is no change\n * @param {string[]} keys\n * @param {boolean} deep\n */\nexport function cache(keys = CACHED_FIELDS, deep) {\n let cache = {};\n if (typeof keys === TYPEOF_BOOL) {\n deep = keys;\n keys = CACHED_FIELDS;\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n each(keys, (key) => {\n if (deep && isObject(event[key]) && isObject(cache[key])) {\n const result = {};\n deepComparison(event[key], cache[key], result);\n if (result.break) {\n assign(cache, event);\n subscriber.next(event);\n return false;\n }\n } else if (event[key] !== cache[key]) {\n assign(cache, event);\n subscriber.next(event);\n return false; // break loop\n }\n });\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n cache = {};\n };\n });\n}\n","import { Router } from '../src/js';\nimport { route, deparam, noMatch, cache } from '../src/js/operators';\nimport pkg from '../package.json';\n\nfunction q(selector) {\n if (typeof selector === 'string') {\n const elArray = [];\n selector\n .split(',')\n .map((selectorPart) => selectorPart.trim())\n .forEach((selectorPart) => {\n const selected = [...document.querySelectorAll(selectorPart)];\n selected.forEach((el) => {\n if (!elArray.includes(el)) {\n elArray.push(el);\n }\n });\n });\n return elArray;\n }\n return [...document.querySelectorAll(...arguments)];\n}\n\nfunction keywordHighlight(text) {\n [\n '(new|throw|let|const|var|typeof|instanceof|in|of|import|case|extends|delete)(\\\\s)',\n '(function|class|try|catch|finally|do|else)(\\\\s|{)',\n '(for|while|if)(\\\\s|\\\\()',\n '(return|break|continue)(\\\\s|;)',\n ].forEach((matcher) => {\n const regex = new RegExp(matcher, 'g');\n if (regex.test(text)) {\n text = text.replace(regex, (...args) => {\n const [, keyword, extra] = args;\n return `${keyword}${extra}`;\n });\n }\n });\n return text;\n}\n\nfunction methodHighlight(text) {\n text = text.replace(\n /(\\.)([^;:'\",.())?|\\\\/^*@%#!~+-[\\]{}=]+)(\\()/g,\n (...args) => {\n const [, dot, method, brace] = args;\n return `${dot}${method}${brace}`;\n }\n );\n return text;\n}\n\nfunction suppressComments(text) {\n text = text.replace(\n /\\/\\/[^\\n]+/g,\n (comment) => `${comment}`\n );\n return text;\n}\n\nfunction highlightFatArrow(text) {\n text = text.replace(\n /\\s=>\\s/g,\n (fatArrow) => `${fatArrow}`\n );\n return text;\n}\n\nfunction highlightString(text) {\n text = text.replace(\n /['\"`].*['\"`]/g,\n (str) => `${str.replace(/\\//g, '/')}`\n );\n return text;\n}\n\nfunction jsHighlight(text) {\n text = highlightString(text);\n text = keywordHighlight(text);\n text = methodHighlight(text);\n text = suppressComments(text);\n text = highlightFatArrow(text);\n return text;\n}\n\nfunction renderDecorators() {\n q('code pre').forEach((decorator) => {\n let html = decorator.innerHTML;\n const pattern = html.match(/^\\s+/);\n const originalIndent = pattern && pattern[0].length;\n html = html\n .split('\\n')\n .map((codePart) => {\n return codePart.substring(originalIndent);\n })\n .join('\\n');\n decorator.innerHTML = jsHighlight(html.trim());\n });\n}\n\nfunction renderVersion() {\n q('.version').forEach(\n (el) => (el.querySelector('span').textContent = pkg.version)\n );\n}\n\nfunction initializeRouting() {\n q('#checkHash').forEach((el) => {\n el.checked = window.sessionStorage.getItem('checkedStatus') === '1';\n });\n const router = new Router();\n let childRouter = router;\n router.subscribe((e) => {\n const eventRoute =\n location.hostname === 'scssyworks.github.io'\n ? e.route.replace(/\\/silkrouter\\//, '/')\n : e.route;\n q('[data-route]').forEach((el) => {\n el.classList.remove('active');\n const elRoute = el.getAttribute('data-route');\n if (elRoute === '/' && eventRoute === elRoute) {\n el.classList.add('active');\n } else if (elRoute !== '/' && eventRoute.includes(elRoute)) {\n el.classList.add('active');\n }\n });\n q('[data-section]').forEach((el) => {\n el.classList.add('d-none');\n const elSection = el.getAttribute('data-section');\n if (elSection === '/' && eventRoute === elSection) {\n el.classList.remove('d-none');\n } else if (elSection !== '/' && eventRoute.includes(elSection)) {\n el.classList.remove('d-none');\n }\n });\n q(\n '.params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial'\n ).forEach((el) => {\n el.classList.add('d-none');\n });\n });\n const paramsRoute =\n location.hostname === 'scssyworks.github.io'\n ? '/silkrouter/tab3/:firstname/:lastname'\n : '/tab3/:firstname/:lastname';\n router.pipe(route(paramsRoute), deparam(true)).subscribe((e) => {\n q('.params-data pre').forEach((el) => {\n el.textContent = JSON.stringify(e.params, null, 2);\n });\n q('.params-data, .query-next-step').forEach((el) => {\n el.classList.remove('d-none');\n });\n if (Object.keys(e.search).length) {\n q('.query-data').forEach((el) => {\n el.querySelector('pre').textContent = JSON.stringify(e.search, null, 2);\n el.classList.remove('d-none');\n });\n q('.data-next-step').forEach((el) => {\n el.classList.remove('d-none');\n });\n }\n if (e.data) {\n q('.state-data').forEach((el) => {\n el.querySelector('pre').textContent = e.data;\n el.classList.remove('d-none');\n });\n q('.pass-data-tutorial').forEach((el) => {\n el.classList.remove('d-none');\n });\n }\n });\n document.addEventListener('click', (e) => {\n q('[data-route]').forEach((el) => {\n if (el.contains(e.target)) {\n const isRelative = el.hasAttribute('data-relative');\n let route =\n isRelative && q('#checkHash:checked').length === 0\n ? el.closest('section').getAttribute('data-section') +\n el.getAttribute('data-route')\n : el.getAttribute('data-route');\n if (location.hostname === 'scssyworks.github.io') {\n route = `/silkrouter${route}`;\n }\n if (isRelative) {\n if (\n location.hostname === 'scssyworks.github.io' &&\n childRouter.config.hashRouting\n ) {\n route = route.replace(/\\/silkrouter\\//, '/');\n }\n childRouter.set(route);\n } else {\n router.set(route);\n }\n }\n });\n q('.btn-primary.clear-session').forEach((el) => {\n if (el.contains(e.target)) {\n window.sessionStorage.clear();\n window.location.href =\n location.hostname === 'scssyworks.github.io'\n ? '/silkrouter/tab2/'\n : '/tab2/';\n }\n });\n q('.append-param').forEach((el) => {\n if (el.contains(e.target)) {\n router.set(\n `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`\n );\n }\n });\n q('.append-query').forEach((el) => {\n if (el.contains(e.target)) {\n router.set({\n route: `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n queryString: 'q=HelloWorld',\n });\n }\n });\n q('.append-data').forEach((el) => {\n if (el.contains(e.target)) {\n router.set({\n route: `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n queryString: 'q=HelloWorld',\n data: 'Hi there!',\n });\n }\n });\n });\n q('#checkHash').forEach((el) => {\n el.addEventListener('change', () => {\n window.sessionStorage.setItem(\n 'checkedStatus',\n `${q('#checkHash:checked').length}`\n );\n window.location.href = `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab2/`;\n });\n });\n if (q('#checkHash:checked').length) {\n const hashRouter = new Router({\n hashRouting: true,\n preservePath: true,\n });\n hashRouter.subscribe((e) => {\n q('[data-route][data-relative]').forEach((el) => {\n el.classList.remove('active');\n if (e.route.includes(el.getAttribute('data-route'))) {\n el.classList.add('active');\n }\n });\n });\n childRouter = hashRouter;\n }\n}\n\nfunction setGlobals() {\n window.Router = Router;\n window.route = route;\n window.deparam = deparam;\n window.noMatch = noMatch;\n window.cache = cache;\n}\n\ninitializeRouting();\nrenderDecorators();\nrenderVersion();\nsetGlobals();\n"],"names":["assign","Object","Symbol_observable","higherOrderRefCount","Symbol_iterator","POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","CACHED_FIELDS","AMP","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_BOOL","_typeof","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","getGlobal","globalThis","global","self","isArr","Array","isArray","oKeys","keys","trim","str","isValidRoute","route","test","each","arrayObj","callback","isObject","i","length","key","cont","isNumber","trigger","target","eventType","data","from","Node","el","customEvent","CustomEvent","bubbles","cancelable","detail","dispatchEvent","RouterEvent","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","config","location","history","path","hashRouting","hash","virtualEvent","pathname","search","substring","hashSearch","split","state","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","getPath","isHash","bindRouterEvents","inst","context","popStateSubscription","fromEvent","e","listeners","pipe","apply","set","encode","encodeURIComponent","buildQuery","qsList","obj","prop","obKey","push","toQueryString","join","resolveQuery","queryString","existingQuery","deparam","replace","exec","preservePath","routeStr","preserveQuery","pageTitle","routeParts","unmodifiedRoute","TypeError","callOnce","isDone","init","Router","document","Error","freeze","body","__paths__","ops","props","extractParams","expr","params","pathRegex","RegExp","lastIndex","match","map","values","shift","index","ignoreCase","paths","indexOf","incomingRoute","toLowerCase","paramsLength","existingRouteIndex","splice","coerce","queryDeparam","noMatch","currentRoute","deepComparison","first","second","result","cache","deep","q","selector","elArray","selectorPart","forEach","selected","querySelectorAll","includes","arguments","keywordHighlight","text","matcher","regex","args","keyword","extra","methodHighlight","dot","method","brace","suppressComments","comment","highlightFatArrow","fatArrow","highlightString","jsHighlight","renderDecorators","decorator","html","innerHTML","pattern","originalIndent","codePart","renderVersion","querySelector","textContent","pkg","version","initializeRouting","checked","window","sessionStorage","getItem","router","childRouter","eventRoute","hostname","classList","remove","elRoute","getAttribute","add","elSection","paramsRoute","JSON","stringify","addEventListener","contains","isRelative","hasAttribute","closest","clear","href","setItem","hashRouter","setGlobals"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"silkrouter.iife.js","sources":["../../src/js/utils/assign.js","../../node_modules/tslib/tslib.es6.js","../../node_modules/rxjs/dist/esm5/internal/util/isFunction.js","../../node_modules/rxjs/dist/esm5/internal/util/createErrorClass.js","../../node_modules/rxjs/dist/esm5/internal/util/UnsubscriptionError.js","../../node_modules/rxjs/dist/esm5/internal/util/arrRemove.js","../../node_modules/rxjs/dist/esm5/internal/Subscription.js","../../node_modules/rxjs/dist/esm5/internal/config.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/timeoutProvider.js","../../node_modules/rxjs/dist/esm5/internal/util/reportUnhandledError.js","../../node_modules/rxjs/dist/esm5/internal/util/noop.js","../../node_modules/rxjs/dist/esm5/internal/util/errorContext.js","../../node_modules/rxjs/dist/esm5/internal/Subscriber.js","../../node_modules/rxjs/dist/esm5/internal/symbol/observable.js","../../node_modules/rxjs/dist/esm5/internal/util/identity.js","../../node_modules/rxjs/dist/esm5/internal/util/pipe.js","../../node_modules/rxjs/dist/esm5/internal/Observable.js","../../node_modules/rxjs/dist/esm5/internal/util/lift.js","../../node_modules/rxjs/dist/esm5/internal/operators/OperatorSubscriber.js","../../node_modules/rxjs/dist/esm5/internal/operators/refCount.js","../../node_modules/rxjs/dist/esm5/internal/observable/ConnectableObservable.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/performanceTimestampProvider.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/animationFrameProvider.js","../../node_modules/rxjs/dist/esm5/internal/observable/dom/animationFrames.js","../../node_modules/rxjs/dist/esm5/internal/util/ObjectUnsubscribedError.js","../../node_modules/rxjs/dist/esm5/internal/Subject.js","../../node_modules/rxjs/dist/esm5/internal/BehaviorSubject.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/dateTimestampProvider.js","../../node_modules/rxjs/dist/esm5/internal/ReplaySubject.js","../../node_modules/rxjs/dist/esm5/internal/AsyncSubject.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/Action.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/intervalProvider.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AsyncAction.js","../../node_modules/rxjs/dist/esm5/internal/util/Immediate.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/immediateProvider.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AsapAction.js","../../node_modules/rxjs/dist/esm5/internal/Scheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AsyncScheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AsapScheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/asap.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/async.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/QueueAction.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/QueueScheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/queue.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameAction.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/AnimationFrameScheduler.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/animationFrame.js","../../node_modules/rxjs/dist/esm5/internal/scheduler/VirtualTimeScheduler.js","../../node_modules/rxjs/dist/esm5/internal/observable/empty.js","../../node_modules/rxjs/dist/esm5/internal/util/isArrayLike.js","../../node_modules/rxjs/dist/esm5/internal/util/isPromise.js","../../node_modules/rxjs/dist/esm5/internal/util/isInteropObservable.js","../../node_modules/rxjs/dist/esm5/internal/util/isAsyncIterable.js","../../node_modules/rxjs/dist/esm5/internal/util/throwUnobservableError.js","../../node_modules/rxjs/dist/esm5/internal/symbol/iterator.js","../../node_modules/rxjs/dist/esm5/internal/util/isIterable.js","../../node_modules/rxjs/dist/esm5/internal/util/isReadableStreamLike.js","../../node_modules/rxjs/dist/esm5/internal/observable/innerFrom.js","../../node_modules/rxjs/dist/esm5/internal/util/executeSchedule.js","../../node_modules/rxjs/dist/esm5/internal/Notification.js","../../node_modules/rxjs/dist/esm5/internal/util/EmptyError.js","../../node_modules/rxjs/dist/esm5/internal/util/ArgumentOutOfRangeError.js","../../node_modules/rxjs/dist/esm5/internal/util/NotFoundError.js","../../node_modules/rxjs/dist/esm5/internal/util/SequenceError.js","../../node_modules/rxjs/dist/esm5/internal/operators/timeout.js","../../node_modules/rxjs/dist/esm5/internal/operators/map.js","../../node_modules/rxjs/dist/esm5/internal/util/mapOneOrManyArgs.js","../../node_modules/rxjs/dist/esm5/internal/operators/mergeInternals.js","../../node_modules/rxjs/dist/esm5/internal/operators/mergeMap.js","../../node_modules/rxjs/dist/esm5/internal/observable/fromEvent.js","../../node_modules/rxjs/dist/esm5/internal/observable/never.js","../../src/js/utils/constants.js","../../src/js/utils/getGlobal.js","../../node_modules/deparam.js/dist/esm/deparam.esm.js","../../src/js/utils/utils.js","../../src/js/utils/triggerEvent.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/utils/getPath.js","../../src/js/api/bindRouterEvents/index.js","../../src/js/utils/query.js","../../src/js/api/resolveQuery/index.js","../../src/js/api/set/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/index.js","../../src/js/utils/params.js","../../src/js/operators/index.js","../../render/index.js"],"sourcesContent":["/**\n * Function to extend an object with new and updated properties\n * @private\n * @returns {object}\n */\nexport function assign(...args) {\n return Object.assign(...args);\n}\n","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","export function isFunction(value) {\n return typeof value === 'function';\n}\n//# sourceMappingURL=isFunction.js.map","export function createErrorClass(createImpl) {\n var _super = function (instance) {\n Error.call(instance);\n instance.stack = new Error().stack;\n };\n var ctorFunc = createImpl(_super);\n ctorFunc.prototype = Object.create(Error.prototype);\n ctorFunc.prototype.constructor = ctorFunc;\n return ctorFunc;\n}\n//# sourceMappingURL=createErrorClass.js.map","import { createErrorClass } from './createErrorClass';\nexport var UnsubscriptionError = createErrorClass(function (_super) {\n return function UnsubscriptionErrorImpl(errors) {\n _super(this);\n this.message = errors\n ? errors.length + \" errors occurred during unsubscription:\\n\" + errors.map(function (err, i) { return i + 1 + \") \" + err.toString(); }).join('\\n ')\n : '';\n this.name = 'UnsubscriptionError';\n this.errors = errors;\n };\n});\n//# sourceMappingURL=UnsubscriptionError.js.map","export function arrRemove(arr, item) {\n if (arr) {\n var index = arr.indexOf(item);\n 0 <= index && arr.splice(index, 1);\n }\n}\n//# sourceMappingURL=arrRemove.js.map","import { __read, __spreadArray, __values } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { UnsubscriptionError } from './util/UnsubscriptionError';\nimport { arrRemove } from './util/arrRemove';\nvar Subscription = (function () {\n function Subscription(initialTeardown) {\n this.initialTeardown = initialTeardown;\n this.closed = false;\n this._parentage = null;\n this._finalizers = null;\n }\n Subscription.prototype.unsubscribe = function () {\n var e_1, _a, e_2, _b;\n var errors;\n if (!this.closed) {\n this.closed = true;\n var _parentage = this._parentage;\n if (_parentage) {\n this._parentage = null;\n if (Array.isArray(_parentage)) {\n try {\n for (var _parentage_1 = __values(_parentage), _parentage_1_1 = _parentage_1.next(); !_parentage_1_1.done; _parentage_1_1 = _parentage_1.next()) {\n var parent_1 = _parentage_1_1.value;\n parent_1.remove(this);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_parentage_1_1 && !_parentage_1_1.done && (_a = _parentage_1.return)) _a.call(_parentage_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n else {\n _parentage.remove(this);\n }\n }\n var initialFinalizer = this.initialTeardown;\n if (isFunction(initialFinalizer)) {\n try {\n initialFinalizer();\n }\n catch (e) {\n errors = e instanceof UnsubscriptionError ? e.errors : [e];\n }\n }\n var _finalizers = this._finalizers;\n if (_finalizers) {\n this._finalizers = null;\n try {\n for (var _finalizers_1 = __values(_finalizers), _finalizers_1_1 = _finalizers_1.next(); !_finalizers_1_1.done; _finalizers_1_1 = _finalizers_1.next()) {\n var finalizer = _finalizers_1_1.value;\n try {\n execFinalizer(finalizer);\n }\n catch (err) {\n errors = errors !== null && errors !== void 0 ? errors : [];\n if (err instanceof UnsubscriptionError) {\n errors = __spreadArray(__spreadArray([], __read(errors)), __read(err.errors));\n }\n else {\n errors.push(err);\n }\n }\n }\n }\n catch (e_2_1) { e_2 = { error: e_2_1 }; }\n finally {\n try {\n if (_finalizers_1_1 && !_finalizers_1_1.done && (_b = _finalizers_1.return)) _b.call(_finalizers_1);\n }\n finally { if (e_2) throw e_2.error; }\n }\n }\n if (errors) {\n throw new UnsubscriptionError(errors);\n }\n }\n };\n Subscription.prototype.add = function (teardown) {\n var _a;\n if (teardown && teardown !== this) {\n if (this.closed) {\n execFinalizer(teardown);\n }\n else {\n if (teardown instanceof Subscription) {\n if (teardown.closed || teardown._hasParent(this)) {\n return;\n }\n teardown._addParent(this);\n }\n (this._finalizers = (_a = this._finalizers) !== null && _a !== void 0 ? _a : []).push(teardown);\n }\n }\n };\n Subscription.prototype._hasParent = function (parent) {\n var _parentage = this._parentage;\n return _parentage === parent || (Array.isArray(_parentage) && _parentage.includes(parent));\n };\n Subscription.prototype._addParent = function (parent) {\n var _parentage = this._parentage;\n this._parentage = Array.isArray(_parentage) ? (_parentage.push(parent), _parentage) : _parentage ? [_parentage, parent] : parent;\n };\n Subscription.prototype._removeParent = function (parent) {\n var _parentage = this._parentage;\n if (_parentage === parent) {\n this._parentage = null;\n }\n else if (Array.isArray(_parentage)) {\n arrRemove(_parentage, parent);\n }\n };\n Subscription.prototype.remove = function (teardown) {\n var _finalizers = this._finalizers;\n _finalizers && arrRemove(_finalizers, teardown);\n if (teardown instanceof Subscription) {\n teardown._removeParent(this);\n }\n };\n Subscription.EMPTY = (function () {\n var empty = new Subscription();\n empty.closed = true;\n return empty;\n })();\n return Subscription;\n}());\nexport { Subscription };\nexport var EMPTY_SUBSCRIPTION = Subscription.EMPTY;\nexport function isSubscription(value) {\n return (value instanceof Subscription ||\n (value && 'closed' in value && isFunction(value.remove) && isFunction(value.add) && isFunction(value.unsubscribe)));\n}\nfunction execFinalizer(finalizer) {\n if (isFunction(finalizer)) {\n finalizer();\n }\n else {\n finalizer.unsubscribe();\n }\n}\n//# sourceMappingURL=Subscription.js.map","export var config = {\n onUnhandledError: null,\n onStoppedNotification: null,\n Promise: undefined,\n useDeprecatedSynchronousErrorHandling: false,\n useDeprecatedNextContext: false,\n};\n//# sourceMappingURL=config.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var timeoutProvider = {\n setTimeout: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = timeoutProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setTimeout) {\n return delegate.setTimeout.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setTimeout.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearTimeout: function (handle) {\n var delegate = timeoutProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearTimeout) || clearTimeout)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=timeoutProvider.js.map","import { config } from '../config';\nimport { timeoutProvider } from '../scheduler/timeoutProvider';\nexport function reportUnhandledError(err) {\n timeoutProvider.setTimeout(function () {\n var onUnhandledError = config.onUnhandledError;\n if (onUnhandledError) {\n onUnhandledError(err);\n }\n else {\n throw err;\n }\n });\n}\n//# sourceMappingURL=reportUnhandledError.js.map","export function noop() { }\n//# sourceMappingURL=noop.js.map","import { config } from '../config';\nvar context = null;\nexport function errorContext(cb) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n var isRoot = !context;\n if (isRoot) {\n context = { errorThrown: false, error: null };\n }\n cb();\n if (isRoot) {\n var _a = context, errorThrown = _a.errorThrown, error = _a.error;\n context = null;\n if (errorThrown) {\n throw error;\n }\n }\n }\n else {\n cb();\n }\n}\nexport function captureError(err) {\n if (config.useDeprecatedSynchronousErrorHandling && context) {\n context.errorThrown = true;\n context.error = err;\n }\n}\n//# sourceMappingURL=errorContext.js.map","import { __extends } from \"tslib\";\nimport { isFunction } from './util/isFunction';\nimport { isSubscription, Subscription } from './Subscription';\nimport { config } from './config';\nimport { reportUnhandledError } from './util/reportUnhandledError';\nimport { noop } from './util/noop';\nimport { nextNotification, errorNotification, COMPLETE_NOTIFICATION } from './NotificationFactories';\nimport { timeoutProvider } from './scheduler/timeoutProvider';\nimport { captureError } from './util/errorContext';\nvar Subscriber = (function (_super) {\n __extends(Subscriber, _super);\n function Subscriber(destination) {\n var _this = _super.call(this) || this;\n _this.isStopped = false;\n if (destination) {\n _this.destination = destination;\n if (isSubscription(destination)) {\n destination.add(_this);\n }\n }\n else {\n _this.destination = EMPTY_OBSERVER;\n }\n return _this;\n }\n Subscriber.create = function (next, error, complete) {\n return new SafeSubscriber(next, error, complete);\n };\n Subscriber.prototype.next = function (value) {\n if (this.isStopped) {\n handleStoppedNotification(nextNotification(value), this);\n }\n else {\n this._next(value);\n }\n };\n Subscriber.prototype.error = function (err) {\n if (this.isStopped) {\n handleStoppedNotification(errorNotification(err), this);\n }\n else {\n this.isStopped = true;\n this._error(err);\n }\n };\n Subscriber.prototype.complete = function () {\n if (this.isStopped) {\n handleStoppedNotification(COMPLETE_NOTIFICATION, this);\n }\n else {\n this.isStopped = true;\n this._complete();\n }\n };\n Subscriber.prototype.unsubscribe = function () {\n if (!this.closed) {\n this.isStopped = true;\n _super.prototype.unsubscribe.call(this);\n this.destination = null;\n }\n };\n Subscriber.prototype._next = function (value) {\n this.destination.next(value);\n };\n Subscriber.prototype._error = function (err) {\n try {\n this.destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n };\n Subscriber.prototype._complete = function () {\n try {\n this.destination.complete();\n }\n finally {\n this.unsubscribe();\n }\n };\n return Subscriber;\n}(Subscription));\nexport { Subscriber };\nvar _bind = Function.prototype.bind;\nfunction bind(fn, thisArg) {\n return _bind.call(fn, thisArg);\n}\nvar ConsumerObserver = (function () {\n function ConsumerObserver(partialObserver) {\n this.partialObserver = partialObserver;\n }\n ConsumerObserver.prototype.next = function (value) {\n var partialObserver = this.partialObserver;\n if (partialObserver.next) {\n try {\n partialObserver.next(value);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n ConsumerObserver.prototype.error = function (err) {\n var partialObserver = this.partialObserver;\n if (partialObserver.error) {\n try {\n partialObserver.error(err);\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n else {\n handleUnhandledError(err);\n }\n };\n ConsumerObserver.prototype.complete = function () {\n var partialObserver = this.partialObserver;\n if (partialObserver.complete) {\n try {\n partialObserver.complete();\n }\n catch (error) {\n handleUnhandledError(error);\n }\n }\n };\n return ConsumerObserver;\n}());\nvar SafeSubscriber = (function (_super) {\n __extends(SafeSubscriber, _super);\n function SafeSubscriber(observerOrNext, error, complete) {\n var _this = _super.call(this) || this;\n var partialObserver;\n if (isFunction(observerOrNext) || !observerOrNext) {\n partialObserver = {\n next: (observerOrNext !== null && observerOrNext !== void 0 ? observerOrNext : undefined),\n error: error !== null && error !== void 0 ? error : undefined,\n complete: complete !== null && complete !== void 0 ? complete : undefined,\n };\n }\n else {\n var context_1;\n if (_this && config.useDeprecatedNextContext) {\n context_1 = Object.create(observerOrNext);\n context_1.unsubscribe = function () { return _this.unsubscribe(); };\n partialObserver = {\n next: observerOrNext.next && bind(observerOrNext.next, context_1),\n error: observerOrNext.error && bind(observerOrNext.error, context_1),\n complete: observerOrNext.complete && bind(observerOrNext.complete, context_1),\n };\n }\n else {\n partialObserver = observerOrNext;\n }\n }\n _this.destination = new ConsumerObserver(partialObserver);\n return _this;\n }\n return SafeSubscriber;\n}(Subscriber));\nexport { SafeSubscriber };\nfunction handleUnhandledError(error) {\n if (config.useDeprecatedSynchronousErrorHandling) {\n captureError(error);\n }\n else {\n reportUnhandledError(error);\n }\n}\nfunction defaultErrorHandler(err) {\n throw err;\n}\nfunction handleStoppedNotification(notification, subscriber) {\n var onStoppedNotification = config.onStoppedNotification;\n onStoppedNotification && timeoutProvider.setTimeout(function () { return onStoppedNotification(notification, subscriber); });\n}\nexport var EMPTY_OBSERVER = {\n closed: true,\n next: noop,\n error: defaultErrorHandler,\n complete: noop,\n};\n//# sourceMappingURL=Subscriber.js.map","export var observable = (function () { return (typeof Symbol === 'function' && Symbol.observable) || '@@observable'; })();\n//# sourceMappingURL=observable.js.map","export function identity(x) {\n return x;\n}\n//# sourceMappingURL=identity.js.map","import { identity } from './identity';\nexport function pipe() {\n var fns = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n fns[_i] = arguments[_i];\n }\n return pipeFromArray(fns);\n}\nexport function pipeFromArray(fns) {\n if (fns.length === 0) {\n return identity;\n }\n if (fns.length === 1) {\n return fns[0];\n }\n return function piped(input) {\n return fns.reduce(function (prev, fn) { return fn(prev); }, input);\n };\n}\n//# sourceMappingURL=pipe.js.map","import { SafeSubscriber, Subscriber } from './Subscriber';\nimport { isSubscription } from './Subscription';\nimport { observable as Symbol_observable } from './symbol/observable';\nimport { pipeFromArray } from './util/pipe';\nimport { config } from './config';\nimport { isFunction } from './util/isFunction';\nimport { errorContext } from './util/errorContext';\nvar Observable = (function () {\n function Observable(subscribe) {\n if (subscribe) {\n this._subscribe = subscribe;\n }\n }\n Observable.prototype.lift = function (operator) {\n var observable = new Observable();\n observable.source = this;\n observable.operator = operator;\n return observable;\n };\n Observable.prototype.subscribe = function (observerOrNext, error, complete) {\n var _this = this;\n var subscriber = isSubscriber(observerOrNext) ? observerOrNext : new SafeSubscriber(observerOrNext, error, complete);\n errorContext(function () {\n var _a = _this, operator = _a.operator, source = _a.source;\n subscriber.add(operator\n ?\n operator.call(subscriber, source)\n : source\n ?\n _this._subscribe(subscriber)\n :\n _this._trySubscribe(subscriber));\n });\n return subscriber;\n };\n Observable.prototype._trySubscribe = function (sink) {\n try {\n return this._subscribe(sink);\n }\n catch (err) {\n sink.error(err);\n }\n };\n Observable.prototype.forEach = function (next, promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var subscriber = new SafeSubscriber({\n next: function (value) {\n try {\n next(value);\n }\n catch (err) {\n reject(err);\n subscriber.unsubscribe();\n }\n },\n error: reject,\n complete: resolve,\n });\n _this.subscribe(subscriber);\n });\n };\n Observable.prototype._subscribe = function (subscriber) {\n var _a;\n return (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber);\n };\n Observable.prototype[Symbol_observable] = function () {\n return this;\n };\n Observable.prototype.pipe = function () {\n var operations = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operations[_i] = arguments[_i];\n }\n return pipeFromArray(operations)(this);\n };\n Observable.prototype.toPromise = function (promiseCtor) {\n var _this = this;\n promiseCtor = getPromiseCtor(promiseCtor);\n return new promiseCtor(function (resolve, reject) {\n var value;\n _this.subscribe(function (x) { return (value = x); }, function (err) { return reject(err); }, function () { return resolve(value); });\n });\n };\n Observable.create = function (subscribe) {\n return new Observable(subscribe);\n };\n return Observable;\n}());\nexport { Observable };\nfunction getPromiseCtor(promiseCtor) {\n var _a;\n return (_a = promiseCtor !== null && promiseCtor !== void 0 ? promiseCtor : config.Promise) !== null && _a !== void 0 ? _a : Promise;\n}\nfunction isObserver(value) {\n return value && isFunction(value.next) && isFunction(value.error) && isFunction(value.complete);\n}\nfunction isSubscriber(value) {\n return (value && value instanceof Subscriber) || (isObserver(value) && isSubscription(value));\n}\n//# sourceMappingURL=Observable.js.map","import { isFunction } from './isFunction';\nexport function hasLift(source) {\n return isFunction(source === null || source === void 0 ? void 0 : source.lift);\n}\nexport function operate(init) {\n return function (source) {\n if (hasLift(source)) {\n return source.lift(function (liftedSource) {\n try {\n return init(liftedSource, this);\n }\n catch (err) {\n this.error(err);\n }\n });\n }\n throw new TypeError('Unable to lift unknown Observable type');\n };\n}\n//# sourceMappingURL=lift.js.map","import { __extends } from \"tslib\";\nimport { Subscriber } from '../Subscriber';\nexport function createOperatorSubscriber(destination, onNext, onComplete, onError, onFinalize) {\n return new OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize);\n}\nvar OperatorSubscriber = (function (_super) {\n __extends(OperatorSubscriber, _super);\n function OperatorSubscriber(destination, onNext, onComplete, onError, onFinalize, shouldUnsubscribe) {\n var _this = _super.call(this, destination) || this;\n _this.onFinalize = onFinalize;\n _this.shouldUnsubscribe = shouldUnsubscribe;\n _this._next = onNext\n ? function (value) {\n try {\n onNext(value);\n }\n catch (err) {\n destination.error(err);\n }\n }\n : _super.prototype._next;\n _this._error = onError\n ? function (err) {\n try {\n onError(err);\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._error;\n _this._complete = onComplete\n ? function () {\n try {\n onComplete();\n }\n catch (err) {\n destination.error(err);\n }\n finally {\n this.unsubscribe();\n }\n }\n : _super.prototype._complete;\n return _this;\n }\n OperatorSubscriber.prototype.unsubscribe = function () {\n var _a;\n if (!this.shouldUnsubscribe || this.shouldUnsubscribe()) {\n var closed_1 = this.closed;\n _super.prototype.unsubscribe.call(this);\n !closed_1 && ((_a = this.onFinalize) === null || _a === void 0 ? void 0 : _a.call(this));\n }\n };\n return OperatorSubscriber;\n}(Subscriber));\nexport { OperatorSubscriber };\n//# sourceMappingURL=OperatorSubscriber.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function refCount() {\n return operate(function (source, subscriber) {\n var connection = null;\n source._refCount++;\n var refCounter = createOperatorSubscriber(subscriber, undefined, undefined, undefined, function () {\n if (!source || source._refCount <= 0 || 0 < --source._refCount) {\n connection = null;\n return;\n }\n var sharedConnection = source._connection;\n var conn = connection;\n connection = null;\n if (sharedConnection && (!conn || sharedConnection === conn)) {\n sharedConnection.unsubscribe();\n }\n subscriber.unsubscribe();\n });\n source.subscribe(refCounter);\n if (!refCounter.closed) {\n connection = source.connect();\n }\n });\n}\n//# sourceMappingURL=refCount.js.map","import { __extends } from \"tslib\";\nimport { Observable } from '../Observable';\nimport { Subscription } from '../Subscription';\nimport { refCount as higherOrderRefCount } from '../operators/refCount';\nimport { createOperatorSubscriber } from '../operators/OperatorSubscriber';\nimport { hasLift } from '../util/lift';\nvar ConnectableObservable = (function (_super) {\n __extends(ConnectableObservable, _super);\n function ConnectableObservable(source, subjectFactory) {\n var _this = _super.call(this) || this;\n _this.source = source;\n _this.subjectFactory = subjectFactory;\n _this._subject = null;\n _this._refCount = 0;\n _this._connection = null;\n if (hasLift(source)) {\n _this.lift = source.lift;\n }\n return _this;\n }\n ConnectableObservable.prototype._subscribe = function (subscriber) {\n return this.getSubject().subscribe(subscriber);\n };\n ConnectableObservable.prototype.getSubject = function () {\n var subject = this._subject;\n if (!subject || subject.isStopped) {\n this._subject = this.subjectFactory();\n }\n return this._subject;\n };\n ConnectableObservable.prototype._teardown = function () {\n this._refCount = 0;\n var _connection = this._connection;\n this._subject = this._connection = null;\n _connection === null || _connection === void 0 ? void 0 : _connection.unsubscribe();\n };\n ConnectableObservable.prototype.connect = function () {\n var _this = this;\n var connection = this._connection;\n if (!connection) {\n connection = this._connection = new Subscription();\n var subject_1 = this.getSubject();\n connection.add(this.source.subscribe(createOperatorSubscriber(subject_1, undefined, function () {\n _this._teardown();\n subject_1.complete();\n }, function (err) {\n _this._teardown();\n subject_1.error(err);\n }, function () { return _this._teardown(); })));\n if (connection.closed) {\n this._connection = null;\n connection = Subscription.EMPTY;\n }\n }\n return connection;\n };\n ConnectableObservable.prototype.refCount = function () {\n return higherOrderRefCount()(this);\n };\n return ConnectableObservable;\n}(Observable));\nexport { ConnectableObservable };\n//# sourceMappingURL=ConnectableObservable.js.map","export var performanceTimestampProvider = {\n now: function () {\n return (performanceTimestampProvider.delegate || performance).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=performanceTimestampProvider.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { Subscription } from '../Subscription';\nexport var animationFrameProvider = {\n schedule: function (callback) {\n var request = requestAnimationFrame;\n var cancel = cancelAnimationFrame;\n var delegate = animationFrameProvider.delegate;\n if (delegate) {\n request = delegate.requestAnimationFrame;\n cancel = delegate.cancelAnimationFrame;\n }\n var handle = request(function (timestamp) {\n cancel = undefined;\n callback(timestamp);\n });\n return new Subscription(function () { return cancel === null || cancel === void 0 ? void 0 : cancel(handle); });\n },\n requestAnimationFrame: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = animationFrameProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.requestAnimationFrame) || requestAnimationFrame).apply(void 0, __spreadArray([], __read(args)));\n },\n cancelAnimationFrame: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = animationFrameProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.cancelAnimationFrame) || cancelAnimationFrame).apply(void 0, __spreadArray([], __read(args)));\n },\n delegate: undefined,\n};\n//# sourceMappingURL=animationFrameProvider.js.map","import { Observable } from '../../Observable';\nimport { Subscription } from '../../Subscription';\nimport { performanceTimestampProvider } from '../../scheduler/performanceTimestampProvider';\nimport { animationFrameProvider } from '../../scheduler/animationFrameProvider';\nexport function animationFrames(timestampProvider) {\n return timestampProvider ? animationFramesFactory(timestampProvider) : DEFAULT_ANIMATION_FRAMES;\n}\nfunction animationFramesFactory(timestampProvider) {\n var schedule = animationFrameProvider.schedule;\n return new Observable(function (subscriber) {\n var subscription = new Subscription();\n var provider = timestampProvider || performanceTimestampProvider;\n var start = provider.now();\n var run = function (timestamp) {\n var now = provider.now();\n subscriber.next({\n timestamp: timestampProvider ? now : timestamp,\n elapsed: now - start,\n });\n if (!subscriber.closed) {\n subscription.add(schedule(run));\n }\n };\n subscription.add(schedule(run));\n return subscription;\n });\n}\nvar DEFAULT_ANIMATION_FRAMES = animationFramesFactory();\n//# sourceMappingURL=animationFrames.js.map","import { createErrorClass } from './createErrorClass';\nexport var ObjectUnsubscribedError = createErrorClass(function (_super) {\n return function ObjectUnsubscribedErrorImpl() {\n _super(this);\n this.name = 'ObjectUnsubscribedError';\n this.message = 'object unsubscribed';\n };\n});\n//# sourceMappingURL=ObjectUnsubscribedError.js.map","import { __extends, __values } from \"tslib\";\nimport { Observable } from './Observable';\nimport { Subscription, EMPTY_SUBSCRIPTION } from './Subscription';\nimport { ObjectUnsubscribedError } from './util/ObjectUnsubscribedError';\nimport { arrRemove } from './util/arrRemove';\nimport { errorContext } from './util/errorContext';\nvar Subject = (function (_super) {\n __extends(Subject, _super);\n function Subject() {\n var _this = _super.call(this) || this;\n _this.closed = false;\n _this.currentObservers = null;\n _this.observers = [];\n _this.isStopped = false;\n _this.hasError = false;\n _this.thrownError = null;\n return _this;\n }\n Subject.prototype.lift = function (operator) {\n var subject = new AnonymousSubject(this, this);\n subject.operator = operator;\n return subject;\n };\n Subject.prototype._throwIfClosed = function () {\n if (this.closed) {\n throw new ObjectUnsubscribedError();\n }\n };\n Subject.prototype.next = function (value) {\n var _this = this;\n errorContext(function () {\n var e_1, _a;\n _this._throwIfClosed();\n if (!_this.isStopped) {\n if (!_this.currentObservers) {\n _this.currentObservers = Array.from(_this.observers);\n }\n try {\n for (var _b = __values(_this.currentObservers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n observer.next(value);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n });\n };\n Subject.prototype.error = function (err) {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.hasError = _this.isStopped = true;\n _this.thrownError = err;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().error(err);\n }\n }\n });\n };\n Subject.prototype.complete = function () {\n var _this = this;\n errorContext(function () {\n _this._throwIfClosed();\n if (!_this.isStopped) {\n _this.isStopped = true;\n var observers = _this.observers;\n while (observers.length) {\n observers.shift().complete();\n }\n }\n });\n };\n Subject.prototype.unsubscribe = function () {\n this.isStopped = this.closed = true;\n this.observers = this.currentObservers = null;\n };\n Object.defineProperty(Subject.prototype, \"observed\", {\n get: function () {\n var _a;\n return ((_a = this.observers) === null || _a === void 0 ? void 0 : _a.length) > 0;\n },\n enumerable: false,\n configurable: true\n });\n Subject.prototype._trySubscribe = function (subscriber) {\n this._throwIfClosed();\n return _super.prototype._trySubscribe.call(this, subscriber);\n };\n Subject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._checkFinalizedStatuses(subscriber);\n return this._innerSubscribe(subscriber);\n };\n Subject.prototype._innerSubscribe = function (subscriber) {\n var _this = this;\n var _a = this, hasError = _a.hasError, isStopped = _a.isStopped, observers = _a.observers;\n if (hasError || isStopped) {\n return EMPTY_SUBSCRIPTION;\n }\n this.currentObservers = null;\n observers.push(subscriber);\n return new Subscription(function () {\n _this.currentObservers = null;\n arrRemove(observers, subscriber);\n });\n };\n Subject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, isStopped = _a.isStopped;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped) {\n subscriber.complete();\n }\n };\n Subject.prototype.asObservable = function () {\n var observable = new Observable();\n observable.source = this;\n return observable;\n };\n Subject.create = function (destination, source) {\n return new AnonymousSubject(destination, source);\n };\n return Subject;\n}(Observable));\nexport { Subject };\nvar AnonymousSubject = (function (_super) {\n __extends(AnonymousSubject, _super);\n function AnonymousSubject(destination, source) {\n var _this = _super.call(this) || this;\n _this.destination = destination;\n _this.source = source;\n return _this;\n }\n AnonymousSubject.prototype.next = function (value) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.next) === null || _b === void 0 ? void 0 : _b.call(_a, value);\n };\n AnonymousSubject.prototype.error = function (err) {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.error) === null || _b === void 0 ? void 0 : _b.call(_a, err);\n };\n AnonymousSubject.prototype.complete = function () {\n var _a, _b;\n (_b = (_a = this.destination) === null || _a === void 0 ? void 0 : _a.complete) === null || _b === void 0 ? void 0 : _b.call(_a);\n };\n AnonymousSubject.prototype._subscribe = function (subscriber) {\n var _a, _b;\n return (_b = (_a = this.source) === null || _a === void 0 ? void 0 : _a.subscribe(subscriber)) !== null && _b !== void 0 ? _b : EMPTY_SUBSCRIPTION;\n };\n return AnonymousSubject;\n}(Subject));\nexport { AnonymousSubject };\n//# sourceMappingURL=Subject.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nvar BehaviorSubject = (function (_super) {\n __extends(BehaviorSubject, _super);\n function BehaviorSubject(_value) {\n var _this = _super.call(this) || this;\n _this._value = _value;\n return _this;\n }\n Object.defineProperty(BehaviorSubject.prototype, \"value\", {\n get: function () {\n return this.getValue();\n },\n enumerable: false,\n configurable: true\n });\n BehaviorSubject.prototype._subscribe = function (subscriber) {\n var subscription = _super.prototype._subscribe.call(this, subscriber);\n !subscription.closed && subscriber.next(this._value);\n return subscription;\n };\n BehaviorSubject.prototype.getValue = function () {\n var _a = this, hasError = _a.hasError, thrownError = _a.thrownError, _value = _a._value;\n if (hasError) {\n throw thrownError;\n }\n this._throwIfClosed();\n return _value;\n };\n BehaviorSubject.prototype.next = function (value) {\n _super.prototype.next.call(this, (this._value = value));\n };\n return BehaviorSubject;\n}(Subject));\nexport { BehaviorSubject };\n//# sourceMappingURL=BehaviorSubject.js.map","export var dateTimestampProvider = {\n now: function () {\n return (dateTimestampProvider.delegate || Date).now();\n },\n delegate: undefined,\n};\n//# sourceMappingURL=dateTimestampProvider.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nimport { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar ReplaySubject = (function (_super) {\n __extends(ReplaySubject, _super);\n function ReplaySubject(_bufferSize, _windowTime, _timestampProvider) {\n if (_bufferSize === void 0) { _bufferSize = Infinity; }\n if (_windowTime === void 0) { _windowTime = Infinity; }\n if (_timestampProvider === void 0) { _timestampProvider = dateTimestampProvider; }\n var _this = _super.call(this) || this;\n _this._bufferSize = _bufferSize;\n _this._windowTime = _windowTime;\n _this._timestampProvider = _timestampProvider;\n _this._buffer = [];\n _this._infiniteTimeWindow = true;\n _this._infiniteTimeWindow = _windowTime === Infinity;\n _this._bufferSize = Math.max(1, _bufferSize);\n _this._windowTime = Math.max(1, _windowTime);\n return _this;\n }\n ReplaySubject.prototype.next = function (value) {\n var _a = this, isStopped = _a.isStopped, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow, _timestampProvider = _a._timestampProvider, _windowTime = _a._windowTime;\n if (!isStopped) {\n _buffer.push(value);\n !_infiniteTimeWindow && _buffer.push(_timestampProvider.now() + _windowTime);\n }\n this._trimBuffer();\n _super.prototype.next.call(this, value);\n };\n ReplaySubject.prototype._subscribe = function (subscriber) {\n this._throwIfClosed();\n this._trimBuffer();\n var subscription = this._innerSubscribe(subscriber);\n var _a = this, _infiniteTimeWindow = _a._infiniteTimeWindow, _buffer = _a._buffer;\n var copy = _buffer.slice();\n for (var i = 0; i < copy.length && !subscriber.closed; i += _infiniteTimeWindow ? 1 : 2) {\n subscriber.next(copy[i]);\n }\n this._checkFinalizedStatuses(subscriber);\n return subscription;\n };\n ReplaySubject.prototype._trimBuffer = function () {\n var _a = this, _bufferSize = _a._bufferSize, _timestampProvider = _a._timestampProvider, _buffer = _a._buffer, _infiniteTimeWindow = _a._infiniteTimeWindow;\n var adjustedBufferSize = (_infiniteTimeWindow ? 1 : 2) * _bufferSize;\n _bufferSize < Infinity && adjustedBufferSize < _buffer.length && _buffer.splice(0, _buffer.length - adjustedBufferSize);\n if (!_infiniteTimeWindow) {\n var now = _timestampProvider.now();\n var last = 0;\n for (var i = 1; i < _buffer.length && _buffer[i] <= now; i += 2) {\n last = i;\n }\n last && _buffer.splice(0, last + 1);\n }\n };\n return ReplaySubject;\n}(Subject));\nexport { ReplaySubject };\n//# sourceMappingURL=ReplaySubject.js.map","import { __extends } from \"tslib\";\nimport { Subject } from './Subject';\nvar AsyncSubject = (function (_super) {\n __extends(AsyncSubject, _super);\n function AsyncSubject() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._value = null;\n _this._hasValue = false;\n _this._isComplete = false;\n return _this;\n }\n AsyncSubject.prototype._checkFinalizedStatuses = function (subscriber) {\n var _a = this, hasError = _a.hasError, _hasValue = _a._hasValue, _value = _a._value, thrownError = _a.thrownError, isStopped = _a.isStopped, _isComplete = _a._isComplete;\n if (hasError) {\n subscriber.error(thrownError);\n }\n else if (isStopped || _isComplete) {\n _hasValue && subscriber.next(_value);\n subscriber.complete();\n }\n };\n AsyncSubject.prototype.next = function (value) {\n if (!this.isStopped) {\n this._value = value;\n this._hasValue = true;\n }\n };\n AsyncSubject.prototype.complete = function () {\n var _a = this, _hasValue = _a._hasValue, _value = _a._value, _isComplete = _a._isComplete;\n if (!_isComplete) {\n this._isComplete = true;\n _hasValue && _super.prototype.next.call(this, _value);\n _super.prototype.complete.call(this);\n }\n };\n return AsyncSubject;\n}(Subject));\nexport { AsyncSubject };\n//# sourceMappingURL=AsyncSubject.js.map","import { __extends } from \"tslib\";\nimport { Subscription } from '../Subscription';\nvar Action = (function (_super) {\n __extends(Action, _super);\n function Action(scheduler, work) {\n return _super.call(this) || this;\n }\n Action.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n return this;\n };\n return Action;\n}(Subscription));\nexport { Action };\n//# sourceMappingURL=Action.js.map","import { __read, __spreadArray } from \"tslib\";\nexport var intervalProvider = {\n setInterval: function (handler, timeout) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var delegate = intervalProvider.delegate;\n if (delegate === null || delegate === void 0 ? void 0 : delegate.setInterval) {\n return delegate.setInterval.apply(delegate, __spreadArray([handler, timeout], __read(args)));\n }\n return setInterval.apply(void 0, __spreadArray([handler, timeout], __read(args)));\n },\n clearInterval: function (handle) {\n var delegate = intervalProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearInterval) || clearInterval)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=intervalProvider.js.map","import { __extends } from \"tslib\";\nimport { Action } from './Action';\nimport { intervalProvider } from './intervalProvider';\nimport { arrRemove } from '../util/arrRemove';\nvar AsyncAction = (function (_super) {\n __extends(AsyncAction, _super);\n function AsyncAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.pending = false;\n return _this;\n }\n AsyncAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (this.closed) {\n return this;\n }\n this.state = state;\n var id = this.id;\n var scheduler = this.scheduler;\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, delay);\n }\n this.pending = true;\n this.delay = delay;\n this.id = this.id || this.requestAsyncId(scheduler, this.id, delay);\n return this;\n };\n AsyncAction.prototype.requestAsyncId = function (scheduler, _id, delay) {\n if (delay === void 0) { delay = 0; }\n return intervalProvider.setInterval(scheduler.flush.bind(scheduler, this), delay);\n };\n AsyncAction.prototype.recycleAsyncId = function (_scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay != null && this.delay === delay && this.pending === false) {\n return id;\n }\n intervalProvider.clearInterval(id);\n return undefined;\n };\n AsyncAction.prototype.execute = function (state, delay) {\n if (this.closed) {\n return new Error('executing a cancelled action');\n }\n this.pending = false;\n var error = this._execute(state, delay);\n if (error) {\n return error;\n }\n else if (this.pending === false && this.id != null) {\n this.id = this.recycleAsyncId(this.scheduler, this.id, null);\n }\n };\n AsyncAction.prototype._execute = function (state, _delay) {\n var errored = false;\n var errorValue;\n try {\n this.work(state);\n }\n catch (e) {\n errored = true;\n errorValue = e ? e : new Error('Scheduled action threw falsy error');\n }\n if (errored) {\n this.unsubscribe();\n return errorValue;\n }\n };\n AsyncAction.prototype.unsubscribe = function () {\n if (!this.closed) {\n var _a = this, id = _a.id, scheduler = _a.scheduler;\n var actions = scheduler.actions;\n this.work = this.state = this.scheduler = null;\n this.pending = false;\n arrRemove(actions, this);\n if (id != null) {\n this.id = this.recycleAsyncId(scheduler, id, null);\n }\n this.delay = null;\n _super.prototype.unsubscribe.call(this);\n }\n };\n return AsyncAction;\n}(Action));\nexport { AsyncAction };\n//# sourceMappingURL=AsyncAction.js.map","var nextHandle = 1;\nvar resolved;\nvar activeHandles = {};\nfunction findAndClearHandle(handle) {\n if (handle in activeHandles) {\n delete activeHandles[handle];\n return true;\n }\n return false;\n}\nexport var Immediate = {\n setImmediate: function (cb) {\n var handle = nextHandle++;\n activeHandles[handle] = true;\n if (!resolved) {\n resolved = Promise.resolve();\n }\n resolved.then(function () { return findAndClearHandle(handle) && cb(); });\n return handle;\n },\n clearImmediate: function (handle) {\n findAndClearHandle(handle);\n },\n};\nexport var TestTools = {\n pending: function () {\n return Object.keys(activeHandles).length;\n }\n};\n//# sourceMappingURL=Immediate.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { Immediate } from '../util/Immediate';\nvar setImmediate = Immediate.setImmediate, clearImmediate = Immediate.clearImmediate;\nexport var immediateProvider = {\n setImmediate: function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var delegate = immediateProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.setImmediate) || setImmediate).apply(void 0, __spreadArray([], __read(args)));\n },\n clearImmediate: function (handle) {\n var delegate = immediateProvider.delegate;\n return ((delegate === null || delegate === void 0 ? void 0 : delegate.clearImmediate) || clearImmediate)(handle);\n },\n delegate: undefined,\n};\n//# sourceMappingURL=immediateProvider.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { immediateProvider } from './immediateProvider';\nvar AsapAction = (function (_super) {\n __extends(AsapAction, _super);\n function AsapAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AsapAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = immediateProvider.setImmediate(scheduler.flush.bind(scheduler, undefined)));\n };\n AsapAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (!scheduler.actions.some(function (action) { return action.id === id; })) {\n immediateProvider.clearImmediate(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n };\n return AsapAction;\n}(AsyncAction));\nexport { AsapAction };\n//# sourceMappingURL=AsapAction.js.map","import { dateTimestampProvider } from './scheduler/dateTimestampProvider';\nvar Scheduler = (function () {\n function Scheduler(schedulerActionCtor, now) {\n if (now === void 0) { now = Scheduler.now; }\n this.schedulerActionCtor = schedulerActionCtor;\n this.now = now;\n }\n Scheduler.prototype.schedule = function (work, delay, state) {\n if (delay === void 0) { delay = 0; }\n return new this.schedulerActionCtor(this, work).schedule(state, delay);\n };\n Scheduler.now = dateTimestampProvider.now;\n return Scheduler;\n}());\nexport { Scheduler };\n//# sourceMappingURL=Scheduler.js.map","import { __extends } from \"tslib\";\nimport { Scheduler } from '../Scheduler';\nvar AsyncScheduler = (function (_super) {\n __extends(AsyncScheduler, _super);\n function AsyncScheduler(SchedulerAction, now) {\n if (now === void 0) { now = Scheduler.now; }\n var _this = _super.call(this, SchedulerAction, now) || this;\n _this.actions = [];\n _this._active = false;\n _this._scheduled = undefined;\n return _this;\n }\n AsyncScheduler.prototype.flush = function (action) {\n var actions = this.actions;\n if (this._active) {\n actions.push(action);\n return;\n }\n var error;\n this._active = true;\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions.shift()));\n this._active = false;\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsyncScheduler;\n}(Scheduler));\nexport { AsyncScheduler };\n//# sourceMappingURL=AsyncScheduler.js.map","import { __extends } from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AsapScheduler = (function (_super) {\n __extends(AsapScheduler, _super);\n function AsapScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AsapScheduler.prototype.flush = function (action) {\n this._active = true;\n var flushId = this._scheduled;\n this._scheduled = undefined;\n var actions = this.actions;\n var error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AsapScheduler;\n}(AsyncScheduler));\nexport { AsapScheduler };\n//# sourceMappingURL=AsapScheduler.js.map","import { AsapAction } from './AsapAction';\nimport { AsapScheduler } from './AsapScheduler';\nexport var asapScheduler = new AsapScheduler(AsapAction);\nexport var asap = asapScheduler;\n//# sourceMappingURL=asap.js.map","import { AsyncAction } from './AsyncAction';\nimport { AsyncScheduler } from './AsyncScheduler';\nexport var asyncScheduler = new AsyncScheduler(AsyncAction);\nexport var async = asyncScheduler;\n//# sourceMappingURL=async.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nvar QueueAction = (function (_super) {\n __extends(QueueAction, _super);\n function QueueAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n QueueAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay > 0) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.delay = delay;\n this.state = state;\n this.scheduler.flush(this);\n return this;\n };\n QueueAction.prototype.execute = function (state, delay) {\n return (delay > 0 || this.closed) ?\n _super.prototype.execute.call(this, state, delay) :\n this._execute(state, delay);\n };\n QueueAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n return scheduler.flush(this);\n };\n return QueueAction;\n}(AsyncAction));\nexport { QueueAction };\n//# sourceMappingURL=QueueAction.js.map","import { __extends } from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar QueueScheduler = (function (_super) {\n __extends(QueueScheduler, _super);\n function QueueScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n return QueueScheduler;\n}(AsyncScheduler));\nexport { QueueScheduler };\n//# sourceMappingURL=QueueScheduler.js.map","import { QueueAction } from './QueueAction';\nimport { QueueScheduler } from './QueueScheduler';\nexport var queueScheduler = new QueueScheduler(QueueAction);\nexport var queue = queueScheduler;\n//# sourceMappingURL=queue.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { animationFrameProvider } from './animationFrameProvider';\nvar AnimationFrameAction = (function (_super) {\n __extends(AnimationFrameAction, _super);\n function AnimationFrameAction(scheduler, work) {\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n return _this;\n }\n AnimationFrameAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if (delay !== null && delay > 0) {\n return _super.prototype.requestAsyncId.call(this, scheduler, id, delay);\n }\n scheduler.actions.push(this);\n return scheduler._scheduled || (scheduler._scheduled = animationFrameProvider.requestAnimationFrame(function () { return scheduler.flush(undefined); }));\n };\n AnimationFrameAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n if ((delay != null && delay > 0) || (delay == null && this.delay > 0)) {\n return _super.prototype.recycleAsyncId.call(this, scheduler, id, delay);\n }\n if (!scheduler.actions.some(function (action) { return action.id === id; })) {\n animationFrameProvider.cancelAnimationFrame(id);\n scheduler._scheduled = undefined;\n }\n return undefined;\n };\n return AnimationFrameAction;\n}(AsyncAction));\nexport { AnimationFrameAction };\n//# sourceMappingURL=AnimationFrameAction.js.map","import { __extends } from \"tslib\";\nimport { AsyncScheduler } from './AsyncScheduler';\nvar AnimationFrameScheduler = (function (_super) {\n __extends(AnimationFrameScheduler, _super);\n function AnimationFrameScheduler() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n AnimationFrameScheduler.prototype.flush = function (action) {\n this._active = true;\n var flushId = this._scheduled;\n this._scheduled = undefined;\n var actions = this.actions;\n var error;\n action = action || actions.shift();\n do {\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n } while ((action = actions[0]) && action.id === flushId && actions.shift());\n this._active = false;\n if (error) {\n while ((action = actions[0]) && action.id === flushId && actions.shift()) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n return AnimationFrameScheduler;\n}(AsyncScheduler));\nexport { AnimationFrameScheduler };\n//# sourceMappingURL=AnimationFrameScheduler.js.map","import { AnimationFrameAction } from './AnimationFrameAction';\nimport { AnimationFrameScheduler } from './AnimationFrameScheduler';\nexport var animationFrameScheduler = new AnimationFrameScheduler(AnimationFrameAction);\nexport var animationFrame = animationFrameScheduler;\n//# sourceMappingURL=animationFrame.js.map","import { __extends } from \"tslib\";\nimport { AsyncAction } from './AsyncAction';\nimport { Subscription } from '../Subscription';\nimport { AsyncScheduler } from './AsyncScheduler';\nvar VirtualTimeScheduler = (function (_super) {\n __extends(VirtualTimeScheduler, _super);\n function VirtualTimeScheduler(schedulerActionCtor, maxFrames) {\n if (schedulerActionCtor === void 0) { schedulerActionCtor = VirtualAction; }\n if (maxFrames === void 0) { maxFrames = Infinity; }\n var _this = _super.call(this, schedulerActionCtor, function () { return _this.frame; }) || this;\n _this.maxFrames = maxFrames;\n _this.frame = 0;\n _this.index = -1;\n return _this;\n }\n VirtualTimeScheduler.prototype.flush = function () {\n var _a = this, actions = _a.actions, maxFrames = _a.maxFrames;\n var error;\n var action;\n while ((action = actions[0]) && action.delay <= maxFrames) {\n actions.shift();\n this.frame = action.delay;\n if ((error = action.execute(action.state, action.delay))) {\n break;\n }\n }\n if (error) {\n while ((action = actions.shift())) {\n action.unsubscribe();\n }\n throw error;\n }\n };\n VirtualTimeScheduler.frameTimeFactor = 10;\n return VirtualTimeScheduler;\n}(AsyncScheduler));\nexport { VirtualTimeScheduler };\nvar VirtualAction = (function (_super) {\n __extends(VirtualAction, _super);\n function VirtualAction(scheduler, work, index) {\n if (index === void 0) { index = (scheduler.index += 1); }\n var _this = _super.call(this, scheduler, work) || this;\n _this.scheduler = scheduler;\n _this.work = work;\n _this.index = index;\n _this.active = true;\n _this.index = scheduler.index = index;\n return _this;\n }\n VirtualAction.prototype.schedule = function (state, delay) {\n if (delay === void 0) { delay = 0; }\n if (Number.isFinite(delay)) {\n if (!this.id) {\n return _super.prototype.schedule.call(this, state, delay);\n }\n this.active = false;\n var action = new VirtualAction(this.scheduler, this.work);\n this.add(action);\n return action.schedule(state, delay);\n }\n else {\n return Subscription.EMPTY;\n }\n };\n VirtualAction.prototype.requestAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n this.delay = scheduler.frame + delay;\n var actions = scheduler.actions;\n actions.push(this);\n actions.sort(VirtualAction.sortActions);\n return true;\n };\n VirtualAction.prototype.recycleAsyncId = function (scheduler, id, delay) {\n if (delay === void 0) { delay = 0; }\n return undefined;\n };\n VirtualAction.prototype._execute = function (state, delay) {\n if (this.active === true) {\n return _super.prototype._execute.call(this, state, delay);\n }\n };\n VirtualAction.sortActions = function (a, b) {\n if (a.delay === b.delay) {\n if (a.index === b.index) {\n return 0;\n }\n else if (a.index > b.index) {\n return 1;\n }\n else {\n return -1;\n }\n }\n else if (a.delay > b.delay) {\n return 1;\n }\n else {\n return -1;\n }\n };\n return VirtualAction;\n}(AsyncAction));\nexport { VirtualAction };\n//# sourceMappingURL=VirtualTimeScheduler.js.map","import { Observable } from '../Observable';\nexport var EMPTY = new Observable(function (subscriber) { return subscriber.complete(); });\nexport function empty(scheduler) {\n return scheduler ? emptyScheduled(scheduler) : EMPTY;\n}\nfunction emptyScheduled(scheduler) {\n return new Observable(function (subscriber) { return scheduler.schedule(function () { return subscriber.complete(); }); });\n}\n//# sourceMappingURL=empty.js.map","export var isArrayLike = (function (x) { return x && typeof x.length === 'number' && typeof x !== 'function'; });\n//# sourceMappingURL=isArrayLike.js.map","import { isFunction } from \"./isFunction\";\nexport function isPromise(value) {\n return isFunction(value === null || value === void 0 ? void 0 : value.then);\n}\n//# sourceMappingURL=isPromise.js.map","import { observable as Symbol_observable } from '../symbol/observable';\nimport { isFunction } from './isFunction';\nexport function isInteropObservable(input) {\n return isFunction(input[Symbol_observable]);\n}\n//# sourceMappingURL=isInteropObservable.js.map","import { isFunction } from './isFunction';\nexport function isAsyncIterable(obj) {\n return Symbol.asyncIterator && isFunction(obj === null || obj === void 0 ? void 0 : obj[Symbol.asyncIterator]);\n}\n//# sourceMappingURL=isAsyncIterable.js.map","export function createInvalidObservableTypeError(input) {\n return new TypeError(\"You provided \" + (input !== null && typeof input === 'object' ? 'an invalid object' : \"'\" + input + \"'\") + \" where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.\");\n}\n//# sourceMappingURL=throwUnobservableError.js.map","export function getSymbolIterator() {\n if (typeof Symbol !== 'function' || !Symbol.iterator) {\n return '@@iterator';\n }\n return Symbol.iterator;\n}\nexport var iterator = getSymbolIterator();\n//# sourceMappingURL=iterator.js.map","import { iterator as Symbol_iterator } from '../symbol/iterator';\nimport { isFunction } from './isFunction';\nexport function isIterable(input) {\n return isFunction(input === null || input === void 0 ? void 0 : input[Symbol_iterator]);\n}\n//# sourceMappingURL=isIterable.js.map","import { __asyncGenerator, __await, __generator } from \"tslib\";\nimport { isFunction } from './isFunction';\nexport function readableStreamLikeToAsyncGenerator(readableStream) {\n return __asyncGenerator(this, arguments, function readableStreamLikeToAsyncGenerator_1() {\n var reader, _a, value, done;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n reader = readableStream.getReader();\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 9, 10]);\n _b.label = 2;\n case 2:\n if (!true) return [3, 8];\n return [4, __await(reader.read())];\n case 3:\n _a = _b.sent(), value = _a.value, done = _a.done;\n if (!done) return [3, 5];\n return [4, __await(void 0)];\n case 4: return [2, _b.sent()];\n case 5: return [4, __await(value)];\n case 6: return [4, _b.sent()];\n case 7:\n _b.sent();\n return [3, 2];\n case 8: return [3, 10];\n case 9:\n reader.releaseLock();\n return [7];\n case 10: return [2];\n }\n });\n });\n}\nexport function isReadableStreamLike(obj) {\n return isFunction(obj === null || obj === void 0 ? void 0 : obj.getReader);\n}\n//# sourceMappingURL=isReadableStreamLike.js.map","import { __asyncValues, __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isPromise } from '../util/isPromise';\nimport { Observable } from '../Observable';\nimport { isInteropObservable } from '../util/isInteropObservable';\nimport { isAsyncIterable } from '../util/isAsyncIterable';\nimport { createInvalidObservableTypeError } from '../util/throwUnobservableError';\nimport { isIterable } from '../util/isIterable';\nimport { isReadableStreamLike, readableStreamLikeToAsyncGenerator } from '../util/isReadableStreamLike';\nimport { isFunction } from '../util/isFunction';\nimport { reportUnhandledError } from '../util/reportUnhandledError';\nimport { observable as Symbol_observable } from '../symbol/observable';\nexport function innerFrom(input) {\n if (input instanceof Observable) {\n return input;\n }\n if (input != null) {\n if (isInteropObservable(input)) {\n return fromInteropObservable(input);\n }\n if (isArrayLike(input)) {\n return fromArrayLike(input);\n }\n if (isPromise(input)) {\n return fromPromise(input);\n }\n if (isAsyncIterable(input)) {\n return fromAsyncIterable(input);\n }\n if (isIterable(input)) {\n return fromIterable(input);\n }\n if (isReadableStreamLike(input)) {\n return fromReadableStreamLike(input);\n }\n }\n throw createInvalidObservableTypeError(input);\n}\nexport function fromInteropObservable(obj) {\n return new Observable(function (subscriber) {\n var obs = obj[Symbol_observable]();\n if (isFunction(obs.subscribe)) {\n return obs.subscribe(subscriber);\n }\n throw new TypeError('Provided object does not correctly implement Symbol.observable');\n });\n}\nexport function fromArrayLike(array) {\n return new Observable(function (subscriber) {\n for (var i = 0; i < array.length && !subscriber.closed; i++) {\n subscriber.next(array[i]);\n }\n subscriber.complete();\n });\n}\nexport function fromPromise(promise) {\n return new Observable(function (subscriber) {\n promise\n .then(function (value) {\n if (!subscriber.closed) {\n subscriber.next(value);\n subscriber.complete();\n }\n }, function (err) { return subscriber.error(err); })\n .then(null, reportUnhandledError);\n });\n}\nexport function fromIterable(iterable) {\n return new Observable(function (subscriber) {\n var e_1, _a;\n try {\n for (var iterable_1 = __values(iterable), iterable_1_1 = iterable_1.next(); !iterable_1_1.done; iterable_1_1 = iterable_1.next()) {\n var value = iterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (iterable_1_1 && !iterable_1_1.done && (_a = iterable_1.return)) _a.call(iterable_1);\n }\n finally { if (e_1) throw e_1.error; }\n }\n subscriber.complete();\n });\n}\nexport function fromAsyncIterable(asyncIterable) {\n return new Observable(function (subscriber) {\n process(asyncIterable, subscriber).catch(function (err) { return subscriber.error(err); });\n });\n}\nexport function fromReadableStreamLike(readableStream) {\n return fromAsyncIterable(readableStreamLikeToAsyncGenerator(readableStream));\n}\nfunction process(asyncIterable, subscriber) {\n var asyncIterable_1, asyncIterable_1_1;\n var e_2, _a;\n return __awaiter(this, void 0, void 0, function () {\n var value, e_2_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 5, 6, 11]);\n asyncIterable_1 = __asyncValues(asyncIterable);\n _b.label = 1;\n case 1: return [4, asyncIterable_1.next()];\n case 2:\n if (!(asyncIterable_1_1 = _b.sent(), !asyncIterable_1_1.done)) return [3, 4];\n value = asyncIterable_1_1.value;\n subscriber.next(value);\n if (subscriber.closed) {\n return [2];\n }\n _b.label = 3;\n case 3: return [3, 1];\n case 4: return [3, 11];\n case 5:\n e_2_1 = _b.sent();\n e_2 = { error: e_2_1 };\n return [3, 11];\n case 6:\n _b.trys.push([6, , 9, 10]);\n if (!(asyncIterable_1_1 && !asyncIterable_1_1.done && (_a = asyncIterable_1.return))) return [3, 8];\n return [4, _a.call(asyncIterable_1)];\n case 7:\n _b.sent();\n _b.label = 8;\n case 8: return [3, 10];\n case 9:\n if (e_2) throw e_2.error;\n return [7];\n case 10: return [7];\n case 11:\n subscriber.complete();\n return [2];\n }\n });\n });\n}\n//# sourceMappingURL=innerFrom.js.map","export function executeSchedule(parentSubscription, scheduler, work, delay, repeat) {\n if (delay === void 0) { delay = 0; }\n if (repeat === void 0) { repeat = false; }\n var scheduleSubscription = scheduler.schedule(function () {\n work();\n if (repeat) {\n parentSubscription.add(this.schedule(null, delay));\n }\n else {\n this.unsubscribe();\n }\n }, delay);\n parentSubscription.add(scheduleSubscription);\n if (!repeat) {\n return scheduleSubscription;\n }\n}\n//# sourceMappingURL=executeSchedule.js.map","import { EMPTY } from './observable/empty';\nimport { of } from './observable/of';\nimport { throwError } from './observable/throwError';\nimport { isFunction } from './util/isFunction';\nexport var NotificationKind;\n(function (NotificationKind) {\n NotificationKind[\"NEXT\"] = \"N\";\n NotificationKind[\"ERROR\"] = \"E\";\n NotificationKind[\"COMPLETE\"] = \"C\";\n})(NotificationKind || (NotificationKind = {}));\nvar Notification = (function () {\n function Notification(kind, value, error) {\n this.kind = kind;\n this.value = value;\n this.error = error;\n this.hasValue = kind === 'N';\n }\n Notification.prototype.observe = function (observer) {\n return observeNotification(this, observer);\n };\n Notification.prototype.do = function (nextHandler, errorHandler, completeHandler) {\n var _a = this, kind = _a.kind, value = _a.value, error = _a.error;\n return kind === 'N' ? nextHandler === null || nextHandler === void 0 ? void 0 : nextHandler(value) : kind === 'E' ? errorHandler === null || errorHandler === void 0 ? void 0 : errorHandler(error) : completeHandler === null || completeHandler === void 0 ? void 0 : completeHandler();\n };\n Notification.prototype.accept = function (nextOrObserver, error, complete) {\n var _a;\n return isFunction((_a = nextOrObserver) === null || _a === void 0 ? void 0 : _a.next)\n ? this.observe(nextOrObserver)\n : this.do(nextOrObserver, error, complete);\n };\n Notification.prototype.toObservable = function () {\n var _a = this, kind = _a.kind, value = _a.value, error = _a.error;\n var result = kind === 'N'\n ?\n of(value)\n :\n kind === 'E'\n ?\n throwError(function () { return error; })\n :\n kind === 'C'\n ?\n EMPTY\n :\n 0;\n if (!result) {\n throw new TypeError(\"Unexpected notification kind \" + kind);\n }\n return result;\n };\n Notification.createNext = function (value) {\n return new Notification('N', value);\n };\n Notification.createError = function (err) {\n return new Notification('E', undefined, err);\n };\n Notification.createComplete = function () {\n return Notification.completeNotification;\n };\n Notification.completeNotification = new Notification('C');\n return Notification;\n}());\nexport { Notification };\nexport function observeNotification(notification, observer) {\n var _a, _b, _c;\n var _d = notification, kind = _d.kind, value = _d.value, error = _d.error;\n if (typeof kind !== 'string') {\n throw new TypeError('Invalid notification, missing \"kind\"');\n }\n kind === 'N' ? (_a = observer.next) === null || _a === void 0 ? void 0 : _a.call(observer, value) : kind === 'E' ? (_b = observer.error) === null || _b === void 0 ? void 0 : _b.call(observer, error) : (_c = observer.complete) === null || _c === void 0 ? void 0 : _c.call(observer);\n}\n//# sourceMappingURL=Notification.js.map","import { createErrorClass } from './createErrorClass';\nexport var EmptyError = createErrorClass(function (_super) { return function EmptyErrorImpl() {\n _super(this);\n this.name = 'EmptyError';\n this.message = 'no elements in sequence';\n}; });\n//# sourceMappingURL=EmptyError.js.map","import { createErrorClass } from './createErrorClass';\nexport var ArgumentOutOfRangeError = createErrorClass(function (_super) {\n return function ArgumentOutOfRangeErrorImpl() {\n _super(this);\n this.name = 'ArgumentOutOfRangeError';\n this.message = 'argument out of range';\n };\n});\n//# sourceMappingURL=ArgumentOutOfRangeError.js.map","import { createErrorClass } from './createErrorClass';\nexport var NotFoundError = createErrorClass(function (_super) {\n return function NotFoundErrorImpl(message) {\n _super(this);\n this.name = 'NotFoundError';\n this.message = message;\n };\n});\n//# sourceMappingURL=NotFoundError.js.map","import { createErrorClass } from './createErrorClass';\nexport var SequenceError = createErrorClass(function (_super) {\n return function SequenceErrorImpl(message) {\n _super(this);\n this.name = 'SequenceError';\n this.message = message;\n };\n});\n//# sourceMappingURL=SequenceError.js.map","import { asyncScheduler } from '../scheduler/async';\nimport { isValidDate } from '../util/isDate';\nimport { operate } from '../util/lift';\nimport { innerFrom } from '../observable/innerFrom';\nimport { createErrorClass } from '../util/createErrorClass';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nimport { executeSchedule } from '../util/executeSchedule';\nexport var TimeoutError = createErrorClass(function (_super) {\n return function TimeoutErrorImpl(info) {\n if (info === void 0) { info = null; }\n _super(this);\n this.message = 'Timeout has occurred';\n this.name = 'TimeoutError';\n this.info = info;\n };\n});\nexport function timeout(config, schedulerArg) {\n var _a = (isValidDate(config) ? { first: config } : typeof config === 'number' ? { each: config } : config), first = _a.first, each = _a.each, _b = _a.with, _with = _b === void 0 ? timeoutErrorFactory : _b, _c = _a.scheduler, scheduler = _c === void 0 ? schedulerArg !== null && schedulerArg !== void 0 ? schedulerArg : asyncScheduler : _c, _d = _a.meta, meta = _d === void 0 ? null : _d;\n if (first == null && each == null) {\n throw new TypeError('No timeout provided.');\n }\n return operate(function (source, subscriber) {\n var originalSourceSubscription;\n var timerSubscription;\n var lastValue = null;\n var seen = 0;\n var startTimer = function (delay) {\n timerSubscription = executeSchedule(subscriber, scheduler, function () {\n try {\n originalSourceSubscription.unsubscribe();\n innerFrom(_with({\n meta: meta,\n lastValue: lastValue,\n seen: seen,\n })).subscribe(subscriber);\n }\n catch (err) {\n subscriber.error(err);\n }\n }, delay);\n };\n originalSourceSubscription = source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n seen++;\n subscriber.next((lastValue = value));\n each > 0 && startTimer(each);\n }, undefined, undefined, function () {\n if (!(timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.closed)) {\n timerSubscription === null || timerSubscription === void 0 ? void 0 : timerSubscription.unsubscribe();\n }\n lastValue = null;\n }));\n !seen && startTimer(first != null ? (typeof first === 'number' ? first : +first - scheduler.now()) : each);\n });\n}\nfunction timeoutErrorFactory(info) {\n throw new TimeoutError(info);\n}\n//# sourceMappingURL=timeout.js.map","import { operate } from '../util/lift';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function map(project, thisArg) {\n return operate(function (source, subscriber) {\n var index = 0;\n source.subscribe(createOperatorSubscriber(subscriber, function (value) {\n subscriber.next(project.call(thisArg, value, index++));\n }));\n });\n}\n//# sourceMappingURL=map.js.map","import { __read, __spreadArray } from \"tslib\";\nimport { map } from \"../operators/map\";\nvar isArray = Array.isArray;\nfunction callOrApply(fn, args) {\n return isArray(args) ? fn.apply(void 0, __spreadArray([], __read(args))) : fn(args);\n}\nexport function mapOneOrManyArgs(fn) {\n return map(function (args) { return callOrApply(fn, args); });\n}\n//# sourceMappingURL=mapOneOrManyArgs.js.map","import { innerFrom } from '../observable/innerFrom';\nimport { executeSchedule } from '../util/executeSchedule';\nimport { createOperatorSubscriber } from './OperatorSubscriber';\nexport function mergeInternals(source, subscriber, project, concurrent, onBeforeNext, expand, innerSubScheduler, additionalFinalizer) {\n var buffer = [];\n var active = 0;\n var index = 0;\n var isComplete = false;\n var checkComplete = function () {\n if (isComplete && !buffer.length && !active) {\n subscriber.complete();\n }\n };\n var outerNext = function (value) { return (active < concurrent ? doInnerSub(value) : buffer.push(value)); };\n var doInnerSub = function (value) {\n expand && subscriber.next(value);\n active++;\n var innerComplete = false;\n innerFrom(project(value, index++)).subscribe(createOperatorSubscriber(subscriber, function (innerValue) {\n onBeforeNext === null || onBeforeNext === void 0 ? void 0 : onBeforeNext(innerValue);\n if (expand) {\n outerNext(innerValue);\n }\n else {\n subscriber.next(innerValue);\n }\n }, function () {\n innerComplete = true;\n }, undefined, function () {\n if (innerComplete) {\n try {\n active--;\n var _loop_1 = function () {\n var bufferedValue = buffer.shift();\n if (innerSubScheduler) {\n executeSchedule(subscriber, innerSubScheduler, function () { return doInnerSub(bufferedValue); });\n }\n else {\n doInnerSub(bufferedValue);\n }\n };\n while (buffer.length && active < concurrent) {\n _loop_1();\n }\n checkComplete();\n }\n catch (err) {\n subscriber.error(err);\n }\n }\n }));\n };\n source.subscribe(createOperatorSubscriber(subscriber, outerNext, function () {\n isComplete = true;\n checkComplete();\n }));\n return function () {\n additionalFinalizer === null || additionalFinalizer === void 0 ? void 0 : additionalFinalizer();\n };\n}\n//# sourceMappingURL=mergeInternals.js.map","import { map } from './map';\nimport { innerFrom } from '../observable/innerFrom';\nimport { operate } from '../util/lift';\nimport { mergeInternals } from './mergeInternals';\nimport { isFunction } from '../util/isFunction';\nexport function mergeMap(project, resultSelector, concurrent) {\n if (concurrent === void 0) { concurrent = Infinity; }\n if (isFunction(resultSelector)) {\n return mergeMap(function (a, i) { return map(function (b, ii) { return resultSelector(a, b, i, ii); })(innerFrom(project(a, i))); }, concurrent);\n }\n else if (typeof resultSelector === 'number') {\n concurrent = resultSelector;\n }\n return operate(function (source, subscriber) { return mergeInternals(source, subscriber, project, concurrent); });\n}\n//# sourceMappingURL=mergeMap.js.map","import { __read } from \"tslib\";\nimport { innerFrom } from '../observable/innerFrom';\nimport { Observable } from '../Observable';\nimport { mergeMap } from '../operators/mergeMap';\nimport { isArrayLike } from '../util/isArrayLike';\nimport { isFunction } from '../util/isFunction';\nimport { mapOneOrManyArgs } from '../util/mapOneOrManyArgs';\nvar nodeEventEmitterMethods = ['addListener', 'removeListener'];\nvar eventTargetMethods = ['addEventListener', 'removeEventListener'];\nvar jqueryMethods = ['on', 'off'];\nexport function fromEvent(target, eventName, options, resultSelector) {\n if (isFunction(options)) {\n resultSelector = options;\n options = undefined;\n }\n if (resultSelector) {\n return fromEvent(target, eventName, options).pipe(mapOneOrManyArgs(resultSelector));\n }\n var _a = __read(isEventTarget(target)\n ? eventTargetMethods.map(function (methodName) { return function (handler) { return target[methodName](eventName, handler, options); }; })\n :\n isNodeStyleEventEmitter(target)\n ? nodeEventEmitterMethods.map(toCommonHandlerRegistry(target, eventName))\n : isJQueryStyleEventEmitter(target)\n ? jqueryMethods.map(toCommonHandlerRegistry(target, eventName))\n : [], 2), add = _a[0], remove = _a[1];\n if (!add) {\n if (isArrayLike(target)) {\n return mergeMap(function (subTarget) { return fromEvent(subTarget, eventName, options); })(innerFrom(target));\n }\n }\n if (!add) {\n throw new TypeError('Invalid event target');\n }\n return new Observable(function (subscriber) {\n var handler = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n return subscriber.next(1 < args.length ? args : args[0]);\n };\n add(handler);\n return function () { return remove(handler); };\n });\n}\nfunction toCommonHandlerRegistry(target, eventName) {\n return function (methodName) { return function (handler) { return target[methodName](eventName, handler); }; };\n}\nfunction isNodeStyleEventEmitter(target) {\n return isFunction(target.addListener) && isFunction(target.removeListener);\n}\nfunction isJQueryStyleEventEmitter(target) {\n return isFunction(target.on) && isFunction(target.off);\n}\nfunction isEventTarget(target) {\n return isFunction(target.addEventListener) && isFunction(target.removeEventListener);\n}\n//# sourceMappingURL=fromEvent.js.map","import { Observable } from '../Observable';\nimport { noop } from '../util/noop';\nexport var NEVER = new Observable(noop);\nexport function never() {\n return NEVER;\n}\n//# sourceMappingURL=never.js.map","/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const REG_COMPLEX = /\\[/;\nexport const REG_VARIABLE = /([^[]+)\\[([^[]*)\\]/;\nexport const REG_REPLACE_BRACKETS = /\\[([^[]*)\\]/;\nexport const REG_REPLACE_NEXTPROP = /[^[]+/;\nexport const HISTORY_UNSUPPORTED = 'History unsupported!';\nexport const INVALID_ROUTE = 'Route string is not a pure route';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const CACHED_FIELDS = [\n 'route',\n 'hashRouting',\n 'path',\n 'hash',\n 'search',\n 'hashSearch',\n 'data',\n];\nexport const AMP = '&';\nexport const QRY = '?';\nexport const EQ = '=';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_OBJ = typeof {};\nexport const TYPEOF_NUM = typeof 0;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { TYPEOF_UNDEF } from './constants';\n\nexport function getGlobal() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n}\n","/*!\n * Deparam plugin converts query string to a valid JavaScript object\n * Released under MIT license\n * @name Deparam.js\n * @author Sachin Singh \n * @version 3.0.6\n * @license MIT\n */\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n/*!\n * is-number \n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nvar isNumber = function(num) {\n if (typeof num === 'number') {\n return num - num === 0;\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);\n }\n return false;\n};\n\nvar isObject = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n\nvar UNDEF = void 0; // Results to undefined\n// Typeof undefined\n\nvar TYPEOF_UNDEF = _typeof(UNDEF); // Typeof string\n\n\nvar TYPEOF_STR = _typeof(\"\"); // location var\n\n\nvar loc = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== TYPEOF_UNDEF ? window.location : null; // Shorthand for built-ins\n\nvar isArr = Array.isArray;\n/**\n * Checks if current key is safe\n * @param {string} key Current key\n * @returns {boolean}\n */\n\nfunction isSafe(key) {\n return [\"__proto__\", \"prototype\"].indexOf(key) === -1;\n}\n/**\n * Shorthand for Object.prototype.hasOwnProperty\n * @param {any} obj Any object\n * @param {string} key key\n * @returns {boolean} true or false if object has the property\n */\n\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n * Returns true of input query string is complex\n * @param {string} q Query string\n * @returns {boolean} true or false\n */\n\n\nfunction ifComplex(q) {\n return /\\[/.test(q);\n}\n/**\n * Returns an object without a prototype\n * @returns {{[key in string|number]: any}} Object without __proto__\n */\n\n\nfunction obNull() {\n return Object.create(null);\n}\n/**\n * Returns a parsed query object\n * @param {string} qs Query string\n * @param {boolean} coerce Coerce values\n * @returns {{[key in string|number]: any}} Query object\n */\n\n\nfunction lib(qs, coerce) {\n var _this = this;\n\n if (_typeof(qs) !== TYPEOF_STR) {\n qs = loc ? loc.search : \"\";\n }\n\n qs = qs.substring(qs.charAt(0) === \"?\");\n var queryObject = obNull();\n\n if (qs) {\n qs.split(\"&\").forEach(function (qq) {\n var qArr = qq.split(\"=\").map(function (part) {\n return decodeURIComponent(part);\n });\n\n if (ifComplex(qArr[0])) {\n complex.apply(_this, [].concat(qArr).concat([queryObject, coerce]));\n } else {\n simple.apply(_this, [qArr, queryObject, false, coerce]);\n }\n });\n }\n\n return queryObject;\n}\n/**\n * Converts an array to equivalent object\n * @param {any[]} arr Any array\n * @returns {any} Any object\n */\n\n\nfunction toObject(arr) {\n var convertedObj = obNull();\n\n if (isArr(arr)) {\n arr.forEach(function (value, index) {\n convertedObj[index] = value;\n });\n }\n\n return convertedObj;\n}\n/**\n * Converts array to an object if required\n * @param {any} ob Any object\n * @param {booleab} isNextNumber Test for next key\n * @returns {any} Any object\n */\n\n\nfunction resolve(ob, isNextNumber) {\n if (_typeof(ob) === TYPEOF_UNDEF) return isNextNumber ? [] : obNull();\n return isNextNumber ? ob : toObject(ob);\n}\n/**\n * Resolves the target object for next iteration\n * @param {any} ob current reference object\n * @param {string} nextProp reference property in current object\n * @returns {any} Resolved object for next iteration\n */\n\n\nfunction resolveObj(ob, nextProp) {\n if (isObject(ob) && !isArr(ob)) return {\n ob: ob\n };\n if (isArr(ob) || _typeof(ob) === TYPEOF_UNDEF) return {\n ob: resolve(ob, isNumber(nextProp))\n };\n return {\n ob: [ob],\n push: ob !== null\n };\n}\n/**\n * Handles complex query parameters\n * @param {string} key Query key\n * @param {string} value Query value\n * @param {Object} obj Query object\n * @returns {void}\n */\n\n\nfunction complex(key, value, obj, doCoerce) {\n var match = key.match(/([^\\[]+)\\[([^\\[]*)\\]/) || [];\n\n if (match.length === 3) {\n var prop = match[1];\n var nextProp = match[2];\n key = key.replace(/\\[([^\\[]*)\\]/, \"\");\n\n if (ifComplex(key)) {\n if (nextProp === \"\") nextProp = \"0\";\n key = key.replace(/[^\\[]+/, nextProp);\n complex(key, value, obj[prop] = resolveObj(obj[prop], nextProp).ob, doCoerce);\n } else if (nextProp) {\n if (isSafe(prop) && isSafe(nextProp)) {\n var _resolveObj = resolveObj(obj[prop], nextProp),\n ob = _resolveObj.ob,\n push = _resolveObj.push;\n\n obj[prop] = ob;\n var nextOb = push ? obNull() : obj[prop];\n nextOb[nextProp] = coerce(value, !doCoerce);\n\n if (push) {\n obj[prop].push(nextOb);\n }\n }\n } else {\n simple([match[1], value], obj, true, doCoerce);\n }\n }\n}\n/**\n * Handles simple query\n * @param {array} qArr Query list\n * @param {Object} queryObject Query object\n * @param {boolean} toArray Test for conversion to array\n * @returns {void}\n */\n\n\nfunction simple(qArr, queryObject, toArray, doCoerce) {\n var key = qArr[0];\n var value = qArr[1];\n\n if (isSafe(key)) {\n value = coerce(value, !doCoerce);\n\n if (hasOwn(queryObject, key)) {\n queryObject[key] = isArr(queryObject[key]) ? queryObject[key] : [queryObject[key]];\n queryObject[key].push(value);\n } else {\n queryObject[key] = toArray ? [value] : value;\n }\n }\n}\n/**\n * Converts input value to their appropriate types\n * @param {any} value Input value\n * @param {boolean} skip Test for skipping coercion\n * @returns {any} Coerced value\n */\n\n\nfunction coerce(value, skip) {\n // eslint-disable-next-line\n if (value == null) {\n return \"\";\n }\n\n if (skip || _typeof(value) !== TYPEOF_STR) {\n return value;\n }\n\n value = value.trim();\n\n if (isNumber(value)) {\n return +value;\n }\n\n switch (value) {\n case \"null\":\n return null;\n\n case TYPEOF_UNDEF:\n return UNDEF;\n\n case \"true\":\n return true;\n\n case \"false\":\n return false;\n\n case \"NaN\":\n return NaN;\n\n default:\n return value;\n }\n}\n\nexport { lib as default, isNumber, isObject };\n//# sourceMappingURL=deparam.esm.js.map\n","import { isNumber, isObject } from 'deparam.js';\nimport { EMPTY, REG_PATHNAME, TYPEOF_BOOL, TYPEOF_STR } from './constants';\n\n/**\n * Shorthand for Array.isArray\n */\nexport const isArr = Array.isArray;\n\n/**\n * Shorthand for Object.keys\n */\nexport const oKeys = Object.keys;\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n\n/**\n * Checks if key is present in provided object\n * @param {object} ob Object\n * @param {*} key Key\n */\nexport function hasOwn(ob, key) {\n return Object.prototype.hasOwnProperty.call(ob, key);\n}\n\n/**\n * Loops over an array like object\n * @param {object} arrayObj Array or array like object\n * @param {function} callback Callback function\n */\nexport function each(arrayObj, callback) {\n if (isObject(arrayObj)) {\n const keys = oKeys(arrayObj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const cont = callback(arrayObj[key], isNumber(key) ? +key : key);\n if (typeof cont === TYPEOF_BOOL) {\n if (!cont) {\n break;\n }\n }\n }\n }\n}\n","import { TYPEOF_STR } from './constants';\nimport { getGlobal } from './getGlobal';\nimport { each } from './utils';\n\n/**\n * Function to trigger custom event\n * @param {Node|NodeList|HTMLCollection|Node[]} target Target element or list\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(target, eventType, data) {\n target = Array.from(target instanceof Node ? [target] : target);\n if (target.length && typeof eventType === TYPEOF_STR) {\n each(target, (el) => {\n const win = getGlobal();\n const customEvent = new win.CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n });\n el.dispatchEvent(customEvent);\n });\n }\n}\n","import { QRY } from '../../utils/constants';\nimport { trim } from '../../utils/utils';\nexport default class RouterEvent {\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const routeObject = routeInfo[0];\n const originalEvent = routeInfo[1];\n const routerInstance = routeInfo[2];\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.hashRouting = routeObject.hash;\n this.routerInstance = routerInstance;\n this.virtualEvent = currentEvent || {};\n this.originalEvent = originalEvent || {};\n this.path = trim(location.pathname);\n this.hash = location.hash;\n this.search = trim(location.search.substring(1));\n this.hashSearch = trim(location.hash && location.hash.split(QRY)[1]);\n const { state } = this.originalEvent;\n this.data = (state && state.data) || (history.state && history.state.data);\n }\n}\n","import { Observable } from 'rxjs';\nimport RouterEvent from '../routerEvent';\n\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const routerInstance = event.detail[2];\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { QRY } from './constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { fromEvent } from 'rxjs';\nimport { POP_STATE, VIRTUAL_PUSHSTATE } from '../../utils/constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport { getGlobal } from '../../utils/getGlobal';\nimport { getPath } from '../../utils/getPath';\n\nexport default function bindRouterEvents(inst) {\n const { context, location, hashRouting: hash } = inst.config;\n inst.popStateSubscription = fromEvent(getGlobal(), POP_STATE).subscribe(\n (e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, inst]);\n }\n }\n );\n inst.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(inst)\n );\n if (hash && !location.hash) {\n inst.set('/', true, false); // Replace current hash path without executing anythings\n }\n}\n","import { isObject } from 'deparam.js';\nimport { AMP, EMPTY, TYPEOF_FUNC, TYPEOF_STR } from './constants';\nimport { each, isArr } from './utils';\n\nexport const encode = encodeURIComponent;\n\n/**\n * Builds query string recursively\n * @private\n * @param {string[]} qsList List of query string key value pairs\n * @param {*} key Key\n * @param {*} obj Value\n */\nfunction buildQuery(qsList, key, obj) {\n if (isObject(obj)) {\n each(obj, (prop, obKey) => {\n buildQuery(qsList, `${key}[${isArr(obj) ? EMPTY : obKey}]`, prop);\n });\n } else if (typeof obj !== TYPEOF_FUNC) {\n qsList.push(`${encode(key)}=${encode(obj)}`);\n }\n}\n\n/**\n * Converts an object to a query string\n * @private\n * @param {object} obj Object which should be converted to a string\n * @returns {string}\n */\nexport function toQueryString(obj) {\n let qsList = [];\n if (isObject(obj)) {\n each(obj, (prop, key) => {\n buildQuery(qsList, key, prop);\n });\n return qsList.join(AMP);\n }\n return typeof obj === TYPEOF_STR ? obj : EMPTY;\n}\n","import deparam from 'deparam.js';\nimport { trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport { assign } from '../../utils/assign';\nimport { QRY } from '../../utils/constants';\n\n/**\n * Resolves and analyzes existing query string\n * @private\n * @param {string} queryString Query string\n * @param {string} hashRouting Flag to test if hash routing is enabled\n */\nexport default function resolveQuery(queryString, hashRouting) {\n const { location } = this.config;\n const search = trim(location.search && location.search.substring(1));\n const existingQuery = trim(\n hashRouting ? location.hash.split(QRY)[1] : search\n );\n if (!existingQuery) {\n return queryString;\n }\n return toQueryString(\n assign(deparam(search), deparam(existingQuery), deparam(queryString))\n );\n}\n","import { isObject } from 'deparam.js';\nimport { trigger } from '../../utils/triggerEvent';\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n TYPEOF_STR,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n TYPEOF_BOOL,\n} from '../../utils/constants';\nimport { isValidRoute, trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport resolveQuery from '../resolveQuery';\nimport { assign } from '../../utils/assign';\n\nexport default function set(route, replace, doExec) {\n let exec = true;\n if (typeof doExec === TYPEOF_BOOL) {\n exec = doExec;\n }\n const { preservePath, hashRouting, history } = this.config;\n const routeObject = assign(\n { replace, exec },\n typeof route === TYPEOF_STR ? { route } : route\n );\n replace = routeObject.replace;\n exec = routeObject.exec;\n let { route: routeStr, queryString } = routeObject;\n const { preserveQuery, data, pageTitle = null } = routeObject;\n const routeParts = routeStr.split(QRY);\n // Check if query string is an object\n if (isObject(queryString)) {\n queryString = toQueryString(queryString);\n }\n // Resolve to URL query string if it's not explicitly passed\n queryString = trim(queryString ? queryString : routeParts[1]);\n routeStr = trim(routeParts[0]);\n // Check if query preservation is required. Resolve query accordingly\n if (preserveQuery) {\n queryString = resolveQuery.apply(this, [queryString, hashRouting]);\n }\n if (isValidRoute(routeStr)) {\n const unmodifiedRoute = routeStr;\n if (hashRouting) {\n routeStr = `/#${routeStr}`;\n // Path preservation should only work for hash routing\n if (preservePath) {\n routeStr = `${routeStr.substring(1)}`;\n }\n }\n // Append query string\n routeStr = `${routeStr}${queryString ? `${QRY + queryString}` : EMPTY}`;\n history[replace ? REPLACE : PUSH]({ data }, pageTitle, routeStr);\n if (exec && unmodifiedRoute) {\n trigger(this.config.context, VIRTUAL_PUSHSTATE, [\n {\n path: unmodifiedRoute,\n hash: hashRouting,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n return this;\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../utils/constants';\nimport { getPath } from '../../utils/getPath';\nimport RouterEvent from '../routerEvent';\n\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { assign } from '../../utils/assign';\nimport bindRouterEvents from '../bindRouterEvents';\nimport set from '../set';\nimport { HISTORY_UNSUPPORTED, PUSH, TYPEOF_FUNC } from '../../utils/constants';\nimport callOnce from '../callOnce';\nimport { getGlobal } from '../../utils/getGlobal';\n\nexport default class Router {\n constructor(config) {\n const { history, location, document } = getGlobal();\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.config = Object.freeze(\n assign(\n {\n init: true, // Initialize as soon as route handler is attached\n hashRouting: false, // Switch to hash routing\n preservePath: false, // Works for hash routing\n context: document.body, // To change the context of \"vpushstate\" event\n location, // Should remain unchanged\n history, // History object\n },\n config || {}\n )\n );\n this.__paths__ = [];\n bindRouterEvents(this);\n }\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n subscribe(...fns) {\n return this.pipe().subscribe(...fns);\n }\n set(...props) {\n return set.apply(this, props);\n }\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n this.__paths__.length = 0;\n }\n}\n","import { EMPTY, REG_ROUTE_PARAMS } from './constants';\nimport { each } from './utils';\n\n/**\n * Parses current path and returns params object\n * @private\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {object}\n */\nexport function extractParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n each(keys, (key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","import { trim, isValidRoute, each, oKeys } from '../utils/utils';\nimport queryDeparam, { isObject } from 'deparam.js';\nimport { Observable } from 'rxjs';\nimport {\n INVALID_ROUTE,\n CACHED_FIELDS,\n UNDEF,\n TYPEOF_BOOL,\n} from '../utils/constants';\nimport { extractParams } from '../utils/params';\nimport Router from '../api/router';\nimport { assign } from '../utils/assign';\n\n/**\n * Operator to compare a specific route\n * @param {string} routeStr Route string\n * @param {Router} routerInstance Current router object [optional]\n * @param {boolean} ignoreCase Ignore case in route string\n */\nexport function route(routeStr, routerInstance, ignoreCase) {\n if (typeof routerInstance === TYPEOF_BOOL) {\n ignoreCase = routerInstance;\n routerInstance = UNDEF;\n }\n routeStr = trim(routeStr);\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.indexOf(routeStr) === -1) {\n paths.push(routeStr);\n }\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n let incomingRoute = event.route;\n if (isValidRoute(routeStr)) {\n if (ignoreCase) {\n routeStr = routeStr.toLowerCase();\n incomingRoute = incomingRoute.toLowerCase();\n }\n const params = extractParams(routeStr, incomingRoute);\n const paramsLength = oKeys(params).length;\n if (incomingRoute === routeStr || paramsLength > 0) {\n if (paramsLength > 0) {\n event.params = params;\n }\n subscriber.next(event);\n }\n } else {\n subscriber.error(new Error(INVALID_ROUTE));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n const existingRouteIndex = paths.indexOf(routeStr);\n if (existingRouteIndex > -1) {\n paths.splice(existingRouteIndex, 1);\n }\n }\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Converts search and hashSearch strings to object\n * @param {boolean} coerce Flag to enable value typecast\n */\nexport function deparam(coerce) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n try {\n event.search = queryDeparam(event.search, coerce);\n event.hashSearch = queryDeparam(event.hashSearch, coerce);\n subscriber.next(event);\n } catch (e) {\n subscriber.error(e);\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Modifies current subscriber to detect errors\n * @param {Router} routerInstance Current router object\n */\nexport function noMatch(routerInstance) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.length > 0) {\n const currentRoute = event.route;\n let match = false;\n each(paths, (path) => {\n if (\n path === currentRoute ||\n oKeys(extractParams(path, currentRoute)).length\n ) {\n return !(match = true);\n }\n });\n if (!match) {\n event.noMatch = true;\n subscriber.next(event);\n }\n }\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\nfunction deepComparison(first, second, result) {\n each(oKeys(first), (key) => {\n if (isObject(first[key]) && isObject(second[key])) {\n deepComparison(first[key], second[key], result);\n } else {\n result.break = first[key] !== second[key];\n }\n });\n}\n\n/**\n * Caches incoming routes to avoid calling handler if there is no change\n * @param {string[]} keys\n * @param {boolean} deep\n */\nexport function cache(keys = CACHED_FIELDS, deep) {\n let cache = {};\n if (typeof keys === TYPEOF_BOOL) {\n deep = keys;\n keys = CACHED_FIELDS;\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n each(keys, (key) => {\n if (deep && isObject(event[key]) && isObject(cache[key])) {\n const result = {};\n deepComparison(event[key], cache[key], result);\n if (result.break) {\n assign(cache, event);\n subscriber.next(event);\n return false;\n }\n } else if (event[key] !== cache[key]) {\n assign(cache, event);\n subscriber.next(event);\n return false; // break loop\n }\n });\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n cache = {};\n };\n });\n}\n","import { Router } from '../src/js';\nimport { route, deparam, noMatch, cache } from '../src/js/operators';\nimport pkg from '../package.json';\n\nfunction q(selector) {\n if (typeof selector === 'string') {\n const elArray = [];\n selector\n .split(',')\n .map((selectorPart) => selectorPart.trim())\n .forEach((selectorPart) => {\n const selected = [...document.querySelectorAll(selectorPart)];\n selected.forEach((el) => {\n if (!elArray.includes(el)) {\n elArray.push(el);\n }\n });\n });\n return elArray;\n }\n return [...document.querySelectorAll(...arguments)];\n}\n\nfunction keywordHighlight(text) {\n [\n '(new|throw|let|const|var|typeof|instanceof|in|of|import|case|extends|delete)(\\\\s)',\n '(function|class|try|catch|finally|do|else)(\\\\s|{)',\n '(for|while|if)(\\\\s|\\\\()',\n '(return|break|continue)(\\\\s|;)',\n ].forEach((matcher) => {\n const regex = new RegExp(matcher, 'g');\n if (regex.test(text)) {\n text = text.replace(regex, (...args) => {\n const [, keyword, extra] = args;\n return `${keyword}${extra}`;\n });\n }\n });\n return text;\n}\n\nfunction methodHighlight(text) {\n text = text.replace(\n /(\\.)([^;:'\",.())?|\\\\/^*@%#!~+-[\\]{}=]+)(\\()/g,\n (...args) => {\n const [, dot, method, brace] = args;\n return `${dot}${method}${brace}`;\n }\n );\n return text;\n}\n\nfunction suppressComments(text) {\n text = text.replace(\n /\\/\\/[^\\n]+/g,\n (comment) => `${comment}`\n );\n return text;\n}\n\nfunction highlightFatArrow(text) {\n text = text.replace(\n /\\s=>\\s/g,\n (fatArrow) => `${fatArrow}`\n );\n return text;\n}\n\nfunction highlightString(text) {\n text = text.replace(\n /['\"`].*['\"`]/g,\n (str) => `${str.replace(/\\//g, '/')}`\n );\n return text;\n}\n\nfunction jsHighlight(text) {\n text = highlightString(text);\n text = keywordHighlight(text);\n text = methodHighlight(text);\n text = suppressComments(text);\n text = highlightFatArrow(text);\n return text;\n}\n\nfunction renderDecorators() {\n q('code pre').forEach((decorator) => {\n let html = decorator.innerHTML;\n const pattern = html.match(/^\\s+/);\n const originalIndent = pattern && pattern[0].length;\n html = html\n .split('\\n')\n .map((codePart) => {\n return codePart.substring(originalIndent);\n })\n .join('\\n');\n decorator.innerHTML = jsHighlight(html.trim());\n });\n}\n\nfunction renderVersion() {\n q('.version').forEach(\n (el) => (el.querySelector('span').textContent = pkg.version)\n );\n}\n\nfunction initializeRouting() {\n q('#checkHash').forEach((el) => {\n el.checked = window.sessionStorage.getItem('checkedStatus') === '1';\n });\n const router = new Router();\n let childRouter = router;\n router.subscribe((e) => {\n const eventRoute =\n location.hostname === 'scssyworks.github.io'\n ? e.route.replace(/\\/silkrouter\\//, '/')\n : e.route;\n q('[data-route]').forEach((el) => {\n el.classList.remove('active');\n const elRoute = el.getAttribute('data-route');\n if (elRoute === '/' && eventRoute === elRoute) {\n el.classList.add('active');\n } else if (elRoute !== '/' && eventRoute.includes(elRoute)) {\n el.classList.add('active');\n }\n });\n q('[data-section]').forEach((el) => {\n el.classList.add('d-none');\n const elSection = el.getAttribute('data-section');\n if (elSection === '/' && eventRoute === elSection) {\n el.classList.remove('d-none');\n } else if (elSection !== '/' && eventRoute.includes(elSection)) {\n el.classList.remove('d-none');\n }\n });\n q(\n '.params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial'\n ).forEach((el) => {\n el.classList.add('d-none');\n });\n });\n const paramsRoute =\n location.hostname === 'scssyworks.github.io'\n ? '/silkrouter/tab3/:firstname/:lastname'\n : '/tab3/:firstname/:lastname';\n router.pipe(route(paramsRoute), deparam(true)).subscribe((e) => {\n q('.params-data pre').forEach((el) => {\n el.textContent = JSON.stringify(e.params, null, 2);\n });\n q('.params-data, .query-next-step').forEach((el) => {\n el.classList.remove('d-none');\n });\n if (Object.keys(e.search).length) {\n q('.query-data').forEach((el) => {\n el.querySelector('pre').textContent = JSON.stringify(e.search, null, 2);\n el.classList.remove('d-none');\n });\n q('.data-next-step').forEach((el) => {\n el.classList.remove('d-none');\n });\n }\n if (e.data) {\n q('.state-data').forEach((el) => {\n el.querySelector('pre').textContent = e.data;\n el.classList.remove('d-none');\n });\n q('.pass-data-tutorial').forEach((el) => {\n el.classList.remove('d-none');\n });\n }\n });\n document.addEventListener('click', (e) => {\n q('[data-route]').forEach((el) => {\n if (el.contains(e.target)) {\n const isRelative = el.hasAttribute('data-relative');\n let route =\n isRelative && q('#checkHash:checked').length === 0\n ? el.closest('section').getAttribute('data-section') +\n el.getAttribute('data-route')\n : el.getAttribute('data-route');\n if (location.hostname === 'scssyworks.github.io') {\n route = `/silkrouter${route}`;\n }\n if (isRelative) {\n if (\n location.hostname === 'scssyworks.github.io' &&\n childRouter.config.hashRouting\n ) {\n route = route.replace(/\\/silkrouter\\//, '/');\n }\n childRouter.set(route);\n } else {\n router.set(route);\n }\n }\n });\n q('.btn-primary.clear-session').forEach((el) => {\n if (el.contains(e.target)) {\n window.sessionStorage.clear();\n window.location.href =\n location.hostname === 'scssyworks.github.io'\n ? '/silkrouter/tab2/'\n : '/tab2/';\n }\n });\n q('.append-param').forEach((el) => {\n if (el.contains(e.target)) {\n router.set(\n `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`\n );\n }\n });\n q('.append-query').forEach((el) => {\n if (el.contains(e.target)) {\n router.set({\n route: `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n queryString: 'q=HelloWorld',\n });\n }\n });\n q('.append-data').forEach((el) => {\n if (el.contains(e.target)) {\n router.set({\n route: `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab3/john/doe`,\n queryString: 'q=HelloWorld',\n data: 'Hi there!',\n });\n }\n });\n });\n q('#checkHash').forEach((el) => {\n el.addEventListener('change', () => {\n window.sessionStorage.setItem(\n 'checkedStatus',\n `${q('#checkHash:checked').length}`\n );\n window.location.href = `${\n location.hostname === 'scssyworks.github.io' ? '/silkrouter' : ''\n }/tab2/`;\n });\n });\n if (q('#checkHash:checked').length) {\n const hashRouter = new Router({\n hashRouting: true,\n preservePath: true,\n });\n hashRouter.subscribe((e) => {\n q('[data-route][data-relative]').forEach((el) => {\n el.classList.remove('active');\n if (e.route.includes(el.getAttribute('data-route'))) {\n el.classList.add('active');\n }\n });\n });\n childRouter = hashRouter;\n }\n}\n\nfunction setGlobals() {\n window.Router = Router;\n window.route = route;\n window.deparam = deparam;\n window.noMatch = noMatch;\n window.cache = cache;\n}\n\ninitializeRouting();\nrenderDecorators();\nrenderVersion();\nsetGlobals();\n"],"names":["assign","Object","Symbol_observable","higherOrderRefCount","Symbol_iterator","POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","CACHED_FIELDS","AMP","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_BOOL","_typeof","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","getGlobal","globalThis","global","self","isArr","Array","isArray","oKeys","keys","trim","str","isValidRoute","route","test","each","arrayObj","callback","isObject","i","length","key","cont","isNumber","trigger","target","eventType","data","from","Node","el","win","customEvent","CustomEvent","bubbles","cancelable","detail","dispatchEvent","RouterEvent","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","config","location","history","path","hashRouting","hash","virtualEvent","pathname","search","substring","hashSearch","split","state","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","getPath","isHash","bindRouterEvents","inst","context","popStateSubscription","fromEvent","e","listeners","pipe","apply","set","encode","encodeURIComponent","buildQuery","qsList","obj","prop","obKey","push","toQueryString","join","resolveQuery","queryString","existingQuery","deparam","replace","doExec","exec","preservePath","routeStr","preserveQuery","pageTitle","routeParts","unmodifiedRoute","TypeError","callOnce","isDone","init","Router","document","Error","freeze","body","__paths__","ops","props","extractParams","expr","params","pathRegex","RegExp","lastIndex","match","map","values","shift","index","ignoreCase","paths","indexOf","incomingRoute","toLowerCase","paramsLength","existingRouteIndex","splice","coerce","queryDeparam","noMatch","currentRoute","deepComparison","first","second","result","cache","deep","q","selector","elArray","selectorPart","forEach","selected","querySelectorAll","includes","arguments","keywordHighlight","text","matcher","regex","args","keyword","extra","methodHighlight","dot","method","brace","suppressComments","comment","highlightFatArrow","fatArrow","highlightString","jsHighlight","renderDecorators","decorator","html","innerHTML","pattern","originalIndent","codePart","renderVersion","querySelector","textContent","pkg","version","initializeRouting","checked","window","sessionStorage","getItem","router","childRouter","eventRoute","hostname","classList","remove","elRoute","getAttribute","add","elSection","paramsRoute","JSON","stringify","addEventListener","contains","isRelative","hasAttribute","closest","clear","href","setItem","hashRouter","setGlobals"],"mappings":"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"} \ No newline at end of file diff --git a/dist/render/silkrouter.iife.min.js b/dist/render/silkrouter.iife.min.js index e818db5..68c9524 100644 --- a/dist/render/silkrouter.iife.min.js +++ b/dist/render/silkrouter.iife.min.js @@ -1 +1 @@ -!function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),u=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return u}function p(t,e,n){if(n||2===arguments.length)for(var r,o=0,i=e.length;o1||c(t,e)}))})}function c(t,e){try{(n=o[t](e)).value instanceof d?Promise.resolve(n.value.v).then(s,a):l(i[0][2],n)}catch(t){l(i[0][3],t)}var n}function s(t){c("next",t)}function a(t){c("throw",t)}function l(t,e){t(e),i.shift(),i.length&&c(i[0][0],i[0][1])}}function y(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=f(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,o){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,o,(e=t[n](e)).done,e.value)}))}}}function b(t){return"function"==typeof t}function m(t){var e=t((function(t){Error.call(t),t.stack=(new Error).stack}));return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var w=m((function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(t,e){return e+1+") "+t.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e}}));function g(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var _=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var e;return t.prototype.unsubscribe=function(){var t,e,n,r,o;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var u=f(i),c=u.next();!c.done;c=u.next()){c.value.remove(this)}}catch(e){t={error:e}}finally{try{c&&!c.done&&(e=u.return)&&e.call(u)}finally{if(t)throw t.error}}else i.remove(this);var s=this.initialTeardown;if(b(s))try{s()}catch(t){o=t instanceof w?t.errors:[t]}var a=this._finalizers;if(a){this._finalizers=null;try{for(var l=f(a),d=l.next();!d.done;d=l.next()){var v=d.value;try{E(v)}catch(t){o=null!=o?o:[],t instanceof w?o=p(p([],h(o)),h(t.errors)):o.push(t)}}}catch(t){n={error:t}}finally{try{d&&!d.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}}if(o)throw new w(o)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)E(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&g(e,t)},t.prototype.remove=function(e){var n=this._finalizers;n&&g(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),x=_.EMPTY;function S(t){return t instanceof _||t&&"closed"in t&&b(t.remove)&&b(t.add)&&b(t.unsubscribe)}function E(t){b(t)?t():t.unsubscribe()}var A={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},k=function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,n=this,r=n.hasError,o=n.isStopped,i=n.observers;return r||o?x:(this.currentObservers=null,i.push(t),new _((function(){e.currentObservers=null,g(i,t)})))},e.prototype._checkFinalizedStatuses=function(t){var e=this,n=e.hasError,r=e.thrownError,o=e.isStopped;n?t.error(r):o&&t.complete()},e.prototype.asObservable=function(){var t=new M;return t.source=this,t},e.create=function(t,e){return new K(t,e)},e}(M),K=function(t){function e(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return s(e,t),e.prototype.next=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===n||n.call(e,t)},e.prototype.error=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===n||n.call(e,t)},e.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},e.prototype._subscribe=function(t){var e,n;return null!==(n=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==n?n:x},e}($);!function(t){function e(e){var n=t.call(this)||this;return n._value=e,n}s(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){var t=this,e=t.hasError,n=t.thrownError,r=t._value;if(e)throw n;return this._throwIfClosed(),r},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)}}($);var Z={now:function(){return(Z.delegate||Date).now()},delegate:void 0};!function(t){function e(e,n,r){void 0===e&&(e=1/0),void 0===n&&(n=1/0),void 0===r&&(r=Z);var o=t.call(this)||this;return o._bufferSize=e,o._windowTime=n,o._timestampProvider=r,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=n===1/0,o._bufferSize=Math.max(1,e),o._windowTime=Math.max(1,n),o}s(e,t),e.prototype.next=function(e){var n=this,r=n.isStopped,o=n._buffer,i=n._infiniteTimeWindow,u=n._timestampProvider,c=n._windowTime;r||(o.push(e),!i&&o.push(u.now()+c)),this._trimBuffer(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var e=this._innerSubscribe(t),n=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e._scheduled||(e._scheduled=lt.setImmediate(e.flush.bind(e,void 0))))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);e.actions.some((function(t){return t.id===n}))||(lt.clearImmediate(n),e._scheduled=void 0)},e}(ot),ht=function(){function t(e,n){void 0===n&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.schedulerActionCtor(this,t).schedule(n,e)},t.now=Z.now,t}(),pt=function(t){function e(e,n){void 0===n&&(n=ht.now);var r=t.call(this,e,n)||this;return r.actions=[],r._active=!1,r._scheduled=void 0,r}return s(e,t),e.prototype.flush=function(t){var e=this.actions;if(this._active)e.push(t);else{var n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this._active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(ht),dt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype.flush=function(t){this._active=!0;var e=this._scheduled;this._scheduled=void 0;var n,r=this.actions;t=t||r.shift();do{if(n=t.execute(t.state,t.delay))break}while((t=r[0])&&t.id===e&&r.shift());if(this._active=!1,n){for(;(t=r[0])&&t.id===e&&r.shift();)t.unsubscribe();throw n}},e}(pt);new dt(ft),new pt(ot);var vt=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r}return s(e,t),e.prototype.schedule=function(e,n){return void 0===n&&(n=0),n>0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(ot),yt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e}(pt);new yt(vt);var bt=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r}return s(e,t),e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e._scheduled||(e._scheduled=Q.requestAnimationFrame((function(){return e.flush(void 0)}))))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);e.actions.some((function(t){return t.id===n}))||(Q.cancelAnimationFrame(n),e._scheduled=void 0)},e}(ot),mt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return s(e,t),e.prototype.flush=function(t){this._active=!0;var e=this._scheduled;this._scheduled=void 0;var n,r=this.actions;t=t||r.shift();do{if(n=t.execute(t.state,t.delay))break}while((t=r[0])&&t.id===e&&r.shift());if(this._active=!1,n){for(;(t=r[0])&&t.id===e&&r.shift();)t.unsubscribe();throw n}},e}(pt);new mt(bt),function(t){function e(e,n){void 0===e&&(e=wt),void 0===n&&(n=1/0);var r=t.call(this,e,(function(){return r.frame}))||this;return r.maxFrames=n,r.frame=0,r.index=-1,r}s(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,r=this.maxFrames;(e=n[0])&&e.delay<=r&&(n.shift(),this.frame=e.delay,!(t=e.execute(e.state,e.delay))););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10}(pt);var wt=function(t){function e(e,n,r){void 0===r&&(r=e.index+=1);var o=t.call(this,e,n)||this;return o.scheduler=e,o.work=n,o.index=r,o.active=!0,o.index=e.index=r,o}return s(e,t),e.prototype.schedule=function(n,r){if(void 0===r&&(r=0),Number.isFinite(r)){if(!this.id)return t.prototype.schedule.call(this,n,r);this.active=!1;var o=new e(this.scheduler,this.work);return this.add(o),o.schedule(n,r)}return _.EMPTY},e.prototype.requestAsyncId=function(t,n,r){void 0===r&&(r=0),this.delay=t.frame+r;var o=t.actions;return o.push(this),o.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(ot);new M((function(t){return t.complete()}));var gt=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t};var _t,xt="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function St(t){if(t instanceof M)return t;if(null!=t){if(function(t){return b(t[z])}(t))return i=t,new M((function(t){var e=i[z]();if(b(e.subscribe))return e.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(gt(t))return o=t,new M((function(t){for(var e=0;e0)&&(u>0&&(t.params=i),o.next(t))}else o.error(new Error(Rt))},error:o.error,complete:o.complete});return function(){if(n instanceof je){var t=n.__paths__,r=t.indexOf(e);r>-1&&t.splice(r,1)}i.unsubscribe()}}))}}function Pe(t){return function(e){return new M((function(n){var r=e.subscribe({next:function(e){try{e.search=ce(e.search,t),e.hashSearch=ce(e.hashSearch,t),n.next(e)}catch(t){n.error(t)}},error:n.error,complete:n.complete});return function(){r.unsubscribe()}}))}}function qe(t){return function(e){return new M((function(n){var r=e.subscribe({next:function(e){if(t instanceof je){var r=t.__paths__;if(r.length>0){var o=e.route,i=!1;be(r,(function(t){if(t===o||de(Te(t,o)).length)return!(i=!0)})),i||(e.noMatch=!0,n.next(e))}}},error:n.error,complete:n.complete});return function(){r.unsubscribe()}}))}}function Le(t,e,n){be(de(t),(function(r){Kt(t[r])&&Kt(e[r])?Le(t[r],e[r],n):n.break=t[r]!==e[r]}))}function Fe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Nt,n=arguments.length>1?arguments[1]:void 0,r={};return t(e)===Vt&&(n=e,e=Nt),function(t){return new M((function(o){var i=t.subscribe({next:function(t){be(e,(function(e){if(n&&Kt(t[e])&&Kt(r[e])){var i={};if(Le(t[e],r[e],i),i.break)return u(r,t),o.next(t),!1}else if(t[e]!==r[e])return u(r,t),o.next(t),!1}))},error:o.error,complete:o.complete});return function(){i.unsubscribe(),r={}}}))}}var Re="4.2.15";function ze(t){var e;if("string"==typeof t){var n=[];return t.split(",").map((function(t){return t.trim()})).forEach((function(t){o(document.querySelectorAll(t)).forEach((function(t){n.includes(t)||n.push(t)}))})),n}return o((e=document).querySelectorAll.apply(e,arguments))}function Ne(t){return t=function(t){return["(new|throw|let|const|var|typeof|instanceof|in|of|import|case|extends|delete)(\\s)","(function|class|try|catch|finally|do|else)(\\s|{)","(for|while|if)(\\s|\\()","(return|break|continue)(\\s|;)"].forEach((function(e){var n=new RegExp(e,"g");n.test(t)&&(t=t.replace(n,(function(){for(var t=arguments.length,e=new Array(t),n=0;n'.concat(r,"").concat(o)})))})),t}(t=function(t){return t.replace(/['"`].*['"`]/g,(function(t){return''.concat(t.replace(/\//g,"/"),"")}))}(t)),t=function(t){return t=t.replace(/(\.)([^;:'",.())?|\\/^*@%#!~+-[\]{}=]+)(\()/g,(function(){for(var t=arguments.length,e=new Array(t),n=0;n').concat(o,"").concat(i)})),t}(t),t=function(t){return t.replace(/\s=>\s/g,(function(t){return''.concat(t,"")}))}(t=function(t){return t.replace(/\/\/[^\n]+/g,(function(t){return''.concat(t,"")}))}(t))}!function(){ze("#checkHash").forEach((function(t){t.checked="1"===window.sessionStorage.getItem("checkedStatus")}));var t=new je,e=t;t.subscribe((function(t){var e="scssyworks.github.io"===location.hostname?t.route.replace(/\/silkrouter\//,"/"):t.route;ze("[data-route]").forEach((function(t){t.classList.remove("active");var n=t.getAttribute("data-route");("/"===n&&e===n||"/"!==n&&e.includes(n))&&t.classList.add("active")})),ze("[data-section]").forEach((function(t){t.classList.add("d-none");var n=t.getAttribute("data-section");("/"===n&&e===n||"/"!==n&&e.includes(n))&&t.classList.remove("d-none")})),ze(".params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial").forEach((function(t){t.classList.add("d-none")}))}));var n="scssyworks.github.io"===location.hostname?"/silkrouter/tab3/:firstname/:lastname":"/tab3/:firstname/:lastname";if(t.pipe(Ce(n),Pe(!0)).subscribe((function(t){ze(".params-data pre").forEach((function(e){e.textContent=JSON.stringify(t.params,null,2)})),ze(".params-data, .query-next-step").forEach((function(t){t.classList.remove("d-none")})),Object.keys(t.search).length&&(ze(".query-data").forEach((function(e){e.querySelector("pre").textContent=JSON.stringify(t.search,null,2),e.classList.remove("d-none")})),ze(".data-next-step").forEach((function(t){t.classList.remove("d-none")}))),t.data&&(ze(".state-data").forEach((function(e){e.querySelector("pre").textContent=t.data,e.classList.remove("d-none")})),ze(".pass-data-tutorial").forEach((function(t){t.classList.remove("d-none")})))})),document.addEventListener("click",(function(n){ze("[data-route]").forEach((function(r){if(r.contains(n.target)){var o=r.hasAttribute("data-relative"),i=o&&0===ze("#checkHash:checked").length?r.closest("section").getAttribute("data-section")+r.getAttribute("data-route"):r.getAttribute("data-route");"scssyworks.github.io"===location.hostname&&(i="/silkrouter".concat(i)),o?("scssyworks.github.io"===location.hostname&&e.config.hashRouting&&(i=i.replace(/\/silkrouter\//,"/")),e.set(i)):t.set(i)}})),ze(".btn-primary.clear-session").forEach((function(t){t.contains(n.target)&&(window.sessionStorage.clear(),window.location.href="scssyworks.github.io"===location.hostname?"/silkrouter/tab2/":"/tab2/")})),ze(".append-param").forEach((function(e){e.contains(n.target)&&t.set("".concat("scssyworks.github.io"===location.hostname?"/silkrouter":"","/tab3/john/doe"))})),ze(".append-query").forEach((function(e){e.contains(n.target)&&t.set({route:"".concat("scssyworks.github.io"===location.hostname?"/silkrouter":"","/tab3/john/doe"),queryString:"q=HelloWorld"})})),ze(".append-data").forEach((function(e){e.contains(n.target)&&t.set({route:"".concat("scssyworks.github.io"===location.hostname?"/silkrouter":"","/tab3/john/doe"),queryString:"q=HelloWorld",data:"Hi there!"})}))})),ze("#checkHash").forEach((function(t){t.addEventListener("change",(function(){window.sessionStorage.setItem("checkedStatus","".concat(ze("#checkHash:checked").length)),window.location.href="".concat("scssyworks.github.io"===location.hostname?"/silkrouter":"","/tab2/")}))})),ze("#checkHash:checked").length){var r=new je({hashRouting:!0,preservePath:!0});r.subscribe((function(t){ze("[data-route][data-relative]").forEach((function(e){e.classList.remove("active"),t.route.includes(e.getAttribute("data-route"))&&e.classList.add("active")}))})),e=r}}(),ze("code pre").forEach((function(t){var e=t.innerHTML,n=e.match(/^\s+/),r=n&&n[0].length;e=e.split("\n").map((function(t){return t.substring(r)})).join("\n"),t.innerHTML=Ne(e.trim())})),ze(".version").forEach((function(t){return t.querySelector("span").textContent=Re})),window.Router=je,window.route=Ce,window.deparam=Pe,window.noMatch=qe,window.cache=Fe}(); +!function(){"use strict";function t(e){return t="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},t(e)}function e(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function n(t,e){for(var n=0;nt.length)&&(e=t.length);for(var n=0,r=new Array(e);n0&&o[o.length-1])||6!==i[0]&&2!==i[0])){u=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function h(t,e){var n="function"==typeof Symbol&&t[Symbol.iterator];if(!n)return t;var r,o,i=n.call(t),u=[];try{for(;(void 0===e||e-- >0)&&!(r=i.next()).done;)u.push(r.value)}catch(t){o={error:t}}finally{try{r&&!r.done&&(n=i.return)&&n.call(i)}finally{if(o)throw o.error}}return u}function p(t,e,n){if(n||2===arguments.length)for(var r,o=0,i=e.length;o1||s(t,e)}))})}function s(t,e){try{(n=o[t](e)).value instanceof d?Promise.resolve(n.value.v).then(c,a):l(i[0][2],n)}catch(t){l(i[0][3],t)}var n}function c(t){s("next",t)}function a(t){s("throw",t)}function l(t,e){t(e),i.shift(),i.length&&s(i[0][0],i[0][1])}}function y(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e,n=t[Symbol.asyncIterator];return n?n.call(t):(t=f(t),e={},r("next"),r("throw"),r("return"),e[Symbol.asyncIterator]=function(){return this},e);function r(n){e[n]=t[n]&&function(e){return new Promise((function(r,o){(function(t,e,n,r){Promise.resolve(r).then((function(e){t({value:e,done:n})}),e)})(r,o,(e=t[n](e)).done,e.value)}))}}}function b(t){return"function"==typeof t}function m(t){var e=t((function(t){Error.call(t),t.stack=(new Error).stack}));return e.prototype=Object.create(Error.prototype),e.prototype.constructor=e,e}var w=m((function(t){return function(e){t(this),this.message=e?e.length+" errors occurred during unsubscription:\n"+e.map((function(t,e){return e+1+") "+t.toString()})).join("\n "):"",this.name="UnsubscriptionError",this.errors=e}}));function g(t,e){if(t){var n=t.indexOf(e);0<=n&&t.splice(n,1)}}var _=function(){function t(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}var e;return t.prototype.unsubscribe=function(){var t,e,n,r,o;if(!this.closed){this.closed=!0;var i=this._parentage;if(i)if(this._parentage=null,Array.isArray(i))try{for(var u=f(i),s=u.next();!s.done;s=u.next()){s.value.remove(this)}}catch(e){t={error:e}}finally{try{s&&!s.done&&(e=u.return)&&e.call(u)}finally{if(t)throw t.error}}else i.remove(this);var c=this.initialTeardown;if(b(c))try{c()}catch(t){o=t instanceof w?t.errors:[t]}var a=this._finalizers;if(a){this._finalizers=null;try{for(var l=f(a),d=l.next();!d.done;d=l.next()){var v=d.value;try{E(v)}catch(t){o=null!=o?o:[],t instanceof w?o=p(p([],h(o)),h(t.errors)):o.push(t)}}}catch(t){n={error:t}}finally{try{d&&!d.done&&(r=l.return)&&r.call(l)}finally{if(n)throw n.error}}}if(o)throw new w(o)}},t.prototype.add=function(e){var n;if(e&&e!==this)if(this.closed)E(e);else{if(e instanceof t){if(e.closed||e._hasParent(this))return;e._addParent(this)}(this._finalizers=null!==(n=this._finalizers)&&void 0!==n?n:[]).push(e)}},t.prototype._hasParent=function(t){var e=this._parentage;return e===t||Array.isArray(e)&&e.includes(t)},t.prototype._addParent=function(t){var e=this._parentage;this._parentage=Array.isArray(e)?(e.push(t),e):e?[e,t]:t},t.prototype._removeParent=function(t){var e=this._parentage;e===t?this._parentage=null:Array.isArray(e)&&g(e,t)},t.prototype.remove=function(e){var n=this._finalizers;n&&g(n,e),e instanceof t&&e._removeParent(this)},t.EMPTY=((e=new t).closed=!0,e),t}(),x=_.EMPTY;function S(t){return t instanceof _||t&&"closed"in t&&b(t.remove)&&b(t.add)&&b(t.unsubscribe)}function E(t){b(t)?t():t.unsubscribe()}var A={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},k=function(t,e){for(var n=[],r=2;r0},enumerable:!1,configurable:!0}),e.prototype._trySubscribe=function(e){return this._throwIfClosed(),t.prototype._trySubscribe.call(this,e)},e.prototype._subscribe=function(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)},e.prototype._innerSubscribe=function(t){var e=this,n=this,r=n.hasError,o=n.isStopped,i=n.observers;return r||o?x:(this.currentObservers=null,i.push(t),new _((function(){e.currentObservers=null,g(i,t)})))},e.prototype._checkFinalizedStatuses=function(t){var e=this,n=e.hasError,r=e.thrownError,o=e.isStopped;n?t.error(r):o&&t.complete()},e.prototype.asObservable=function(){var t=new M;return t.source=this,t},e.create=function(t,e){return new K(t,e)},e}(M),K=function(t){function e(e,n){var r=t.call(this)||this;return r.destination=e,r.source=n,r}return c(e,t),e.prototype.next=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.next)||void 0===n||n.call(e,t)},e.prototype.error=function(t){var e,n;null===(n=null===(e=this.destination)||void 0===e?void 0:e.error)||void 0===n||n.call(e,t)},e.prototype.complete=function(){var t,e;null===(e=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===e||e.call(t)},e.prototype._subscribe=function(t){var e,n;return null!==(n=null===(e=this.source)||void 0===e?void 0:e.subscribe(t))&&void 0!==n?n:x},e}($);!function(t){function e(e){var n=t.call(this)||this;return n._value=e,n}c(e,t),Object.defineProperty(e.prototype,"value",{get:function(){return this.getValue()},enumerable:!1,configurable:!0}),e.prototype._subscribe=function(e){var n=t.prototype._subscribe.call(this,e);return!n.closed&&e.next(this._value),n},e.prototype.getValue=function(){var t=this,e=t.hasError,n=t.thrownError,r=t._value;if(e)throw n;return this._throwIfClosed(),r},e.prototype.next=function(e){t.prototype.next.call(this,this._value=e)}}($);var Z={now:function(){return(Z.delegate||Date).now()},delegate:void 0};!function(t){function e(e,n,r){void 0===e&&(e=1/0),void 0===n&&(n=1/0),void 0===r&&(r=Z);var o=t.call(this)||this;return o._bufferSize=e,o._windowTime=n,o._timestampProvider=r,o._buffer=[],o._infiniteTimeWindow=!0,o._infiniteTimeWindow=n===1/0,o._bufferSize=Math.max(1,e),o._windowTime=Math.max(1,n),o}c(e,t),e.prototype.next=function(e){var n=this,r=n.isStopped,o=n._buffer,i=n._infiniteTimeWindow,u=n._timestampProvider,s=n._windowTime;r||(o.push(e),!i&&o.push(u.now()+s)),this._trimBuffer(),t.prototype.next.call(this,e)},e.prototype._subscribe=function(t){this._throwIfClosed(),this._trimBuffer();for(var e=this._innerSubscribe(t),n=this._infiniteTimeWindow,r=this._buffer.slice(),o=0;o0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e._scheduled||(e._scheduled=lt.setImmediate(e.flush.bind(e,void 0))))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);e.actions.some((function(t){return t.id===n}))||(lt.clearImmediate(n),e._scheduled=void 0)},e}(ot),ht=function(){function t(e,n){void 0===n&&(n=t.now),this.schedulerActionCtor=e,this.now=n}return t.prototype.schedule=function(t,e,n){return void 0===e&&(e=0),new this.schedulerActionCtor(this,t).schedule(n,e)},t.now=Z.now,t}(),pt=function(t){function e(e,n){void 0===n&&(n=ht.now);var r=t.call(this,e,n)||this;return r.actions=[],r._active=!1,r._scheduled=void 0,r}return c(e,t),e.prototype.flush=function(t){var e=this.actions;if(this._active)e.push(t);else{var n;this._active=!0;do{if(n=t.execute(t.state,t.delay))break}while(t=e.shift());if(this._active=!1,n){for(;t=e.shift();)t.unsubscribe();throw n}}},e}(ht),dt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c(e,t),e.prototype.flush=function(t){this._active=!0;var e=this._scheduled;this._scheduled=void 0;var n,r=this.actions;t=t||r.shift();do{if(n=t.execute(t.state,t.delay))break}while((t=r[0])&&t.id===e&&r.shift());if(this._active=!1,n){for(;(t=r[0])&&t.id===e&&r.shift();)t.unsubscribe();throw n}},e}(pt);new dt(ft),new pt(ot);var vt=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r}return c(e,t),e.prototype.schedule=function(e,n){return void 0===n&&(n=0),n>0?t.prototype.schedule.call(this,e,n):(this.delay=n,this.state=e,this.scheduler.flush(this),this)},e.prototype.execute=function(e,n){return n>0||this.closed?t.prototype.execute.call(this,e,n):this._execute(e,n)},e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0?t.prototype.requestAsyncId.call(this,e,n,r):e.flush(this)},e}(ot),yt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c(e,t),e}(pt);new yt(vt);var bt=function(t){function e(e,n){var r=t.call(this,e,n)||this;return r.scheduler=e,r.work=n,r}return c(e,t),e.prototype.requestAsyncId=function(e,n,r){return void 0===r&&(r=0),null!==r&&r>0?t.prototype.requestAsyncId.call(this,e,n,r):(e.actions.push(this),e._scheduled||(e._scheduled=Q.requestAnimationFrame((function(){return e.flush(void 0)}))))},e.prototype.recycleAsyncId=function(e,n,r){if(void 0===r&&(r=0),null!=r&&r>0||null==r&&this.delay>0)return t.prototype.recycleAsyncId.call(this,e,n,r);e.actions.some((function(t){return t.id===n}))||(Q.cancelAnimationFrame(n),e._scheduled=void 0)},e}(ot),mt=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return c(e,t),e.prototype.flush=function(t){this._active=!0;var e=this._scheduled;this._scheduled=void 0;var n,r=this.actions;t=t||r.shift();do{if(n=t.execute(t.state,t.delay))break}while((t=r[0])&&t.id===e&&r.shift());if(this._active=!1,n){for(;(t=r[0])&&t.id===e&&r.shift();)t.unsubscribe();throw n}},e}(pt);new mt(bt),function(t){function e(e,n){void 0===e&&(e=wt),void 0===n&&(n=1/0);var r=t.call(this,e,(function(){return r.frame}))||this;return r.maxFrames=n,r.frame=0,r.index=-1,r}c(e,t),e.prototype.flush=function(){for(var t,e,n=this.actions,r=this.maxFrames;(e=n[0])&&e.delay<=r&&(n.shift(),this.frame=e.delay,!(t=e.execute(e.state,e.delay))););if(t){for(;e=n.shift();)e.unsubscribe();throw t}},e.frameTimeFactor=10}(pt);var wt=function(t){function e(e,n,r){void 0===r&&(r=e.index+=1);var o=t.call(this,e,n)||this;return o.scheduler=e,o.work=n,o.index=r,o.active=!0,o.index=e.index=r,o}return c(e,t),e.prototype.schedule=function(n,r){if(void 0===r&&(r=0),Number.isFinite(r)){if(!this.id)return t.prototype.schedule.call(this,n,r);this.active=!1;var o=new e(this.scheduler,this.work);return this.add(o),o.schedule(n,r)}return _.EMPTY},e.prototype.requestAsyncId=function(t,n,r){void 0===r&&(r=0),this.delay=t.frame+r;var o=t.actions;return o.push(this),o.sort(e.sortActions),!0},e.prototype.recycleAsyncId=function(t,e,n){},e.prototype._execute=function(e,n){if(!0===this.active)return t.prototype._execute.call(this,e,n)},e.sortActions=function(t,e){return t.delay===e.delay?t.index===e.index?0:t.index>e.index?1:-1:t.delay>e.delay?1:-1},e}(ot);new M((function(t){return t.complete()}));var gt=function(t){return t&&"number"==typeof t.length&&"function"!=typeof t};var _t,xt="function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator";function St(t){if(t instanceof M)return t;if(null!=t){if(function(t){return b(t[z])}(t))return i=t,new M((function(t){var e=i[z]();if(b(e.subscribe))return e.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")}));if(gt(t))return o=t,new M((function(t){for(var e=0;e0)&&(u>0&&(t.params=i),o.next(t))}else o.error(new Error(Rt))},error:o.error,complete:o.complete});return function(){if(n instanceof je){var t=n.__paths__,r=t.indexOf(e);r>-1&&t.splice(r,1)}i.unsubscribe()}}))}}function Pe(t){return function(e){return new M((function(n){var r=e.subscribe({next:function(e){try{e.search=se(e.search,t),e.hashSearch=se(e.hashSearch,t),n.next(e)}catch(t){n.error(t)}},error:n.error,complete:n.complete});return function(){r.unsubscribe()}}))}}function qe(t){return function(e){return new M((function(n){var r=e.subscribe({next:function(e){if(t instanceof je){var r=t.__paths__;if(r.length>0){var o=e.route,i=!1;be(r,(function(t){if(t===o||de(Te(t,o)).length)return!(i=!0)})),i||(e.noMatch=!0,n.next(e))}}},error:n.error,complete:n.complete});return function(){r.unsubscribe()}}))}}function Le(t,e,n){be(de(t),(function(r){Kt(t[r])&&Kt(e[r])?Le(t[r],e[r],n):n.break=t[r]!==e[r]}))}function Fe(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Nt,n=arguments.length>1?arguments[1]:void 0,r={};return t(e)===Vt&&(n=e,e=Nt),function(t){return new M((function(o){var i=t.subscribe({next:function(t){be(e,(function(e){if(n&&Kt(t[e])&&Kt(r[e])){var i={};if(Le(t[e],r[e],i),i.break)return u(r,t),o.next(t),!1}else if(t[e]!==r[e])return u(r,t),o.next(t),!1}))},error:o.error,complete:o.complete});return function(){i.unsubscribe(),r={}}}))}}var Re="4.2.15";function ze(t){var e;if("string"==typeof t){var n=[];return t.split(",").map((function(t){return t.trim()})).forEach((function(t){o(document.querySelectorAll(t)).forEach((function(t){n.includes(t)||n.push(t)}))})),n}return o((e=document).querySelectorAll.apply(e,arguments))}function Ne(t){return t=function(t){return["(new|throw|let|const|var|typeof|instanceof|in|of|import|case|extends|delete)(\\s)","(function|class|try|catch|finally|do|else)(\\s|{)","(for|while|if)(\\s|\\()","(return|break|continue)(\\s|;)"].forEach((function(e){var n=new RegExp(e,"g");n.test(t)&&(t=t.replace(n,(function(){for(var t=arguments.length,e=new Array(t),n=0;n'.concat(r,"").concat(o)})))})),t}(t=function(t){return t.replace(/['"`].*['"`]/g,(function(t){return''.concat(t.replace(/\//g,"/"),"")}))}(t)),t=function(t){return t=t.replace(/(\.)([^;:'",.())?|\\/^*@%#!~+-[\]{}=]+)(\()/g,(function(){for(var t=arguments.length,e=new Array(t),n=0;n').concat(o,"").concat(i)})),t}(t),t=function(t){return t.replace(/\s=>\s/g,(function(t){return''.concat(t,"")}))}(t=function(t){return t.replace(/\/\/[^\n]+/g,(function(t){return''.concat(t,"")}))}(t))}!function(){ze("#checkHash").forEach((function(t){t.checked="1"===window.sessionStorage.getItem("checkedStatus")}));var t=new je,e=t;t.subscribe((function(t){var e="scssyworks.github.io"===location.hostname?t.route.replace(/\/silkrouter\//,"/"):t.route;ze("[data-route]").forEach((function(t){t.classList.remove("active");var n=t.getAttribute("data-route");("/"===n&&e===n||"/"!==n&&e.includes(n))&&t.classList.add("active")})),ze("[data-section]").forEach((function(t){t.classList.add("d-none");var n=t.getAttribute("data-section");("/"===n&&e===n||"/"!==n&&e.includes(n))&&t.classList.remove("d-none")})),ze(".params-data, .query-next-step, .query-data, .data-next-step, .state-data, .pass-data-tutorial").forEach((function(t){t.classList.add("d-none")}))}));var n="scssyworks.github.io"===location.hostname?"/silkrouter/tab3/:firstname/:lastname":"/tab3/:firstname/:lastname";if(t.pipe(Ce(n),Pe(!0)).subscribe((function(t){ze(".params-data pre").forEach((function(e){e.textContent=JSON.stringify(t.params,null,2)})),ze(".params-data, .query-next-step").forEach((function(t){t.classList.remove("d-none")})),Object.keys(t.search).length&&(ze(".query-data").forEach((function(e){e.querySelector("pre").textContent=JSON.stringify(t.search,null,2),e.classList.remove("d-none")})),ze(".data-next-step").forEach((function(t){t.classList.remove("d-none")}))),t.data&&(ze(".state-data").forEach((function(e){e.querySelector("pre").textContent=t.data,e.classList.remove("d-none")})),ze(".pass-data-tutorial").forEach((function(t){t.classList.remove("d-none")})))})),document.addEventListener("click",(function(n){ze("[data-route]").forEach((function(r){if(r.contains(n.target)){var o=r.hasAttribute("data-relative"),i=o&&0===ze("#checkHash:checked").length?r.closest("section").getAttribute("data-section")+r.getAttribute("data-route"):r.getAttribute("data-route");"scssyworks.github.io"===location.hostname&&(i="/silkrouter".concat(i)),o?("scssyworks.github.io"===location.hostname&&e.config.hashRouting&&(i=i.replace(/\/silkrouter\//,"/")),e.set(i)):t.set(i)}})),ze(".btn-primary.clear-session").forEach((function(t){t.contains(n.target)&&(window.sessionStorage.clear(),window.location.href="scssyworks.github.io"===location.hostname?"/silkrouter/tab2/":"/tab2/")})),ze(".append-param").forEach((function(e){e.contains(n.target)&&t.set("".concat("scssyworks.github.io"===location.hostname?"/silkrouter":"","/tab3/john/doe"))})),ze(".append-query").forEach((function(e){e.contains(n.target)&&t.set({route:"".concat("scssyworks.github.io"===location.hostname?"/silkrouter":"","/tab3/john/doe"),queryString:"q=HelloWorld"})})),ze(".append-data").forEach((function(e){e.contains(n.target)&&t.set({route:"".concat("scssyworks.github.io"===location.hostname?"/silkrouter":"","/tab3/john/doe"),queryString:"q=HelloWorld",data:"Hi there!"})}))})),ze("#checkHash").forEach((function(t){t.addEventListener("change",(function(){window.sessionStorage.setItem("checkedStatus","".concat(ze("#checkHash:checked").length)),window.location.href="".concat("scssyworks.github.io"===location.hostname?"/silkrouter":"","/tab2/")}))})),ze("#checkHash:checked").length){var r=new je({hashRouting:!0,preservePath:!0});r.subscribe((function(t){ze("[data-route][data-relative]").forEach((function(e){e.classList.remove("active"),t.route.includes(e.getAttribute("data-route"))&&e.classList.add("active")}))})),e=r}}(),ze("code pre").forEach((function(t){var e=t.innerHTML,n=e.match(/^\s+/),r=n&&n[0].length;e=e.split("\n").map((function(t){return t.substring(r)})).join("\n"),t.innerHTML=Ne(e.trim())})),ze(".version").forEach((function(t){return t.querySelector("span").textContent=Re})),window.Router=je,window.route=Ce,window.deparam=Pe,window.noMatch=qe,window.cache=Fe}(); diff --git a/dist/umd/silkrouter.js b/dist/umd/silkrouter.js index 5b4a750..5b7f128 100644 --- a/dist/umd/silkrouter.js +++ b/dist/umd/silkrouter.js @@ -401,9 +401,7 @@ var cont = callback(arrayObj[key], isNumber(key) ? +key : key); if (_typeof$1(cont) === TYPEOF_BOOL) { - if (cont) { - continue; - } else { + if (!cont) { break; } } @@ -423,7 +421,8 @@ if (target.length && _typeof$1(eventType) === TYPEOF_STR$1) { each(target, function (el) { - var customEvent = new getGlobal().CustomEvent(eventType, { + var win = getGlobal(); + var customEvent = new win.CustomEvent(eventType, { bubbles: true, cancelable: true, detail: data || [] @@ -555,12 +554,21 @@ var location = this.config.location; var search = trim(location.search && location.search.substring(1)); var existingQuery = trim(hashRouting ? location.hash.split(QRY)[1] : search); - if (!existingQuery) return queryString; + + if (!existingQuery) { + return queryString; + } + return toQueryString(assign(lib(search), lib(existingQuery), lib(queryString))); } - function set(route, replace, exec) { - exec = exec || true; + function set(route, replace, doExec) { + var exec = true; + + if (_typeof$1(doExec) === TYPEOF_BOOL) { + exec = doExec; + } + var _this$config = this.config, preservePath = _this$config.preservePath, hashRouting = _this$config.hashRouting, diff --git a/dist/umd/silkrouter.js.map b/dist/umd/silkrouter.js.map index f4c90a4..67f699d 100644 --- a/dist/umd/silkrouter.js.map +++ b/dist/umd/silkrouter.js.map @@ -1 +1 @@ -{"version":3,"file":"silkrouter.js","sources":["../../src/js/utils/assign.js","../../src/js/utils/constants.js","../../src/js/utils/getGlobal.js","../../node_modules/deparam.js/dist/esm/deparam.esm.js","../../src/js/utils/utils.js","../../src/js/utils/triggerEvent.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/utils/getPath.js","../../src/js/api/bindRouterEvents/index.js","../../src/js/utils/query.js","../../src/js/api/resolveQuery/index.js","../../src/js/api/set/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/index.js","../../src/js/utils/params.js","../../src/js/operators/index.js"],"sourcesContent":["/**\n * Function to extend an object with new and updated properties\n * @private\n * @returns {object}\n */\nexport function assign(...args) {\n return Object.assign(...args);\n}\n","/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const REG_COMPLEX = /\\[/;\nexport const REG_VARIABLE = /([^[]+)\\[([^[]*)\\]/;\nexport const REG_REPLACE_BRACKETS = /\\[([^[]*)\\]/;\nexport const REG_REPLACE_NEXTPROP = /[^[]+/;\nexport const HISTORY_UNSUPPORTED = 'History unsupported!';\nexport const INVALID_ROUTE = 'Route string is not a pure route';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const CACHED_FIELDS = [\n 'route',\n 'hashRouting',\n 'path',\n 'hash',\n 'search',\n 'hashSearch',\n 'data',\n];\nexport const AMP = '&';\nexport const QRY = '?';\nexport const EQ = '=';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_OBJ = typeof {};\nexport const TYPEOF_NUM = typeof 0;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { TYPEOF_UNDEF } from './constants';\n\nexport function getGlobal() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n}\n","/*!\n * Deparam plugin converts query string to a valid JavaScript object\n * Released under MIT license\n * @name Deparam.js\n * @author Sachin Singh \n * @version 3.0.6\n * @license MIT\n */\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n/*!\n * is-number \n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nvar isNumber = function(num) {\n if (typeof num === 'number') {\n return num - num === 0;\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);\n }\n return false;\n};\n\nvar isObject = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n\nvar UNDEF = void 0; // Results to undefined\n// Typeof undefined\n\nvar TYPEOF_UNDEF = _typeof(UNDEF); // Typeof string\n\n\nvar TYPEOF_STR = _typeof(\"\"); // location var\n\n\nvar loc = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== TYPEOF_UNDEF ? window.location : null; // Shorthand for built-ins\n\nvar isArr = Array.isArray;\n/**\n * Checks if current key is safe\n * @param {string} key Current key\n * @returns {boolean}\n */\n\nfunction isSafe(key) {\n return [\"__proto__\", \"prototype\"].indexOf(key) === -1;\n}\n/**\n * Shorthand for Object.prototype.hasOwnProperty\n * @param {any} obj Any object\n * @param {string} key key\n * @returns {boolean} true or false if object has the property\n */\n\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n * Returns true of input query string is complex\n * @param {string} q Query string\n * @returns {boolean} true or false\n */\n\n\nfunction ifComplex(q) {\n return /\\[/.test(q);\n}\n/**\n * Returns an object without a prototype\n * @returns {{[key in string|number]: any}} Object without __proto__\n */\n\n\nfunction obNull() {\n return Object.create(null);\n}\n/**\n * Returns a parsed query object\n * @param {string} qs Query string\n * @param {boolean} coerce Coerce values\n * @returns {{[key in string|number]: any}} Query object\n */\n\n\nfunction lib(qs, coerce) {\n var _this = this;\n\n if (_typeof(qs) !== TYPEOF_STR) {\n qs = loc ? loc.search : \"\";\n }\n\n qs = qs.substring(qs.charAt(0) === \"?\");\n var queryObject = obNull();\n\n if (qs) {\n qs.split(\"&\").forEach(function (qq) {\n var qArr = qq.split(\"=\").map(function (part) {\n return decodeURIComponent(part);\n });\n\n if (ifComplex(qArr[0])) {\n complex.apply(_this, [].concat(qArr).concat([queryObject, coerce]));\n } else {\n simple.apply(_this, [qArr, queryObject, false, coerce]);\n }\n });\n }\n\n return queryObject;\n}\n/**\n * Converts an array to equivalent object\n * @param {any[]} arr Any array\n * @returns {any} Any object\n */\n\n\nfunction toObject(arr) {\n var convertedObj = obNull();\n\n if (isArr(arr)) {\n arr.forEach(function (value, index) {\n convertedObj[index] = value;\n });\n }\n\n return convertedObj;\n}\n/**\n * Converts array to an object if required\n * @param {any} ob Any object\n * @param {booleab} isNextNumber Test for next key\n * @returns {any} Any object\n */\n\n\nfunction resolve(ob, isNextNumber) {\n if (_typeof(ob) === TYPEOF_UNDEF) return isNextNumber ? [] : obNull();\n return isNextNumber ? ob : toObject(ob);\n}\n/**\n * Resolves the target object for next iteration\n * @param {any} ob current reference object\n * @param {string} nextProp reference property in current object\n * @returns {any} Resolved object for next iteration\n */\n\n\nfunction resolveObj(ob, nextProp) {\n if (isObject(ob) && !isArr(ob)) return {\n ob: ob\n };\n if (isArr(ob) || _typeof(ob) === TYPEOF_UNDEF) return {\n ob: resolve(ob, isNumber(nextProp))\n };\n return {\n ob: [ob],\n push: ob !== null\n };\n}\n/**\n * Handles complex query parameters\n * @param {string} key Query key\n * @param {string} value Query value\n * @param {Object} obj Query object\n * @returns {void}\n */\n\n\nfunction complex(key, value, obj, doCoerce) {\n var match = key.match(/([^\\[]+)\\[([^\\[]*)\\]/) || [];\n\n if (match.length === 3) {\n var prop = match[1];\n var nextProp = match[2];\n key = key.replace(/\\[([^\\[]*)\\]/, \"\");\n\n if (ifComplex(key)) {\n if (nextProp === \"\") nextProp = \"0\";\n key = key.replace(/[^\\[]+/, nextProp);\n complex(key, value, obj[prop] = resolveObj(obj[prop], nextProp).ob, doCoerce);\n } else if (nextProp) {\n if (isSafe(prop) && isSafe(nextProp)) {\n var _resolveObj = resolveObj(obj[prop], nextProp),\n ob = _resolveObj.ob,\n push = _resolveObj.push;\n\n obj[prop] = ob;\n var nextOb = push ? obNull() : obj[prop];\n nextOb[nextProp] = coerce(value, !doCoerce);\n\n if (push) {\n obj[prop].push(nextOb);\n }\n }\n } else {\n simple([match[1], value], obj, true, doCoerce);\n }\n }\n}\n/**\n * Handles simple query\n * @param {array} qArr Query list\n * @param {Object} queryObject Query object\n * @param {boolean} toArray Test for conversion to array\n * @returns {void}\n */\n\n\nfunction simple(qArr, queryObject, toArray, doCoerce) {\n var key = qArr[0];\n var value = qArr[1];\n\n if (isSafe(key)) {\n value = coerce(value, !doCoerce);\n\n if (hasOwn(queryObject, key)) {\n queryObject[key] = isArr(queryObject[key]) ? queryObject[key] : [queryObject[key]];\n queryObject[key].push(value);\n } else {\n queryObject[key] = toArray ? [value] : value;\n }\n }\n}\n/**\n * Converts input value to their appropriate types\n * @param {any} value Input value\n * @param {boolean} skip Test for skipping coercion\n * @returns {any} Coerced value\n */\n\n\nfunction coerce(value, skip) {\n // eslint-disable-next-line\n if (value == null) {\n return \"\";\n }\n\n if (skip || _typeof(value) !== TYPEOF_STR) {\n return value;\n }\n\n value = value.trim();\n\n if (isNumber(value)) {\n return +value;\n }\n\n switch (value) {\n case \"null\":\n return null;\n\n case TYPEOF_UNDEF:\n return UNDEF;\n\n case \"true\":\n return true;\n\n case \"false\":\n return false;\n\n case \"NaN\":\n return NaN;\n\n default:\n return value;\n }\n}\n\nexport { lib as default, isNumber, isObject };\n//# sourceMappingURL=deparam.esm.js.map\n","import { isNumber, isObject } from 'deparam.js';\nimport { EMPTY, REG_PATHNAME, TYPEOF_BOOL, TYPEOF_STR } from './constants';\n\n/**\n * Shorthand for Array.isArray\n */\nexport const isArr = Array.isArray;\n\n/**\n * Shorthand for Object.keys\n */\nexport const oKeys = Object.keys;\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n\n/**\n * Checks if key is present in provided object\n * @param {object} ob Object\n * @param {*} key Key\n */\nexport function hasOwn(ob, key) {\n return Object.prototype.hasOwnProperty.call(ob, key);\n}\n\n/**\n * Loops over an array like object\n * @param {object} arrayObj Array or array like object\n * @param {function} callback Callback function\n */\nexport function each(arrayObj, callback) {\n if (isObject(arrayObj)) {\n const keys = oKeys(arrayObj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const cont = callback(arrayObj[key], isNumber(key) ? +key : key);\n if (typeof cont === TYPEOF_BOOL) {\n if (cont) {\n continue;\n } else {\n break;\n }\n }\n }\n }\n}\n","import { TYPEOF_STR } from './constants';\nimport { getGlobal } from './getGlobal';\nimport { each } from './utils';\n\n/**\n * Function to trigger custom event\n * @param {Node|NodeList|HTMLCollection|Node[]} target Target element or list\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(target, eventType, data) {\n target = Array.from(target instanceof Node ? [target] : target);\n if (target.length && typeof eventType === TYPEOF_STR) {\n each(target, (el) => {\n const customEvent = new getGlobal().CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n });\n el.dispatchEvent(customEvent);\n });\n }\n}\n","import { QRY } from '../../utils/constants';\nimport { trim } from '../../utils/utils';\nexport default class RouterEvent {\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const routeObject = routeInfo[0];\n const originalEvent = routeInfo[1];\n const routerInstance = routeInfo[2];\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.hashRouting = routeObject.hash;\n this.routerInstance = routerInstance;\n this.virtualEvent = currentEvent || {};\n this.originalEvent = originalEvent || {};\n this.path = trim(location.pathname);\n this.hash = location.hash;\n this.search = trim(location.search.substring(1));\n this.hashSearch = trim(location.hash && location.hash.split(QRY)[1]);\n const { state } = this.originalEvent;\n this.data = (state && state.data) || (history.state && history.state.data);\n }\n}\n","import { Observable } from 'rxjs';\nimport RouterEvent from '../routerEvent';\n\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const routerInstance = event.detail[2];\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { QRY } from './constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { fromEvent } from 'rxjs';\nimport { POP_STATE, VIRTUAL_PUSHSTATE } from '../../utils/constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport { getGlobal } from '../../utils/getGlobal';\nimport { getPath } from '../../utils/getPath';\n\nexport default function bindRouterEvents(inst) {\n const { context, location, hashRouting: hash } = inst.config;\n inst.popStateSubscription = fromEvent(getGlobal(), POP_STATE).subscribe(\n (e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, inst]);\n }\n }\n );\n inst.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(inst)\n );\n if (hash && !location.hash) {\n inst.set('/', true, false); // Replace current hash path without executing anythings\n }\n}\n","import { isObject } from 'deparam.js';\nimport { AMP, EMPTY, TYPEOF_FUNC, TYPEOF_STR } from './constants';\nimport { each, isArr } from './utils';\n\nexport const encode = encodeURIComponent;\n\n/**\n * Builds query string recursively\n * @private\n * @param {string[]} qsList List of query string key value pairs\n * @param {*} key Key\n * @param {*} obj Value\n */\nfunction buildQuery(qsList, key, obj) {\n if (isObject(obj)) {\n each(obj, (prop, obKey) => {\n buildQuery(qsList, `${key}[${isArr(obj) ? EMPTY : obKey}]`, prop);\n });\n } else if (typeof obj !== TYPEOF_FUNC) {\n qsList.push(`${encode(key)}=${encode(obj)}`);\n }\n}\n\n/**\n * Converts an object to a query string\n * @private\n * @param {object} obj Object which should be converted to a string\n * @returns {string}\n */\nexport function toQueryString(obj) {\n let qsList = [];\n if (isObject(obj)) {\n each(obj, (prop, key) => {\n buildQuery(qsList, key, prop);\n });\n return qsList.join(AMP);\n }\n return typeof obj === TYPEOF_STR ? obj : EMPTY;\n}\n","import deparam from 'deparam.js';\nimport { trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport { assign } from '../../utils/assign';\nimport { QRY } from '../../utils/constants';\n\n/**\n * Resolves and analyzes existing query string\n * @private\n * @param {string} queryString Query string\n * @param {string} hashRouting Flag to test if hash routing is enabled\n */\nexport default function resolveQuery(queryString, hashRouting) {\n const { location } = this.config;\n const search = trim(location.search && location.search.substring(1));\n const existingQuery = trim(\n hashRouting ? location.hash.split(QRY)[1] : search\n );\n if (!existingQuery) return queryString;\n return toQueryString(\n assign(deparam(search), deparam(existingQuery), deparam(queryString))\n );\n}\n","import { isObject } from \"deparam.js\";\nimport { trigger } from \"../../utils/triggerEvent\";\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n TYPEOF_STR,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n} from \"../../utils/constants\";\nimport { isValidRoute, trim } from \"../../utils/utils\";\nimport { toQueryString } from \"../../utils/query\";\nimport resolveQuery from \"../resolveQuery\";\nimport { assign } from \"../../utils/assign\";\n\nexport default function set(route, replace, exec) {\n exec = exec || true;\n const { preservePath, hashRouting, history } = this.config;\n const routeObject = assign(\n { replace, exec },\n typeof route === TYPEOF_STR ? { route } : route\n );\n replace = routeObject.replace;\n exec = routeObject.exec;\n let { route: routeStr, queryString } = routeObject;\n const { preserveQuery, data, pageTitle = null } = routeObject;\n const routeParts = routeStr.split(QRY);\n // Check if query string is an object\n if (isObject(queryString)) {\n queryString = toQueryString(queryString);\n }\n // Resolve to URL query string if it's not explicitly passed\n queryString = trim(queryString ? queryString : routeParts[1]);\n routeStr = trim(routeParts[0]);\n // Check if query preservation is required. Resolve query accordingly\n if (preserveQuery) {\n queryString = resolveQuery.apply(this, [queryString, hashRouting]);\n }\n if (isValidRoute(routeStr)) {\n const unmodifiedRoute = routeStr;\n if (hashRouting) {\n routeStr = `/#${routeStr}`;\n // Path preservation should only work for hash routing\n if (preservePath) {\n routeStr = `${routeStr.substring(1)}`;\n }\n }\n // Append query string\n routeStr = `${routeStr}${queryString ? `${QRY + queryString}` : EMPTY}`;\n history[replace ? REPLACE : PUSH]({ data }, pageTitle, routeStr);\n if (exec && unmodifiedRoute) {\n trigger(this.config.context, VIRTUAL_PUSHSTATE, [\n {\n path: unmodifiedRoute,\n hash: hashRouting,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n return this;\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../utils/constants';\nimport { getPath } from '../../utils/getPath';\nimport RouterEvent from '../routerEvent';\n\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { assign } from '../../utils/assign';\nimport bindRouterEvents from '../bindRouterEvents';\nimport set from '../set';\nimport { HISTORY_UNSUPPORTED, PUSH, TYPEOF_FUNC } from '../../utils/constants';\nimport callOnce from '../callOnce';\nimport { getGlobal } from '../../utils/getGlobal';\n\nexport default class Router {\n constructor(config) {\n const { history, location, document } = getGlobal();\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.config = Object.freeze(\n assign(\n {\n init: true, // Initialize as soon as route handler is attached\n hashRouting: false, // Switch to hash routing\n preservePath: false, // Works for hash routing\n context: document.body, // To change the context of \"vpushstate\" event\n location, // Should remain unchanged\n history, // History object\n },\n config || {}\n )\n );\n this.__paths__ = [];\n bindRouterEvents(this);\n }\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n subscribe(...fns) {\n return this.pipe().subscribe(...fns);\n }\n set(...props) {\n return set.apply(this, props);\n }\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n this.__paths__.length = 0;\n }\n}\n","import { EMPTY, REG_ROUTE_PARAMS } from './constants';\nimport { each } from './utils';\n\n/**\n * Parses current path and returns params object\n * @private\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {object}\n */\nexport function extractParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n each(keys, (key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","import { trim, isValidRoute, each, oKeys } from \"../utils/utils\";\nimport queryDeparam, { isObject } from \"deparam.js\";\nimport { Observable } from \"rxjs\";\nimport {\n INVALID_ROUTE,\n CACHED_FIELDS,\n UNDEF,\n TYPEOF_BOOL,\n} from \"../utils/constants\";\nimport { extractParams } from \"../utils/params\";\nimport Router from \"../api/router\";\nimport { assign } from \"../utils/assign\";\n\n/**\n * Operator to compare a specific route\n * @param {string} routeStr Route string\n * @param {Router} routerInstance Current router object [optional]\n * @param {boolean} ignoreCase Ignore case in route string\n */\nexport function route(routeStr, routerInstance, ignoreCase) {\n if (typeof routerInstance === TYPEOF_BOOL) {\n ignoreCase = routerInstance;\n routerInstance = UNDEF;\n }\n routeStr = trim(routeStr);\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.indexOf(routeStr) === -1) {\n paths.push(routeStr);\n }\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n let incomingRoute = event.route;\n if (isValidRoute(routeStr)) {\n if (ignoreCase) {\n routeStr = routeStr.toLowerCase();\n incomingRoute = incomingRoute.toLowerCase();\n }\n const params = extractParams(routeStr, incomingRoute);\n const paramsLength = oKeys(params).length;\n if (incomingRoute === routeStr || paramsLength > 0) {\n if (paramsLength > 0) {\n event.params = params;\n }\n subscriber.next(event);\n }\n } else {\n subscriber.error(new Error(INVALID_ROUTE));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n const existingRouteIndex = paths.indexOf(routeStr);\n if (existingRouteIndex > -1) {\n paths.splice(existingRouteIndex, 1);\n }\n }\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Converts search and hashSearch strings to object\n * @param {boolean} coerce Flag to enable value typecast\n */\nexport function deparam(coerce) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n try {\n event.search = queryDeparam(event.search, coerce);\n event.hashSearch = queryDeparam(event.hashSearch, coerce);\n subscriber.next(event);\n } catch (e) {\n subscriber.error(e);\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Modifies current subscriber to detect errors\n * @param {Router} routerInstance Current router object\n */\nexport function noMatch(routerInstance) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.length > 0) {\n const currentRoute = event.route;\n let match = false;\n each(paths, (path) => {\n if (\n path === currentRoute ||\n oKeys(extractParams(path, currentRoute)).length\n ) {\n return !(match = true);\n }\n });\n if (!match) {\n event.noMatch = true;\n subscriber.next(event);\n }\n }\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\nfunction deepComparison(first, second, result) {\n each(oKeys(first), (key) => {\n if (isObject(first[key]) && isObject(second[key])) {\n deepComparison(first[key], second[key], result);\n } else {\n result.break = first[key] !== second[key];\n }\n });\n}\n\n/**\n * Caches incoming routes to avoid calling handler if there is no change\n * @param {string[]} keys\n * @param {boolean} deep\n */\nexport function cache(keys = CACHED_FIELDS, deep) {\n let cache = {};\n if (typeof keys === TYPEOF_BOOL) {\n deep = keys;\n keys = CACHED_FIELDS;\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n each(keys, (key) => {\n if (deep && isObject(event[key]) && isObject(cache[key])) {\n const result = {};\n deepComparison(event[key], cache[key], result);\n if (result.break) {\n assign(cache, event);\n subscriber.next(event);\n return false;\n }\n } else if (event[key] !== cache[key]) {\n assign(cache, event);\n subscriber.next(event);\n return false; // break loop\n }\n });\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n cache = {};\n };\n });\n}\n"],"names":["assign","Object","POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","CACHED_FIELDS","AMP","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_BOOL","_typeof","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","getGlobal","globalThis","global","self","isArr","Array","isArray","oKeys","keys","trim","str","isValidRoute","route","test","each","arrayObj","callback","isObject","i","length","key","cont","isNumber","trigger","target","eventType","data","from","Node","el","customEvent","CustomEvent","bubbles","cancelable","detail","dispatchEvent","RouterEvent","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","config","location","history","path","hashRouting","hash","virtualEvent","pathname","search","substring","hashSearch","split","state","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","getPath","isHash","bindRouterEvents","inst","context","popStateSubscription","fromEvent","e","listeners","pipe","apply","set","encode","encodeURIComponent","buildQuery","qsList","obj","prop","obKey","push","toQueryString","join","resolveQuery","queryString","existingQuery","deparam","replace","exec","preservePath","routeStr","preserveQuery","pageTitle","routeParts","unmodifiedRoute","TypeError","callOnce","isDone","init","Router","document","Error","freeze","body","__paths__","ops","props","extractParams","expr","params","pathRegex","RegExp","lastIndex","match","map","values","shift","index","ignoreCase","paths","indexOf","incomingRoute","toLowerCase","paramsLength","existingRouteIndex","splice","coerce","queryDeparam","noMatch","currentRoute","deepComparison","first","second","result","cache","deep"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"silkrouter.js","sources":["../../src/js/utils/assign.js","../../src/js/utils/constants.js","../../src/js/utils/getGlobal.js","../../node_modules/deparam.js/dist/esm/deparam.esm.js","../../src/js/utils/utils.js","../../src/js/utils/triggerEvent.js","../../src/js/api/routerEvent/index.js","../../src/js/api/collate/index.js","../../src/js/utils/getPath.js","../../src/js/api/bindRouterEvents/index.js","../../src/js/utils/query.js","../../src/js/api/resolveQuery/index.js","../../src/js/api/set/index.js","../../src/js/api/callOnce/index.js","../../src/js/api/router/index.js","../../src/js/utils/params.js","../../src/js/operators/index.js"],"sourcesContent":["/**\n * Function to extend an object with new and updated properties\n * @private\n * @returns {object}\n */\nexport function assign(...args) {\n return Object.assign(...args);\n}\n","/**\n * Router constants\n */\nexport const POP_STATE = 'popstate';\nexport const REG_ROUTE_PARAMS = /:[^/]+/g;\nexport const REG_PATHNAME = /^\\/(?=[^?]*)/;\nexport const REG_COMPLEX = /\\[/;\nexport const REG_VARIABLE = /([^[]+)\\[([^[]*)\\]/;\nexport const REG_REPLACE_BRACKETS = /\\[([^[]*)\\]/;\nexport const REG_REPLACE_NEXTPROP = /[^[]+/;\nexport const HISTORY_UNSUPPORTED = 'History unsupported!';\nexport const INVALID_ROUTE = 'Route string is not a pure route';\nexport const VIRTUAL_PUSHSTATE = 'vpushstate';\nexport const CACHED_FIELDS = [\n 'route',\n 'hashRouting',\n 'path',\n 'hash',\n 'search',\n 'hashSearch',\n 'data',\n];\nexport const AMP = '&';\nexport const QRY = '?';\nexport const EQ = '=';\nexport const EMPTY = '';\nexport const UNDEF = void 0;\nexport const TYPEOF_STR = typeof EMPTY;\nexport const TYPEOF_BOOL = typeof true;\nexport const TYPEOF_UNDEF = typeof UNDEF;\nexport const TYPEOF_OBJ = typeof {};\nexport const TYPEOF_NUM = typeof 0;\nexport const TYPEOF_FUNC = typeof (() => {});\nexport const STATE = 'State';\nexport const PUSH = `push${STATE}`;\nexport const REPLACE = `replace${STATE}`;\n","import { TYPEOF_UNDEF } from './constants';\n\nexport function getGlobal() {\n return typeof globalThis !== TYPEOF_UNDEF ? globalThis : global || self;\n}\n","/*!\n * Deparam plugin converts query string to a valid JavaScript object\n * Released under MIT license\n * @name Deparam.js\n * @author Sachin Singh \n * @version 3.0.6\n * @license MIT\n */\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\n\n/*!\n * is-number \n *\n * Copyright (c) 2014-present, Jon Schlinkert.\n * Released under the MIT License.\n */\n\nvar isNumber = function(num) {\n if (typeof num === 'number') {\n return num - num === 0;\n }\n if (typeof num === 'string' && num.trim() !== '') {\n return Number.isFinite ? Number.isFinite(+num) : isFinite(+num);\n }\n return false;\n};\n\nvar isObject = function isObject(x) {\n\treturn typeof x === 'object' && x !== null;\n};\n\nvar UNDEF = void 0; // Results to undefined\n// Typeof undefined\n\nvar TYPEOF_UNDEF = _typeof(UNDEF); // Typeof string\n\n\nvar TYPEOF_STR = _typeof(\"\"); // location var\n\n\nvar loc = (typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) !== TYPEOF_UNDEF ? window.location : null; // Shorthand for built-ins\n\nvar isArr = Array.isArray;\n/**\n * Checks if current key is safe\n * @param {string} key Current key\n * @returns {boolean}\n */\n\nfunction isSafe(key) {\n return [\"__proto__\", \"prototype\"].indexOf(key) === -1;\n}\n/**\n * Shorthand for Object.prototype.hasOwnProperty\n * @param {any} obj Any object\n * @param {string} key key\n * @returns {boolean} true or false if object has the property\n */\n\n\nfunction hasOwn(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n/**\n * Returns true of input query string is complex\n * @param {string} q Query string\n * @returns {boolean} true or false\n */\n\n\nfunction ifComplex(q) {\n return /\\[/.test(q);\n}\n/**\n * Returns an object without a prototype\n * @returns {{[key in string|number]: any}} Object without __proto__\n */\n\n\nfunction obNull() {\n return Object.create(null);\n}\n/**\n * Returns a parsed query object\n * @param {string} qs Query string\n * @param {boolean} coerce Coerce values\n * @returns {{[key in string|number]: any}} Query object\n */\n\n\nfunction lib(qs, coerce) {\n var _this = this;\n\n if (_typeof(qs) !== TYPEOF_STR) {\n qs = loc ? loc.search : \"\";\n }\n\n qs = qs.substring(qs.charAt(0) === \"?\");\n var queryObject = obNull();\n\n if (qs) {\n qs.split(\"&\").forEach(function (qq) {\n var qArr = qq.split(\"=\").map(function (part) {\n return decodeURIComponent(part);\n });\n\n if (ifComplex(qArr[0])) {\n complex.apply(_this, [].concat(qArr).concat([queryObject, coerce]));\n } else {\n simple.apply(_this, [qArr, queryObject, false, coerce]);\n }\n });\n }\n\n return queryObject;\n}\n/**\n * Converts an array to equivalent object\n * @param {any[]} arr Any array\n * @returns {any} Any object\n */\n\n\nfunction toObject(arr) {\n var convertedObj = obNull();\n\n if (isArr(arr)) {\n arr.forEach(function (value, index) {\n convertedObj[index] = value;\n });\n }\n\n return convertedObj;\n}\n/**\n * Converts array to an object if required\n * @param {any} ob Any object\n * @param {booleab} isNextNumber Test for next key\n * @returns {any} Any object\n */\n\n\nfunction resolve(ob, isNextNumber) {\n if (_typeof(ob) === TYPEOF_UNDEF) return isNextNumber ? [] : obNull();\n return isNextNumber ? ob : toObject(ob);\n}\n/**\n * Resolves the target object for next iteration\n * @param {any} ob current reference object\n * @param {string} nextProp reference property in current object\n * @returns {any} Resolved object for next iteration\n */\n\n\nfunction resolveObj(ob, nextProp) {\n if (isObject(ob) && !isArr(ob)) return {\n ob: ob\n };\n if (isArr(ob) || _typeof(ob) === TYPEOF_UNDEF) return {\n ob: resolve(ob, isNumber(nextProp))\n };\n return {\n ob: [ob],\n push: ob !== null\n };\n}\n/**\n * Handles complex query parameters\n * @param {string} key Query key\n * @param {string} value Query value\n * @param {Object} obj Query object\n * @returns {void}\n */\n\n\nfunction complex(key, value, obj, doCoerce) {\n var match = key.match(/([^\\[]+)\\[([^\\[]*)\\]/) || [];\n\n if (match.length === 3) {\n var prop = match[1];\n var nextProp = match[2];\n key = key.replace(/\\[([^\\[]*)\\]/, \"\");\n\n if (ifComplex(key)) {\n if (nextProp === \"\") nextProp = \"0\";\n key = key.replace(/[^\\[]+/, nextProp);\n complex(key, value, obj[prop] = resolveObj(obj[prop], nextProp).ob, doCoerce);\n } else if (nextProp) {\n if (isSafe(prop) && isSafe(nextProp)) {\n var _resolveObj = resolveObj(obj[prop], nextProp),\n ob = _resolveObj.ob,\n push = _resolveObj.push;\n\n obj[prop] = ob;\n var nextOb = push ? obNull() : obj[prop];\n nextOb[nextProp] = coerce(value, !doCoerce);\n\n if (push) {\n obj[prop].push(nextOb);\n }\n }\n } else {\n simple([match[1], value], obj, true, doCoerce);\n }\n }\n}\n/**\n * Handles simple query\n * @param {array} qArr Query list\n * @param {Object} queryObject Query object\n * @param {boolean} toArray Test for conversion to array\n * @returns {void}\n */\n\n\nfunction simple(qArr, queryObject, toArray, doCoerce) {\n var key = qArr[0];\n var value = qArr[1];\n\n if (isSafe(key)) {\n value = coerce(value, !doCoerce);\n\n if (hasOwn(queryObject, key)) {\n queryObject[key] = isArr(queryObject[key]) ? queryObject[key] : [queryObject[key]];\n queryObject[key].push(value);\n } else {\n queryObject[key] = toArray ? [value] : value;\n }\n }\n}\n/**\n * Converts input value to their appropriate types\n * @param {any} value Input value\n * @param {boolean} skip Test for skipping coercion\n * @returns {any} Coerced value\n */\n\n\nfunction coerce(value, skip) {\n // eslint-disable-next-line\n if (value == null) {\n return \"\";\n }\n\n if (skip || _typeof(value) !== TYPEOF_STR) {\n return value;\n }\n\n value = value.trim();\n\n if (isNumber(value)) {\n return +value;\n }\n\n switch (value) {\n case \"null\":\n return null;\n\n case TYPEOF_UNDEF:\n return UNDEF;\n\n case \"true\":\n return true;\n\n case \"false\":\n return false;\n\n case \"NaN\":\n return NaN;\n\n default:\n return value;\n }\n}\n\nexport { lib as default, isNumber, isObject };\n//# sourceMappingURL=deparam.esm.js.map\n","import { isNumber, isObject } from 'deparam.js';\nimport { EMPTY, REG_PATHNAME, TYPEOF_BOOL, TYPEOF_STR } from './constants';\n\n/**\n * Shorthand for Array.isArray\n */\nexport const isArr = Array.isArray;\n\n/**\n * Shorthand for Object.keys\n */\nexport const oKeys = Object.keys;\n\n/**\n * Safely trims string\n * @param {string} str String\n */\nexport function trim(str) {\n return typeof str === TYPEOF_STR ? str.trim() : EMPTY;\n}\n\n/**\n * Checks if given route is valid\n * @private\n * @param {string} route Route string\n */\nexport function isValidRoute(route) {\n return REG_PATHNAME.test(route);\n}\n\n/**\n * Checks if key is present in provided object\n * @param {object} ob Object\n * @param {*} key Key\n */\nexport function hasOwn(ob, key) {\n return Object.prototype.hasOwnProperty.call(ob, key);\n}\n\n/**\n * Loops over an array like object\n * @param {object} arrayObj Array or array like object\n * @param {function} callback Callback function\n */\nexport function each(arrayObj, callback) {\n if (isObject(arrayObj)) {\n const keys = oKeys(arrayObj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n const cont = callback(arrayObj[key], isNumber(key) ? +key : key);\n if (typeof cont === TYPEOF_BOOL) {\n if (!cont) {\n break;\n }\n }\n }\n }\n}\n","import { TYPEOF_STR } from './constants';\nimport { getGlobal } from './getGlobal';\nimport { each } from './utils';\n\n/**\n * Function to trigger custom event\n * @param {Node|NodeList|HTMLCollection|Node[]} target Target element or list\n * @param {string} eventType Event type\n * @param {any[]} data Data to be passed to handler\n */\nexport function trigger(target, eventType, data) {\n target = Array.from(target instanceof Node ? [target] : target);\n if (target.length && typeof eventType === TYPEOF_STR) {\n each(target, (el) => {\n const win = getGlobal();\n const customEvent = new win.CustomEvent(eventType, {\n bubbles: true,\n cancelable: true,\n detail: data || [],\n });\n el.dispatchEvent(customEvent);\n });\n }\n}\n","import { QRY } from '../../utils/constants';\nimport { trim } from '../../utils/utils';\nexport default class RouterEvent {\n constructor(routeInfo, currentEvent) {\n // Set relevant parameters\n const routeObject = routeInfo[0];\n const originalEvent = routeInfo[1];\n const routerInstance = routeInfo[2];\n const { location, history } = routerInstance.config;\n this.route = routeObject.path;\n this.hashRouting = routeObject.hash;\n this.routerInstance = routerInstance;\n this.virtualEvent = currentEvent || {};\n this.originalEvent = originalEvent || {};\n this.path = trim(location.pathname);\n this.hash = location.hash;\n this.search = trim(location.search.substring(1));\n this.hashSearch = trim(location.hash && location.hash.split(QRY)[1]);\n const { state } = this.originalEvent;\n this.data = (state && state.data) || (history.state && history.state.data);\n }\n}\n","import { Observable } from 'rxjs';\nimport RouterEvent from '../routerEvent';\n\nexport default function collate() {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next: (event) => {\n const routerInstance = event.detail[2];\n if (routerInstance === this) {\n subscriber.next(new RouterEvent(event.detail, event));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { QRY } from './constants';\nimport { trim } from './utils';\n\nexport const getPath = (isHash, location) => {\n return trim(\n isHash ? location.hash.substring(1).split(QRY)[0] : location.pathname\n );\n};\n","import { fromEvent } from 'rxjs';\nimport { POP_STATE, VIRTUAL_PUSHSTATE } from '../../utils/constants';\nimport { trigger } from '../../utils/triggerEvent';\nimport collate from '../collate';\nimport { getGlobal } from '../../utils/getGlobal';\nimport { getPath } from '../../utils/getPath';\n\nexport default function bindRouterEvents(inst) {\n const { context, location, hashRouting: hash } = inst.config;\n inst.popStateSubscription = fromEvent(getGlobal(), POP_STATE).subscribe(\n (e) => {\n const path = getPath(hash, location);\n if (path) {\n trigger(context, VIRTUAL_PUSHSTATE, [{ path, hash }, e, inst]);\n }\n }\n );\n inst.listeners = fromEvent(context, VIRTUAL_PUSHSTATE).pipe(\n collate.apply(inst)\n );\n if (hash && !location.hash) {\n inst.set('/', true, false); // Replace current hash path without executing anythings\n }\n}\n","import { isObject } from 'deparam.js';\nimport { AMP, EMPTY, TYPEOF_FUNC, TYPEOF_STR } from './constants';\nimport { each, isArr } from './utils';\n\nexport const encode = encodeURIComponent;\n\n/**\n * Builds query string recursively\n * @private\n * @param {string[]} qsList List of query string key value pairs\n * @param {*} key Key\n * @param {*} obj Value\n */\nfunction buildQuery(qsList, key, obj) {\n if (isObject(obj)) {\n each(obj, (prop, obKey) => {\n buildQuery(qsList, `${key}[${isArr(obj) ? EMPTY : obKey}]`, prop);\n });\n } else if (typeof obj !== TYPEOF_FUNC) {\n qsList.push(`${encode(key)}=${encode(obj)}`);\n }\n}\n\n/**\n * Converts an object to a query string\n * @private\n * @param {object} obj Object which should be converted to a string\n * @returns {string}\n */\nexport function toQueryString(obj) {\n let qsList = [];\n if (isObject(obj)) {\n each(obj, (prop, key) => {\n buildQuery(qsList, key, prop);\n });\n return qsList.join(AMP);\n }\n return typeof obj === TYPEOF_STR ? obj : EMPTY;\n}\n","import deparam from 'deparam.js';\nimport { trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport { assign } from '../../utils/assign';\nimport { QRY } from '../../utils/constants';\n\n/**\n * Resolves and analyzes existing query string\n * @private\n * @param {string} queryString Query string\n * @param {string} hashRouting Flag to test if hash routing is enabled\n */\nexport default function resolveQuery(queryString, hashRouting) {\n const { location } = this.config;\n const search = trim(location.search && location.search.substring(1));\n const existingQuery = trim(\n hashRouting ? location.hash.split(QRY)[1] : search\n );\n if (!existingQuery) {\n return queryString;\n }\n return toQueryString(\n assign(deparam(search), deparam(existingQuery), deparam(queryString))\n );\n}\n","import { isObject } from 'deparam.js';\nimport { trigger } from '../../utils/triggerEvent';\nimport {\n VIRTUAL_PUSHSTATE,\n INVALID_ROUTE,\n UNDEF,\n TYPEOF_STR,\n EMPTY,\n QRY,\n REPLACE,\n PUSH,\n TYPEOF_BOOL,\n} from '../../utils/constants';\nimport { isValidRoute, trim } from '../../utils/utils';\nimport { toQueryString } from '../../utils/query';\nimport resolveQuery from '../resolveQuery';\nimport { assign } from '../../utils/assign';\n\nexport default function set(route, replace, doExec) {\n let exec = true;\n if (typeof doExec === TYPEOF_BOOL) {\n exec = doExec;\n }\n const { preservePath, hashRouting, history } = this.config;\n const routeObject = assign(\n { replace, exec },\n typeof route === TYPEOF_STR ? { route } : route\n );\n replace = routeObject.replace;\n exec = routeObject.exec;\n let { route: routeStr, queryString } = routeObject;\n const { preserveQuery, data, pageTitle = null } = routeObject;\n const routeParts = routeStr.split(QRY);\n // Check if query string is an object\n if (isObject(queryString)) {\n queryString = toQueryString(queryString);\n }\n // Resolve to URL query string if it's not explicitly passed\n queryString = trim(queryString ? queryString : routeParts[1]);\n routeStr = trim(routeParts[0]);\n // Check if query preservation is required. Resolve query accordingly\n if (preserveQuery) {\n queryString = resolveQuery.apply(this, [queryString, hashRouting]);\n }\n if (isValidRoute(routeStr)) {\n const unmodifiedRoute = routeStr;\n if (hashRouting) {\n routeStr = `/#${routeStr}`;\n // Path preservation should only work for hash routing\n if (preservePath) {\n routeStr = `${routeStr.substring(1)}`;\n }\n }\n // Append query string\n routeStr = `${routeStr}${queryString ? `${QRY + queryString}` : EMPTY}`;\n history[replace ? REPLACE : PUSH]({ data }, pageTitle, routeStr);\n if (exec && unmodifiedRoute) {\n trigger(this.config.context, VIRTUAL_PUSHSTATE, [\n {\n path: unmodifiedRoute,\n hash: hashRouting,\n },\n UNDEF,\n this,\n ]);\n }\n } else {\n throw new TypeError(INVALID_ROUTE);\n }\n return this;\n}\n","import { Observable } from 'rxjs';\nimport { UNDEF } from '../../utils/constants';\nimport { getPath } from '../../utils/getPath';\nimport RouterEvent from '../routerEvent';\n\nexport default function callOnce(isDone) {\n const { hashRouting: hash, location, init } = this.config;\n const path = getPath(hash, location);\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe(subscriber);\n if (!isDone) {\n isDone = true;\n if (init && path) {\n subscriber.next(new RouterEvent([{ path, hash }, UNDEF, this]));\n }\n }\n return () => {\n subn.unsubscribe();\n };\n });\n}\n","import { assign } from '../../utils/assign';\nimport bindRouterEvents from '../bindRouterEvents';\nimport set from '../set';\nimport { HISTORY_UNSUPPORTED, PUSH, TYPEOF_FUNC } from '../../utils/constants';\nimport callOnce from '../callOnce';\nimport { getGlobal } from '../../utils/getGlobal';\n\nexport default class Router {\n constructor(config) {\n const { history, location, document } = getGlobal();\n if (!history[PUSH]) {\n throw new Error(HISTORY_UNSUPPORTED);\n }\n this.config = Object.freeze(\n assign(\n {\n init: true, // Initialize as soon as route handler is attached\n hashRouting: false, // Switch to hash routing\n preservePath: false, // Works for hash routing\n context: document.body, // To change the context of \"vpushstate\" event\n location, // Should remain unchanged\n history, // History object\n },\n config || {}\n )\n );\n this.__paths__ = [];\n bindRouterEvents(this);\n }\n pipe(...ops) {\n return this.listeners.pipe(callOnce.apply(this), ...ops);\n }\n subscribe(...fns) {\n return this.pipe().subscribe(...fns);\n }\n set(...props) {\n return set.apply(this, props);\n }\n destroy(callback) {\n if (typeof callback === TYPEOF_FUNC) {\n callback();\n }\n this.popStateSubscription.unsubscribe(); // Unsubscribe popstate event\n this.__paths__.length = 0;\n }\n}\n","import { EMPTY, REG_ROUTE_PARAMS } from './constants';\nimport { each } from './utils';\n\n/**\n * Parses current path and returns params object\n * @private\n * @param {string} expr Route expression\n * @param {string} path URL path\n * @returns {object}\n */\nexport function extractParams(expr, path) {\n const params = {};\n if (REG_ROUTE_PARAMS.test(expr)) {\n const pathRegex = new RegExp(\n expr.replace(/\\//g, '\\\\/').replace(/:[^/\\\\]+/g, '([^\\\\/]+)')\n );\n REG_ROUTE_PARAMS.lastIndex = 0;\n if (pathRegex.test(path)) {\n const keys = Array.from(expr.match(REG_ROUTE_PARAMS)).map((key) =>\n key.replace(':', EMPTY)\n );\n const values = Array.from(path.match(pathRegex));\n values.shift();\n each(keys, (key, index) => {\n params[key] = values[index];\n });\n }\n }\n return params;\n}\n","import { trim, isValidRoute, each, oKeys } from '../utils/utils';\nimport queryDeparam, { isObject } from 'deparam.js';\nimport { Observable } from 'rxjs';\nimport {\n INVALID_ROUTE,\n CACHED_FIELDS,\n UNDEF,\n TYPEOF_BOOL,\n} from '../utils/constants';\nimport { extractParams } from '../utils/params';\nimport Router from '../api/router';\nimport { assign } from '../utils/assign';\n\n/**\n * Operator to compare a specific route\n * @param {string} routeStr Route string\n * @param {Router} routerInstance Current router object [optional]\n * @param {boolean} ignoreCase Ignore case in route string\n */\nexport function route(routeStr, routerInstance, ignoreCase) {\n if (typeof routerInstance === TYPEOF_BOOL) {\n ignoreCase = routerInstance;\n routerInstance = UNDEF;\n }\n routeStr = trim(routeStr);\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.indexOf(routeStr) === -1) {\n paths.push(routeStr);\n }\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n let incomingRoute = event.route;\n if (isValidRoute(routeStr)) {\n if (ignoreCase) {\n routeStr = routeStr.toLowerCase();\n incomingRoute = incomingRoute.toLowerCase();\n }\n const params = extractParams(routeStr, incomingRoute);\n const paramsLength = oKeys(params).length;\n if (incomingRoute === routeStr || paramsLength > 0) {\n if (paramsLength > 0) {\n event.params = params;\n }\n subscriber.next(event);\n }\n } else {\n subscriber.error(new Error(INVALID_ROUTE));\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n const existingRouteIndex = paths.indexOf(routeStr);\n if (existingRouteIndex > -1) {\n paths.splice(existingRouteIndex, 1);\n }\n }\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Converts search and hashSearch strings to object\n * @param {boolean} coerce Flag to enable value typecast\n */\nexport function deparam(coerce) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n try {\n event.search = queryDeparam(event.search, coerce);\n event.hashSearch = queryDeparam(event.hashSearch, coerce);\n subscriber.next(event);\n } catch (e) {\n subscriber.error(e);\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\n/**\n * Modifies current subscriber to detect errors\n * @param {Router} routerInstance Current router object\n */\nexport function noMatch(routerInstance) {\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n if (routerInstance instanceof Router) {\n const paths = routerInstance.__paths__;\n if (paths.length > 0) {\n const currentRoute = event.route;\n let match = false;\n each(paths, (path) => {\n if (\n path === currentRoute ||\n oKeys(extractParams(path, currentRoute)).length\n ) {\n return !(match = true);\n }\n });\n if (!match) {\n event.noMatch = true;\n subscriber.next(event);\n }\n }\n }\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n };\n });\n}\n\nfunction deepComparison(first, second, result) {\n each(oKeys(first), (key) => {\n if (isObject(first[key]) && isObject(second[key])) {\n deepComparison(first[key], second[key], result);\n } else {\n result.break = first[key] !== second[key];\n }\n });\n}\n\n/**\n * Caches incoming routes to avoid calling handler if there is no change\n * @param {string[]} keys\n * @param {boolean} deep\n */\nexport function cache(keys = CACHED_FIELDS, deep) {\n let cache = {};\n if (typeof keys === TYPEOF_BOOL) {\n deep = keys;\n keys = CACHED_FIELDS;\n }\n return (observable) =>\n new Observable((subscriber) => {\n const subn = observable.subscribe({\n next(event) {\n each(keys, (key) => {\n if (deep && isObject(event[key]) && isObject(cache[key])) {\n const result = {};\n deepComparison(event[key], cache[key], result);\n if (result.break) {\n assign(cache, event);\n subscriber.next(event);\n return false;\n }\n } else if (event[key] !== cache[key]) {\n assign(cache, event);\n subscriber.next(event);\n return false; // break loop\n }\n });\n },\n error: subscriber.error,\n complete: subscriber.complete,\n });\n return () => {\n subn.unsubscribe();\n cache = {};\n };\n });\n}\n"],"names":["assign","Object","POP_STATE","REG_ROUTE_PARAMS","REG_PATHNAME","HISTORY_UNSUPPORTED","INVALID_ROUTE","VIRTUAL_PUSHSTATE","CACHED_FIELDS","AMP","QRY","EMPTY","UNDEF","TYPEOF_STR","TYPEOF_BOOL","_typeof","TYPEOF_UNDEF","TYPEOF_FUNC","STATE","PUSH","REPLACE","getGlobal","globalThis","global","self","isArr","Array","isArray","oKeys","keys","trim","str","isValidRoute","route","test","each","arrayObj","callback","isObject","i","length","key","cont","isNumber","trigger","target","eventType","data","from","Node","el","win","customEvent","CustomEvent","bubbles","cancelable","detail","dispatchEvent","RouterEvent","routeInfo","currentEvent","routeObject","originalEvent","routerInstance","config","location","history","path","hashRouting","hash","virtualEvent","pathname","search","substring","hashSearch","split","state","collate","observable","Observable","subscriber","subn","subscribe","next","event","error","complete","unsubscribe","getPath","isHash","bindRouterEvents","inst","context","popStateSubscription","fromEvent","e","listeners","pipe","apply","set","encode","encodeURIComponent","buildQuery","qsList","obj","prop","obKey","push","toQueryString","join","resolveQuery","queryString","existingQuery","deparam","replace","doExec","exec","preservePath","routeStr","preserveQuery","pageTitle","routeParts","unmodifiedRoute","TypeError","callOnce","isDone","init","Router","document","Error","freeze","body","__paths__","ops","props","extractParams","expr","params","pathRegex","RegExp","lastIndex","match","map","values","shift","index","ignoreCase","paths","indexOf","incomingRoute","toLowerCase","paramsLength","existingRouteIndex","splice","coerce","queryDeparam","noMatch","currentRoute","deepComparison","first","second","result","cache","deep"],"mappings":"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"} \ No newline at end of file diff --git a/dist/umd/silkrouter.min.js b/dist/umd/silkrouter.min.js index 9b5cb86..4dc3549 100644 --- a/dist/umd/silkrouter.min.js +++ b/dist/umd/silkrouter.min.js @@ -1 +1 @@ -!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("rxjs")):"function"==typeof define&&define.amd?define(["exports","rxjs"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).silkrouter={},t.rxjs)}(this,(function(t,n){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function r(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function o(t,n){for(var e=0;e0)&&(a>0&&(e.params=i),n.next(e))}else n.error(new Error(s))},error:n.error,complete:n.complete});return function(){if(r instanceof et){var n=r.__paths__,e=n.indexOf(t);e>-1&&n.splice(e,1)}i.unsubscribe()}}))}},deparam:function(t){return function(e){return new n.Observable((function(n){var r=e.subscribe({next:function(e){try{e.search=I(e.search,t),e.hashSearch=I(e.hashSearch,t),n.next(e)}catch(t){n.error(t)}},error:n.error,complete:n.complete});return function(){r.unsubscribe()}}))}},noMatch:function(t){return function(e){return new n.Observable((function(n){var r=e.subscribe({next:function(e){if(t instanceof et){var r=t.__paths__;if(r.length>0){var o=e.route,i=!1;D(r,(function(t){if(t===o||H(rt(t,o)).length)return!(i=!0)})),i||(e.noMatch=!0,n.next(e))}}},error:n.error,complete:n.complete});return function(){r.unsubscribe()}}))}},cache:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h,r=arguments.length>1?arguments[1]:void 0,o={};return e(t)===y&&(r=t,t=h),function(e){return new n.Observable((function(n){var i=e.subscribe({next:function(e){D(t,(function(t){if(r&&j(e[t])&&j(o[t])){var i={};if(ot(e[t],o[t],i),i.break)return a(o,e),n.next(e),!1}else if(e[t]!==o[t])return a(o,e),n.next(e),!1}))},error:n.error,complete:n.complete});return function(){i.unsubscribe(),o={}}}))}}});t.Router=et,t.operators=it,Object.defineProperty(t,"__esModule",{value:!0})})); +!function(t,n){"object"==typeof exports&&"undefined"!=typeof module?n(exports,require("rxjs")):"function"==typeof define&&define.amd?define(["exports","rxjs"],n):n((t="undefined"!=typeof globalThis?globalThis:t||self).silkrouter={},t.rxjs)}(this,(function(t,n){"use strict";function e(t){return e="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},e(t)}function r(t,n){if(!(t instanceof n))throw new TypeError("Cannot call a class as a function")}function o(t,n){for(var e=0;e0)&&(a>0&&(e.params=i),n.next(e))}else n.error(new Error(s))},error:n.error,complete:n.complete});return function(){if(r instanceof et){var n=r.__paths__,e=n.indexOf(t);e>-1&&n.splice(e,1)}i.unsubscribe()}}))}},deparam:function(t){return function(e){return new n.Observable((function(n){var r=e.subscribe({next:function(e){try{e.search=I(e.search,t),e.hashSearch=I(e.hashSearch,t),n.next(e)}catch(t){n.error(t)}},error:n.error,complete:n.complete});return function(){r.unsubscribe()}}))}},noMatch:function(t){return function(e){return new n.Observable((function(n){var r=e.subscribe({next:function(e){if(t instanceof et){var r=t.__paths__;if(r.length>0){var o=e.route,i=!1;D(r,(function(t){if(t===o||H(rt(t,o)).length)return!(i=!0)})),i||(e.noMatch=!0,n.next(e))}}},error:n.error,complete:n.complete});return function(){r.unsubscribe()}}))}},cache:function(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:h,r=arguments.length>1?arguments[1]:void 0,o={};return e(t)===y&&(r=t,t=h),function(e){return new n.Observable((function(n){var i=e.subscribe({next:function(e){D(t,(function(t){if(r&&j(e[t])&&j(o[t])){var i={};if(ot(e[t],o[t],i),i.break)return a(o,e),n.next(e),!1}else if(e[t]!==o[t])return a(o,e),n.next(e),!1}))},error:n.error,complete:n.complete});return function(){i.unsubscribe(),o={}}}))}}});t.Router=et,t.operators=it,Object.defineProperty(t,"__esModule",{value:!0})})); diff --git a/package.json b/package.json index c0e5c4b..d63fcb3 100644 --- a/package.json +++ b/package.json @@ -9,8 +9,9 @@ "start": "env-cmd -f ./.env.start rollup -c --watch", "dev": "env-cmd -f ./.env.dev rollup -c", "dev:serve": "env-cmd -f ./.env.start.prod rollup -c", + "dist": "npm run dev && npm run dev:serve && npm run prod", "prod": "env-cmd rollup -c", - "build": "npm run test && npm run dev && npm run dev:serve && npm run prod", + "build": "npm run check:sanity && npm run test && npm run dist", "test": "jest tests/*", "deploy": "gh-pages -d dist", "format": "rome format ./src --write", diff --git a/src/js/utils/triggerEvent.js b/src/js/utils/triggerEvent.js index a978291..6434aa9 100644 --- a/src/js/utils/triggerEvent.js +++ b/src/js/utils/triggerEvent.js @@ -12,7 +12,8 @@ export function trigger(target, eventType, data) { target = Array.from(target instanceof Node ? [target] : target); if (target.length && typeof eventType === TYPEOF_STR) { each(target, (el) => { - const customEvent = new getGlobal().CustomEvent(eventType, { + const win = getGlobal(); + const customEvent = new win.CustomEvent(eventType, { bubbles: true, cancelable: true, detail: data || [],