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/List.d.ts
DELETED
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
export type ListNode<T> = {
|
|
2
|
-
readonly value: T;
|
|
3
|
-
readonly [Symbol.species]: CListNode<T>;
|
|
4
|
-
};
|
|
5
|
-
declare class CListNode<T> implements ListNode<T> {
|
|
6
|
-
value: T;
|
|
7
|
-
list: CList<T> | undefined;
|
|
8
|
-
next?: CListNode<T>;
|
|
9
|
-
prev?: CListNode<T>;
|
|
10
|
-
[Symbol.species]: this;
|
|
11
|
-
constructor(list: CList<T>, value: T);
|
|
12
|
-
}
|
|
13
|
-
export type ListNodeImm<T> = ListNode<T> & {
|
|
14
|
-
readonly next?: ListNodeImm<T>;
|
|
15
|
-
readonly prev?: ListNodeImm<T>;
|
|
16
|
-
[Symbol.species]: CListNode<T> & "Immutable";
|
|
17
|
-
};
|
|
18
|
-
export declare class CList<T, TNode extends ListNode<T> = ListNode<T>> implements Iterable<TNode> {
|
|
19
|
-
protected _first?: CListNode<T>;
|
|
20
|
-
protected _last?: CListNode<T>;
|
|
21
|
-
protected _count: number;
|
|
22
|
-
protected _immutableList?: CList<T, ListNodeImm<T>>;
|
|
23
|
-
get first(): CListNode<T> | undefined;
|
|
24
|
-
get last(): CListNode<T> | undefined;
|
|
25
|
-
get count(): number;
|
|
26
|
-
get length(): number;
|
|
27
|
-
readonly [Symbol.iterator]: () => Generator<TNode, void, unknown>;
|
|
28
|
-
constructor(values?: Iterable<T>);
|
|
29
|
-
nodes(): Generator<TNode, void, unknown>;
|
|
30
|
-
values(): Generator<T, void, unknown>;
|
|
31
|
-
reversedNodes(): Generator<TNode, void, unknown>;
|
|
32
|
-
reversedValues(): Generator<T, void, unknown>;
|
|
33
|
-
entries(): Generator<never, () => Generator<TNode, void, unknown>, unknown>;
|
|
34
|
-
next(node: ListNode<T>): TNode | undefined;
|
|
35
|
-
prev(node: ListNode<T>): TNode | undefined;
|
|
36
|
-
find(value: T): TNode | undefined;
|
|
37
|
-
findLast(value: T): TNode | undefined;
|
|
38
|
-
private containsValue;
|
|
39
|
-
private containsNode;
|
|
40
|
-
has(value: T): boolean;
|
|
41
|
-
has(node: ListNode<T>): boolean;
|
|
42
|
-
toImmutable(): IListImmutable<T>;
|
|
43
|
-
private _addFirst;
|
|
44
|
-
addFirst(value: T): ListNode<T>;
|
|
45
|
-
addLast(value: T): ListNode<T>;
|
|
46
|
-
addAfter(node: ListNode<T>, value: T): ListNode<T>;
|
|
47
|
-
addBefore(node: ListNode<T>, value: T): ListNode<T>;
|
|
48
|
-
add(value: T): ListNode<T>;
|
|
49
|
-
private set;
|
|
50
|
-
replace(node: ListNode<T>, value: T): ListNode<T>;
|
|
51
|
-
private deleteNode;
|
|
52
|
-
delete(value: T): void;
|
|
53
|
-
delete(node: ListNode<T>): void;
|
|
54
|
-
deleteFirst(): void;
|
|
55
|
-
deleteLast(): void;
|
|
56
|
-
clear(): void;
|
|
57
|
-
private validateNode;
|
|
58
|
-
private newNode;
|
|
59
|
-
}
|
|
60
|
-
export type IList<T> = Readonly<CList<T>>;
|
|
61
|
-
type TReadonlyList<TList extends IList<any>> = Omit<TList, `add${string}` | `set${string}` | `replace${string}` | `delete${string}` | `clear`>;
|
|
62
|
-
export type IListReadonly<T, TNode extends ListNode<T> = ListNode<T>> = TReadonlyList<Readonly<CList<T, TNode>>>;
|
|
63
|
-
export type IListImmutable<T> = IListReadonly<T, ListNodeImm<T>>;
|
|
64
|
-
export {};
|
package/lib/src/Common/List.js
DELETED
|
@@ -1,194 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CList = void 0;
|
|
4
|
-
class CListNode {
|
|
5
|
-
value;
|
|
6
|
-
list;
|
|
7
|
-
next;
|
|
8
|
-
prev;
|
|
9
|
-
[Symbol.species] = this;
|
|
10
|
-
constructor(list, value) { this.list = list; this.value = value; }
|
|
11
|
-
}
|
|
12
|
-
class CList {
|
|
13
|
-
_first;
|
|
14
|
-
_last;
|
|
15
|
-
_count = 0;
|
|
16
|
-
_immutableList;
|
|
17
|
-
get first() { return this._first; }
|
|
18
|
-
get last() { return this._last; }
|
|
19
|
-
get count() { return this._count; }
|
|
20
|
-
get length() { return this._count; }
|
|
21
|
-
[Symbol.iterator] = this.nodes;
|
|
22
|
-
constructor(values = []) { for (let value of values)
|
|
23
|
-
this.add(value); }
|
|
24
|
-
*nodes() { for (let node = this._first, next = node?.next; node != null; node = next, next = next?.next)
|
|
25
|
-
yield node; }
|
|
26
|
-
*values() { for (let node of this)
|
|
27
|
-
yield node.value; }
|
|
28
|
-
*reversedNodes() { for (let node = this._last, next = node?.prev; node != null; node = next, next = next?.prev)
|
|
29
|
-
yield node; }
|
|
30
|
-
*reversedValues() { for (let node of this.reversedNodes())
|
|
31
|
-
yield node.value; }
|
|
32
|
-
*entries() { return this.nodes; }
|
|
33
|
-
next(node) { return this.validateNode(node) ? node.next : (() => { throw "Wrong node list"; })(); }
|
|
34
|
-
;
|
|
35
|
-
prev(node) { return this.validateNode(node) ? node.prev : (() => { throw "Wrong node list"; })(); }
|
|
36
|
-
;
|
|
37
|
-
find(value) { for (let node of this.nodes())
|
|
38
|
-
if (node.value == value)
|
|
39
|
-
return node; return undefined; }
|
|
40
|
-
findLast(value) { for (let node of this.reversedNodes())
|
|
41
|
-
if (node.value == value)
|
|
42
|
-
return node; return undefined; }
|
|
43
|
-
containsValue(value) { return this.find(value) != undefined; }
|
|
44
|
-
containsNode(node) { return this.validateNode(node); }
|
|
45
|
-
has(data) { return data instanceof CListNode ? this.containsNode(data) : this.containsValue(data); }
|
|
46
|
-
toImmutable() { return this._immutableList ??= new CList(this.values()); }
|
|
47
|
-
_addFirst(value) {
|
|
48
|
-
this._count = 1;
|
|
49
|
-
this._immutableList = undefined;
|
|
50
|
-
return this._first = this._last = this.newNode(value);
|
|
51
|
-
}
|
|
52
|
-
addFirst(value) {
|
|
53
|
-
if (this._first)
|
|
54
|
-
return this.addBefore(this._first, value);
|
|
55
|
-
return this._addFirst(value);
|
|
56
|
-
}
|
|
57
|
-
addLast(value) {
|
|
58
|
-
if (this._last)
|
|
59
|
-
return this.addAfter(this._last, value);
|
|
60
|
-
return this._addFirst(value);
|
|
61
|
-
}
|
|
62
|
-
addAfter(node, value) {
|
|
63
|
-
if (!this.validateNode(node))
|
|
64
|
-
throw "Wrong node list";
|
|
65
|
-
let newNode = this.newNode(value);
|
|
66
|
-
newNode.prev = node;
|
|
67
|
-
newNode.next = node.next;
|
|
68
|
-
if (node.next)
|
|
69
|
-
node.next.prev = newNode;
|
|
70
|
-
else
|
|
71
|
-
this._last = newNode;
|
|
72
|
-
node.next = newNode;
|
|
73
|
-
this._count++;
|
|
74
|
-
this._immutableList = undefined;
|
|
75
|
-
return newNode;
|
|
76
|
-
}
|
|
77
|
-
addBefore(node, value) {
|
|
78
|
-
if (!this.validateNode(node))
|
|
79
|
-
throw "Wrong node list";
|
|
80
|
-
let newNode = this.newNode(value);
|
|
81
|
-
newNode.next = node;
|
|
82
|
-
newNode.prev = node.prev;
|
|
83
|
-
if (node.prev)
|
|
84
|
-
node.prev.next = newNode;
|
|
85
|
-
else
|
|
86
|
-
this._first = newNode;
|
|
87
|
-
node.prev = newNode;
|
|
88
|
-
this._count++;
|
|
89
|
-
this._immutableList = undefined;
|
|
90
|
-
return newNode;
|
|
91
|
-
}
|
|
92
|
-
add(value) { return this.addLast(value); }
|
|
93
|
-
set(node, value) {
|
|
94
|
-
if (!this.validateNode(node))
|
|
95
|
-
throw "Wrong node list";
|
|
96
|
-
node.value = value;
|
|
97
|
-
return node;
|
|
98
|
-
}
|
|
99
|
-
replace(node, value) {
|
|
100
|
-
if (!this.validateNode(node))
|
|
101
|
-
throw "Wrong node list";
|
|
102
|
-
let newNode = this.newNode(value);
|
|
103
|
-
newNode.next = node.next;
|
|
104
|
-
newNode.prev = node.prev;
|
|
105
|
-
node.list = undefined;
|
|
106
|
-
this._immutableList = undefined;
|
|
107
|
-
return newNode;
|
|
108
|
-
}
|
|
109
|
-
deleteNode(node) {
|
|
110
|
-
if (!this.validateNode(node))
|
|
111
|
-
throw "Wrong node list";
|
|
112
|
-
if (node.prev)
|
|
113
|
-
node.prev.next = node.next;
|
|
114
|
-
if (node.next)
|
|
115
|
-
node.next.prev = node.prev;
|
|
116
|
-
if (node == this._first)
|
|
117
|
-
this._first = node.next;
|
|
118
|
-
if (node == this._last)
|
|
119
|
-
this._last = node.prev;
|
|
120
|
-
node.list = undefined;
|
|
121
|
-
this._count--;
|
|
122
|
-
this._immutableList = undefined;
|
|
123
|
-
}
|
|
124
|
-
delete(nodeOrValue) {
|
|
125
|
-
{ }
|
|
126
|
-
if (nodeOrValue instanceof CListNode)
|
|
127
|
-
return this.deleteNode(nodeOrValue);
|
|
128
|
-
for (let node of this.nodes())
|
|
129
|
-
if (node.value == nodeOrValue)
|
|
130
|
-
this.deleteNode(node);
|
|
131
|
-
}
|
|
132
|
-
deleteFirst() { if (this._first)
|
|
133
|
-
this.delete(this._first); }
|
|
134
|
-
deleteLast() { if (this._last)
|
|
135
|
-
this.delete(this._last); }
|
|
136
|
-
clear() {
|
|
137
|
-
for (let node = this._first; node != null; node = node.next)
|
|
138
|
-
this.delete(node);
|
|
139
|
-
}
|
|
140
|
-
validateNode(node) {
|
|
141
|
-
if (!(node instanceof CListNode))
|
|
142
|
-
throw "Wrong node object";
|
|
143
|
-
return node.list == this;
|
|
144
|
-
}
|
|
145
|
-
newNode(value) { return new CListNode(this, value); }
|
|
146
|
-
}
|
|
147
|
-
exports.CList = CList;
|
|
148
|
-
function test() {
|
|
149
|
-
function print(...args) { console.log(...args); }
|
|
150
|
-
let list = new CList();
|
|
151
|
-
let node10 = list.add(10);
|
|
152
|
-
print(...list.values());
|
|
153
|
-
let node20 = list.add(20);
|
|
154
|
-
print(...list.values());
|
|
155
|
-
let node15 = list.addAfter(node10, 15);
|
|
156
|
-
print(...list.values());
|
|
157
|
-
let node30 = list.addAfter(node20, 30);
|
|
158
|
-
print(...list.values());
|
|
159
|
-
let node25 = list.addBefore(node30, 25);
|
|
160
|
-
print(...list.values());
|
|
161
|
-
let node5 = list.addBefore(node10, 5);
|
|
162
|
-
print(...list.values());
|
|
163
|
-
let node0 = list.addFirst(0);
|
|
164
|
-
print(...list.values());
|
|
165
|
-
print("count:", list.count);
|
|
166
|
-
print("deleting node20");
|
|
167
|
-
list.delete(node20);
|
|
168
|
-
print(...list.values());
|
|
169
|
-
print("count:", list.count);
|
|
170
|
-
print("contains node20:", list.has(node20));
|
|
171
|
-
print("contains 20:", list.has(20));
|
|
172
|
-
print("find 20 -> value:", list.find(20)?.value);
|
|
173
|
-
print("contains node10:", list.has(node10));
|
|
174
|
-
print("contains 10:", list.has(10));
|
|
175
|
-
print("find 10 -> value:", list.find(10)?.value);
|
|
176
|
-
print("adding last 5");
|
|
177
|
-
let nodeLast = list.add(5);
|
|
178
|
-
print(...list.values());
|
|
179
|
-
let listImm = list.toImmutable();
|
|
180
|
-
print("findLast 5 -> prevValue: ", listImm.findLast(5)?.prev?.value);
|
|
181
|
-
print("node15 prev:", list.prev(node15)?.value);
|
|
182
|
-
print("node15 next:", list.next(node15)?.value);
|
|
183
|
-
print("node0 prev:", list.prev(node0)?.value);
|
|
184
|
-
print("nodeLast next:", listImm.next(nodeLast)?.next);
|
|
185
|
-
print("reversed: ", ...list.reversedValues());
|
|
186
|
-
print("deleting 5");
|
|
187
|
-
list.delete(5);
|
|
188
|
-
print(...list.values());
|
|
189
|
-
print("clearing");
|
|
190
|
-
list.clear();
|
|
191
|
-
print(...list.values());
|
|
192
|
-
print("count:", list.count);
|
|
193
|
-
}
|
|
194
|
-
//# sourceMappingURL=List.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"List.js","sourceRoot":"","sources":["../../../src/Common/List.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,46 +0,0 @@
|
|
|
1
|
-
declare class CBaseList<T> {
|
|
2
|
-
data: T | undefined;
|
|
3
|
-
}
|
|
4
|
-
export declare class CListNodeAnd<T> extends CBaseList<T> implements iListNodeMini {
|
|
5
|
-
get count(): number;
|
|
6
|
-
private _stop;
|
|
7
|
-
protected _count: number;
|
|
8
|
-
private _prev;
|
|
9
|
-
private _next;
|
|
10
|
-
private _home;
|
|
11
|
-
private _Init;
|
|
12
|
-
constructor(prev?: CListNodeAnd<T>, next?: CListNodeAnd<T>, home?: CListNodeAnd<T>);
|
|
13
|
-
static _valueG: number;
|
|
14
|
-
static _valueG2: number;
|
|
15
|
-
readonly id: number;
|
|
16
|
-
valueOf(): number;
|
|
17
|
-
countRef(): number;
|
|
18
|
-
Prev(): CListNodeAnd<T> | undefined;
|
|
19
|
-
Next(): CListNodeAnd<T> | undefined;
|
|
20
|
-
isPrev(): boolean;
|
|
21
|
-
isNext(): boolean;
|
|
22
|
-
private _First;
|
|
23
|
-
private _End;
|
|
24
|
-
First(): CListNodeAnd<T> | undefined;
|
|
25
|
-
End(): CListNodeAnd<T> | undefined;
|
|
26
|
-
get dataFirst(): T | undefined;
|
|
27
|
-
get dataEnd(): T | undefined;
|
|
28
|
-
get dataPrev(): T | undefined;
|
|
29
|
-
get dataNext(): T | undefined;
|
|
30
|
-
get dataThis(): T | undefined;
|
|
31
|
-
isForbidden(): boolean;
|
|
32
|
-
isExists(): boolean;
|
|
33
|
-
private static _Add;
|
|
34
|
-
AddNext(a?: CListNodeAnd<T> | T): CListNodeAnd<T>;
|
|
35
|
-
AddPrev(a?: CListNodeAnd<T> | T): CListNodeAnd<T>;
|
|
36
|
-
AddEnd(a?: CListNodeAnd<T> | T): CListNodeAnd<T>;
|
|
37
|
-
AddStart(a?: CListNodeAnd<T> | T): CListNodeAnd<T>;
|
|
38
|
-
forEach(el: (item: T, e?: CListNodeAnd<T>) => void): void;
|
|
39
|
-
GetArray(): T[];
|
|
40
|
-
find(el: (e: CListNodeAnd<T>) => boolean): CListNodeAnd<T> | undefined;
|
|
41
|
-
DeleteLink(): void;
|
|
42
|
-
}
|
|
43
|
-
export interface iListNodeMini {
|
|
44
|
-
DeleteLink(): void;
|
|
45
|
-
}
|
|
46
|
-
export {};
|
|
@@ -1,90 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CListNodeAnd = void 0;
|
|
4
|
-
class CBaseList {
|
|
5
|
-
data;
|
|
6
|
-
}
|
|
7
|
-
class CListNodeAnd extends CBaseList {
|
|
8
|
-
get count() {
|
|
9
|
-
return this._home?._count ?? -1;
|
|
10
|
-
}
|
|
11
|
-
_stop = false;
|
|
12
|
-
_count = 0;
|
|
13
|
-
_prev = this;
|
|
14
|
-
_next = this;
|
|
15
|
-
_home;
|
|
16
|
-
_Init(prev, next, home) {
|
|
17
|
-
this._prev = prev;
|
|
18
|
-
this._next = next;
|
|
19
|
-
prev._next = next._prev = this;
|
|
20
|
-
this._home = home;
|
|
21
|
-
this.countRef();
|
|
22
|
-
return this;
|
|
23
|
-
}
|
|
24
|
-
constructor(prev, next, home) {
|
|
25
|
-
super();
|
|
26
|
-
CListNodeAnd._valueG++;
|
|
27
|
-
CListNodeAnd._valueG2++;
|
|
28
|
-
this.id = CListNodeAnd._valueG;
|
|
29
|
-
if (prev && next && home) {
|
|
30
|
-
this._Init(prev, next, home);
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
this._stop = true;
|
|
34
|
-
this._home = this;
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
;
|
|
38
|
-
static _valueG = 0;
|
|
39
|
-
static _valueG2 = 0;
|
|
40
|
-
id = CListNodeAnd._valueG;
|
|
41
|
-
valueOf() { return this.id; }
|
|
42
|
-
countRef() {
|
|
43
|
-
let count = 0;
|
|
44
|
-
for (let i = this.First(); i; i = i.Next()) {
|
|
45
|
-
count++;
|
|
46
|
-
}
|
|
47
|
-
if (this._home)
|
|
48
|
-
this._home._count = count;
|
|
49
|
-
return count;
|
|
50
|
-
}
|
|
51
|
-
Prev() { return !this._prev._stop ? this._prev : undefined; }
|
|
52
|
-
Next() { return !this._next._stop ? this._next : undefined; }
|
|
53
|
-
isPrev() { return !this._prev._stop; }
|
|
54
|
-
isNext() { return !this._next._stop; }
|
|
55
|
-
_First() { let buf = this; while (!buf._stop) {
|
|
56
|
-
buf = buf._prev;
|
|
57
|
-
} return buf; }
|
|
58
|
-
_End() { let buf = this; while (!buf._stop) {
|
|
59
|
-
buf = buf._next;
|
|
60
|
-
} return buf; }
|
|
61
|
-
First() { return this._First().Next(); }
|
|
62
|
-
End() { return this._End().Prev(); }
|
|
63
|
-
get dataFirst() { return this._First().dataNext; }
|
|
64
|
-
get dataEnd() { return this._End().dataPrev; }
|
|
65
|
-
get dataPrev() { return this.Prev()?.data; }
|
|
66
|
-
get dataNext() { return this.Next()?.data; }
|
|
67
|
-
get dataThis() { return this._stop ? undefined : this.data; }
|
|
68
|
-
isForbidden() { return this._stop; }
|
|
69
|
-
isExists() { return this.isForbidden() || this._prev._stop || this._next._stop; }
|
|
70
|
-
static _Add(prev, next, home, a) { let buf = new CListNodeAnd(prev, next, home); buf.data = a; return buf; }
|
|
71
|
-
AddNext(a) { return a instanceof CListNodeAnd ? a._Init(this, this._next, this) : a ? CListNodeAnd._Add(this, this._next, this._home, a) : new CListNodeAnd(this, this._next); }
|
|
72
|
-
AddPrev(a) { return a instanceof CListNodeAnd ? a._Init(this._prev, this, this) : a ? CListNodeAnd._Add(this._prev, this, this._home, a) : new CListNodeAnd(this._prev, this); }
|
|
73
|
-
AddEnd(a) { return this._stop ? this.AddPrev(a) : this._End().AddNext(a); }
|
|
74
|
-
AddStart(a) { return this._stop ? this.AddNext(a) : this._First().AddPrev(a); }
|
|
75
|
-
forEach(el) {
|
|
76
|
-
for (let buf = this.First(); buf?.data && !buf.isForbidden();) {
|
|
77
|
-
let t = buf.Next();
|
|
78
|
-
el(buf.data, buf);
|
|
79
|
-
buf = t;
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
GetArray() { let a = []; this.forEach(e => a.push(e)); return a; }
|
|
83
|
-
find(el) { let buf = this.First(); for (; buf; buf = buf.Next()) {
|
|
84
|
-
if (el(buf))
|
|
85
|
-
return buf;
|
|
86
|
-
} return undefined; }
|
|
87
|
-
DeleteLink() { this._prev._next = this._next; this._next._prev = this._prev; this._prev = this._next = this; this._stop = true; this._home?.countRef(); CListNodeAnd._valueG2--; this._home = undefined; }
|
|
88
|
-
}
|
|
89
|
-
exports.CListNodeAnd = CListNodeAnd;
|
|
90
|
-
//# sourceMappingURL=ListNodeAnd.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ListNodeAnd.js","sourceRoot":"","sources":["../../../src/Common/ListNodeAnd.ts"],"names":[],"mappings":"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"}
|
package/lib/src/Common/Math.d.ts
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
type tCorrelationByBuffer = {
|
|
2
|
-
max: number;
|
|
3
|
-
bufferOn?: boolean;
|
|
4
|
-
};
|
|
5
|
-
export declare function CorrelationRollingByBuffer(data: tCorrelationByBuffer): {
|
|
6
|
-
init(data: tCorrelationByBuffer): void;
|
|
7
|
-
clear(data?: tCorrelationByBuffer): void;
|
|
8
|
-
corr(arr1: number[], arr2: number[], max: number, bufferOn: boolean, key1?: any, key2?: any): void;
|
|
9
|
-
};
|
|
10
|
-
type tCorrBuffer = {
|
|
11
|
-
sum1: number;
|
|
12
|
-
sum2: number;
|
|
13
|
-
pow1: number;
|
|
14
|
-
pow2: number;
|
|
15
|
-
last1: number;
|
|
16
|
-
last2: number;
|
|
17
|
-
mulSum: number;
|
|
18
|
-
};
|
|
19
|
-
export declare function CorrelationFunc(d1: number[], d2: number[], setting: {
|
|
20
|
-
rolling?: number;
|
|
21
|
-
endBar?: number;
|
|
22
|
-
buffer?: tCorrBuffer | null;
|
|
23
|
-
}): {
|
|
24
|
-
corr: number;
|
|
25
|
-
buffer?: tCorrBuffer;
|
|
26
|
-
};
|
|
27
|
-
export {};
|
package/lib/src/Common/Math.js
DELETED
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CorrelationFunc = exports.CorrelationRollingByBuffer = void 0;
|
|
4
|
-
function CorrelationRollingByBuffer(data) {
|
|
5
|
-
let setting = { ...data };
|
|
6
|
-
const map = new Map();
|
|
7
|
-
const getBuffer = (key1, key2) => map.get(key1)?.get(key2);
|
|
8
|
-
let index = 0;
|
|
9
|
-
const clear = () => {
|
|
10
|
-
index = 0;
|
|
11
|
-
map.clear();
|
|
12
|
-
};
|
|
13
|
-
return ({
|
|
14
|
-
init(data) { setting = { ...data }; },
|
|
15
|
-
clear(data) { clear(); data && this.init(data); },
|
|
16
|
-
corr(arr1, arr2, max, bufferOn, key1, key2) {
|
|
17
|
-
const buffer = bufferOn ? getBuffer(key1 ?? arr1, key2 ?? arr2) : null;
|
|
18
|
-
CorrelationFunc(arr1, arr2, { rolling: max, buffer });
|
|
19
|
-
}
|
|
20
|
-
});
|
|
21
|
-
}
|
|
22
|
-
exports.CorrelationRollingByBuffer = CorrelationRollingByBuffer;
|
|
23
|
-
function CorrelationFunc(d1, d2, setting) {
|
|
24
|
-
const { min, pow, sqrt } = Math;
|
|
25
|
-
const { isNaN } = Number;
|
|
26
|
-
const { rolling } = setting;
|
|
27
|
-
const n = min(setting.endBar ?? d1.length, d2.length);
|
|
28
|
-
if (n == 0)
|
|
29
|
-
return { corr: 0 };
|
|
30
|
-
const start = (rolling) ? (n - rolling > 0 ? n - rolling : 0) : 0;
|
|
31
|
-
const end = n;
|
|
32
|
-
const c = n - start;
|
|
33
|
-
const buffer = setting.buffer;
|
|
34
|
-
const [end1, end2] = [d1[end - 1], d2[end - 1]];
|
|
35
|
-
const [last1, last2] = [d1[start], d2[start]];
|
|
36
|
-
let sum1, sum2, pow1, pow2, mulSum;
|
|
37
|
-
if (buffer && 1) {
|
|
38
|
-
sum1 = buffer.sum1 - buffer.last1 + end1;
|
|
39
|
-
sum2 = buffer.sum2 - buffer.last2 + end2;
|
|
40
|
-
pow1 = buffer.pow1 - pow(buffer.last1, 2) + pow(end1, 2);
|
|
41
|
-
pow2 = buffer.pow2 - pow(buffer.last2, 2) + pow(end2, 2);
|
|
42
|
-
mulSum = buffer.mulSum - (buffer.last1 * buffer.last2) + (end1 * end2);
|
|
43
|
-
}
|
|
44
|
-
else {
|
|
45
|
-
const add = (a, b) => a + b;
|
|
46
|
-
const [_d1, _d2] = [d1.slice(start, end), d2.slice(start, end)];
|
|
47
|
-
sum1 = _d1.reduce(add);
|
|
48
|
-
sum2 = _d2.reduce(add);
|
|
49
|
-
pow1 = _d1.reduce((a, b) => a + pow(b, 2), 0);
|
|
50
|
-
pow2 = _d2.reduce((a, b) => a + pow(b, 2), 0);
|
|
51
|
-
mulSum = _d1.map((r, i) => r * _d2[i]).reduce(add);
|
|
52
|
-
}
|
|
53
|
-
if (isNaN(sum1) || !sum1 ||
|
|
54
|
-
isNaN(sum2) || !sum2 ||
|
|
55
|
-
isNaN(last1) || !last1 ||
|
|
56
|
-
isNaN(last2) || !last2 ||
|
|
57
|
-
isNaN(mulSum) || !mulSum ||
|
|
58
|
-
isNaN(pow2) || !pow2 ||
|
|
59
|
-
isNaN(pow1) || !pow1) {
|
|
60
|
-
console.log({ sum1, sum2, last1, last2, mulSum, pow2, pow1 });
|
|
61
|
-
(async () => { throw "nanCor"; })();
|
|
62
|
-
}
|
|
63
|
-
const dense = sqrt((pow1 - pow(sum1, 2) / c) * (pow2 - pow(sum2, 2) / c));
|
|
64
|
-
const buf = { sum1, sum2, last1, last2, mulSum, pow2, pow1 };
|
|
65
|
-
if (dense == 0)
|
|
66
|
-
return { corr: 0 };
|
|
67
|
-
const result = (mulSum - (sum1 * sum2 / c)) / dense;
|
|
68
|
-
return { corr: result, buffer: buf };
|
|
69
|
-
}
|
|
70
|
-
exports.CorrelationFunc = CorrelationFunc;
|
|
71
|
-
//# sourceMappingURL=Math.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Math.js","sourceRoot":"","sources":["../../../src/Common/Math.ts"],"names":[],"mappings":"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"}
|