MCPcopy Index your code
hub / github.com/di-sukharev/opencommit / parseValues

Function parseValues

out/cli.cjs:28432–28488  ·  view source on GitHub ↗
(str2, options)

Source from the content-addressed store, hash-verified

28430 var isoSentinel = "utf8=%26%2310003%3B";
28431 var charsetSentinel = "utf8=%E2%9C%93";
28432 var parseValues = function parseQueryStringValues(str2, options) {
28433 var obj = { __proto__: null };
28434 var cleanStr = options.ignoreQueryPrefix ? str2.replace(/^\?/, "") : str2;
28435 cleanStr = cleanStr.replace(/%5B/gi, "[").replace(/%5D/gi, "]");
28436 var limit = options.parameterLimit === Infinity ? void 0 : options.parameterLimit;
28437 var parts = cleanStr.split(options.delimiter, limit);
28438 var skipIndex = -1;
28439 var i3;
28440 var charset = options.charset;
28441 if (options.charsetSentinel) {
28442 for (i3 = 0; i3 < parts.length; ++i3) {
28443 if (parts[i3].indexOf("utf8=") === 0) {
28444 if (parts[i3] === charsetSentinel) {
28445 charset = "utf-8";
28446 } else if (parts[i3] === isoSentinel) {
28447 charset = "iso-8859-1";
28448 }
28449 skipIndex = i3;
28450 i3 = parts.length;
28451 }
28452 }
28453 }
28454 for (i3 = 0; i3 < parts.length; ++i3) {
28455 if (i3 === skipIndex) {
28456 continue;
28457 }
28458 var part = parts[i3];
28459 var bracketEqualsPos = part.indexOf("]=");
28460 var pos = bracketEqualsPos === -1 ? part.indexOf("=") : bracketEqualsPos + 1;
28461 var key, val;
28462 if (pos === -1) {
28463 key = options.decoder(part, defaults2.decoder, charset, "key");
28464 val = options.strictNullHandling ? null : "";
28465 } else {
28466 key = options.decoder(part.slice(0, pos), defaults2.decoder, charset, "key");
28467 val = utils.maybeMap(
28468 parseArrayValue(part.slice(pos + 1), options),
28469 function(encodedVal) {
28470 return options.decoder(encodedVal, defaults2.decoder, charset, "value");
28471 }
28472 );
28473 }
28474 if (val && options.interpretNumericEntities && charset === "iso-8859-1") {
28475 val = interpretNumericEntities(val);
28476 }
28477 if (part.indexOf("[]=") > -1) {
28478 val = isArray2(val) ? [val] : val;
28479 }
28480 var existing = has.call(obj, key);
28481 if (existing && options.duplicates === "combine") {
28482 obj[key] = utils.combine(obj[key], val);
28483 } else if (!existing || options.duplicates === "last") {
28484 obj[key] = val;
28485 }
28486 }
28487 return obj;
28488 };
28489 var parseObject = function(chain, val, options, valuesParsed) {

Callers 1

Calls 4

parseArrayValueFunction · 0.85
interpretNumericEntitiesFunction · 0.85
isArray2Function · 0.85
sliceMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…