import { getLineItemsFlattened } from '@/helpers/line-items-helper'; export default function getQueryStringParameter(key) { const queryString = window.location.search; const urlParams = new URLSearchParams(queryString); const lowerCaseParams = new URLSearchParams(); urlParams.forEach((value, name) => { lowerCaseParams.append(name.toLowerCase(), value); }); return lowerCaseParams.get(key.toLowerCase()); } export function buildQueryStringParameterFromArrayOfComplexObjects(arrayOfObjects, parameterName) { let queryStringParameter = ''; for (let i = 0; i < arrayOfObjects.length; i++) { for (const [key, value] of Object.entries(arrayOfObjects[i])) { queryStringParameter += `${parameterName}[${i}].${key}=${value}&`; } } // Remove trailing & return queryStringParameter.slice(0, -1); } export function getLineItemQueryString(lineItems, parameterName) { const queryString = getLineItemsFlattened(lineItems).map((lineItem, index) => `${parameterName}[${index}].partNumber=${lineItem.partNumber}`).join('&'); return queryString.length !== 0 ? `&${queryString}` : ''; }