UNPKG

single-page-express

Version:

📄 A client-side implementation of the Express route API.

1 lines • 95.4 kB
{"version":3,"file":"single-page-express.cjs","mappings":"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","sources":["webpack://singlePageExpress/webpack/universalModuleDefinition","webpack://singlePageExpress/./node_modules/path-to-regexp-express4/index.js","webpack://singlePageExpress/./node_modules/path-to-regexp/dist/index.js","webpack://singlePageExpress/./node_modules/topbar/topbar.min.js","webpack://singlePageExpress/./single-page-express.js","webpack://singlePageExpress/webpack/bootstrap","webpack://singlePageExpress/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"singlePageExpress\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"singlePageExpress\"] = factory();\n\telse\n\t\troot[\"singlePageExpress\"] = factory();\n})(this, () => {\nreturn ","/**\n * Expose `pathToRegexp`.\n */\n\nmodule.exports = pathToRegexp;\n\n/**\n * Match matching groups in a regular expression.\n */\nvar MATCHING_GROUP_REGEXP = /\\\\.|\\((?:\\?<(.*?)>)?(?!\\?)/g;\n\n/**\n * Normalize the given path string,\n * returning a regular expression.\n *\n * An empty array should be passed,\n * which will contain the placeholder\n * key names. For example \"/user/:id\" will\n * then contain [\"id\"].\n *\n * @param {String|RegExp|Array} path\n * @param {Array} keys\n * @param {Object} options\n * @return {RegExp}\n * @api private\n */\n\nfunction pathToRegexp(path, keys, options) {\n options = options || {};\n keys = keys || [];\n var strict = options.strict;\n var end = options.end !== false;\n var flags = options.sensitive ? '' : 'i';\n var lookahead = options.lookahead !== false;\n var extraOffset = 0;\n var keysOffset = keys.length;\n var i = 0;\n var name = 0;\n var pos = 0;\n var backtrack = '';\n var m;\n\n if (path instanceof RegExp) {\n while (m = MATCHING_GROUP_REGEXP.exec(path.source)) {\n if (m[0][0] === '\\\\') continue;\n\n keys.push({\n name: m[1] || name++,\n optional: false,\n offset: m.index\n });\n }\n\n return path;\n }\n\n if (Array.isArray(path)) {\n // Map array parts into regexps and return their source. We also pass\n // the same keys and options instance into every generation to get\n // consistent matching groups before we join the sources together.\n path = path.map(function (value) {\n return pathToRegexp(value, keys, options).source;\n });\n\n return new RegExp(path.join('|'), flags);\n }\n\n if (typeof path !== 'string') {\n throw new TypeError('path must be a string, array of strings, or regular expression');\n }\n\n path = path.replace(\n /\\\\.|(\\/)?(\\.)?:(\\w+)(\\(.*?\\))?(\\*)?(\\?)?|[.*]|\\/\\(/g,\n function (match, slash, format, key, capture, star, optional, offset) {\n if (match[0] === '\\\\') {\n backtrack += match;\n pos += 2;\n return match;\n }\n\n if (match === '.') {\n backtrack += '\\\\.';\n extraOffset += 1;\n pos += 1;\n return '\\\\.';\n }\n\n if (slash || format) {\n backtrack = '';\n } else {\n backtrack += path.slice(pos, offset);\n }\n\n pos = offset + match.length;\n\n if (match === '*') {\n extraOffset += 3;\n return '(.*)';\n }\n\n if (match === '/(') {\n backtrack += '/';\n extraOffset += 2;\n return '/(?:';\n }\n\n slash = slash || '';\n format = format ? '\\\\.' : '';\n optional = optional || '';\n capture = capture ?\n capture.replace(/\\\\.|\\*/, function (m) { return m === '*' ? '(.*)' : m; }) :\n (backtrack ? '((?:(?!/|' + backtrack + ').)+?)' : '([^/' + format + ']+?)');\n\n keys.push({\n name: key,\n optional: !!optional,\n offset: offset + extraOffset\n });\n\n var result = '(?:'\n + format + slash + capture\n + (star ? '((?:[/' + format + '].+?)?)' : '')\n + ')'\n + optional;\n\n extraOffset += result.length - match.length;\n\n return result;\n });\n\n // This is a workaround for handling unnamed matching groups.\n while (m = MATCHING_GROUP_REGEXP.exec(path)) {\n if (m[0][0] === '\\\\') continue;\n\n if (keysOffset + i === keys.length || keys[keysOffset + i].offset > m.index) {\n keys.splice(keysOffset + i, 0, {\n name: name++, // Unnamed matching groups must be consistently linear.\n optional: false,\n offset: m.index\n });\n }\n\n i++;\n }\n\n path += strict ? '' : path[path.length - 1] === '/' ? '?' : '/?';\n\n // If the path is non-ending, match until the end or a slash.\n if (end) {\n path += '$';\n } else if (path[path.length - 1] !== '/') {\n path += lookahead ? '(?=/|$)' : '(?:/|$)';\n }\n\n return new RegExp('^' + path, flags);\n};\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.PathError = exports.TokenData = void 0;\nexports.parse = parse;\nexports.compile = compile;\nexports.match = match;\nexports.pathToRegexp = pathToRegexp;\nexports.stringify = stringify;\nconst DEFAULT_DELIMITER = \"/\";\nconst NOOP_VALUE = (value) => value;\nconst ID_START = /^[$_\\p{ID_Start}]$/u;\nconst ID_CONTINUE = /^[$\\u200c\\u200d\\p{ID_Continue}]$/u;\nconst SIMPLE_TOKENS = {\n // Groups.\n \"{\": \"{\",\n \"}\": \"}\",\n // Reserved.\n \"(\": \"(\",\n \")\": \")\",\n \"[\": \"[\",\n \"]\": \"]\",\n \"+\": \"+\",\n \"?\": \"?\",\n \"!\": \"!\",\n};\n/**\n * Escape text for stringify to path.\n */\nfunction escapeText(str) {\n return str.replace(/[{}()\\[\\]+?!:*\\\\]/g, \"\\\\$&\");\n}\n/**\n * Escape a regular expression string.\n */\nfunction escape(str) {\n return str.replace(/[.+*?^${}()[\\]|/\\\\]/g, \"\\\\$&\");\n}\n/**\n * Tokenized path instance.\n */\nclass TokenData {\n constructor(tokens, originalPath) {\n this.tokens = tokens;\n this.originalPath = originalPath;\n }\n}\nexports.TokenData = TokenData;\n/**\n * ParseError is thrown when there is an error processing the path.\n */\nclass PathError extends TypeError {\n constructor(message, originalPath) {\n let text = message;\n if (originalPath)\n text += `: ${originalPath}`;\n text += `; visit https://git.new/pathToRegexpError for info`;\n super(text);\n this.originalPath = originalPath;\n }\n}\nexports.PathError = PathError;\n/**\n * Parse a string for the raw tokens.\n */\nfunction parse(str, options = {}) {\n const { encodePath = NOOP_VALUE } = options;\n const chars = [...str];\n const tokens = [];\n let index = 0;\n let pos = 0;\n function name() {\n let value = \"\";\n if (ID_START.test(chars[index])) {\n do {\n value += chars[index++];\n } while (ID_CONTINUE.test(chars[index]));\n }\n else if (chars[index] === '\"') {\n let quoteStart = index;\n while (index++ < chars.length) {\n if (chars[index] === '\"') {\n index++;\n quoteStart = 0;\n break;\n }\n // Increment over escape characters.\n if (chars[index] === \"\\\\\")\n index++;\n value += chars[index];\n }\n if (quoteStart) {\n throw new PathError(`Unterminated quote at index ${quoteStart}`, str);\n }\n }\n if (!value) {\n throw new PathError(`Missing parameter name at index ${index}`, str);\n }\n return value;\n }\n while (index < chars.length) {\n const value = chars[index];\n const type = SIMPLE_TOKENS[value];\n if (type) {\n tokens.push({ type, index: index++, value });\n }\n else if (value === \"\\\\\") {\n tokens.push({ type: \"escape\", index: index++, value: chars[index++] });\n }\n else if (value === \":\") {\n tokens.push({ type: \"param\", index: index++, value: name() });\n }\n else if (value === \"*\") {\n tokens.push({ type: \"wildcard\", index: index++, value: name() });\n }\n else {\n tokens.push({ type: \"char\", index: index++, value });\n }\n }\n tokens.push({ type: \"end\", index, value: \"\" });\n function consumeUntil(endType) {\n const output = [];\n while (true) {\n const token = tokens[pos++];\n if (token.type === endType)\n break;\n if (token.type === \"char\" || token.type === \"escape\") {\n let path = token.value;\n let cur = tokens[pos];\n while (cur.type === \"char\" || cur.type === \"escape\") {\n path += cur.value;\n cur = tokens[++pos];\n }\n output.push({\n type: \"text\",\n value: encodePath(path),\n });\n continue;\n }\n if (token.type === \"param\" || token.type === \"wildcard\") {\n output.push({\n type: token.type,\n name: token.value,\n });\n continue;\n }\n if (token.type === \"{\") {\n output.push({\n type: \"group\",\n tokens: consumeUntil(\"}\"),\n });\n continue;\n }\n throw new PathError(`Unexpected ${token.type} at index ${token.index}, expected ${endType}`, str);\n }\n return output;\n }\n return new TokenData(consumeUntil(\"end\"), str);\n}\n/**\n * Compile a string to a template function for the path.\n */\nfunction compile(path, options = {}) {\n const { encode = encodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const data = typeof path === \"object\" ? path : parse(path, options);\n const fn = tokensToFunction(data.tokens, delimiter, encode);\n return function path(params = {}) {\n const [path, ...missing] = fn(params);\n if (missing.length) {\n throw new TypeError(`Missing parameters: ${missing.join(\", \")}`);\n }\n return path;\n };\n}\nfunction tokensToFunction(tokens, delimiter, encode) {\n const encoders = tokens.map((token) => tokenToFunction(token, delimiter, encode));\n return (data) => {\n const result = [\"\"];\n for (const encoder of encoders) {\n const [value, ...extras] = encoder(data);\n result[0] += value;\n result.push(...extras);\n }\n return result;\n };\n}\n/**\n * Convert a single token into a path building function.\n */\nfunction tokenToFunction(token, delimiter, encode) {\n if (token.type === \"text\")\n return () => [token.value];\n if (token.type === \"group\") {\n const fn = tokensToFunction(token.tokens, delimiter, encode);\n return (data) => {\n const [value, ...missing] = fn(data);\n if (!missing.length)\n return [value];\n return [\"\"];\n };\n }\n const encodeValue = encode || NOOP_VALUE;\n if (token.type === \"wildcard\" && encode !== false) {\n return (data) => {\n const value = data[token.name];\n if (value == null)\n return [\"\", token.name];\n if (!Array.isArray(value) || value.length === 0) {\n throw new TypeError(`Expected \"${token.name}\" to be a non-empty array`);\n }\n return [\n value\n .map((value, index) => {\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}/${index}\" to be a string`);\n }\n return encodeValue(value);\n })\n .join(delimiter),\n ];\n };\n }\n return (data) => {\n const value = data[token.name];\n if (value == null)\n return [\"\", token.name];\n if (typeof value !== \"string\") {\n throw new TypeError(`Expected \"${token.name}\" to be a string`);\n }\n return [encodeValue(value)];\n };\n}\n/**\n * Transform a path into a match function.\n */\nfunction match(path, options = {}) {\n const { decode = decodeURIComponent, delimiter = DEFAULT_DELIMITER } = options;\n const { regexp, keys } = pathToRegexp(path, options);\n const decoders = keys.map((key) => {\n if (decode === false)\n return NOOP_VALUE;\n if (key.type === \"param\")\n return decode;\n return (value) => value.split(delimiter).map(decode);\n });\n return function match(input) {\n const m = regexp.exec(input);\n if (!m)\n return false;\n const path = m[0];\n const params = Object.create(null);\n for (let i = 1; i < m.length; i++) {\n if (m[i] === undefined)\n continue;\n const key = keys[i - 1];\n const decoder = decoders[i - 1];\n params[key.name] = decoder(m[i]);\n }\n return { path, params };\n };\n}\nfunction pathToRegexp(path, options = {}) {\n const { delimiter = DEFAULT_DELIMITER, end = true, sensitive = false, trailing = true, } = options;\n const keys = [];\n const flags = sensitive ? \"\" : \"i\";\n const sources = [];\n for (const input of pathsToArray(path, [])) {\n const data = typeof input === \"object\" ? input : parse(input, options);\n for (const tokens of flatten(data.tokens, 0, [])) {\n sources.push(toRegExpSource(tokens, delimiter, keys, data.originalPath));\n }\n }\n let pattern = `^(?:${sources.join(\"|\")})`;\n if (trailing)\n pattern += `(?:${escape(delimiter)}$)?`;\n pattern += end ? \"$\" : `(?=${escape(delimiter)}|$)`;\n const regexp = new RegExp(pattern, flags);\n return { regexp, keys };\n}\n/**\n * Convert a path or array of paths into a flat array.\n */\nfunction pathsToArray(paths, init) {\n if (Array.isArray(paths)) {\n for (const p of paths)\n pathsToArray(p, init);\n }\n else {\n init.push(paths);\n }\n return init;\n}\n/**\n * Generate a flat list of sequence tokens from the given tokens.\n */\nfunction* flatten(tokens, index, init) {\n if (index === tokens.length) {\n return yield init;\n }\n const token = tokens[index];\n if (token.type === \"group\") {\n for (const seq of flatten(token.tokens, 0, init.slice())) {\n yield* flatten(tokens, index + 1, seq);\n }\n }\n else {\n init.push(token);\n }\n yield* flatten(tokens, index + 1, init);\n}\n/**\n * Transform a flat sequence of tokens into a regular expression.\n */\nfunction toRegExpSource(tokens, delimiter, keys, originalPath) {\n let result = \"\";\n let backtrack = \"\";\n let isSafeSegmentParam = true;\n for (const token of tokens) {\n if (token.type === \"text\") {\n result += escape(token.value);\n backtrack += token.value;\n isSafeSegmentParam || (isSafeSegmentParam = token.value.includes(delimiter));\n continue;\n }\n if (token.type === \"param\" || token.type === \"wildcard\") {\n if (!isSafeSegmentParam && !backtrack) {\n throw new PathError(`Missing text before \"${token.name}\" ${token.type}`, originalPath);\n }\n if (token.type === \"param\") {\n result += `(${negate(delimiter, isSafeSegmentParam ? \"\" : backtrack)}+)`;\n }\n else {\n result += `([\\\\s\\\\S]+)`;\n }\n keys.push(token);\n backtrack = \"\";\n isSafeSegmentParam = false;\n continue;\n }\n }\n return result;\n}\n/**\n * Block backtracking on previous text and ignore delimiter string.\n */\nfunction negate(delimiter, backtrack) {\n if (backtrack.length < 2) {\n if (delimiter.length < 2)\n return `[^${escape(delimiter + backtrack)}]`;\n return `(?:(?!${escape(delimiter)})[^${escape(backtrack)}])`;\n }\n if (delimiter.length < 2) {\n return `(?:(?!${escape(backtrack)})[^${escape(delimiter)}])`;\n }\n return `(?:(?!${escape(backtrack)}|${escape(delimiter)})[\\\\s\\\\S])`;\n}\n/**\n * Stringify an array of tokens into a path string.\n */\nfunction stringifyTokens(tokens) {\n let value = \"\";\n let i = 0;\n function name(value) {\n const isSafe = isNameSafe(value) && isNextNameSafe(tokens[i]);\n return isSafe ? value : JSON.stringify(value);\n }\n while (i < tokens.length) {\n const token = tokens[i++];\n if (token.type === \"text\") {\n value += escapeText(token.value);\n continue;\n }\n if (token.type === \"group\") {\n value += `{${stringifyTokens(token.tokens)}}`;\n continue;\n }\n if (token.type === \"param\") {\n value += `:${name(token.name)}`;\n continue;\n }\n if (token.type === \"wildcard\") {\n value += `*${name(token.name)}`;\n continue;\n }\n throw new TypeError(`Unknown token type: ${token.type}`);\n }\n return value;\n}\n/**\n * Stringify token data into a path string.\n */\nfunction stringify(data) {\n return stringifyTokens(data.tokens);\n}\n/**\n * Validate the parameter name contains valid ID characters.\n */\nfunction isNameSafe(name) {\n const [first, ...rest] = name;\n return ID_START.test(first) && rest.every((char) => ID_CONTINUE.test(char));\n}\n/**\n * Validate the next token does not interfere with the current param name.\n */\nfunction isNextNameSafe(token) {\n if (token && token.type === \"text\")\n return !ID_CONTINUE.test(token.value[0]);\n return true;\n}\n//# sourceMappingURL=index.js.map","/**\n * @license MIT\n * topbar 3.0.0\n * http://buunguyen.github.io/topbar\n * Copyright (c) 2024 Buu Nguyen\n */\n(function(window,document){\"use strict\";function repaint(){canvas.width=window.innerWidth,canvas.height=5*options.barThickness;var ctx=canvas.getContext(\"2d\");ctx.shadowBlur=options.shadowBlur,ctx.shadowColor=options.shadowColor;var stop,lineGradient=ctx.createLinearGradient(0,0,canvas.width,0);for(stop in options.barColors)lineGradient.addColorStop(stop,options.barColors[stop]);ctx.lineWidth=options.barThickness,ctx.beginPath(),ctx.moveTo(0,options.barThickness/2),ctx.lineTo(Math.ceil(currentProgress*canvas.width),options.barThickness/2),ctx.strokeStyle=lineGradient,ctx.stroke()}var canvas,currentProgress,showing,progressTimerId=null,fadeTimerId=null,delayTimerId=null,options={autoRun:!0,barThickness:3,barColors:{0:\"rgba(26, 188, 156, .9)\",\".25\":\"rgba(52, 152, 219, .9)\",\".50\":\"rgba(241, 196, 15, .9)\",\".75\":\"rgba(230, 126, 34, .9)\",\"1.0\":\"rgba(211, 84, 0, .9)\"},shadowBlur:10,shadowColor:\"rgba(0, 0, 0, .6)\",className:null},topbar={config:function(opts){for(var key in opts)options.hasOwnProperty(key)&&(options[key]=opts[key])},show:function(handler){var type,elem;showing||(handler?delayTimerId=delayTimerId||setTimeout(()=>topbar.show(),handler):(showing=!0,null!==fadeTimerId&&window.cancelAnimationFrame(fadeTimerId),canvas||((elem=(canvas=document.createElement(\"canvas\")).style).position=\"fixed\",elem.top=elem.left=elem.right=elem.margin=elem.padding=0,elem.zIndex=100001,elem.display=\"none\",options.className&&canvas.classList.add(options.className),type=\"resize\",handler=repaint,(elem=window).addEventListener?elem.addEventListener(type,handler,!1):elem.attachEvent?elem.attachEvent(\"on\"+type,handler):elem[\"on\"+type]=handler),canvas.parentElement||document.body.appendChild(canvas),canvas.style.opacity=1,canvas.style.display=\"block\",topbar.progress(0),options.autoRun&&function loop(){progressTimerId=window.requestAnimationFrame(loop),topbar.progress(\"+\"+.05*Math.pow(1-Math.sqrt(currentProgress),2))}()))},progress:function(to){return void 0===to||(\"string\"==typeof to&&(to=(0<=to.indexOf(\"+\")||0<=to.indexOf(\"-\")?currentProgress:0)+parseFloat(to)),currentProgress=1<to?1:to,repaint()),currentProgress},hide:function(){clearTimeout(delayTimerId),delayTimerId=null,showing&&(showing=!1,null!=progressTimerId&&(window.cancelAnimationFrame(progressTimerId),progressTimerId=null),function loop(){return 1<=topbar.progress(\"+.1\")&&(canvas.style.opacity-=.05,canvas.style.opacity<=.05)?(canvas.style.display=\"none\",void(fadeTimerId=null)):void(fadeTimerId=window.requestAnimationFrame(loop))}())}};\"object\"==typeof module&&\"object\"==typeof module.exports?module.exports=topbar:\"function\"==typeof define&&define.amd?define(function(){return topbar}):this.topbar=topbar}).call(this,window,document);","const pathToRegexpMatch = require('path-to-regexp').match // route parser for express 5+\nconst pathToRegexpMatchExpress4 = require('path-to-regexp-express4') // route parser for express 4; express 3 and below are not supported\nconst parser = new window.DOMParser() // used by the default render method\n\nfunction singlePageExpress (options) {\n // #region constructor params and top-level variable declarations\n const app = {} // instance of the router app\n app.expressVersion = options.expressVersion // which version of the express api to target\n if (app.expressVersion !== 5 && (parseInt(app.expressVersion) <= 4)) app.expressVersion = 4 // permit express 4 and 5+\n if (!app.expressVersion) app.expressVersion = 5 // default to express 5\n app.appVars = {} // for app.set() / app.get()\n app.templatingEngine = options.templatingEngine // which templating engine to use\n app.templates = options.templates // templates to render\n if (!app.templates) console.warn('single-page-express: no templates are loaded; as such the default render method will just print the template name and model to the console.')\n app.routes = {} // list of functions to execute when trying to see if this route matches one of the known patterns ind