@nevuamarkets/poly-websockets
Version:
Plug-and-play Polymarket WebSocket price alerts
51 lines (50 loc) • 1.6 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.isBookEvent = isBookEvent;
exports.isLastTradePriceEvent = isLastTradePriceEvent;
exports.isPriceChangeEvent = isPriceChangeEvent;
exports.isTickSizeChangeEvent = isTickSizeChangeEvent;
/**
* Type guard to check if an event is a BookEvent
* @example
* if (isBookEvent(event)) {
* // event is now typed as BookEvent
* console.log(event.bids);
* }
*/
function isBookEvent(event) {
return (event === null || event === void 0 ? void 0 : event.event_type) === 'book';
}
/**
* Type guard to check if an event is a LastTradePriceEvent
* @example
* if (isLastTradePriceEvent(event)) {
* // event is now typed as LastTradePriceEvent
* console.log(event.side);
* }
*/
function isLastTradePriceEvent(event) {
return (event === null || event === void 0 ? void 0 : event.event_type) === 'last_trade_price';
}
/**
* Type guard to check if an event is a PriceChangeEvent
* @example
* if (isPriceChangeEvent(event)) {
* // event is now typed as PriceChangeEvent
* console.log(event.changes);
* }
*/
function isPriceChangeEvent(event) {
return (event === null || event === void 0 ? void 0 : event.event_type) === 'price_change';
}
/**
* Type guard to check if an event is a TickSizeChangeEvent
* @example
* if (isTickSizeChangeEvent(event)) {
* // event is now typed as TickSizeChangeEvent
* console.log(event.old_tick_size);
* }
*/
function isTickSizeChangeEvent(event) {
return (event === null || event === void 0 ? void 0 : event.event_type) === 'tick_size_change';
}