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/Common.js
DELETED
|
@@ -1,615 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.CCachedValue2 = exports.CCachedValueT = exports.WeakMapExt = exports.MapExt = exports.CObjectID = exports.shallowEqual = exports.deepEqual = exports.copyToClipboard = exports.Mutex = exports.MyTimerInterval = exports.createCancellableTaskWrapper = exports.createCancellableTimer = exports.CancelablePromise = exports.CancelToken = exports.JSON_clone = exports.VirtualItems = exports.ArraySet = exports.ArrayMap = exports.StructSet = exports.StructMap = exports.MyNumMap = exports.MyMap = exports.__MyMap = exports.CreateArrayProxy = exports.ArrayItemHandler = exports.DblToStrAuto = exports.GetDblPrecision = exports.GetDblPrecision2 = exports.MaxCommonDivisorOnArray = exports.MaxCommonDivisor = exports.NormalizeDouble = exports._BSearchNearest = exports.BSearchNearest = exports.BSearchDefault = exports.BSearch = exports.E_MATCH = exports.E_SORTMODE = exports.GetEnumValues = exports.CBase = exports.sleepAsync = exports.readonlyFull = exports.toImmutable = exports.deepCloneObjectMutable = exports.deepCloneObject = exports.deepCloneMutable = exports.deepClone = exports._deepClone = exports.shallowClone = exports.isDate = exports.GetEnumKeys = void 0;
|
|
4
|
-
exports.isObjectCastableTo = void 0;
|
|
5
|
-
function GetEnumKeys(T) { return Object.keys(T).filter(k => isNaN(k)); }
|
|
6
|
-
exports.GetEnumKeys = GetEnumKeys;
|
|
7
|
-
function isDate(value) {
|
|
8
|
-
return value instanceof Date;
|
|
9
|
-
}
|
|
10
|
-
exports.isDate = isDate;
|
|
11
|
-
{
|
|
12
|
-
let aaa;
|
|
13
|
-
}
|
|
14
|
-
if (0)
|
|
15
|
-
Object.prototype.valueOf = function () {
|
|
16
|
-
console.error("function 'valueOf' is not defined in object", this.constructor.name, ":", this);
|
|
17
|
-
console.trace();
|
|
18
|
-
throw ("function 'valueOf' is not defined!!!");
|
|
19
|
-
};
|
|
20
|
-
function shallowClone(val) {
|
|
21
|
-
return Array.isArray(val) ? Object.assign([], { ...val })
|
|
22
|
-
: typeof val == "object" && val ? { ...val } : val;
|
|
23
|
-
}
|
|
24
|
-
exports.shallowClone = shallowClone;
|
|
25
|
-
function _deepClone(src, map) {
|
|
26
|
-
if (!src || typeof src != "object")
|
|
27
|
-
return src;
|
|
28
|
-
let newobject = src instanceof Array ? [] : {};
|
|
29
|
-
if (src instanceof Set)
|
|
30
|
-
newobject = new Set(src.values());
|
|
31
|
-
else if (src instanceof Map)
|
|
32
|
-
newobject = new Map(src.entries());
|
|
33
|
-
else { }
|
|
34
|
-
if (src instanceof Date)
|
|
35
|
-
newobject = new Date(src);
|
|
36
|
-
let first = true;
|
|
37
|
-
function getMap() {
|
|
38
|
-
map ??= new Map();
|
|
39
|
-
if (first) {
|
|
40
|
-
map.set(src, newobject);
|
|
41
|
-
first = false;
|
|
42
|
-
}
|
|
43
|
-
return map;
|
|
44
|
-
}
|
|
45
|
-
function mapGetOrSet(key, valFunc) { let val = map?.get(key); if (!val)
|
|
46
|
-
getMap().set(key, val = valFunc()); return val; }
|
|
47
|
-
for (let [key, value] of Object.entries(src)) {
|
|
48
|
-
newobject[key] =
|
|
49
|
-
typeof (value) == "object"
|
|
50
|
-
? mapGetOrSet(value, () => _deepClone(value, map))
|
|
51
|
-
: typeof (value) == "function"
|
|
52
|
-
? value.bind(newobject)
|
|
53
|
-
: value;
|
|
54
|
-
}
|
|
55
|
-
return newobject;
|
|
56
|
-
}
|
|
57
|
-
exports._deepClone = _deepClone;
|
|
58
|
-
function deepClone(object) { return _deepClone(object); }
|
|
59
|
-
exports.deepClone = deepClone;
|
|
60
|
-
function deepCloneMutable(value) { return deepClone(value); }
|
|
61
|
-
exports.deepCloneMutable = deepCloneMutable;
|
|
62
|
-
function deepCloneObject(object) {
|
|
63
|
-
if (object == undefined)
|
|
64
|
-
throw "object is undefined!";
|
|
65
|
-
return deepClone(object);
|
|
66
|
-
}
|
|
67
|
-
exports.deepCloneObject = deepCloneObject;
|
|
68
|
-
function deepCloneObjectMutable(object) { return deepCloneObject(object); }
|
|
69
|
-
exports.deepCloneObjectMutable = deepCloneObjectMutable;
|
|
70
|
-
function toImmutable(object) {
|
|
71
|
-
return object.Mutable == false ? object
|
|
72
|
-
: Object.freeze(Object.assign(deepCloneObject(object), { Mutable: false }));
|
|
73
|
-
}
|
|
74
|
-
exports.toImmutable = toImmutable;
|
|
75
|
-
function readonlyFull(arg) { return arg; }
|
|
76
|
-
exports.readonlyFull = readonlyFull;
|
|
77
|
-
async function sleepAsync(msec = 0) {
|
|
78
|
-
return new Promise((resolve, reject) => { setTimeout(resolve, msec); });
|
|
79
|
-
}
|
|
80
|
-
exports.sleepAsync = sleepAsync;
|
|
81
|
-
class CBase {
|
|
82
|
-
}
|
|
83
|
-
exports.CBase = CBase;
|
|
84
|
-
function GetEnumValues(T) { let arr = []; for (let k of Object.keys(T))
|
|
85
|
-
if (isNaN(k))
|
|
86
|
-
arr.push(T[k]); return arr; }
|
|
87
|
-
exports.GetEnumValues = GetEnumValues;
|
|
88
|
-
var E_SORTMODE;
|
|
89
|
-
(function (E_SORTMODE) {
|
|
90
|
-
E_SORTMODE[E_SORTMODE["DESCEND"] = 0] = "DESCEND";
|
|
91
|
-
E_SORTMODE[E_SORTMODE["ASCEND"] = 1] = "ASCEND";
|
|
92
|
-
})(E_SORTMODE = exports.E_SORTMODE || (exports.E_SORTMODE = {}));
|
|
93
|
-
;
|
|
94
|
-
var E_MATCH;
|
|
95
|
-
(function (E_MATCH) {
|
|
96
|
-
E_MATCH[E_MATCH["LESS_OR_EQUAL"] = -1] = "LESS_OR_EQUAL";
|
|
97
|
-
E_MATCH[E_MATCH["EQUAL"] = 0] = "EQUAL";
|
|
98
|
-
E_MATCH[E_MATCH["GREAT_OR_EQUAL"] = 1] = "GREAT_OR_EQUAL";
|
|
99
|
-
})(E_MATCH = exports.E_MATCH || (exports.E_MATCH = {}));
|
|
100
|
-
function BSearch(array, arg2, arg3, ...args) {
|
|
101
|
-
return typeof (arg3) == "function" ? __BSearch(array, arg2, arg3, ...args) :
|
|
102
|
-
typeof (arg2) == "function" ? ___BSearch(array, arg2, arg3, ...args) :
|
|
103
|
-
BSearchDefault(array, arg2, arg3, ...args);
|
|
104
|
-
}
|
|
105
|
-
exports.BSearch = BSearch;
|
|
106
|
-
function BSearchDefault(array, value, match, mode) {
|
|
107
|
-
return __BSearch(array, value, (a, b) => Math.sign(a.valueOf() - b.valueOf()), match, mode);
|
|
108
|
-
}
|
|
109
|
-
exports.BSearchDefault = BSearchDefault;
|
|
110
|
-
function __BSearch(array, value, comparer, matchMode, sortMode) {
|
|
111
|
-
return ___BSearch(array, (item) => comparer(item, value), matchMode, sortMode);
|
|
112
|
-
}
|
|
113
|
-
function ___BSearch(array, compareItemToValue, matchMode, sortMode) {
|
|
114
|
-
if (sortMode == undefined)
|
|
115
|
-
sortMode = E_SORTMODE.ASCEND;
|
|
116
|
-
let k = (sortMode === E_SORTMODE.DESCEND || sortMode == "descend" ? -1 : sortMode === E_SORTMODE.ASCEND || sortMode == "ascend" ? 1 : (() => { throw "wrong sortMode: " + JSON.stringify(sortMode); })());
|
|
117
|
-
let match = typeof matchMode != "string" ? matchMode : matchMode == "equal" ? E_MATCH.EQUAL : matchMode == "lessOrEqual" ? E_MATCH.LESS_OR_EQUAL : matchMode == "greatOrEqual" ? E_MATCH.GREAT_OR_EQUAL : (() => { throw ("wrong matchMode!"); })();
|
|
118
|
-
let start = 0;
|
|
119
|
-
let count = array.length;
|
|
120
|
-
let end = start + count - 1;
|
|
121
|
-
let left = start;
|
|
122
|
-
let right = end;
|
|
123
|
-
let i = left;
|
|
124
|
-
while (left <= right) {
|
|
125
|
-
i = (left + right) >> 1;
|
|
126
|
-
let cmp = compareItemToValue(array[i]) * k;
|
|
127
|
-
if (cmp > 0) {
|
|
128
|
-
right = i - 1;
|
|
129
|
-
continue;
|
|
130
|
-
}
|
|
131
|
-
if (cmp < 0) {
|
|
132
|
-
left = i + 1;
|
|
133
|
-
continue;
|
|
134
|
-
}
|
|
135
|
-
return i;
|
|
136
|
-
}
|
|
137
|
-
if (match == E_MATCH.LESS_OR_EQUAL) {
|
|
138
|
-
i = right;
|
|
139
|
-
if (i < start)
|
|
140
|
-
i = -1;
|
|
141
|
-
}
|
|
142
|
-
else if (match == E_MATCH.GREAT_OR_EQUAL) {
|
|
143
|
-
i = left;
|
|
144
|
-
if (i > end)
|
|
145
|
-
i = -1;
|
|
146
|
-
}
|
|
147
|
-
else
|
|
148
|
-
i = -1;
|
|
149
|
-
return i;
|
|
150
|
-
}
|
|
151
|
-
BSearch.EQUAL = E_MATCH.EQUAL;
|
|
152
|
-
BSearch.LESS_OR_EQUAL = E_MATCH.LESS_OR_EQUAL;
|
|
153
|
-
BSearch.GREAT_OR_EQUAL = E_MATCH.GREAT_OR_EQUAL;
|
|
154
|
-
function BSearchNearest(array, searchValue, getterOrDelta, maxDeltaOrNull) {
|
|
155
|
-
let [getter, maxDelta] = typeof getterOrDelta == "function" ? [getterOrDelta, maxDeltaOrNull] : [(elem) => elem, getterOrDelta];
|
|
156
|
-
return _BSearchNearest(array, searchValue, getter, maxDelta);
|
|
157
|
-
}
|
|
158
|
-
exports.BSearchNearest = BSearchNearest;
|
|
159
|
-
function _BSearchNearest(array, searchValue, arrayGetValue, maxDelta) {
|
|
160
|
-
if (array.length == 0)
|
|
161
|
-
return -1;
|
|
162
|
-
let i = BSearch(array, (element) => arrayGetValue(element) - searchValue, "greatOrEqual");
|
|
163
|
-
let indexes = [];
|
|
164
|
-
if (i == -1)
|
|
165
|
-
i = array.length - 1;
|
|
166
|
-
else if (i >= 0)
|
|
167
|
-
indexes.push(i - 1);
|
|
168
|
-
indexes.push(i);
|
|
169
|
-
let delta = maxDelta ?? Number.MAX_VALUE;
|
|
170
|
-
let index = -1;
|
|
171
|
-
for (let i of indexes) {
|
|
172
|
-
let d = Math.abs(arrayGetValue(array[i]) - searchValue);
|
|
173
|
-
if (d <= delta) {
|
|
174
|
-
delta = d;
|
|
175
|
-
index = i;
|
|
176
|
-
}
|
|
177
|
-
}
|
|
178
|
-
return index;
|
|
179
|
-
}
|
|
180
|
-
exports._BSearchNearest = _BSearchNearest;
|
|
181
|
-
function NormalizeDouble(value, digits) { let factor = 10 ** digits; return Math.round(value * factor) / factor; }
|
|
182
|
-
exports.NormalizeDouble = NormalizeDouble;
|
|
183
|
-
function fabs(value) { return Math.abs(value); }
|
|
184
|
-
function round(value) { return Math.round(value); }
|
|
185
|
-
function __GetMaxCommonDivisor(a, b, digits) {
|
|
186
|
-
let precis = 0.1 ** (digits) / 2;
|
|
187
|
-
while (true) {
|
|
188
|
-
if (b < precis)
|
|
189
|
-
return NormalizeDouble(a, digits);
|
|
190
|
-
a = fabs(a - round(a / b) * b);
|
|
191
|
-
if (a < precis)
|
|
192
|
-
return NormalizeDouble(b, digits);
|
|
193
|
-
b = fabs(b - round(b / a) * a);
|
|
194
|
-
}
|
|
195
|
-
}
|
|
196
|
-
function __GetMaxCommonDivisorInteger(a, b) {
|
|
197
|
-
while (true) {
|
|
198
|
-
if (b < 1)
|
|
199
|
-
return a;
|
|
200
|
-
a = a % b;
|
|
201
|
-
if (a < 1)
|
|
202
|
-
return b;
|
|
203
|
-
b = b % a;
|
|
204
|
-
}
|
|
205
|
-
}
|
|
206
|
-
function MaxCommonDivisor(a, b, digits = 8) {
|
|
207
|
-
if (a == undefined || b == undefined) {
|
|
208
|
-
console.trace();
|
|
209
|
-
throw ("!!! Undefined value in MaxCommonDivisor");
|
|
210
|
-
}
|
|
211
|
-
a = fabs(a);
|
|
212
|
-
b = fabs(b);
|
|
213
|
-
if (Number.isInteger(a) && Number.isInteger(b))
|
|
214
|
-
if (a > b)
|
|
215
|
-
return __GetMaxCommonDivisorInteger(a, b);
|
|
216
|
-
else
|
|
217
|
-
return __GetMaxCommonDivisorInteger(b, a);
|
|
218
|
-
if (a > b)
|
|
219
|
-
return __GetMaxCommonDivisor(a, b, digits);
|
|
220
|
-
else
|
|
221
|
-
return __GetMaxCommonDivisor(b, a, digits);
|
|
222
|
-
}
|
|
223
|
-
exports.MaxCommonDivisor = MaxCommonDivisor;
|
|
224
|
-
function MaxCommonDivisorOnArray(values, precisDigits = 8) {
|
|
225
|
-
let divis = 0;
|
|
226
|
-
for (let value of values) {
|
|
227
|
-
divis = MaxCommonDivisor(value, divis, precisDigits);
|
|
228
|
-
}
|
|
229
|
-
return divis;
|
|
230
|
-
}
|
|
231
|
-
exports.MaxCommonDivisorOnArray = MaxCommonDivisorOnArray;
|
|
232
|
-
function GetDblPrecision2(value, mindigits, maxdigits) {
|
|
233
|
-
maxdigits = Math.min(maxdigits, 16);
|
|
234
|
-
let epsilon = Math.pow(0.1, maxdigits + 1);
|
|
235
|
-
let d;
|
|
236
|
-
for (d = mindigits; d < maxdigits; d++) {
|
|
237
|
-
if (fabs(value - NormalizeDouble(value, d)) < epsilon)
|
|
238
|
-
break;
|
|
239
|
-
}
|
|
240
|
-
if (d < 0 || d >= 100)
|
|
241
|
-
throw ("wrong digits: value=" + value + " mindigits=" + mindigits + " maxdigits=" + maxdigits);
|
|
242
|
-
return d;
|
|
243
|
-
}
|
|
244
|
-
exports.GetDblPrecision2 = GetDblPrecision2;
|
|
245
|
-
;
|
|
246
|
-
function GetDblPrecision(value, maxdigits = 8) { return GetDblPrecision2(value, 0, maxdigits); }
|
|
247
|
-
exports.GetDblPrecision = GetDblPrecision;
|
|
248
|
-
function DblToStrAuto2(value, minprecis, maxprecis) { return value?.toFixed(GetDblPrecision2(value, minprecis, maxprecis)); }
|
|
249
|
-
function DblToStrAuto(value, maxprecis = 8) {
|
|
250
|
-
let digits = maxprecis;
|
|
251
|
-
if (digits < 0)
|
|
252
|
-
if (value != 0)
|
|
253
|
-
maxprecis = Math.trunc(Math.max(0, -digits - Math.log10(fabs(value))));
|
|
254
|
-
else
|
|
255
|
-
maxprecis = 0;
|
|
256
|
-
return DblToStrAuto2(value, 0, maxprecis);
|
|
257
|
-
}
|
|
258
|
-
exports.DblToStrAuto = DblToStrAuto;
|
|
259
|
-
function ArrayItemHandler(getter, setter) {
|
|
260
|
-
return {
|
|
261
|
-
get: function (target, prop) {
|
|
262
|
-
if (prop in target) {
|
|
263
|
-
return target[prop];
|
|
264
|
-
}
|
|
265
|
-
let num = typeof prop == "number" ? prop : typeof (prop) == "string" ? Number.parseInt(prop) : undefined;
|
|
266
|
-
if (num != undefined && !isNaN(num))
|
|
267
|
-
return getter(target, prop);
|
|
268
|
-
return target[prop];
|
|
269
|
-
},
|
|
270
|
-
set: !setter ? undefined :
|
|
271
|
-
function (target, prop, value, receiver) {
|
|
272
|
-
if (prop in target) {
|
|
273
|
-
target[prop] = value;
|
|
274
|
-
return true;
|
|
275
|
-
}
|
|
276
|
-
let num = typeof (prop) == "number" ? prop : typeof (prop) == "string" ? Number.parseInt(prop) : undefined;
|
|
277
|
-
if (num != undefined && !isNaN(num)) {
|
|
278
|
-
setter(target, prop, value);
|
|
279
|
-
return true;
|
|
280
|
-
}
|
|
281
|
-
target[prop] = value;
|
|
282
|
-
return true;
|
|
283
|
-
}
|
|
284
|
-
};
|
|
285
|
-
}
|
|
286
|
-
exports.ArrayItemHandler = ArrayItemHandler;
|
|
287
|
-
function CreateArrayProxy(target, getterOrArray, setter) {
|
|
288
|
-
if (typeof getterOrArray == "object")
|
|
289
|
-
return CreateArrayProxy(target, (i) => getterOrArray[i], (i, val) => getterOrArray[i] = val);
|
|
290
|
-
return new Proxy(target, ArrayItemHandler((target, i) => getterOrArray(i), setter ? (target, i, value) => setter(i, value) : undefined));
|
|
291
|
-
}
|
|
292
|
-
exports.CreateArrayProxy = CreateArrayProxy;
|
|
293
|
-
class __MyMap {
|
|
294
|
-
map = {};
|
|
295
|
-
keys;
|
|
296
|
-
values;
|
|
297
|
-
createArrays() {
|
|
298
|
-
let thisKeys = this.keys = [];
|
|
299
|
-
let thisValues = this.values = [];
|
|
300
|
-
for (let key of Object.keys(this.map))
|
|
301
|
-
if (!isNaN(Number(key))) {
|
|
302
|
-
let pair = this.map[key];
|
|
303
|
-
thisKeys.push(pair.key);
|
|
304
|
-
thisValues.push(pair.value);
|
|
305
|
-
}
|
|
306
|
-
}
|
|
307
|
-
OnModify(key) { }
|
|
308
|
-
Set(key, value) { this.map[key.valueOf()] = { key, value }; this.keys = null; this.OnModify(key); }
|
|
309
|
-
Get(key) { let pair = this.map[key.valueOf()]; return pair ? pair.value : undefined; }
|
|
310
|
-
Contains(key) { return this.map[key.valueOf()] != undefined; }
|
|
311
|
-
TryAdd(key, value) { if (!this.Contains(key))
|
|
312
|
-
return false; this.Set(key, value); return true; }
|
|
313
|
-
Add(key, value) { if (!this.TryAdd(key, value))
|
|
314
|
-
throw `Key ${key} is already exists for ${typeof value}`; }
|
|
315
|
-
Remove(key) { delete (this.map[key.valueOf()]); this.keys = null; this.OnModify(key); }
|
|
316
|
-
Count() { return this.sortedKeys.length; }
|
|
317
|
-
get sortedKeys() { if (!this.keys)
|
|
318
|
-
this.createArrays(); return this.keys; }
|
|
319
|
-
get Values() { if (!this.keys)
|
|
320
|
-
this.createArrays(); return this.values; }
|
|
321
|
-
}
|
|
322
|
-
exports.__MyMap = __MyMap;
|
|
323
|
-
class MyMap extends __MyMap {
|
|
324
|
-
Clone() { let newobj = new MyMap(); newobj.map = { ...this.map }; newobj.keys = this.keys; newobj.values = this.values; return newobj; }
|
|
325
|
-
}
|
|
326
|
-
exports.MyMap = MyMap;
|
|
327
|
-
class MyNumMap extends __MyMap {
|
|
328
|
-
constructor() {
|
|
329
|
-
super();
|
|
330
|
-
return CreateArrayProxy(this, (i) => this.Get(i), (key, value) => this.Set(key, value ?? (() => { throw "undefined value"; })()));
|
|
331
|
-
}
|
|
332
|
-
Clone() { let newobj = new MyNumMap(); newobj.map = { ...this.map }; newobj.keys = this.keys; newobj.values = this.values; return newobj; }
|
|
333
|
-
}
|
|
334
|
-
exports.MyNumMap = MyNumMap;
|
|
335
|
-
class StructMap {
|
|
336
|
-
_data = {};
|
|
337
|
-
_keys = [];
|
|
338
|
-
_values = [];
|
|
339
|
-
[Symbol.iterator]() { return this.entries(); }
|
|
340
|
-
set(key, value) {
|
|
341
|
-
let items = key instanceof Array ? key : Object.values(key);
|
|
342
|
-
if (!items?.length)
|
|
343
|
-
throw "passed empty object as key";
|
|
344
|
-
let obj = this._data;
|
|
345
|
-
for (let i = 0; i < items.length - 1; i++) {
|
|
346
|
-
let item = items[i];
|
|
347
|
-
obj = (obj[item] ??= {});
|
|
348
|
-
}
|
|
349
|
-
obj[items[items.length - 1]] = value;
|
|
350
|
-
this._keys.push(key instanceof Array ? [...key] : { ...key });
|
|
351
|
-
this._values.push(value);
|
|
352
|
-
}
|
|
353
|
-
get(key) {
|
|
354
|
-
let items = key instanceof Array ? key : Object.values(key);
|
|
355
|
-
if (items.length == 0)
|
|
356
|
-
return undefined;
|
|
357
|
-
let obj = this._data;
|
|
358
|
-
for (let item of items) {
|
|
359
|
-
obj = obj[item];
|
|
360
|
-
if (!obj)
|
|
361
|
-
return undefined;
|
|
362
|
-
}
|
|
363
|
-
return obj;
|
|
364
|
-
}
|
|
365
|
-
has(key) { return this.get(key) != null; }
|
|
366
|
-
keys() { return this._keys; }
|
|
367
|
-
values() { return this._values; }
|
|
368
|
-
*entries() { for (let [i, key] of this._keys.entries())
|
|
369
|
-
yield [key, this._values[i]]; }
|
|
370
|
-
}
|
|
371
|
-
exports.StructMap = StructMap;
|
|
372
|
-
class StructSet {
|
|
373
|
-
data = new StructMap();
|
|
374
|
-
[Symbol.iterator]() { return this.keys(); }
|
|
375
|
-
add(key) { return this.data.set(key, null); }
|
|
376
|
-
has(key) { return this.data.has(key); }
|
|
377
|
-
keys() { return this.data.keys(); }
|
|
378
|
-
values() { return this.data.keys(); }
|
|
379
|
-
}
|
|
380
|
-
exports.StructSet = StructSet;
|
|
381
|
-
class ArrayMap extends StructMap {
|
|
382
|
-
}
|
|
383
|
-
exports.ArrayMap = ArrayMap;
|
|
384
|
-
class ArraySet extends StructSet {
|
|
385
|
-
}
|
|
386
|
-
exports.ArraySet = ArraySet;
|
|
387
|
-
class VirtualItems {
|
|
388
|
-
getLength;
|
|
389
|
-
getValue;
|
|
390
|
-
get length() { return this.getLength(); }
|
|
391
|
-
*[Symbol.iterator]() { let len = this.length; for (let i = 0; i < len; i++)
|
|
392
|
-
yield this.getValue(i); }
|
|
393
|
-
constructor(itemGetter, lengthGetter) {
|
|
394
|
-
this.getLength = lengthGetter;
|
|
395
|
-
this.getValue = itemGetter;
|
|
396
|
-
return CreateArrayProxy(this, this.getValue);
|
|
397
|
-
}
|
|
398
|
-
}
|
|
399
|
-
exports.VirtualItems = VirtualItems;
|
|
400
|
-
let sss;
|
|
401
|
-
function JSON_clone(obj) {
|
|
402
|
-
return JSON.parse(JSON.stringify(obj));
|
|
403
|
-
}
|
|
404
|
-
exports.JSON_clone = JSON_clone;
|
|
405
|
-
class CancelToken {
|
|
406
|
-
_cancel = false;
|
|
407
|
-
isCancelled() { return this._cancel; }
|
|
408
|
-
cancel() { this._cancel = true; }
|
|
409
|
-
}
|
|
410
|
-
exports.CancelToken = CancelToken;
|
|
411
|
-
class CancelablePromise extends Promise {
|
|
412
|
-
static _rejectTmp;
|
|
413
|
-
_reject;
|
|
414
|
-
_onCancel;
|
|
415
|
-
constructor(executor, onCancel) {
|
|
416
|
-
super((resolve, reject) => { CancelablePromise._rejectTmp = reject; executor(resolve, reject); });
|
|
417
|
-
this._reject = CancelablePromise._rejectTmp;
|
|
418
|
-
this._onCancel = onCancel;
|
|
419
|
-
}
|
|
420
|
-
cancel(msg) { if (this._onCancel)
|
|
421
|
-
this._onCancel(); return this._reject(msg); }
|
|
422
|
-
static resolve(value) { return new CancelablePromise((resolve, reject) => Promise.resolve(value).then(resolve, reject)); }
|
|
423
|
-
}
|
|
424
|
-
exports.CancelablePromise = CancelablePromise;
|
|
425
|
-
function createCancellableTimer(interval_ms, onTimer, onStop) {
|
|
426
|
-
let timer;
|
|
427
|
-
function stop() { clearInterval(timer); onStop?.(); }
|
|
428
|
-
let executor = (resolve, reject) => {
|
|
429
|
-
timer = setInterval(() => { if (onTimer() == false) {
|
|
430
|
-
stop();
|
|
431
|
-
reject("Stopped");
|
|
432
|
-
} }, interval_ms);
|
|
433
|
-
};
|
|
434
|
-
return new CancelablePromise(executor, () => stop());
|
|
435
|
-
}
|
|
436
|
-
exports.createCancellableTimer = createCancellableTimer;
|
|
437
|
-
async function createCancellableTaskWrapper(task, isStopped, interval_ms = 50) {
|
|
438
|
-
let stopCheckingTask = createCancellableTimer(interval_ms, () => !isStopped?.());
|
|
439
|
-
try {
|
|
440
|
-
return await Promise.race([task, stopCheckingTask]);
|
|
441
|
-
}
|
|
442
|
-
catch (e) {
|
|
443
|
-
if (isStopped?.())
|
|
444
|
-
return "stopped";
|
|
445
|
-
throw e;
|
|
446
|
-
}
|
|
447
|
-
finally {
|
|
448
|
-
stopCheckingTask.cancel();
|
|
449
|
-
}
|
|
450
|
-
}
|
|
451
|
-
exports.createCancellableTaskWrapper = createCancellableTaskWrapper;
|
|
452
|
-
class MyTimerInterval {
|
|
453
|
-
_timer;
|
|
454
|
-
_onstop;
|
|
455
|
-
constructor(period_ms, onTimer, onStop) { this._timer = setInterval(onTimer, period_ms); this._onstop = onStop; }
|
|
456
|
-
stop() { clearInterval(this._timer); if (this._onstop)
|
|
457
|
-
this._onstop(); }
|
|
458
|
-
}
|
|
459
|
-
exports.MyTimerInterval = MyTimerInterval;
|
|
460
|
-
class Mutex {
|
|
461
|
-
mutex = Promise.resolve();
|
|
462
|
-
lock() {
|
|
463
|
-
let begin = unlock => { };
|
|
464
|
-
this.mutex = this.mutex.then(() => {
|
|
465
|
-
return new Promise(begin);
|
|
466
|
-
});
|
|
467
|
-
return new Promise(res => {
|
|
468
|
-
begin = res;
|
|
469
|
-
});
|
|
470
|
-
}
|
|
471
|
-
async dispatch(fn) {
|
|
472
|
-
const unlock = await this.lock();
|
|
473
|
-
try {
|
|
474
|
-
return await fn();
|
|
475
|
-
}
|
|
476
|
-
finally {
|
|
477
|
-
unlock();
|
|
478
|
-
}
|
|
479
|
-
}
|
|
480
|
-
static createLock() { return (new Mutex).lock(); }
|
|
481
|
-
}
|
|
482
|
-
exports.Mutex = Mutex;
|
|
483
|
-
async function copyToClipboard(textToCopy) {
|
|
484
|
-
const moduleName = 'child_process';
|
|
485
|
-
if (typeof window != "object")
|
|
486
|
-
return (await Promise.resolve(`${moduleName}`).then(s => require(s))).spawn('clip').stdin.end(textToCopy);
|
|
487
|
-
if (navigator.clipboard && window.isSecureContext) {
|
|
488
|
-
return navigator.clipboard.writeText(textToCopy);
|
|
489
|
-
}
|
|
490
|
-
else {
|
|
491
|
-
let textArea = document.createElement("textarea");
|
|
492
|
-
textArea.value = textToCopy;
|
|
493
|
-
textArea.style.position = "fixed";
|
|
494
|
-
textArea.style.left = "-999999px";
|
|
495
|
-
textArea.style.top = "-999999px";
|
|
496
|
-
document.body.appendChild(textArea);
|
|
497
|
-
textArea.focus();
|
|
498
|
-
textArea.select();
|
|
499
|
-
return new Promise((res, rej) => {
|
|
500
|
-
document.execCommand('copy') ? res() : rej();
|
|
501
|
-
textArea.remove();
|
|
502
|
-
});
|
|
503
|
-
}
|
|
504
|
-
}
|
|
505
|
-
exports.copyToClipboard = copyToClipboard;
|
|
506
|
-
function deepEqual(object1, object2) {
|
|
507
|
-
if (object1 == object2)
|
|
508
|
-
return true;
|
|
509
|
-
const keys1 = Object.keys(object1);
|
|
510
|
-
const keys2 = Object.keys(object2);
|
|
511
|
-
if (keys1.length != keys2.length) {
|
|
512
|
-
return false;
|
|
513
|
-
}
|
|
514
|
-
for (const key of keys1) {
|
|
515
|
-
const val1 = object1[key];
|
|
516
|
-
const val2 = object2[key];
|
|
517
|
-
if (val1 === val2)
|
|
518
|
-
continue;
|
|
519
|
-
const areObjects = typeof (val1) == "object" && typeof (val2) == "object" && val1 != null && val2 != null;
|
|
520
|
-
if (!areObjects || !deepEqual(val1, val2))
|
|
521
|
-
return false;
|
|
522
|
-
}
|
|
523
|
-
return true;
|
|
524
|
-
}
|
|
525
|
-
exports.deepEqual = deepEqual;
|
|
526
|
-
function shallowEqual(object1, object2) {
|
|
527
|
-
if (!object1 || !object2)
|
|
528
|
-
return object1 == object2;
|
|
529
|
-
const keys1 = Object.keys(object1);
|
|
530
|
-
const keys2 = Object.keys(object2);
|
|
531
|
-
if (keys1.length != keys2.length) {
|
|
532
|
-
return false;
|
|
533
|
-
}
|
|
534
|
-
for (const key of keys1) {
|
|
535
|
-
const val1 = object1[key];
|
|
536
|
-
const val2 = object2[key];
|
|
537
|
-
if (val1 !== val2)
|
|
538
|
-
return false;
|
|
539
|
-
}
|
|
540
|
-
return true;
|
|
541
|
-
}
|
|
542
|
-
exports.shallowEqual = shallowEqual;
|
|
543
|
-
class CObjectID {
|
|
544
|
-
static #id = 1;
|
|
545
|
-
value = CObjectID.#id++;
|
|
546
|
-
#object;
|
|
547
|
-
#owner;
|
|
548
|
-
[Symbol.species] = this;
|
|
549
|
-
toString = () => { return this.value + ""; };
|
|
550
|
-
constructor(object, owner) { this.#object = object; this.#owner = owner; }
|
|
551
|
-
static getInfo(id) {
|
|
552
|
-
let obj = id;
|
|
553
|
-
return { object: obj.#object, owner: obj.#owner };
|
|
554
|
-
}
|
|
555
|
-
static getObjectByOwner(id, owner) { let data = CObjectID.getInfo(id); return data.owner == owner ? data.object : undefined; }
|
|
556
|
-
}
|
|
557
|
-
exports.CObjectID = CObjectID;
|
|
558
|
-
const stringifyDefault = JSON.stringify;
|
|
559
|
-
JSON.stringify = (value, replacer, space) => stringifyDefault(value, (key, val) => val instanceof CObjectID ? val.value + "" : typeof replacer == "function" ? replacer(key, val) : val, space);
|
|
560
|
-
class MapExt extends Map {
|
|
561
|
-
immutArray;
|
|
562
|
-
set(key, value) { this.immutArray = undefined; return super.set(key, value); }
|
|
563
|
-
delete(key) { this.immutArray = undefined; return super.delete(key); }
|
|
564
|
-
valuesArrayImmutable() { return this.immutArray ??= [...this.values()]; }
|
|
565
|
-
getOrSetFunc(key, val) {
|
|
566
|
-
let v = this.get(key);
|
|
567
|
-
if (v === undefined && !this.has(key))
|
|
568
|
-
this.set(key, v = val());
|
|
569
|
-
return v;
|
|
570
|
-
}
|
|
571
|
-
getOrSet(key, val) { return this.getOrSetFunc(key, () => val); }
|
|
572
|
-
}
|
|
573
|
-
exports.MapExt = MapExt;
|
|
574
|
-
class WeakMapExt extends WeakMap {
|
|
575
|
-
getOrSetFunc(key, val) {
|
|
576
|
-
let v = this.get(key);
|
|
577
|
-
if (v === undefined && !this.has(key))
|
|
578
|
-
this.set(key, v = val());
|
|
579
|
-
return v;
|
|
580
|
-
}
|
|
581
|
-
getOrSet(key, val) { return this.getOrSetFunc(key, () => val); }
|
|
582
|
-
}
|
|
583
|
-
exports.WeakMapExt = WeakMapExt;
|
|
584
|
-
class CCachedValueT {
|
|
585
|
-
key;
|
|
586
|
-
val;
|
|
587
|
-
size;
|
|
588
|
-
constructor(size) { this.size = size; }
|
|
589
|
-
getOrSet(key, valFunc) {
|
|
590
|
-
if (!this.key) {
|
|
591
|
-
this.key = [...key];
|
|
592
|
-
return this.val = valFunc();
|
|
593
|
-
}
|
|
594
|
-
for (let i = 0; i < this.size; i++)
|
|
595
|
-
if (key[i] != this.key[i]) {
|
|
596
|
-
this.key = [...key];
|
|
597
|
-
return this.val = valFunc();
|
|
598
|
-
}
|
|
599
|
-
return this.val;
|
|
600
|
-
}
|
|
601
|
-
}
|
|
602
|
-
exports.CCachedValueT = CCachedValueT;
|
|
603
|
-
class CCachedValue2 extends CCachedValueT {
|
|
604
|
-
constructor() { super(2); }
|
|
605
|
-
}
|
|
606
|
-
exports.CCachedValue2 = CCachedValue2;
|
|
607
|
-
function isObjectCastableTo(object, members) {
|
|
608
|
-
let keys = Object.keys(object);
|
|
609
|
-
for (let m of members)
|
|
610
|
-
if (!keys.includes(m))
|
|
611
|
-
return false;
|
|
612
|
-
return true;
|
|
613
|
-
}
|
|
614
|
-
exports.isObjectCastableTo = isObjectCastableTo;
|
|
615
|
-
//# sourceMappingURL=Common.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Common.js","sourceRoot":"","sources":["../../../src/Common/Common.ts"],"names":[],"mappings":"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"}
|