1 |
- {"ast":null,"code":"const encodeCache = {};\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n let cache = encodeCache[exclude];\n if (cache) {\n return cache;\n }\n cache = encodeCache[exclude] = [];\n for (let i = 0; i < 128; i++) {\n const ch = String.fromCharCode(i);\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n for (let i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n return cache;\n}\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode(string, exclude, keepEscaped) {\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode.defaultChars;\n }\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n const cache = getEncodeCache(exclude);\n let result = '';\n for (let i = 0, l = string.length; i < l; i++) {\n const code = string.charCodeAt(i);\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n if (code < 128) {\n result += cache[code];\n continue;\n }\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n const nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n result += encodeURIComponent(string[i]);\n }\n return result;\n}\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode.componentChars = \"-_.!~*'()\";\nexport default encode;","map":{"version":3,"names":["encodeCache","getEncodeCache","exclude","cache","i","ch","String","fromCharCode","test","push","toString","toUpperCase","slice","length","charCodeAt","encode","string","keepEscaped","defaultChars","result","l","code","nextCode","encodeURIComponent","componentChars"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/mdurl/lib/encode.mjs"],"sourcesContent":["const encodeCache = {}\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache (exclude) {\n let cache = encodeCache[exclude]\n if (cache) { return cache }\n\n cache = encodeCache[exclude] = []\n\n for (let i = 0; i < 128; i++) {\n const ch = String.fromCharCode(i)\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch)\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2))\n }\n }\n\n for (let i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i]\n }\n\n return cache\n}\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode (string, exclude, keepEscaped) {\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude\n exclude = encode.defaultChars\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true\n }\n\n const cache = getEncodeCache(exclude)\n let result = ''\n\n for (let i = 0, l = string.length; i < l; i++) {\n const code = string.charCodeAt(i)\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3)\n i += 2\n continue\n }\n }\n\n if (code < 128) {\n result += cache[code]\n continue\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n const nextCode = string.charCodeAt(i + 1)\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1])\n i++\n continue\n }\n }\n result += '%EF%BF%BD'\n continue\n }\n\n result += encodeURIComponent(string[i])\n }\n\n return result\n}\n\nencode.defaultChars = \";/?:@&=+$,-_.!~*'()#\"\nencode.componentChars = \"-_.!~*'()\"\n\nexport default encode\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|