UNPKG

typia

Version:

Superfast runtime validators with only one line

34 lines 1.32 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports._httpQueryParseURLSearchParams = void 0; const _httpQueryParseURLSearchParams = (input) => { if (typeof input === "string") { let url = false; if (input.startsWith("?")) { input = input.substring(1); url = true; } else { const index = input.indexOf("?"); if (index !== -1 && isUrlPrefix(input.substring(0, index))) { input = input.substring(index + 1); url = true; } else if (index === -1 && isExplicitUrlPrefix(input)) { input = ""; url = true; } } if (url) { const fragment = input.indexOf("#"); if (fragment !== -1) input = input.substring(0, fragment); } return new URLSearchParams(input); } return input; }; exports._httpQueryParseURLSearchParams = _httpQueryParseURLSearchParams; const isUrlPrefix = (prefix) => isExplicitUrlPrefix(prefix) || (prefix.length !== 0 && !/[=&]/.test(prefix)); const isExplicitUrlPrefix = (prefix) => /^[a-z][a-z\d+.-]*:/i.test(prefix) || /^(?:\/\/|\/|\.{1,2}\/)/.test(prefix); //# sourceMappingURL=_httpQueryParseURLSearchParams.js.map