@mtkruto/node 0.1.107 → 0.1.109

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.
Files changed (83) hide show
  1. package/esm/0_deps.d.ts +1 -1
  2. package/esm/0_deps.js +1 -1
  3. package/esm/4_constants.d.ts +2 -2
  4. package/esm/4_constants.js +3 -3
  5. package/esm/5_client.d.ts +1 -0
  6. package/esm/5_client.js +1 -0
  7. package/esm/client/0_html.js +26 -14
  8. package/esm/client/0_utilities.d.ts +1 -1
  9. package/esm/client/0_utilities.js +1 -2
  10. package/esm/client/1_client_abstract.d.ts +1 -1
  11. package/esm/client/1_client_abstract.js +16 -8
  12. package/esm/client/2_client_plain.d.ts +1 -2
  13. package/esm/client/2_client_plain.js +20 -15
  14. package/esm/client/3_types.d.ts +1 -1
  15. package/esm/client/4_client.d.ts +6 -57
  16. package/esm/client/4_client.js +619 -716
  17. package/esm/connection/1_connection_web_socket.d.ts +1 -9
  18. package/esm/connection/1_connection_web_socket.js +81 -108
  19. package/esm/storage/0_storage.d.ts +3 -2
  20. package/esm/storage/0_storage.js +35 -26
  21. package/esm/storage/0_utilities.d.ts +1 -1
  22. package/esm/storage/0_utilities.js +56 -26
  23. package/esm/storage/1_storage_local_storage.d.ts +1 -1
  24. package/esm/storage/1_storage_session_storage.d.ts +1 -1
  25. package/esm/tl/2_types.d.ts +441 -58
  26. package/esm/tl/2_types.js +1584 -118
  27. package/esm/tl/3_functions.d.ts +113 -16
  28. package/esm/tl/3_functions.js +364 -39
  29. package/esm/transport/1_transport_abridged.d.ts +1 -2
  30. package/esm/transport/1_transport_abridged.js +24 -19
  31. package/esm/transport/1_transport_intermediate.d.ts +1 -2
  32. package/esm/transport/1_transport_intermediate.js +23 -18
  33. package/esm/types/0_color.d.ts +2 -1
  34. package/esm/types/0_color.js +21 -1
  35. package/esm/types/0_message_entity.d.ts +1 -1
  36. package/esm/types/1_chat.js +5 -5
  37. package/esm/types/1_user.js +2 -2
  38. package/esm/types/3_message.js +1 -1
  39. package/esm/utilities/0_base64.js +3 -3
  40. package/esm/utilities/0_queue.d.ts +2 -4
  41. package/esm/utilities/0_queue.js +39 -36
  42. package/package.json +1 -1
  43. package/script/0_deps.d.ts +1 -1
  44. package/script/0_deps.js +3 -3
  45. package/script/4_constants.d.ts +2 -2
  46. package/script/4_constants.js +3 -3
  47. package/script/5_client.d.ts +1 -0
  48. package/script/5_client.js +1 -0
  49. package/script/client/0_html.js +26 -14
  50. package/script/client/0_utilities.d.ts +1 -1
  51. package/script/client/0_utilities.js +1 -2
  52. package/script/client/1_client_abstract.d.ts +1 -1
  53. package/script/client/1_client_abstract.js +16 -8
  54. package/script/client/2_client_plain.d.ts +1 -2
  55. package/script/client/2_client_plain.js +20 -15
  56. package/script/client/3_types.d.ts +1 -1
  57. package/script/client/4_client.d.ts +6 -57
  58. package/script/client/4_client.js +619 -716
  59. package/script/connection/1_connection_web_socket.d.ts +1 -9
  60. package/script/connection/1_connection_web_socket.js +81 -108
  61. package/script/storage/0_storage.d.ts +3 -2
  62. package/script/storage/0_storage.js +35 -26
  63. package/script/storage/0_utilities.d.ts +1 -1
  64. package/script/storage/0_utilities.js +55 -25
  65. package/script/storage/1_storage_local_storage.d.ts +1 -1
  66. package/script/storage/1_storage_session_storage.d.ts +1 -1
  67. package/script/tl/2_types.d.ts +441 -58
  68. package/script/tl/2_types.js +1646 -158
  69. package/script/tl/3_functions.d.ts +113 -16
  70. package/script/tl/3_functions.js +386 -53
  71. package/script/transport/1_transport_abridged.d.ts +1 -2
  72. package/script/transport/1_transport_abridged.js +24 -19
  73. package/script/transport/1_transport_intermediate.d.ts +1 -2
  74. package/script/transport/1_transport_intermediate.js +23 -18
  75. package/script/types/0_color.d.ts +2 -1
  76. package/script/types/0_color.js +24 -3
  77. package/script/types/0_message_entity.d.ts +1 -1
  78. package/script/types/1_chat.js +4 -4
  79. package/script/types/1_user.js +1 -1
  80. package/script/types/3_message.js +1 -1
  81. package/script/utilities/0_base64.js +2 -2
  82. package/script/utilities/0_queue.d.ts +2 -4
  83. package/script/utilities/0_queue.js +39 -36
@@ -1,8 +1,7 @@
1
1
  import { Connection } from "../2_connection.js";
2
2
  import { Transport } from "./0_transport.js";
3
3
  export declare class TransportAbridged extends Transport implements Transport {
4
- private readonly connection;
5
- private readonly obfuscated;
4
+ #private;
6
5
  constructor(connection: Connection, obfuscated?: boolean);
7
6
  initialize(): Promise<void>;
8
7
  receive(): Promise<Uint8Array>;
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _TransportAbridged_connection, _TransportAbridged_obfuscated;
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.TransportAbridged = void 0;
4
16
  const _1_utilities_js_1 = require("../1_utilities.js");
@@ -7,26 +19,18 @@ const _0_transport_js_1 = require("./0_transport.js");
7
19
  class TransportAbridged extends _0_transport_js_1.Transport {
8
20
  constructor(connection, obfuscated = false) {
9
21
  super();
10
- Object.defineProperty(this, "connection", {
11
- enumerable: true,
12
- configurable: true,
13
- writable: true,
14
- value: connection
15
- });
16
- Object.defineProperty(this, "obfuscated", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: obfuscated
21
- });
22
+ _TransportAbridged_connection.set(this, void 0);
23
+ _TransportAbridged_obfuscated.set(this, void 0);
24
+ __classPrivateFieldSet(this, _TransportAbridged_connection, connection, "f");
25
+ __classPrivateFieldSet(this, _TransportAbridged_obfuscated, obfuscated, "f");
22
26
  }
23
27
  async initialize() {
24
28
  if (!this.initialized) {
25
- if (this.obfuscated) {
26
- this.obfuscationParameters = await (0, _0_obfuscation_js_1.getObfuscationParameters)(0xEFEFEFEF, this.connection);
29
+ if (__classPrivateFieldGet(this, _TransportAbridged_obfuscated, "f")) {
30
+ this.obfuscationParameters = await (0, _0_obfuscation_js_1.getObfuscationParameters)(0xEFEFEFEF, __classPrivateFieldGet(this, _TransportAbridged_connection, "f"));
27
31
  }
28
32
  else {
29
- await this.connection.write(new Uint8Array([0xEF]));
33
+ await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").write(new Uint8Array([0xEF]));
30
34
  }
31
35
  this.initialized = true;
32
36
  }
@@ -38,14 +42,14 @@ class TransportAbridged extends _0_transport_js_1.Transport {
38
42
  let length;
39
43
  {
40
44
  const buffer = new Uint8Array(1);
41
- await this.connection.read(buffer);
45
+ await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").read(buffer);
42
46
  this.decrypt(buffer);
43
47
  if (buffer[0] < 0x7F) {
44
48
  length = buffer[0];
45
49
  }
46
50
  else {
47
51
  const buffer = new Uint8Array(3);
48
- await this.connection.read(buffer);
52
+ await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").read(buffer);
49
53
  this.decrypt(buffer);
50
54
  const dataView = new DataView(buffer.buffer);
51
55
  length = dataView.getUint16(0, true);
@@ -53,7 +57,7 @@ class TransportAbridged extends _0_transport_js_1.Transport {
53
57
  }
54
58
  length *= 4;
55
59
  const buffer = new Uint8Array(length);
56
- await this.connection.read(buffer);
60
+ await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").read(buffer);
57
61
  this.decrypt(buffer);
58
62
  return buffer;
59
63
  }
@@ -66,10 +70,11 @@ class TransportAbridged extends _0_transport_js_1.Transport {
66
70
  const length = bufferLength >= 0x7F ? (0, _1_utilities_js_1.bufferFromBigInt)(bufferLength, 3) : new Uint8Array();
67
71
  const data = (0, _1_utilities_js_1.concat)(header, length, buffer);
68
72
  this.encrypt(data);
69
- await this.connection.write(data);
73
+ await __classPrivateFieldGet(this, _TransportAbridged_connection, "f").write(data);
70
74
  }
71
75
  deinitialize() {
72
76
  this.initialized = false;
73
77
  }
74
78
  }
75
79
  exports.TransportAbridged = TransportAbridged;
80
+ _TransportAbridged_connection = new WeakMap(), _TransportAbridged_obfuscated = new WeakMap();
@@ -1,8 +1,7 @@
1
1
  import { Connection } from "../2_connection.js";
2
2
  import { Transport } from "./0_transport.js";
3
3
  export declare class TransportIntermediate extends Transport implements Transport {
4
- private readonly connection;
5
- private readonly obfuscated;
4
+ #private;
6
5
  constructor(connection: Connection, obfuscated?: boolean);
7
6
  initialize(): Promise<void>;
8
7
  receive(): Promise<Uint8Array>;
@@ -1,4 +1,16 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _TransportIntermediate_connection, _TransportIntermediate_obfuscated;
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.TransportIntermediate = void 0;
4
16
  const _1_utilities_js_1 = require("../1_utilities.js");
@@ -7,26 +19,18 @@ const _0_transport_js_1 = require("./0_transport.js");
7
19
  class TransportIntermediate extends _0_transport_js_1.Transport {
8
20
  constructor(connection, obfuscated = false) {
9
21
  super();
10
- Object.defineProperty(this, "connection", {
11
- enumerable: true,
12
- configurable: true,
13
- writable: true,
14
- value: connection
15
- });
16
- Object.defineProperty(this, "obfuscated", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: obfuscated
21
- });
22
+ _TransportIntermediate_connection.set(this, void 0);
23
+ _TransportIntermediate_obfuscated.set(this, void 0);
24
+ __classPrivateFieldSet(this, _TransportIntermediate_connection, connection, "f");
25
+ __classPrivateFieldSet(this, _TransportIntermediate_obfuscated, obfuscated, "f");
22
26
  }
23
27
  async initialize() {
24
28
  if (!this.initialized) {
25
- if (this.obfuscated) {
26
- this.obfuscationParameters = await (0, _0_obfuscation_js_1.getObfuscationParameters)(0xEEEEEEEE, this.connection);
29
+ if (__classPrivateFieldGet(this, _TransportIntermediate_obfuscated, "f")) {
30
+ this.obfuscationParameters = await (0, _0_obfuscation_js_1.getObfuscationParameters)(0xEEEEEEEE, __classPrivateFieldGet(this, _TransportIntermediate_connection, "f"));
27
31
  }
28
32
  else {
29
- await this.connection.write(new Uint8Array([0xEE, 0xEE, 0xEE, 0xEE]));
33
+ await __classPrivateFieldGet(this, _TransportIntermediate_connection, "f").write(new Uint8Array([0xEE, 0xEE, 0xEE, 0xEE]));
30
34
  }
31
35
  this.initialized = true;
32
36
  }
@@ -38,13 +42,13 @@ class TransportIntermediate extends _0_transport_js_1.Transport {
38
42
  let length;
39
43
  {
40
44
  const buffer = new Uint8Array(4);
41
- await this.connection.read(buffer);
45
+ await __classPrivateFieldGet(this, _TransportIntermediate_connection, "f").read(buffer);
42
46
  this.decrypt(buffer);
43
47
  const dataView = new DataView(buffer.buffer);
44
48
  length = dataView.getUint32(0, true);
45
49
  }
46
50
  const buffer = new Uint8Array(length);
47
- await this.connection.read(buffer);
51
+ await __classPrivateFieldGet(this, _TransportIntermediate_connection, "f").read(buffer);
48
52
  this.decrypt(buffer);
49
53
  return buffer;
50
54
  }
@@ -55,10 +59,11 @@ class TransportIntermediate extends _0_transport_js_1.Transport {
55
59
  const length = (0, _1_utilities_js_1.bufferFromBigInt)(buffer.length, 4);
56
60
  const data = (0, _1_utilities_js_1.concat)(length, buffer);
57
61
  this.encrypt(data);
58
- await this.connection.write(data);
62
+ await __classPrivateFieldGet(this, _TransportIntermediate_connection, "f").write(data);
59
63
  }
60
64
  deinitialize() {
61
65
  this.initialized = false;
62
66
  }
63
67
  }
64
68
  exports.TransportIntermediate = TransportIntermediate;
69
+ _TransportIntermediate_connection = new WeakMap(), _TransportIntermediate_obfuscated = new WeakMap();
@@ -1,2 +1,3 @@
1
1
  export type Color = "red" | "orange" | "violet" | "green" | "cyan" | "blue" | "pink";
2
- export declare function getColor(id: number): Color;
2
+ export declare function getColorFromPeerId(id: number): Color;
3
+ export declare function getColorFromColorId(id: number): Color;
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getColor = void 0;
3
+ exports.getColorFromColorId = exports.getColorFromPeerId = void 0;
4
4
  const colors = [
5
5
  "red",
6
6
  "orange",
@@ -10,11 +10,32 @@ const colors = [
10
10
  "blue",
11
11
  "pink",
12
12
  ];
13
- function getColor(id) {
13
+ function getColorFromPeerId(id) {
14
14
  id = Number(String(id).replaceAll("-100", "-"));
15
15
  if (id < 0) {
16
16
  id = -id;
17
17
  }
18
18
  return colors[id % 7];
19
19
  }
20
- exports.getColor = getColor;
20
+ exports.getColorFromPeerId = getColorFromPeerId;
21
+ function getColorFromColorId(id) {
22
+ switch (id) {
23
+ case 0:
24
+ return "red";
25
+ case 1:
26
+ return "orange";
27
+ case 2:
28
+ return "violet";
29
+ case 3:
30
+ return "green";
31
+ case 4:
32
+ return "cyan";
33
+ case 5:
34
+ return "blue";
35
+ case 6:
36
+ return "pink";
37
+ default:
38
+ return "blue";
39
+ }
40
+ }
41
+ exports.getColorFromColorId = getColorFromColorId;
@@ -77,4 +77,4 @@ export declare namespace MessageEntity {
77
77
  /** A single entity of a message's text or caption. */
78
78
  export type MessageEntity = MessageEntity.Mention | MessageEntity.Hashtag | MessageEntity.BotCommand | MessageEntity.URL | MessageEntity.EmailAddress | MessageEntity.Bold | MessageEntity.Italic | MessageEntity.Code | MessageEntity.Pre | MessageEntity.TextLink | MessageEntity.TextMention | MessageEntity.Cashtag | MessageEntity.PhoneNumber | MessageEntity.Underline | MessageEntity.Strikethrough | MessageEntity.Blockquote | MessageEntity.BankCard | MessageEntity.Spoiler | MessageEntity.CustomEmoji;
79
79
  export declare function constructMessageEntity(obj: types.TypeMessageEntity): MessageEntity | null;
80
- export declare function messageEntityToTlObject(entity: MessageEntity): types.MessageEntityMention | types.MessageEntityHashtag | types.MessageEntityBotCommand | types.MessageEntityURL | types.MessageEntityEmail | types.MessageEntityBold | types.MessageEntityItalic | types.MessageEntityCode | types.MessageEntityPre | types.MessageEntityTextURL | types.MessageEntityMentionName | types.MessageEntityPhone | types.MessageEntityCashtag | types.MessageEntityUnderline | types.MessageEntityStrike | types.MessageEntityBlockquote | types.MessageEntityBankCard | types.MessageEntitySpoiler | types.MessageEntityCustomEmoji;
80
+ export declare function messageEntityToTlObject(entity: MessageEntity): types.MessageEntityMention | types.MessageEntityHashtag | types.MessageEntityBotCommand | types.MessageEntityURL | types.MessageEntityEmail | types.MessageEntityBold | types.MessageEntityItalic | types.MessageEntityCode | types.MessageEntityPre | types.MessageEntityTextURL | types.MessageEntityMentionName | types.MessageEntityPhone | types.MessageEntityCashtag | types.MessageEntityUnderline | types.MessageEntityStrike | types.MessageEntityBankCard | types.MessageEntitySpoiler | types.MessageEntityCustomEmoji | types.MessageEntityBlockquote;
@@ -14,7 +14,7 @@ function constructChat(chat) {
14
14
  type: "private",
15
15
  isBot: chat.bot || false,
16
16
  id,
17
- color: (0, _0_color_js_1.getColor)(id),
17
+ color: chat.color !== undefined ? (0, _0_color_js_1.getColorFromColorId)(chat.color) : (0, _0_color_js_1.getColorFromPeerId)(id),
18
18
  firstName: chat.firstName || "",
19
19
  lastName: chat.lastName,
20
20
  isScam: chat.scam || false,
@@ -36,7 +36,7 @@ function constructChat(chat) {
36
36
  const chat_ = {
37
37
  type: "group",
38
38
  id,
39
- color: (0, _0_color_js_1.getColor)(id),
39
+ color: (0, _0_color_js_1.getColorFromPeerId)(id),
40
40
  title: chat.title,
41
41
  isCreator: chat.creator || false,
42
42
  };
@@ -52,7 +52,7 @@ function constructChat(chat) {
52
52
  if (chat.megagroup) {
53
53
  chat_ = {
54
54
  id,
55
- color: (0, _0_color_js_1.getColor)(id),
55
+ color: chat.color !== undefined ? (0, _0_color_js_1.getColorFromColorId)(chat.color) : (0, _0_color_js_1.getColorFromPeerId)(id),
56
56
  type: "supergroup",
57
57
  title,
58
58
  isScam,
@@ -66,7 +66,7 @@ function constructChat(chat) {
66
66
  const id = _4_constants_js_1.ZERO_CHANNEL_ID + -Number(chat.id);
67
67
  chat_ = {
68
68
  id,
69
- color: (0, _0_color_js_1.getColor)(id),
69
+ color: chat.color !== undefined ? (0, _0_color_js_1.getColorFromColorId)(chat.color) : (0, _0_color_js_1.getColorFromPeerId)(id),
70
70
  type: "channel",
71
71
  title,
72
72
  isScam,
@@ -9,7 +9,7 @@ function constructUser(user_) {
9
9
  const id = Number(user_.id);
10
10
  const user = {
11
11
  id,
12
- color: (0, _0_color_js_1.getColor)(id),
12
+ color: user_.color !== undefined ? (0, _0_color_js_1.getColorFromColorId)(user_.color) : (0, _0_color_js_1.getColorFromPeerId)(id),
13
13
  isBot: user_.bot || false,
14
14
  firstName: user_.firstName || "",
15
15
  lastName: user_.lastName,
@@ -49,7 +49,7 @@ async function getSender(message_, getEntity) {
49
49
  }
50
50
  }
51
51
  async function getReply(message_, chat, getMessage) {
52
- if (getMessage && message_.replyTo instanceof _2_tl_js_1.types.MessageReplyHeader) {
52
+ if (getMessage && message_.replyTo instanceof _2_tl_js_1.types.MessageReplyHeader && message_.replyTo.replyToMsgId) {
53
53
  let isTopicMessage = false;
54
54
  if (message_.replyTo.forumTopic) {
55
55
  isTopicMessage = true;
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.base64DecodeUrlSafe = exports.base64EncodeUrlSafe = void 0;
4
4
  const _0_deps_js_1 = require("../0_deps.js");
5
5
  function base64EncodeUrlSafe(data) {
6
- return (0, _0_deps_js_1.base64Encode)(data).replace(/=*$/, "").replaceAll("+", "-").replaceAll("/", "_");
6
+ return (0, _0_deps_js_1.encodeBase64)(data).replace(/=*$/, "").replaceAll("+", "-").replaceAll("/", "_");
7
7
  }
8
8
  exports.base64EncodeUrlSafe = base64EncodeUrlSafe;
9
9
  function base64DecodeUrlSafe(data) {
@@ -11,6 +11,6 @@ function base64DecodeUrlSafe(data) {
11
11
  if (data.length != 4) {
12
12
  data += "=".repeat(4 - data.length % 4);
13
13
  }
14
- return (0, _0_deps_js_1.base64Decode)(data);
14
+ return (0, _0_deps_js_1.decodeBase64)(data);
15
15
  }
16
16
  exports.base64DecodeUrlSafe = base64DecodeUrlSafe;
@@ -1,8 +1,6 @@
1
1
  export declare class Queue {
2
- private d;
3
- private functions;
2
+ #private;
3
+ functions: (() => Promise<void>)[];
4
4
  constructor(name: string);
5
5
  add(fn: () => Promise<void>): void;
6
- private busy;
7
- private check;
8
6
  }
@@ -1,54 +1,57 @@
1
1
  "use strict";
2
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
3
+ if (kind === "m") throw new TypeError("Private method is not writable");
4
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
5
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
6
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
7
+ };
8
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
9
+ if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
10
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
11
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
12
+ };
13
+ var _Queue_instances, _Queue_d, _Queue_busy, _Queue_check;
2
14
  Object.defineProperty(exports, "__esModule", { value: true });
3
15
  exports.Queue = void 0;
4
16
  const _0_deps_js_1 = require("../0_deps.js");
5
17
  class Queue {
6
18
  constructor(name) {
7
- Object.defineProperty(this, "d", {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value: void 0
12
- });
19
+ _Queue_instances.add(this);
20
+ _Queue_d.set(this, void 0);
13
21
  Object.defineProperty(this, "functions", {
14
22
  enumerable: true,
15
23
  configurable: true,
16
24
  writable: true,
17
25
  value: new Array()
18
26
  });
19
- Object.defineProperty(this, "busy", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: false
24
- });
25
- this.d = (0, _0_deps_js_1.debug)(`q/${name}`);
27
+ _Queue_busy.set(this, false);
28
+ __classPrivateFieldSet(this, _Queue_d, (0, _0_deps_js_1.debug)(`q/${name}`), "f");
26
29
  }
27
30
  add(fn) {
28
31
  this.functions.push(fn);
29
- this.check();
30
- }
31
- check() {
32
- if (this.busy) {
33
- return;
34
- }
35
- else {
36
- this.busy = true;
37
- }
38
- const fn = this.functions.shift();
39
- if (fn !== undefined) {
40
- fn()
41
- .catch((err) => {
42
- this.d("%o", "stack" in err ? err.stack : err);
43
- })
44
- .finally(() => {
45
- this.busy = false;
46
- this.check();
47
- });
48
- }
49
- else {
50
- this.busy = false;
51
- }
32
+ __classPrivateFieldGet(this, _Queue_instances, "m", _Queue_check).call(this);
52
33
  }
53
34
  }
54
35
  exports.Queue = Queue;
36
+ _Queue_d = new WeakMap(), _Queue_busy = new WeakMap(), _Queue_instances = new WeakSet(), _Queue_check = function _Queue_check() {
37
+ if (__classPrivateFieldGet(this, _Queue_busy, "f")) {
38
+ return;
39
+ }
40
+ else {
41
+ __classPrivateFieldSet(this, _Queue_busy, true, "f");
42
+ }
43
+ const fn = this.functions.shift();
44
+ if (fn !== undefined) {
45
+ fn()
46
+ .catch((err) => {
47
+ __classPrivateFieldGet(this, _Queue_d, "f").call(this, "%o", "stack" in err ? err.stack : err);
48
+ })
49
+ .finally(() => {
50
+ __classPrivateFieldSet(this, _Queue_busy, false, "f");
51
+ __classPrivateFieldGet(this, _Queue_instances, "m", _Queue_check).call(this);
52
+ });
53
+ }
54
+ else {
55
+ __classPrivateFieldSet(this, _Queue_busy, false, "f");
56
+ }
57
+ };