UNPKG

@chiper-inc/ecommerce-lib

Version:
74 lines (73 loc) 2.41 kB
import { EventSender } from "../event"; export declare enum ItemType { PRODUCT = "PRODUCT", COMBO = "COMBO" } export type ItemOptions = { id: number | string; warehouseId: number; name: string; stock: number; image: string; packagingType: string; minQuantity?: number; multipleQuantity?: number; quantity?: number; measurement: { unit: string; quantity: number; }; }; export declare abstract class Item extends EventSender { readonly id: number | string; readonly warehouseId: number; readonly type: ItemType; readonly name: string; protected _quantity?: number; protected _stock: number; readonly image: string; readonly packagingType: string; readonly minQuantity: number; readonly multipleQuantity: number; readonly rate: number; private isBackend; private isOffline; constructor(type: ItemType, { stock, multipleQuantity, name, image, id, warehouseId, packagingType, minQuantity, measurement }: ItemOptions, rate: number, isBackend?: boolean, isOffline?: boolean); get stock(): number; set stock(stock: number); abstract clone(): Item; set quantity(quantity: number | undefined); get quantity(): number | undefined; /** `discount` is the difference between `regularPrice` and `discountedPrice` in %*/ get discount(): number; abstract get maxQuantity(): number | undefined; abstract get regularPrice(): number; abstract get discountedPrice(): number | undefined; abstract get total(): number | null; abstract get subtotal(): number | null; abstract get chiperPrice(): number; abstract get price(): number; abstract get totalDollars(): number | null; abstract get regularPriceDolar(): number; toJSON(): { id: string | number; warehouseId: number; type: ItemType; name: string; stock: number; quantity: number | undefined; image: string; medium: string; packagingType: string; minQuantity: number; multipleQuantity: number; total: number | null; subtotal: number | null; maxQuantity: number | undefined; maximumQuantity: number | undefined; regularPrice: number; discountedPrice: number | undefined; totalDollars: number | null; regularPriceDolar: number; }; }