@mtkruto/node 0.0.983 → 0.0.984

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 (141) hide show
  1. package/esm/client/3_client.d.ts +30 -1
  2. package/esm/client/3_client.js +89 -28
  3. package/esm/constants.d.ts +1 -1
  4. package/esm/constants.js +1 -1
  5. package/esm/deps.d.ts +2 -2
  6. package/esm/deps.js +2 -2
  7. package/esm/transport/2_transport_provider.d.ts +0 -4
  8. package/esm/transport/2_transport_provider.js +0 -35
  9. package/package.json +1 -1
  10. package/script/client/3_client.d.ts +30 -1
  11. package/script/client/3_client.js +89 -28
  12. package/script/constants.d.ts +1 -1
  13. package/script/constants.js +1 -1
  14. package/script/deps.d.ts +2 -2
  15. package/script/deps.js +2 -2
  16. package/script/transport/2_transport_provider.d.ts +0 -4
  17. package/script/transport/2_transport_provider.js +1 -37
  18. package/esm/connection/1_connection_http.d.ts +0 -16
  19. package/esm/connection/1_connection_http.js +0 -91
  20. package/esm/transport/1_transport_piped.d.ts +0 -10
  21. package/esm/transport/1_transport_piped.js +0 -23
  22. package/script/connection/1_connection_http.d.ts +0 -16
  23. package/script/connection/1_connection_http.js +0 -95
  24. package/script/transport/1_transport_piped.d.ts +0 -10
  25. package/script/transport/1_transport_piped.js +0 -27
  26. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/_util/diff.d.ts +0 -0
  27. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/_util/diff.js +0 -0
  28. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/_constants.d.ts +0 -0
  29. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/_constants.js +0 -0
  30. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/_format.d.ts +0 -0
  31. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/_format.js +0 -0
  32. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert.d.ts +0 -0
  33. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert.js +0 -0
  34. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_almost_equals.d.ts +0 -0
  35. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_almost_equals.js +0 -0
  36. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_array_includes.d.ts +0 -0
  37. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_array_includes.js +0 -0
  38. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_equals.d.ts +0 -0
  39. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_equals.js +0 -0
  40. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_exists.d.ts +0 -0
  41. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_exists.js +0 -0
  42. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_false.d.ts +0 -0
  43. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_false.js +0 -0
  44. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_instance_of.d.ts +0 -0
  45. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_instance_of.js +0 -0
  46. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_is_error.d.ts +0 -0
  47. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_is_error.js +0 -0
  48. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_match.d.ts +0 -0
  49. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_match.js +0 -0
  50. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_equals.d.ts +0 -0
  51. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_equals.js +0 -0
  52. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_instance_of.d.ts +0 -0
  53. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_instance_of.js +0 -0
  54. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_match.d.ts +0 -0
  55. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_match.js +0 -0
  56. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_strict_equals.d.ts +0 -0
  57. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_strict_equals.js +0 -0
  58. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_object_match.d.ts +0 -0
  59. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_object_match.js +0 -0
  60. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_rejects.d.ts +0 -0
  61. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_rejects.js +0 -0
  62. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_strict_equals.d.ts +0 -0
  63. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_strict_equals.js +0 -0
  64. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_string_includes.d.ts +0 -0
  65. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_string_includes.js +0 -0
  66. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_throws.d.ts +0 -0
  67. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_throws.js +0 -0
  68. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assertion_error.d.ts +0 -0
  69. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assertion_error.js +0 -0
  70. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/equal.d.ts +0 -0
  71. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/equal.js +0 -0
  72. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/fail.d.ts +0 -0
  73. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/fail.js +0 -0
  74. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/mod.d.ts +0 -0
  75. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/mod.js +0 -0
  76. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/unimplemented.d.ts +0 -0
  77. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/unimplemented.js +0 -0
  78. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/unreachable.d.ts +0 -0
  79. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/unreachable.js +0 -0
  80. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/encoding/base64.d.ts +0 -0
  81. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/encoding/base64.js +0 -0
  82. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/fmt/colors.d.ts +0 -0
  83. /package/esm/deps/deno.land/{std@0.198.0 → std@0.199.0}/fmt/colors.js +0 -0
  84. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/_util/diff.d.ts +0 -0
  85. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/_util/diff.js +0 -0
  86. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/_constants.d.ts +0 -0
  87. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/_constants.js +0 -0
  88. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/_format.d.ts +0 -0
  89. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/_format.js +0 -0
  90. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert.d.ts +0 -0
  91. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert.js +0 -0
  92. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_almost_equals.d.ts +0 -0
  93. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_almost_equals.js +0 -0
  94. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_array_includes.d.ts +0 -0
  95. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_array_includes.js +0 -0
  96. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_equals.d.ts +0 -0
  97. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_equals.js +0 -0
  98. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_exists.d.ts +0 -0
  99. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_exists.js +0 -0
  100. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_false.d.ts +0 -0
  101. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_false.js +0 -0
  102. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_instance_of.d.ts +0 -0
  103. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_instance_of.js +0 -0
  104. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_is_error.d.ts +0 -0
  105. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_is_error.js +0 -0
  106. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_match.d.ts +0 -0
  107. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_match.js +0 -0
  108. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_equals.d.ts +0 -0
  109. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_equals.js +0 -0
  110. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_instance_of.d.ts +0 -0
  111. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_instance_of.js +0 -0
  112. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_match.d.ts +0 -0
  113. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_match.js +0 -0
  114. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_strict_equals.d.ts +0 -0
  115. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_not_strict_equals.js +0 -0
  116. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_object_match.d.ts +0 -0
  117. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_object_match.js +0 -0
  118. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_rejects.d.ts +0 -0
  119. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_rejects.js +0 -0
  120. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_strict_equals.d.ts +0 -0
  121. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_strict_equals.js +0 -0
  122. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_string_includes.d.ts +0 -0
  123. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_string_includes.js +0 -0
  124. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_throws.d.ts +0 -0
  125. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assert_throws.js +0 -0
  126. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assertion_error.d.ts +0 -0
  127. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/assertion_error.js +0 -0
  128. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/equal.d.ts +0 -0
  129. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/equal.js +0 -0
  130. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/fail.d.ts +0 -0
  131. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/fail.js +0 -0
  132. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/mod.d.ts +0 -0
  133. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/mod.js +0 -0
  134. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/unimplemented.d.ts +0 -0
  135. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/unimplemented.js +0 -0
  136. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/unreachable.d.ts +0 -0
  137. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/assert/unreachable.js +0 -0
  138. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/encoding/base64.d.ts +0 -0
  139. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/encoding/base64.js +0 -0
  140. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/fmt/colors.d.ts +0 -0
  141. /package/script/deps/deno.land/{std@0.198.0 → std@0.199.0}/fmt/colors.js +0 -0
@@ -1,9 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.httpTransportProvider = exports.webSocketTransportProvider = void 0;
4
- const _1_connection_http_js_1 = require("../connection/1_connection_http.js");
3
+ exports.webSocketTransportProvider = void 0;
5
4
  const _1_connection_web_socket_js_1 = require("../connection/1_connection_web_socket.js");
6
- const _1_transport_piped_js_1 = require("./1_transport_piped.js");
7
5
  const _1_transport_intermediate_js_1 = require("./1_transport_intermediate.js");
8
6
  const dcToNameMap = {
9
7
  "1": "pluto",
@@ -33,37 +31,3 @@ const webSocketTransportProvider = ({ initialDc, wss }) => {
33
31
  };
34
32
  };
35
33
  exports.webSocketTransportProvider = webSocketTransportProvider;
36
- const dcToIPv4Map = {
37
- "1": "149.154.175.50",
38
- "1-test": "149.154.175.10",
39
- "2": "149.154.167.51",
40
- "2-test": "149.154.167.40",
41
- "3": "149.154.175.100",
42
- "3-test": "149.154.175.117",
43
- "4": "149.154.167.91",
44
- "5": "149.154.171.5",
45
- };
46
- const dcToIPv6Map = {
47
- "1": "[2001:b28:f23d:f001::a]",
48
- "1-test": "[2001:b28:f23d:f001::e]",
49
- "2": "[2001:67c:4e8:f002::a]",
50
- "2-test": "[2001:67c:4e8:f002::e]",
51
- "3": "[2001:b28:f23d:f003::a]",
52
- "3-test": "[2001:b28:f23d:f003::e]",
53
- "4": "[2001:67c:4e8:f004::a]",
54
- "5": "[2001:b28:f23f:f005::a]",
55
- };
56
- const httpTransportProvider = ({ initialDc, secure, v6 }) => {
57
- return {
58
- initialDc,
59
- createTransport({ dc, cdn }) {
60
- dc ??= initialDc;
61
- const url = secure ? `https://${dcToNameMap[dc]}${cdn ? "-1" : ""}.web.telegram.org/${dc.endsWith("-test") ? "apiw1_test" : "apiw1"}` : `http://${(v6 ? dcToIPv6Map : dcToIPv4Map)[dc]}/${dc.endsWith("-test") ? "api_test" : "api"}`;
62
- const connection = new _1_connection_http_js_1.ConnectionHTTP(url);
63
- const transport = new _1_transport_piped_js_1.TransportPiped(connection);
64
- const dcId = getDcId(dc, cdn);
65
- return { connection, transport, dcId };
66
- },
67
- };
68
- };
69
- exports.httpTransportProvider = httpTransportProvider;
@@ -1,16 +0,0 @@
1
- import { ConnectionFramed } from "./0_connection.js";
2
- export declare class ConnectionHTTP extends ConnectionFramed implements ConnectionFramed {
3
- private readonly url;
4
- private rMutex;
5
- private wMutex;
6
- private resolveCanRead;
7
- private canRead;
8
- private buffers;
9
- constructor(url: string | URL);
10
- private resetCanRead;
11
- get connected(): boolean;
12
- open(): Promise<void>;
13
- read(): Promise<Uint8Array>;
14
- write(buffer: Uint8Array): Promise<void>;
15
- close(): void;
16
- }
@@ -1,91 +0,0 @@
1
- import { Mutex } from "../deps.js";
2
- import { UNREACHABLE } from "../utilities/0_control.js";
3
- import { ConnectionFramed } from "./0_connection.js";
4
- export class ConnectionHTTP extends ConnectionFramed {
5
- constructor(url) {
6
- super();
7
- Object.defineProperty(this, "url", {
8
- enumerable: true,
9
- configurable: true,
10
- writable: true,
11
- value: url
12
- });
13
- Object.defineProperty(this, "rMutex", {
14
- enumerable: true,
15
- configurable: true,
16
- writable: true,
17
- value: new Mutex()
18
- });
19
- Object.defineProperty(this, "wMutex", {
20
- enumerable: true,
21
- configurable: true,
22
- writable: true,
23
- value: new Mutex()
24
- });
25
- Object.defineProperty(this, "resolveCanRead", {
26
- enumerable: true,
27
- configurable: true,
28
- writable: true,
29
- value: () => { }
30
- });
31
- Object.defineProperty(this, "canRead", {
32
- enumerable: true,
33
- configurable: true,
34
- writable: true,
35
- value: Promise.resolve()
36
- });
37
- Object.defineProperty(this, "buffers", {
38
- enumerable: true,
39
- configurable: true,
40
- writable: true,
41
- value: new Array()
42
- });
43
- this.resetCanRead();
44
- }
45
- resetCanRead() {
46
- this.canRead = new Promise((r) => this.resolveCanRead = r);
47
- }
48
- get connected() {
49
- return true;
50
- }
51
- async open() {
52
- }
53
- async read() {
54
- await this.canRead;
55
- const release = await this.rMutex.acquire();
56
- try {
57
- const buffer = this.buffers.pop();
58
- if (buffer === undefined) {
59
- throw UNREACHABLE();
60
- }
61
- else {
62
- return buffer;
63
- }
64
- }
65
- finally {
66
- if (this.buffers.length == 0) {
67
- this.resetCanRead();
68
- }
69
- release();
70
- }
71
- }
72
- async write(buffer) {
73
- const release = await this.wMutex.acquire();
74
- try {
75
- const res = await fetch(this.url, {
76
- mode: "cors",
77
- method: "POST",
78
- body: buffer,
79
- });
80
- this.buffers.push(new Uint8Array(await res.arrayBuffer()));
81
- }
82
- finally {
83
- if (this.buffers.length == 1) {
84
- this.resolveCanRead();
85
- }
86
- release();
87
- }
88
- }
89
- close() {
90
- }
91
- }
@@ -1,10 +0,0 @@
1
- import { ConnectionFramed } from "../connection/0_connection.js";
2
- import { Transport } from "./0_transport.js";
3
- export declare class TransportPiped extends Transport implements Transport {
4
- private readonly connection;
5
- constructor(connection: ConnectionFramed);
6
- initialize(): Promise<void>;
7
- receive(): import("../utilities/0_types.js").MaybePromise<Uint8Array>;
8
- send(buffer: Uint8Array): import("../utilities/0_types.js").MaybePromise<void>;
9
- deinitialize(): void;
10
- }
@@ -1,23 +0,0 @@
1
- import { Transport } from "./0_transport.js";
2
- export class TransportPiped extends Transport {
3
- constructor(connection) {
4
- super();
5
- Object.defineProperty(this, "connection", {
6
- enumerable: true,
7
- configurable: true,
8
- writable: true,
9
- value: connection
10
- });
11
- }
12
- async initialize() {
13
- }
14
- receive() {
15
- return this.connection.read();
16
- }
17
- send(buffer) {
18
- return this.connection.write(buffer);
19
- }
20
- deinitialize() {
21
- this.initialized = false;
22
- }
23
- }
@@ -1,16 +0,0 @@
1
- import { ConnectionFramed } from "./0_connection.js";
2
- export declare class ConnectionHTTP extends ConnectionFramed implements ConnectionFramed {
3
- private readonly url;
4
- private rMutex;
5
- private wMutex;
6
- private resolveCanRead;
7
- private canRead;
8
- private buffers;
9
- constructor(url: string | URL);
10
- private resetCanRead;
11
- get connected(): boolean;
12
- open(): Promise<void>;
13
- read(): Promise<Uint8Array>;
14
- write(buffer: Uint8Array): Promise<void>;
15
- close(): void;
16
- }
@@ -1,95 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConnectionHTTP = void 0;
4
- const deps_js_1 = require("../deps.js");
5
- const _0_control_js_1 = require("../utilities/0_control.js");
6
- const _0_connection_js_1 = require("./0_connection.js");
7
- class ConnectionHTTP extends _0_connection_js_1.ConnectionFramed {
8
- constructor(url) {
9
- super();
10
- Object.defineProperty(this, "url", {
11
- enumerable: true,
12
- configurable: true,
13
- writable: true,
14
- value: url
15
- });
16
- Object.defineProperty(this, "rMutex", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: new deps_js_1.Mutex()
21
- });
22
- Object.defineProperty(this, "wMutex", {
23
- enumerable: true,
24
- configurable: true,
25
- writable: true,
26
- value: new deps_js_1.Mutex()
27
- });
28
- Object.defineProperty(this, "resolveCanRead", {
29
- enumerable: true,
30
- configurable: true,
31
- writable: true,
32
- value: () => { }
33
- });
34
- Object.defineProperty(this, "canRead", {
35
- enumerable: true,
36
- configurable: true,
37
- writable: true,
38
- value: Promise.resolve()
39
- });
40
- Object.defineProperty(this, "buffers", {
41
- enumerable: true,
42
- configurable: true,
43
- writable: true,
44
- value: new Array()
45
- });
46
- this.resetCanRead();
47
- }
48
- resetCanRead() {
49
- this.canRead = new Promise((r) => this.resolveCanRead = r);
50
- }
51
- get connected() {
52
- return true;
53
- }
54
- async open() {
55
- }
56
- async read() {
57
- await this.canRead;
58
- const release = await this.rMutex.acquire();
59
- try {
60
- const buffer = this.buffers.pop();
61
- if (buffer === undefined) {
62
- throw (0, _0_control_js_1.UNREACHABLE)();
63
- }
64
- else {
65
- return buffer;
66
- }
67
- }
68
- finally {
69
- if (this.buffers.length == 0) {
70
- this.resetCanRead();
71
- }
72
- release();
73
- }
74
- }
75
- async write(buffer) {
76
- const release = await this.wMutex.acquire();
77
- try {
78
- const res = await fetch(this.url, {
79
- mode: "cors",
80
- method: "POST",
81
- body: buffer,
82
- });
83
- this.buffers.push(new Uint8Array(await res.arrayBuffer()));
84
- }
85
- finally {
86
- if (this.buffers.length == 1) {
87
- this.resolveCanRead();
88
- }
89
- release();
90
- }
91
- }
92
- close() {
93
- }
94
- }
95
- exports.ConnectionHTTP = ConnectionHTTP;
@@ -1,10 +0,0 @@
1
- import { ConnectionFramed } from "../connection/0_connection.js";
2
- import { Transport } from "./0_transport.js";
3
- export declare class TransportPiped extends Transport implements Transport {
4
- private readonly connection;
5
- constructor(connection: ConnectionFramed);
6
- initialize(): Promise<void>;
7
- receive(): import("../utilities/0_types.js").MaybePromise<Uint8Array>;
8
- send(buffer: Uint8Array): import("../utilities/0_types.js").MaybePromise<void>;
9
- deinitialize(): void;
10
- }
@@ -1,27 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.TransportPiped = void 0;
4
- const _0_transport_js_1 = require("./0_transport.js");
5
- class TransportPiped extends _0_transport_js_1.Transport {
6
- constructor(connection) {
7
- super();
8
- Object.defineProperty(this, "connection", {
9
- enumerable: true,
10
- configurable: true,
11
- writable: true,
12
- value: connection
13
- });
14
- }
15
- async initialize() {
16
- }
17
- receive() {
18
- return this.connection.read();
19
- }
20
- send(buffer) {
21
- return this.connection.write(buffer);
22
- }
23
- deinitialize() {
24
- this.initialized = false;
25
- }
26
- }
27
- exports.TransportPiped = TransportPiped;