// eslint-disable-next-line import/prefer-default-export export function getLineItemsFlattened(lineItems) { return lineItems?.flatMap((li) => [li, ...(getLineItemsFlattened(li.childParts))]) ?? []; } export function findLineItemIndex(lineItems, partNumber, startIndex = 0) { return lineItems.findIndex((li, index) => index >= startIndex && li.partNumber === partNumber); } // replaces partNumber, which is initially NAGS format, with the safelite part number export function mapSafelitePartNumberToPartNumberIfExists(lineItems) { return lineItems?.map(({ childParts, ...rest }) => ({ ...rest, partNumber: rest.safelitePartNumber || rest.partNumber, childParts: childParts?.map((part) => ({ partNumber: part.safelitePartNumber || part.partNumber })) ?? [] })) ?? []; }