@medievalrain/binance-ts 0.3.3 → 0.5.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/index.js +29 -10
- package/package.json +2 -2
package/dist/index.js
CHANGED
|
@@ -1038,14 +1038,22 @@ var BinanceRestClient = class {
|
|
|
1038
1038
|
|
|
1039
1039
|
//#endregion
|
|
1040
1040
|
//#region src/websocket/base/typed-event-emitter.ts
|
|
1041
|
-
|
|
1042
|
-
eventTarget = new EventTarget();
|
|
1043
|
-
addEventListener(event, callback, options) {
|
|
1044
|
-
|
|
1045
|
-
}
|
|
1046
|
-
|
|
1047
|
-
|
|
1048
|
-
}
|
|
1041
|
+
const createEmitter = () => {
|
|
1042
|
+
const eventTarget = new EventTarget();
|
|
1043
|
+
const addEventListener = (event, callback, options) => {
|
|
1044
|
+
eventTarget.addEventListener(event, (event$1) => callback(...event$1.detail), options);
|
|
1045
|
+
};
|
|
1046
|
+
const removeEventListener = (event, callback) => {
|
|
1047
|
+
eventTarget.removeEventListener(event, callback);
|
|
1048
|
+
};
|
|
1049
|
+
const emit = (event, ...data) => {
|
|
1050
|
+
eventTarget.dispatchEvent(new CustomEvent(event, { detail: data }));
|
|
1051
|
+
};
|
|
1052
|
+
return {
|
|
1053
|
+
addEventListener,
|
|
1054
|
+
removeEventListener,
|
|
1055
|
+
emit
|
|
1056
|
+
};
|
|
1049
1057
|
};
|
|
1050
1058
|
|
|
1051
1059
|
//#endregion
|
|
@@ -1054,7 +1062,7 @@ const makeSection = (baseUrl) => {
|
|
|
1054
1062
|
let socket = new WebSocket(baseUrl);
|
|
1055
1063
|
let connectionController = new AbortController();
|
|
1056
1064
|
const subscriptions = /* @__PURE__ */ new Map();
|
|
1057
|
-
const emitter =
|
|
1065
|
+
const emitter = createEmitter();
|
|
1058
1066
|
let connectionId = 1;
|
|
1059
1067
|
const parseMessageEvent = (e) => {
|
|
1060
1068
|
if (typeof e.data !== "string") {
|
|
@@ -1109,9 +1117,11 @@ const makeSection = (baseUrl) => {
|
|
|
1109
1117
|
});
|
|
1110
1118
|
await new Promise((resolve, reject) => {
|
|
1111
1119
|
const controller = new AbortController();
|
|
1120
|
+
const timeout = setTimeout(() => reject(), 1e4);
|
|
1112
1121
|
const handleSubscription = (data) => {
|
|
1113
1122
|
if (data.id !== currentId) return;
|
|
1114
1123
|
controller.abort();
|
|
1124
|
+
clearTimeout(timeout);
|
|
1115
1125
|
if ("error" in data) return reject();
|
|
1116
1126
|
else {
|
|
1117
1127
|
toSubscribe.forEach((symbol) => subscriptions.set(symbol, "SUBSCRIBED"));
|
|
@@ -1143,9 +1153,11 @@ const makeSection = (baseUrl) => {
|
|
|
1143
1153
|
});
|
|
1144
1154
|
await new Promise((resolve, reject) => {
|
|
1145
1155
|
const controller = new AbortController();
|
|
1156
|
+
const timeout = setTimeout(() => reject(), 1e4);
|
|
1146
1157
|
const handleSubscription = (data) => {
|
|
1147
1158
|
if (data.id !== currentId) return;
|
|
1148
1159
|
controller.abort();
|
|
1160
|
+
clearTimeout(timeout);
|
|
1149
1161
|
if ("error" in data) return reject();
|
|
1150
1162
|
else {
|
|
1151
1163
|
toUnsubscribe.forEach((symbol) => subscriptions.delete(symbol));
|
|
@@ -1156,11 +1168,18 @@ const makeSection = (baseUrl) => {
|
|
|
1156
1168
|
});
|
|
1157
1169
|
if (delayed.length) return unsubscribe(delayed);
|
|
1158
1170
|
};
|
|
1171
|
+
const addMarketEventListener = (callback, options) => {
|
|
1172
|
+
emitter.addEventListener("marketMessage", callback, options);
|
|
1173
|
+
};
|
|
1174
|
+
const removeMarketEventListener = (callback) => {
|
|
1175
|
+
emitter.removeEventListener("marketMessage", callback);
|
|
1176
|
+
};
|
|
1159
1177
|
return {
|
|
1160
1178
|
socket,
|
|
1161
1179
|
subscriptions,
|
|
1162
1180
|
connectionId,
|
|
1163
|
-
addEventListener:
|
|
1181
|
+
addEventListener: addMarketEventListener,
|
|
1182
|
+
removeEventListener: removeMarketEventListener,
|
|
1164
1183
|
subscribe,
|
|
1165
1184
|
unsubscribe
|
|
1166
1185
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@medievalrain/binance-ts",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Binance API SDK",
|
|
5
5
|
"access": "public",
|
|
6
6
|
"type": "module",
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
"tsdown": "0.15.1",
|
|
29
29
|
"typescript": "5.9.2",
|
|
30
30
|
"vitest": "4.0.0-beta.11",
|
|
31
|
-
"@types/node": "24.3.
|
|
31
|
+
"@types/node": "24.3.2"
|
|
32
32
|
},
|
|
33
33
|
"peerDependencies": {
|
|
34
34
|
"zod": "^4"
|