@chiper-inc/ecommerce-lib
Version:
Chiper Inc Ecommerce Lib
68 lines (67 loc) • 2.09 kB
TypeScript
export type PriceOptions = {
ico: number;
iva: number;
base: number;
subtotal: number;
total: number;
measurementTotal: number;
externalId?: number;
maxQuantity?: number;
discountedExternalId?: number;
expireDate?: Date | null;
quantity?: number;
discount?: number | null;
};
export declare class Price {
readonly ico: number;
readonly iva: number;
readonly base: number;
readonly subtotal: number;
readonly total: number;
readonly measurementTotal: number;
readonly externalId?: number;
readonly maxQuantity?: number;
readonly discountedExternalId?: number;
readonly expireDate?: Date | null;
private _quantity?;
readonly discount?: number | null;
constructor({ ico, iva, base, subtotal, total, measurementTotal, externalId, maxQuantity, discountedExternalId, expireDate, quantity, discount, }: PriceOptions);
get isExpired(): boolean;
/**
* Set the price quantity until maxQuantity and returns the remaining quantity
* @param quantity the quantity
* @returns the remaining quantity
*/
set quantity(quantity: number | undefined);
get quantity(): number | undefined;
/**
* Calculates the total based on quantity
*
* @returns the total * quantity
*/
get extendedTotal(): number | null;
/**
* Calculates the subtotal based on quantity
*
* @returns the total * subtotal
*/
get extendedSubtotal(): number | null;
static fromPricing(json: any): Price[];
static fromCatalogue(json: any): Price[];
toJSON(customerTotal: number): {
customerTotal: number;
ico: number;
iva: number;
base: number;
subtotal: number;
managerSubtotal: number;
total: number;
measurementTotal: number;
externalId: number | undefined;
maxQuantity: number | undefined;
discountedExternalId: number | null;
expireDate: Date | null | undefined;
quantity: number | undefined;
discount: number | null;
};
}