// 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 mapSafelitePartNumberToPartNumber(lineItems) { return lineItems?.map(({ safelitePartNumber, childParts, ...rest }) => ({ ...rest, partNumber: safelitePartNumber, childParts: childParts?.map((part) => ({ partNumber: part.safelitePartNumber })) ?? [] })) ?? []; }