{"version":3,"sources":["jsdelivr-header.js","/npm/svelte-page-router@1.1.0/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,CCNC,SAAU,EAAQ,GACC,iBAAZ,SAA0C,oBAAX,OAAyB,OAAO,QAAU,EAAQ,QAAQ,SAC9E,mBAAX,QAAyB,OAAO,IAAM,OAAO,CAAC,QAAS,IAC7D,EAAS,GAAU,MAAa,WAAa,EAAQ,EAAO,KAC9D,CAJA,CAIE,MAAM,SAAU,GAAQ,aAEzB,EAAO,GAAQ,EAAK,eAAe,WAAa,EAAc,QAAI,EA4GlE,OA1GA,MAEC,WAAA,EAAY,OAAE,EAAS,GAAE,MAAE,EAAQ,MAAO,IAEzC,KAAK,QAAU,EACf,KAAK,OAAS,EACd,KAAK,SAAW,EAEhB,KAAK,QAAU,KACf,KAAK,OAAS,KACd,KAAK,OAAS,KACd,KAAK,MAAQ,KAEb,EAAK,KAAK,CAAC,EAAK,KACf,MAAM,EAAK,EAAI,YAAc,EAAI,YAAY,QAAQ,IAAK,IAAI,MAAM,KAAO,GAC3E,EAAI,MAAQ,EAAG,QAAO,CAAC,EAAO,KAC7B,MAAO,EAAK,GAAO,EAAM,MAAM,KAE/B,OADA,EAAM,GAAO,mBAAmB,GACzB,CAAK,GACV,CAAC,GAEJ,QAAQ,IAAI,KAAK,OAAO,KAAI,GAAK,EAAE,MAAO,KAAK,EAAK,GAEtD,CAEA,IAAA,CAAK,GACJ,EAAK,KAAK,EACX,CAEA,MAAA,CAAO,GACN,EAAK,OAAO,EACb,CAEA,MAAA,CAAO,GACc,mBAAb,IAA4B,KAAK,QAAU,EACnD,CAEA,KAAA,CAAM,GACe,mBAAb,IAA4B,KAAK,OAAS,EAClD,CAEA,KAAA,CAAM,GACe,mBAAb,IAA4B,KAAK,OAAS,EAClD,CAEA,IAAA,CAAK,GACgB,mBAAb,IAA4B,KAAK,MAAQ,EACjD,CAEA,KAAA,GAEyB,mBAAjB,KAAK,SAA0B,EAAK,IAAK,KAAK,SAErD,KAAK,QAAQ,SAAQ,EAAG,OAAM,SAAQ,QAAO,OAAM,gBAElD,MAAM,EAAY,GAEA,mBAAX,GAAyB,EAAU,KAAK,GAE/C,EAAU,MAAK,CAAC,EAAK,KACC,mBAAd,IAA6B,EAAY,EAAU,IAC1D,EAAI,SAAU,EACd,QAAQ,QAAQ,GAAW,MAAK,KAC9B,EAAU,QACV,EAAU,QAAQ,GAClB,QAAQ,WACP,MAAK,CAAC,EAAQ,CAAC,KAChB,OAAO,OAAO,EAAI,MAAO,GACzB,EAAI,OACJ,EAAI,UAAY,EAAU,SAAW,EAC9B,MACN,GACD,IAGoB,mBAAhB,KAAK,QAAyB,EAAU,KAAK,KAAK,QACxC,mBAAV,GAAwB,EAAU,KAAK,GAE9C,EAAK,KAAS,GAEE,mBAAT,GAAuB,EAAK,KAAK,EAAM,EAAK,IAG7B,mBAAhB,KAAK,QAAyB,EAAK,IAAK,KAAK,QAC9B,mBAAf,KAAK,OAAwB,EAAK,KAAK,IAAK,KAAK,OAExD,EAAK,MAAM,KAAK,SACjB,CAEA,IAAA,GACC,EAAK,MACN,CAEA,IAAA,IAAQ,GACP,EAAK,QAAQ,EACd,CAEA,QAAA,IAAY,GACX,EAAK,YAAY,EAClB,CAEA,IAAA,IAAQ,GACP,EAAK,QAAQ,EACd,EAKF","file":"/npm/svelte-page-router@1.1.0/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/svelte-page-router@1.1.0/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory(require('page')) :\n\ttypeof define === 'function' && define.amd ? define(['page'], factory) :\n\t(global = global || self, global.pageRouter = factory(global.page));\n}(this, function (page) { 'use strict';\n\n\tpage = page && page.hasOwnProperty('default') ? page['default'] : page;\n\n\tclass index {\n\n\t\tconstructor({ routes = [], hooks = [], ...options }) {\n\n\t\t\tthis._routes = routes;\n\t\t\tthis._hooks = hooks;\n\t\t\tthis._options = options;\n\n\t\t\tthis._before = null;\n\t\t\tthis._enter = null;\n\t\t\tthis._after = null;\n\t\t\tthis._exit = null;\n\n\t\t\tpage('*', (ctx, next) => {\n\t\t\t\tconst qs = ctx.querystring ? ctx.querystring.replace('?', '').split('&') : [];\n\t\t\t\tctx.query = qs.reduce((query, param) => {\n\t\t\t\t\tconst [key, val] = param.split('=');\n\t\t\t\t\tquery[key] = decodeURIComponent(val);\n\t\t\t\t\treturn query;\n\t\t\t\t}, {});\n\n\t\t\t\tPromise.all(this._hooks.map(p => p(ctx))).then(next);\n\t\t\t});\n\t\t}\n\n\t\tbase(path) {\n\t\t\tpage.base(path);\n\t\t}\n\n\t\tstrict(enable) {\n\t\t\tpage.strict(enable);\n\t\t}\n\n\t\tbefore(callback) {\n\t\t\ttypeof callback === 'function' && (this._before = callback);\n\t\t}\n\n\t\tenter(callback) {\n\t\t\ttypeof callback === 'function' && (this._enter = callback);\n\t\t}\n\n\t\tafter(callback) {\n\t\t\ttypeof callback === 'function' && (this._after = callback);\n\t\t}\n\n\t\texit(callback) {\n\t\t\ttypeof callback === 'function' && (this._exit = callback);\n\t\t}\n\n\t\tstart() {\n\n\t\t\ttypeof this._before === 'function' && page('*', this._before);\n\n\t\t\tthis._routes.forEach(({ path, before, after, exit, component }) => {\n\n\t\t\t\tconst callbacks = [];\n\n\t\t\t\ttypeof before === 'function' && callbacks.push(before);\n\n\t\t\t\tcallbacks.push((ctx, next) => {\n\t\t\t\t\ttypeof component === 'function' && (component = component(ctx));\n\t\t\t\t\tctx.handled = true; // it's important for redirects\n\t\t\t\t\tPromise.resolve(component).then(component => {\n\t\t\t\t\t\t(component.preload ?\n\t\t\t\t\t\t\tcomponent.preload(ctx) :\n\t\t\t\t\t\t\tPromise.resolve()\n\t\t\t\t\t\t).then((state = {}) => {\n\t\t\t\t\t\t\tObject.assign(ctx.state, state);\n\t\t\t\t\t\t\tctx.save();\n\t\t\t\t\t\t\tctx.component = component.default || component;\n\t\t\t\t\t\t\treturn next();\n\t\t\t\t\t\t});\n\t\t\t\t\t});\n\t\t\t\t});\n\n\t\t\t\ttypeof this._enter === 'function' && callbacks.push(this._enter);\n\t\t\t\ttypeof after === 'function' && callbacks.push(after);\n\n\t\t\t\tpage(path, ...callbacks);\n\n\t\t\t\ttypeof exit === 'function' && page.exit(path, exit);\n\t\t\t});\n\n\t\t\ttypeof this._after === 'function' && page('*', this._after);\n\t\t\ttypeof this._exit === 'function' && page.exit('*', this._exit);\n\n\t\t\tpage.start(this._options);\n\t\t}\n\n\t\tstop() {\n\t\t\tpage.stop();\n\t\t}\n\n\t\tshow(...args) {\n\t\t\tpage.show(...args);\n\t\t}\n\n\t\tredirect(...args) {\n\t\t\tpage.redirect(...args);\n\t\t}\n\n\t\tback(...args) {\n\t\t\tpage.back(...args);\n\t\t}\n\t}\n\n\treturn index;\n\n}));\n"]}