UNPKG

webpack-sources

Version:

Source code handling classes for webpack

54 lines (49 loc) 972 B
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; // \n = 10 // ; = 59 // { = 123 // } = 125 // <space> = 32 // \r = 13 // \t = 9 /** * @param {string} str string * @returns {string[] | null} array of string separated by potential tokens */ const splitIntoPotentialTokens = (str) => { const len = str.length; if (len === 0) return null; const results = []; let i = 0; for (; i < len; ) { const s = i; block: { let cc = str.charCodeAt(i); while (cc !== 10 && cc !== 59 && cc !== 123 && cc !== 125) { if (++i >= len) break block; cc = str.charCodeAt(i); } while ( cc === 59 || cc === 32 || cc === 123 || cc === 125 || cc === 13 || cc === 9 ) { if (++i >= len) break block; cc = str.charCodeAt(i); } if (cc === 10) { i++; } } results.push(str.slice(s, i)); } return results; }; module.exports = splitIntoPotentialTokens;