@bitrix24/b24jssdk 0.5.1 → 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 -526
  143. package/dist/esm/index.d.ts +2757 -526
  144. package/dist/esm/index.mjs +70 -14118
  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 -26912
  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 @@
1
+ {"version":3,"file":"helper-manager.mjs","sources":["../../../src/helper/helper-manager.ts"],"sourcesContent":["import type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport type { TypeB24 } from '../types/b24'\nimport { ProfileManager } from './profile-manager'\nimport { AppManager } from './app-manager'\nimport { PaymentManager } from './payment-manager'\nimport { LicenseManager } from './license-manager'\nimport { CurrencyManager } from './currency-manager'\nimport { OptionsManager } from './options-manager'\nimport { B24PullClientManager } from '../pullClient'\nimport { Text } from '../tools/text'\nimport { LoadDataType, TypeSpecificUrl } from '../types/b24-helper'\nimport type { TypeApp, TypeB24Form, TypeEnumAppStatus, TypeLicense, TypePayment, TypeUser } from '../types/b24-helper'\nimport type { GenderString } from '../types/common'\nimport type { TypePullMessage } from '../types/pull'\nimport type { BatchNamedCommandsUniversal } from '../types/http'\nimport type { Result } from '../core/result'\n\n/**\n * A universal class that is used to manage the initial application data\n */\nexport class B24HelperManager {\n private readonly _b24: TypeB24\n private _isInit: boolean = false\n\n private _profile: ProfileManager | null = null\n\n private _app: AppManager | null = null\n private _payment: PaymentManager | null = null\n private _license: LicenseManager | null = null\n\n private _currency: CurrencyManager | null = null\n private _appOptions: OptionsManager | null = null\n private _userOptions: OptionsManager | null = null\n\n private _b24PullClient: B24PullClientManager | null = null\n private _pullClientUnSubscribe: (() => void)[] = []\n private _pullClientModuleId: string = ''\n\n protected _logger: LoggerInterface\n\n constructor(b24: TypeB24) {\n this._logger = LoggerFactory.createNullLogger()\n this._b24 = b24\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n if (null !== this._profile) {\n this._profile.setLogger(this.getLogger())\n }\n\n if (null !== this._app) {\n this._app.setLogger(this.getLogger())\n }\n\n if (null !== this._payment) {\n this._payment.setLogger(this.getLogger())\n }\n\n if (null !== this._license) {\n this._license.setLogger(this.getLogger())\n }\n\n if (null !== this._currency) {\n this._currency.setLogger(this.getLogger())\n }\n\n if (null !== this._appOptions) {\n this._appOptions.setLogger(this.getLogger())\n }\n\n if (null !== this._userOptions) {\n this._userOptions.setLogger(this.getLogger())\n }\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n destroy(): void {\n this._destroyPullClient()\n }\n\n // region loadData ////\n async loadData(\n dataTypes: LoadDataType[] = [LoadDataType.App, LoadDataType.Profile]\n ): Promise<void> {\n const batchMethods: Record<string, { method: string } | { method: string }[]> = {\n [LoadDataType.App]: { method: 'app.info' },\n [LoadDataType.Profile]: { method: 'profile' },\n [LoadDataType.Currency]: [\n { method: 'crm.currency.base.get' },\n { method: 'crm.currency.list' }\n ],\n [LoadDataType.AppOptions]: { method: 'app.option.get' },\n [LoadDataType.UserOptions]: { method: 'user.option.get' }\n }\n\n const batchRequest = dataTypes.reduce(\n (acc, type) => {\n if (batchMethods[type]) {\n if (Array.isArray(batchMethods[type])) {\n for (const [index, row] of batchMethods[type].entries()) {\n acc[`get_${type}_${index}`] = row\n }\n } else {\n acc[`get_${type}`] = batchMethods[type]\n }\n }\n\n return acc\n },\n {} as BatchNamedCommandsUniversal\n )\n\n try {\n const response = await this._b24.callBatch(batchRequest) as Result<Record<string, any>>\n const data = response.getData()!\n\n if (data[`get_${LoadDataType.App}`]) {\n this._app = await this.parseAppData(data[`get_${LoadDataType.App}`])\n this._payment = await this.parsePaymentData(\n data[`get_${LoadDataType.App}`]\n )\n this._license = await this.parseLicenseData(\n data[`get_${LoadDataType.App}`]\n )\n }\n\n if (data[`get_${LoadDataType.Profile}`]) {\n this._profile = await this.parseUserData(\n data[`get_${LoadDataType.Profile}`]\n )\n }\n\n if (\n data[`get_${LoadDataType.Currency}_0`]\n && data[`get_${LoadDataType.Currency}_1`]\n ) {\n this._currency = await this.parseCurrencyData({\n currencyBase: data[`get_${LoadDataType.Currency}_0`],\n currencyList: data[`get_${LoadDataType.Currency}_1`]\n })\n }\n\n if (data[`get_${LoadDataType.AppOptions}`]) {\n this._appOptions = await this.parseOptionsData(\n 'app',\n data[`get_${LoadDataType.AppOptions}`]\n )\n }\n\n if (data[`get_${LoadDataType.UserOptions}`]) {\n this._userOptions = await this.parseOptionsData(\n 'user',\n data[`get_${LoadDataType.UserOptions}`]\n )\n }\n\n this._isInit = true\n } catch (error) {\n if (error instanceof Error) {\n throw error\n }\n\n this.getLogger().error('Failed to load data', { error })\n throw new Error('Failed to load data')\n }\n }\n\n private async parseUserData(profileData: any): Promise<ProfileManager> {\n const manager = new ProfileManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n id: Number(profileData.ID),\n isAdmin: profileData.ADMIN === true,\n lastName: profileData?.LAST_NAME || '',\n name: profileData?.NAME || '',\n gender: (profileData?.PERSONAL_GENDER || '') as GenderString,\n photo: profileData?.PERSONAL_PHOTO || '',\n TimeZone: profileData?.TIME_ZONE || '',\n TimeZoneOffset: profileData?.TIME_ZONE_OFFSET\n } as TypeUser)\n .then(() => {\n return manager\n })\n }\n\n private async parseAppData(appData: any): Promise<AppManager> {\n const manager = new AppManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n id: Number.parseInt(appData.ID),\n code: appData.CODE,\n version: Number.parseInt(appData.VERSION),\n status: appData.STATUS as TypeEnumAppStatus,\n isInstalled: appData.INSTALLED as boolean\n } as TypeApp)\n .then(() => {\n return manager\n })\n }\n\n private async parsePaymentData(appData: any): Promise<PaymentManager> {\n const manager = new PaymentManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n isExpired: appData.PAYMENT_EXPIRED === 'Y',\n days: Number.parseInt(appData.DAYS || '0')\n } as TypePayment)\n .then(() => {\n return manager\n })\n }\n\n private async parseLicenseData(appData: any): Promise<LicenseManager> {\n const manager = new LicenseManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager\n .initData({\n languageId: appData.LANGUAGE_ID,\n license: appData.LICENSE,\n licensePrevious: appData.LICENSE_PREVIOUS,\n licenseType: appData.LICENSE_TYPE,\n licenseFamily: appData.LICENSE_FAMILY,\n isSelfHosted: appData.LICENSE.includes('selfhosted')\n } as TypeLicense)\n .then(() => {\n return manager\n })\n }\n\n private async parseCurrencyData(currencyData: any): Promise<CurrencyManager> {\n const manager = new CurrencyManager(this._b24)\n manager.setLogger(this.getLogger())\n return manager.initData(currencyData).then(() => {\n return manager\n })\n }\n\n private async parseOptionsData(\n type: 'app' | 'user',\n optionsData: any\n ): Promise<OptionsManager> {\n const manager = new OptionsManager(this._b24, type)\n manager.setLogger(this.getLogger())\n return manager.initData(optionsData).then(() => {\n return manager\n })\n }\n // endregion ////\n\n // region Get ////\n get isInit(): boolean {\n return this._isInit\n }\n\n get forB24Form(): TypeB24Form {\n this.ensureInitialized()\n\n if (null === this._profile) {\n throw new Error('B24HelperManager.profileInfo not initialized')\n }\n\n if (null === this._app) {\n throw new Error('B24HelperManager.appInfo not initialized')\n }\n\n return {\n app_code: this.appInfo.data.code,\n app_status: this.appInfo.data.status as string,\n payment_expired: this.paymentInfo.data.isExpired ? 'Y' : 'N',\n days: this.paymentInfo.data.days,\n b24_plan: this.licenseInfo.data.license,\n c_name: this.profileInfo.data.name,\n c_last_name: this.profileInfo.data.lastName,\n hostname: this.hostName\n } as TypeB24Form\n }\n\n /**\n * Get the account address BX24 (https://your_domain.bitrix24.com)\n */\n get hostName(): string {\n return this._b24.getTargetOrigin()\n }\n\n get profileInfo(): ProfileManager {\n this.ensureInitialized()\n\n if (null === this._profile) {\n throw new Error('B24HelperManager.profileInfo not initialized')\n }\n\n return this._profile\n }\n\n get appInfo(): AppManager {\n this.ensureInitialized()\n\n if (null === this._app) {\n throw new Error('B24HelperManager.appInfo not initialized')\n }\n\n return this._app\n }\n\n get paymentInfo(): PaymentManager {\n this.ensureInitialized()\n\n if (null === this._payment) {\n throw new Error('B24HelperManager.paymentInfo not initialized')\n }\n\n return this._payment\n }\n\n get licenseInfo(): LicenseManager {\n this.ensureInitialized()\n\n if (null === this._license) {\n throw new Error('B24HelperManager.licenseInfo not initialized')\n }\n\n return this._license\n }\n\n get currency(): CurrencyManager {\n this.ensureInitialized()\n\n if (null === this._currency) {\n throw new Error('B24HelperManager.currency not initialized')\n }\n\n return this._currency\n }\n\n get appOptions(): OptionsManager {\n this.ensureInitialized()\n\n if (null === this._appOptions) {\n throw new Error('B24HelperManager.appOptions not initialized')\n }\n\n return this._appOptions\n }\n\n get userOptions(): OptionsManager {\n this.ensureInitialized()\n\n if (null === this._userOptions) {\n throw new Error('B24HelperManager.userOptions not initialized')\n }\n\n return this._userOptions\n }\n // endregion ////\n\n // region Custom SelfHosted && Cloud ////\n get isSelfHosted(): boolean {\n return this.licenseInfo.data.isSelfHosted\n }\n\n /**\n * Returns the increment step of fields of type ID\n * @memo in a cloud step = 2 in box step = 1\n *\n * @returns {number}\n */\n get primaryKeyIncrementValue(): number {\n if (this.isSelfHosted) {\n return 1\n }\n\n return 2\n }\n\n /**\n * Defines specific URLs for a Bitrix24 box or cloud\n */\n get b24SpecificUrl(): Record<keyof typeof TypeSpecificUrl, string> {\n if (this.isSelfHosted) {\n return {\n [TypeSpecificUrl.MainSettings]: '/configs/',\n [TypeSpecificUrl.UfList]: '/configs/userfield_list.php',\n [TypeSpecificUrl.UfPage]: '/configs/userfield.php'\n }\n }\n\n return {\n [TypeSpecificUrl.MainSettings]: '/settings/configs/',\n [TypeSpecificUrl.UfList]: '/settings/configs/userfield_list.php',\n [TypeSpecificUrl.UfPage]: '/settings/configs/userfield.php'\n }\n }\n // endregion ////\n\n // region Pull.Client ////\n public usePullClient(\n prefix: string = 'prefix',\n userId?: number\n ): B24HelperManager {\n if (this._b24PullClient) {\n return this\n }\n\n this.initializePullClient(\n typeof userId === 'undefined' ? this.profileInfo.data.id || 0 : userId,\n prefix\n )\n\n return this\n }\n\n private initializePullClient(\n userId: number,\n prefix: string = 'prefix'\n ): void {\n this._b24PullClient = new B24PullClientManager({\n b24: this._b24,\n restApplication: this._b24.auth.getUniq(prefix),\n userId\n })\n }\n\n public subscribePullClient(\n callback: (message: TypePullMessage) => void,\n moduleId: string = 'application'\n ): B24HelperManager {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n this._pullClientModuleId = moduleId\n\n this._pullClientUnSubscribe.push(\n this._b24PullClient.subscribe({\n moduleId: this._pullClientModuleId,\n callback\n })\n )\n\n return this\n }\n\n public startPullClient(): void {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n this._b24PullClient.start().catch((error) => {\n this.getLogger().error(`${Text.getDateForLog()}: Pull not running`, { error })\n })\n }\n\n public getModuleIdPullClient(): string {\n if (!this._b24PullClient) {\n throw new Error('PullClient not init')\n }\n\n return this._pullClientModuleId\n }\n\n private _destroyPullClient(): void {\n for (const unsubscribeCallback of this._pullClientUnSubscribe) {\n unsubscribeCallback()\n }\n\n this._b24PullClient?.destroy()\n this._b24PullClient = null\n }\n // endregion ////\n\n // region Tools ////\n private ensureInitialized(): void {\n if (!this._isInit) {\n throw new Error('B24HelperManager not initialized')\n }\n }\n // endregion ////\n}\n"],"names":["B24PullClientManager"],"mappings":"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"}
@@ -0,0 +1,50 @@
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 { AbstractHelper } from './abstract-helper.mjs';
10
+ import { ParamsFactory } from '../core/http/limiters/params-factory.mjs';
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ class LicenseManager extends AbstractHelper {
15
+ static {
16
+ __name(this, "LicenseManager");
17
+ }
18
+ _data = null;
19
+ /**
20
+ * @inheritDoc
21
+ */
22
+ async initData(data) {
23
+ this._data = data;
24
+ await this.makeRestrictionManagerParams();
25
+ }
26
+ get data() {
27
+ if (null === this._data) {
28
+ throw new Error("LicenseManager.data not initialized");
29
+ }
30
+ return this._data;
31
+ }
32
+ /**
33
+ * Set RestrictionManager params by license
34
+ * @link https://apidocs.bitrix24.com/api-reference/common/system/app-info.html
35
+ */
36
+ async makeRestrictionManagerParams() {
37
+ if (!this.data?.license) {
38
+ return;
39
+ }
40
+ const restrictionParams = ParamsFactory.fromTariffPlan(this.data.license);
41
+ this.getLogger().debug("set restriction manager params", {
42
+ license: this.data.license,
43
+ restrictionParams
44
+ });
45
+ await this._b24.setRestrictionManagerParams(restrictionParams);
46
+ }
47
+ }
48
+
49
+ export { LicenseManager };
50
+ //# sourceMappingURL=license-manager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"license-manager.mjs","sources":["../../../src/helper/license-manager.ts"],"sourcesContent":["import type { TypeLicense } from '../types/b24-helper'\nimport { AbstractHelper } from './abstract-helper'\nimport { ParamsFactory } from '../core/http/limiters/params-factory'\n\nexport class LicenseManager extends AbstractHelper {\n protected override _data: null | TypeLicense = null\n\n /**\n * @inheritDoc\n */\n override async initData(data: TypeLicense): Promise<void> {\n this._data = data\n\n await this.makeRestrictionManagerParams()\n }\n\n get data(): TypeLicense {\n if (null === this._data) {\n throw new Error('LicenseManager.data not initialized')\n }\n\n return this._data\n }\n\n /**\n * Set RestrictionManager params by license\n * @link https://apidocs.bitrix24.com/api-reference/common/system/app-info.html\n */\n async makeRestrictionManagerParams(): Promise<void> {\n if (!this.data?.license) {\n return\n }\n\n const restrictionParams = ParamsFactory.fromTariffPlan(this.data.license)\n this.getLogger().debug('set restriction manager params', {\n license: this.data.license,\n restrictionParams\n })\n\n await this._b24.setRestrictionManagerParams(restrictionParams)\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAIO,MAAM,uBAAuB,cAAA,CAAe;AAAA,EAJnD;AAImD,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EAC9B,KAAA,GAA4B,IAAA;AAAA;AAAA;AAAA;AAAA,EAK/C,MAAe,SAAS,IAAA,EAAkC;AACxD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AAEb,IAAA,MAAM,KAAK,4BAAA,EAA6B;AAAA,EAC1C;AAAA,EAEA,IAAI,IAAA,GAAoB;AACtB,IAAA,IAAI,IAAA,KAAS,KAAK,KAAA,EAAO;AACvB,MAAA,MAAM,IAAI,MAAM,qCAAqC,CAAA;AAAA,IACvD;AAEA,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,MAAM,4BAAA,GAA8C;AAClD,IAAA,IAAI,CAAC,IAAA,CAAK,IAAA,EAAM,OAAA,EAAS;AACvB,MAAA;AAAA,IACF;AAEA,IAAA,MAAM,iBAAA,GAAoB,aAAA,CAAc,cAAA,CAAe,IAAA,CAAK,KAAK,OAAO,CAAA;AACxE,IAAA,IAAA,CAAK,SAAA,EAAU,CAAE,KAAA,CAAM,gCAAA,EAAkC;AAAA,MACvD,OAAA,EAAS,KAAK,IAAA,CAAK,OAAA;AAAA,MACnB;AAAA,KACD,CAAA;AAED,IAAA,MAAM,IAAA,CAAK,IAAA,CAAK,2BAAA,CAA4B,iBAAiB,CAAA;AAAA,EAC/D;AACF;;;;"}
@@ -0,0 +1,196 @@
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 { AbstractHelper } from './abstract-helper.mjs';
10
+ import { TypeOption } from '../types/b24-helper.mjs';
11
+ import { Type } from '../tools/type.mjs';
12
+ import { Text } from '../tools/text.mjs';
13
+
14
+ var __defProp = Object.defineProperty;
15
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
16
+ class OptionsManager extends AbstractHelper {
17
+ static {
18
+ __name(this, "OptionsManager");
19
+ }
20
+ _data;
21
+ _type;
22
+ // region static ////
23
+ static getSupportTypes() {
24
+ return [
25
+ TypeOption.NotSet,
26
+ TypeOption.JsonArray,
27
+ TypeOption.JsonObject,
28
+ TypeOption.FloatVal,
29
+ TypeOption.IntegerVal,
30
+ TypeOption.BoolYN,
31
+ TypeOption.StringVal
32
+ ];
33
+ }
34
+ static prepareArrayList(list) {
35
+ if (Type.isArray(list)) {
36
+ return list;
37
+ }
38
+ if (Type.isObject(list)) {
39
+ return Object.values(list);
40
+ }
41
+ return [];
42
+ }
43
+ // endregion ////
44
+ // region Init ////
45
+ constructor(b24, type) {
46
+ super(b24);
47
+ this._type = type;
48
+ this._data = /* @__PURE__ */ new Map();
49
+ }
50
+ get data() {
51
+ return this._data;
52
+ }
53
+ reset() {
54
+ this.data.clear();
55
+ }
56
+ /**
57
+ * @inheritDoc
58
+ */
59
+ async initData(data) {
60
+ this.reset();
61
+ if (Type.isObject(data)) {
62
+ for (const [key, value] of Object.entries(data)) {
63
+ this.data.set(key, value);
64
+ }
65
+ }
66
+ }
67
+ // endregion ////
68
+ // region Get ////
69
+ getJsonArray(key, defValue = []) {
70
+ if (!this.data.has(key)) {
71
+ return defValue;
72
+ }
73
+ let data = this.data.get(key);
74
+ try {
75
+ data = JSON.parse(data);
76
+ if (!Type.isArray(data) && !Type.isObject(data)) {
77
+ data = defValue;
78
+ }
79
+ } catch (error) {
80
+ this.getLogger().error("Failed JSON parse", { error });
81
+ data = defValue;
82
+ }
83
+ return OptionsManager.prepareArrayList(data);
84
+ }
85
+ getJsonObject(key, defValue = {}) {
86
+ if (!this.data.has(key)) {
87
+ return defValue;
88
+ }
89
+ let data = this.data.get(key);
90
+ try {
91
+ data = JSON.parse(data);
92
+ } catch (error) {
93
+ this.getLogger().error("Failed JSON parse", { error });
94
+ data = defValue;
95
+ }
96
+ if (!Type.isObject(data)) {
97
+ data = defValue;
98
+ }
99
+ return data;
100
+ }
101
+ getFloat(key, defValue = 0) {
102
+ if (!this.data.has(key)) {
103
+ return defValue;
104
+ }
105
+ return Text.toNumber(this.data.get(key));
106
+ }
107
+ getInteger(key, defValue = 0) {
108
+ if (!this.data.has(key)) {
109
+ return defValue;
110
+ }
111
+ return Text.toInteger(this.data.get(key));
112
+ }
113
+ getBoolYN(key, defValue = true) {
114
+ if (!this.data.has(key)) {
115
+ return defValue;
116
+ }
117
+ return Text.toBoolean(this.data.get(key));
118
+ }
119
+ getBoolNY(key, defValue = false) {
120
+ if (!this.data.has(key)) {
121
+ return defValue;
122
+ }
123
+ return Text.toBoolean(this.data.get(key));
124
+ }
125
+ getString(key, defValue = "") {
126
+ if (!this.data.has(key)) {
127
+ return defValue;
128
+ }
129
+ return this.data.get(key).toString();
130
+ }
131
+ getDate(key, defValue = null) {
132
+ if (!this.data.has(key)) {
133
+ return defValue;
134
+ }
135
+ try {
136
+ const result = Text.toDateTime(this.data.get(key).toString());
137
+ if (result.isValid) {
138
+ return result;
139
+ } else {
140
+ return defValue;
141
+ }
142
+ } catch {
143
+ return defValue;
144
+ }
145
+ }
146
+ // endregion ////
147
+ // region Tools ////
148
+ encode(value) {
149
+ return JSON.stringify(value);
150
+ }
151
+ decode(data, defaultValue) {
152
+ try {
153
+ if (data.length > 0) {
154
+ return JSON.parse(data);
155
+ }
156
+ return defaultValue;
157
+ } catch (error) {
158
+ this.getLogger().error("Failed JSON parse", { error });
159
+ }
160
+ return defaultValue;
161
+ }
162
+ // endregion ////
163
+ // region Save ////
164
+ getMethodSave() {
165
+ switch (this._type) {
166
+ case "app":
167
+ return "app.option.set";
168
+ case "user":
169
+ return "user.option.set";
170
+ }
171
+ }
172
+ async save(options, optionsPull) {
173
+ const commands = [];
174
+ commands.push({
175
+ method: this.getMethodSave(),
176
+ params: {
177
+ options
178
+ }
179
+ });
180
+ if (Type.isObject(optionsPull)) {
181
+ commands.push({
182
+ method: "pull.application.event.add",
183
+ params: {
184
+ COMMAND: optionsPull?.command,
185
+ PARAMS: optionsPull?.params,
186
+ MODULE_ID: optionsPull?.moduleId
187
+ }
188
+ });
189
+ }
190
+ return this._b24.callBatch(commands, true);
191
+ }
192
+ // endregion ////
193
+ }
194
+
195
+ export { OptionsManager };
196
+ //# sourceMappingURL=options-manager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"options-manager.mjs","sources":["../../../src/helper/options-manager.ts"],"sourcesContent":["import type { DateTime } from 'luxon'\nimport { AbstractHelper } from './abstract-helper'\nimport type { TypeB24 } from '../types/b24'\nimport type { Result } from '../core/result'\nimport { TypeOption } from '../types/b24-helper'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\n\nexport class OptionsManager extends AbstractHelper {\n protected override _data: Map<string, any>\n protected _type: 'app' | 'user'\n\n // region static ////\n static getSupportTypes(): TypeOption[] {\n return [\n TypeOption.NotSet,\n TypeOption.JsonArray,\n TypeOption.JsonObject,\n TypeOption.FloatVal,\n TypeOption.IntegerVal,\n TypeOption.BoolYN,\n TypeOption.StringVal\n ]\n }\n\n static prepareArrayList(list: any): any[] {\n if (Type.isArray(list)) {\n return list\n }\n\n if (Type.isObject(list)) {\n return Object.values(list)\n }\n\n return []\n }\n\n // endregion ////\n\n // region Init ////\n constructor(b24: TypeB24, type: 'app' | 'user') {\n super(b24)\n this._type = type\n this._data = new Map()\n }\n\n get data(): Map<string, any> {\n return this._data\n }\n\n reset() {\n this.data.clear()\n }\n\n /**\n * @inheritDoc\n */\n override async initData(data: any): Promise<void> {\n this.reset()\n\n if (Type.isObject(data)) {\n for (const [key, value] of Object.entries(data)) {\n this.data.set(key, value)\n }\n }\n }\n\n // endregion ////\n\n // region Get ////\n getJsonArray(key: string, defValue: any[] = []): any[] {\n if (!this.data.has(key)) {\n return defValue\n }\n\n let data = this.data.get(key)\n\n try {\n data = JSON.parse(data)\n\n if (!Type.isArray(data) && !Type.isObject(data)) {\n data = defValue\n }\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n data = defValue\n }\n\n return OptionsManager.prepareArrayList(data)\n }\n\n getJsonObject(key: string, defValue: object = {}): object {\n if (!this.data.has(key)) {\n return defValue\n }\n\n let data = this.data.get(key)\n\n try {\n data = JSON.parse(data)\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n data = defValue\n }\n\n if (!Type.isObject(data)) {\n data = defValue\n }\n\n return data\n }\n\n getFloat(key: string, defValue: number = 0.0): number {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toNumber(this.data.get(key))\n }\n\n getInteger(key: string, defValue: number = 0): number {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toInteger(this.data.get(key))\n }\n\n getBoolYN(key: string, defValue: boolean = true): boolean {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toBoolean(this.data.get(key))\n }\n\n getBoolNY(key: string, defValue: boolean = false): boolean {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return Text.toBoolean(this.data.get(key))\n }\n\n getString(key: string, defValue: string = ''): string {\n if (!this.data.has(key)) {\n return defValue\n }\n\n return this.data.get(key).toString()\n }\n\n getDate(key: string, defValue: null | DateTime = null): null | DateTime {\n if (!this.data.has(key)) {\n return defValue\n }\n\n try {\n const result = Text.toDateTime(this.data.get(key).toString())\n if (result.isValid) {\n return result\n } else {\n return defValue\n }\n } catch {\n return defValue\n }\n }\n\n // endregion ////\n\n // region Tools ////\n encode(value: any): string {\n return JSON.stringify(value)\n }\n\n decode(data: string, defaultValue: any): any {\n try {\n if (data.length > 0) {\n return JSON.parse(data)\n }\n\n return defaultValue\n } catch (error) {\n this.getLogger().error('Failed JSON parse', { error })\n }\n\n return defaultValue\n }\n\n // endregion ////\n\n // region Save ////\n protected getMethodSave(): string {\n switch (this._type) {\n case 'app':\n return 'app.option.set'\n case 'user':\n return 'user.option.set'\n }\n }\n\n public async save(\n options: any,\n optionsPull?: {\n moduleId: string\n command: string\n params: any\n }\n ): Promise<Result> {\n const commands = []\n commands.push({\n method: this.getMethodSave(),\n params: {\n options\n }\n })\n\n if (Type.isObject(optionsPull)) {\n commands.push({\n method: 'pull.application.event.add',\n params: {\n COMMAND: optionsPull?.command,\n PARAMS: optionsPull?.params,\n MODULE_ID: optionsPull?.moduleId\n }\n })\n }\n\n return this._b24.callBatch(commands, true)\n }\n\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
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 { AbstractHelper } from './abstract-helper.mjs';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ class PaymentManager extends AbstractHelper {
14
+ static {
15
+ __name(this, "PaymentManager");
16
+ }
17
+ _data = null;
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ async initData(data) {
22
+ this._data = data;
23
+ }
24
+ get data() {
25
+ if (null === this._data) {
26
+ throw new Error("PaymentManager.data not initialized");
27
+ }
28
+ return this._data;
29
+ }
30
+ }
31
+
32
+ export { PaymentManager };
33
+ //# sourceMappingURL=payment-manager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-manager.mjs","sources":["../../../src/helper/payment-manager.ts"],"sourcesContent":["import { AbstractHelper } from './abstract-helper'\nimport type { TypePayment } from '../types/b24-helper'\n\nexport class PaymentManager extends AbstractHelper {\n protected override _data: null | TypePayment = null\n\n /**\n * @inheritDoc\n */\n override async initData(data: TypePayment): Promise<void> {\n this._data = data\n }\n\n get data(): TypePayment {\n if (null === this._data) {\n throw new Error('PaymentManager.data not initialized')\n }\n\n return this._data\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAGO,MAAM,uBAAuB,cAAA,CAAe;AAAA,EAHnD;AAGmD,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EAC9B,KAAA,GAA4B,IAAA;AAAA;AAAA;AAAA;AAAA,EAK/C,MAAe,SAAS,IAAA,EAAkC;AACxD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,EACf;AAAA,EAEA,IAAI,IAAA,GAAoB;AACtB,IAAA,IAAI,IAAA,KAAS,KAAK,KAAA,EAAO;AACvB,MAAA,MAAM,IAAI,MAAM,qCAAqC,CAAA;AAAA,IACvD;AAEA,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AACF;;;;"}
@@ -0,0 +1,33 @@
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 { AbstractHelper } from './abstract-helper.mjs';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ class ProfileManager extends AbstractHelper {
14
+ static {
15
+ __name(this, "ProfileManager");
16
+ }
17
+ _data = null;
18
+ /**
19
+ * @inheritDoc
20
+ */
21
+ async initData(data) {
22
+ this._data = data;
23
+ }
24
+ get data() {
25
+ if (null === this._data) {
26
+ throw new Error("ProfileManager.data not initialized");
27
+ }
28
+ return this._data;
29
+ }
30
+ }
31
+
32
+ export { ProfileManager };
33
+ //# sourceMappingURL=profile-manager.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"profile-manager.mjs","sources":["../../../src/helper/profile-manager.ts"],"sourcesContent":["import { AbstractHelper } from './abstract-helper'\nimport type { TypeUser } from '../types/b24-helper'\n\nexport class ProfileManager extends AbstractHelper {\n protected override _data: null | TypeUser = null\n\n /**\n * @inheritDoc\n */\n override async initData(data: TypeUser): Promise<void> {\n this._data = data\n }\n\n get data(): TypeUser {\n if (null === this._data) {\n throw new Error('ProfileManager.data not initialized')\n }\n\n return this._data\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAGO,MAAM,uBAAuB,cAAA,CAAe;AAAA,EAHnD;AAGmD,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EAC9B,KAAA,GAAyB,IAAA;AAAA;AAAA;AAAA;AAAA,EAK5C,MAAe,SAAS,IAAA,EAA+B;AACrD,IAAA,IAAA,CAAK,KAAA,GAAQ,IAAA;AAAA,EACf;AAAA,EAEA,IAAI,IAAA,GAAiB;AACnB,IAAA,IAAI,IAAA,KAAS,KAAK,KAAA,EAAO;AACvB,MAAA,MAAM,IAAI,MAAM,qCAAqC,CAAA;AAAA,IACvD;AAEA,IAAA,OAAO,IAAA,CAAK,KAAA;AAAA,EACd;AACF;;;;"}
@@ -0,0 +1,84 @@
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 { B24HelperManager } from './helper-manager.mjs';
10
+ import { LoadDataType } from '../types/b24-helper.mjs';
11
+
12
+ var __defProp = Object.defineProperty;
13
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
14
+ const useB24Helper = /* @__PURE__ */ __name(() => {
15
+ let $isInitB24Helper = false;
16
+ let $isInitPullClient = false;
17
+ let $b24Helper = null;
18
+ const initB24Helper = /* @__PURE__ */ __name(async ($b24, dataTypes = [LoadDataType.App, LoadDataType.Profile]) => {
19
+ if (null === $b24Helper) {
20
+ $b24Helper = new B24HelperManager($b24);
21
+ }
22
+ if ($isInitB24Helper) {
23
+ return $b24Helper;
24
+ }
25
+ return $b24Helper.loadData(dataTypes).then(() => {
26
+ $isInitB24Helper = true;
27
+ return $b24Helper;
28
+ });
29
+ }, "initB24Helper");
30
+ const destroyB24Helper = /* @__PURE__ */ __name(() => {
31
+ $b24Helper?.destroy();
32
+ $b24Helper = null;
33
+ $isInitB24Helper = false;
34
+ $isInitPullClient = false;
35
+ }, "destroyB24Helper");
36
+ const isInitB24Helper = /* @__PURE__ */ __name(() => {
37
+ return $isInitB24Helper;
38
+ }, "isInitB24Helper");
39
+ const getB24Helper = /* @__PURE__ */ __name(() => {
40
+ if (null === $b24Helper) {
41
+ throw new Error(
42
+ "B24HelperManager is not initialized. You need to call initB24Helper first."
43
+ );
44
+ }
45
+ return $b24Helper;
46
+ }, "getB24Helper");
47
+ const usePullClient = /* @__PURE__ */ __name(() => {
48
+ if (null === $b24Helper) {
49
+ throw new Error(
50
+ "B24HelperManager is not initialized. You need to call initB24Helper first."
51
+ );
52
+ }
53
+ $b24Helper.usePullClient();
54
+ $isInitPullClient = true;
55
+ }, "usePullClient");
56
+ const useSubscribePullClient = /* @__PURE__ */ __name((callback, moduleId = "application") => {
57
+ if (!$isInitPullClient) {
58
+ throw new Error(
59
+ "PullClient is not initialized. You need to call usePullClient first."
60
+ );
61
+ }
62
+ $b24Helper?.subscribePullClient(callback, moduleId);
63
+ }, "useSubscribePullClient");
64
+ const startPullClient = /* @__PURE__ */ __name(() => {
65
+ if (!$isInitPullClient) {
66
+ throw new Error(
67
+ "PullClient is not initialized. You need to call usePullClient first."
68
+ );
69
+ }
70
+ $b24Helper?.startPullClient();
71
+ }, "startPullClient");
72
+ return {
73
+ initB24Helper,
74
+ isInitB24Helper,
75
+ destroyB24Helper,
76
+ getB24Helper,
77
+ usePullClient,
78
+ useSubscribePullClient,
79
+ startPullClient
80
+ };
81
+ }, "useB24Helper");
82
+
83
+ export { useB24Helper };
84
+ //# sourceMappingURL=use-b24-helper.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-b24-helper.mjs","sources":["../../../src/helper/use-b24-helper.ts"],"sourcesContent":["import { B24HelperManager } from './helper-manager'\nimport { LoadDataType } from '../types/b24-helper'\nimport type { TypeB24 } from '../types/b24'\nimport type { TypePullMessage } from '../types/pull'\n\nexport const useB24Helper = () => {\n let $isInitB24Helper = false\n let $isInitPullClient = false\n\n let $b24Helper: null | B24HelperManager = null\n\n const initB24Helper = async (\n $b24: TypeB24,\n dataTypes: LoadDataType[] = [LoadDataType.App, LoadDataType.Profile]\n ): Promise<B24HelperManager> => {\n if (null === $b24Helper) {\n $b24Helper = new B24HelperManager($b24)\n }\n\n if ($isInitB24Helper) {\n return $b24Helper as B24HelperManager\n }\n\n return $b24Helper.loadData(dataTypes).then(() => {\n $isInitB24Helper = true\n return $b24Helper as B24HelperManager\n })\n }\n\n const destroyB24Helper = () => {\n $b24Helper?.destroy()\n $b24Helper = null\n $isInitB24Helper = false\n $isInitPullClient = false\n }\n\n const isInitB24Helper = () => {\n return $isInitB24Helper\n }\n\n const getB24Helper = (): B24HelperManager => {\n if (null === $b24Helper) {\n throw new Error(\n 'B24HelperManager is not initialized. You need to call initB24Helper first.'\n )\n }\n\n return $b24Helper\n }\n\n const usePullClient = () => {\n if (null === $b24Helper) {\n throw new Error(\n 'B24HelperManager is not initialized. You need to call initB24Helper first.'\n )\n }\n\n $b24Helper.usePullClient()\n $isInitPullClient = true\n }\n\n const useSubscribePullClient = (\n callback: (message: TypePullMessage) => void,\n moduleId: string = 'application'\n ) => {\n if (!$isInitPullClient) {\n throw new Error(\n 'PullClient is not initialized. You need to call usePullClient first.'\n )\n }\n\n $b24Helper?.subscribePullClient(callback, moduleId)\n }\n\n const startPullClient = () => {\n if (!$isInitPullClient) {\n throw new Error(\n 'PullClient is not initialized. You need to call usePullClient first.'\n )\n }\n\n $b24Helper?.startPullClient()\n }\n\n return {\n initB24Helper,\n isInitB24Helper,\n destroyB24Helper,\n getB24Helper,\n usePullClient,\n useSubscribePullClient,\n startPullClient\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAKO,MAAM,+BAAe,MAAA,CAAA,MAAM;AAChC,EAAA,IAAI,gBAAA,GAAmB,KAAA;AACvB,EAAA,IAAI,iBAAA,GAAoB,KAAA;AAExB,EAAA,IAAI,UAAA,GAAsC,IAAA;AAE1C,EAAA,MAAM,aAAA,iCACJ,IAAA,EACA,SAAA,GAA4B,CAAC,YAAA,CAAa,GAAA,EAAK,YAAA,CAAa,OAAO,CAAA,KACrC;AAC9B,IAAA,IAAI,SAAS,UAAA,EAAY;AACvB,MAAA,UAAA,GAAa,IAAI,iBAAiB,IAAI,CAAA;AAAA,IACxC;AAEA,IAAA,IAAI,gBAAA,EAAkB;AACpB,MAAA,OAAO,UAAA;AAAA,IACT;AAEA,IAAA,OAAO,UAAA,CAAW,QAAA,CAAS,SAAS,CAAA,CAAE,KAAK,MAAM;AAC/C,MAAA,gBAAA,GAAmB,IAAA;AACnB,MAAA,OAAO,UAAA;AAAA,IACT,CAAC,CAAA;AAAA,EACH,CAAA,EAhBsB,eAAA,CAAA;AAkBtB,EAAA,MAAM,mCAAmB,MAAA,CAAA,MAAM;AAC7B,IAAA,UAAA,EAAY,OAAA,EAAQ;AACpB,IAAA,UAAA,GAAa,IAAA;AACb,IAAA,gBAAA,GAAmB,KAAA;AACnB,IAAA,iBAAA,GAAoB,KAAA;AAAA,EACtB,CAAA,EALyB,kBAAA,CAAA;AAOzB,EAAA,MAAM,kCAAkB,MAAA,CAAA,MAAM;AAC5B,IAAA,OAAO,gBAAA;AAAA,EACT,CAAA,EAFwB,iBAAA,CAAA;AAIxB,EAAA,MAAM,+BAAe,MAAA,CAAA,MAAwB;AAC3C,IAAA,IAAI,SAAS,UAAA,EAAY;AACvB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,OAAO,UAAA;AAAA,EACT,CAAA,EARqB,cAAA,CAAA;AAUrB,EAAA,MAAM,gCAAgB,MAAA,CAAA,MAAM;AAC1B,IAAA,IAAI,SAAS,UAAA,EAAY;AACvB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,UAAA,CAAW,aAAA,EAAc;AACzB,IAAA,iBAAA,GAAoB,IAAA;AAAA,EACtB,CAAA,EATsB,eAAA,CAAA;AAWtB,EAAA,MAAM,sBAAA,mBAAyB,MAAA,CAAA,CAC7B,QAAA,EACA,QAAA,GAAmB,aAAA,KAChB;AACH,IAAA,IAAI,CAAC,iBAAA,EAAmB;AACtB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,UAAA,EAAY,mBAAA,CAAoB,UAAU,QAAQ,CAAA;AAAA,EACpD,CAAA,EAX+B,wBAAA,CAAA;AAa/B,EAAA,MAAM,kCAAkB,MAAA,CAAA,MAAM;AAC5B,IAAA,IAAI,CAAC,iBAAA,EAAmB;AACtB,MAAA,MAAM,IAAI,KAAA;AAAA,QACR;AAAA,OACF;AAAA,IACF;AAEA,IAAA,UAAA,EAAY,eAAA,EAAgB;AAAA,EAC9B,CAAA,EARwB,iBAAA,CAAA;AAUxB,EAAA,OAAO;AAAA,IACL,aAAA;AAAA,IACA,eAAA;AAAA,IACA,gBAAA;AAAA,IACA,YAAA;AAAA,IACA,aAAA;AAAA,IACA,sBAAA;AAAA,IACA;AAAA,GACF;AACF,CAAA,EAxF4B,cAAA;;;;"}
@@ -0,0 +1,77 @@
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 { ApiVersion } from '../types/b24.mjs';
10
+
11
+ var __defProp = Object.defineProperty;
12
+ var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
13
+ class AuthHookManager {
14
+ static {
15
+ __name(this, "AuthHookManager");
16
+ }
17
+ #b24HookParams;
18
+ #domain;
19
+ #b24TargetRest;
20
+ #b24Target;
21
+ #b24TargetRestWithPath;
22
+ constructor(b24HookParams) {
23
+ this.#b24HookParams = Object.freeze(Object.assign({}, b24HookParams));
24
+ this.#domain = this.#b24HookParams.b24Url.replaceAll("https://", "").replaceAll("http://", "").replace(/:(80|443)$/, "");
25
+ this.#b24TargetRest = `https://${this.#domain}/rest`;
26
+ this.#b24Target = `https://${this.#domain}`;
27
+ this.#b24TargetRestWithPath = /* @__PURE__ */ new Map();
28
+ this.#b24TargetRestWithPath.set(ApiVersion.v2, `${this.#b24TargetRest}/${this.#b24HookParams.userId}/${this.#b24HookParams.secret}`);
29
+ this.#b24TargetRestWithPath.set(ApiVersion.v3, `${this.#b24TargetRest}/api/${this.#b24HookParams.userId}/${this.#b24HookParams.secret}`);
30
+ }
31
+ /**
32
+ * @see Http.#prepareParams
33
+ */
34
+ getAuthData() {
35
+ return {
36
+ access_token: this.#b24HookParams.secret,
37
+ refresh_token: "hook",
38
+ expires: 0,
39
+ expires_in: 0,
40
+ domain: this.#domain,
41
+ member_id: this.#domain
42
+ };
43
+ }
44
+ refreshAuth() {
45
+ return Promise.resolve(this.getAuthData());
46
+ }
47
+ getUniq(prefix) {
48
+ const authData = this.getAuthData();
49
+ if (authData === false) {
50
+ throw new Error("AuthData not init");
51
+ }
52
+ return [prefix, authData.member_id].join("_");
53
+ }
54
+ /**
55
+ * @inheritDoc
56
+ */
57
+ getTargetOrigin() {
58
+ return `${this.#b24Target}`;
59
+ }
60
+ /**
61
+ * Get the account address BX24 with path
62
+ * - ver2 `https://your_domain.bitrix24.com/rest/{id}/{webhook}`
63
+ * - ver3` https://your_domain.bitrix24.com/rest/api/{id}/{webhook}`
64
+ */
65
+ getTargetOriginWithPath() {
66
+ return this.#b24TargetRestWithPath;
67
+ }
68
+ /**
69
+ * We believe that hooks are created only by the admin
70
+ */
71
+ get isAdmin() {
72
+ return true;
73
+ }
74
+ }
75
+
76
+ export { AuthHookManager };
77
+ //# sourceMappingURL=auth.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.mjs","sources":["../../../src/hook/auth.ts"],"sourcesContent":["import type { AuthActions, AuthData, B24HookParams } from '../types/auth'\nimport { ApiVersion } from '../types/b24'\n\n/**\n * Authorization Manager\n */\nexport class AuthHookManager implements AuthActions {\n #b24HookParams: B24HookParams\n readonly #domain: string\n readonly #b24TargetRest: string\n readonly #b24Target: string\n readonly #b24TargetRestWithPath: Map<ApiVersion, string>\n\n constructor(\n b24HookParams: B24HookParams\n ) {\n this.#b24HookParams = Object.freeze(Object.assign({}, b24HookParams))\n this.#domain = this.#b24HookParams.b24Url\n .replaceAll('https://', '')\n .replaceAll('http://', '')\n .replace(/:(80|443)$/, '')\n\n this.#b24TargetRest = `https://${this.#domain}/rest`\n this.#b24Target = `https://${this.#domain}`\n\n this.#b24TargetRestWithPath = new Map()\n this.#b24TargetRestWithPath.set(ApiVersion.v2, `${this.#b24TargetRest}/${this.#b24HookParams.userId}/${this.#b24HookParams.secret}`)\n this.#b24TargetRestWithPath.set(ApiVersion.v3, `${this.#b24TargetRest}/api/${this.#b24HookParams.userId}/${this.#b24HookParams.secret}`)\n }\n\n /**\n * @see Http.#prepareParams\n */\n public getAuthData(): false | AuthData {\n return {\n access_token: this.#b24HookParams.secret,\n refresh_token: 'hook',\n expires: 0,\n expires_in: 0,\n domain: this.#domain,\n member_id: this.#domain\n }\n }\n\n public refreshAuth(): Promise<AuthData> {\n return Promise.resolve(this.getAuthData() as AuthData)\n }\n\n public getUniq(prefix: string): string {\n const authData = this.getAuthData()\n if (authData === false) {\n throw new Error('AuthData not init')\n }\n return [prefix, authData.member_id].join('_')\n }\n\n /**\n * @inheritDoc\n */\n public getTargetOrigin(): string {\n return `${this.#b24Target}`\n }\n\n /**\n * Get the account address BX24 with path\n * - ver2 `https://your_domain.bitrix24.com/rest/{id}/{webhook}`\n * - ver3` https://your_domain.bitrix24.com/rest/api/{id}/{webhook}`\n */\n public getTargetOriginWithPath(): Map<ApiVersion, string> {\n return this.#b24TargetRestWithPath\n }\n\n /**\n * We believe that hooks are created only by the admin\n */\n get isAdmin(): boolean {\n return true\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAMO,MAAM,eAAA,CAAuC;AAAA,EANpD;AAMoD,IAAA,MAAA,CAAA,IAAA,EAAA,iBAAA,CAAA;AAAA;AAAA,EAClD,cAAA;AAAA,EACS,OAAA;AAAA,EACA,cAAA;AAAA,EACA,UAAA;AAAA,EACA,sBAAA;AAAA,EAET,YACE,aAAA,EACA;AACA,IAAA,IAAA,CAAK,cAAA,GAAiB,OAAO,MAAA,CAAO,MAAA,CAAO,OAAO,EAAC,EAAG,aAAa,CAAC,CAAA;AACpE,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA,CAAK,cAAA,CAAe,MAAA,CAChC,WAAW,UAAA,EAAY,EAAE,CAAA,CACzB,UAAA,CAAW,SAAA,EAAW,EAAE,CAAA,CACxB,OAAA,CAAQ,cAAc,EAAE,CAAA;AAE3B,IAAA,IAAA,CAAK,cAAA,GAAiB,CAAA,QAAA,EAAW,IAAA,CAAK,OAAO,CAAA,KAAA,CAAA;AAC7C,IAAA,IAAA,CAAK,UAAA,GAAa,CAAA,QAAA,EAAW,IAAA,CAAK,OAAO,CAAA,CAAA;AAEzC,IAAA,IAAA,CAAK,sBAAA,uBAA6B,GAAA,EAAI;AACtC,IAAA,IAAA,CAAK,sBAAA,CAAuB,GAAA,CAAI,UAAA,CAAW,EAAA,EAAI,GAAG,IAAA,CAAK,cAAc,CAAA,CAAA,EAAI,IAAA,CAAK,eAAe,MAAM,CAAA,CAAA,EAAI,IAAA,CAAK,cAAA,CAAe,MAAM,CAAA,CAAE,CAAA;AACnI,IAAA,IAAA,CAAK,sBAAA,CAAuB,GAAA,CAAI,UAAA,CAAW,EAAA,EAAI,GAAG,IAAA,CAAK,cAAc,CAAA,KAAA,EAAQ,IAAA,CAAK,eAAe,MAAM,CAAA,CAAA,EAAI,IAAA,CAAK,cAAA,CAAe,MAAM,CAAA,CAAE,CAAA;AAAA,EACzI;AAAA;AAAA;AAAA;AAAA,EAKO,WAAA,GAAgC;AACrC,IAAA,OAAO;AAAA,MACL,YAAA,EAAc,KAAK,cAAA,CAAe,MAAA;AAAA,MAClC,aAAA,EAAe,MAAA;AAAA,MACf,OAAA,EAAS,CAAA;AAAA,MACT,UAAA,EAAY,CAAA;AAAA,MACZ,QAAQ,IAAA,CAAK,OAAA;AAAA,MACb,WAAW,IAAA,CAAK;AAAA,KAClB;AAAA,EACF;AAAA,EAEO,WAAA,GAAiC;AACtC,IAAA,OAAO,OAAA,CAAQ,OAAA,CAAQ,IAAA,CAAK,WAAA,EAAyB,CAAA;AAAA,EACvD;AAAA,EAEO,QAAQ,MAAA,EAAwB;AACrC,IAAA,MAAM,QAAA,GAAW,KAAK,WAAA,EAAY;AAClC,IAAA,IAAI,aAAa,KAAA,EAAO;AACtB,MAAA,MAAM,IAAI,MAAM,mBAAmB,CAAA;AAAA,IACrC;AACA,IAAA,OAAO,CAAC,MAAA,EAAQ,QAAA,CAAS,SAAS,CAAA,CAAE,KAAK,GAAG,CAAA;AAAA,EAC9C;AAAA;AAAA;AAAA;AAAA,EAKO,eAAA,GAA0B;AAC/B,IAAA,OAAO,CAAA,EAAG,KAAK,UAAU,CAAA,CAAA;AAAA,EAC3B;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOO,uBAAA,GAAmD;AACxD,IAAA,OAAO,IAAA,CAAK,sBAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA,EAKA,IAAI,OAAA,GAAmB;AACrB,IAAA,OAAO,IAAA;AAAA,EACT;AACF;;;;"}