19 lines
799 B
JavaScript
19 lines
799 B
JavaScript
// 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
|
|
})) ?? []
|
|
})) ?? [];
|
|
}
|