From af3acfab45f65a3ba8682ac68e6703fc461cbee3 Mon Sep 17 00:00:00 2001 From: Andrija Dvorski Date: Wed, 28 Nov 2018 16:57:47 +0100 Subject: [PATCH] update(products): Update interfaces for product output and input Some products had outdated interfaces, this commit updated them and adds the new "currency" option parameter for News and Sentiments products. --- src/Products/Interfaces/Candle.ts | 6 ++---- src/Products/Interfaces/Index.ts | 3 +-- src/Products/Interfaces/News.ts | 2 +- src/Products/Interfaces/Orderbook.ts | 5 ++--- src/Products/Interfaces/Trade.ts | 6 ------ src/Products/NewsProduct.ts | 16 +++++++++++++++- src/Products/SentimentProduct.ts | 16 +++++++++++++++- 7 files changed, 36 insertions(+), 18 deletions(-) diff --git a/src/Products/Interfaces/Candle.ts b/src/Products/Interfaces/Candle.ts index 0d47548..b11ad31 100644 --- a/src/Products/Interfaces/Candle.ts +++ b/src/Products/Interfaces/Candle.ts @@ -6,10 +6,8 @@ export interface Candle { volume: number; size: number; tradesCounter: number; - closeTradeTimestamp: number; - openTradeTimestamp: number; startedAtTimestamp: number; exchange: string; - instrument: string; - isNew: boolean; + base: string; + quote: string; } diff --git a/src/Products/Interfaces/Index.ts b/src/Products/Interfaces/Index.ts index 18cb45a..4a9462a 100644 --- a/src/Products/Interfaces/Index.ts +++ b/src/Products/Interfaces/Index.ts @@ -4,6 +4,5 @@ export interface Index { weightedT: number; diffPercent: number; name: string; - diffPercentAbsolute: number; - tendency: string; + diff: number; } diff --git a/src/Products/Interfaces/News.ts b/src/Products/Interfaces/News.ts index 4425e76..fa898fa 100644 --- a/src/Products/Interfaces/News.ts +++ b/src/Products/Interfaces/News.ts @@ -1,5 +1,5 @@ export interface News { - groupId: string; + currency: string; description: string; sentiment: string; title: string; diff --git a/src/Products/Interfaces/Orderbook.ts b/src/Products/Interfaces/Orderbook.ts index 429d285..c335452 100644 --- a/src/Products/Interfaces/Orderbook.ts +++ b/src/Products/Interfaces/Orderbook.ts @@ -1,8 +1,7 @@ export interface Orderbook { - producerId: string; - state: OrderBookState; exchange: string; - market: string; + base: string; + quote: string; snapshot?: null | OrderBookSnapshot; patch?: null | OrderBookPatch; } diff --git a/src/Products/Interfaces/Trade.ts b/src/Products/Interfaces/Trade.ts index 53ddf60..59af13a 100644 --- a/src/Products/Interfaces/Trade.ts +++ b/src/Products/Interfaces/Trade.ts @@ -1,15 +1,9 @@ export interface Trade { - data: TradeData; base: string; quote: string; exchange: string; -} - -interface TradeData { - id: string; price: number; amount: number; - datetime: string; timestamp: number; type?: null | TradeType; side?: null | TradeDirection; diff --git a/src/Products/NewsProduct.ts b/src/Products/NewsProduct.ts index a1132f1..98d19e2 100644 --- a/src/Products/NewsProduct.ts +++ b/src/Products/NewsProduct.ts @@ -2,7 +2,21 @@ import {Products} from "../Enums/Products"; import {BaseProduct} from "./BaseProduct"; export class NewsProduct extends BaseProduct { - public constructor() { + + public get currency() { + return this.getProperty("currency"); + } + + public set currency(value: string) { + this.setProperty("currency", value); + } + + public constructor(options: NewsProductOptions) { super(Products.NEWS); + this.setProperty("currency", options.currency || ""); } } + +export interface NewsProductOptions { + currency?: string; +} diff --git a/src/Products/SentimentProduct.ts b/src/Products/SentimentProduct.ts index ae60eba..a580263 100644 --- a/src/Products/SentimentProduct.ts +++ b/src/Products/SentimentProduct.ts @@ -2,7 +2,21 @@ import {Products} from "../Enums/Products"; import {BaseProduct} from "./BaseProduct"; export class SentimentProduct extends BaseProduct { - public constructor() { + + public get currency() { + return this.getProperty("currency"); + } + + public set currency(value: string) { + this.setProperty("currency", value); + } + + public constructor(options: SentimentProductOptions) { super(Products.SENTIMENTS); + this.setProperty("currency", options.currency || ""); } } + +export interface SentimentProductOptions { + currency?: string; +}