wenay-common 1.0.21 → 1.0.22
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/lib/{srcClient/index.js → index.js} +16 -16
- package/package.json +5 -1
- package/lib/src/Common/BaseTypes.d.ts +0 -38
- package/lib/src/Common/BaseTypes.js +0 -3
- package/lib/src/Common/BaseTypes.js.map +0 -1
- package/lib/src/Common/ByteStream.d.ts +0 -96
- package/lib/src/Common/ByteStream.js +0 -427
- package/lib/src/Common/ByteStream.js.map +0 -1
- package/lib/src/Common/Color.d.ts +0 -26
- package/lib/src/Common/Color.js +0 -52
- package/lib/src/Common/Color.js.map +0 -1
- package/lib/src/Common/Common.d.ts +0 -232
- package/lib/src/Common/Common.js +0 -615
- package/lib/src/Common/Common.js.map +0 -1
- package/lib/src/Common/List.d.ts +0 -64
- package/lib/src/Common/List.js +0 -194
- package/lib/src/Common/List.js.map +0 -1
- package/lib/src/Common/ListNodeAnd.d.ts +0 -46
- package/lib/src/Common/ListNodeAnd.js +0 -90
- package/lib/src/Common/ListNodeAnd.js.map +0 -1
- package/lib/src/Common/Math.d.ts +0 -27
- package/lib/src/Common/Math.js +0 -71
- package/lib/src/Common/Math.js.map +0 -1
- package/lib/src/Common/Time.d.ts +0 -181
- package/lib/src/Common/Time.js +0 -356
- package/lib/src/Common/Time.js.map +0 -1
- package/lib/src/Exchange/Bars.d.ts +0 -182
- package/lib/src/Exchange/Bars.js +0 -454
- package/lib/src/Exchange/Bars.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.d.ts +0 -28
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.js +0 -9
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/base.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.d.ts +0 -600
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.js +0 -356
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/spot.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.d.ts +0 -4
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.js +0 -108
- package/lib/src/Exchange/ConnectData/Binance/BinanceLib/type.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/commonOrder.d.ts +0 -1
- package/lib/src/Exchange/ConnectData/Binance/commonOrder.js +0 -9
- package/lib/src/Exchange/ConnectData/Binance/commonOrder.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.d.ts +0 -22
- package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.js +0 -44
- package/lib/src/Exchange/ConnectData/Binance/funcTimeWait.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/interfaces.d.ts +0 -345
- package/lib/src/Exchange/ConnectData/Binance/interfaces.js +0 -3
- package/lib/src/Exchange/ConnectData/Binance/interfaces.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/order.d.ts +0 -204
- package/lib/src/Exchange/ConnectData/Binance/order.js +0 -417
- package/lib/src/Exchange/ConnectData/Binance/order.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/signatureCoder.d.ts +0 -14
- package/lib/src/Exchange/ConnectData/Binance/signatureCoder.js +0 -26
- package/lib/src/Exchange/ConnectData/Binance/signatureCoder.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance/use.d.ts +0 -44
- package/lib/src/Exchange/ConnectData/Binance/use.js +0 -90
- package/lib/src/Exchange/ConnectData/Binance/use.js.map +0 -1
- package/lib/src/Exchange/ConnectData/Binance.d.ts +0 -122
- package/lib/src/Exchange/ConnectData/Binance.js +0 -514
- package/lib/src/Exchange/ConnectData/Binance.js.map +0 -1
- package/lib/src/Exchange/IHistoryBase.d.ts +0 -157
- package/lib/src/Exchange/IHistoryBase.js +0 -3
- package/lib/src/Exchange/IHistoryBase.js.map +0 -1
- package/lib/src/Exchange/LoadBase.d.ts +0 -59
- package/lib/src/Exchange/LoadBase.js +0 -103
- package/lib/src/Exchange/LoadBase.js.map +0 -1
- package/lib/src/Exchange/MarketData.d.ts +0 -78
- package/lib/src/Exchange/MarketData.js +0 -358
- package/lib/src/Exchange/MarketData.js.map +0 -1
- package/lib/src/Exchange/mini.d.ts +0 -68
- package/lib/src/Exchange/mini.js +0 -3
- package/lib/src/Exchange/mini.js.map +0 -1
- package/lib/srcClient/index.d.ts +0 -15
- package/lib/srcClient/index.js.map +0 -1
- package/lib/srcServer/index.d.ts +0 -16
- package/lib/srcServer/index.js +0 -40
- package/lib/srcServer/index.js.map +0 -1
package/lib/src/Common/Time.d.ts
DELETED
|
@@ -1,181 +0,0 @@
|
|
|
1
|
-
import { const_Date } from "./BaseTypes";
|
|
2
|
-
declare enum __E_TF {
|
|
3
|
-
S1 = 1,
|
|
4
|
-
S2 = 2,
|
|
5
|
-
S3 = 3,
|
|
6
|
-
S4 = 4,
|
|
7
|
-
S5 = 5,
|
|
8
|
-
S6 = 6,
|
|
9
|
-
S10 = 7,
|
|
10
|
-
S12 = 8,
|
|
11
|
-
S15 = 9,
|
|
12
|
-
S20 = 10,
|
|
13
|
-
S30 = 11,
|
|
14
|
-
M1 = 12,
|
|
15
|
-
M2 = 13,
|
|
16
|
-
M3 = 14,
|
|
17
|
-
M4 = 15,
|
|
18
|
-
M5 = 16,
|
|
19
|
-
M6 = 17,
|
|
20
|
-
M10 = 18,
|
|
21
|
-
M12 = 19,
|
|
22
|
-
M15 = 20,
|
|
23
|
-
M20 = 21,
|
|
24
|
-
M30 = 22,
|
|
25
|
-
H1 = 23,
|
|
26
|
-
H2 = 24,
|
|
27
|
-
H3 = 25,
|
|
28
|
-
H4 = 26,
|
|
29
|
-
H6 = 27,
|
|
30
|
-
H8 = 28,
|
|
31
|
-
H12 = 29,
|
|
32
|
-
D1 = 30,
|
|
33
|
-
W1 = 31
|
|
34
|
-
}
|
|
35
|
-
export declare const H1_S = 3600;
|
|
36
|
-
export declare const D1_S: number;
|
|
37
|
-
export declare const W1_S: number;
|
|
38
|
-
export declare const W1_MS: number;
|
|
39
|
-
export declare const D1_MS: number;
|
|
40
|
-
export declare const H1_MS: number;
|
|
41
|
-
export declare const M1_MS: number;
|
|
42
|
-
export interface IPeriod {
|
|
43
|
-
readonly msec: number;
|
|
44
|
-
readonly name: string;
|
|
45
|
-
}
|
|
46
|
-
type __E_TF_KEY = keyof typeof __E_TF;
|
|
47
|
-
export declare class TIME_UNIT {
|
|
48
|
-
readonly index: number;
|
|
49
|
-
readonly msec: number;
|
|
50
|
-
readonly sec: number;
|
|
51
|
-
readonly name: string;
|
|
52
|
-
readonly sign: string;
|
|
53
|
-
private static _lastIndex;
|
|
54
|
-
private constructor();
|
|
55
|
-
static readonly MSecond: TIME_UNIT;
|
|
56
|
-
static readonly Second: TIME_UNIT;
|
|
57
|
-
static readonly Minute: TIME_UNIT;
|
|
58
|
-
static readonly Hour: TIME_UNIT;
|
|
59
|
-
static readonly Day: TIME_UNIT;
|
|
60
|
-
static readonly Week: TIME_UNIT;
|
|
61
|
-
readonly [key: number]: void;
|
|
62
|
-
}
|
|
63
|
-
declare type Nominal<T, Name extends string> = T & {
|
|
64
|
-
readonly [Symbol.species]: Name;
|
|
65
|
-
};
|
|
66
|
-
export type TFIndex = Nominal<number, 'TFIndex'>;
|
|
67
|
-
export declare class TF implements IPeriod {
|
|
68
|
-
readonly sec: number;
|
|
69
|
-
readonly msec: number;
|
|
70
|
-
readonly name: string;
|
|
71
|
-
readonly unit: TIME_UNIT;
|
|
72
|
-
readonly unitCount: number;
|
|
73
|
-
readonly index: TFIndex;
|
|
74
|
-
readonly [key: number]: void;
|
|
75
|
-
valueOf(): number;
|
|
76
|
-
toString(): string;
|
|
77
|
-
private constructor();
|
|
78
|
-
static get<T extends string>(name: T): TF | (T extends __E_TF_KEY ? never : null);
|
|
79
|
-
static getAsserted(name: string): TF;
|
|
80
|
-
static fromName<T extends string>(name: T): TF | (T extends "S1" | "S2" | "S3" | "S4" | "S5" | "S6" | "S10" | "S12" | "S15" | "S20" | "S30" | "M1" | "M2" | "M3" | "M4" | "M5" | "M6" | "M10" | "M12" | "M15" | "M20" | "M30" | "H1" | "H2" | "H3" | "H4" | "H6" | "H8" | "H12" | "D1" | "W1" ? never : null);
|
|
81
|
-
static fromSec(value: number): TF | null;
|
|
82
|
-
static readonly all: readonly TF[];
|
|
83
|
-
private static readonly _mapBySec;
|
|
84
|
-
static readonly S1: TF;
|
|
85
|
-
static readonly S2: TF;
|
|
86
|
-
static readonly S3: TF;
|
|
87
|
-
static readonly S4: TF;
|
|
88
|
-
static readonly S5: TF;
|
|
89
|
-
static readonly S6: TF;
|
|
90
|
-
static readonly S10: TF;
|
|
91
|
-
static readonly S12: TF;
|
|
92
|
-
static readonly S15: TF;
|
|
93
|
-
static readonly S20: TF;
|
|
94
|
-
static readonly S30: TF;
|
|
95
|
-
static readonly M1: TF;
|
|
96
|
-
static readonly M2: TF;
|
|
97
|
-
static readonly M3: TF;
|
|
98
|
-
static readonly M4: TF;
|
|
99
|
-
static readonly M5: TF;
|
|
100
|
-
static readonly M6: TF;
|
|
101
|
-
static readonly M10: TF;
|
|
102
|
-
static readonly M12: TF;
|
|
103
|
-
static readonly M15: TF;
|
|
104
|
-
static readonly M20: TF;
|
|
105
|
-
static readonly M30: TF;
|
|
106
|
-
static readonly H1: TF;
|
|
107
|
-
static readonly H2: TF;
|
|
108
|
-
static readonly H3: TF;
|
|
109
|
-
static readonly H4: TF;
|
|
110
|
-
static readonly H6: TF;
|
|
111
|
-
static readonly H8: TF;
|
|
112
|
-
static readonly H12: TF;
|
|
113
|
-
static readonly D1: TF;
|
|
114
|
-
static readonly W1: TF;
|
|
115
|
-
static min(): never;
|
|
116
|
-
static min(...args: [TF, ...TF[]] | [[TF, ...TF[]]]): TF;
|
|
117
|
-
static min(...args: TF[] | [Iterable<TF>]): TF | null;
|
|
118
|
-
static max(): never;
|
|
119
|
-
static max(...args: [TF, ...TF[]] | [[TF, ...TF[]]]): TF;
|
|
120
|
-
static max(...args: TF[] | [Iterable<TF>]): TF | null;
|
|
121
|
-
}
|
|
122
|
-
declare class MyDate extends Date {
|
|
123
|
-
ToShiftedMsTime(shiftMs: number): Date;
|
|
124
|
-
}
|
|
125
|
-
export type MyDate_const = Omit<MyDate, keyof Date> & const_Date;
|
|
126
|
-
export declare class PeriodSpan {
|
|
127
|
-
readonly period: Period;
|
|
128
|
-
readonly index: number;
|
|
129
|
-
readonly [key: number]: void;
|
|
130
|
-
constructor(period: Period | TF, indexOrTime: number | const_Date);
|
|
131
|
-
next(): PeriodSpan;
|
|
132
|
-
prev(): PeriodSpan;
|
|
133
|
-
get startTime(): MyDate;
|
|
134
|
-
get endTime(): Date;
|
|
135
|
-
}
|
|
136
|
-
export declare class Period implements IPeriod {
|
|
137
|
-
readonly tf: TF;
|
|
138
|
-
get sec(): number;
|
|
139
|
-
get msec(): number;
|
|
140
|
-
get name(): string;
|
|
141
|
-
valueOf(): number;
|
|
142
|
-
readonly [key: number]: PeriodSpan;
|
|
143
|
-
span(time: const_Date): PeriodSpan;
|
|
144
|
-
constructor(tf: TF);
|
|
145
|
-
static Seconds(tf: TF): number;
|
|
146
|
-
static Name(tf: TF): string;
|
|
147
|
-
IndexFromTime(time: const_Date): number;
|
|
148
|
-
getStartTime(currentTime: const_Date): MyDate;
|
|
149
|
-
static StartTimeForIndex(tf: TF, index: number): MyDate;
|
|
150
|
-
private static getW1Shift_ms;
|
|
151
|
-
static IndexFromTime(tf: TF, time: const_Date): number;
|
|
152
|
-
static StartTime(tf: TF, currentTime: const_Date, shiftPeriods?: number): MyDate;
|
|
153
|
-
static EndTime(tf: TF, currentTime: const_Date): Date;
|
|
154
|
-
}
|
|
155
|
-
export declare function timeToStr_hhmmss_ms(date: const_Date): string;
|
|
156
|
-
export declare function timeToStr_hhmmss(date: const_Date): string;
|
|
157
|
-
export declare function timeToStr_yyyymmdd_hhmm(date: const_Date, dateDelim?: string): string;
|
|
158
|
-
export declare function timeToStr_yyyymmdd_hhmmss(date: const_Date, dateDelim?: string): string;
|
|
159
|
-
export declare function timeToStr_yyyymmdd_hhmmss_ms(date: const_Date, dateDelim?: string): string;
|
|
160
|
-
export declare function timeLocalToStr_hhmmss(date: const_Date): string;
|
|
161
|
-
export declare function timeLocalToStr_hhmmss_ms(date: const_Date): string;
|
|
162
|
-
export declare function timeLocalToStr_yyyymmdd(date: const_Date, dateDelim?: string): string;
|
|
163
|
-
export declare function timeLocalToStr_yyyymmdd_hhmm(date: const_Date, dateDelim?: string): string;
|
|
164
|
-
export declare function timeLocalToStr_yyyymmdd_hhmmss(date: const_Date, dateDelim?: string): string;
|
|
165
|
-
export declare function timeLocalToStr_yyyymmdd_hhmmss_ms(date: const_Date, dateDelim?: string): string;
|
|
166
|
-
export declare function timeToString_yyyymmdd_hhmm_offset(date: const_Date): string;
|
|
167
|
-
export declare function timeToString_yyyymmdd_hhmmss_offset(date: const_Date): string;
|
|
168
|
-
export declare function convertDatesToStrings(arg: any): any;
|
|
169
|
-
export declare function toPrintObject(arg: any): any;
|
|
170
|
-
export declare function durationToStr(duration_ms: number): string;
|
|
171
|
-
export declare function durationToStrNullable(duration_ms: number | null | undefined): string | null;
|
|
172
|
-
export declare function durationToStr_h_mm_ss(duration_ms: number): string;
|
|
173
|
-
export declare function durationToStr_h_mm_ss_ms(duration_ms: number): string;
|
|
174
|
-
export declare class CDelayer {
|
|
175
|
-
protected remainPause: number;
|
|
176
|
-
sleepAsync(pause_ms_getter: () => number | null): Promise<void>;
|
|
177
|
-
}
|
|
178
|
-
type NullableTime = const_Date | undefined | null;
|
|
179
|
-
export declare function MinTime<T1 extends NullableTime, T2 extends NullableTime>(time1: T1, time2: T2): T1 | NonNullable<T2>;
|
|
180
|
-
export declare function MaxTime<T1 extends NullableTime, T2 extends NullableTime>(time1: T1, time2: T2): T1 | NonNullable<T2>;
|
|
181
|
-
export {};
|
package/lib/src/Common/Time.js
DELETED
|
@@ -1,356 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MaxTime = exports.MinTime = exports.CDelayer = exports.durationToStr_h_mm_ss_ms = exports.durationToStr_h_mm_ss = exports.durationToStrNullable = exports.durationToStr = exports.toPrintObject = exports.convertDatesToStrings = exports.timeToString_yyyymmdd_hhmmss_offset = exports.timeToString_yyyymmdd_hhmm_offset = exports.timeLocalToStr_yyyymmdd_hhmmss_ms = exports.timeLocalToStr_yyyymmdd_hhmmss = exports.timeLocalToStr_yyyymmdd_hhmm = exports.timeLocalToStr_yyyymmdd = exports.timeLocalToStr_hhmmss_ms = exports.timeLocalToStr_hhmmss = exports.timeToStr_yyyymmdd_hhmmss_ms = exports.timeToStr_yyyymmdd_hhmmss = exports.timeToStr_yyyymmdd_hhmm = exports.timeToStr_hhmmss = exports.timeToStr_hhmmss_ms = exports.Period = exports.PeriodSpan = exports.TF = exports.TIME_UNIT = exports.M1_MS = exports.H1_MS = exports.D1_MS = exports.W1_MS = exports.W1_S = exports.D1_S = exports.H1_S = void 0;
|
|
4
|
-
const Common_1 = require("./Common");
|
|
5
|
-
function GetEnumKeys(T) { return Object.keys(T).filter(k => isNaN(k)); }
|
|
6
|
-
var __E_TF;
|
|
7
|
-
(function (__E_TF) {
|
|
8
|
-
__E_TF[__E_TF["S1"] = 1] = "S1";
|
|
9
|
-
__E_TF[__E_TF["S2"] = 2] = "S2";
|
|
10
|
-
__E_TF[__E_TF["S3"] = 3] = "S3";
|
|
11
|
-
__E_TF[__E_TF["S4"] = 4] = "S4";
|
|
12
|
-
__E_TF[__E_TF["S5"] = 5] = "S5";
|
|
13
|
-
__E_TF[__E_TF["S6"] = 6] = "S6";
|
|
14
|
-
__E_TF[__E_TF["S10"] = 7] = "S10";
|
|
15
|
-
__E_TF[__E_TF["S12"] = 8] = "S12";
|
|
16
|
-
__E_TF[__E_TF["S15"] = 9] = "S15";
|
|
17
|
-
__E_TF[__E_TF["S20"] = 10] = "S20";
|
|
18
|
-
__E_TF[__E_TF["S30"] = 11] = "S30";
|
|
19
|
-
__E_TF[__E_TF["M1"] = 12] = "M1";
|
|
20
|
-
__E_TF[__E_TF["M2"] = 13] = "M2";
|
|
21
|
-
__E_TF[__E_TF["M3"] = 14] = "M3";
|
|
22
|
-
__E_TF[__E_TF["M4"] = 15] = "M4";
|
|
23
|
-
__E_TF[__E_TF["M5"] = 16] = "M5";
|
|
24
|
-
__E_TF[__E_TF["M6"] = 17] = "M6";
|
|
25
|
-
__E_TF[__E_TF["M10"] = 18] = "M10";
|
|
26
|
-
__E_TF[__E_TF["M12"] = 19] = "M12";
|
|
27
|
-
__E_TF[__E_TF["M15"] = 20] = "M15";
|
|
28
|
-
__E_TF[__E_TF["M20"] = 21] = "M20";
|
|
29
|
-
__E_TF[__E_TF["M30"] = 22] = "M30";
|
|
30
|
-
__E_TF[__E_TF["H1"] = 23] = "H1";
|
|
31
|
-
__E_TF[__E_TF["H2"] = 24] = "H2";
|
|
32
|
-
__E_TF[__E_TF["H3"] = 25] = "H3";
|
|
33
|
-
__E_TF[__E_TF["H4"] = 26] = "H4";
|
|
34
|
-
__E_TF[__E_TF["H6"] = 27] = "H6";
|
|
35
|
-
__E_TF[__E_TF["H8"] = 28] = "H8";
|
|
36
|
-
__E_TF[__E_TF["H12"] = 29] = "H12";
|
|
37
|
-
__E_TF[__E_TF["D1"] = 30] = "D1";
|
|
38
|
-
__E_TF[__E_TF["W1"] = 31] = "W1";
|
|
39
|
-
})(__E_TF || (__E_TF = {}));
|
|
40
|
-
;
|
|
41
|
-
exports.H1_S = 3600;
|
|
42
|
-
exports.D1_S = 3600 * 24;
|
|
43
|
-
exports.W1_S = exports.D1_S * 7;
|
|
44
|
-
exports.W1_MS = exports.W1_S * 1000;
|
|
45
|
-
exports.D1_MS = exports.D1_S * 1000;
|
|
46
|
-
exports.H1_MS = exports.H1_S * 1000;
|
|
47
|
-
exports.M1_MS = 60 * 1000;
|
|
48
|
-
const __Tf_S = [0, 1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30, 60, 120, 180, 240, 300, 360, 600, 720, 900, 1200, 1800, exports.H1_S, exports.H1_S * 2, exports.H1_S * 3, exports.H1_S * 4, exports.H1_S * 6, exports.H1_S * 8, exports.H1_S * 12, exports.D1_S, exports.W1_S];
|
|
49
|
-
class TIME_UNIT {
|
|
50
|
-
index;
|
|
51
|
-
msec;
|
|
52
|
-
sec;
|
|
53
|
-
name;
|
|
54
|
-
sign;
|
|
55
|
-
static _lastIndex = 0;
|
|
56
|
-
constructor(msec, name, shortName) {
|
|
57
|
-
this.index = ++TIME_UNIT._lastIndex;
|
|
58
|
-
this.msec = msec;
|
|
59
|
-
this.sec = Math.floor(msec / 1000);
|
|
60
|
-
this.name = name;
|
|
61
|
-
this.sign = shortName;
|
|
62
|
-
}
|
|
63
|
-
static MSecond = new TIME_UNIT(1, "millisecond", "MS");
|
|
64
|
-
static Second = new TIME_UNIT(1000, "second", "S");
|
|
65
|
-
static Minute = new TIME_UNIT(60 * 1000, "minute", "M");
|
|
66
|
-
static Hour = new TIME_UNIT(exports.H1_S * 1000, "hour", "H");
|
|
67
|
-
static Day = new TIME_UNIT(exports.D1_S * 1000, "day", "D");
|
|
68
|
-
static Week = new TIME_UNIT(exports.D1_S * 1000 * 7, "week", "W");
|
|
69
|
-
}
|
|
70
|
-
exports.TIME_UNIT = TIME_UNIT;
|
|
71
|
-
class TF {
|
|
72
|
-
sec;
|
|
73
|
-
msec;
|
|
74
|
-
name;
|
|
75
|
-
unit;
|
|
76
|
-
unitCount;
|
|
77
|
-
index;
|
|
78
|
-
valueOf() { return this.msec; }
|
|
79
|
-
toString() { return this.name; }
|
|
80
|
-
constructor(sec, name) {
|
|
81
|
-
this.sec = sec;
|
|
82
|
-
this.name = name;
|
|
83
|
-
this.msec = sec * 1000;
|
|
84
|
-
this.index = __Tf_S.indexOf(sec);
|
|
85
|
-
this.unit = sec % exports.D1_S == 0 ? TIME_UNIT.Day : sec % exports.H1_S == 0 ? TIME_UNIT.Hour : sec % 60 == 0 ? TIME_UNIT.Minute : TIME_UNIT.Second;
|
|
86
|
-
this.unitCount = sec / this.unit.sec;
|
|
87
|
-
}
|
|
88
|
-
static get(name) {
|
|
89
|
-
let key = __E_TF[name];
|
|
90
|
-
if (key)
|
|
91
|
-
return this.all[key];
|
|
92
|
-
return null;
|
|
93
|
-
}
|
|
94
|
-
static getAsserted(name) { return TF.get(name) ?? (() => { throw "Unknown timeframe: " + name; })(); }
|
|
95
|
-
static fromName(name) { return this.get(name); }
|
|
96
|
-
static fromSec(value) { return this._mapBySec[value]; }
|
|
97
|
-
static all = function () {
|
|
98
|
-
let i = 1;
|
|
99
|
-
let arr = [];
|
|
100
|
-
for (let key of GetEnumKeys(__E_TF)) {
|
|
101
|
-
arr[__E_TF[key]] = new TF(__Tf_S[i], key);
|
|
102
|
-
i++;
|
|
103
|
-
}
|
|
104
|
-
return arr;
|
|
105
|
-
}();
|
|
106
|
-
static _mapBySec = function () {
|
|
107
|
-
let map = {};
|
|
108
|
-
for (let i of __Tf_S.keys())
|
|
109
|
-
map[__Tf_S[i]] = TF.all[i];
|
|
110
|
-
return map;
|
|
111
|
-
}();
|
|
112
|
-
static S1 = TF.get("S1");
|
|
113
|
-
static S2 = TF.get("S2");
|
|
114
|
-
static S3 = TF.get("S3");
|
|
115
|
-
static S4 = TF.get("S4");
|
|
116
|
-
static S5 = TF.get("S5");
|
|
117
|
-
static S6 = TF.get("S6");
|
|
118
|
-
static S10 = TF.get("S10");
|
|
119
|
-
static S12 = TF.get("S12");
|
|
120
|
-
static S15 = TF.get("S15");
|
|
121
|
-
static S20 = TF.get("S20");
|
|
122
|
-
static S30 = TF.get("S30");
|
|
123
|
-
static M1 = TF.get("M1");
|
|
124
|
-
static M2 = TF.get("M2");
|
|
125
|
-
static M3 = TF.get("M3");
|
|
126
|
-
static M4 = TF.get("M4");
|
|
127
|
-
static M5 = TF.get("M5");
|
|
128
|
-
static M6 = TF.get("M6");
|
|
129
|
-
static M10 = TF.get("M10");
|
|
130
|
-
static M12 = TF.get("M12");
|
|
131
|
-
static M15 = TF.get("M15");
|
|
132
|
-
static M20 = TF.get("M20");
|
|
133
|
-
static M30 = TF.get("M30");
|
|
134
|
-
static H1 = TF.get("H1");
|
|
135
|
-
static H2 = TF.get("H2");
|
|
136
|
-
static H3 = TF.get("H3");
|
|
137
|
-
static H4 = TF.get("H4");
|
|
138
|
-
static H6 = TF.get("H6");
|
|
139
|
-
static H8 = TF.get("H8");
|
|
140
|
-
static H12 = TF.get("H12");
|
|
141
|
-
static D1 = TF.get("D1");
|
|
142
|
-
static W1 = TF.get("W1");
|
|
143
|
-
static min(...args) {
|
|
144
|
-
let tfs = ((args[0] && !(args[0] instanceof TF)) ? args[0] : args);
|
|
145
|
-
let index = 999;
|
|
146
|
-
for (let tf of tfs)
|
|
147
|
-
if (tf)
|
|
148
|
-
index = Math.min(tf.index, index);
|
|
149
|
-
return index != 999 ? this.all[index] : null;
|
|
150
|
-
}
|
|
151
|
-
static max(...args) {
|
|
152
|
-
let tfs = ((args[0] && !(args[0] instanceof TF)) ? args[0] : args);
|
|
153
|
-
let index = -1;
|
|
154
|
-
for (let tf of tfs)
|
|
155
|
-
if (tf)
|
|
156
|
-
index = Math.max(tf.index, index);
|
|
157
|
-
return index != -1 ? this.all[index] : null;
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
exports.TF = TF;
|
|
161
|
-
function TimeAddMilliseconds(time, shift) { return new Date(time.valueOf() + shift); }
|
|
162
|
-
class MyDate extends Date {
|
|
163
|
-
ToShiftedMsTime(shiftMs) { return TimeAddMilliseconds(this, shiftMs); }
|
|
164
|
-
}
|
|
165
|
-
class PeriodSpan {
|
|
166
|
-
period;
|
|
167
|
-
index;
|
|
168
|
-
constructor(period, indexOrTime) {
|
|
169
|
-
this.period = period instanceof Period ? period : new Period(period);
|
|
170
|
-
this.index = indexOrTime instanceof Date ? this.period.IndexFromTime(indexOrTime) : indexOrTime;
|
|
171
|
-
}
|
|
172
|
-
next() { return new PeriodSpan(this.period, this.index + 1); }
|
|
173
|
-
prev() { return new PeriodSpan(this.period, this.index - 1); }
|
|
174
|
-
get startTime() { return Period.StartTimeForIndex(this.period.tf, this.index); }
|
|
175
|
-
get endTime() { return Period.StartTimeForIndex(this.period.tf, this.index + 1).ToShiftedMsTime(-1); }
|
|
176
|
-
}
|
|
177
|
-
exports.PeriodSpan = PeriodSpan;
|
|
178
|
-
class Period {
|
|
179
|
-
tf;
|
|
180
|
-
get sec() { return this.tf.sec; }
|
|
181
|
-
get msec() { return this.tf.msec; }
|
|
182
|
-
get name() { return this.tf.name; }
|
|
183
|
-
valueOf() { return this.msec; }
|
|
184
|
-
span(time) { return new PeriodSpan(this.tf, time); }
|
|
185
|
-
constructor(tf) { this.tf = tf; return (0, Common_1.CreateArrayProxy)(this, (i) => new PeriodSpan(tf, i)); }
|
|
186
|
-
static Seconds(tf) { return tf.sec; }
|
|
187
|
-
static Name(tf) { return tf.name; }
|
|
188
|
-
IndexFromTime(time) {
|
|
189
|
-
return Period.IndexFromTime(this.tf, time);
|
|
190
|
-
}
|
|
191
|
-
getStartTime(currentTime) { return Period.StartTime(this.tf, currentTime); }
|
|
192
|
-
static StartTimeForIndex(tf, index) {
|
|
193
|
-
let tfmsec = Period.Seconds(tf) * 1000;
|
|
194
|
-
if (tf == TF.W1) {
|
|
195
|
-
return new MyDate(index * exports.W1_MS - this.getW1Shift_ms());
|
|
196
|
-
}
|
|
197
|
-
return new MyDate(index * tfmsec);
|
|
198
|
-
}
|
|
199
|
-
static getW1Shift_ms() {
|
|
200
|
-
const day0 = new Date(0).getUTCDay();
|
|
201
|
-
const tshift = exports.D1_MS * Math.trunc((day0 + 6) % 7);
|
|
202
|
-
return tshift;
|
|
203
|
-
}
|
|
204
|
-
static IndexFromTime(tf, time) {
|
|
205
|
-
if (tf == TF.W1) {
|
|
206
|
-
return Math.floor((time.valueOf() + Period.getW1Shift_ms()) / exports.W1_MS);
|
|
207
|
-
}
|
|
208
|
-
const tfmsec = Period.Seconds(tf) * 1000;
|
|
209
|
-
return Math.floor(time.valueOf() / tfmsec);
|
|
210
|
-
}
|
|
211
|
-
static StartTime(tf, currentTime, shiftPeriods = 0) {
|
|
212
|
-
if (tf == TF.W1) {
|
|
213
|
-
const tshift = Period.getW1Shift_ms();
|
|
214
|
-
return new MyDate(Math.floor((currentTime.valueOf() + tshift) / exports.W1_MS + shiftPeriods) * exports.W1_MS - tshift);
|
|
215
|
-
}
|
|
216
|
-
const tfmsec = Period.Seconds(tf) * 1000;
|
|
217
|
-
return new MyDate(Math.floor(currentTime.valueOf() / tfmsec + shiftPeriods) * tfmsec);
|
|
218
|
-
}
|
|
219
|
-
static EndTime(tf, currentTime) { return Period.StartTime(tf, currentTime, +1).ToShiftedMsTime(-1); }
|
|
220
|
-
}
|
|
221
|
-
exports.Period = Period;
|
|
222
|
-
function str2(n) { return n <= 9 ? '0' + n : '' + n; }
|
|
223
|
-
function str3(n) { return (n <= 9 ? '00' : n <= 99 ? '0' : '') + n; }
|
|
224
|
-
function timeToStr_hhmmss_ms(date) { return str2(date.getUTCHours()) + ":" + str2(date.getUTCMinutes()) + ":" + str2(date.getUTCSeconds()) + "." + str3(date.getUTCMilliseconds()); }
|
|
225
|
-
exports.timeToStr_hhmmss_ms = timeToStr_hhmmss_ms;
|
|
226
|
-
function timeToStr_hhmmss(date) { return str2(date.getUTCHours()) + ":" + str2(date.getUTCMinutes()) + ":" + str2(date.getUTCSeconds()); }
|
|
227
|
-
exports.timeToStr_hhmmss = timeToStr_hhmmss;
|
|
228
|
-
function timeToStr_yyyymmdd_hhmm(date, dateDelim = "-") { return date.getUTCFullYear() + dateDelim + str2(date.getUTCMonth() + 1) + dateDelim + str2(date.getUTCDate()) + " " + str2(date.getUTCHours()) + ":" + str2(date.getUTCMinutes()); }
|
|
229
|
-
exports.timeToStr_yyyymmdd_hhmm = timeToStr_yyyymmdd_hhmm;
|
|
230
|
-
function timeToStr_yyyymmdd_hhmmss(date, dateDelim = "-") { return timeToStr_yyyymmdd_hhmm(date, dateDelim) + ":" + str2(date.getUTCSeconds()); }
|
|
231
|
-
exports.timeToStr_yyyymmdd_hhmmss = timeToStr_yyyymmdd_hhmmss;
|
|
232
|
-
function timeToStr_yyyymmdd_hhmmss_ms(date, dateDelim = "-") { return timeToStr_yyyymmdd_hhmmss(date, dateDelim) + "." + str3(date.getUTCMilliseconds()); }
|
|
233
|
-
exports.timeToStr_yyyymmdd_hhmmss_ms = timeToStr_yyyymmdd_hhmmss_ms;
|
|
234
|
-
function timeLocalToStr_hhmmss(date) { return str2(date.getHours()) + ":" + str2(date.getMinutes()) + ":" + str2(date.getSeconds()); }
|
|
235
|
-
exports.timeLocalToStr_hhmmss = timeLocalToStr_hhmmss;
|
|
236
|
-
function timeLocalToStr_hhmmss_ms(date) { return timeLocalToStr_hhmmss(date) + str3(date.getMilliseconds()); }
|
|
237
|
-
exports.timeLocalToStr_hhmmss_ms = timeLocalToStr_hhmmss_ms;
|
|
238
|
-
function timeLocalToStr_yyyymmdd(date, dateDelim = "-") { return date.getFullYear() + dateDelim + str2(date.getMonth() + 1) + dateDelim + str2(date.getDate()); }
|
|
239
|
-
exports.timeLocalToStr_yyyymmdd = timeLocalToStr_yyyymmdd;
|
|
240
|
-
function timeLocalToStr_yyyymmdd_hhmm(date, dateDelim = "-") { return timeLocalToStr_yyyymmdd(date, dateDelim) + " " + str2(date.getHours()) + ":" + str2(date.getMinutes()); }
|
|
241
|
-
exports.timeLocalToStr_yyyymmdd_hhmm = timeLocalToStr_yyyymmdd_hhmm;
|
|
242
|
-
function timeLocalToStr_yyyymmdd_hhmmss(date, dateDelim = "-") { return timeLocalToStr_yyyymmdd_hhmm(date, dateDelim) + ":" + str2(date.getSeconds()); }
|
|
243
|
-
exports.timeLocalToStr_yyyymmdd_hhmmss = timeLocalToStr_yyyymmdd_hhmmss;
|
|
244
|
-
function timeLocalToStr_yyyymmdd_hhmmss_ms(date, dateDelim = "-") { return timeLocalToStr_yyyymmdd_hhmmss(date, dateDelim) + "." + str3(date.getMilliseconds()); }
|
|
245
|
-
exports.timeLocalToStr_yyyymmdd_hhmmss_ms = timeLocalToStr_yyyymmdd_hhmmss_ms;
|
|
246
|
-
function timeToString_yyyymmdd_hhmm_offset(date) { let offset = date.getTimezoneOffset(); return timeLocalToStr_yyyymmdd_hhmm(date) + " GMT" + (offset < 0 ? '+' : '') + (-offset / 60); }
|
|
247
|
-
exports.timeToString_yyyymmdd_hhmm_offset = timeToString_yyyymmdd_hhmm_offset;
|
|
248
|
-
function timeToString_yyyymmdd_hhmmss_offset(date) { let offset = date.getTimezoneOffset(); return timeLocalToStr_yyyymmdd_hhmmss(date) + " GMT" + (offset < 0 ? '+' : '') + (-offset / 60); }
|
|
249
|
-
exports.timeToString_yyyymmdd_hhmmss_offset = timeToString_yyyymmdd_hhmmss_offset;
|
|
250
|
-
Date.prototype.toString = function () { return timeToString_yyyymmdd_hhmmss_offset(this); };
|
|
251
|
-
Date.prototype.toDateString = function () { return timeLocalToStr_yyyymmdd(this); };
|
|
252
|
-
Date.prototype.toTimeString = function () { let offset = this.getTimezoneOffset(); return timeLocalToStr_hhmmss(this) + " GMT" + (offset < 0 ? '+' : '') + (-offset / 60); };
|
|
253
|
-
function _getStructCopyWithTimeStrings(arg, objectsMap) {
|
|
254
|
-
if (!arg)
|
|
255
|
-
return arg;
|
|
256
|
-
if (arg instanceof Date)
|
|
257
|
-
return arg.toString();
|
|
258
|
-
let clone;
|
|
259
|
-
if (Object.getPrototypeOf(arg) == Object.prototype)
|
|
260
|
-
clone = {};
|
|
261
|
-
else if (Object.getPrototypeOf(arg) == Array.prototype) {
|
|
262
|
-
clone = [];
|
|
263
|
-
}
|
|
264
|
-
else
|
|
265
|
-
return arg;
|
|
266
|
-
let mapVal = objectsMap?.get(arg);
|
|
267
|
-
if (mapVal)
|
|
268
|
-
return mapVal;
|
|
269
|
-
objectsMap ??= new Map();
|
|
270
|
-
objectsMap.set(arg, clone);
|
|
271
|
-
for (let key in arg)
|
|
272
|
-
clone[key] = _getStructCopyWithTimeStrings(arg[key], objectsMap);
|
|
273
|
-
return clone;
|
|
274
|
-
}
|
|
275
|
-
function convertDatesToStrings(arg) { return _getStructCopyWithTimeStrings(arg); }
|
|
276
|
-
exports.convertDatesToStrings = convertDatesToStrings;
|
|
277
|
-
function toPrintObject(arg) { return convertDatesToStrings(arg); }
|
|
278
|
-
exports.toPrintObject = toPrintObject;
|
|
279
|
-
function replaceConsoleCommands() {
|
|
280
|
-
const consoleLog = console.log;
|
|
281
|
-
const consoleWarn = console.warn;
|
|
282
|
-
const consoleError = console.error;
|
|
283
|
-
function replaceArgs(args) { return args.map(arg => convertDatesToStrings(arg)); }
|
|
284
|
-
console.log = (...args) => { consoleLog(...replaceArgs(args)); };
|
|
285
|
-
console.warn = (...args) => { consoleWarn(...replaceArgs(args)); };
|
|
286
|
-
console.error = (...args) => { consoleError(...replaceArgs(args)); };
|
|
287
|
-
}
|
|
288
|
-
function durationToStr(duration_ms) {
|
|
289
|
-
let units = [[exports.D1_MS, "д"], [exports.H1_MS, "ч"], [exports.M1_MS, "м"], [1000, "c"], [1, "мс"]];
|
|
290
|
-
let lastUnit = null;
|
|
291
|
-
let str = "";
|
|
292
|
-
for (let unit of units) {
|
|
293
|
-
let unitCountFloat = duration_ms / unit[0];
|
|
294
|
-
if (unitCountFloat < 1.1 && lastUnit == null)
|
|
295
|
-
continue;
|
|
296
|
-
let unitCount;
|
|
297
|
-
if (lastUnit || unitCountFloat > 10) {
|
|
298
|
-
unitCount = Math.round(unitCountFloat);
|
|
299
|
-
lastUnit = unit;
|
|
300
|
-
}
|
|
301
|
-
else
|
|
302
|
-
unitCount = Math.floor(unitCountFloat);
|
|
303
|
-
str += unitCount + unit[1] + " ";
|
|
304
|
-
if (lastUnit)
|
|
305
|
-
break;
|
|
306
|
-
duration_ms %= unit[0];
|
|
307
|
-
lastUnit = unit;
|
|
308
|
-
}
|
|
309
|
-
return str;
|
|
310
|
-
}
|
|
311
|
-
exports.durationToStr = durationToStr;
|
|
312
|
-
function durationToStrNullable(duration_ms) { return duration_ms == null ? null : durationToStr(duration_ms); }
|
|
313
|
-
exports.durationToStrNullable = durationToStrNullable;
|
|
314
|
-
function durationToStr_h_mm_ss(duration_ms) {
|
|
315
|
-
let time = new Date(duration_ms);
|
|
316
|
-
return Math.trunc(duration_ms / exports.H1_MS) + ":" + str2(time.getUTCMinutes()) + ":" + str2(time.getUTCSeconds());
|
|
317
|
-
}
|
|
318
|
-
exports.durationToStr_h_mm_ss = durationToStr_h_mm_ss;
|
|
319
|
-
function durationToStr_h_mm_ss_ms(duration_ms) { return durationToStr_h_mm_ss(duration_ms) + "." + str3(Math.trunc(duration_ms % 1000)); }
|
|
320
|
-
exports.durationToStr_h_mm_ss_ms = durationToStr_h_mm_ss_ms;
|
|
321
|
-
async function sleepAsync(msec) {
|
|
322
|
-
return new Promise((resolve, reject) => { setTimeout(resolve, msec); });
|
|
323
|
-
}
|
|
324
|
-
class CDelayer {
|
|
325
|
-
remainPause = 0;
|
|
326
|
-
async sleepAsync(pause_ms_getter) {
|
|
327
|
-
let passed_ms = 0;
|
|
328
|
-
let startRemainPause = this.remainPause;
|
|
329
|
-
while (true) {
|
|
330
|
-
let pause = pause_ms_getter();
|
|
331
|
-
if (pause == null || pause < 0)
|
|
332
|
-
return;
|
|
333
|
-
this.remainPause = Math.max(startRemainPause + pause - passed_ms, 0);
|
|
334
|
-
pause = Math.min(this.remainPause, 100);
|
|
335
|
-
if (pause > 15) {
|
|
336
|
-
let oldTime = Date.now();
|
|
337
|
-
await sleepAsync(pause);
|
|
338
|
-
let duration = Date.now() - oldTime;
|
|
339
|
-
passed_ms += duration;
|
|
340
|
-
this.remainPause -= duration;
|
|
341
|
-
}
|
|
342
|
-
else
|
|
343
|
-
break;
|
|
344
|
-
}
|
|
345
|
-
}
|
|
346
|
-
}
|
|
347
|
-
exports.CDelayer = CDelayer;
|
|
348
|
-
function MinTime(time1, time2) {
|
|
349
|
-
return time1 && time2 && time1.valueOf() <= time2.valueOf() ? time1 : time2 ?? time1;
|
|
350
|
-
}
|
|
351
|
-
exports.MinTime = MinTime;
|
|
352
|
-
function MaxTime(time1, time2) {
|
|
353
|
-
return time1 && time2 && time1.valueOf() >= time2.valueOf() ? time1 : time2 ?? time1;
|
|
354
|
-
}
|
|
355
|
-
exports.MaxTime = MaxTime;
|
|
356
|
-
//# sourceMappingURL=Time.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Time.js","sourceRoot":"","sources":["../../../src/Common/Time.ts"],"names":[],"mappings":"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"}
|