@chiper-inc/ecommerce-lib
Version:
Chiper Inc Ecommerce Lib
74 lines (73 loc) • 2.41 kB
TypeScript
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;
};
}