coinrayjs 1.9.11 → 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.
- package/dist/coinrayjs.es.js +13082 -0
- package/dist/coinrayjs.es.js.map +1 -0
- package/dist/coinrayjs.js +52 -0
- package/dist/coinrayjs.js.map +1 -0
- package/package.json +50 -81
- package/dist/candles-cache.d.ts +0 -7
- package/dist/candles-cache.js +0 -57
- package/dist/candles-cache.js.map +0 -1
- package/dist/coinray-cache.d.ts +0 -47
- package/dist/coinray-cache.js +0 -255
- package/dist/coinray-cache.js.map +0 -1
- package/dist/coinray.d.ts +0 -183
- package/dist/coinray.js +0 -1118
- package/dist/coinray.js.map +0 -1
- package/dist/crypto.d.ts +0 -1
- package/dist/crypto.js +0 -57
- package/dist/crypto.js.map +0 -1
- package/dist/current-market.d.ts +0 -62
- package/dist/current-market.js +0 -285
- package/dist/current-market.js.map +0 -1
- package/dist/errors.d.ts +0 -25
- package/dist/errors.js +0 -50
- package/dist/errors.js.map +0 -1
- package/dist/event-emitter.d.ts +0 -9
- package/dist/event-emitter.js +0 -36
- package/dist/event-emitter.js.map +0 -1
- package/dist/exchange.d.ts +0 -55
- package/dist/exchange.js +0 -167
- package/dist/exchange.js.map +0 -1
- package/dist/i18n/locales.d.ts +0 -21
- package/dist/i18n/locales.js +0 -21
- package/dist/i18n/locales.js.map +0 -1
- package/dist/i18n.d.ts +0 -4
- package/dist/i18n.js +0 -16
- package/dist/i18n.js.map +0 -1
- package/dist/index.d.ts +0 -9
- package/dist/index.js +0 -10
- package/dist/index.js.map +0 -1
- package/dist/lru.d.ts +0 -26
- package/dist/lru.js +0 -93
- package/dist/lru.js.map +0 -1
- package/dist/market.d.ts +0 -65
- package/dist/market.js +0 -162
- package/dist/market.js.map +0 -1
- package/dist/orders/base.d.ts +0 -29
- package/dist/orders/base.js +0 -47
- package/dist/orders/base.js.map +0 -1
- package/dist/orders/index.d.ts +0 -6
- package/dist/orders/index.js +0 -7
- package/dist/orders/index.js.map +0 -1
- package/dist/orders/limit-ladder.d.ts +0 -87
- package/dist/orders/limit-ladder.js +0 -229
- package/dist/orders/limit-ladder.js.map +0 -1
- package/dist/orders/limit.d.ts +0 -47
- package/dist/orders/limit.js +0 -86
- package/dist/orders/limit.js.map +0 -1
- package/dist/orders/market.d.ts +0 -37
- package/dist/orders/market.js +0 -60
- package/dist/orders/market.js.map +0 -1
- package/dist/orders/oco.d.ts +0 -54
- package/dist/orders/oco.js +0 -70
- package/dist/orders/oco.js.map +0 -1
- package/dist/orders/stop-limit.d.ts +0 -42
- package/dist/orders/stop-limit.js +0 -33
- package/dist/orders/stop-limit.js.map +0 -1
- package/dist/orders/validate.d.ts +0 -2
- package/dist/orders/validate.js +0 -6
- package/dist/orders/validate.js.map +0 -1
- package/dist/types.d.ts +0 -213
- package/dist/types.js +0 -59
- package/dist/types.js.map +0 -1
- package/dist/util.d.ts +0 -48
- package/dist/util.js +0 -407
- package/dist/util.js.map +0 -1
package/dist/types.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
export var OrderType;
|
|
2
|
-
(function (OrderType) {
|
|
3
|
-
OrderType["MARKET"] = "MARKET";
|
|
4
|
-
OrderType["LIMIT"] = "LIMIT";
|
|
5
|
-
OrderType["LIMIT_LADDER"] = "LIMIT_LADDER";
|
|
6
|
-
OrderType["STOP_LOSS"] = "STOP_LOSS";
|
|
7
|
-
OrderType["OCO"] = "OCO";
|
|
8
|
-
OrderType["STOP_LOSS_LIMIT"] = "STOP_LOSS_LIMIT";
|
|
9
|
-
OrderType["STOP_LOSS_MARKET"] = "STOP_LOSS_MARKET";
|
|
10
|
-
OrderType["TAKE_PROFIT"] = "TAKE_PROFIT";
|
|
11
|
-
OrderType["TAKE_PROFIT_LIMIT"] = "TAKE_PROFIT_LIMIT";
|
|
12
|
-
OrderType["TAKE_PROFIT_MARKET"] = "TAKE_PROFIT_MARKET";
|
|
13
|
-
})(OrderType || (OrderType = {}));
|
|
14
|
-
export var ExchangeFeatures;
|
|
15
|
-
(function (ExchangeFeatures) {
|
|
16
|
-
ExchangeFeatures["HEDGE_MODE"] = "hedgeMode";
|
|
17
|
-
ExchangeFeatures["ORDER_QUOTE_AMOUNT"] = "orderQuoteAmount";
|
|
18
|
-
ExchangeFeatures["MARKET_BUY_QUOTE_ONLY"] = "marketBuyQuoteOnly";
|
|
19
|
-
ExchangeFeatures["UPDATE_LEVERAGE_ONLY_ON_OPEN_POSITIONS"] = "updateLeverageOnlyOnOpenPositions";
|
|
20
|
-
ExchangeFeatures["FAST_CONNECT"] = "fastConnect";
|
|
21
|
-
ExchangeFeatures["UNIFIED_BALANCE"] = "unifiedBalance";
|
|
22
|
-
})(ExchangeFeatures || (ExchangeFeatures = {}));
|
|
23
|
-
export var IpWhiteList;
|
|
24
|
-
(function (IpWhiteList) {
|
|
25
|
-
IpWhiteList["NONE"] = "NONE";
|
|
26
|
-
IpWhiteList["LIST"] = "LIST";
|
|
27
|
-
IpWhiteList["COMMA"] = "COMMA";
|
|
28
|
-
IpWhiteList["COMMA_SPACE"] = "COMMA_SPACE";
|
|
29
|
-
IpWhiteList["SPACE"] = "SPACE";
|
|
30
|
-
})(IpWhiteList || (IpWhiteList = {}));
|
|
31
|
-
export var MarginType;
|
|
32
|
-
(function (MarginType) {
|
|
33
|
-
MarginType["CROSSED"] = "CROSSED";
|
|
34
|
-
MarginType["ISOLATED"] = "ISOLATED";
|
|
35
|
-
})(MarginType || (MarginType = {}));
|
|
36
|
-
export var OrderStatus;
|
|
37
|
-
(function (OrderStatus) {
|
|
38
|
-
OrderStatus["OPEN"] = "open";
|
|
39
|
-
OrderStatus["CLOSED"] = "closed";
|
|
40
|
-
OrderStatus["CANCELED"] = "canceled";
|
|
41
|
-
})(OrderStatus || (OrderStatus = {}));
|
|
42
|
-
export var OrderSide;
|
|
43
|
-
(function (OrderSide) {
|
|
44
|
-
OrderSide["BUY"] = "buy";
|
|
45
|
-
OrderSide["SELL"] = "sell";
|
|
46
|
-
})(OrderSide || (OrderSide = {}));
|
|
47
|
-
export var TimeInForce;
|
|
48
|
-
(function (TimeInForce) {
|
|
49
|
-
TimeInForce["GTC"] = "gtc";
|
|
50
|
-
TimeInForce["FOK"] = "fok";
|
|
51
|
-
TimeInForce["IOC"] = "ioc";
|
|
52
|
-
})(TimeInForce || (TimeInForce = {}));
|
|
53
|
-
export var BalanceLimit;
|
|
54
|
-
(function (BalanceLimit) {
|
|
55
|
-
BalanceLimit["QUOTE"] = "quote";
|
|
56
|
-
BalanceLimit["BASE"] = "base";
|
|
57
|
-
BalanceLimit["NONE"] = "none";
|
|
58
|
-
})(BalanceLimit || (BalanceLimit = {}));
|
|
59
|
-
//# sourceMappingURL=types.js.map
|
package/dist/types.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../lib/types.ts"],"names":[],"mappings":"AAmFA,MAAM,CAAN,IAAY,SAWX;AAXD,WAAY,SAAS;IACnB,8BAAiB,CAAA;IACjB,4BAAe,CAAA;IACf,0CAA6B,CAAA;IAC7B,oCAAuB,CAAA;IACvB,wBAAW,CAAA;IACX,gDAAmC,CAAA;IACnC,kDAAqC,CAAA;IACrC,wCAA2B,CAAA;IAC3B,oDAAuC,CAAA;IACvC,sDAAyC,CAAA;AAC3C,CAAC,EAXW,SAAS,KAAT,SAAS,QAWpB;AAED,MAAM,CAAN,IAAY,gBAOX;AAPD,WAAY,gBAAgB;IAC1B,4CAAwB,CAAA;IACxB,2DAAuC,CAAA;IACvC,gEAA4C,CAAA;IAC5C,gGAA4E,CAAA;IAC5E,gDAA4B,CAAA;IAC5B,sDAAkC,CAAA;AACpC,CAAC,EAPW,gBAAgB,KAAhB,gBAAgB,QAO3B;AAED,MAAM,CAAN,IAAY,WAMX;AAND,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,4BAAa,CAAA;IACb,8BAAe,CAAA;IACf,0CAA2B,CAAA;IAC3B,8BAAe,CAAA;AACjB,CAAC,EANW,WAAW,KAAX,WAAW,QAMtB;AAED,MAAM,CAAN,IAAY,UAGX;AAHD,WAAY,UAAU;IACpB,iCAAmB,CAAA;IACnB,mCAAqB,CAAA;AACvB,CAAC,EAHW,UAAU,KAAV,UAAU,QAGrB;AAED,MAAM,CAAN,IAAY,WAIX;AAJD,WAAY,WAAW;IACrB,4BAAa,CAAA;IACb,gCAAiB,CAAA;IACjB,oCAAqB,CAAA;AACvB,CAAC,EAJW,WAAW,KAAX,WAAW,QAItB;AAED,MAAM,CAAN,IAAY,SAAsC;AAAlD,WAAY,SAAS;IAAE,wBAAW,CAAA;IAAE,0BAAa,CAAA;AAAA,CAAC,EAAtC,SAAS,KAAT,SAAS,QAA6B;AAElD,MAAM,CAAN,IAAY,WAAmD;AAA/D,WAAY,WAAW;IAAE,0BAAW,CAAA;IAAE,0BAAW,CAAA;IAAE,0BAAW,CAAA;AAAA,CAAC,EAAnD,WAAW,KAAX,WAAW,QAAwC;AAE/D,MAAM,CAAN,IAAY,YAA4D;AAAxE,WAAY,YAAY;IAAE,+BAAe,CAAA;IAAE,6BAAa,CAAA;IAAE,6BAAa,CAAA;AAAA,CAAC,EAA5D,YAAY,KAAZ,YAAY,QAAgD"}
|
package/dist/util.d.ts
DELETED
|
@@ -1,48 +0,0 @@
|
|
|
1
|
-
import BigNumber from "bignumber.js";
|
|
2
|
-
import { MarketMap, MarketQuery } from "./types";
|
|
3
|
-
import { Moment } from "moment";
|
|
4
|
-
export declare const MINUTES = 60;
|
|
5
|
-
export declare const HOURS: number;
|
|
6
|
-
export declare const DAYS: number;
|
|
7
|
-
export declare const WEEK: number;
|
|
8
|
-
export declare function unix(): number;
|
|
9
|
-
export declare function strToArray(str: any): any;
|
|
10
|
-
export declare function base64UrlEncode(str: any): string;
|
|
11
|
-
export declare function base64UrlDecode(str: any): any;
|
|
12
|
-
export declare function sha256hexdigest(str: any): string;
|
|
13
|
-
export declare function signHMAC(dataToSign: any, secret: any, format?: string): string;
|
|
14
|
-
export declare function createJWT(payload: {}, secret?: any): any;
|
|
15
|
-
export declare function parseJWT(jwt: any): any;
|
|
16
|
-
export declare function jwkToPublicKey(jwk: any): any;
|
|
17
|
-
export declare function encryptPayload(payload: any, publicKey: any): any;
|
|
18
|
-
export declare function camelize(value: any): any;
|
|
19
|
-
export declare function jwtExpired(token: string): boolean;
|
|
20
|
-
export declare function throwNull2NonNull(d: any): never;
|
|
21
|
-
export declare function throwNotObject(d: any, nullable: boolean): never;
|
|
22
|
-
export declare function throwIsArray(d: any, nullable: boolean): never;
|
|
23
|
-
export declare function checkArray(d: any, field: string): void;
|
|
24
|
-
export declare function checkNumber(d: any, nullable: boolean, field: string): void;
|
|
25
|
-
export declare function checkBigNumber(d: any, nullable: boolean, field: string): void;
|
|
26
|
-
export declare function checkBoolean(d: any, nullable: boolean, field: string): void;
|
|
27
|
-
export declare function checkString(d: any, nullable: boolean, field: string): void;
|
|
28
|
-
export declare function checkNull(d: any, field: string): void;
|
|
29
|
-
export declare function errorHelper(field: string, d: any, type: string, nullable: boolean): never;
|
|
30
|
-
export declare function safeBigNumber(d: string | number | BigNumber): BigNumber;
|
|
31
|
-
export declare function correctNumberPrecision(precision: any, value: any): string;
|
|
32
|
-
export declare function safeFloat(d: string | number): number;
|
|
33
|
-
export declare function safeInteger(d: string | number): number;
|
|
34
|
-
export declare function safeTime(d: string | number): Date;
|
|
35
|
-
export declare function resolutionToDuration(resolution: String): number;
|
|
36
|
-
export declare const toSafeDate: (timeOrDate: any) => any;
|
|
37
|
-
export declare const toBucketEnd: (date: any, resolution: any) => any;
|
|
38
|
-
export declare const toBucketStart: (date: any, resolution: any) => any;
|
|
39
|
-
export declare function resolutionToBucketType(resolution: any): "day" | "week" | "month" | "year";
|
|
40
|
-
export declare function getTimeParams(bucketType: String, date: any): {
|
|
41
|
-
year: number;
|
|
42
|
-
month?: number;
|
|
43
|
-
day?: number;
|
|
44
|
-
week?: number;
|
|
45
|
-
};
|
|
46
|
-
export declare function getBucketStartDates(startTime: number, endTime: number, bucketType: "day" | "week" | "month" | "year"): Array<Moment>;
|
|
47
|
-
export declare function candleTime(slotsAgo: number, resolution: String, date: number | Date): number;
|
|
48
|
-
export declare function filterMarkets(markets: MarketMap, marketQuery: string | MarketQuery | (string | MarketQuery)[]): MarketMap;
|
package/dist/util.js
DELETED
|
@@ -1,407 +0,0 @@
|
|
|
1
|
-
import { hmac, md } from "node-forge";
|
|
2
|
-
import _, { camelCase } from "lodash";
|
|
3
|
-
import BigNumber from "bignumber.js";
|
|
4
|
-
import { crypto } from "./crypto";
|
|
5
|
-
import { base64url } from "rfc4648";
|
|
6
|
-
import moment from "moment";
|
|
7
|
-
export const MINUTES = 60;
|
|
8
|
-
export const HOURS = 60 * MINUTES;
|
|
9
|
-
export const DAYS = 24 * HOURS;
|
|
10
|
-
export const WEEK = 7 * DAYS;
|
|
11
|
-
export function unix() {
|
|
12
|
-
return new Date().getTime() / 1000;
|
|
13
|
-
}
|
|
14
|
-
export function strToArray(str) {
|
|
15
|
-
return str.split('').map((char) => char.charCodeAt(0));
|
|
16
|
-
}
|
|
17
|
-
export function base64UrlEncode(str) {
|
|
18
|
-
return base64url.stringify(strToArray(str), { pad: false });
|
|
19
|
-
}
|
|
20
|
-
export function base64UrlDecode(str) {
|
|
21
|
-
return String.fromCharCode.apply(null, base64url.parse(str, { loose: true }));
|
|
22
|
-
}
|
|
23
|
-
export function sha256hexdigest(str) {
|
|
24
|
-
const digest = md.sha256.create();
|
|
25
|
-
digest.update(str);
|
|
26
|
-
return digest.digest().toHex();
|
|
27
|
-
}
|
|
28
|
-
export function signHMAC(dataToSign, secret, format = "hex") {
|
|
29
|
-
const digest = hmac.create();
|
|
30
|
-
digest.start("sha256", secret);
|
|
31
|
-
digest.update(dataToSign);
|
|
32
|
-
const result = digest.digest();
|
|
33
|
-
switch (format) {
|
|
34
|
-
case "base64url":
|
|
35
|
-
return base64UrlEncode(result.data);
|
|
36
|
-
default:
|
|
37
|
-
return result.toHex();
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
export function createJWT(payload, secret = undefined) {
|
|
41
|
-
return crypto.createJWT(payload, secret);
|
|
42
|
-
}
|
|
43
|
-
export function parseJWT(jwt) {
|
|
44
|
-
return crypto.parseJWT(jwt);
|
|
45
|
-
}
|
|
46
|
-
export function jwkToPublicKey(jwk) {
|
|
47
|
-
return crypto.jwkToPublicKey(jwk);
|
|
48
|
-
}
|
|
49
|
-
export function encryptPayload(payload, publicKey) {
|
|
50
|
-
return crypto.encryptPayload(payload, publicKey);
|
|
51
|
-
}
|
|
52
|
-
export function camelize(value) {
|
|
53
|
-
if (Array.isArray(value)) {
|
|
54
|
-
return value.map(camelize);
|
|
55
|
-
}
|
|
56
|
-
if (value && typeof value === 'object' && value.constructor === Object) {
|
|
57
|
-
const obj = {};
|
|
58
|
-
const keys = Object.keys(value);
|
|
59
|
-
const len = keys.length;
|
|
60
|
-
for (let i = 0; i < len; i += 1) {
|
|
61
|
-
obj[camelCase(keys[i])] = camelize(value[keys[i]]);
|
|
62
|
-
}
|
|
63
|
-
return obj;
|
|
64
|
-
}
|
|
65
|
-
return value;
|
|
66
|
-
}
|
|
67
|
-
export function jwtExpired(token) {
|
|
68
|
-
if (!token) {
|
|
69
|
-
return true;
|
|
70
|
-
}
|
|
71
|
-
try {
|
|
72
|
-
let jwt = JSON.parse(base64UrlDecode(token.split(".")[1]));
|
|
73
|
-
return jwt.exp < unix();
|
|
74
|
-
}
|
|
75
|
-
catch (error) {
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
export function throwNull2NonNull(d) {
|
|
80
|
-
return errorHelper("root", d, "non-nullable object", false);
|
|
81
|
-
}
|
|
82
|
-
export function throwNotObject(d, nullable) {
|
|
83
|
-
return errorHelper("root", d, "object", nullable);
|
|
84
|
-
}
|
|
85
|
-
export function throwIsArray(d, nullable) {
|
|
86
|
-
return errorHelper("root", d, "object", nullable);
|
|
87
|
-
}
|
|
88
|
-
export function checkArray(d, field) {
|
|
89
|
-
if (!Array.isArray(d) && d !== null && d !== undefined) {
|
|
90
|
-
errorHelper(field, d, "array", true);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
export function checkNumber(d, nullable, field) {
|
|
94
|
-
if (typeof (d) === 'string') {
|
|
95
|
-
if (!d.match(/\d+(\.\d+)?/)) {
|
|
96
|
-
errorHelper(field, d, "string", nullable);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
else if (typeof (d) !== 'number' && (!nullable || (nullable && d !== null && d !== undefined))) {
|
|
100
|
-
errorHelper(field, d, "number", nullable);
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
export function checkBigNumber(d, nullable, field) {
|
|
104
|
-
if (typeof (d) === 'string') {
|
|
105
|
-
if (!d.match(/\d+(\.\d+)?/)) {
|
|
106
|
-
errorHelper(field, d, "number", nullable);
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
else if (typeof (d) !== 'number' && (!nullable || (nullable && d !== null && d !== undefined))) {
|
|
110
|
-
errorHelper(field, d, "number", nullable);
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
export function checkBoolean(d, nullable, field) {
|
|
114
|
-
if (typeof (d) !== 'boolean' && (!nullable || (nullable && d !== null && d !== undefined))) {
|
|
115
|
-
errorHelper(field, d, "boolean", nullable);
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
export function checkString(d, nullable, field) {
|
|
119
|
-
if (typeof (d) !== 'string' && (!nullable || (nullable && d !== null && d !== undefined))) {
|
|
120
|
-
errorHelper(field, d, "string", nullable);
|
|
121
|
-
}
|
|
122
|
-
}
|
|
123
|
-
export function checkNull(d, field) {
|
|
124
|
-
if (d !== null && d !== undefined) {
|
|
125
|
-
errorHelper(field, d, "null or undefined", false);
|
|
126
|
-
}
|
|
127
|
-
}
|
|
128
|
-
export function errorHelper(field, d, type, nullable) {
|
|
129
|
-
if (nullable) {
|
|
130
|
-
type += ", null, or undefined";
|
|
131
|
-
}
|
|
132
|
-
throw new TypeError('Expected ' + type + " at " + field + " but found:\n" + JSON.stringify(d));
|
|
133
|
-
}
|
|
134
|
-
export function safeBigNumber(d) {
|
|
135
|
-
if (BigNumber.isBigNumber(d)) {
|
|
136
|
-
return d;
|
|
137
|
-
}
|
|
138
|
-
else if (!d) {
|
|
139
|
-
return new BigNumber("0");
|
|
140
|
-
}
|
|
141
|
-
return new BigNumber(d);
|
|
142
|
-
}
|
|
143
|
-
export function correctNumberPrecision(precision, value) {
|
|
144
|
-
return new BigNumber(value).toFixed(precision > 0 ? precision : 0);
|
|
145
|
-
}
|
|
146
|
-
export function safeFloat(d) {
|
|
147
|
-
if (typeof (d) === 'number') {
|
|
148
|
-
return d;
|
|
149
|
-
}
|
|
150
|
-
else {
|
|
151
|
-
return parseFloat(d);
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
export function safeInteger(d) {
|
|
155
|
-
if (typeof (d) === 'number') {
|
|
156
|
-
return d;
|
|
157
|
-
}
|
|
158
|
-
else {
|
|
159
|
-
return parseInt(d);
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
export function safeTime(d) {
|
|
163
|
-
let time = safeFloat(d);
|
|
164
|
-
if (time < (Math.pow(10, 10))) {
|
|
165
|
-
time = time * 1000;
|
|
166
|
-
}
|
|
167
|
-
return new Date(time);
|
|
168
|
-
}
|
|
169
|
-
export function resolutionToDuration(resolution) {
|
|
170
|
-
switch (resolution.toString().toUpperCase()) {
|
|
171
|
-
case "1S":
|
|
172
|
-
return 1;
|
|
173
|
-
case "2S":
|
|
174
|
-
return 2;
|
|
175
|
-
case "3S":
|
|
176
|
-
return 3;
|
|
177
|
-
case "5S":
|
|
178
|
-
return 5;
|
|
179
|
-
case "10S":
|
|
180
|
-
return 10;
|
|
181
|
-
case "15S":
|
|
182
|
-
return 15;
|
|
183
|
-
case "30S":
|
|
184
|
-
return 30;
|
|
185
|
-
case "1":
|
|
186
|
-
return MINUTES;
|
|
187
|
-
case "2":
|
|
188
|
-
return MINUTES * 2;
|
|
189
|
-
case "3":
|
|
190
|
-
return MINUTES * 3;
|
|
191
|
-
case "5":
|
|
192
|
-
return MINUTES * 5;
|
|
193
|
-
case "10":
|
|
194
|
-
return MINUTES * 10;
|
|
195
|
-
case "15":
|
|
196
|
-
return MINUTES * 15;
|
|
197
|
-
case "30":
|
|
198
|
-
return MINUTES * 30;
|
|
199
|
-
case "60":
|
|
200
|
-
return MINUTES * 60;
|
|
201
|
-
case "120":
|
|
202
|
-
return MINUTES * 120;
|
|
203
|
-
case "240":
|
|
204
|
-
return MINUTES * 240;
|
|
205
|
-
case "360":
|
|
206
|
-
return MINUTES * 360;
|
|
207
|
-
case "720":
|
|
208
|
-
return MINUTES * 720;
|
|
209
|
-
case "D":
|
|
210
|
-
case "1D":
|
|
211
|
-
return DAYS;
|
|
212
|
-
case "3D":
|
|
213
|
-
return DAYS * 3;
|
|
214
|
-
case "W":
|
|
215
|
-
return WEEK;
|
|
216
|
-
case "1W":
|
|
217
|
-
return WEEK;
|
|
218
|
-
case "2W":
|
|
219
|
-
return WEEK * 2;
|
|
220
|
-
case "1M":
|
|
221
|
-
return DAYS * 30;
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
export const toSafeDate = (timeOrDate) => {
|
|
225
|
-
return typeof timeOrDate === "object" ? timeOrDate : new Date(timeOrDate * 1000);
|
|
226
|
-
};
|
|
227
|
-
export const toBucketEnd = (date, resolution) => {
|
|
228
|
-
date = moment.utc(toSafeDate(date));
|
|
229
|
-
switch (resolution) {
|
|
230
|
-
case "1":
|
|
231
|
-
case "2":
|
|
232
|
-
case "3":
|
|
233
|
-
return date.endOf("day").unix();
|
|
234
|
-
case "5":
|
|
235
|
-
case "10":
|
|
236
|
-
case "15":
|
|
237
|
-
return date.endOf("isoWeek").unix();
|
|
238
|
-
case "30":
|
|
239
|
-
case "60":
|
|
240
|
-
case "120":
|
|
241
|
-
return date.endOf("month").unix();
|
|
242
|
-
case "240":
|
|
243
|
-
case "360":
|
|
244
|
-
case "720":
|
|
245
|
-
case "D":
|
|
246
|
-
case "1D":
|
|
247
|
-
return date.endOf("year").unix();
|
|
248
|
-
}
|
|
249
|
-
};
|
|
250
|
-
export const toBucketStart = (date, resolution) => {
|
|
251
|
-
date = moment.utc(toSafeDate(date));
|
|
252
|
-
switch (resolution) {
|
|
253
|
-
case "1":
|
|
254
|
-
case "2":
|
|
255
|
-
case "3":
|
|
256
|
-
return date.startOf("day").unix();
|
|
257
|
-
case "5":
|
|
258
|
-
case "10":
|
|
259
|
-
case "15":
|
|
260
|
-
return date.startOf("isoWeek").unix();
|
|
261
|
-
case "30":
|
|
262
|
-
case "60":
|
|
263
|
-
case "120":
|
|
264
|
-
return date.startOf("month").unix();
|
|
265
|
-
case "240":
|
|
266
|
-
case "360":
|
|
267
|
-
case "720":
|
|
268
|
-
case "D":
|
|
269
|
-
case "1D":
|
|
270
|
-
return date.startOf("year").unix();
|
|
271
|
-
}
|
|
272
|
-
};
|
|
273
|
-
export function resolutionToBucketType(resolution) {
|
|
274
|
-
switch (resolution) {
|
|
275
|
-
case "1":
|
|
276
|
-
case "2":
|
|
277
|
-
case "3":
|
|
278
|
-
return "day";
|
|
279
|
-
case "5":
|
|
280
|
-
case "10":
|
|
281
|
-
case "15":
|
|
282
|
-
return "week";
|
|
283
|
-
case "30":
|
|
284
|
-
case "60":
|
|
285
|
-
case "120":
|
|
286
|
-
return "month";
|
|
287
|
-
case "240":
|
|
288
|
-
case "360":
|
|
289
|
-
case "720":
|
|
290
|
-
case "D":
|
|
291
|
-
case "1D":
|
|
292
|
-
return "year";
|
|
293
|
-
default:
|
|
294
|
-
throw new Error(`Unsupported resolution: ${resolution}`);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
export function getTimeParams(bucketType, date) {
|
|
298
|
-
let momentDate = moment(toSafeDate(date));
|
|
299
|
-
let timeParams;
|
|
300
|
-
switch (bucketType) {
|
|
301
|
-
case "day":
|
|
302
|
-
timeParams = { year: momentDate.year(), month: momentDate.month() + 1, day: momentDate.date() };
|
|
303
|
-
break;
|
|
304
|
-
case "week":
|
|
305
|
-
timeParams = { year: momentDate.isoWeekYear(), week: momentDate.isoWeek() };
|
|
306
|
-
break;
|
|
307
|
-
case "month":
|
|
308
|
-
timeParams = { year: momentDate.year(), month: momentDate.month() + 1 };
|
|
309
|
-
break;
|
|
310
|
-
case "year":
|
|
311
|
-
timeParams = { year: momentDate.year() };
|
|
312
|
-
break;
|
|
313
|
-
default:
|
|
314
|
-
throw new Error(`Unsupported bucketType: ${bucketType}`);
|
|
315
|
-
}
|
|
316
|
-
return timeParams;
|
|
317
|
-
}
|
|
318
|
-
export function getBucketStartDates(startTime, endTime, bucketType) {
|
|
319
|
-
const dates = [];
|
|
320
|
-
let current = moment.utc(endTime * 1000);
|
|
321
|
-
const toBucketStart = (date) => {
|
|
322
|
-
switch (bucketType) {
|
|
323
|
-
case "day":
|
|
324
|
-
return date.startOf("day");
|
|
325
|
-
case "week":
|
|
326
|
-
return date.startOf("isoWeek");
|
|
327
|
-
case "month":
|
|
328
|
-
return date.startOf("month");
|
|
329
|
-
case "year":
|
|
330
|
-
return date.startOf("year");
|
|
331
|
-
default:
|
|
332
|
-
throw new Error(`Unsupported bucketType: ${bucketType}`);
|
|
333
|
-
}
|
|
334
|
-
};
|
|
335
|
-
const decrementBucket = (date) => {
|
|
336
|
-
switch (bucketType) {
|
|
337
|
-
case "day":
|
|
338
|
-
return date.subtract(1, "day");
|
|
339
|
-
case "week":
|
|
340
|
-
return date.subtract(1, "week");
|
|
341
|
-
case "month":
|
|
342
|
-
return date.subtract(1, "month");
|
|
343
|
-
case "year":
|
|
344
|
-
return date.subtract(1, "year");
|
|
345
|
-
default:
|
|
346
|
-
throw new Error(`Unsupported bucketType: ${bucketType}`);
|
|
347
|
-
}
|
|
348
|
-
};
|
|
349
|
-
let bucketStart = toBucketStart(current);
|
|
350
|
-
const startMoment = toBucketStart(moment.utc(startTime * 1000));
|
|
351
|
-
while (bucketStart >= startMoment) {
|
|
352
|
-
dates.push(bucketStart.clone());
|
|
353
|
-
bucketStart = decrementBucket(bucketStart);
|
|
354
|
-
}
|
|
355
|
-
return dates;
|
|
356
|
-
}
|
|
357
|
-
export function candleTime(slotsAgo, resolution, date) {
|
|
358
|
-
let timeSpan = resolutionToDuration(resolution);
|
|
359
|
-
let time = typeof date === "object" ? date.getTime() / 1000 : date;
|
|
360
|
-
return (Math.floor(time / timeSpan) * timeSpan) - (timeSpan * (slotsAgo - 1));
|
|
361
|
-
}
|
|
362
|
-
export function filterMarkets(markets, marketQuery) {
|
|
363
|
-
let queries = marketQuery;
|
|
364
|
-
if (typeof (marketQuery) === "string") {
|
|
365
|
-
queries = [{ query: marketQuery, marketProperty: "fullDisplayName" }];
|
|
366
|
-
}
|
|
367
|
-
else if (!Array.isArray(marketQuery)) {
|
|
368
|
-
queries = [marketQuery];
|
|
369
|
-
}
|
|
370
|
-
else {
|
|
371
|
-
queries = marketQuery.map((q) => {
|
|
372
|
-
if (typeof (q) === "string") {
|
|
373
|
-
return { query: q, marketProperty: "fullDisplayName" };
|
|
374
|
-
}
|
|
375
|
-
else if (!Array.isArray(q)) {
|
|
376
|
-
return q;
|
|
377
|
-
}
|
|
378
|
-
});
|
|
379
|
-
}
|
|
380
|
-
if (queries.length === 0 || !queries.find(({ query }) => !!query && !!query.length)) {
|
|
381
|
-
return markets;
|
|
382
|
-
}
|
|
383
|
-
let filteredMarkets = markets;
|
|
384
|
-
queries.forEach(({ query, marketProperty }) => {
|
|
385
|
-
let matcher;
|
|
386
|
-
if (query.match(/[-_:\/\\]+/)) {
|
|
387
|
-
try {
|
|
388
|
-
matcher = new RegExp(query.replace(/\*/g, ".*"), "i");
|
|
389
|
-
}
|
|
390
|
-
catch (error) {
|
|
391
|
-
// Do nothing
|
|
392
|
-
}
|
|
393
|
-
}
|
|
394
|
-
const keywords = query.toLowerCase().split(/[\s]+/).filter(Boolean);
|
|
395
|
-
filteredMarkets = _.pickBy(filteredMarkets, (market, key) => {
|
|
396
|
-
const matchTo = market[marketProperty].toLowerCase();
|
|
397
|
-
if (matcher && marketProperty === "fullDisplayName") {
|
|
398
|
-
return !!matcher.exec(market[marketProperty]);
|
|
399
|
-
}
|
|
400
|
-
return keywords.filter((keyword) => {
|
|
401
|
-
return matchTo.includes(keyword);
|
|
402
|
-
}).length === keywords.length;
|
|
403
|
-
});
|
|
404
|
-
});
|
|
405
|
-
return filteredMarkets;
|
|
406
|
-
}
|
|
407
|
-
//# sourceMappingURL=util.js.map
|
package/dist/util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../lib/util.ts"],"names":[],"mappings":"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"}
|