xero-hero
Version:
Heroic utilities to simplify and enable your progress with the [xero-node](https://www.npmjs.com/package/xero-node) SDK.
25 lines • 1.04 kB
JavaScript
// src/accounting/invoices/lineItems.ts
import { isNil } from "deep-cuts";
var filterInvoiceLineItems = (lineItems, minCode, maxCode) => {
if (typeof minCode === "function") {
return (lineItems || []).filter(minCode);
}
const parsedMinCode = isNil(minCode) ? minCode : Number.parseInt(minCode, 10);
const parsedMaxCode = isNil(maxCode) ? maxCode : Number.parseInt(maxCode, 10);
if (parsedMinCode || parsedMaxCode) {
return (lineItems || []).filter(({ itemCode }) => {
const parsedItemCode = isNil(itemCode) ? itemCode : Number.parseInt(itemCode, 10);
if (parsedItemCode) {
const greaterThanOrEqualToMinCode = isNil(parsedMinCode) ? true : parsedItemCode >= parsedMinCode;
const lessThanOrEqualToMaxCode = isNil(parsedMaxCode) ? true : parsedItemCode <= (parsedMaxCode || 0);
return greaterThanOrEqualToMinCode && lessThanOrEqualToMaxCode;
}
return false;
});
}
return lineItems || [];
};
export {
filterInvoiceLineItems
};
//# sourceMappingURL=lineItems.mjs.map