UNPKG

@1amageek/tradable

Version:

Cloud Firestore model framework for TypeScript - Google

58 lines (57 loc) 2.99 kB
import * as FirebaseFirestore from '@google-cloud/firestore'; import { UserProtocol, SKUProtocol, TradeTransactionProtocol, OrderItemProtocol, OrderProtocol, TradeDelegate, InventoryStockProtocol } from "./index"; export declare class StockTransaction<Order extends OrderProtocol<OrderItem>, OrderItem extends OrderItemProtocol, User extends UserProtocol<Order, OrderItem, TradeTransaction>, InventoryStock extends InventoryStockProtocol, SKU extends SKUProtocol<InventoryStock>, TradeTransaction extends TradeTransactionProtocol> { private _User; private _InventoryStock; private _SKU; private _TradeTransaction; inventoryStocks: InventoryStock[]; commitBlock?: () => TradeTransaction[]; constructor(user: { new (id?: string, value?: { [key: string]: any; }): User; }, inventoryStock: { new (id?: string, value?: { [key: string]: any; }): InventoryStock; }, sku: { new (id?: string, value?: { [key: string]: any; }): SKU; }, tradeTransaction: { new (id?: string, value?: { [key: string]: any; }): TradeTransaction; }); commit(): Promise<TradeTransaction[]>; } export declare class StockManager<Order extends OrderProtocol<OrderItem>, OrderItem extends OrderItemProtocol, User extends UserProtocol<Order, OrderItem, TradeTransaction>, InventoryStock extends InventoryStockProtocol, SKU extends SKUProtocol<InventoryStock>, TradeTransaction extends TradeTransactionProtocol> { private _User; private _InventoryStock; private _SKU; private _TradeTransaction; delegate: TradeDelegate; constructor(user: { new (id?: string, value?: { [key: string]: any; }): User; }, inventoryStock: { new (id?: string, value?: { [key: string]: any; }): InventoryStock; }, sku: { new (id?: string, value?: { [key: string]: any; }): SKU; }, tradeTransaction: { new (id?: string, value?: { [key: string]: any; }): TradeTransaction; }); reserve(order: Order, orderItem: OrderItem, transaction: FirebaseFirestore.Transaction): Promise<void>; trade(order: Order, transaction: FirebaseFirestore.Transaction): Promise<StockTransaction<Order, OrderItem, User, InventoryStock, SKU, TradeTransaction>[]>; _trade(order: Order, orderItem: OrderItem, transaction: FirebaseFirestore.Transaction): Promise<StockTransaction<Order, OrderItem, User, InventoryStock, SKU, TradeTransaction>>; cancel(order: Order, orderItem: OrderItem, transaction: FirebaseFirestore.Transaction): Promise<StockTransaction<Order, OrderItem, User, InventoryStock, SKU, TradeTransaction>>; itemCancel(order: Order, orderItem: OrderItem, itemRef: FirebaseFirestore.DocumentReference, transaction: FirebaseFirestore.Transaction): Promise<StockTransaction<Order, OrderItem, User, InventoryStock, SKU, TradeTransaction>>; }