@bitrix24/b24jssdk 0.4.10 → 1.0.1

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 (258) hide show
  1. package/README-AI.md +2 -1
  2. package/dist/esm/_virtual/_commonjsHelpers.mjs +16 -0
  3. package/dist/esm/_virtual/_commonjsHelpers.mjs.map +1 -0
  4. package/dist/esm/_virtual/protobuf.mjs +16 -0
  5. package/dist/esm/_virtual/protobuf.mjs.map +1 -0
  6. package/dist/esm/_virtual/protobuf2.mjs +12 -0
  7. package/dist/esm/_virtual/protobuf2.mjs.map +1 -0
  8. package/dist/esm/core/abstract-b24.mjs +355 -0
  9. package/dist/esm/core/abstract-b24.mjs.map +1 -0
  10. package/dist/esm/core/actions/abstract-action.mjs +24 -0
  11. package/dist/esm/core/actions/abstract-action.mjs.map +1 -0
  12. package/dist/esm/core/actions/abstract-batch.mjs +95 -0
  13. package/dist/esm/core/actions/abstract-batch.mjs.map +1 -0
  14. package/dist/esm/core/actions/manager.mjs +53 -0
  15. package/dist/esm/core/actions/manager.mjs.map +1 -0
  16. package/dist/esm/core/actions/v2/batch-by-chunk.mjs +92 -0
  17. package/dist/esm/core/actions/v2/batch-by-chunk.mjs.map +1 -0
  18. package/dist/esm/core/actions/v2/batch.mjs +126 -0
  19. package/dist/esm/core/actions/v2/batch.mjs.map +1 -0
  20. package/dist/esm/core/actions/v2/call-list.mjs +131 -0
  21. package/dist/esm/core/actions/v2/call-list.mjs.map +1 -0
  22. package/dist/esm/core/actions/v2/call.mjs +68 -0
  23. package/dist/esm/core/actions/v2/call.mjs.map +1 -0
  24. package/dist/esm/core/actions/v2/fetch-list.mjs +132 -0
  25. package/dist/esm/core/actions/v2/fetch-list.mjs.map +1 -0
  26. package/dist/esm/core/actions/v2/manager-v2.mjs +74 -0
  27. package/dist/esm/core/actions/v2/manager-v2.mjs.map +1 -0
  28. package/dist/esm/core/actions/v3/batch-by-chunk.mjs +91 -0
  29. package/dist/esm/core/actions/v3/batch-by-chunk.mjs.map +1 -0
  30. package/dist/esm/core/actions/v3/batch.mjs +129 -0
  31. package/dist/esm/core/actions/v3/batch.mjs.map +1 -0
  32. package/dist/esm/core/actions/v3/call-list.mjs +127 -0
  33. package/dist/esm/core/actions/v3/call-list.mjs.map +1 -0
  34. package/dist/esm/core/actions/v3/call.mjs +58 -0
  35. package/dist/esm/core/actions/v3/call.mjs.map +1 -0
  36. package/dist/esm/core/actions/v3/fetch-list.mjs +125 -0
  37. package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -0
  38. package/dist/esm/core/actions/v3/manager-v3.mjs +74 -0
  39. package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -0
  40. package/dist/esm/core/http/abstract-http.mjs +563 -0
  41. package/dist/esm/core/http/abstract-http.mjs.map +1 -0
  42. package/dist/esm/core/http/ajax-error.mjs +107 -0
  43. package/dist/esm/core/http/ajax-error.mjs.map +1 -0
  44. package/dist/esm/core/http/ajax-result.mjs +176 -0
  45. package/dist/esm/core/http/ajax-result.mjs.map +1 -0
  46. package/dist/esm/core/http/limiters/adaptive-delayer.mjs +135 -0
  47. package/dist/esm/core/http/limiters/adaptive-delayer.mjs.map +1 -0
  48. package/dist/esm/core/http/limiters/manager.mjs +308 -0
  49. package/dist/esm/core/http/limiters/manager.mjs.map +1 -0
  50. package/dist/esm/core/http/limiters/operating-limiter.mjs +171 -0
  51. package/dist/esm/core/http/limiters/operating-limiter.mjs.map +1 -0
  52. package/dist/esm/core/http/limiters/params-factory.mjs +121 -0
  53. package/dist/esm/core/http/limiters/params-factory.mjs.map +1 -0
  54. package/dist/esm/core/http/limiters/rate-limiter.mjs +402 -0
  55. package/dist/esm/core/http/limiters/rate-limiter.mjs.map +1 -0
  56. package/dist/esm/core/http/v2.mjs +100 -0
  57. package/dist/esm/core/http/v2.mjs.map +1 -0
  58. package/dist/esm/core/http/v3.mjs +94 -0
  59. package/dist/esm/core/http/v3.mjs.map +1 -0
  60. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +69 -0
  61. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs.map +1 -0
  62. package/dist/esm/core/interaction/batch/parse-row.mjs +67 -0
  63. package/dist/esm/core/interaction/batch/parse-row.mjs.map +1 -0
  64. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +42 -0
  65. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -0
  66. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +121 -0
  67. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -0
  68. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +32 -0
  69. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +1 -0
  70. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +32 -0
  71. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs.map +1 -0
  72. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +118 -0
  73. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -0
  74. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +32 -0
  75. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +1 -0
  76. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +32 -0
  77. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs.map +1 -0
  78. package/dist/esm/core/interaction/batch/v2.mjs +44 -0
  79. package/dist/esm/core/interaction/batch/v2.mjs.map +1 -0
  80. package/dist/esm/core/interaction/batch/v3.mjs +42 -0
  81. package/dist/esm/core/interaction/batch/v3.mjs.map +1 -0
  82. package/dist/esm/core/language/list.mjs +56 -0
  83. package/dist/esm/core/language/list.mjs.map +1 -0
  84. package/dist/esm/core/request-id-generator.mjs +42 -0
  85. package/dist/esm/core/request-id-generator.mjs.map +1 -0
  86. package/dist/esm/core/result.mjs +101 -0
  87. package/dist/esm/core/result.mjs.map +1 -0
  88. package/dist/esm/core/sdk-error.mjs +83 -0
  89. package/dist/esm/core/sdk-error.mjs.map +1 -0
  90. package/dist/esm/core/tools/abstract-tool.mjs +24 -0
  91. package/dist/esm/core/tools/abstract-tool.mjs.map +1 -0
  92. package/dist/esm/core/tools/healthcheck.mjs +48 -0
  93. package/dist/esm/core/tools/healthcheck.mjs.map +1 -0
  94. package/dist/esm/core/tools/manager.mjs +50 -0
  95. package/dist/esm/core/tools/manager.mjs.map +1 -0
  96. package/dist/esm/core/tools/ping.mjs +56 -0
  97. package/dist/esm/core/tools/ping.mjs.map +1 -0
  98. package/dist/esm/core/version-manager.mjs +116 -0
  99. package/dist/esm/core/version-manager.mjs.map +1 -0
  100. package/dist/esm/frame/auth.mjs +98 -0
  101. package/dist/esm/frame/auth.mjs.map +1 -0
  102. package/dist/esm/frame/b24.mjs +170 -0
  103. package/dist/esm/frame/b24.mjs.map +1 -0
  104. package/dist/esm/frame/dialog.mjs +78 -0
  105. package/dist/esm/frame/dialog.mjs.map +1 -0
  106. package/dist/esm/frame/frame.mjs +101 -0
  107. package/dist/esm/frame/frame.mjs.map +1 -0
  108. package/dist/esm/frame/message/commands.mjs +37 -0
  109. package/dist/esm/frame/message/commands.mjs.map +1 -0
  110. package/dist/esm/frame/message/controller.mjs +177 -0
  111. package/dist/esm/frame/message/controller.mjs.map +1 -0
  112. package/dist/esm/frame/options.mjs +106 -0
  113. package/dist/esm/frame/options.mjs.map +1 -0
  114. package/dist/esm/frame/parent.mjs +250 -0
  115. package/dist/esm/frame/parent.mjs.map +1 -0
  116. package/dist/esm/frame/placement.mjs +131 -0
  117. package/dist/esm/frame/placement.mjs.map +1 -0
  118. package/dist/esm/frame/slider.mjs +156 -0
  119. package/dist/esm/frame/slider.mjs.map +1 -0
  120. package/dist/esm/helper/abstract-helper.mjs +52 -0
  121. package/dist/esm/helper/abstract-helper.mjs.map +1 -0
  122. package/dist/esm/helper/app-manager.mjs +37 -0
  123. package/dist/esm/helper/app-manager.mjs.map +1 -0
  124. package/dist/esm/helper/currency-manager.mjs +207 -0
  125. package/dist/esm/helper/currency-manager.mjs.map +1 -0
  126. package/dist/esm/helper/helper-manager.mjs +388 -0
  127. package/dist/esm/helper/helper-manager.mjs.map +1 -0
  128. package/dist/esm/helper/license-manager.mjs +50 -0
  129. package/dist/esm/helper/license-manager.mjs.map +1 -0
  130. package/dist/esm/helper/options-manager.mjs +196 -0
  131. package/dist/esm/helper/options-manager.mjs.map +1 -0
  132. package/dist/esm/helper/payment-manager.mjs +33 -0
  133. package/dist/esm/helper/payment-manager.mjs.map +1 -0
  134. package/dist/esm/helper/profile-manager.mjs +33 -0
  135. package/dist/esm/helper/profile-manager.mjs.map +1 -0
  136. package/dist/esm/helper/use-b24-helper.mjs +84 -0
  137. package/dist/esm/helper/use-b24-helper.mjs.map +1 -0
  138. package/dist/esm/hook/auth.mjs +77 -0
  139. package/dist/esm/hook/auth.mjs.map +1 -0
  140. package/dist/esm/hook/b24.mjs +115 -0
  141. package/dist/esm/hook/b24.mjs.map +1 -0
  142. package/dist/esm/index.d.mts +2757 -525
  143. package/dist/esm/index.d.ts +2757 -525
  144. package/dist/esm/index.mjs +70 -14111
  145. package/dist/esm/index.mjs.map +1 -1
  146. package/dist/esm/loader-b24frame.mjs +101 -0
  147. package/dist/esm/loader-b24frame.mjs.map +1 -0
  148. package/dist/esm/logger/abstract-logger.mjs +69 -0
  149. package/dist/esm/logger/abstract-logger.mjs.map +1 -0
  150. package/dist/esm/logger/browser.mjs +162 -0
  151. package/dist/esm/logger/browser.mjs.map +1 -0
  152. package/dist/esm/logger/formatter/abstract-formatter.mjs +34 -0
  153. package/dist/esm/logger/formatter/abstract-formatter.mjs.map +1 -0
  154. package/dist/esm/logger/formatter/json-formatter.mjs +34 -0
  155. package/dist/esm/logger/formatter/json-formatter.mjs.map +1 -0
  156. package/dist/esm/logger/formatter/line-formatter.mjs +41 -0
  157. package/dist/esm/logger/formatter/line-formatter.mjs.map +1 -0
  158. package/dist/esm/logger/formatter/telegram-formatter.mjs +103 -0
  159. package/dist/esm/logger/formatter/telegram-formatter.mjs.map +1 -0
  160. package/dist/esm/logger/handler/abstract-handler.mjs +39 -0
  161. package/dist/esm/logger/handler/abstract-handler.mjs.map +1 -0
  162. package/dist/esm/logger/handler/consola-adapter.mjs +62 -0
  163. package/dist/esm/logger/handler/consola-adapter.mjs.map +1 -0
  164. package/dist/esm/logger/handler/console-handler.mjs +98 -0
  165. package/dist/esm/logger/handler/console-handler.mjs.map +1 -0
  166. package/dist/esm/logger/handler/console-v2-handler.mjs +51 -0
  167. package/dist/esm/logger/handler/console-v2-handler.mjs.map +1 -0
  168. package/dist/esm/logger/handler/memory-handler.mjs +48 -0
  169. package/dist/esm/logger/handler/memory-handler.mjs.map +1 -0
  170. package/dist/esm/logger/handler/stream-handler.mjs +73 -0
  171. package/dist/esm/logger/handler/stream-handler.mjs.map +1 -0
  172. package/dist/esm/logger/handler/telegram-handler.mjs +157 -0
  173. package/dist/esm/logger/handler/telegram-handler.mjs.map +1 -0
  174. package/dist/esm/logger/handler/winston-adapter.mjs +57 -0
  175. package/dist/esm/logger/handler/winston-adapter.mjs.map +1 -0
  176. package/dist/esm/logger/logger-factory.mjs +67 -0
  177. package/dist/esm/logger/logger-factory.mjs.map +1 -0
  178. package/dist/esm/logger/logger.mjs +76 -0
  179. package/dist/esm/logger/logger.mjs.map +1 -0
  180. package/dist/esm/logger/null-logger.mjs +32 -0
  181. package/dist/esm/logger/null-logger.mjs.map +1 -0
  182. package/dist/esm/logger/processor/memory-usage-processor.mjs +20 -0
  183. package/dist/esm/logger/processor/memory-usage-processor.mjs.map +1 -0
  184. package/dist/esm/logger/processor/pid-processor.mjs +20 -0
  185. package/dist/esm/logger/processor/pid-processor.mjs.map +1 -0
  186. package/dist/esm/oauth/auth.mjs +211 -0
  187. package/dist/esm/oauth/auth.mjs.map +1 -0
  188. package/dist/esm/oauth/b24.mjs +117 -0
  189. package/dist/esm/oauth/b24.mjs.map +1 -0
  190. package/dist/esm/oauth/refresh-token-error.mjs +20 -0
  191. package/dist/esm/oauth/refresh-token-error.mjs.map +1 -0
  192. package/dist/esm/pullClient/abstract-connector.mjs +78 -0
  193. package/dist/esm/pullClient/abstract-connector.mjs.map +1 -0
  194. package/dist/esm/pullClient/channel-manager.mjs +89 -0
  195. package/dist/esm/pullClient/channel-manager.mjs.map +1 -0
  196. package/dist/esm/pullClient/client.mjs +2064 -0
  197. package/dist/esm/pullClient/client.mjs.map +1 -0
  198. package/dist/esm/pullClient/errors.mjs +31 -0
  199. package/dist/esm/pullClient/errors.mjs.map +1 -0
  200. package/dist/esm/pullClient/json-rpc.mjs +210 -0
  201. package/dist/esm/pullClient/json-rpc.mjs.map +1 -0
  202. package/dist/esm/pullClient/long-polling-connector.mjs +157 -0
  203. package/dist/esm/pullClient/long-polling-connector.mjs.map +1 -0
  204. package/dist/esm/pullClient/protobuf/index.mjs +17 -0
  205. package/dist/esm/pullClient/protobuf/index.mjs.map +1 -0
  206. package/dist/esm/pullClient/protobuf/model.mjs +1058 -0
  207. package/dist/esm/pullClient/protobuf/model.mjs.map +1 -0
  208. package/dist/esm/pullClient/protobuf/protobuf.mjs +4653 -0
  209. package/dist/esm/pullClient/protobuf/protobuf.mjs.map +1 -0
  210. package/dist/esm/pullClient/shared-config.mjs +133 -0
  211. package/dist/esm/pullClient/shared-config.mjs.map +1 -0
  212. package/dist/esm/pullClient/storage-manager.mjs +72 -0
  213. package/dist/esm/pullClient/storage-manager.mjs.map +1 -0
  214. package/dist/esm/pullClient/web-socket-connector.mjs +129 -0
  215. package/dist/esm/pullClient/web-socket-connector.mjs.map +1 -0
  216. package/dist/esm/tools/browser.mjs +154 -0
  217. package/dist/esm/tools/browser.mjs.map +1 -0
  218. package/dist/esm/tools/environment.mjs +29 -0
  219. package/dist/esm/tools/environment.mjs.map +1 -0
  220. package/dist/esm/tools/formatters/iban.mjs +304 -0
  221. package/dist/esm/tools/formatters/iban.mjs.map +1 -0
  222. package/dist/esm/tools/formatters/numbers.mjs +64 -0
  223. package/dist/esm/tools/formatters/numbers.mjs.map +1 -0
  224. package/dist/esm/tools/index.mjs +37 -0
  225. package/dist/esm/tools/index.mjs.map +1 -0
  226. package/dist/esm/tools/scroll-size.mjs +25 -0
  227. package/dist/esm/tools/scroll-size.mjs.map +1 -0
  228. package/dist/esm/tools/text.mjs +208 -0
  229. package/dist/esm/tools/text.mjs.map +1 -0
  230. package/dist/esm/tools/type.mjs +337 -0
  231. package/dist/esm/tools/type.mjs.map +1 -0
  232. package/dist/esm/tools/use-formatters.mjs +460 -0
  233. package/dist/esm/tools/use-formatters.mjs.map +1 -0
  234. package/dist/esm/tools/uuidv7.mjs +54 -0
  235. package/dist/esm/tools/uuidv7.mjs.map +1 -0
  236. package/dist/esm/types/b24-helper.mjs +56 -0
  237. package/dist/esm/types/b24-helper.mjs.map +1 -0
  238. package/dist/esm/types/b24.mjs +16 -0
  239. package/dist/esm/types/b24.mjs.map +1 -0
  240. package/dist/esm/types/bizproc/index.mjs +187 -0
  241. package/dist/esm/types/bizproc/index.mjs.map +1 -0
  242. package/dist/esm/types/catalog/index.mjs +35 -0
  243. package/dist/esm/types/catalog/index.mjs.map +1 -0
  244. package/dist/esm/types/common.mjs +31 -0
  245. package/dist/esm/types/common.mjs.map +1 -0
  246. package/dist/esm/types/crm/entity-type.mjs +57 -0
  247. package/dist/esm/types/crm/entity-type.mjs.map +1 -0
  248. package/dist/esm/types/crm/productrow.mjs +17 -0
  249. package/dist/esm/types/crm/productrow.mjs.map +1 -0
  250. package/dist/esm/types/logger.mjs +22 -0
  251. package/dist/esm/types/logger.mjs.map +1 -0
  252. package/dist/esm/types/pull.mjs +83 -0
  253. package/dist/esm/types/pull.mjs.map +1 -0
  254. package/dist/umd/index.js +31216 -26905
  255. package/dist/umd/index.js.map +1 -1
  256. package/dist/umd/index.min.js +63 -40
  257. package/dist/umd/index.min.js.map +1 -1
  258. package/package.json +36 -31
@@ -0,0 +1,157 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.1
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { Type } from '../tools/type.mjs';
10
+ import { Text } from '../tools/text.mjs';
11
+ import { AbstractConnector } from './abstract-connector.mjs';
12
+ import { ConnectionType } from '../types/pull.mjs';
13
+
14
+ var __defProp = Object.defineProperty;
15
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
+ const LONG_POLLING_TIMEOUT = 60;
17
+ class LongPollingConnector extends AbstractConnector {
18
+ static {
19
+ __name(this, "LongPollingConnector");
20
+ }
21
+ _active;
22
+ _requestTimeout;
23
+ _failureTimeout;
24
+ _xhr;
25
+ _requestAborted;
26
+ constructor(config) {
27
+ super(config);
28
+ this._active = false;
29
+ this._connectionType = ConnectionType.LongPolling;
30
+ this._requestTimeout = null;
31
+ this._failureTimeout = null;
32
+ this._xhr = this.createXhr();
33
+ this._requestAborted = false;
34
+ }
35
+ /**
36
+ * @inheritDoc
37
+ */
38
+ connect() {
39
+ this._active = true;
40
+ this.performRequest();
41
+ }
42
+ /**
43
+ * @inheritDoc
44
+ * @param code
45
+ * @param reason
46
+ */
47
+ disconnect(code, reason) {
48
+ this._active = false;
49
+ this.clearTimeOut();
50
+ if (this._xhr) {
51
+ this._requestAborted = true;
52
+ this._xhr.abort();
53
+ }
54
+ this._disconnectCode = code;
55
+ this._disconnectReason = reason;
56
+ this.connected = false;
57
+ }
58
+ performRequest() {
59
+ if (!this._active) {
60
+ return;
61
+ }
62
+ if (!this.connectionPath) {
63
+ throw new Error("Long polling connection path is not defined");
64
+ }
65
+ if (this._xhr.readyState !== 0 && this._xhr.readyState !== 4) {
66
+ return;
67
+ }
68
+ this.clearTimeOut();
69
+ this._failureTimeout = setTimeout(() => {
70
+ this.connected = true;
71
+ }, 5e3);
72
+ this._requestTimeout = setTimeout(
73
+ this.onRequestTimeout.bind(this),
74
+ LONG_POLLING_TIMEOUT * 1e3
75
+ );
76
+ this._xhr.open("GET", this.connectionPath);
77
+ this._xhr.send();
78
+ }
79
+ onRequestTimeout() {
80
+ this._requestAborted = true;
81
+ this._xhr.abort();
82
+ this.performRequest();
83
+ }
84
+ onXhrReadyStateChange() {
85
+ if (this._xhr.readyState === 4) {
86
+ if (!this._requestAborted || this._xhr.status == 200) {
87
+ this.onResponse(this._xhr.response);
88
+ }
89
+ this._requestAborted = false;
90
+ }
91
+ }
92
+ /**
93
+ * Via http request
94
+ * @inheritDoc
95
+ */
96
+ send(buffer) {
97
+ const path = this._parent.getPublicationPath();
98
+ if (!path) {
99
+ this.getLogger().error(`${Text.getDateForLog()}: Pull: publication path is empty`);
100
+ return false;
101
+ }
102
+ const xhr = new XMLHttpRequest();
103
+ xhr.open("POST", path);
104
+ xhr.send(buffer);
105
+ return true;
106
+ }
107
+ onResponse(response) {
108
+ this.clearTimeOut();
109
+ if (this._xhr.status === 200) {
110
+ this.connected = true;
111
+ if (Type.isStringFilled(response) || response instanceof ArrayBuffer) {
112
+ this._callbacks.onMessage(response);
113
+ } else {
114
+ this._parent.session.mid = null;
115
+ }
116
+ this.performRequest();
117
+ } else if (this._xhr.status === 304) {
118
+ this.connected = true;
119
+ if (this._xhr.getResponseHeader("Expires") === "Thu, 01 Jan 1973 11:11:01 GMT") {
120
+ const lastMessageId = this._xhr.getResponseHeader("Last-Message-Id");
121
+ if (Type.isStringFilled(lastMessageId)) {
122
+ this._parent.setLastMessageId(lastMessageId || "");
123
+ }
124
+ }
125
+ this.performRequest();
126
+ } else {
127
+ this._callbacks.onError(new Error("Could not connect to the server"));
128
+ this.connected = false;
129
+ }
130
+ }
131
+ // region Tools ////
132
+ clearTimeOut() {
133
+ if (this._failureTimeout) {
134
+ clearTimeout(this._failureTimeout);
135
+ this._failureTimeout = null;
136
+ }
137
+ if (this._requestTimeout) {
138
+ clearTimeout(this._requestTimeout);
139
+ this._requestTimeout = null;
140
+ }
141
+ }
142
+ createXhr() {
143
+ const result = new XMLHttpRequest();
144
+ if (this._parent.isProtobufSupported() && !this._parent.isJsonRpc()) {
145
+ result.responseType = "arraybuffer";
146
+ }
147
+ result.addEventListener(
148
+ "readystatechange",
149
+ this.onXhrReadyStateChange.bind(this)
150
+ );
151
+ return result;
152
+ }
153
+ // endregion ////
154
+ }
155
+
156
+ export { LongPollingConnector };
157
+ //# sourceMappingURL=long-polling-connector.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"long-polling-connector.mjs","sources":["../../../src/pullClient/long-polling-connector.ts"],"sourcesContent":["import type { ConnectorConfig } from '../types/pull'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\nimport { AbstractConnector } from './abstract-connector'\nimport { ConnectionType } from '../types/pull'\n\nconst LONG_POLLING_TIMEOUT = 60\n\nexport class LongPollingConnector extends AbstractConnector {\n private _active: boolean\n\n private _requestTimeout: ReturnType<typeof setTimeout> | null\n private _failureTimeout: ReturnType<typeof setTimeout> | null\n private readonly _xhr: XMLHttpRequest\n private _requestAborted: boolean\n\n constructor(config: ConnectorConfig) {\n super(config)\n\n this._active = false\n this._connectionType = ConnectionType.LongPolling\n\n this._requestTimeout = null\n this._failureTimeout = null\n this._xhr = this.createXhr()\n this._requestAborted = false\n }\n\n /**\n * @inheritDoc\n */\n override connect(): void {\n this._active = true\n this.performRequest()\n }\n\n /**\n * @inheritDoc\n * @param code\n * @param reason\n */\n override disconnect(code: number, reason: string): void {\n this._active = false\n\n this.clearTimeOut()\n\n if (this._xhr) {\n this._requestAborted = true\n this._xhr.abort()\n }\n\n this._disconnectCode = code\n this._disconnectReason = reason\n this.connected = false\n }\n\n private performRequest(): void {\n if (!this._active) {\n return\n }\n\n if (!this.connectionPath) {\n throw new Error('Long polling connection path is not defined')\n }\n\n if (this._xhr.readyState !== 0 && this._xhr.readyState !== 4) {\n return\n }\n\n this.clearTimeOut()\n\n this._failureTimeout = setTimeout(() => {\n this.connected = true\n }, 5_000)\n\n this._requestTimeout = setTimeout(\n this.onRequestTimeout.bind(this),\n LONG_POLLING_TIMEOUT * 1_000\n )\n\n this._xhr.open('GET', this.connectionPath)\n this._xhr.send()\n }\n\n private onRequestTimeout() {\n this._requestAborted = true\n this._xhr.abort()\n this.performRequest()\n }\n\n private onXhrReadyStateChange(): void {\n if (this._xhr.readyState === 4) {\n if (!this._requestAborted || this._xhr.status == 200) {\n this.onResponse(this._xhr.response)\n }\n\n this._requestAborted = false\n }\n }\n\n /**\n * Via http request\n * @inheritDoc\n */\n override send(buffer: ArrayBuffer | string): boolean {\n const path = this._parent.getPublicationPath()\n if (!path) {\n this.getLogger().error(`${Text.getDateForLog()}: Pull: publication path is empty`)\n return false\n }\n\n const xhr = new XMLHttpRequest()\n xhr.open('POST', path)\n xhr.send(buffer)\n\n return true\n }\n\n private onResponse(response: any): void {\n this.clearTimeOut()\n\n if (this._xhr.status === 200) {\n this.connected = true\n if (Type.isStringFilled(response) || response instanceof ArrayBuffer) {\n this._callbacks.onMessage(response)\n } else {\n this._parent.session.mid = null\n }\n this.performRequest()\n } else if (this._xhr.status === 304) {\n this.connected = true\n if (\n this._xhr.getResponseHeader('Expires')\n === 'Thu, 01 Jan 1973 11:11:01 GMT'\n ) {\n const lastMessageId = this._xhr.getResponseHeader('Last-Message-Id')\n if (Type.isStringFilled(lastMessageId)) {\n this._parent.setLastMessageId(lastMessageId || '')\n }\n }\n this.performRequest()\n } else {\n this._callbacks.onError(new Error('Could not connect to the server'))\n\n this.connected = false\n }\n }\n\n // region Tools ////\n private clearTimeOut(): void {\n if (this._failureTimeout) {\n clearTimeout(this._failureTimeout)\n this._failureTimeout = null\n }\n\n if (this._requestTimeout) {\n clearTimeout(this._requestTimeout)\n this._requestTimeout = null\n }\n }\n\n private createXhr(): XMLHttpRequest {\n const result = new XMLHttpRequest()\n\n if (this._parent.isProtobufSupported() && !this._parent.isJsonRpc()) {\n result.responseType = 'arraybuffer'\n }\n\n result.addEventListener(\n 'readystatechange',\n this.onXhrReadyStateChange.bind(this)\n )\n\n return result\n }\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 1.0.1
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ import { $root } from './model.mjs';
10
+
11
+ const ResponseBatch = $root["ResponseBatch"];
12
+ const RequestBatch = $root["RequestBatch"];
13
+ const IncomingMessage = $root["IncomingMessage"];
14
+ const Receiver = $root["Receiver"];
15
+
16
+ export { IncomingMessage, Receiver, RequestBatch, ResponseBatch };
17
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../../../../src/pullClient/protobuf/index.ts"],"sourcesContent":["import { $root } from './model'\n\n// Protobuf message models\n// export const Response = $root['Response']\nexport const ResponseBatch = $root['ResponseBatch']\n// export const Request = $root['Request']\nexport const RequestBatch = $root['RequestBatch']\n// export const IncomingMessagesRequest = $root['In/comingMessagesRequest']\nexport const IncomingMessage = $root['IncomingMessage']\nexport const Receiver = $root['Receiver']\n"],"names":[],"mappings":";;;;;;;;;;AAIO,MAAM,aAAA,GAAgB,MAAM,eAAe;AAE3C,MAAM,YAAA,GAAe,MAAM,cAAc;AAEzC,MAAM,eAAA,GAAkB,MAAM,iBAAiB;AAC/C,MAAM,QAAA,GAAW,MAAM,UAAU;;;;"}