@bitrix24/b24jssdk 1.3.0 → 2.0.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.
Files changed (440) hide show
  1. package/README-AI.md +3 -2
  2. package/README.md +2 -0
  3. package/dist/cjs/_virtual/_commonjsHelpers.cjs +19 -0
  4. package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
  5. package/dist/cjs/_virtual/protobuf.cjs +20 -0
  6. package/dist/cjs/_virtual/protobuf.cjs.map +1 -0
  7. package/dist/cjs/_virtual/protobuf2.cjs +14 -0
  8. package/dist/cjs/_virtual/protobuf2.cjs.map +1 -0
  9. package/dist/cjs/core/abstract-b24.cjs +357 -0
  10. package/dist/cjs/core/abstract-b24.cjs.map +1 -0
  11. package/dist/cjs/core/actions/abstract-action.cjs +26 -0
  12. package/dist/cjs/core/actions/abstract-action.cjs.map +1 -0
  13. package/dist/cjs/core/actions/abstract-batch.cjs +97 -0
  14. package/dist/cjs/core/actions/abstract-batch.cjs.map +1 -0
  15. package/dist/cjs/core/actions/manager.cjs +55 -0
  16. package/dist/cjs/core/actions/manager.cjs.map +1 -0
  17. package/dist/cjs/core/actions/v2/batch-by-chunk.cjs +95 -0
  18. package/dist/cjs/core/actions/v2/batch-by-chunk.cjs.map +1 -0
  19. package/dist/cjs/core/actions/v2/batch.cjs +128 -0
  20. package/dist/cjs/core/actions/v2/batch.cjs.map +1 -0
  21. package/dist/cjs/core/actions/v2/call-list.cjs +144 -0
  22. package/dist/cjs/core/actions/v2/call-list.cjs.map +1 -0
  23. package/dist/cjs/core/actions/v2/call.cjs +56 -0
  24. package/dist/cjs/core/actions/v2/call.cjs.map +1 -0
  25. package/dist/cjs/core/actions/v2/fetch-list.cjs +145 -0
  26. package/dist/cjs/core/actions/v2/fetch-list.cjs.map +1 -0
  27. package/dist/cjs/core/actions/v2/manager-v2.cjs +76 -0
  28. package/dist/cjs/core/actions/v2/manager-v2.cjs.map +1 -0
  29. package/dist/cjs/core/actions/v3/_keyset-paginate.cjs +69 -0
  30. package/dist/cjs/core/actions/v3/_keyset-paginate.cjs.map +1 -0
  31. package/dist/cjs/core/actions/v3/aggregate.cjs +96 -0
  32. package/dist/cjs/core/actions/v3/aggregate.cjs.map +1 -0
  33. package/dist/cjs/core/actions/v3/batch-by-chunk.cjs +93 -0
  34. package/dist/cjs/core/actions/v3/batch-by-chunk.cjs.map +1 -0
  35. package/dist/cjs/core/actions/v3/batch.cjs +122 -0
  36. package/dist/cjs/core/actions/v3/batch.cjs.map +1 -0
  37. package/dist/cjs/core/actions/v3/call-list.cjs +126 -0
  38. package/dist/cjs/core/actions/v3/call-list.cjs.map +1 -0
  39. package/dist/cjs/core/actions/v3/call-tail.cjs +118 -0
  40. package/dist/cjs/core/actions/v3/call-tail.cjs.map +1 -0
  41. package/dist/cjs/core/actions/v3/call.cjs +51 -0
  42. package/dist/cjs/core/actions/v3/call.cjs.map +1 -0
  43. package/dist/cjs/core/actions/v3/fetch-list.cjs +122 -0
  44. package/dist/cjs/core/actions/v3/fetch-list.cjs.map +1 -0
  45. package/dist/cjs/core/actions/v3/fetch-tail.cjs +112 -0
  46. package/dist/cjs/core/actions/v3/fetch-tail.cjs.map +1 -0
  47. package/dist/cjs/core/actions/v3/manager-v3.cjs +100 -0
  48. package/dist/cjs/core/actions/v3/manager-v3.cjs.map +1 -0
  49. package/dist/cjs/core/http/abstract-http.cjs +641 -0
  50. package/dist/cjs/core/http/abstract-http.cjs.map +1 -0
  51. package/dist/cjs/core/http/ajax-error.cjs +113 -0
  52. package/dist/cjs/core/http/ajax-error.cjs.map +1 -0
  53. package/dist/cjs/core/http/ajax-result.cjs +219 -0
  54. package/dist/cjs/core/http/ajax-result.cjs.map +1 -0
  55. package/dist/cjs/core/http/limiters/adaptive-delayer.cjs +137 -0
  56. package/dist/cjs/core/http/limiters/adaptive-delayer.cjs.map +1 -0
  57. package/dist/cjs/core/http/limiters/manager.cjs +373 -0
  58. package/dist/cjs/core/http/limiters/manager.cjs.map +1 -0
  59. package/dist/cjs/core/http/limiters/operating-limiter.cjs +173 -0
  60. package/dist/cjs/core/http/limiters/operating-limiter.cjs.map +1 -0
  61. package/dist/cjs/core/http/limiters/params-factory.cjs +124 -0
  62. package/dist/cjs/core/http/limiters/params-factory.cjs.map +1 -0
  63. package/dist/cjs/core/http/limiters/rate-limiter.cjs +404 -0
  64. package/dist/cjs/core/http/limiters/rate-limiter.cjs.map +1 -0
  65. package/dist/cjs/core/http/redact.cjs +85 -0
  66. package/dist/cjs/core/http/redact.cjs.map +1 -0
  67. package/dist/cjs/core/http/v2.cjs +85 -0
  68. package/dist/cjs/core/http/v2.cjs.map +1 -0
  69. package/dist/cjs/core/http/v3.cjs +82 -0
  70. package/dist/cjs/core/http/v3.cjs.map +1 -0
  71. package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs +71 -0
  72. package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs.map +1 -0
  73. package/dist/cjs/core/interaction/batch/parse-row.cjs +69 -0
  74. package/dist/cjs/core/interaction/batch/parse-row.cjs.map +1 -0
  75. package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs +87 -0
  76. package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs.map +1 -0
  77. package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs +138 -0
  78. package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs.map +1 -0
  79. package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs +34 -0
  80. package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs.map +1 -0
  81. package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs +34 -0
  82. package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs.map +1 -0
  83. package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs +115 -0
  84. package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs.map +1 -0
  85. package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs +34 -0
  86. package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs.map +1 -0
  87. package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs +34 -0
  88. package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs.map +1 -0
  89. package/dist/cjs/core/interaction/batch/v2.cjs +47 -0
  90. package/dist/cjs/core/interaction/batch/v2.cjs.map +1 -0
  91. package/dist/cjs/core/interaction/batch/v3.cjs +45 -0
  92. package/dist/cjs/core/interaction/batch/v3.cjs.map +1 -0
  93. package/dist/cjs/core/language/list.cjs +59 -0
  94. package/dist/cjs/core/language/list.cjs.map +1 -0
  95. package/dist/cjs/core/request-id-generator.cjs +44 -0
  96. package/dist/cjs/core/request-id-generator.cjs.map +1 -0
  97. package/dist/cjs/core/result.cjs +137 -0
  98. package/dist/cjs/core/result.cjs.map +1 -0
  99. package/dist/cjs/core/sdk-error.cjs +85 -0
  100. package/dist/cjs/core/sdk-error.cjs.map +1 -0
  101. package/dist/cjs/core/tools/abstract-tool.cjs +26 -0
  102. package/dist/cjs/core/tools/abstract-tool.cjs.map +1 -0
  103. package/dist/cjs/core/tools/healthcheck.cjs +50 -0
  104. package/dist/cjs/core/tools/healthcheck.cjs.map +1 -0
  105. package/dist/cjs/core/tools/manager.cjs +52 -0
  106. package/dist/cjs/core/tools/manager.cjs.map +1 -0
  107. package/dist/cjs/core/tools/ping.cjs +58 -0
  108. package/dist/cjs/core/tools/ping.cjs.map +1 -0
  109. package/dist/cjs/core/version-manager.cjs +57 -0
  110. package/dist/cjs/core/version-manager.cjs.map +1 -0
  111. package/dist/cjs/frame/auth.cjs +100 -0
  112. package/dist/cjs/frame/auth.cjs.map +1 -0
  113. package/dist/cjs/frame/b24.cjs +178 -0
  114. package/dist/cjs/frame/b24.cjs.map +1 -0
  115. package/dist/cjs/frame/dialog.cjs +120 -0
  116. package/dist/cjs/frame/dialog.cjs.map +1 -0
  117. package/dist/cjs/frame/frame.cjs +103 -0
  118. package/dist/cjs/frame/frame.cjs.map +1 -0
  119. package/dist/cjs/frame/message/commands.cjs +39 -0
  120. package/dist/cjs/frame/message/commands.cjs.map +1 -0
  121. package/dist/cjs/frame/message/controller.cjs +191 -0
  122. package/dist/cjs/frame/message/controller.cjs.map +1 -0
  123. package/dist/cjs/frame/options.cjs +108 -0
  124. package/dist/cjs/frame/options.cjs.map +1 -0
  125. package/dist/cjs/frame/parent.cjs +259 -0
  126. package/dist/cjs/frame/parent.cjs.map +1 -0
  127. package/dist/cjs/frame/placement.cjs +156 -0
  128. package/dist/cjs/frame/placement.cjs.map +1 -0
  129. package/dist/cjs/frame/slider.cjs +162 -0
  130. package/dist/cjs/frame/slider.cjs.map +1 -0
  131. package/dist/cjs/helper/abstract-helper.cjs +55 -0
  132. package/dist/cjs/helper/abstract-helper.cjs.map +1 -0
  133. package/dist/cjs/helper/app-manager.cjs +39 -0
  134. package/dist/cjs/helper/app-manager.cjs.map +1 -0
  135. package/dist/cjs/helper/currency-manager.cjs +215 -0
  136. package/dist/cjs/helper/currency-manager.cjs.map +1 -0
  137. package/dist/cjs/helper/helper-manager.cjs +397 -0
  138. package/dist/cjs/helper/helper-manager.cjs.map +1 -0
  139. package/dist/cjs/helper/license-manager.cjs +52 -0
  140. package/dist/cjs/helper/license-manager.cjs.map +1 -0
  141. package/dist/cjs/helper/options-manager.cjs +205 -0
  142. package/dist/cjs/helper/options-manager.cjs.map +1 -0
  143. package/dist/cjs/helper/payment-manager.cjs +35 -0
  144. package/dist/cjs/helper/payment-manager.cjs.map +1 -0
  145. package/dist/cjs/helper/profile-manager.cjs +35 -0
  146. package/dist/cjs/helper/profile-manager.cjs.map +1 -0
  147. package/dist/cjs/helper/use-b24-helper.cjs +85 -0
  148. package/dist/cjs/helper/use-b24-helper.cjs.map +1 -0
  149. package/dist/cjs/hook/auth.cjs +79 -0
  150. package/dist/cjs/hook/auth.cjs.map +1 -0
  151. package/dist/cjs/hook/b24.cjs +117 -0
  152. package/dist/cjs/hook/b24.cjs.map +1 -0
  153. package/dist/cjs/index.cjs +176 -0
  154. package/dist/cjs/index.cjs.map +1 -0
  155. package/dist/cjs/index.d.cts +6415 -0
  156. package/dist/cjs/index.d.mts +6415 -0
  157. package/dist/cjs/index.d.ts +6415 -0
  158. package/dist/cjs/loader-b24frame.cjs +103 -0
  159. package/dist/cjs/loader-b24frame.cjs.map +1 -0
  160. package/dist/cjs/logger/abstract-logger.cjs +71 -0
  161. package/dist/cjs/logger/abstract-logger.cjs.map +1 -0
  162. package/dist/cjs/logger/browser.cjs +165 -0
  163. package/dist/cjs/logger/browser.cjs.map +1 -0
  164. package/dist/cjs/logger/formatter/abstract-formatter.cjs +36 -0
  165. package/dist/cjs/logger/formatter/abstract-formatter.cjs.map +1 -0
  166. package/dist/cjs/logger/formatter/json-formatter.cjs +36 -0
  167. package/dist/cjs/logger/formatter/json-formatter.cjs.map +1 -0
  168. package/dist/cjs/logger/formatter/line-formatter.cjs +43 -0
  169. package/dist/cjs/logger/formatter/line-formatter.cjs.map +1 -0
  170. package/dist/cjs/logger/formatter/telegram-formatter.cjs +105 -0
  171. package/dist/cjs/logger/formatter/telegram-formatter.cjs.map +1 -0
  172. package/dist/cjs/logger/handler/abstract-handler.cjs +41 -0
  173. package/dist/cjs/logger/handler/abstract-handler.cjs.map +1 -0
  174. package/dist/cjs/logger/handler/consola-adapter.cjs +64 -0
  175. package/dist/cjs/logger/handler/consola-adapter.cjs.map +1 -0
  176. package/dist/cjs/logger/handler/console-handler.cjs +100 -0
  177. package/dist/cjs/logger/handler/console-handler.cjs.map +1 -0
  178. package/dist/cjs/logger/handler/console-v2-handler.cjs +53 -0
  179. package/dist/cjs/logger/handler/console-v2-handler.cjs.map +1 -0
  180. package/dist/cjs/logger/handler/memory-handler.cjs +50 -0
  181. package/dist/cjs/logger/handler/memory-handler.cjs.map +1 -0
  182. package/dist/cjs/logger/handler/stream-handler.cjs +75 -0
  183. package/dist/cjs/logger/handler/stream-handler.cjs.map +1 -0
  184. package/dist/cjs/logger/handler/telegram-handler.cjs +159 -0
  185. package/dist/cjs/logger/handler/telegram-handler.cjs.map +1 -0
  186. package/dist/cjs/logger/handler/winston-adapter.cjs +59 -0
  187. package/dist/cjs/logger/handler/winston-adapter.cjs.map +1 -0
  188. package/dist/cjs/logger/logger-factory.cjs +69 -0
  189. package/dist/cjs/logger/logger-factory.cjs.map +1 -0
  190. package/dist/cjs/logger/logger.cjs +78 -0
  191. package/dist/cjs/logger/logger.cjs.map +1 -0
  192. package/dist/cjs/logger/null-logger.cjs +34 -0
  193. package/dist/cjs/logger/null-logger.cjs.map +1 -0
  194. package/dist/cjs/logger/processor/memory-usage-processor.cjs +22 -0
  195. package/dist/cjs/logger/processor/memory-usage-processor.cjs.map +1 -0
  196. package/dist/cjs/logger/processor/pid-processor.cjs +22 -0
  197. package/dist/cjs/logger/processor/pid-processor.cjs.map +1 -0
  198. package/dist/cjs/oauth/auth.cjs +214 -0
  199. package/dist/cjs/oauth/auth.cjs.map +1 -0
  200. package/dist/cjs/oauth/b24.cjs +119 -0
  201. package/dist/cjs/oauth/b24.cjs.map +1 -0
  202. package/dist/cjs/oauth/refresh-token-error.cjs +22 -0
  203. package/dist/cjs/oauth/refresh-token-error.cjs.map +1 -0
  204. package/dist/cjs/pullClient/abstract-connector.cjs +80 -0
  205. package/dist/cjs/pullClient/abstract-connector.cjs.map +1 -0
  206. package/dist/cjs/pullClient/channel-manager.cjs +91 -0
  207. package/dist/cjs/pullClient/channel-manager.cjs.map +1 -0
  208. package/dist/cjs/pullClient/client.cjs +2177 -0
  209. package/dist/cjs/pullClient/client.cjs.map +1 -0
  210. package/dist/cjs/pullClient/errors.cjs +34 -0
  211. package/dist/cjs/pullClient/errors.cjs.map +1 -0
  212. package/dist/cjs/pullClient/json-rpc.cjs +213 -0
  213. package/dist/cjs/pullClient/json-rpc.cjs.map +1 -0
  214. package/dist/cjs/pullClient/long-polling-connector.cjs +159 -0
  215. package/dist/cjs/pullClient/long-polling-connector.cjs.map +1 -0
  216. package/dist/cjs/pullClient/protobuf/index.cjs +22 -0
  217. package/dist/cjs/pullClient/protobuf/index.cjs.map +1 -0
  218. package/dist/cjs/pullClient/protobuf/model.cjs +1060 -0
  219. package/dist/cjs/pullClient/protobuf/model.cjs.map +1 -0
  220. package/dist/cjs/pullClient/protobuf/protobuf.cjs +4655 -0
  221. package/dist/cjs/pullClient/protobuf/protobuf.cjs.map +1 -0
  222. package/dist/cjs/pullClient/shared-config.cjs +135 -0
  223. package/dist/cjs/pullClient/shared-config.cjs.map +1 -0
  224. package/dist/cjs/pullClient/storage-manager.cjs +74 -0
  225. package/dist/cjs/pullClient/storage-manager.cjs.map +1 -0
  226. package/dist/cjs/pullClient/web-socket-connector.cjs +131 -0
  227. package/dist/cjs/pullClient/web-socket-connector.cjs.map +1 -0
  228. package/dist/cjs/tools/batch-ref-v3.cjs +54 -0
  229. package/dist/cjs/tools/batch-ref-v3.cjs.map +1 -0
  230. package/dist/cjs/tools/browser.cjs +156 -0
  231. package/dist/cjs/tools/browser.cjs.map +1 -0
  232. package/dist/cjs/tools/environment.cjs +32 -0
  233. package/dist/cjs/tools/environment.cjs.map +1 -0
  234. package/dist/cjs/tools/filter-v3.cjs +139 -0
  235. package/dist/cjs/tools/filter-v3.cjs.map +1 -0
  236. package/dist/cjs/tools/formatters/iban.cjs +307 -0
  237. package/dist/cjs/tools/formatters/iban.cjs.map +1 -0
  238. package/dist/cjs/tools/formatters/numbers.cjs +68 -0
  239. package/dist/cjs/tools/formatters/numbers.cjs.map +1 -0
  240. package/dist/cjs/tools/index.cjs +42 -0
  241. package/dist/cjs/tools/index.cjs.map +1 -0
  242. package/dist/cjs/tools/scroll-size.cjs +29 -0
  243. package/dist/cjs/tools/scroll-size.cjs.map +1 -0
  244. package/dist/cjs/tools/text.cjs +210 -0
  245. package/dist/cjs/tools/text.cjs.map +1 -0
  246. package/dist/cjs/tools/type.cjs +339 -0
  247. package/dist/cjs/tools/type.cjs.map +1 -0
  248. package/dist/cjs/tools/use-formatters.cjs +462 -0
  249. package/dist/cjs/tools/use-formatters.cjs.map +1 -0
  250. package/dist/cjs/tools/uuidv7.cjs +58 -0
  251. package/dist/cjs/tools/uuidv7.cjs.map +1 -0
  252. package/dist/cjs/types/b24-helper.cjs +62 -0
  253. package/dist/cjs/types/b24-helper.cjs.map +1 -0
  254. package/dist/cjs/types/b24.cjs +18 -0
  255. package/dist/cjs/types/b24.cjs.map +1 -0
  256. package/dist/cjs/types/bizproc/index.cjs +195 -0
  257. package/dist/cjs/types/bizproc/index.cjs.map +1 -0
  258. package/dist/cjs/types/catalog/index.cjs +39 -0
  259. package/dist/cjs/types/catalog/index.cjs.map +1 -0
  260. package/dist/cjs/types/common.cjs +33 -0
  261. package/dist/cjs/types/common.cjs.map +1 -0
  262. package/dist/cjs/types/crm/entity-type.cjs +62 -0
  263. package/dist/cjs/types/crm/entity-type.cjs.map +1 -0
  264. package/dist/cjs/types/crm/productrow.cjs +19 -0
  265. package/dist/cjs/types/crm/productrow.cjs.map +1 -0
  266. package/dist/cjs/types/logger.cjs +24 -0
  267. package/dist/cjs/types/logger.cjs.map +1 -0
  268. package/dist/cjs/types/pull.cjs +94 -0
  269. package/dist/cjs/types/pull.cjs.map +1 -0
  270. package/dist/esm/_virtual/_commonjsHelpers.mjs +1 -1
  271. package/dist/esm/_virtual/protobuf.mjs +1 -1
  272. package/dist/esm/_virtual/protobuf2.mjs +1 -1
  273. package/dist/esm/core/abstract-b24.mjs +1 -1
  274. package/dist/esm/core/actions/abstract-action.mjs +1 -1
  275. package/dist/esm/core/actions/abstract-batch.mjs +1 -1
  276. package/dist/esm/core/actions/manager.mjs +1 -1
  277. package/dist/esm/core/actions/v2/batch-by-chunk.mjs +1 -1
  278. package/dist/esm/core/actions/v2/batch.mjs +1 -1
  279. package/dist/esm/core/actions/v2/call-list.mjs +1 -1
  280. package/dist/esm/core/actions/v2/call.mjs +1 -15
  281. package/dist/esm/core/actions/v2/call.mjs.map +1 -1
  282. package/dist/esm/core/actions/v2/fetch-list.mjs +1 -1
  283. package/dist/esm/core/actions/v2/manager-v2.mjs +1 -1
  284. package/dist/esm/core/actions/v3/_keyset-paginate.mjs +66 -0
  285. package/dist/esm/core/actions/v3/_keyset-paginate.mjs.map +1 -0
  286. package/dist/esm/core/actions/v3/aggregate.mjs +94 -0
  287. package/dist/esm/core/actions/v3/aggregate.mjs.map +1 -0
  288. package/dist/esm/core/actions/v3/batch-by-chunk.mjs +1 -1
  289. package/dist/esm/core/actions/v3/batch.mjs +1 -10
  290. package/dist/esm/core/actions/v3/batch.mjs.map +1 -1
  291. package/dist/esm/core/actions/v3/call-list.mjs +30 -44
  292. package/dist/esm/core/actions/v3/call-list.mjs.map +1 -1
  293. package/dist/esm/core/actions/v3/call-tail.mjs +116 -0
  294. package/dist/esm/core/actions/v3/call-tail.mjs.map +1 -0
  295. package/dist/esm/core/actions/v3/call.mjs +1 -10
  296. package/dist/esm/core/actions/v3/call.mjs.map +1 -1
  297. package/dist/esm/core/actions/v3/fetch-list.mjs +24 -41
  298. package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -1
  299. package/dist/esm/core/actions/v3/fetch-tail.mjs +110 -0
  300. package/dist/esm/core/actions/v3/fetch-tail.mjs.map +1 -0
  301. package/dist/esm/core/actions/v3/manager-v3.mjs +25 -1
  302. package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -1
  303. package/dist/esm/core/http/abstract-http.mjs +68 -17
  304. package/dist/esm/core/http/abstract-http.mjs.map +1 -1
  305. package/dist/esm/core/http/ajax-error.mjs +1 -1
  306. package/dist/esm/core/http/ajax-result.mjs +9 -8
  307. package/dist/esm/core/http/ajax-result.mjs.map +1 -1
  308. package/dist/esm/core/http/limiters/adaptive-delayer.mjs +1 -1
  309. package/dist/esm/core/http/limiters/manager.mjs +1 -1
  310. package/dist/esm/core/http/limiters/operating-limiter.mjs +1 -1
  311. package/dist/esm/core/http/limiters/params-factory.mjs +1 -1
  312. package/dist/esm/core/http/limiters/rate-limiter.mjs +1 -1
  313. package/dist/esm/core/http/redact.mjs +41 -13
  314. package/dist/esm/core/http/redact.mjs.map +1 -1
  315. package/dist/esm/core/http/v2.mjs +1 -18
  316. package/dist/esm/core/http/v2.mjs.map +1 -1
  317. package/dist/esm/core/http/v3.mjs +1 -15
  318. package/dist/esm/core/http/v3.mjs.map +1 -1
  319. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +1 -1
  320. package/dist/esm/core/interaction/batch/parse-row.mjs +1 -1
  321. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +44 -1
  322. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -1
  323. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +7 -6
  324. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -1
  325. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +3 -3
  326. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +1 -1
  327. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +1 -1
  328. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +7 -19
  329. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -1
  330. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +3 -3
  331. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +1 -1
  332. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +1 -1
  333. package/dist/esm/core/interaction/batch/v2.mjs +1 -1
  334. package/dist/esm/core/interaction/batch/v3.mjs +1 -1
  335. package/dist/esm/core/language/list.mjs +1 -1
  336. package/dist/esm/core/request-id-generator.mjs +1 -1
  337. package/dist/esm/core/result.mjs +11 -4
  338. package/dist/esm/core/result.mjs.map +1 -1
  339. package/dist/esm/core/sdk-error.mjs +1 -1
  340. package/dist/esm/core/tools/abstract-tool.mjs +1 -1
  341. package/dist/esm/core/tools/healthcheck.mjs +1 -1
  342. package/dist/esm/core/tools/manager.mjs +1 -1
  343. package/dist/esm/core/tools/ping.mjs +1 -1
  344. package/dist/esm/core/version-manager.mjs +19 -157
  345. package/dist/esm/core/version-manager.mjs.map +1 -1
  346. package/dist/esm/frame/auth.mjs +1 -1
  347. package/dist/esm/frame/b24.mjs +8 -2
  348. package/dist/esm/frame/b24.mjs.map +1 -1
  349. package/dist/esm/frame/dialog.mjs +1 -1
  350. package/dist/esm/frame/frame.mjs +1 -1
  351. package/dist/esm/frame/message/commands.mjs +1 -1
  352. package/dist/esm/frame/message/controller.mjs +17 -6
  353. package/dist/esm/frame/message/controller.mjs.map +1 -1
  354. package/dist/esm/frame/options.mjs +1 -1
  355. package/dist/esm/frame/parent.mjs +1 -1
  356. package/dist/esm/frame/placement.mjs +1 -1
  357. package/dist/esm/frame/slider.mjs +1 -1
  358. package/dist/esm/helper/abstract-helper.mjs +1 -1
  359. package/dist/esm/helper/app-manager.mjs +1 -1
  360. package/dist/esm/helper/currency-manager.mjs +1 -1
  361. package/dist/esm/helper/helper-manager.mjs +1 -1
  362. package/dist/esm/helper/license-manager.mjs +1 -1
  363. package/dist/esm/helper/options-manager.mjs +1 -1
  364. package/dist/esm/helper/payment-manager.mjs +1 -1
  365. package/dist/esm/helper/profile-manager.mjs +1 -1
  366. package/dist/esm/helper/use-b24-helper.mjs +1 -1
  367. package/dist/esm/hook/auth.mjs +1 -1
  368. package/dist/esm/hook/b24.mjs +3 -3
  369. package/dist/esm/hook/b24.mjs.map +1 -1
  370. package/dist/esm/index.d.mts +412 -39
  371. package/dist/esm/index.d.ts +412 -39
  372. package/dist/esm/index.mjs +3 -1
  373. package/dist/esm/index.mjs.map +1 -1
  374. package/dist/esm/loader-b24frame.mjs +1 -1
  375. package/dist/esm/logger/abstract-logger.mjs +1 -1
  376. package/dist/esm/logger/browser.mjs +1 -1
  377. package/dist/esm/logger/formatter/abstract-formatter.mjs +1 -1
  378. package/dist/esm/logger/formatter/json-formatter.mjs +1 -1
  379. package/dist/esm/logger/formatter/line-formatter.mjs +1 -1
  380. package/dist/esm/logger/formatter/telegram-formatter.mjs +1 -1
  381. package/dist/esm/logger/handler/abstract-handler.mjs +1 -1
  382. package/dist/esm/logger/handler/consola-adapter.mjs +1 -1
  383. package/dist/esm/logger/handler/console-handler.mjs +1 -1
  384. package/dist/esm/logger/handler/console-v2-handler.mjs +1 -1
  385. package/dist/esm/logger/handler/memory-handler.mjs +1 -1
  386. package/dist/esm/logger/handler/stream-handler.mjs +1 -1
  387. package/dist/esm/logger/handler/telegram-handler.mjs +1 -1
  388. package/dist/esm/logger/handler/winston-adapter.mjs +1 -1
  389. package/dist/esm/logger/logger-factory.mjs +1 -1
  390. package/dist/esm/logger/logger.mjs +1 -1
  391. package/dist/esm/logger/null-logger.mjs +1 -1
  392. package/dist/esm/logger/processor/memory-usage-processor.mjs +1 -1
  393. package/dist/esm/logger/processor/pid-processor.mjs +1 -1
  394. package/dist/esm/oauth/auth.mjs +13 -16
  395. package/dist/esm/oauth/auth.mjs.map +1 -1
  396. package/dist/esm/oauth/b24.mjs +1 -1
  397. package/dist/esm/oauth/refresh-token-error.mjs +1 -1
  398. package/dist/esm/pullClient/abstract-connector.mjs +1 -1
  399. package/dist/esm/pullClient/channel-manager.mjs +1 -1
  400. package/dist/esm/pullClient/client.mjs +141 -30
  401. package/dist/esm/pullClient/client.mjs.map +1 -1
  402. package/dist/esm/pullClient/errors.mjs +1 -1
  403. package/dist/esm/pullClient/json-rpc.mjs +5 -4
  404. package/dist/esm/pullClient/json-rpc.mjs.map +1 -1
  405. package/dist/esm/pullClient/long-polling-connector.mjs +1 -1
  406. package/dist/esm/pullClient/protobuf/index.mjs +1 -1
  407. package/dist/esm/pullClient/protobuf/model.mjs +1 -1
  408. package/dist/esm/pullClient/protobuf/protobuf.mjs +1 -1
  409. package/dist/esm/pullClient/shared-config.mjs +1 -1
  410. package/dist/esm/pullClient/storage-manager.mjs +1 -1
  411. package/dist/esm/pullClient/web-socket-connector.mjs +1 -1
  412. package/dist/esm/tools/batch-ref-v3.mjs +52 -0
  413. package/dist/esm/tools/batch-ref-v3.mjs.map +1 -0
  414. package/dist/esm/tools/browser.mjs +1 -1
  415. package/dist/esm/tools/environment.mjs +1 -1
  416. package/dist/esm/tools/filter-v3.mjs +137 -0
  417. package/dist/esm/tools/filter-v3.mjs.map +1 -0
  418. package/dist/esm/tools/formatters/iban.mjs +1 -1
  419. package/dist/esm/tools/formatters/numbers.mjs +1 -1
  420. package/dist/esm/tools/index.mjs +1 -1
  421. package/dist/esm/tools/scroll-size.mjs +1 -1
  422. package/dist/esm/tools/text.mjs +1 -1
  423. package/dist/esm/tools/type.mjs +1 -1
  424. package/dist/esm/tools/use-formatters.mjs +1 -1
  425. package/dist/esm/tools/uuidv7.mjs +1 -1
  426. package/dist/esm/types/b24-helper.mjs +1 -1
  427. package/dist/esm/types/b24.mjs +1 -1
  428. package/dist/esm/types/bizproc/index.mjs +1 -1
  429. package/dist/esm/types/catalog/index.mjs +1 -1
  430. package/dist/esm/types/common.mjs +1 -1
  431. package/dist/esm/types/crm/entity-type.mjs +1 -1
  432. package/dist/esm/types/crm/productrow.mjs +1 -1
  433. package/dist/esm/types/logger.mjs +1 -1
  434. package/dist/esm/types/pull.mjs +1 -1
  435. package/dist/umd/index.js +1258 -719
  436. package/dist/umd/index.js.map +1 -1
  437. package/dist/umd/index.min.js +26 -26
  438. package/dist/umd/index.min.js.map +1 -1
  439. package/dist/umd/package.json +3 -0
  440. package/package.json +12 -4
package/README-AI.md CHANGED
@@ -27,7 +27,7 @@ Core building blocks:
27
27
  - UI managers: parent, slider, dialog, placement, options, auth
28
28
  - Helpers: B24HelperManager and useB24Helper hook; Pull client
29
29
 
30
- Note: since v0.4.0 the package ships ESM and UMD only (no CommonJS).
30
+ Note: the package ships ESM, CommonJS, and UMD builds. ESM is the recommended entry point; CommonJS is supported via `require('@bitrix24/b24jssdk')`, and the UMD build is for `<script>` usage in the browser.
31
31
 
32
32
  ## Deprecation notice — read before generating code
33
33
 
@@ -42,7 +42,7 @@ widely-used path today, but new code should target the `actions.v{2,3}.*` API.
42
42
  | `b24.callBatchByChunk(calls, isHaltOnError)` | `b24.actions.v2.batchByChunk.make({ calls, options })` / `b24.actions.v3.batchByChunk.make(...)` |
43
43
  | `b24.callListMethod(method, params, progress?, customKey?)` | `b24.actions.v2.callList.make({ method, params, customKeyForResult })` / `b24.actions.v3.callList.make(...)` |
44
44
  | `b24.fetchListMethod(method, params, idKey?, customKey?)` | `b24.actions.v2.fetchList.make({ method, params, idKey, customKeyForResult })` / `b24.actions.v3.fetchList.make(...)` |
45
- | `AjaxResult#isMore()`, `#hasMore()`, `#getNext()`, `#fetchNext()`, `#getTotal()` | The `next`/`total` envelope fields are `restApi:v2`-only (no `restApi:v3` counterpart). Do not iterate manually — let `actions.v{2,3}.{callList,fetchList}` handle pagination. For element counts in `restApi:v3` use the `aggregate` action with `count` / `countDistinct`. |
45
+ | `AjaxResult#isMore()`, `#hasMore()`, `#getNext()`, `#fetchNext()`, `#getTotal()` | The `next`/`total` envelope fields are `restApi:v2`-only (no `restApi:v3` counterpart). Do not iterate manually — let `actions.v{2,3}.{callList,fetchList}` handle pagination. `restApi:v3` has no `total` in the envelope; for a count use `actions.v3.aggregate.make` (`@experimental`) with `count`/`countDistinct` on a method that exposes an `*.aggregate` action check `rest.documentation.openapi` to confirm the endpoint exists; otherwise reduce a `callList` client-side. |
46
46
 
47
47
  `AjaxResult.getData()` returns exactly `{ result: T, time: PayloadTime }` — the
48
48
  v2-only `next` and `total` fields are no longer surfaced through the public type.
@@ -518,6 +518,7 @@ try {
518
518
 
519
519
  - UMD: window.B24Js global; load via unpkg CDN; use inside Bitrix24 iframe
520
520
  - ESM: import from '@bitrix24/b24jssdk'; works in browsers with bundlers and in Node (server-side) for B24Hook
521
+ - CommonJS: const { B24Hook } = require('@bitrix24/b24jssdk'); works in Node.js CJS projects (first-class CJS build with external deps, deduped against your node_modules)
521
522
 
522
523
 
523
524
  ## Caveats and constraints
package/README.md CHANGED
@@ -2,4 +2,6 @@
2
2
 
3
3
  JS SDK for using Bitrix24 REST API in local, production applications or via webhooks
4
4
 
5
+ The package ships **ESM**, **CommonJS**, and **UMD** builds. ESM is the recommended entry point (`import { B24Hook } from '@bitrix24/b24jssdk'`); CommonJS is supported too (`const { B24Hook } = require('@bitrix24/b24jssdk')`), and the UMD build is for `<script>` usage in the browser.
6
+
5
7
  Find more details in the [documentation](https://bitrix24.github.io/b24jssdk/)
@@ -0,0 +1,19 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
12
+
13
+ function getDefaultExportFromCjs (x) {
14
+ return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
15
+ }
16
+
17
+ exports.commonjsGlobal = commonjsGlobal;
18
+ exports.getDefaultExportFromCjs = getDefaultExportFromCjs;
19
+ //# sourceMappingURL=_commonjsHelpers.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"_commonjsHelpers.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ Object.defineProperty(exports, '__esModule', { value: true });
12
+
13
+ const _commonjsHelpers = require('./_commonjsHelpers.cjs');
14
+ const protobuf = require('../pullClient/protobuf/protobuf.cjs');
15
+
16
+ var protobufExports = /*@__PURE__*/ protobuf.__require();
17
+ const $protobuf = /*@__PURE__*/_commonjsHelpers.getDefaultExportFromCjs(protobufExports);
18
+
19
+ exports.default = $protobuf;
20
+ //# sourceMappingURL=protobuf.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protobuf.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ var protobuf = {exports: {}};
12
+
13
+ exports.__module = protobuf;
14
+ //# sourceMappingURL=protobuf2.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"protobuf2.cjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;;;;;;;;;;"}
@@ -0,0 +1,357 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const type = require('../tools/type.cjs');
12
+ const result = require('./result.cjs');
13
+ const sdkError = require('./sdk-error.cjs');
14
+ const b24 = require('../types/b24.cjs');
15
+ const versionManager = require('./version-manager.cjs');
16
+ const manager = require('./actions/manager.cjs');
17
+ const manager$1 = require('./tools/manager.cjs');
18
+ const loggerFactory = require('../logger/logger-factory.cjs');
19
+
20
+ var __defProp = Object.defineProperty;
21
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
22
+ class AbstractB24 {
23
+ static {
24
+ __name(this, "AbstractB24");
25
+ }
26
+ /**
27
+ * Maximum length for batch response.
28
+ *
29
+ * @deprecated This const is deprecated and will be removed in version `2.0.0`
30
+ * @removed 2.0.0
31
+ */
32
+ static batchSize = 50;
33
+ _isInit = false;
34
+ _httpV2 = null;
35
+ _httpV3 = null;
36
+ _logger;
37
+ _actionsManager;
38
+ _toolsManager;
39
+ // region Init ////
40
+ constructor() {
41
+ this._isInit = false;
42
+ this._logger = loggerFactory.LoggerFactory.createNullLogger();
43
+ this._actionsManager = new manager.ActionsManager(this);
44
+ this._toolsManager = new manager$1.ToolsManager(this);
45
+ }
46
+ /**
47
+ * @inheritDoc
48
+ */
49
+ get isInit() {
50
+ return this._isInit;
51
+ }
52
+ async init() {
53
+ this._isInit = true;
54
+ return;
55
+ }
56
+ destroy() {
57
+ }
58
+ get actions() {
59
+ this._ensureInitialized();
60
+ return this._actionsManager;
61
+ }
62
+ get tools() {
63
+ this._ensureInitialized();
64
+ return this._toolsManager;
65
+ }
66
+ /**
67
+ * Calls the Bitrix24 REST API method.
68
+ *
69
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
70
+ * - for `restApi:v3` use {@link CallV3.make `b24.actions.v3.call.make(options)`}
71
+ * - for `restApi:v2` use {@link CallV2.make `b24.actions.v2.call.make(options)`}
72
+ *
73
+ * @removed 2.0.0
74
+ * @memo Only for `restApi:v2`
75
+ */
76
+ async callMethod(method, params, start) {
77
+ loggerFactory.LoggerFactory.forcedLog(
78
+ this._logger,
79
+ "warning",
80
+ `The AbstractB24.callMethod() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.call.make(options) or b24.actions.v2.call.make(options)`,
81
+ {
82
+ class: "AbstractB24",
83
+ method: "callMethod",
84
+ replacement: "b24.actions.v3.call.make(options) | b24.actions.v2.call.make(options)",
85
+ removalVersion: "2.0.0",
86
+ code: "JSSDK_CORE_DEPRECATED_METHOD"
87
+ }
88
+ );
89
+ params = { ...params };
90
+ if (!("start" in params && Number.isInteger(params.start)) && Number.isInteger(start)) {
91
+ params.start = start;
92
+ }
93
+ return this._actionsManager.v2.call.make({ method, params });
94
+ }
95
+ /**
96
+ * Calls a Bitrix24 REST API list method to retrieve all data.
97
+ *
98
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
99
+ * - for `restApi:v3` use {@link CallListV3.make `b24.actions.v3.callList.make(options)`}
100
+ * - for `restApi:v2` use {@link CallListV2.make `b24.actions.v2.callList.make(options)`}
101
+ *
102
+ * @removed 2.0.0
103
+ * @memo Only for `restApi:v2`
104
+ */
105
+ async callListMethod(method, params, progress, customKeyForResult) {
106
+ loggerFactory.LoggerFactory.forcedLog(
107
+ this._logger,
108
+ "warning",
109
+ `The AbstractB24.callListMethod() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.callList.make(options) or b24.actions.v2.callList.make(options)`,
110
+ {
111
+ class: "AbstractB24",
112
+ method: "callListMethod",
113
+ replacement: "b24.actions.v3.callList.make(options) | b24.actions.v2.callList.make(options)",
114
+ removalVersion: "2.0.0",
115
+ code: "JSSDK_CORE_DEPRECATED_METHOD"
116
+ }
117
+ );
118
+ const result$1 = new result.Result();
119
+ if (type.Type.isFunction(progress) && null !== progress) {
120
+ progress(0);
121
+ }
122
+ const sendParams = {
123
+ ...params,
124
+ start: 0
125
+ };
126
+ return this.actions.v2.call.make({
127
+ method,
128
+ params: sendParams
129
+ }).then(async (response) => {
130
+ let list = [];
131
+ let resultData;
132
+ if (customKeyForResult) {
133
+ resultData = response.getData().result[customKeyForResult];
134
+ } else {
135
+ resultData = response.getData().result;
136
+ }
137
+ list = [...list, ...resultData];
138
+ if (response.isMore()) {
139
+ let responseLoop = response;
140
+ while (true) {
141
+ responseLoop = await responseLoop.getNext(this.getHttpClient(b24.ApiVersion.v2));
142
+ if (responseLoop === false) {
143
+ break;
144
+ }
145
+ let resultData2 = void 0;
146
+ if (customKeyForResult) {
147
+ resultData2 = responseLoop.getData().result[customKeyForResult];
148
+ } else {
149
+ resultData2 = responseLoop.getData().result;
150
+ }
151
+ list = [...list, ...resultData2];
152
+ if (progress) {
153
+ const total = responseLoop.getTotal();
154
+ progress(total > 0 ? Math.round(100 * list.length / total) : 100);
155
+ }
156
+ }
157
+ }
158
+ result$1.setData(list);
159
+ if (progress) {
160
+ progress(100);
161
+ }
162
+ return result$1;
163
+ });
164
+ }
165
+ /**
166
+ * Calls a Bitrix24 REST API list method and returns an async generator.
167
+ *
168
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
169
+ * - for `restApi:v3` use {@link FetchListV3.make `b24.actions.v3.fetchList.make(options)`}
170
+ * - for `restApi:v2` use {@link FetchListV2.make `b24.actions.v2.fetchList.make(options)`}
171
+ *
172
+ * @removed 2.0.0
173
+ * @memo Only for `restApi:v2`
174
+ */
175
+ async *fetchListMethod(method, params, idKey, customKeyForResult) {
176
+ loggerFactory.LoggerFactory.forcedLog(
177
+ this._logger,
178
+ "warning",
179
+ `The AbstractB24.fetchListMethod() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.fetchList.make(options) or b24.actions.v2.fetchList.make(options)`,
180
+ {
181
+ class: "AbstractB24",
182
+ method: "fetchListMethod",
183
+ replacement: "b24.actions.v3.fetchList.make(options) | b24.actions.v2.fetchList.make(options)",
184
+ removalVersion: "2.0.0",
185
+ code: "JSSDK_CORE_DEPRECATED_METHOD"
186
+ }
187
+ );
188
+ const options = {
189
+ method,
190
+ params,
191
+ idKey,
192
+ customKeyForResult: customKeyForResult === null ? void 0 : customKeyForResult
193
+ };
194
+ yield* this.actions.v2.fetchList.make(options);
195
+ }
196
+ /**
197
+ * Executes a batch request to the Bitrix24 REST API.
198
+ *
199
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
200
+ * - for `restApi:v3` use {@link BatchV3.make `b24.actions.v3.batch.make(options)`}
201
+ * - for `restApi:v2` use {@link BatchV2.make `b24.actions.v2.batch.make(options)`}
202
+ *
203
+ * @removed 2.0.0
204
+ * @memo Only for `restApi:v2`
205
+ */
206
+ async callBatch(calls, isHaltOnError, returnAjaxResult) {
207
+ loggerFactory.LoggerFactory.forcedLog(
208
+ this._logger,
209
+ "warning",
210
+ `The AbstractB24.callBatch() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.batch.make(options) or b24.actions.v2.batch.make(options)`,
211
+ {
212
+ class: "AbstractB24",
213
+ method: "callBatch",
214
+ replacement: "b24.actions.v3.batch.make(options) | b24.actions.v2.batch.make(options)",
215
+ removalVersion: "2.0.0",
216
+ code: "JSSDK_CORE_DEPRECATED_METHOD"
217
+ }
218
+ );
219
+ const callsTyped = calls;
220
+ const options = {
221
+ isHaltOnError: isHaltOnError ?? true,
222
+ returnAjaxResult: returnAjaxResult ?? false
223
+ };
224
+ return this.actions.v2.batch.make({
225
+ calls: callsTyped,
226
+ options
227
+ });
228
+ }
229
+ /**
230
+ * Executes a batch request to the Bitrix24 REST API with automatic chunking for any number of commands.
231
+ *
232
+ * @deprecated This method is deprecated and will be removed in version `2.0.0`
233
+ * - for `restApi:v3` use {@link BatchByChunkV3.make `b24.actions.v3.batchByChunk.make(options)`}
234
+ * - for `restApi:v2` use {@link BatchByChunkV2.make `b24.actions.v2.batchByChunk.make(options)`}
235
+ *
236
+ * @removed 2.0.0
237
+ * @memo Only for `restApi:v2`
238
+ */
239
+ async callBatchByChunk(calls, isHaltOnError) {
240
+ loggerFactory.LoggerFactory.forcedLog(
241
+ this._logger,
242
+ "warning",
243
+ `The AbstractB24.callBatchByChunk() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.batchByChunk.make(options) or b24.actions.v2.batchByChunk.make(options)`,
244
+ {
245
+ class: "AbstractB24",
246
+ method: "callBatchByChunk",
247
+ replacement: "b24.actions.v3.batchByChunk.make(options) | b24.actions.v2.batchByChunk.make(options)",
248
+ removalVersion: "2.0.0",
249
+ code: "JSSDK_CORE_DEPRECATED_METHOD"
250
+ }
251
+ );
252
+ const callsTyped = calls;
253
+ const options = {
254
+ isHaltOnError,
255
+ returnAjaxResult: false
256
+ };
257
+ return this.actions.v2.batchByChunk.make({
258
+ calls: callsTyped,
259
+ options
260
+ });
261
+ }
262
+ // endregion ////
263
+ // region Tools ////
264
+ /**
265
+ * @inheritDoc
266
+ */
267
+ getHttpClient(version) {
268
+ this._ensureInitialized();
269
+ switch (version) {
270
+ case b24.ApiVersion.v3:
271
+ if (null === this._httpV3) {
272
+ throw new sdkError.SdkError({
273
+ code: "JSSDK_CORE_B24_HTTP_V3_NOT_INIT",
274
+ description: `HttpV3 not init`,
275
+ status: 500
276
+ });
277
+ }
278
+ return this._httpV3;
279
+ case b24.ApiVersion.v2:
280
+ if (null === this._httpV2) {
281
+ throw new sdkError.SdkError({
282
+ code: "JSSDK_CORE_B24_HTTP_V2_NOT_INIT",
283
+ description: `HttpV2 not init`,
284
+ status: 500
285
+ });
286
+ }
287
+ return this._httpV2;
288
+ }
289
+ throw new sdkError.SdkError({
290
+ code: "JSSDK_CORE_B24_API_WRONG",
291
+ description: `Wrong Api Version ${version}`,
292
+ status: 500
293
+ });
294
+ }
295
+ /**
296
+ * @inheritDoc
297
+ */
298
+ setHttpClient(version, client) {
299
+ switch (version) {
300
+ case b24.ApiVersion.v3:
301
+ this._httpV3 = client;
302
+ return;
303
+ case b24.ApiVersion.v2:
304
+ this._httpV2 = client;
305
+ return;
306
+ }
307
+ throw new sdkError.SdkError({
308
+ code: "JSSDK_CORE_B24_API_WRONG",
309
+ description: `Wrong Api Version ${version}`,
310
+ status: 500
311
+ });
312
+ }
313
+ setLogger(logger) {
314
+ this._logger = logger;
315
+ this._actionsManager.setLogger(this._logger);
316
+ this._toolsManager.setLogger(this._logger);
317
+ versionManager.versionManager.getAllApiVersions().forEach((version) => {
318
+ this.getHttpClient(version).setLogger(this._logger);
319
+ });
320
+ }
321
+ getLogger() {
322
+ return this._logger;
323
+ }
324
+ /**
325
+ * @inheritDoc
326
+ */
327
+ async setRestrictionManagerParams(params) {
328
+ const promises = versionManager.versionManager.getAllApiVersions().map(
329
+ (version) => this.getHttpClient(version).setRestrictionManagerParams(params)
330
+ );
331
+ await Promise.allSettled(promises);
332
+ }
333
+ /**
334
+ * Returns settings for http connection
335
+ * @protected
336
+ */
337
+ _getHttpOptions() {
338
+ return null;
339
+ }
340
+ /**
341
+ * Generates an object not initialized error
342
+ * @protected
343
+ */
344
+ _ensureInitialized() {
345
+ if (!this._isInit) {
346
+ throw new sdkError.SdkError({
347
+ code: "JSSDK_CORE_B24_NOT_INIT",
348
+ description: `B24 not initialized`,
349
+ status: 500
350
+ });
351
+ }
352
+ }
353
+ // endregion ////
354
+ }
355
+
356
+ exports.AbstractB24 = AbstractB24;
357
+ //# sourceMappingURL=abstract-b24.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-b24.cjs","sources":["../../../src/core/abstract-b24.ts"],"sourcesContent":["import type { LoggerInterface } from '../logger'\nimport type { AjaxResult } from './http/ajax-result'\nimport type { TypeB24 } from '../types/b24'\nimport type { BatchCommandsArrayUniversal, BatchCommandsObjectUniversal, BatchNamedCommandsUniversal, TypeCallParams, TypeHttp } from '../types/http'\nimport type { AuthActions } from '../types/auth'\nimport type { RestrictionParams } from '../types/limiters'\nimport { Type } from '../tools/type'\nimport { Result } from './result'\nimport { SdkError } from './sdk-error'\nimport { ApiVersion } from '../types/b24'\nimport { versionManager } from './version-manager'\nimport { LoggerFactory } from '../logger'\nimport { ActionsManager } from './actions/manager'\nimport { ToolsManager } from './tools/manager'\n\n/**\n * @todo docs\n */\nexport abstract class AbstractB24 implements TypeB24 {\n /**\n * Maximum length for batch response.\n *\n * @deprecated This const is deprecated and will be removed in version `2.0.0`\n * @removed 2.0.0\n */\n static readonly batchSize = 50\n\n protected _isInit: boolean = false\n protected _httpV2: null | TypeHttp = null\n protected _httpV3: null | TypeHttp = null\n protected _logger: LoggerInterface\n\n protected _actionsManager: ActionsManager\n protected _toolsManager: ToolsManager\n\n // region Init ////\n protected constructor() {\n this._isInit = false\n this._logger = LoggerFactory.createNullLogger()\n\n this._actionsManager = new ActionsManager(this)\n this._toolsManager = new ToolsManager(this)\n }\n\n /**\n * @inheritDoc\n */\n get isInit(): boolean {\n return this._isInit\n }\n\n public async init(): Promise<void> {\n this._isInit = true\n return\n }\n\n public destroy(): void {}\n // endregion ////\n\n // region Core ////\n abstract get auth(): AuthActions\n\n get actions(): ActionsManager {\n this._ensureInitialized()\n return this._actionsManager\n }\n\n get tools(): ToolsManager {\n this._ensureInitialized()\n return this._toolsManager\n }\n\n /**\n * @inheritDoc\n */\n public abstract getTargetOrigin(): string\n\n /**\n * @inheritDoc\n */\n public abstract getTargetOriginWithPath(): Map<ApiVersion, string>\n\n /**\n * Calls the Bitrix24 REST API method.\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n * - for `restApi:v3` use {@link CallV3.make `b24.actions.v3.call.make(options)`}\n * - for `restApi:v2` use {@link CallV2.make `b24.actions.v2.call.make(options)`}\n *\n * @removed 2.0.0\n * @memo Only for `restApi:v2`\n */\n public async callMethod(method: string, params?: object, start?: number): Promise<AjaxResult> {\n LoggerFactory.forcedLog(\n this._logger,\n 'warning',\n `The AbstractB24.callMethod() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.call.make(options) or b24.actions.v2.call.make(options)`,\n {\n class: 'AbstractB24',\n method: 'callMethod',\n replacement: 'b24.actions.v3.call.make(options) | b24.actions.v2.call.make(options)',\n removalVersion: '2.0.0',\n code: 'JSSDK_CORE_DEPRECATED_METHOD'\n }\n )\n\n params = { ...params }\n\n if (\n !(\n 'start' in params\n && Number.isInteger(params.start)\n )\n && Number.isInteger(start)\n ) {\n (params as any).start = start\n }\n\n // @todo remove this\n // const apiVersion = versionManager.automaticallyObtainApiVersion(method)\n // if (apiVersion === ApiVersion.v3) {\n // return this._actionsManager.v3.call.make({ method, params })\n // }\n\n return this._actionsManager.v2.call.make({ method, params })\n }\n\n /**\n * Calls a Bitrix24 REST API list method to retrieve all data.\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n * - for `restApi:v3` use {@link CallListV3.make `b24.actions.v3.callList.make(options)`}\n * - for `restApi:v2` use {@link CallListV2.make `b24.actions.v2.callList.make(options)`}\n *\n * @removed 2.0.0\n * @memo Only for `restApi:v2`\n */\n public async callListMethod(method: string, params?: object, progress?: null | ((progress: number) => void), customKeyForResult?: string | null): Promise<Result> {\n LoggerFactory.forcedLog(\n this._logger,\n 'warning',\n `The AbstractB24.callListMethod() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.callList.make(options) or b24.actions.v2.callList.make(options)`,\n {\n class: 'AbstractB24',\n method: 'callListMethod',\n replacement: 'b24.actions.v3.callList.make(options) | b24.actions.v2.callList.make(options)',\n removalVersion: '2.0.0',\n code: 'JSSDK_CORE_DEPRECATED_METHOD'\n }\n )\n\n const result = new Result()\n\n if (Type.isFunction(progress) && null !== progress) {\n progress(0)\n }\n\n const sendParams: TypeCallParams = {\n ...params,\n start: 0\n }\n return this.actions.v2.call.make({\n method,\n params: sendParams\n }).then(async (response) => {\n let list: any[] = []\n\n let resultData\n if (customKeyForResult) {\n resultData = (response.getData() as any).result[customKeyForResult] as []\n } else {\n resultData = (response.getData() as any).result as []\n }\n\n list = [...list, ...resultData]\n if (response.isMore()) {\n let responseLoop: false | AjaxResult = response\n while (true) {\n responseLoop = await responseLoop.getNext(this.getHttpClient(ApiVersion.v2))\n\n if (responseLoop === false) {\n break\n }\n\n let resultData = undefined\n if (customKeyForResult) {\n resultData = (responseLoop.getData() as any).result[customKeyForResult] as []\n } else {\n resultData = (responseLoop.getData() as any).result as []\n }\n\n list = [...list, ...resultData]\n\n if (progress) {\n const total = responseLoop.getTotal()\n progress(total > 0 ? Math.round((100 * list.length) / total) : 100)\n }\n }\n }\n\n result.setData(list)\n if (progress) {\n progress(100)\n }\n\n return result\n })\n }\n\n /**\n * Calls a Bitrix24 REST API list method and returns an async generator.\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n * - for `restApi:v3` use {@link FetchListV3.make `b24.actions.v3.fetchList.make(options)`}\n * - for `restApi:v2` use {@link FetchListV2.make `b24.actions.v2.fetchList.make(options)`}\n *\n * @removed 2.0.0\n * @memo Only for `restApi:v2`\n */\n public async* fetchListMethod(method: string, params?: any, idKey?: string, customKeyForResult?: string | null): AsyncGenerator<any[]> {\n LoggerFactory.forcedLog(\n this._logger,\n 'warning',\n `The AbstractB24.fetchListMethod() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.fetchList.make(options) or b24.actions.v2.fetchList.make(options)`,\n {\n class: 'AbstractB24',\n method: 'fetchListMethod',\n replacement: 'b24.actions.v3.fetchList.make(options) | b24.actions.v2.fetchList.make(options)',\n removalVersion: '2.0.0',\n code: 'JSSDK_CORE_DEPRECATED_METHOD'\n }\n )\n const options = {\n method,\n params,\n idKey,\n customKeyForResult: customKeyForResult === null ? undefined : customKeyForResult\n }\n yield* this.actions.v2.fetchList.make(options)\n }\n\n /**\n * Executes a batch request to the Bitrix24 REST API.\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n * - for `restApi:v3` use {@link BatchV3.make `b24.actions.v3.batch.make(options)`}\n * - for `restApi:v2` use {@link BatchV2.make `b24.actions.v2.batch.make(options)`}\n *\n * @removed 2.0.0\n * @memo Only for `restApi:v2`\n */\n public async callBatch(calls: Array<any> | object, isHaltOnError?: boolean, returnAjaxResult?: boolean): Promise<Result> {\n LoggerFactory.forcedLog(\n this._logger,\n 'warning',\n `The AbstractB24.callBatch() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.batch.make(options) or b24.actions.v2.batch.make(options)`,\n {\n class: 'AbstractB24',\n method: 'callBatch',\n replacement: 'b24.actions.v3.batch.make(options) | b24.actions.v2.batch.make(options)',\n removalVersion: '2.0.0',\n code: 'JSSDK_CORE_DEPRECATED_METHOD'\n }\n )\n\n const callsTyped = calls as BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal\n const options = {\n isHaltOnError: isHaltOnError ?? true,\n returnAjaxResult: returnAjaxResult ?? false\n }\n\n // @todo remove this\n // const apiVersion = versionManager.automaticallyObtainApiVersionForBatch(callsTyped)\n //\n // if (apiVersion === ApiVersion.v3) {\n // return this.actions.v3.batch.make({\n // calls: callsTyped,\n // options\n // })\n // }\n\n return this.actions.v2.batch.make({\n calls: callsTyped,\n options\n })\n }\n\n /**\n * Executes a batch request to the Bitrix24 REST API with automatic chunking for any number of commands.\n *\n * @deprecated This method is deprecated and will be removed in version `2.0.0`\n * - for `restApi:v3` use {@link BatchByChunkV3.make `b24.actions.v3.batchByChunk.make(options)`}\n * - for `restApi:v2` use {@link BatchByChunkV2.make `b24.actions.v2.batchByChunk.make(options)`}\n *\n * @removed 2.0.0\n * @memo Only for `restApi:v2`\n */\n public async callBatchByChunk(calls: Array<any>, isHaltOnError: boolean): Promise<Result> {\n LoggerFactory.forcedLog(\n this._logger,\n 'warning',\n `The AbstractB24.callBatchByChunk() method is deprecated and will be removed in version 2.0.0. Use b24.actions.v3.batchByChunk.make(options) or b24.actions.v2.batchByChunk.make(options)`,\n {\n class: 'AbstractB24',\n method: 'callBatchByChunk',\n replacement: 'b24.actions.v3.batchByChunk.make(options) | b24.actions.v2.batchByChunk.make(options)',\n removalVersion: '2.0.0',\n code: 'JSSDK_CORE_DEPRECATED_METHOD'\n }\n )\n\n const callsTyped = calls as BatchCommandsArrayUniversal | BatchCommandsObjectUniversal\n const options = {\n isHaltOnError,\n returnAjaxResult: false\n }\n\n // @todo remove this\n // const apiVersion = versionManager.automaticallyObtainApiVersionForBatch(calls)\n // if (apiVersion === ApiVersion.v3) {\n // return this.actions.v3.batchByChunk.make({\n // calls: callsTyped,\n // options\n // })\n // }\n\n return this.actions.v2.batchByChunk.make({\n calls: callsTyped,\n options\n })\n }\n // endregion ////\n\n // region Tools ////\n /**\n * @inheritDoc\n */\n public getHttpClient(version: ApiVersion): TypeHttp {\n this._ensureInitialized()\n\n switch (version) {\n case ApiVersion.v3:\n if (null === this._httpV3) {\n throw new SdkError({\n code: 'JSSDK_CORE_B24_HTTP_V3_NOT_INIT',\n description: `HttpV3 not init`,\n status: 500\n })\n }\n return this._httpV3\n case ApiVersion.v2:\n if (null === this._httpV2) {\n throw new SdkError({\n code: 'JSSDK_CORE_B24_HTTP_V2_NOT_INIT',\n description: `HttpV2 not init`,\n status: 500\n })\n }\n return this._httpV2\n }\n throw new SdkError({\n code: 'JSSDK_CORE_B24_API_WRONG',\n description: `Wrong Api Version ${version}`,\n status: 500\n })\n }\n\n /**\n * @inheritDoc\n */\n public setHttpClient(version: ApiVersion, client: TypeHttp): void {\n switch (version) {\n case ApiVersion.v3:\n this._httpV3 = client\n return\n case ApiVersion.v2:\n this._httpV2 = client\n return\n }\n throw new SdkError({\n code: 'JSSDK_CORE_B24_API_WRONG',\n description: `Wrong Api Version ${version}`,\n status: 500\n })\n }\n\n public setLogger(logger: LoggerInterface): void {\n this._logger = logger\n\n this._actionsManager.setLogger(this._logger)\n this._toolsManager.setLogger(this._logger)\n\n versionManager.getAllApiVersions().forEach((version) => {\n this.getHttpClient(version).setLogger(this._logger)\n })\n }\n\n public getLogger(): LoggerInterface {\n return this._logger\n }\n\n /**\n * @inheritDoc\n */\n public async setRestrictionManagerParams(params: RestrictionParams): Promise<void> {\n const promises = versionManager.getAllApiVersions().map(version =>\n this.getHttpClient(version).setRestrictionManagerParams(params)\n )\n\n await Promise.allSettled(promises)\n }\n\n /**\n * Returns settings for http connection\n * @protected\n */\n protected _getHttpOptions(): null | object {\n return null\n }\n\n /**\n * Generates an object not initialized error\n * @protected\n */\n protected _ensureInitialized(): void {\n if (!this._isInit) {\n throw new SdkError({\n code: 'JSSDK_CORE_B24_NOT_INIT',\n description: `B24 not initialized`,\n status: 500\n })\n }\n }\n // endregion ////\n}\n"],"names":["LoggerFactory","ActionsManager","ToolsManager","result","Result","Type","ApiVersion","resultData","SdkError","versionManager"],"mappings":";;;;;;;;;;;;;;;;;;;;;AAkBO,MAAe,WAAA,CAA+B;AAAA,EAlBrD;AAkBqD,IAAA,MAAA,CAAA,IAAA,EAAA,aAAA,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOnD,OAAgB,SAAA,GAAY,EAAA;AAAA,EAElB,OAAA,GAAmB,KAAA;AAAA,EACnB,OAAA,GAA2B,IAAA;AAAA,EAC3B,OAAA,GAA2B,IAAA;AAAA,EAC3B,OAAA;AAAA,EAEA,eAAA;AAAA,EACA,aAAA;AAAA;AAAA,EAGA,WAAA,GAAc;AACtB,IAAA,IAAA,CAAK,OAAA,GAAU,KAAA;AACf,IAAA,IAAA,CAAK,OAAA,GAAUA,4BAAc,gBAAA,EAAiB;AAE9C,IAAA,IAAA,CAAK,eAAA,GAAkB,IAAIC,sBAAA,CAAe,IAAI,CAAA;AAC9C,IAAA,IAAA,CAAK,aAAA,GAAgB,IAAIC,sBAAA,CAAa,IAAI,CAAA;AAAA,EAC5C;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,MAAA,GAAkB;AACpB,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA,EAEA,MAAa,IAAA,GAAsB;AACjC,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AACf,IAAA;AAAA,EACF;AAAA,EAEO,OAAA,GAAgB;AAAA,EAAC;AAAA,EAMxB,IAAI,OAAA,GAA0B;AAC5B,IAAA,IAAA,CAAK,kBAAA,EAAmB;AACxB,IAAA,OAAO,IAAA,CAAK,eAAA;AAAA,EACd;AAAA,EAEA,IAAI,KAAA,GAAsB;AACxB,IAAA,IAAA,CAAK,kBAAA,EAAmB;AACxB,IAAA,OAAO,IAAA,CAAK,aAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAsBA,MAAa,UAAA,CAAW,MAAA,EAAgB,MAAA,EAAiB,KAAA,EAAqC;AAC5F,IAAAF,2BAAA,CAAc,SAAA;AAAA,MACZ,IAAA,CAAK,OAAA;AAAA,MACL,SAAA;AAAA,MACA,CAAA,kKAAA,CAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO,aAAA;AAAA,QACP,MAAA,EAAQ,YAAA;AAAA,QACR,WAAA,EAAa,uEAAA;AAAA,QACb,cAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAM;AAAA;AACR,KACF;AAEA,IAAA,MAAA,GAAS,EAAE,GAAG,MAAA,EAAO;AAErB,IAAA,IACE,EACE,OAAA,IAAW,MAAA,IACR,MAAA,CAAO,SAAA,CAAU,MAAA,CAAO,KAAK,CAAA,CAAA,IAE/B,MAAA,CAAO,SAAA,CAAU,KAAK,CAAA,EACzB;AACA,MAAC,OAAe,KAAA,GAAQ,KAAA;AAAA,IAC1B;AAQA,IAAA,OAAO,IAAA,CAAK,gBAAgB,EAAA,CAAG,IAAA,CAAK,KAAK,EAAE,MAAA,EAAQ,QAAQ,CAAA;AAAA,EAC7D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAa,cAAA,CAAe,MAAA,EAAgB,MAAA,EAAiB,UAAgD,kBAAA,EAAqD;AAChK,IAAAA,2BAAA,CAAc,SAAA;AAAA,MACZ,IAAA,CAAK,OAAA;AAAA,MACL,SAAA;AAAA,MACA,CAAA,8KAAA,CAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO,aAAA;AAAA,QACP,MAAA,EAAQ,gBAAA;AAAA,QACR,WAAA,EAAa,+EAAA;AAAA,QACb,cAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAM;AAAA;AACR,KACF;AAEA,IAAA,MAAMG,QAAA,GAAS,IAAIC,aAAA,EAAO;AAE1B,IAAA,IAAIC,SAAA,CAAK,UAAA,CAAW,QAAQ,CAAA,IAAK,SAAS,QAAA,EAAU;AAClD,MAAA,QAAA,CAAS,CAAC,CAAA;AAAA,IACZ;AAEA,IAAA,MAAM,UAAA,GAA6B;AAAA,MACjC,GAAG,MAAA;AAAA,MACH,KAAA,EAAO;AAAA,KACT;AACA,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,EAAA,CAAG,IAAA,CAAK,IAAA,CAAK;AAAA,MAC/B,MAAA;AAAA,MACA,MAAA,EAAQ;AAAA,KACT,CAAA,CAAE,IAAA,CAAK,OAAO,QAAA,KAAa;AAC1B,MAAA,IAAI,OAAc,EAAC;AAEnB,MAAA,IAAI,UAAA;AACJ,MAAA,IAAI,kBAAA,EAAoB;AACtB,QAAA,UAAA,GAAc,QAAA,CAAS,OAAA,EAAQ,CAAU,MAAA,CAAO,kBAAkB,CAAA;AAAA,MACpE,CAAA,MAAO;AACL,QAAA,UAAA,GAAc,QAAA,CAAS,SAAQ,CAAU,MAAA;AAAA,MAC3C;AAEA,MAAA,IAAA,GAAO,CAAC,GAAG,IAAA,EAAM,GAAG,UAAU,CAAA;AAC9B,MAAA,IAAI,QAAA,CAAS,QAAO,EAAG;AACrB,QAAA,IAAI,YAAA,GAAmC,QAAA;AACvC,QAAA,OAAO,IAAA,EAAM;AACX,UAAA,YAAA,GAAe,MAAM,YAAA,CAAa,OAAA,CAAQ,KAAK,aAAA,CAAcC,cAAA,CAAW,EAAE,CAAC,CAAA;AAE3E,UAAA,IAAI,iBAAiB,KAAA,EAAO;AAC1B,YAAA;AAAA,UACF;AAEA,UAAA,IAAIC,WAAAA,GAAa,MAAA;AACjB,UAAA,IAAI,kBAAA,EAAoB;AACtB,YAAAA,WAAAA,GAAc,YAAA,CAAa,OAAA,EAAQ,CAAU,OAAO,kBAAkB,CAAA;AAAA,UACxE,CAAA,MAAO;AACL,YAAAA,WAAAA,GAAc,YAAA,CAAa,OAAA,EAAQ,CAAU,MAAA;AAAA,UAC/C;AAEA,UAAA,IAAA,GAAO,CAAC,GAAG,IAAA,EAAM,GAAGA,WAAU,CAAA;AAE9B,UAAA,IAAI,QAAA,EAAU;AACZ,YAAA,MAAM,KAAA,GAAQ,aAAa,QAAA,EAAS;AACpC,YAAA,QAAA,CAAS,KAAA,GAAQ,IAAI,IAAA,CAAK,KAAA,CAAO,MAAM,IAAA,CAAK,MAAA,GAAU,KAAK,CAAA,GAAI,GAAG,CAAA;AAAA,UACpE;AAAA,QACF;AAAA,MACF;AAEA,MAAAJ,QAAA,CAAO,QAAQ,IAAI,CAAA;AACnB,MAAA,IAAI,QAAA,EAAU;AACZ,QAAA,QAAA,CAAS,GAAG,CAAA;AAAA,MACd;AAEA,MAAA,OAAOA,QAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,OAAc,eAAA,CAAgB,MAAA,EAAgB,MAAA,EAAc,OAAgB,kBAAA,EAA2D;AACrI,IAAAH,2BAAA,CAAc,SAAA;AAAA,MACZ,IAAA,CAAK,OAAA;AAAA,MACL,SAAA;AAAA,MACA,CAAA,iLAAA,CAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO,aAAA;AAAA,QACP,MAAA,EAAQ,iBAAA;AAAA,QACR,WAAA,EAAa,iFAAA;AAAA,QACb,cAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAM;AAAA;AACR,KACF;AACA,IAAA,MAAM,OAAA,GAAU;AAAA,MACd,MAAA;AAAA,MACA,MAAA;AAAA,MACA,KAAA;AAAA,MACA,kBAAA,EAAoB,kBAAA,KAAuB,IAAA,GAAO,MAAA,GAAY;AAAA,KAChE;AACA,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,EAAA,CAAG,SAAA,CAAU,KAAK,OAAO,CAAA;AAAA,EAC/C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAa,SAAA,CAAU,KAAA,EAA4B,aAAA,EAAyB,gBAAA,EAA6C;AACvH,IAAAA,2BAAA,CAAc,SAAA;AAAA,MACZ,IAAA,CAAK,OAAA;AAAA,MACL,SAAA;AAAA,MACA,CAAA,mKAAA,CAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO,aAAA;AAAA,QACP,MAAA,EAAQ,WAAA;AAAA,QACR,WAAA,EAAa,yEAAA;AAAA,QACb,cAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAM;AAAA;AACR,KACF;AAEA,IAAA,MAAM,UAAA,GAAa,KAAA;AACnB,IAAA,MAAM,OAAA,GAAU;AAAA,MACd,eAAe,aAAA,IAAiB,IAAA;AAAA,MAChC,kBAAkB,gBAAA,IAAoB;AAAA,KACxC;AAYA,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,EAAA,CAAG,KAAA,CAAM,IAAA,CAAK;AAAA,MAChC,KAAA,EAAO,UAAA;AAAA,MACP;AAAA,KACD,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAYA,MAAa,gBAAA,CAAiB,KAAA,EAAmB,aAAA,EAAyC;AACxF,IAAAA,2BAAA,CAAc,SAAA;AAAA,MACZ,IAAA,CAAK,OAAA;AAAA,MACL,SAAA;AAAA,MACA,CAAA,wLAAA,CAAA;AAAA,MACA;AAAA,QACE,KAAA,EAAO,aAAA;AAAA,QACP,MAAA,EAAQ,kBAAA;AAAA,QACR,WAAA,EAAa,uFAAA;AAAA,QACb,cAAA,EAAgB,OAAA;AAAA,QAChB,IAAA,EAAM;AAAA;AACR,KACF;AAEA,IAAA,MAAM,UAAA,GAAa,KAAA;AACnB,IAAA,MAAM,OAAA,GAAU;AAAA,MACd,aAAA;AAAA,MACA,gBAAA,EAAkB;AAAA,KACpB;AAWA,IAAA,OAAO,IAAA,CAAK,OAAA,CAAQ,EAAA,CAAG,YAAA,CAAa,IAAA,CAAK;AAAA,MACvC,KAAA,EAAO,UAAA;AAAA,MACP;AAAA,KACD,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,cAAc,OAAA,EAA+B;AAClD,IAAA,IAAA,CAAK,kBAAA,EAAmB;AAExB,IAAA,QAAQ,OAAA;AAAS,MACf,KAAKM,cAAA,CAAW,EAAA;AACd,QAAA,IAAI,IAAA,KAAS,KAAK,OAAA,EAAS;AACzB,UAAA,MAAM,IAAIE,iBAAA,CAAS;AAAA,YACjB,IAAA,EAAM,iCAAA;AAAA,YACN,WAAA,EAAa,CAAA,eAAA,CAAA;AAAA,YACb,MAAA,EAAQ;AAAA,WACT,CAAA;AAAA,QACH;AACA,QAAA,OAAO,IAAA,CAAK,OAAA;AAAA,MACd,KAAKF,cAAA,CAAW,EAAA;AACd,QAAA,IAAI,IAAA,KAAS,KAAK,OAAA,EAAS;AACzB,UAAA,MAAM,IAAIE,iBAAA,CAAS;AAAA,YACjB,IAAA,EAAM,iCAAA;AAAA,YACN,WAAA,EAAa,CAAA,eAAA,CAAA;AAAA,YACb,MAAA,EAAQ;AAAA,WACT,CAAA;AAAA,QACH;AACA,QAAA,OAAO,IAAA,CAAK,OAAA;AAAA;AAEhB,IAAA,MAAM,IAAIA,iBAAA,CAAS;AAAA,MACjB,IAAA,EAAM,0BAAA;AAAA,MACN,WAAA,EAAa,qBAAqB,OAAO,CAAA,CAAA;AAAA,MACzC,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA;AAAA;AAAA;AAAA,EAKO,aAAA,CAAc,SAAqB,MAAA,EAAwB;AAChE,IAAA,QAAQ,OAAA;AAAS,MACf,KAAKF,cAAA,CAAW,EAAA;AACd,QAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AACf,QAAA;AAAA,MACF,KAAKA,cAAA,CAAW,EAAA;AACd,QAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AACf,QAAA;AAAA;AAEJ,IAAA,MAAM,IAAIE,iBAAA,CAAS;AAAA,MACjB,IAAA,EAAM,0BAAA;AAAA,MACN,WAAA,EAAa,qBAAqB,OAAO,CAAA,CAAA;AAAA,MACzC,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA,EAEO,UAAU,MAAA,EAA+B;AAC9C,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAEf,IAAA,IAAA,CAAK,eAAA,CAAgB,SAAA,CAAU,IAAA,CAAK,OAAO,CAAA;AAC3C,IAAA,IAAA,CAAK,aAAA,CAAc,SAAA,CAAU,IAAA,CAAK,OAAO,CAAA;AAEzC,IAAAC,6BAAA,CAAe,iBAAA,EAAkB,CAAE,OAAA,CAAQ,CAAC,OAAA,KAAY;AACtD,MAAA,IAAA,CAAK,aAAA,CAAc,OAAO,CAAA,CAAE,SAAA,CAAU,KAAK,OAAO,CAAA;AAAA,IACpD,CAAC,CAAA;AAAA,EACH;AAAA,EAEO,SAAA,GAA6B;AAClC,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,MAAa,4BAA4B,MAAA,EAA0C;AACjF,IAAA,MAAM,QAAA,GAAWA,6BAAA,CAAe,iBAAA,EAAkB,CAAE,GAAA;AAAA,MAAI,aACtD,IAAA,CAAK,aAAA,CAAc,OAAO,CAAA,CAAE,4BAA4B,MAAM;AAAA,KAChE;AAEA,IAAA,MAAM,OAAA,CAAQ,WAAW,QAAQ,CAAA;AAAA,EACnC;AAAA;AAAA;AAAA;AAAA;AAAA,EAMU,eAAA,GAAiC;AACzC,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA;AAAA;AAAA;AAAA,EAMU,kBAAA,GAA2B;AACnC,IAAA,IAAI,CAAC,KAAK,OAAA,EAAS;AACjB,MAAA,MAAM,IAAID,iBAAA,CAAS;AAAA,QACjB,IAAA,EAAM,yBAAA;AAAA,QACN,WAAA,EAAa,CAAA,mBAAA,CAAA;AAAA,QACb,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,IACH;AAAA,EACF;AAAA;AAEF;;;;"}
@@ -0,0 +1,26 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ class AbstractAction {
14
+ static {
15
+ __name(this, "AbstractAction");
16
+ }
17
+ _b24;
18
+ _logger;
19
+ constructor(b24, logger) {
20
+ this._b24 = b24;
21
+ this._logger = logger;
22
+ }
23
+ }
24
+
25
+ exports.AbstractAction = AbstractAction;
26
+ //# sourceMappingURL=abstract-action.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-action.cjs","sources":["../../../../src/core/actions/abstract-action.ts"],"sourcesContent":["import type { TypeB24 } from '../../types/b24'\nimport type { LoggerInterface } from '../../types/logger'\n\n/**\n * Abstract Class for working with actions\n */\n\nexport type ActionOptions = {\n [key: string]: any\n}\n\nexport abstract class AbstractAction {\n protected _b24: TypeB24\n protected _logger: LoggerInterface\n\n constructor(b24: TypeB24, logger: LoggerInterface) {\n this._b24 = b24\n this._logger = logger\n }\n\n public abstract make(options?: ActionOptions): AsyncGenerator | Promise<unknown>\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAWO,MAAe,cAAA,CAAe;AAAA,EAXrC;AAWqC,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EACzB,IAAA;AAAA,EACA,OAAA;AAAA,EAEV,WAAA,CAAY,KAAc,MAAA,EAAyB;AACjD,IAAA,IAAA,CAAK,IAAA,GAAO,GAAA;AACZ,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAGF;;;;"}
@@ -0,0 +1,97 @@
1
+ /**
2
+ * @package @bitrix24/b24jssdk
3
+ * @version 2.0.0
4
+ * @copyright (c) 2026 Bitrix24
5
+ * @license MIT
6
+ * @see https://github.com/bitrix24/b24jssdk
7
+ * @see https://bitrix24.github.io/b24jssdk/
8
+ */
9
+ 'use strict';
10
+
11
+ const abstractAction = require('./abstract-action.cjs');
12
+ const result = require('../result.cjs');
13
+
14
+ var __defProp = Object.defineProperty;
15
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
+ class AbstractBatch extends abstractAction.AbstractAction {
17
+ static {
18
+ __name(this, "AbstractBatch");
19
+ }
20
+ _addBatchErrorsIfAny(response, result) {
21
+ if (!response.isSuccess) {
22
+ for (const [index, error] of response.errors) {
23
+ result.addError(error, index);
24
+ }
25
+ }
26
+ }
27
+ _processBatchResponse(response, calls, options) {
28
+ const isArrayCall = Array.isArray(calls);
29
+ if (options.returnAjaxResult) {
30
+ return this._createBatchResultWithAjax(response, isArrayCall);
31
+ } else {
32
+ return this._createBatchResultSimple(response, isArrayCall);
33
+ }
34
+ }
35
+ // region BatchResultWithAjax ////
36
+ _createBatchResultWithAjax(response, isArrayCall) {
37
+ return isArrayCall ? this._createBatchArrayResult(response) : this._createBatchObjectResult(response);
38
+ }
39
+ _createBatchArrayResult(response) {
40
+ const result$1 = new result.Result();
41
+ this._addBatchErrorsIfAny(response, result$1);
42
+ const dataResult = [];
43
+ for (const [_index, data] of response.getData().result) {
44
+ dataResult.push(data);
45
+ }
46
+ return result$1.setData(dataResult);
47
+ }
48
+ _createBatchObjectResult(response) {
49
+ const result$1 = new result.Result();
50
+ this._addBatchErrorsIfAny(response, result$1);
51
+ const dataResult = {};
52
+ for (const [index, data] of response.getData().result) {
53
+ dataResult[index] = data;
54
+ }
55
+ return result$1.setData(dataResult);
56
+ }
57
+ // endregion ////
58
+ // region BatchResultSimple ////
59
+ _createBatchResultSimple(response, isArrayCall) {
60
+ const result$1 = new result.Result();
61
+ this._addBatchErrorsIfAny(response, result$1);
62
+ return result$1.setData(
63
+ this._extractBatchSimpleData(response, isArrayCall)
64
+ );
65
+ }
66
+ _extractBatchSimpleData(response, isArrayCall) {
67
+ if (isArrayCall) {
68
+ const dataResult = [];
69
+ for (const [_index, data] of response.getData().result) {
70
+ if (data.isSuccess) {
71
+ dataResult.push(data.getData().result);
72
+ }
73
+ }
74
+ return dataResult;
75
+ } else {
76
+ const dataResult = {};
77
+ for (const [index, data] of response.getData().result) {
78
+ if (data.isSuccess) {
79
+ dataResult[index] = data.getData().result;
80
+ }
81
+ }
82
+ return dataResult;
83
+ }
84
+ }
85
+ // endregion ////
86
+ chunkArray(array, chunkSize = 50) {
87
+ const result = [];
88
+ for (let i = 0; i < array.length; i += chunkSize) {
89
+ const chunk = array.slice(i, i + chunkSize);
90
+ result.push(chunk);
91
+ }
92
+ return result;
93
+ }
94
+ }
95
+
96
+ exports.AbstractBatch = AbstractBatch;
97
+ //# sourceMappingURL=abstract-batch.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"abstract-batch.cjs","sources":["../../../../src/core/actions/abstract-batch.ts"],"sourcesContent":["import type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchNamedCommandsUniversal,\n ICallBatchResult\n} from '../../types/http'\nimport type { CallBatchResult, IB24BatchOptions } from '../../types/b24'\nimport type { AjaxResult } from '../http/ajax-result'\nimport { AbstractAction } from './abstract-action'\nimport { Result } from '../result'\n\nexport abstract class AbstractBatch extends AbstractAction {\n protected _addBatchErrorsIfAny(\n response: Result<ICallBatchResult<any>>,\n result: Result\n ): void {\n if (!response.isSuccess) {\n for (const [index, error] of response.errors) {\n result.addError(error, index)\n }\n }\n }\n\n protected _processBatchResponse<T>(\n response: Result<ICallBatchResult<T>>,\n calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal,\n options: IB24BatchOptions\n ): CallBatchResult<T> {\n const isArrayCall = Array.isArray(calls)\n\n if (options.returnAjaxResult) {\n return this._createBatchResultWithAjax<T>(response, isArrayCall)\n } else {\n return this._createBatchResultSimple<T>(response, isArrayCall)\n }\n }\n\n // region BatchResultWithAjax ////\n protected _createBatchResultWithAjax<T>(\n response: Result<ICallBatchResult<T>>,\n isArrayCall: boolean\n ): CallBatchResult<T> {\n return isArrayCall\n ? this._createBatchArrayResult<T>(response)\n : this._createBatchObjectResult<T>(response)\n }\n\n protected _createBatchArrayResult<T>(response: Result<ICallBatchResult<T>>): Result<AjaxResult<T>[]> {\n const result = new Result<AjaxResult<T>[]>()\n this._addBatchErrorsIfAny(response, result)\n\n const dataResult: AjaxResult<T>[] = []\n for (const [_index, data] of response.getData()!.result!) {\n dataResult.push(data)\n }\n\n return result.setData(dataResult)\n }\n\n protected _createBatchObjectResult<T>(response: Result<ICallBatchResult<T>>): Result<Record<string | number, AjaxResult<T>>> {\n const result = new Result<Record<string | number, AjaxResult<T>>>()\n this._addBatchErrorsIfAny(response, result)\n\n const dataResult: Record<string | number, any> = {}\n for (const [index, data] of response.getData()!.result!) {\n dataResult[index] = data\n }\n\n return result.setData(dataResult)\n }\n // endregion ////\n\n // region BatchResultSimple ////\n protected _createBatchResultSimple<T>(\n response: Result<ICallBatchResult<T>>,\n isArrayCall: boolean\n ): CallBatchResult<T> {\n const result = new Result<T>()\n this._addBatchErrorsIfAny(response, result)\n return result.setData(\n this._extractBatchSimpleData<T>(response, isArrayCall)\n )\n }\n\n protected _extractBatchSimpleData<T>(\n response: Result<ICallBatchResult<T>>,\n isArrayCall: boolean\n ): T {\n if (isArrayCall) {\n const dataResult: any[] = []\n for (const [_index, data] of response.getData()!.result!) {\n // @memo Add only success rows\n if (data.isSuccess) {\n dataResult.push(data.getData()!.result)\n }\n }\n return dataResult as T\n } else {\n const dataResult: Record<string | number, any> = {}\n for (const [index, data] of response.getData()!.result!) {\n // @memo Add only success rows\n if (data.isSuccess) {\n dataResult[index] = data.getData()!.result\n }\n }\n return dataResult as T\n }\n }\n // endregion ////\n\n public chunkArray<T = unknown>(array: Array<T>, chunkSize: number = 50): T[][] {\n const result: T[][] = []\n for (let i = 0; i < array.length; i += chunkSize) {\n const chunk = array.slice(i, i + chunkSize)\n result.push(chunk)\n }\n return result\n }\n}\n"],"names":["AbstractAction","result","Result"],"mappings":"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"}