node-ejs-renderer/node_modules/webpack-dev-middleware/dist/utils/parseTokenList.js

42 lines
785 B
JavaScript
Raw Normal View History

2024-06-09 13:55:01 -04:00
"use strict";
/**
* Parse a HTTP token list.
*
* @param {string} str
* @returns {string[]} tokens
*/
function parseTokenList(str) {
let end = 0;
let start = 0;
const list = [];
// gather tokens
for (let i = 0, len = str.length; i < len; i++) {
switch (str.charCodeAt(i)) {
case 0x20 /* */:
if (start === end) {
end = i + 1;
start = end;
}
break;
case 0x2c /* , */:
if (start !== end) {
list.push(str.substring(start, end));
}
end = i + 1;
start = end;
break;
default:
end = i + 1;
break;
}
}
// final token
if (start !== end) {
list.push(str.substring(start, end));
}
return list;
}
module.exports = parseTokenList;