pw-js-api 0.1.1-dev.dfeb897 → 0.1.2-dev.e6a840d
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/README.md +2 -2
- package/browser/pw.dev.js +2 -2
- package/browser/pw.prod.js +1 -1
- package/dist/api/PWApiClient.d.ts +8 -1
- package/dist/api/PWApiClient.js +12 -18
- package/dist/game/PWGameClient.d.ts +11 -1
- package/dist/game/PWGameClient.js +40 -25
- package/package.json +1 -1
|
@@ -5,7 +5,14 @@ import type { GameClientSettings, WorldJoinData } from "../types/game.js";
|
|
|
5
5
|
* Note if you want to join a world, use new PWGameClient() then run .init()
|
|
6
6
|
*/
|
|
7
7
|
export default class PWApiClient {
|
|
8
|
-
|
|
8
|
+
/**
|
|
9
|
+
* The account token, this is private to prevent tampering.
|
|
10
|
+
*/
|
|
11
|
+
private token?;
|
|
12
|
+
/**
|
|
13
|
+
* Account details with email and password, if applicable.
|
|
14
|
+
*/
|
|
15
|
+
private account;
|
|
9
16
|
loggedIn: boolean;
|
|
10
17
|
/**
|
|
11
18
|
* This will create an instance of the class, as you're using the token, it will automatically be marked as loggedIn.
|
package/dist/api/PWApiClient.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _PWApiClient_token, _PWApiClient_account;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
const tslib_1 = require("tslib");
|
|
5
4
|
const PWGameClient_js_1 = tslib_1.__importDefault(require("../game/PWGameClient.js"));
|
|
@@ -10,37 +9,33 @@ const Misc_js_1 = require("../util/Misc.js");
|
|
|
10
9
|
*/
|
|
11
10
|
class PWApiClient {
|
|
12
11
|
constructor(email, password) {
|
|
13
|
-
/**
|
|
14
|
-
* The account token, this is private to prevent tampering.
|
|
15
|
-
*/
|
|
16
|
-
_PWApiClient_token.set(this, void 0);
|
|
17
12
|
/**
|
|
18
13
|
* Account details with email and password, if applicable.
|
|
19
14
|
*/
|
|
20
|
-
|
|
15
|
+
this.account = {
|
|
21
16
|
email: "",
|
|
22
17
|
password: ""
|
|
23
|
-
}
|
|
18
|
+
};
|
|
24
19
|
this.loggedIn = false;
|
|
25
20
|
if (password === undefined) {
|
|
26
|
-
|
|
21
|
+
this.token = email;
|
|
27
22
|
this.loggedIn = true;
|
|
28
23
|
return;
|
|
29
24
|
}
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
// this
|
|
25
|
+
this.account.email = email;
|
|
26
|
+
this.account.password = password;
|
|
27
|
+
// this.token = token;
|
|
33
28
|
}
|
|
34
29
|
authenticate(email, password) {
|
|
35
30
|
if (email === undefined) {
|
|
36
|
-
if (
|
|
31
|
+
if (this.account.email.length === 0 || this.account.password.length === 0)
|
|
37
32
|
throw Error("No email/password given.");
|
|
38
|
-
email =
|
|
39
|
-
password =
|
|
33
|
+
email = this.account.email;
|
|
34
|
+
password = this.account.password;
|
|
40
35
|
}
|
|
41
36
|
return this.request(`${Constants_js_1.Endpoint.Api}/api/collections/users/auth-with-password`, { identity: email, password }).then(res => {
|
|
42
37
|
if ("token" in res) {
|
|
43
|
-
|
|
38
|
+
this.token = res.token;
|
|
44
39
|
this.loggedIn = true;
|
|
45
40
|
}
|
|
46
41
|
return res;
|
|
@@ -201,13 +196,12 @@ class PWApiClient {
|
|
|
201
196
|
* @param isAuthenticated If true, this will send the token as the header.
|
|
202
197
|
*/
|
|
203
198
|
request(url, body, isAuthenticated = false) {
|
|
204
|
-
return PWApiClient.request(url, body, isAuthenticated ?
|
|
199
|
+
return PWApiClient.request(url, body, isAuthenticated ? this.token : undefined);
|
|
205
200
|
}
|
|
206
201
|
}
|
|
207
|
-
_PWApiClient_token = new WeakMap(), _PWApiClient_account = new WeakMap();
|
|
208
202
|
/**
|
|
209
203
|
* This will be an empty array if getRoomTypes has never been used successfully at least once.
|
|
210
204
|
*/
|
|
211
205
|
PWApiClient.roomTypes = [];
|
|
212
206
|
exports.default = PWApiClient;
|
|
213
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
207
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdBcGlDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYXBpL1BXQXBpQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNGQUFtRDtBQUduRCx1REFBZ0Q7QUFDaEQsNkNBQWdEO0FBRWhEOztHQUVHO0FBQ0gsTUFBcUIsV0FBVztJQTBCNUIsWUFBWSxLQUFhLEVBQUUsUUFBaUI7UUFwQjVDOztXQUVHO1FBQ0ssWUFBTyxHQUFHO1lBQ2QsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsRUFBRTtTQUNmLENBQUE7UUFFRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBYWIsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRWpDLHNCQUFzQjtJQUMxQixDQUFDO0lBWUQsWUFBWSxDQUFDLEtBQWMsRUFBRSxRQUFpQjtRQUMxQyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsTUFBTSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUVuSCxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0IsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3JDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFP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
|
|
@@ -5,10 +5,10 @@ import type { MergedEvents, WorldEvents } from "../types/events.js";
|
|
|
5
5
|
import Bucket from "../util/Bucket.js";
|
|
6
6
|
import type { OmitRecursively, Optional, Promisable } from "../types/misc.js";
|
|
7
7
|
export default class PWGameClient {
|
|
8
|
-
#private;
|
|
9
8
|
settings: GameClientSettings;
|
|
10
9
|
api?: PWApiClient;
|
|
11
10
|
socket?: WebSocket;
|
|
11
|
+
private prevWorldId?;
|
|
12
12
|
protected totalBucket: Bucket;
|
|
13
13
|
protected chatBucket: Bucket;
|
|
14
14
|
/**
|
|
@@ -23,6 +23,10 @@ export default class PWGameClient {
|
|
|
23
23
|
* (This returns itself for chaining)
|
|
24
24
|
*/
|
|
25
25
|
joinWorld(roomId: string, joinData?: WorldJoinData): Promise<PWGameClient>;
|
|
26
|
+
/**
|
|
27
|
+
* INTERNAL
|
|
28
|
+
*/
|
|
29
|
+
private createSocket;
|
|
26
30
|
/**
|
|
27
31
|
* This is a more direct route if you already have a join key acquired via Pixelwalker's API.
|
|
28
32
|
*
|
|
@@ -64,6 +68,12 @@ export default class PWGameClient {
|
|
|
64
68
|
* @param direct If it should skip queue.
|
|
65
69
|
*/
|
|
66
70
|
send<Event extends keyof WorldEvents>(type: Event, value?: OmitRecursively<Sendable<Event, WorldEvents>, "$typeName" | "$unknown">, direct?: boolean): void;
|
|
71
|
+
/**
|
|
72
|
+
* By default this will set the game client settings reconnectable to false.
|
|
73
|
+
*
|
|
74
|
+
* If reconnect is true, an additionl parameter can be passed which is the amount of time to wait before it attempts to reconnect (DEFAULT: none)
|
|
75
|
+
*/
|
|
76
|
+
disconnect(reconnect?: number | boolean): boolean;
|
|
67
77
|
}
|
|
68
78
|
type Sendable<E extends keyof WorldEvents, WE extends WorldEvents> = E extends "worldBlockPlacedPacket" ? Optional<WorldBlockPlacedPacket, "extraFields"> : E extends "WorldBlockFilledPacket" ? Optional<WorldBlockFilledPacket, "extraFields"> : E extends "playerChatPacket" ? Omit<PlayerChatPacket, "playerId"> : WE[E];
|
|
69
79
|
export {};
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var _PWGameClient_instances, _PWGameClient_prevWorldId, _PWGameClient_createSocket;
|
|
3
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
3
|
const tslib_1 = require("tslib");
|
|
5
4
|
const world_pb_js_1 = require("../gen/world_pb.js");
|
|
@@ -10,8 +9,6 @@ const Bucket_js_1 = tslib_1.__importDefault(require("../util/Bucket.js"));
|
|
|
10
9
|
class PWGameClient {
|
|
11
10
|
constructor(api, settings) {
|
|
12
11
|
var _a, _b, _c, _d;
|
|
13
|
-
_PWGameClient_instances.add(this);
|
|
14
|
-
_PWGameClient_prevWorldId.set(this, void 0);
|
|
15
12
|
this.totalBucket = new Bucket_js_1.default(100, 1000);
|
|
16
13
|
this.chatBucket = new Bucket_js_1.default(10, 1000);
|
|
17
14
|
// listen<Event extends keyof WorldEvents>(type: Event) {
|
|
@@ -61,7 +58,7 @@ class PWGameClient {
|
|
|
61
58
|
throw Error("Unable to secure a join key - is account details valid?");
|
|
62
59
|
const connectUrl = `${Constants_js_1.Endpoint.GameWS}/room/${joinReq.token}`
|
|
63
60
|
+ (joinData === undefined ? "" : "?joinData=" + btoa(JSON.stringify(joinData)));
|
|
64
|
-
|
|
61
|
+
this.prevWorldId = roomId;
|
|
65
62
|
let count = (_d = this.settings.reconnectCount) !== null && _d !== void 0 ? _d : 3;
|
|
66
63
|
return new Promise((res, rej) => {
|
|
67
64
|
var _a;
|
|
@@ -69,13 +66,30 @@ class PWGameClient {
|
|
|
69
66
|
if (count-- < 0)
|
|
70
67
|
rej(new Error("Unable to (re)connect."));
|
|
71
68
|
this.invoke("debug", "Failed to reconnect, retrying.");
|
|
72
|
-
this.socket =
|
|
69
|
+
this.socket = this.createSocket(connectUrl, timer, res);
|
|
73
70
|
timer.refresh();
|
|
74
71
|
}, (_a = this.settings.reconnectInterval) !== null && _a !== void 0 ? _a : 5500);
|
|
75
|
-
this.socket =
|
|
72
|
+
this.socket = this.createSocket(connectUrl, timer, res);
|
|
76
73
|
});
|
|
77
74
|
});
|
|
78
75
|
}
|
|
76
|
+
/**
|
|
77
|
+
* INTERNAL
|
|
78
|
+
*/
|
|
79
|
+
createSocket(url, timer, res) {
|
|
80
|
+
const socket = new isows_1.WebSocket(url);
|
|
81
|
+
socket.binaryType = "arraybuffer";
|
|
82
|
+
socket.onclose = this.onSocketClose.bind(this);
|
|
83
|
+
socket.onmessage = this.onSocketMessage.bind(this);
|
|
84
|
+
socket.onopen = (evt) => {
|
|
85
|
+
clearTimeout(timer);
|
|
86
|
+
this.invoke("debug", "Connected successfully.");
|
|
87
|
+
// console.log("Connected.");
|
|
88
|
+
// console.log("Connected: " + new Date(ev.timeStamp));
|
|
89
|
+
res(this);
|
|
90
|
+
};
|
|
91
|
+
return socket;
|
|
92
|
+
}
|
|
79
93
|
/**
|
|
80
94
|
* This is a more direct route if you already have a join key acquired via Pixelwalker's API.
|
|
81
95
|
*
|
|
@@ -94,10 +108,10 @@ class PWGameClient {
|
|
|
94
108
|
rej(new Error("Unable to (re)connect."));
|
|
95
109
|
cli.invoke("debug", "Failed to reconnect, retrying.");
|
|
96
110
|
// I know this is impossible but anyway
|
|
97
|
-
cli.socket =
|
|
111
|
+
cli.socket = cli.createSocket(connectUrl, timer, res);
|
|
98
112
|
timer.refresh();
|
|
99
113
|
}, (_a = cli.settings.reconnectInterval) !== null && _a !== void 0 ? _a : 5500);
|
|
100
|
-
cli.socket =
|
|
114
|
+
cli.socket = cli.createSocket(connectUrl, timer, res);
|
|
101
115
|
});
|
|
102
116
|
}
|
|
103
117
|
onSocketClose(evt) {
|
|
@@ -105,8 +119,8 @@ class PWGameClient {
|
|
|
105
119
|
if (this.settings.reconnectable) {
|
|
106
120
|
if (this.api === undefined)
|
|
107
121
|
return this.invoke("debug", "Not attempting to reconnect as this game client was created with a join token.");
|
|
108
|
-
if (
|
|
109
|
-
return this.joinWorld(
|
|
122
|
+
if (this.prevWorldId)
|
|
123
|
+
return this.joinWorld(this.prevWorldId);
|
|
110
124
|
else
|
|
111
125
|
this.invoke("debug", "Warning: Socket closed, attempt to reconnect was made but no previous world id was kept.");
|
|
112
126
|
}
|
|
@@ -209,20 +223,21 @@ class PWGameClient {
|
|
|
209
223
|
this.chatBucket.queue(() => { send(); });
|
|
210
224
|
}, type === "playerChatPacket");
|
|
211
225
|
}
|
|
226
|
+
/**
|
|
227
|
+
* By default this will set the game client settings reconnectable to false.
|
|
228
|
+
*
|
|
229
|
+
* If reconnect is true, an additionl parameter can be passed which is the amount of time to wait before it attempts to reconnect (DEFAULT: none)
|
|
230
|
+
*/
|
|
231
|
+
disconnect(reconnect = false) {
|
|
232
|
+
var _a, _b;
|
|
233
|
+
// Accept the possibility that people may try to
|
|
234
|
+
if (reconnect === true)
|
|
235
|
+
this.settings.reconnectable = true;
|
|
236
|
+
else
|
|
237
|
+
this.settings.reconnectable = false;
|
|
238
|
+
(_a = this.socket) === null || _a === void 0 ? void 0 : _a.close();
|
|
239
|
+
return ((_b = this.socket) === null || _b === void 0 ? void 0 : _b.readyState) === isows_1.WebSocket.CLOSED;
|
|
240
|
+
}
|
|
212
241
|
}
|
|
213
|
-
_PWGameClient_prevWorldId = new WeakMap(), _PWGameClient_instances = new WeakSet(), _PWGameClient_createSocket = function _PWGameClient_createSocket(url, timer, res) {
|
|
214
|
-
const socket = new isows_1.WebSocket(url);
|
|
215
|
-
socket.binaryType = "arraybuffer";
|
|
216
|
-
socket.onclose = this.onSocketClose.bind(this);
|
|
217
|
-
socket.onmessage = this.onSocketMessage.bind(this);
|
|
218
|
-
socket.onopen = (evt) => {
|
|
219
|
-
clearTimeout(timer);
|
|
220
|
-
this.invoke("debug", "Connected successfully.");
|
|
221
|
-
// console.log("Connected.");
|
|
222
|
-
// console.log("Connected: " + new Date(ev.timeStamp));
|
|
223
|
-
res(this);
|
|
224
|
-
};
|
|
225
|
-
return socket;
|
|
226
|
-
};
|
|
227
242
|
exports.default = PWGameClient;
|
|
228
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdHYW1lQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2dhbWUvUFdHYW1lQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxvREFBbUo7QUFFbkosdURBQWdEO0FBRWhELGlDQUFrQztBQUNsQyxpREFBa0U7QUFFbEUsMEVBQXVDO0FBR3ZDLE1BQXFCLFlBQVk7SUFpQjdCLFlBQVksR0FBK0MsRUFBRSxRQUFzQzs7O1FBWG5HLDRDQUFzQjtRQUVaLGdCQUFXLEdBQUcsSUFBSSxtQkFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxlQUFVLEdBQUcsSUFBSSxtQkFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQXVKNUMseURBQXlEO1FBQ3pELGtCQUFrQjtRQUNsQixJQUFJO1FBRUo7Ozs7O1dBS0c7UUFDTyxjQUFTLEdBQUcsRUFFa0YsQ0FBQztRQTFKckcsd0RBQXdEO1FBQ3hELElBQUksR0FBRyxJQUFJLFlBQVksSUFBSSxHQUFHO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7YUFDMUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNYLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDZixHQUFHLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ1osYUFBYSxFQUFFLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGFBQWEsbUNBQUksSUFBSTtZQUM5QyxjQUFjLEVBQUUsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsY0FBYyxtQ0FBSSxDQUFDO1lBQzdDLGlCQUFpQixFQUFFLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGlCQUFpQixtQ0FBSSxJQUFJO1lBQ3RELGFBQWEsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxh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
|
|
243
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdHYW1lQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2dhbWUvUFdHYW1lQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9EQUFtSjtBQUVuSix1REFBZ0Q7QUFFaEQsaUNBQWtDO0FBQ2xDLGlEQUFrRTtBQUVsRSwwRUFBdUM7QUFHdkMsTUFBcUIsWUFBWTtJQWdCN0IsWUFBWSxHQUErQyxFQUFFLFFBQXNDOztRQVJ6RixnQkFBVyxHQUFHLElBQUksbUJBQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLElBQUksbUJBQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUF5SjVDLHlEQUF5RDtRQUN6RCxrQkFBa0I7UUFDbEIsSUFBSTtRQUVKOzs7OztXQUtHO1FBQ08sY0FBUyxHQUFHLEVBRWtGLENBQUM7UUE3SnJHLHdEQUF3RDtRQUN4RCxJQUFJLEdBQUcsSUFBSSxZQUFZLElBQUksR0FBRztZQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2FBQzFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDWCxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ2YsR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUNwQixDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNaLGFBQWEsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxhQUFhLG1DQUFJLElBQUk7WUFDOUMsY0FBYyxFQUFFLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGNBQWMsbUNBQUksQ0FBQztZQUM3QyxpQkFBaUIsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxpQkFBaUIsbUNBQUksSUFBSTtZQUN0RCxhQUFhLEVBQUUsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsYUFBYSxtQ0FBSSxDQUFD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
|