decord/alpha/source/modules/premium/PremiumSubscriptionInvoiceItem.tsx
2026-10-10 08:08:14 +00:00

61 lines
2.2 KiB
TypeScript

// Module ID: 4779
// Function ID: 4780
// Name: PremiumSubscriptionInvoiceItem
// Dependencies: [12, 2]
// Exports: coalesceInvoiceItems, createInvoiceItemFromServer
// Module 4779 (PremiumSubscriptionInvoiceItem)
import _modDef12 from "module_12" /* 12 */;
import size from "module_2" /* 2 */;
let set;
const result = size.fileFinishedImporting("modules/premium/PremiumSubscriptionInvoiceItem.tsx");
export const coalesceInvoiceItems = function coalesceInvoiceItems(arr) {
const items = [];
set = new Set();
const mapped = arr.map((subscriptionPlanId) => {
for (const item10009 of items) {
let tmp = item10009;
let tmp3 = item10009;
if (item10009.subscriptionPlanId === subscriptionPlanId.subscriptionPlanId) {
if (tmp3.subscriptionPlanPrice === subscriptionPlanId.subscriptionPlanPrice) {
if (tmp3.amount === subscriptionPlanId.amount) {
let obj2 = _modDef12;
if (obj2.isEqual(tmp3.discounts, subscriptionPlanId.discounts)) {
let addResult = set.add(tmp.subscriptionPlanId);
tmp.quantity = tmp.quantity + subscriptionPlanId.quantity;
obj.return();
}
}
}
}
continue;
}
const push = items.push;
const obj3 = {};
const merged = Object.assign(subscriptionPlanId);
push(obj3);
});
return items.map((subscriptionPlanId) => {
let obj = {};
let merged = Object.assign(subscriptionPlanId);
if (set.has(subscriptionPlanId.subscriptionPlanId)) {
obj.amount = obj.amount * obj.quantity;
const discounts = obj.discounts;
obj.discounts = discounts.map((amount) => {
obj = { amount: amount.amount * obj.quantity };
const merged = Object.assign(amount);
return obj;
});
if (null != obj.tax) {
obj.tax = obj.tax * obj.quantity;
}
}
return obj;
});
};
export const createInvoiceItemFromServer = function createInvoiceItemFromServer(id) {
return { id: id.id, subscriptionPlanId: id.subscription_plan_id, subscriptionPlanPrice: id.subscription_plan_price, amount: id.amount, quantity: id.quantity, discounts: id.discounts, unitPrice: id.unit_price, tax: id.tax, taxCode: id.tax_code, nominalTaxRate: id.nominal_tax_rate };
};