UNPKG

playwright-fluent

Version:
65 lines (64 loc) 2.3 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.areQueryStringSimilar = exports.extractQueryStringObjectFromUrl = exports.hasNoQueryString = exports.hasQueryString = exports.urlToPathWithoutQueryString = exports.urlToShortPath = exports.urlToPath = void 0; function urlToPath(url) { const urlObject = new URL(url); const fullPath = `${urlObject.pathname}${urlObject.search}`; return fullPath; } exports.urlToPath = urlToPath; function urlToShortPath(url) { const urlObject = new URL(url); const fullPath = `${urlObject.pathname}${urlObject.search}`; const parts = fullPath.split('/'); if (parts.length <= 2) { return fullPath; } const shortPath = ['', parts[parts.length - 2], parts[parts.length - 1]].join('/'); return shortPath; } exports.urlToShortPath = urlToShortPath; function urlToPathWithoutQueryString(url) { const urlObject = new URL(url); const fullPath = `${urlObject.pathname}`; return fullPath; } exports.urlToPathWithoutQueryString = urlToPathWithoutQueryString; function hasQueryString(url) { const urlObject = new URL(url); const queryString = `${urlObject.search}`; if (queryString) { return true; } return false; } exports.hasQueryString = hasQueryString; function hasNoQueryString(url) { return !hasQueryString(url); } exports.hasNoQueryString = hasNoQueryString; function extractQueryStringObjectFromUrl(url) { const urlObject = new URL(url); const result = {}; urlObject.searchParams.forEach((value, name) => { if (name) { result[name] = value; } }); return result; } exports.extractQueryStringObjectFromUrl = extractQueryStringObjectFromUrl; function areQueryStringSimilar(url1, url2) { const queryStringObject1 = extractQueryStringObjectFromUrl(url1); const queryStringObject2 = extractQueryStringObjectFromUrl(url2); for (const key in queryStringObject1) { if (['id', 'date', 'time', 'nonce', 'state'].some((keyword) => key.toLowerCase().includes(keyword))) { continue; } if (queryStringObject1[key] !== queryStringObject2[key]) { return false; } } return true; } exports.areQueryStringSimilar = areQueryStringSimilar;