UNPKG

search-string

Version:

Another parser for advanced search query syntax.

38 lines 1.26 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.getQuotePairMap = getQuotePairMap; function getQuotePairMap(str) { if (!str) str = ''; const quotePairMap = { single: {}, double: {} }; const prevQuote = { single: -1, double: -1 }; let prevChar = ''; for (let i = 0; i < str.length; i++) { const char = str[i]; if (prevChar !== '\\') { if (char === '"') { if (prevQuote.double >= 0) { quotePairMap.double[prevQuote.double] = true; quotePairMap.double[i] = true; prevQuote.double = -1; } else { prevQuote.double = i; } } else if (char === "'") { if (prevQuote.single >= 0) { quotePairMap.single[prevQuote.single] = true; quotePairMap.single[i] = true; prevQuote.single = -1; } else { prevQuote.single = i; } } } prevChar = char !== null && char !== void 0 ? char : ''; } return quotePairMap; } //# sourceMappingURL=utils.js.map