pw-js-api 0.1.1-dev.dfeb897 → 0.1.2-dev.72bfdfb

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.
@@ -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
- #private;
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.
@@ -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
- _PWApiClient_account.set(this, {
15
+ this.account = {
21
16
  email: "",
22
17
  password: ""
23
- });
18
+ };
24
19
  this.loggedIn = false;
25
20
  if (password === undefined) {
26
- tslib_1.__classPrivateFieldSet(this, _PWApiClient_token, email, "f");
21
+ this.token = email;
27
22
  this.loggedIn = true;
28
23
  return;
29
24
  }
30
- tslib_1.__classPrivateFieldGet(this, _PWApiClient_account, "f").email = email;
31
- tslib_1.__classPrivateFieldGet(this, _PWApiClient_account, "f").password = password;
32
- // this.#token = token;
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 (tslib_1.__classPrivateFieldGet(this, _PWApiClient_account, "f").email.length === 0 || tslib_1.__classPrivateFieldGet(this, _PWApiClient_account, "f").password.length === 0)
31
+ if (this.account.email.length === 0 || this.account.password.length === 0)
37
32
  throw Error("No email/password given.");
38
- email = tslib_1.__classPrivateFieldGet(this, _PWApiClient_account, "f").email;
39
- password = tslib_1.__classPrivateFieldGet(this, _PWApiClient_account, "f").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
- tslib_1.__classPrivateFieldSet(this, _PWApiClient_token, res.token, "f");
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 ? tslib_1.__classPrivateFieldGet(this, _PWApiClient_token, "f") : undefined);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdBcGlDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYXBpL1BXQXBpQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFBQSxzRkFBbUQ7QUFHbkQsdURBQWdEO0FBQ2hELDZDQUFnRDtBQUVoRDs7R0FFRztBQUNILE1BQXFCLFdBQVc7SUEwQjVCLFlBQVksS0FBYSxFQUFFLFFBQWlCO1FBekI1Qzs7V0FFRztRQUNILHFDQUFnQjtRQUVoQjs7V0FFRztRQUNILCtCQUFXO1lBQ1AsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsRUFBRTtTQUNmLEVBQUE7UUFFRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBYWIsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekIsK0JBQUEsSUFBSSxzQkFBVSxLQUFLLE1BQUEsQ0FBQztZQUNwQixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQztZQUNyQixPQUFPO1FBQ1gsQ0FBQztRQUVELCtCQUFBLElBQUksNEJBQVMsQ0FBQyxLQUFLLEdBQUcsS0FBSyxDQUFDO1FBQzVCLCtCQUFBLElBQUksNEJBQVMsQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRWxDLHVCQUF1QjtJQUMzQixDQUFDO0lBWUQsWUFBWSxDQUFDLEtBQWMsRUFBRSxRQUFpQjtRQUMxQyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixJQUFJLCtCQUFBLElBQUksNEJBQVMsQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsSUFBSSwrQkFBQSxJQUFJLDRCQUFTLENBQUMsUUFBUSxDQUFDLE1BQU0sS0FBSyxDQUFDO2dCQUFFLE1BQU0sS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7WUFFckgsS0FBSyxHQUFHLCtCQUFBLElBQUksNEJBQVMsQ0FBQyxLQUFLLENBQUM7WUFDNUIsUUFBUSxHQUFHLCtCQUFBLElBQUksNEJBQVMsQ0FBQyxRQUFRLENBQUM7UUFDdEMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBaUMsR0FBRyx1QkFBUSxDQUFDLEdBQUcsMkNBQTJDLEVBQzFHLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxRQUFRLEVBQUUsQ0FDaEMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDVCxJQUFJLE9BQU8sSUFBSSxHQUFHLEVBQUUsQ0FBQztnQkFDakIsK0JBQUEsSUFBSSxzQkFBVSxHQUFHLENBQUMsS0FBSyxNQUFBLENBQUM7Z0JBQ3hCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO1lBQ3pCLENBQUM7WUFFRCxPQUFPLEdBQUcsQ0FBQztRQUNmLENBQUMsQ0FBQyxDQUFDLENBQUEscUJBQXFCO0lBQzVCLENBQUM7SUFFRDs7T0FFRztJQUNILFVBQVUsQ0FBQyxRQUFnQixFQUFFLE1BQWM7UUFDdkMsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFnQixHQUFHLHVCQUFRLENBQUMsR0FBRyxnQkFBZ0IsUUFBUSxJQUFJLE1BQU0sRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3RyxDQUFDO0lBRUQ7Ozs7OztPQU1HO0lBQ0gsU0FBUyxDQUFDLE1BQWMsRUFBRSxHQUE4RTtRQUNwRyxNQUFNLElBQUksR0FBRyxJQUFJLHlCQUFZLENBQUMsSUFBSSxFQUFFLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxZQUFZLENBQUMsQ0FBQztRQUV2RCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLEdBQUcsYUFBSCxHQUFHLHVCQUFILEdBQUcsQ0FBRSxRQUFRLENBQUMsQ0FBQztJQUNqRCxDQUFDO0lBT0QsOEJBQThCO0lBQzlCOztPQUVHO0lBQ0gsSUFBSSxTQUFTO1FBQ1QsT0FBTyxXQUFXLENBQUMsU0FBUyxDQUFDO0lBQ2pDLENBQUM7SUFFRDs7T0FFRztJQUNILFlBQVk7UUFDUixPQUFPLElBQUksQ0FBQyxPQUFPLENBQVcsR0FBRyx1QkFBUSxDQUFDLFFBQVEsZ0JBQWdCLENBQUM7YUFDOUQsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQ1IsV0FBVyxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUM7WUFFNUIsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQTtJQUNWLENBQUM7SUFFRDs7T0FFRztJQUNILE1BQU0sQ0FBQyxZQUFZO1FBQ2YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFXLEdBQUcsdUJBQVEsQ0FBQyxRQUFRLGdCQUFnQixDQUFDO2FBQzlELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNSLFdBQVcsQ0FBQyxTQUFTLEdBQUcsR0FBRyxDQUFDO1lBRTVCLE9BQU8sR0FBRyxDQUFDO1FBQ2YsQ0FBQyxDQUFDLENBQUE7SUFDVixDQUFDO0lBRUQ7O09BRUc7SUFDSCxXQUFXO1FBQ1AsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUF5QixHQUFHLHVCQUFRLENBQUMsUUFBUSxXQUFXLENBQUMsQ0FBQztJQUNqRixDQUFDO0lBUUQsY0FBYyxDQUFDLE9BQW9DLENBQUMsRUFBRSxVQUFrQixFQUFFLEVBQUUsS0FBMEI7UUFDbEcsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQTZCLEdBQUcsdUJBQVEsQ0FBQyxHQUFHLHdDQUF3QyxJQUFJLFlBQVksT0FBTyxHQUFHLElBQUEsdUJBQWEsRUFBQyxLQUFLLENBQUMsRUFBRSxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM5SyxDQUFDO0lBUUQsVUFBVSxDQUFDLE9BQXFDLENBQUMsRUFBRSxVQUFrQixFQUFFLEVBQUUsS0FBMkI7UUFDaEcsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUUsQ0FBQztZQUMzQixLQUFLLEdBQUcsSUFBSSxDQUFDO1lBQ2IsSUFBSSxHQUFHLENBQUMsQ0FBQztRQUNiLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQThCLEdBQUcsdUJBQVEsQ0FBQyxHQUFHLGlEQUFpRCxJQUFJLFlBQVksT0FBTyxHQUFHLElBQUEsdUJBQWEsRUFBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7SUFDdkssQ0FBQztJQVFELGVBQWUsQ0FBQyxPQUFvQyxDQUFDLEVBQUUsVUFBa0IsRUFBRSxFQUFFLEtBQTBCO1FBQ25HLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFLENBQUM7WUFDM0IsS0FBSyxHQUFHLElBQUksQ0FBQztZQUNiLElBQUksR0FBRyxDQUFDLENBQUM7UUFDYixDQUFDO1FBRUQsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUE2QixHQUFHLHVCQUFRLENBQUMsR0FBRywrQ0FBK0MsSUFBSSxZQUFZLE9BQU8sR0FBRyxJQUFBLHVCQUFhLEVBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BLLENBQUM7SUFFRDs7T0FFRztJQUNILGdCQUFnQjtRQUNaLElBQUksSUFBSSxDQUFDLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUFFLE1BQU0sS0FBSyxDQUFDLDhDQUE4QyxDQUFDLENBQUM7UUFFN0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUFjLEdBQUcsdUJBQVEsQ0FBQyxRQUFRLGNBQWMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDM0YsQ0FBQztJQUVEOztPQUVHO0lBQ0gsY0FBYyxDQUFDLEVBQVU7UUFDckIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxDQUFDO2FBQ2hELElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNuQyxDQUFDO0lBVUQsVUFBVSxDQUFDLEtBQWlELEVBQUUsS0FBSyxHQUFHLEtBQUs7UUFDdkUsSUFBSSxLQUFLO1lBQUUsT0FBTyxHQUFHLHVCQUFRLENBQUMsR0FBRyw4QkFBOEIsS0FBSyxDQUFDLEVBQUUsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7UUFFM0YsT0FBTyxJQUFJLENBQUMsT0FBTyxDQUF5QixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQzthQUNwRSxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUU7WUFDUixJQUFJLFNBQVMsSUFBSSxHQUFHO2dCQUFFLE1BQU0sS0FBSyxDQUFDLG1EQUFtRCxDQUFDLENBQUM7WUFFdkYsT0FBTyxHQUFHLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNYLENBQUM7SUFFRDs7T0FFRztJQUNILGVBQWUsQ0FBQyxRQUFnQjtRQUM1QixPQUFPLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLE1BQU0sRUFBRSxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsc0dBQXNHO0lBQ3RHLHNCQUFzQjtJQUN0QiwwRUFBMEU7SUFDMUUsb0VBQW9FO0lBQ3BFLElBQUk7SUFFSjs7Ozs7Ozs7T0FRRztJQUNILE1BQU0sQ0FBQyxPQUFPLENBQUksR0FBVyxFQUFFLElBQWlDLEVBQUUsS0FBYztRQUM1RSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLHVCQUFRLENBQUMsR0FBRyxDQUFDLElBQUksR0FBRyxDQUFDLFVBQVUsQ0FBQyx1QkFBUSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQUUsTUFBTSxLQUFLLENBQUMsdUVBQXVFLENBQUMsQ0FBQztRQUUvSixNQUFNLE9BQU8sR0FBMEI7UUFDbkMsa0NBQWtDO1NBQ3JDLENBQUM7UUFFRixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVE7WUFBRSxPQUFPLENBQUMsZUFBZSxDQUFDLEdBQUcsS0FBSyxDQUFDO1FBRWhFLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUTtZQUFFLElBQUksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRTFELElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQztRQUVuQixJQUFJLE9BQU8sSUFBSSxLQUFLLFdBQVcsRUFBRSxDQUFDO1lBQzlCLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBRyxrQkFBa0IsQ0FBQztZQUM3QyxNQUFNLEdBQUcsTUFBTSxDQUFDO1FBQ3BCLENBQUM7UUFFRCxPQUFPLEtBQUssQ0FBQyxHQUFHLEVBQUU7WUFDZCxPQUFPLEVBQUUsTUFBTTtZQUNmLElBQUksRUFBRSxJQUFJO1NBQ2IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRTs7WUFDVixJQUFJLEdBQUcsQ0FBQyxNQUFNLEtBQUssR0FBRztnQkFBRSxNQUFNLEtBQUssQ0FBQyxtREFBbUQsQ0FBQyxDQUFDO1lBQ3pGLCtDQUErQztZQUUvQyxJQUFJLE1BQUEsR0FBRyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLDBDQUFFLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQztnQkFBRSxPQUFPLEdBQUcsQ0FBQyxJQUFJLEVBQU8sQ0FBQzs7Z0JBQ3ZGLE9BQU8sR0FBRyxDQUFDLFdBQVcsRUFBTyxDQUFDO1FBQ3ZDLENBQUMsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUdEOzs7Ozs7OztPQVFHO0lBQ08sT0FBTyxDQUFJLEdBQVcsRUFBRSxJQUFpQyxFQUFFLGVBQWUsR0FBRyxLQUFLO1FBQ3hGLE9BQU8sV0FBVyxDQUFDLE9BQU8sQ0FBSSxHQUFHLEVBQUUsSUFBSSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUMsK0JBQUEsSUFBSSwwQkFBTyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUN2RixDQUFDOzs7QUE3TEQ7O0dBRUc7QUFDSSxxQkFBUyxHQUFZLEVBQUUsQUFBZCxDQUFlO2tCQTVGZCxXQUFXIn0=
207
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdBcGlDbGllbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9saWIvYXBpL1BXQXBpQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHNGQUFtRDtBQUduRCx1REFBZ0Q7QUFDaEQsNkNBQWdEO0FBRWhEOztHQUVHO0FBQ0gsTUFBcUIsV0FBVztJQTBCNUIsWUFBWSxLQUFhLEVBQUUsUUFBaUI7UUFwQjVDOztXQUVHO1FBQ0ssWUFBTyxHQUFHO1lBQ2QsS0FBSyxFQUFFLEVBQUU7WUFDVCxRQUFRLEVBQUUsRUFBRTtTQUNmLENBQUE7UUFFRCxhQUFRLEdBQUcsS0FBSyxDQUFDO1FBYWIsSUFBSSxRQUFRLEtBQUssU0FBUyxFQUFFLENBQUM7WUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7WUFDbkIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7WUFDckIsT0FBTztRQUNYLENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBRWpDLHNCQUFzQjtJQUMxQixDQUFDO0lBWUQsWUFBWSxDQUFDLEtBQWMsRUFBRSxRQUFpQjtRQUMxQyxJQUFJLEtBQUssS0FBSyxTQUFTLEVBQUUsQ0FBQztZQUN0QixJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxLQUFLLENBQUM7Z0JBQUUsTUFBTSxLQUFLLENBQUMsMEJBQTBCLENBQUMsQ0FBQztZQUVuSCxLQUFLLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUM7WUFDM0IsUUFBUSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDO1FBQ3JDLENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxPQUFP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
@@ -5,12 +5,16 @@ 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
+ protected connectAttempts: {
15
+ time: number;
16
+ count: number;
17
+ };
14
18
  /**
15
19
  * NOTE: After constructing, you must then run .init() to connect the API IF you're using email/password.
16
20
  */
@@ -23,6 +27,10 @@ export default class PWGameClient {
23
27
  * (This returns itself for chaining)
24
28
  */
25
29
  joinWorld(roomId: string, joinData?: WorldJoinData): Promise<PWGameClient>;
30
+ /**
31
+ * INTERNAL
32
+ */
33
+ private createSocket;
26
34
  /**
27
35
  * This is a more direct route if you already have a join key acquired via Pixelwalker's API.
28
36
  *
@@ -31,8 +39,8 @@ export default class PWGameClient {
31
39
  static joinWorld(joinKey: string, obj?: {
32
40
  joinData?: WorldJoinData;
33
41
  gameSettings?: Partial<GameClientSettings>;
34
- }): Promise<unknown>;
35
- protected onSocketClose(evt: CloseEvent): Promise<number> | Promise<PWGameClient> | undefined;
42
+ }): Promise<PWGameClient>;
43
+ protected onSocketClose(evt: CloseEvent): Promise<number> | Promise<void | PWGameClient> | undefined;
36
44
  protected onSocketMessage(evt: MessageEvent): Promise<number> | undefined;
37
45
  /**
38
46
  * For faster performance (even if it seems insignificant),
@@ -64,6 +72,12 @@ export default class PWGameClient {
64
72
  * @param direct If it should skip queue.
65
73
  */
66
74
  send<Event extends keyof WorldEvents>(type: Event, value?: OmitRecursively<Sendable<Event, WorldEvents>, "$typeName" | "$unknown">, direct?: boolean): void;
75
+ /**
76
+ * By default this will set the game client settings reconnectable to false.
77
+ *
78
+ * 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)
79
+ */
80
+ disconnect(reconnect?: number | boolean): boolean;
67
81
  }
68
82
  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
83
  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");
@@ -9,11 +8,13 @@ const protobuf_1 = require("@bufbuild/protobuf");
9
8
  const Bucket_js_1 = tslib_1.__importDefault(require("../util/Bucket.js"));
10
9
  class PWGameClient {
11
10
  constructor(api, settings) {
12
- var _a, _b, _c, _d;
13
- _PWGameClient_instances.add(this);
14
- _PWGameClient_prevWorldId.set(this, void 0);
11
+ var _a, _b, _c, _d, _e;
15
12
  this.totalBucket = new Bucket_js_1.default(100, 1000);
16
13
  this.chatBucket = new Bucket_js_1.default(10, 1000);
14
+ this.connectAttempts = {
15
+ time: -1,
16
+ count: 0,
17
+ };
17
18
  // listen<Event extends keyof WorldEvents>(type: Event) {
18
19
  // type === ""
19
20
  // }
@@ -33,9 +34,10 @@ class PWGameClient {
33
34
  }
34
35
  this.settings = {
35
36
  reconnectable: (_a = settings === null || settings === void 0 ? void 0 : settings.reconnectable) !== null && _a !== void 0 ? _a : true,
36
- reconnectCount: (_b = settings === null || settings === void 0 ? void 0 : settings.reconnectCount) !== null && _b !== void 0 ? _b : 3,
37
+ reconnectCount: (_b = settings === null || settings === void 0 ? void 0 : settings.reconnectCount) !== null && _b !== void 0 ? _b : 5,
37
38
  reconnectInterval: (_c = settings === null || settings === void 0 ? void 0 : settings.reconnectInterval) !== null && _c !== void 0 ? _c : 5500,
38
- handlePackets: (_d = settings === null || settings === void 0 ? void 0 : settings.handlePackets) !== null && _d !== void 0 ? _d : ["PING"]
39
+ reconnectTimeGap: (_d = settings === null || settings === void 0 ? void 0 : settings.reconnectTimeGap) !== null && _d !== void 0 ? _d : 10000,
40
+ handlePackets: (_e = settings === null || settings === void 0 ? void 0 : settings.handlePackets) !== null && _e !== void 0 ? _e : ["PING"],
39
41
  };
40
42
  }
41
43
  get connected() {
@@ -49,7 +51,7 @@ class PWGameClient {
49
51
  */
50
52
  joinWorld(roomId, joinData) {
51
53
  return tslib_1.__awaiter(this, void 0, void 0, function* () {
52
- var _a, _b, _c, _d;
54
+ var _a, _b, _c;
53
55
  if (!this.api)
54
56
  throw Error("This can only work if you've used APIClient to join the world in the first place.");
55
57
  if (((_a = this.socket) === null || _a === void 0 ? void 0 : _a.readyState) === isows_1.WebSocket.CONNECTING)
@@ -61,43 +63,71 @@ class PWGameClient {
61
63
  throw Error("Unable to secure a join key - is account details valid?");
62
64
  const connectUrl = `${Constants_js_1.Endpoint.GameWS}/room/${joinReq.token}`
63
65
  + (joinData === undefined ? "" : "?joinData=" + btoa(JSON.stringify(joinData)));
64
- tslib_1.__classPrivateFieldSet(this, _PWGameClient_prevWorldId, roomId, "f");
65
- let count = (_d = this.settings.reconnectCount) !== null && _d !== void 0 ? _d : 3;
66
+ this.prevWorldId = roomId;
67
+ if ((this.connectAttempts.time + this.settings.reconnectTimeGap) < Date.now()) {
68
+ this.connectAttempts = {
69
+ time: Date.now(), count: 0
70
+ };
71
+ }
66
72
  return new Promise((res, rej) => {
67
73
  var _a;
74
+ if (this.connectAttempts.count++ > this.settings.reconnectCount)
75
+ return rej(new Error("Unable to connect due to many attempts."));
68
76
  const timer = setTimeout(() => {
69
- if (count-- < 0)
70
- rej(new Error("Unable to (re)connect."));
77
+ if (this.connectAttempts.count++ > this.settings.reconnectCount)
78
+ return rej(new Error("Unable to (re)connect."));
71
79
  this.invoke("debug", "Failed to reconnect, retrying.");
72
- this.socket = tslib_1.__classPrivateFieldGet(this, _PWGameClient_instances, "m", _PWGameClient_createSocket).call(this, connectUrl, timer, res);
80
+ this.socket = this.createSocket(connectUrl, timer, res);
73
81
  timer.refresh();
74
82
  }, (_a = this.settings.reconnectInterval) !== null && _a !== void 0 ? _a : 5500);
75
- this.socket = tslib_1.__classPrivateFieldGet(this, _PWGameClient_instances, "m", _PWGameClient_createSocket).call(this, connectUrl, timer, res);
83
+ this.socket = this.createSocket(connectUrl, timer, res);
76
84
  });
77
85
  });
78
86
  }
87
+ /**
88
+ * INTERNAL
89
+ */
90
+ createSocket(url, timer, res) {
91
+ const socket = new isows_1.WebSocket(url);
92
+ socket.binaryType = "arraybuffer";
93
+ socket.onclose = this.onSocketClose.bind(this);
94
+ socket.onmessage = this.onSocketMessage.bind(this);
95
+ socket.onopen = (evt) => {
96
+ clearTimeout(timer);
97
+ this.invoke("debug", "Connected successfully.");
98
+ // console.log("Connected.");
99
+ // console.log("Connected: " + new Date(ev.timeStamp));
100
+ res(this);
101
+ };
102
+ return socket;
103
+ }
79
104
  /**
80
105
  * This is a more direct route if you already have a join key acquired via Pixelwalker's API.
81
106
  *
82
107
  * Useful for those wary of security.
83
108
  */
84
109
  static joinWorld(joinKey, obj) {
85
- var _a;
86
110
  const connectUrl = `${Constants_js_1.Endpoint.GameWS}/room/${joinKey}`
87
111
  + ((obj === null || obj === void 0 ? void 0 : obj.joinData) === undefined ? "" : "?joinData=" + btoa(JSON.stringify(obj.joinData)));
88
112
  const cli = new PWGameClient(obj === null || obj === void 0 ? void 0 : obj.gameSettings);
89
- let count = (_a = cli.settings.reconnectCount) !== null && _a !== void 0 ? _a : 3;
113
+ if ((cli.connectAttempts.time + cli.settings.reconnectTimeGap) < Date.now()) {
114
+ cli.connectAttempts = {
115
+ time: Date.now(), count: 0
116
+ };
117
+ }
90
118
  return new Promise((res, rej) => {
91
119
  var _a;
120
+ if (cli.connectAttempts.count++ > cli.settings.reconnectCount)
121
+ rej(new Error("Unable to connect due to many attempts."));
92
122
  const timer = setTimeout(() => {
93
- if (count-- < 0)
123
+ if (cli.connectAttempts.count++ > cli.settings.reconnectCount)
94
124
  rej(new Error("Unable to (re)connect."));
95
125
  cli.invoke("debug", "Failed to reconnect, retrying.");
96
126
  // I know this is impossible but anyway
97
- cli.socket = tslib_1.__classPrivateFieldGet(cli, _PWGameClient_instances, "m", _PWGameClient_createSocket).call(cli, connectUrl, timer, res);
127
+ cli.socket = cli.createSocket(connectUrl, timer, res);
98
128
  timer.refresh();
99
129
  }, (_a = cli.settings.reconnectInterval) !== null && _a !== void 0 ? _a : 5500);
100
- cli.socket = tslib_1.__classPrivateFieldGet(cli, _PWGameClient_instances, "m", _PWGameClient_createSocket).call(cli, connectUrl, timer, res);
130
+ cli.socket = cli.createSocket(connectUrl, timer, res);
101
131
  });
102
132
  }
103
133
  onSocketClose(evt) {
@@ -105,8 +135,15 @@ class PWGameClient {
105
135
  if (this.settings.reconnectable) {
106
136
  if (this.api === undefined)
107
137
  return this.invoke("debug", "Not attempting to reconnect as this game client was created with a join token.");
108
- if (tslib_1.__classPrivateFieldGet(this, _PWGameClient_prevWorldId, "f"))
109
- return this.joinWorld(tslib_1.__classPrivateFieldGet(this, _PWGameClient_prevWorldId, "f"));
138
+ // if (evt.reason === "Failed to preload the world.") {
139
+ // return this.invoke("debug", "Not attempting to reconnect as the world don't exist.");
140
+ // }
141
+ if (this.prevWorldId) {
142
+ this.invoke("debug", "Attempting to reconnect.");
143
+ return this.joinWorld(this.prevWorldId).catch(err => {
144
+ this.invoke("debug", err);
145
+ });
146
+ }
110
147
  else
111
148
  this.invoke("debug", "Warning: Socket closed, attempt to reconnect was made but no previous world id was kept.");
112
149
  }
@@ -209,20 +246,21 @@ class PWGameClient {
209
246
  this.chatBucket.queue(() => { send(); });
210
247
  }, type === "playerChatPacket");
211
248
  }
249
+ /**
250
+ * By default this will set the game client settings reconnectable to false.
251
+ *
252
+ * 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)
253
+ */
254
+ disconnect(reconnect = false) {
255
+ var _a, _b;
256
+ // Accept the possibility that people may try to
257
+ if (reconnect === true)
258
+ this.settings.reconnectable = true;
259
+ else
260
+ this.settings.reconnectable = false;
261
+ (_a = this.socket) === null || _a === void 0 ? void 0 : _a.close();
262
+ return ((_b = this.socket) === null || _b === void 0 ? void 0 : _b.readyState) === isows_1.WebSocket.CLOSED;
263
+ }
212
264
  }
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
265
  exports.default = PWGameClient;
228
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdHYW1lQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2dhbWUvUFdHYW1lQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7QUFDQSxvREFBbUo7QUFFbkosdURBQWdEO0FBRWhELGlDQUFrQztBQUNsQyxpREFBa0U7QUFFbEUsMEVBQXVDO0FBR3ZDLE1BQXFCLFlBQVk7SUFpQjdCLFlBQVksR0FBK0MsRUFBRSxRQUFzQzs7O1FBWG5HLDRDQUFzQjtRQUVaLGdCQUFXLEdBQUcsSUFBSSxtQkFBTSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNwQyxlQUFVLEdBQUcsSUFBSSxtQkFBTSxDQUFDLEVBQUUsRUFBRSxJQUFJLENBQUMsQ0FBQztRQXVKNUMseURBQXlEO1FBQ3pELGtCQUFrQjtRQUNsQixJQUFJO1FBRUo7Ozs7O1dBS0c7UUFDTyxjQUFTLEdBQUcsRUFFa0YsQ0FBQztRQTFKckcsd0RBQXdEO1FBQ3hELElBQUksR0FBRyxJQUFJLFlBQVksSUFBSSxHQUFHO1lBQUUsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUM7YUFDMUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUNYLFFBQVEsR0FBRyxHQUFHLENBQUM7WUFDZixHQUFHLEdBQUcsU0FBUyxDQUFDO1FBQ3BCLENBQUM7UUFFRCxJQUFJLENBQUMsUUFBUSxHQUFHO1lBQ1osYUFBYSxFQUFFLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGFBQWEsbUNBQUksSUFBSTtZQUM5QyxjQUFjLEVBQUUsTUFBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsY0FBYyxtQ0FBSSxDQUFDO1lBQzdDLGlCQUFpQixFQUFFLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGlCQUFpQixtQ0FBSSxJQUFJO1lBQ3RELGFBQWEsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxh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
266
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUFdHYW1lQ2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2dhbWUvUFdHYW1lQ2xpZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG9EQUFtSjtBQUVuSix1REFBZ0Q7QUFFaEQsaUNBQWtDO0FBQ2xDLGlEQUFrRTtBQUVsRSwwRUFBdUM7QUFHdkMsTUFBcUIsWUFBWTtJQXFCN0IsWUFBWSxHQUErQyxFQUFFLFFBQXNDOztRQWJ6RixnQkFBVyxHQUFHLElBQUksbUJBQU0sQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFDcEMsZUFBVSxHQUFHLElBQUksbUJBQU0sQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7UUFFbEMsb0JBQWUsR0FBRztZQUN4QixJQUFJLEVBQUUsQ0FBQyxDQUFDO1lBQ1IsS0FBSyxFQUFFLENBQUM7U0FDWCxDQUFBO1FBOEtELHlEQUF5RDtRQUN6RCxrQkFBa0I7UUFDbEIsSUFBSTtRQUVKOzs7OztXQUtHO1FBQ08sY0FBUyxHQUFHLEVBRWtGLENBQUM7UUFsTHJHLHdEQUF3RDtRQUN4RCxJQUFJLEdBQUcsSUFBSSxZQUFZLElBQUksR0FBRztZQUFFLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO2FBQzFDLElBQUksR0FBRyxFQUFFLENBQUM7WUFDWCxRQUFRLEdBQUcsR0FBRyxDQUFDO1lBQ2YsR0FBRyxHQUFHLFNBQVMsQ0FBQztRQUNwQixDQUFDO1FBRUQsSUFBSSxDQUFDLFFBQVEsR0FBRztZQUNaLGFBQWEsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxhQUFhLG1DQUFJLElBQUk7WUFDOUMsY0FBYyxFQUFFLE1BQUEsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLGNBQWMsbUNBQUksQ0FBQztZQUM3QyxpQkFBaUIsRUFBRSxNQUFBLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxpQkFBaUIsbUNBQUks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
@@ -12,7 +12,7 @@ export interface GameClientSettings {
12
12
  *
13
13
  * The amount of times the client should try to reconnect before it gives up.
14
14
  *
15
- * Default: 3.
15
+ * Default: 5.
16
16
  */
17
17
  reconnectCount: number;
18
18
  /**
@@ -21,6 +21,14 @@ export interface GameClientSettings {
21
21
  * Default: 5500.
22
22
  */
23
23
  reconnectInterval: number;
24
+ /**
25
+ * How long (in milliseconds) before the counter for reconnect should reset.
26
+ *
27
+ * NOTE: The counter will carry over even if the bot has successfully joined a world, so if it joins and leaves the world a lot then it may stop reconnecting.
28
+ *
29
+ * Default: 10000.
30
+ */
31
+ reconnectTimeGap: number;
24
32
  /**
25
33
  * There are only 2 values in this list, they will determine whether if the client should handle them automatically or not.
26
34
  *
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pw-js-api",
3
- "version": "0.1.1-dev.dfeb897",
3
+ "version": "0.1.2-dev.72bfdfb",
4
4
  "description": "A PixelWalker Library, aims to be minimal with support for browsers.",
5
5
  "exports": {
6
6
  "bun": "./dist/index.js",