UNPKG

@chiper-inc/ecommerce-lib

Version:
68 lines (67 loc) 2.09 kB
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; }; }