coinrayjs 1.9.12 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (77) hide show
  1. package/dist/coinrayjs.es.js +13082 -0
  2. package/dist/coinrayjs.es.js.map +1 -0
  3. package/dist/coinrayjs.js +52 -0
  4. package/dist/coinrayjs.js.map +1 -0
  5. package/package.json +50 -81
  6. package/dist/candles-cache.d.ts +0 -7
  7. package/dist/candles-cache.js +0 -57
  8. package/dist/candles-cache.js.map +0 -1
  9. package/dist/coinray-cache.d.ts +0 -47
  10. package/dist/coinray-cache.js +0 -249
  11. package/dist/coinray-cache.js.map +0 -1
  12. package/dist/coinray.d.ts +0 -183
  13. package/dist/coinray.js +0 -1118
  14. package/dist/coinray.js.map +0 -1
  15. package/dist/crypto.d.ts +0 -1
  16. package/dist/crypto.js +0 -57
  17. package/dist/crypto.js.map +0 -1
  18. package/dist/current-market.d.ts +0 -62
  19. package/dist/current-market.js +0 -285
  20. package/dist/current-market.js.map +0 -1
  21. package/dist/errors.d.ts +0 -25
  22. package/dist/errors.js +0 -50
  23. package/dist/errors.js.map +0 -1
  24. package/dist/event-emitter.d.ts +0 -9
  25. package/dist/event-emitter.js +0 -36
  26. package/dist/event-emitter.js.map +0 -1
  27. package/dist/exchange.d.ts +0 -55
  28. package/dist/exchange.js +0 -167
  29. package/dist/exchange.js.map +0 -1
  30. package/dist/i18n/locales.d.ts +0 -21
  31. package/dist/i18n/locales.js +0 -21
  32. package/dist/i18n/locales.js.map +0 -1
  33. package/dist/i18n.d.ts +0 -4
  34. package/dist/i18n.js +0 -16
  35. package/dist/i18n.js.map +0 -1
  36. package/dist/index.d.ts +0 -9
  37. package/dist/index.js +0 -10
  38. package/dist/index.js.map +0 -1
  39. package/dist/lru.d.ts +0 -26
  40. package/dist/lru.js +0 -93
  41. package/dist/lru.js.map +0 -1
  42. package/dist/market.d.ts +0 -65
  43. package/dist/market.js +0 -162
  44. package/dist/market.js.map +0 -1
  45. package/dist/orders/base.d.ts +0 -29
  46. package/dist/orders/base.js +0 -47
  47. package/dist/orders/base.js.map +0 -1
  48. package/dist/orders/index.d.ts +0 -6
  49. package/dist/orders/index.js +0 -7
  50. package/dist/orders/index.js.map +0 -1
  51. package/dist/orders/limit-ladder.d.ts +0 -87
  52. package/dist/orders/limit-ladder.js +0 -229
  53. package/dist/orders/limit-ladder.js.map +0 -1
  54. package/dist/orders/limit.d.ts +0 -47
  55. package/dist/orders/limit.js +0 -86
  56. package/dist/orders/limit.js.map +0 -1
  57. package/dist/orders/market.d.ts +0 -37
  58. package/dist/orders/market.js +0 -60
  59. package/dist/orders/market.js.map +0 -1
  60. package/dist/orders/oco.d.ts +0 -54
  61. package/dist/orders/oco.js +0 -70
  62. package/dist/orders/oco.js.map +0 -1
  63. package/dist/orders/stop-limit.d.ts +0 -42
  64. package/dist/orders/stop-limit.js +0 -33
  65. package/dist/orders/stop-limit.js.map +0 -1
  66. package/dist/orders/validate.d.ts +0 -2
  67. package/dist/orders/validate.js +0 -6
  68. package/dist/orders/validate.js.map +0 -1
  69. package/dist/trade.d.ts +0 -10
  70. package/dist/trade.js +0 -32
  71. package/dist/trade.js.map +0 -1
  72. package/dist/types.d.ts +0 -213
  73. package/dist/types.js +0 -59
  74. package/dist/types.js.map +0 -1
  75. package/dist/util.d.ts +0 -48
  76. package/dist/util.js +0 -407
  77. package/dist/util.js.map +0 -1
package/package.json CHANGED
@@ -1,81 +1,50 @@
1
- {
2
- "name": "coinrayjs",
3
- "version": "1.9.12",
4
- "description": "Javascript Library for Coinray.io",
5
- "main": "./dist/index.js",
6
- "types": "./dist/index.d.ts",
7
- "files": [
8
- "/dist"
9
- ],
10
- "author": "development@coinray.io",
11
- "license": "MIT",
12
- "private": false,
13
- "scripts": {
14
- "test": "jest --detectOpenHandles",
15
- "test:watch": "jest --detectOpenHandles --watch",
16
- "type-check": "tsc --noEmit",
17
- "type-check:watch": "npm run type-check -- --watch",
18
- "build": "tsc",
19
- "build:watch": "tsc --watch",
20
- "prepare": "npm run build",
21
- "start": "webpack-dev-server --hot --host 0.0.0.0 --port 8082 --config=./webpack.config.js --mode development"
22
- },
23
- "dependencies": {
24
- "@babel/runtime": "^7.3.1",
25
- "@ungap/event-target": "^0.1.0",
26
- "axios": "^0.19.0",
27
- "bignumber.js": "^9.0.0",
28
- "jose": "^1.28.0",
29
- "lodash": "^4.17.11",
30
- "moment": "^2.29.3",
31
- "node-forge": "^0.9.1",
32
- "phoenix": "^1.3.4",
33
- "rfc4648": "^1.4.0",
34
- "uuid": "^3.4.0",
35
- "validate.js": "^0.13.1"
36
- },
37
- "devDependencies": {
38
- "@babel/cli": "^7.6.3",
39
- "@babel/core": "^7.6.3",
40
- "@babel/eslint-parser": "^7.19.1",
41
- "@babel/node": "^7.6.3",
42
- "@babel/plugin-proposal-class-properties": "^7.4.4",
43
- "@babel/plugin-proposal-object-rest-spread": "^7.4.4",
44
- "@babel/plugin-transform-runtime": "^7.4.4",
45
- "@babel/preset-env": "^7.4.5",
46
- "@babel/preset-react": "7.0.0",
47
- "@babel/preset-typescript": "^7.3.3",
48
- "@types/jest": "^24.0.15",
49
- "@types/lodash": "^4.14.135",
50
- "@types/node": "^12.0.10",
51
- "@types/node-forge": "^0.8.6",
52
- "@types/phoenix": "^1.4.3",
53
- "@types/uuid": "^3.4.6",
54
- "@types/ws": "^6.0.4",
55
- "babel-cli": "^6.26.0",
56
- "babel-jest": "^24.8.0",
57
- "babel-loader": "^8.0.6",
58
- "babel-preset-env": "^1.7.0",
59
- "eslint": "^8.24.0",
60
- "eslint-plugin-react": "^7.31.8",
61
- "jest": "^24.8.0",
62
- "jose": "^1.28.0",
63
- "jose-jwe-jws": "^0.2.2",
64
- "node-jose": "^1.1.4",
65
- "ts-jest": "^24.0.2",
66
- "typescript": "^3.5.2",
67
- "typescript-eslint-parser": "^22.0.0",
68
- "webpack": "^4.41.5",
69
- "webpack-cli": "^3.3.10",
70
- "webpack-dev-server": "^3.10.2",
71
- "ws": "^6.0.0"
72
- },
73
- "keywords": [
74
- "coinray",
75
- "coinrayio"
76
- ],
77
- "bugs": {
78
- "url": "https://github.com/coinrayio/coinrayjs/issues"
79
- },
80
- "homepage": "https://github.com/coinrayio/coinrayjs#readme"
81
- }
1
+ {
2
+ "name": "coinrayjs",
3
+ "version": "2.0.0",
4
+ "description": "Javascript Library for Coinray.io",
5
+ "main": "./dist/coinrayjs.js",
6
+ "type": "module",
7
+ "types": "./dist/types/index.d.ts",
8
+ "module": "./dist/coinrayjs.es.js",
9
+ "files": [
10
+ "dist/**/*"
11
+ ],
12
+ "author": "development@coinray.io",
13
+ "license": "MIT",
14
+ "private": false,
15
+ "scripts": {
16
+ "preview": "vite preview",
17
+ "dev": "vite",
18
+ "build": "vite build && tsc -p tsconfig.types.json"
19
+ },
20
+ "exports": {
21
+ ".": {
22
+ "import": "./dist/coinrayjs.es.js",
23
+ "types": "./dist/types/index.d.ts",
24
+ "default": "./dist/coinrayjs.js"
25
+ }
26
+ },
27
+ "dependencies": {
28
+ "axios": "^1.12.2",
29
+ "bignumber.js": "^9.3.1",
30
+ "jose": "^6.1.0",
31
+ "lodash": "^4.17.21",
32
+ "moment": "^2.30.1",
33
+ "validate.js": "^0.13.1",
34
+ "phoenix": "^1.7.0",
35
+ "uuid": "^13.0.0"
36
+ },
37
+ "devDependencies": {
38
+ "typescript": "~5.9.3",
39
+ "vite": "^7.1.7"
40
+ },
41
+ "keywords": [
42
+ "coinray",
43
+ "coinrayio"
44
+ ],
45
+ "bugs": {
46
+ "url": "https://github.com/coinrayio/coinrayjs/issues"
47
+ },
48
+ "homepage": "https://github.com/coinrayio/coinrayjs#readme",
49
+ "sideEffects": false
50
+ }
@@ -1,7 +0,0 @@
1
- import Coinray from "./coinray";
2
- export default class CandlesCache {
3
- private lru;
4
- private api;
5
- constructor(limit: any, api: Coinray);
6
- load(coinraySymbol: string, start: number, end: number, resolution: string): Promise<any>;
7
- }
@@ -1,57 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import LRU from "./lru";
11
- import _ from "lodash";
12
- class Range {
13
- constructor() {
14
- this.candles = [];
15
- }
16
- update(candles) {
17
- this.candles = _.takeRight(_.uniqBy(this.candles.concat(candles), 'time').sort((a, b) => a.time > b.time ? 1 : -1), 2000);
18
- if (this.candles.length > 0) {
19
- this.start = this.candles[0].time.getTime();
20
- this.end = this.candles[this.candles.length - 1].time.getTime();
21
- }
22
- else {
23
- this.start = null;
24
- this.end = null;
25
- }
26
- }
27
- excludes(start, end) {
28
- return !this.start || this.start > start ||
29
- !this.end || this.end < end;
30
- }
31
- get(start, end) {
32
- return this.candles.filter(({ time }) => time >= start && time <= end);
33
- }
34
- }
35
- export default class CandlesCache {
36
- constructor(limit, api) {
37
- this.lru = new LRU(limit);
38
- this.api = api;
39
- }
40
- load(coinraySymbol, start, end, resolution) {
41
- return __awaiter(this, void 0, void 0, function* () {
42
- const key = [coinraySymbol, resolution].join("-");
43
- let range = this.lru.read(key);
44
- if (!range) {
45
- range = new Range();
46
- this.lru.write(key, range);
47
- }
48
- if (range.excludes(start, end)) {
49
- const candles = yield this.api.fetchCandles({ coinraySymbol, start, end, resolution });
50
- range.update(candles);
51
- return candles;
52
- }
53
- return range.get(start, end);
54
- });
55
- }
56
- }
57
- //# sourceMappingURL=candles-cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"candles-cache.js","sourceRoot":"","sources":["../lib/candles-cache.ts"],"names":[],"mappings":";;;;;;;;;AACA,OAAO,GAAG,MAAM,OAAO,CAAC;AAExB,OAAO,CAAC,MAAM,QAAQ,CAAA;AAEtB,MAAM,KAAK;IAKT;QACE,IAAI,CAAC,OAAO,GAAG,EAAE,CAAC;IACpB,CAAC;IAED,MAAM,CAAC,OAAO;QACZ,IAAI,CAAC,OAAO,GAAG,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;QAE1H,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;YAC3B,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAC5C,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;SACjE;aAAM;YACL,IAAI,CAAC,KAAK,GAAG,IAAI,CAAC;YAClB,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC;SACjB;IACH,CAAC;IAED,QAAQ,CAAC,KAAK,EAAE,GAAG;QACjB,OAAO,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK;YACpC,CAAC,IAAI,CAAC,GAAG,IAAI,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IACjC,CAAC;IAED,GAAG,CAAC,KAAK,EAAE,GAAG;QACZ,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,EAAC,IAAI,EAAC,EAAE,EAAE,CAAC,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,GAAG,CAAC,CAAA;IACtE,CAAC;CACF;AAED,MAAM,CAAC,OAAO,OAAO,YAAY;IAI/B,YAAY,KAAK,EAAE,GAAY;QAC7B,IAAI,CAAC,GAAG,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC;QAC1B,IAAI,CAAC,GAAG,GAAG,GAAG,CAAA;IAChB,CAAC;IAEK,IAAI,CAAC,aAAqB,EAAE,KAAa,EAAE,GAAW,EAAE,UAAkB;;YAC9E,MAAM,GAAG,GAAG,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAClD,IAAI,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YAE/B,IAAI,CAAC,KAAK,EAAE;gBACV,KAAK,GAAG,IAAI,KAAK,EAAE,CAAC;gBACpB,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;aAC3B;YAED,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,EAAE,GAAG,CAAC,EAAE;gBAC9B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,YAAY,CAAC,EAAC,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,UAAU,EAAC,CAAC,CAAC;gBACrF,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;gBACtB,OAAO,OAAO,CAAC;aAChB;YAED,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;KAAA;CACF"}
@@ -1,47 +0,0 @@
1
- import Coinray from "./coinray";
2
- import Exchange from "./exchange";
3
- import { CacheParams, Candle, CandleParam, CandlesParam, MarketMap, MarketParam, MarketQuery } from "./types";
4
- import EventEmitter from "./event-emitter";
5
- interface ExchangeMap {
6
- [key: string]: Exchange;
7
- }
8
- export default class CoinrayCache extends EventEmitter {
9
- private rootApi;
10
- private apis;
11
- private exchanges;
12
- initialized: boolean;
13
- refreshRate: number;
14
- private refreshTimeout;
15
- private _refreshingToken;
16
- private tokenRefreshed;
17
- private _onTokenExpired;
18
- private readonly onStoreCache;
19
- private readonly apiCache;
20
- constructor(token: string, config: any, refreshRate?: number, cachePrams?: CacheParams);
21
- initialize(): Promise<void>;
22
- getRootApi(): Coinray;
23
- authenticateDevice(credential: string, sessionKey: string): void;
24
- refreshToken: () => Promise<any>;
25
- onTokenExpired(callback: () => Promise<string>): void;
26
- start(): Promise<void>;
27
- refreshExchangeInterval: () => Promise<void>;
28
- destroy(): void;
29
- refreshExchanges: (apiCache?: any) => Promise<void>;
30
- getProxyList: (params?: {}) => Promise<any>;
31
- getExchanges(): ExchangeMap;
32
- getExchange(exchangeCode: any): Exchange | undefined;
33
- refreshMarkets: (exchangeCode: any) => Promise<void>;
34
- searchMarkets(marketQuery: string | MarketQuery | MarketQuery[]): MarketMap;
35
- getMarkets(codeOrSymbols: string | string[]): MarketMap;
36
- getMarket: (coinraySymbol: string) => import("./market").default;
37
- fetchCandles({ coinraySymbol, resolution, start, end, useWebSocket }: CandlesParam): Promise<Candle[]>;
38
- fetchFirstCandleTime({ coinraySymbol, resolution }: CandlesParam): Promise<Date>;
39
- subscribeCandles({ coinraySymbol, resolution, lastCandle }: CandleParam, callback: (payload: any) => void): Promise<(payload: any) => void>;
40
- unsubscribeCandles({ coinraySymbol, resolution }: CandleParam, callback?: (payload: any) => void): Promise<void>;
41
- subscribeOrderBook({ coinraySymbol }: MarketParam, callback: (payload: any) => void): Promise<void>;
42
- unsubscribeOrderBook({ coinraySymbol }: MarketParam, callback?: (payload: any) => void): Promise<void>;
43
- subscribeTrades({ coinraySymbol }: MarketParam, callback: (payload: any) => void): Promise<void>;
44
- unsubscribeTrades({ coinraySymbol }: MarketParam, callback?: (payload: any) => void): Promise<void>;
45
- apiForSymbol(coinraySymbol: string): Coinray | undefined;
46
- }
47
- export {};
@@ -1,249 +0,0 @@
1
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
2
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
3
- return new (P || (P = Promise))(function (resolve, reject) {
4
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
5
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
6
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
7
- step((generator = generator.apply(thisArg, _arguments || [])).next());
8
- });
9
- };
10
- import Coinray from "./coinray";
11
- import Exchange from "./exchange";
12
- import { filterMarkets } from "./util";
13
- import EventEmitter from "./event-emitter";
14
- export default class CoinrayCache extends EventEmitter {
15
- constructor(token, config, refreshRate = 30 * 1000, cachePrams = undefined) {
16
- var _a, _b;
17
- super();
18
- this.refreshToken = () => __awaiter(this, void 0, void 0, function* () {
19
- if (!this._onTokenExpired) {
20
- return;
21
- }
22
- if (this._refreshingToken) {
23
- return yield this._refreshingToken;
24
- }
25
- else {
26
- this._refreshingToken = this._onTokenExpired();
27
- let token = yield this._refreshingToken;
28
- this._refreshingToken = undefined;
29
- for (const api of this.apis.values()) {
30
- api.refreshToken(token);
31
- }
32
- return token;
33
- }
34
- });
35
- this.refreshExchangeInterval = () => __awaiter(this, void 0, void 0, function* () {
36
- try {
37
- yield this.refreshExchanges();
38
- }
39
- catch (e) {
40
- console.error(e);
41
- }
42
- this.refreshTimeout = setTimeout(this.refreshExchangeInterval, this.refreshRate);
43
- });
44
- this.refreshExchanges = (apiCache = undefined) => __awaiter(this, void 0, void 0, function* () {
45
- var _c;
46
- const newCache = { exchanges: [], markets: {} };
47
- const exchanges = yield this.rootApi.fetchExchanges((exchange) => {
48
- newCache.exchanges.push(exchange);
49
- if (!this.apis.has(exchange.code)) {
50
- this.apis.set(exchange.code, this.rootApi);
51
- }
52
- return Exchange.Create(exchange, this.apis.get(exchange.code));
53
- }, (_c = apiCache) === null || _c === void 0 ? void 0 : _c.exchanges);
54
- const allMarkets = yield Promise.all(exchanges.map((exchange) => __awaiter(this, void 0, void 0, function* () {
55
- var _d, _e;
56
- return ({
57
- [exchange.code]: yield exchange.loadMarkets((_e = (_d = apiCache) === null || _d === void 0 ? void 0 : _d.markets) === null || _e === void 0 ? void 0 : _e[exchange.code])
58
- });
59
- })));
60
- newCache.markets = allMarkets.reduce((mem, val) => (Object.assign(Object.assign({}, mem), { [Object.keys(val)[0]]: Object.values(val)[0] })), []);
61
- this.exchanges = exchanges.reduce((mem, exchange) => {
62
- mem[exchange.code] = exchange;
63
- return mem;
64
- }, {});
65
- this.dispatchEvent("marketsUpdated");
66
- if (!apiCache && this.onStoreCache)
67
- this.onStoreCache(newCache);
68
- });
69
- this.getProxyList = (params = {}) => __awaiter(this, void 0, void 0, function* () {
70
- return yield this.rootApi.getProxyList(params);
71
- });
72
- this.refreshMarkets = (exchangeCode) => __awaiter(this, void 0, void 0, function* () {
73
- yield this.exchanges[exchangeCode].loadMarkets();
74
- });
75
- this.getMarket = (coinraySymbol) => {
76
- const parts = `${coinraySymbol}`.split("_");
77
- if (parts.length < 3) {
78
- return;
79
- }
80
- const exchange = this.getExchange(parts[0]);
81
- if (exchange) {
82
- return exchange.getMarket(coinraySymbol);
83
- }
84
- };
85
- this.rootApi = new Coinray(token, config);
86
- this.apis = new Map();
87
- this.exchanges = {};
88
- this.initialized = false;
89
- this.refreshRate = refreshRate;
90
- this.rootApi.onTokenExpired(this.refreshToken);
91
- this.onStoreCache = (_a = cachePrams) === null || _a === void 0 ? void 0 : _a.onStoreCache;
92
- this.apiCache = (_b = cachePrams) === null || _b === void 0 ? void 0 : _b.apiCache;
93
- }
94
- initialize() {
95
- return __awaiter(this, void 0, void 0, function* () {
96
- if (this.initialized) {
97
- return;
98
- }
99
- yield this.start();
100
- this.initialized = true;
101
- });
102
- }
103
- getRootApi() {
104
- return this.rootApi;
105
- }
106
- authenticateDevice(credential, sessionKey) {
107
- this.rootApi.authenticateDevice(credential, sessionKey);
108
- }
109
- onTokenExpired(callback) {
110
- this._onTokenExpired = callback;
111
- }
112
- start() {
113
- return __awaiter(this, void 0, void 0, function* () {
114
- if (this.refreshTimeout) {
115
- clearTimeout(this.refreshTimeout);
116
- }
117
- try {
118
- if (this.apiCache) {
119
- yield this.refreshExchanges(this.apiCache);
120
- this.refreshExchanges();
121
- }
122
- else {
123
- yield this.refreshExchanges();
124
- }
125
- }
126
- catch (e) {
127
- console.error(e);
128
- }
129
- this.refreshTimeout = setTimeout(this.refreshExchangeInterval, this.refreshRate);
130
- });
131
- }
132
- destroy() {
133
- for (const api of this.apis.values()) {
134
- try {
135
- api.destroy();
136
- }
137
- catch (error) {
138
- console.error("Could not destroy coinray", error);
139
- }
140
- }
141
- if (this.refreshTimeout) {
142
- clearTimeout(this.refreshTimeout);
143
- }
144
- this.initialized = false;
145
- }
146
- getExchanges() {
147
- if (!this.initialized) {
148
- throw "The cache is not initialized yet";
149
- }
150
- return this.exchanges;
151
- }
152
- getExchange(exchangeCode) {
153
- return this.getExchanges()[exchangeCode] || Exchange.Create({
154
- id: -1,
155
- name: exchangeCode,
156
- code: exchangeCode,
157
- websocket: false,
158
- active: false,
159
- tradingEnabled: false,
160
- tradingEnabledFrom: "",
161
- isFutures: false,
162
- isDex: false,
163
- logo: "data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==\n",
164
- btcVolume: "0",
165
- usdVolume: "0",
166
- totalMarkets: 0,
167
- quoteCurrencies: [],
168
- }, this.rootApi);
169
- }
170
- searchMarkets(marketQuery) {
171
- return Object.values(this.exchanges).reduce((acc, exchange) => {
172
- acc = Object.assign(Object.assign({}, acc), filterMarkets(exchange.markets, marketQuery));
173
- return acc;
174
- }, {});
175
- }
176
- getMarkets(codeOrSymbols) {
177
- switch (typeof (codeOrSymbols)) {
178
- case "string": {
179
- return this.getExchange(codeOrSymbols).markets;
180
- }
181
- default: {
182
- return codeOrSymbols.reduce((acc, coinraySymbol) => {
183
- const market = this.getMarket(coinraySymbol);
184
- if (market) {
185
- acc[coinraySymbol] = market;
186
- }
187
- return acc;
188
- }, {});
189
- }
190
- }
191
- }
192
- fetchCandles({ coinraySymbol, resolution, start, end, useWebSocket }) {
193
- return __awaiter(this, void 0, void 0, function* () {
194
- const api = this.apiForSymbol(coinraySymbol);
195
- return api.fetchCandles({ coinraySymbol, resolution, start, end, useWebSocket });
196
- });
197
- }
198
- fetchFirstCandleTime({ coinraySymbol, resolution }) {
199
- return __awaiter(this, void 0, void 0, function* () {
200
- const api = this.apiForSymbol(coinraySymbol);
201
- return api.fetchFirstCandleTime({ coinraySymbol, resolution });
202
- });
203
- }
204
- subscribeCandles({ coinraySymbol, resolution, lastCandle }, callback) {
205
- return __awaiter(this, void 0, void 0, function* () {
206
- const api = this.apiForSymbol(coinraySymbol);
207
- return api.subscribeCandles({ coinraySymbol, resolution, lastCandle }, callback);
208
- });
209
- }
210
- unsubscribeCandles({ coinraySymbol, resolution }, callback) {
211
- return __awaiter(this, void 0, void 0, function* () {
212
- const api = this.apiForSymbol(coinraySymbol);
213
- yield api.unsubscribeCandles({ coinraySymbol, resolution }, callback);
214
- });
215
- }
216
- subscribeOrderBook({ coinraySymbol }, callback) {
217
- return __awaiter(this, void 0, void 0, function* () {
218
- const api = this.apiForSymbol(coinraySymbol);
219
- yield api.subscribeOrderBook({ coinraySymbol }, callback);
220
- });
221
- }
222
- unsubscribeOrderBook({ coinraySymbol }, callback) {
223
- return __awaiter(this, void 0, void 0, function* () {
224
- const api = this.apiForSymbol(coinraySymbol);
225
- yield api.unsubscribeOrderBook({ coinraySymbol }, callback);
226
- });
227
- }
228
- subscribeTrades({ coinraySymbol }, callback) {
229
- return __awaiter(this, void 0, void 0, function* () {
230
- const api = this.apiForSymbol(coinraySymbol);
231
- yield api.subscribeTrades({ coinraySymbol }, callback);
232
- });
233
- }
234
- unsubscribeTrades({ coinraySymbol }, callback) {
235
- return __awaiter(this, void 0, void 0, function* () {
236
- const api = this.apiForSymbol(coinraySymbol);
237
- yield api.unsubscribeTrades({ coinraySymbol }, callback);
238
- });
239
- }
240
- apiForSymbol(coinraySymbol) {
241
- const parts = `${coinraySymbol}`.split("_");
242
- if (parts.length < 3) {
243
- return;
244
- }
245
- const exchange_code = parts[0];
246
- return this.apis.get(exchange_code);
247
- }
248
- }
249
- //# sourceMappingURL=coinray-cache.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"coinray-cache.js","sourceRoot":"","sources":["../lib/coinray-cache.ts"],"names":[],"mappings":"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"}