@mtkruto/node 0.80.1 → 0.90.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.
@@ -1 +1 @@
1
- {"version":3,"file":"2_update_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_update_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"2_update_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_update_manager.ts"],"names":[],"mappings":"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"}
@@ -71,12 +71,12 @@ export class UpdateManager {
71
71
  }
72
72
  return this.#defaultDropPendingUpdates;
73
73
  }
74
- #state = undefined;
74
+ #state = null;
75
75
  async #getState() {
76
76
  if (this.#mustDropPendingUpdates()) {
77
77
  return this.#state ?? null;
78
78
  }
79
- if (this.#state !== undefined) {
79
+ if (this.#state !== null) {
80
80
  return this.#state;
81
81
  }
82
82
  const state = await this.#c.storage.getState();
@@ -348,7 +348,7 @@ export class UpdateManager {
348
348
  }
349
349
  }
350
350
  const localState = await this.#getLocalState();
351
- if (localState.pts + update.pts_count > update.pts) {
351
+ if (update.pts !== 0 && localState.pts + update.pts_count > update.pts) {
352
352
  return;
353
353
  }
354
354
  if (this.#c.guaranteeUpdateDelivery) {
@@ -638,11 +638,13 @@ export class UpdateManager {
638
638
  await this.#processUpdates(update, false);
639
639
  }
640
640
  if (Api.is("updates.difference", difference)) {
641
+ await this.#setState(difference.state);
641
642
  this.#LrecoverUpdateGap.debug("recovered from update gap");
642
643
  break;
643
644
  }
644
645
  else if (Api.is("updates.differenceSlice", difference)) {
645
646
  state = difference.intermediate_state;
647
+ await this.#setState(state);
646
648
  }
647
649
  else {
648
650
  unreachable();
@@ -104,7 +104,7 @@ export class ClientDispatcher extends Composer {
104
104
  let n = 1;
105
105
  while (true) {
106
106
  try {
107
- await this.#dispatch("invoke", function_, params);
107
+ return await this.#dispatch("invoke", function_, params);
108
108
  }
109
109
  catch (err) {
110
110
  if (await this.#handleInvokeError(Object.freeze({ client: this, error: err, function: function_, n: n++ }), () => Promise.resolve(false))) {
@@ -1 +1 @@
1
- {"version":3,"file":"1_utilities.d.ts","sourceRoot":"","sources":["../../src/storage/1_utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,QAAA,MAAM,UAAU;;;;;;;;;CASN,CAAC;AACX,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,OAAO,UAAU,CAA6B,CAAC;AAEhF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA4B/C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CA6C/C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,WAAW,EAAE,CAEpE;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE,CAe3E;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAO1D;AAqDD,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAgB1H"}
1
+ {"version":3,"file":"1_utilities.d.ts","sourceRoot":"","sources":["../../src/storage/1_utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,QAAA,MAAM,UAAU;;;;;;;;;CASN,CAAC;AACX,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,OAAO,UAAU,CAA6B,CAAC;AAEhF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAwB/C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAiC/C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,WAAW,EAAE,CAEpE;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE,CAe3E;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAO1D;AAqDD,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAgB1H"}
@@ -51,15 +51,10 @@ export function toString(value) {
51
51
  }
52
52
  else if (Array.isArray(value)) {
53
53
  const items = value.map((v) => {
54
- if (typeof v === "string" || v instanceof Uint8Array || Array.isArray(v)) {
55
- const s = toString(v).slice(1);
56
- return String(typeof v === "string" ? ValueType.String : v instanceof Uint8Array ? ValueType.Uint8Array : ValueType.Array) + toString(s.length).slice(1) + "\n" + s;
57
- }
58
- else {
59
- return toString(v);
60
- }
54
+ const s = toString(v);
55
+ return String(s.length) + "\n" + s;
61
56
  });
62
- return `${ValueType.Array}${items.join("\n")}`;
57
+ return `${ValueType.Array}${items.join("")}`;
63
58
  }
64
59
  else if (typeof value === "object" && value !== null && Object.getPrototypeOf(value) === Object.prototype) {
65
60
  return `${ValueType.Map}${toString(Object.entries(value)).slice(1)}`;
@@ -86,25 +81,12 @@ export function fromString(string) {
86
81
  case ValueType.Array: {
87
82
  const arr = [];
88
83
  for (let i = 0; i < value.length; ++i) {
89
- const type = Number(value[i]);
90
- let value_ = "";
91
- while (value[++i] !== "\n") {
92
- value_ += value[i];
93
- if (i === value.length - 1) {
94
- break;
95
- }
96
- }
97
- switch (type) {
98
- case ValueType.String:
99
- case ValueType.Uint8Array:
100
- case ValueType.Array: {
101
- const len = Number(value_);
102
- ++i;
103
- value_ = value.slice(i, i + Number(value_));
104
- i += len;
105
- }
106
- }
107
- arr.push(fromString(`${type}${value_}`));
84
+ const length_ = value.slice(i, value.indexOf("\n", i));
85
+ i += length_.length + 1;
86
+ const length = Number(length_);
87
+ const value_ = value.slice(i, i + length);
88
+ i += value_.length - 1;
89
+ arr.push(fromString(value_));
108
90
  }
109
91
  return arr;
110
92
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mtkruto/node",
3
- "version": "0.80.1",
3
+ "version": "0.90.0",
4
4
  "description": "MTKruto for Node.js",
5
5
  "author": "Roj <rojvv@icloud.com>",
6
6
  "repository": {
@@ -1 +1 @@
1
- {"version":3,"file":"2_update_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_update_manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"2_update_manager.d.ts","sourceRoot":"","sources":["../../src/client/2_update_manager.ts"],"names":[],"mappings":"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"}
@@ -74,12 +74,12 @@ class UpdateManager {
74
74
  }
75
75
  return this.#defaultDropPendingUpdates;
76
76
  }
77
- #state = undefined;
77
+ #state = null;
78
78
  async #getState() {
79
79
  if (this.#mustDropPendingUpdates()) {
80
80
  return this.#state ?? null;
81
81
  }
82
- if (this.#state !== undefined) {
82
+ if (this.#state !== null) {
83
83
  return this.#state;
84
84
  }
85
85
  const state = await this.#c.storage.getState();
@@ -351,7 +351,7 @@ class UpdateManager {
351
351
  }
352
352
  }
353
353
  const localState = await this.#getLocalState();
354
- if (localState.pts + update.pts_count > update.pts) {
354
+ if (update.pts !== 0 && localState.pts + update.pts_count > update.pts) {
355
355
  return;
356
356
  }
357
357
  if (this.#c.guaranteeUpdateDelivery) {
@@ -641,11 +641,13 @@ class UpdateManager {
641
641
  await this.#processUpdates(update, false);
642
642
  }
643
643
  if (_2_tl_js_1.Api.is("updates.difference", difference)) {
644
+ await this.#setState(difference.state);
644
645
  this.#LrecoverUpdateGap.debug("recovered from update gap");
645
646
  break;
646
647
  }
647
648
  else if (_2_tl_js_1.Api.is("updates.differenceSlice", difference)) {
648
649
  state = difference.intermediate_state;
650
+ await this.#setState(state);
649
651
  }
650
652
  else {
651
653
  (0, _0_deps_js_1.unreachable)();
@@ -140,7 +140,7 @@ class ClientDispatcher extends _4_composer_js_1.Composer {
140
140
  let n = 1;
141
141
  while (true) {
142
142
  try {
143
- await this.#dispatch("invoke", function_, params);
143
+ return await this.#dispatch("invoke", function_, params);
144
144
  }
145
145
  catch (err) {
146
146
  if (await this.#handleInvokeError(Object.freeze({ client: this, error: err, function: function_, n: n++ }), () => Promise.resolve(false))) {
@@ -1 +1 @@
1
- {"version":3,"file":"1_utilities.d.ts","sourceRoot":"","sources":["../../src/storage/1_utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,QAAA,MAAM,UAAU;;;;;;;;;CASN,CAAC;AACX,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,OAAO,UAAU,CAA6B,CAAC;AAEhF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CA4B/C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CA6C/C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,WAAW,EAAE,CAEpE;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE,CAe3E;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAO1D;AAqDD,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAgB1H"}
1
+ {"version":3,"file":"1_utilities.d.ts","sourceRoot":"","sources":["../../src/storage/1_utilities.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAIH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAErD,QAAA,MAAM,UAAU;;;;;;;;;CASN,CAAC;AACX,eAAO,MAAM,SAAS,EAAE,QAAQ,CAAC,OAAO,UAAU,CAA6B,CAAC;AAEhF,MAAM,MAAM,SAAS,GAAG,OAAO,SAAS,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAEjE,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAwB/C;AAED,wBAAgB,UAAU,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC,CAiC/C;AAED,wBAAgB,MAAM,CAAC,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,WAAW,EAAE,CAEpE;AACD,wBAAgB,UAAU,CAAC,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,cAAc,EAAE,CAe3E;AAID,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,GAAG,GAAG,WAAW,CAO1D;AAqDD,wBAAgB,SAAS,CAAC,GAAG,EAAE,cAAc,EAAE,EAAE,KAAK,EAAE,SAAS,cAAc,EAAE,EAAE,GAAG,EAAE,SAAS,cAAc,EAAE,GAAG,OAAO,CAgB1H"}
@@ -60,15 +60,10 @@ function toString(value) {
60
60
  }
61
61
  else if (Array.isArray(value)) {
62
62
  const items = value.map((v) => {
63
- if (typeof v === "string" || v instanceof Uint8Array || Array.isArray(v)) {
64
- const s = toString(v).slice(1);
65
- return String(typeof v === "string" ? exports.ValueType.String : v instanceof Uint8Array ? exports.ValueType.Uint8Array : exports.ValueType.Array) + toString(s.length).slice(1) + "\n" + s;
66
- }
67
- else {
68
- return toString(v);
69
- }
63
+ const s = toString(v);
64
+ return String(s.length) + "\n" + s;
70
65
  });
71
- return `${exports.ValueType.Array}${items.join("\n")}`;
66
+ return `${exports.ValueType.Array}${items.join("")}`;
72
67
  }
73
68
  else if (typeof value === "object" && value !== null && Object.getPrototypeOf(value) === Object.prototype) {
74
69
  return `${exports.ValueType.Map}${toString(Object.entries(value)).slice(1)}`;
@@ -95,25 +90,12 @@ function fromString(string) {
95
90
  case exports.ValueType.Array: {
96
91
  const arr = [];
97
92
  for (let i = 0; i < value.length; ++i) {
98
- const type = Number(value[i]);
99
- let value_ = "";
100
- while (value[++i] !== "\n") {
101
- value_ += value[i];
102
- if (i === value.length - 1) {
103
- break;
104
- }
105
- }
106
- switch (type) {
107
- case exports.ValueType.String:
108
- case exports.ValueType.Uint8Array:
109
- case exports.ValueType.Array: {
110
- const len = Number(value_);
111
- ++i;
112
- value_ = value.slice(i, i + Number(value_));
113
- i += len;
114
- }
115
- }
116
- arr.push(fromString(`${type}${value_}`));
93
+ const length_ = value.slice(i, value.indexOf("\n", i));
94
+ i += length_.length + 1;
95
+ const length = Number(length_);
96
+ const value_ = value.slice(i, i + length);
97
+ i += value_.length - 1;
98
+ arr.push(fromString(value_));
117
99
  }
118
100
  return arr;
119
101
  }