{"version":3,"sources":["jsdelivr-header.js","/npm/wayfarer@7.0.1/index.js"],"names":[],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA,ACLA,IAAI,OAAS,QAAQ,UACjB,KAAO,QAAQ,UAMnB,SAAS,SAAU,GACjB,KAAM,gBAAgB,UAAW,OAAO,IAAI,SAAS,GAErD,IAAI,GAAY,GAAO,IAAI,QAAQ,MAAO,IACtC,EAAQ,OAQZ,OANA,EAAK,MAAQ,EACb,EAAK,GASL,SAAa,EAAO,GAMlB,GALA,OAAO,aAAa,EAAO,UAC3B,OAAO,aAAa,EAAI,YAExB,EAAQ,GAAS,IAEb,EAAG,WAAa,EAAG,MACrB,EAAM,MAAM,EAAO,EAAG,MAAM,UACvB,CACL,IAAI,EAAO,EAAM,OAAO,GACxB,EAAK,GAAK,EACV,EAAK,MAAQ,CACf,CAEA,OAAO,CACT,EAvBA,EAAK,KAAO,EACZ,EAAK,MAAQ,EACb,EAAK,WAAY,EAEV,EAuBP,SAAS,EAAM,GACb,IAAI,EAAU,EAAM,GAEhB,EAAO,IAAI,MAAM,UAAU,QAC/B,EAAK,GAAK,EAAQ,OAClB,IAAK,IAAI,EAAI,EAAG,EAAI,EAAK,OAAQ,IAC/B,EAAK,GAAK,UAAU,GAGtB,OAAO,EAAQ,GAAG,MAAM,EAAQ,GAAI,EACtC,CAEA,SAAS,EAAO,GACd,OAAO,SAAS,OAAO,EAAW,2BAElC,IAAI,EAAU,EAAM,MAAM,GAC1B,GAAI,GAAW,EAAQ,GAAI,OAAO,IAAI,EAAM,GAE5C,IAAI,EAAM,EAAM,MAAM,GACtB,GAAI,GAAO,EAAI,GAAI,OAAO,IAAI,EAAM,GAEpC,MAAM,IAAI,MAAM,UAAY,EAAQ,kBACtC,CAEA,SAAS,EAAO,GACd,KAAK,GAAK,EAAQ,GAClB,KAAK,MAAQ,EAAQ,MACrB,KAAK,OAAS,EAAQ,MACxB,CACF,CApEA,OAAO,QAAU","file":"/npm/wayfarer@7.0.1/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/wayfarer@7.0.1/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","/* eslint-disable node/no-deprecated-api */\nvar assert = require('assert')\nvar trie = require('./trie')\n\nmodule.exports = Wayfarer\n\n// create a router\n// str -> obj\nfunction Wayfarer (dft) {\n  if (!(this instanceof Wayfarer)) return new Wayfarer(dft)\n\n  var _default = (dft || '').replace(/^\\//, '')\n  var _trie = trie()\n\n  emit._trie = _trie\n  emit.on = on\n  emit.emit = emit\n  emit.match = match\n  emit._wayfarer = true\n\n  return emit\n\n  // define a route\n  // (str, fn) -> obj\n  function on (route, cb) {\n    assert.equal(typeof route, 'string')\n    assert.equal(typeof cb, 'function')\n\n    route = route || '/'\n\n    if (cb._wayfarer && cb._trie) {\n      _trie.mount(route, cb._trie.trie)\n    } else {\n      var node = _trie.create(route)\n      node.cb = cb\n      node.route = route\n    }\n\n    return emit\n  }\n\n  // match and call a route\n  // (str, obj?) -> null\n  function emit (route) {\n    var matched = match(route)\n\n    var args = new Array(arguments.length)\n    args[0] = matched.params\n    for (var i = 1; i < args.length; i++) {\n      args[i] = arguments[i]\n    }\n\n    return matched.cb.apply(matched.cb, args)\n  }\n\n  function match (route) {\n    assert.notEqual(route, undefined, \"'route' must be defined\")\n\n    var matched = _trie.match(route)\n    if (matched && matched.cb) return new Route(matched)\n\n    var dft = _trie.match(_default)\n    if (dft && dft.cb) return new Route(dft)\n\n    throw new Error(\"route '\" + route + \"' did not match\")\n  }\n\n  function Route (matched) {\n    this.cb = matched.cb\n    this.route = matched.route\n    this.params = matched.params\n  }\n}\n"]}