@bitrix24/b24jssdk 1.0.3 → 1.0.4

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 (135) hide show
  1. package/dist/esm/_virtual/_commonjsHelpers.mjs +1 -1
  2. package/dist/esm/_virtual/protobuf.mjs +1 -1
  3. package/dist/esm/_virtual/protobuf2.mjs +1 -1
  4. package/dist/esm/core/abstract-b24.mjs +1 -1
  5. package/dist/esm/core/actions/abstract-action.mjs +1 -1
  6. package/dist/esm/core/actions/abstract-batch.mjs +1 -1
  7. package/dist/esm/core/actions/manager.mjs +1 -1
  8. package/dist/esm/core/actions/v2/batch-by-chunk.mjs +1 -1
  9. package/dist/esm/core/actions/v2/batch.mjs +1 -1
  10. package/dist/esm/core/actions/v2/call-list.mjs +1 -1
  11. package/dist/esm/core/actions/v2/call.mjs +1 -1
  12. package/dist/esm/core/actions/v2/fetch-list.mjs +1 -1
  13. package/dist/esm/core/actions/v2/manager-v2.mjs +1 -1
  14. package/dist/esm/core/actions/v3/batch-by-chunk.mjs +1 -1
  15. package/dist/esm/core/actions/v3/batch.mjs +1 -1
  16. package/dist/esm/core/actions/v3/call-list.mjs +1 -1
  17. package/dist/esm/core/actions/v3/call.mjs +1 -1
  18. package/dist/esm/core/actions/v3/fetch-list.mjs +1 -1
  19. package/dist/esm/core/actions/v3/manager-v3.mjs +1 -1
  20. package/dist/esm/core/http/abstract-http.mjs +2 -2
  21. package/dist/esm/core/http/ajax-error.mjs +1 -1
  22. package/dist/esm/core/http/ajax-result.mjs +1 -1
  23. package/dist/esm/core/http/limiters/adaptive-delayer.mjs +1 -1
  24. package/dist/esm/core/http/limiters/manager.mjs +1 -1
  25. package/dist/esm/core/http/limiters/operating-limiter.mjs +1 -1
  26. package/dist/esm/core/http/limiters/params-factory.mjs +1 -1
  27. package/dist/esm/core/http/limiters/rate-limiter.mjs +1 -1
  28. package/dist/esm/core/http/v2.mjs +2 -2
  29. package/dist/esm/core/http/v3.mjs +2 -2
  30. package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +1 -1
  31. package/dist/esm/core/interaction/batch/parse-row.mjs +1 -1
  32. package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +1 -1
  33. package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +1 -1
  34. package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +1 -1
  35. package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +1 -1
  36. package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +1 -1
  37. package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +1 -1
  38. package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +1 -1
  39. package/dist/esm/core/interaction/batch/v2.mjs +1 -1
  40. package/dist/esm/core/interaction/batch/v3.mjs +1 -1
  41. package/dist/esm/core/language/list.mjs +1 -1
  42. package/dist/esm/core/request-id-generator.mjs +1 -1
  43. package/dist/esm/core/result.mjs +1 -1
  44. package/dist/esm/core/sdk-error.mjs +1 -1
  45. package/dist/esm/core/tools/abstract-tool.mjs +1 -1
  46. package/dist/esm/core/tools/healthcheck.mjs +1 -1
  47. package/dist/esm/core/tools/manager.mjs +1 -1
  48. package/dist/esm/core/tools/ping.mjs +1 -1
  49. package/dist/esm/core/version-manager.mjs +1 -1
  50. package/dist/esm/frame/auth.mjs +1 -1
  51. package/dist/esm/frame/b24.mjs +1 -1
  52. package/dist/esm/frame/dialog.mjs +1 -1
  53. package/dist/esm/frame/frame.mjs +1 -1
  54. package/dist/esm/frame/message/commands.mjs +1 -1
  55. package/dist/esm/frame/message/controller.mjs +1 -1
  56. package/dist/esm/frame/options.mjs +1 -1
  57. package/dist/esm/frame/parent.mjs +1 -1
  58. package/dist/esm/frame/placement.mjs +1 -1
  59. package/dist/esm/frame/slider.mjs +1 -1
  60. package/dist/esm/helper/abstract-helper.mjs +1 -1
  61. package/dist/esm/helper/app-manager.mjs +1 -1
  62. package/dist/esm/helper/currency-manager.mjs +1 -1
  63. package/dist/esm/helper/helper-manager.mjs +10 -3
  64. package/dist/esm/helper/helper-manager.mjs.map +1 -1
  65. package/dist/esm/helper/license-manager.mjs +1 -1
  66. package/dist/esm/helper/options-manager.mjs +13 -6
  67. package/dist/esm/helper/options-manager.mjs.map +1 -1
  68. package/dist/esm/helper/payment-manager.mjs +1 -1
  69. package/dist/esm/helper/profile-manager.mjs +1 -1
  70. package/dist/esm/helper/use-b24-helper.mjs +5 -6
  71. package/dist/esm/helper/use-b24-helper.mjs.map +1 -1
  72. package/dist/esm/hook/auth.mjs +1 -1
  73. package/dist/esm/hook/b24.mjs +1 -1
  74. package/dist/esm/index.d.mts +3 -3
  75. package/dist/esm/index.d.ts +3 -3
  76. package/dist/esm/index.mjs +1 -1
  77. package/dist/esm/loader-b24frame.mjs +1 -1
  78. package/dist/esm/logger/abstract-logger.mjs +1 -1
  79. package/dist/esm/logger/browser.mjs +1 -1
  80. package/dist/esm/logger/formatter/abstract-formatter.mjs +1 -1
  81. package/dist/esm/logger/formatter/json-formatter.mjs +1 -1
  82. package/dist/esm/logger/formatter/line-formatter.mjs +1 -1
  83. package/dist/esm/logger/formatter/telegram-formatter.mjs +1 -1
  84. package/dist/esm/logger/handler/abstract-handler.mjs +1 -1
  85. package/dist/esm/logger/handler/consola-adapter.mjs +1 -1
  86. package/dist/esm/logger/handler/console-handler.mjs +1 -1
  87. package/dist/esm/logger/handler/console-v2-handler.mjs +1 -1
  88. package/dist/esm/logger/handler/memory-handler.mjs +1 -1
  89. package/dist/esm/logger/handler/stream-handler.mjs +1 -1
  90. package/dist/esm/logger/handler/telegram-handler.mjs +1 -1
  91. package/dist/esm/logger/handler/winston-adapter.mjs +1 -1
  92. package/dist/esm/logger/logger-factory.mjs +1 -1
  93. package/dist/esm/logger/logger.mjs +1 -1
  94. package/dist/esm/logger/null-logger.mjs +1 -1
  95. package/dist/esm/logger/processor/memory-usage-processor.mjs +1 -1
  96. package/dist/esm/logger/processor/pid-processor.mjs +1 -1
  97. package/dist/esm/oauth/auth.mjs +1 -1
  98. package/dist/esm/oauth/b24.mjs +1 -1
  99. package/dist/esm/oauth/refresh-token-error.mjs +1 -1
  100. package/dist/esm/pullClient/abstract-connector.mjs +1 -1
  101. package/dist/esm/pullClient/channel-manager.mjs +1 -1
  102. package/dist/esm/pullClient/client.mjs +1 -1
  103. package/dist/esm/pullClient/errors.mjs +1 -1
  104. package/dist/esm/pullClient/json-rpc.mjs +1 -1
  105. package/dist/esm/pullClient/long-polling-connector.mjs +1 -1
  106. package/dist/esm/pullClient/protobuf/index.mjs +1 -1
  107. package/dist/esm/pullClient/protobuf/model.mjs +1 -1
  108. package/dist/esm/pullClient/protobuf/protobuf.mjs +1 -1
  109. package/dist/esm/pullClient/shared-config.mjs +1 -1
  110. package/dist/esm/pullClient/storage-manager.mjs +1 -1
  111. package/dist/esm/pullClient/web-socket-connector.mjs +1 -1
  112. package/dist/esm/tools/browser.mjs +1 -1
  113. package/dist/esm/tools/environment.mjs +1 -1
  114. package/dist/esm/tools/formatters/iban.mjs +1 -1
  115. package/dist/esm/tools/formatters/numbers.mjs +1 -1
  116. package/dist/esm/tools/index.mjs +1 -1
  117. package/dist/esm/tools/scroll-size.mjs +1 -1
  118. package/dist/esm/tools/text.mjs +1 -1
  119. package/dist/esm/tools/type.mjs +1 -1
  120. package/dist/esm/tools/use-formatters.mjs +1 -1
  121. package/dist/esm/tools/uuidv7.mjs +1 -1
  122. package/dist/esm/types/b24-helper.mjs +1 -1
  123. package/dist/esm/types/b24.mjs +1 -1
  124. package/dist/esm/types/bizproc/index.mjs +1 -1
  125. package/dist/esm/types/catalog/index.mjs +1 -1
  126. package/dist/esm/types/common.mjs +1 -1
  127. package/dist/esm/types/crm/entity-type.mjs +1 -1
  128. package/dist/esm/types/crm/productrow.mjs +1 -1
  129. package/dist/esm/types/logger.mjs +1 -1
  130. package/dist/esm/types/pull.mjs +1 -1
  131. package/dist/umd/index.js +29 -16
  132. package/dist/umd/index.js.map +1 -1
  133. package/dist/umd/index.min.js +7 -7
  134. package/dist/umd/index.min.js.map +1 -1
  135. package/package.json +1 -1
@@ -1 +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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"}
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'\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 requestId: string = `helper-load-data`\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.actions.v2.batch.make({\n calls: batchRequest,\n options: {\n isHaltOnError: true,\n returnAjaxResult: false,\n requestId\n }\n })\n const data = response.getData()! as Record<string, any>\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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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -169,16 +169,16 @@ class OptionsManager extends AbstractHelper {
169
169
  return "user.option.set";
170
170
  }
171
171
  }
172
- async save(options, optionsPull) {
173
- const commands = [];
174
- commands.push({
172
+ async save(options, optionsPull, requestId) {
173
+ const calls = [];
174
+ calls.push({
175
175
  method: this.getMethodSave(),
176
176
  params: {
177
177
  options
178
178
  }
179
179
  });
180
180
  if (Type.isObject(optionsPull)) {
181
- commands.push({
181
+ calls.push({
182
182
  method: "pull.application.event.add",
183
183
  params: {
184
184
  COMMAND: optionsPull?.command,
@@ -187,7 +187,14 @@ class OptionsManager extends AbstractHelper {
187
187
  }
188
188
  });
189
189
  }
190
- return this._b24.callBatch(commands, true);
190
+ return this._b24.actions.v2.batch.make({
191
+ calls,
192
+ options: {
193
+ isHaltOnError: true,
194
+ returnAjaxResult: false,
195
+ requestId
196
+ }
197
+ });
191
198
  }
192
199
  // endregion ////
193
200
  }
@@ -1 +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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"}
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 requestId?: string\n ): Promise<Result> {\n const calls = []\n calls.push({\n method: this.getMethodSave(),\n params: {\n options\n }\n })\n\n if (Type.isObject(optionsPull)) {\n calls.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.actions.v2.batch.make({\n calls,\n options: {\n isHaltOnError: true,\n returnAjaxResult: false,\n requestId\n }\n })\n }\n\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -15,17 +15,16 @@ const useB24Helper = /* @__PURE__ */ __name(() => {
15
15
  let $isInitB24Helper = false;
16
16
  let $isInitPullClient = false;
17
17
  let $b24Helper = null;
18
- const initB24Helper = /* @__PURE__ */ __name(async ($b24, dataTypes = [LoadDataType.App, LoadDataType.Profile]) => {
18
+ const initB24Helper = /* @__PURE__ */ __name(async ($b24, dataTypes = [LoadDataType.App, LoadDataType.Profile], requestId = `helper-load-data`) => {
19
19
  if (null === $b24Helper) {
20
20
  $b24Helper = new B24HelperManager($b24);
21
21
  }
22
22
  if ($isInitB24Helper) {
23
23
  return $b24Helper;
24
24
  }
25
- return $b24Helper.loadData(dataTypes).then(() => {
26
- $isInitB24Helper = true;
27
- return $b24Helper;
28
- });
25
+ await $b24Helper.loadData(dataTypes, requestId);
26
+ $isInitB24Helper = true;
27
+ return $b24Helper;
29
28
  }, "initB24Helper");
30
29
  const destroyB24Helper = /* @__PURE__ */ __name(() => {
31
30
  $b24Helper?.destroy();
@@ -1 +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;;;;"}
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 requestId: string = `helper-load-data`\n ): Promise<B24HelperManager> => {\n if (null === $b24Helper) {\n $b24Helper = new B24HelperManager($b24)\n }\n\n if ($isInitB24Helper) {\n return $b24Helper\n }\n\n await $b24Helper.loadData(dataTypes, requestId)\n\n $isInitB24Helper = true\n return $b24Helper\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,mBAAgB,MAAA,CAAA,OACpB,IAAA,EACA,SAAA,GAA4B,CAAC,YAAA,CAAa,GAAA,EAAK,YAAA,CAAa,OAAO,CAAA,EACnE,SAAA,GAAoB,CAAA,gBAAA,CAAA,KACU;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,MAAM,UAAA,CAAW,QAAA,CAAS,SAAA,EAAW,SAAS,CAAA;AAE9C,IAAA,gBAAA,GAAmB,IAAA;AACnB,IAAA,OAAO,UAAA;AAAA,EACT,CAAA,EAjBsB,eAAA,CAAA;AAmBtB,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,EAzF4B,cAAA;;;;"}
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -5327,7 +5327,7 @@ declare class OptionsManager extends AbstractHelper {
5327
5327
  moduleId: string;
5328
5328
  command: string;
5329
5329
  params: any;
5330
- }): Promise<Result>;
5330
+ }, requestId?: string): Promise<Result>;
5331
5331
  }
5332
5332
 
5333
5333
  /**
@@ -5351,7 +5351,7 @@ declare class B24HelperManager {
5351
5351
  setLogger(logger: LoggerInterface): void;
5352
5352
  getLogger(): LoggerInterface;
5353
5353
  destroy(): void;
5354
- loadData(dataTypes?: LoadDataType[]): Promise<void>;
5354
+ loadData(dataTypes?: LoadDataType[], requestId?: string): Promise<void>;
5355
5355
  private parseUserData;
5356
5356
  private parseAppData;
5357
5357
  private parsePaymentData;
@@ -5393,7 +5393,7 @@ declare class B24HelperManager {
5393
5393
  }
5394
5394
 
5395
5395
  declare const useB24Helper: () => {
5396
- initB24Helper: ($b24: TypeB24, dataTypes?: LoadDataType[]) => Promise<B24HelperManager>;
5396
+ initB24Helper: ($b24: TypeB24, dataTypes?: LoadDataType[], requestId?: string) => Promise<B24HelperManager>;
5397
5397
  isInitB24Helper: () => boolean;
5398
5398
  destroyB24Helper: () => void;
5399
5399
  getB24Helper: () => B24HelperManager;
@@ -5327,7 +5327,7 @@ declare class OptionsManager extends AbstractHelper {
5327
5327
  moduleId: string;
5328
5328
  command: string;
5329
5329
  params: any;
5330
- }): Promise<Result>;
5330
+ }, requestId?: string): Promise<Result>;
5331
5331
  }
5332
5332
 
5333
5333
  /**
@@ -5351,7 +5351,7 @@ declare class B24HelperManager {
5351
5351
  setLogger(logger: LoggerInterface): void;
5352
5352
  getLogger(): LoggerInterface;
5353
5353
  destroy(): void;
5354
- loadData(dataTypes?: LoadDataType[]): Promise<void>;
5354
+ loadData(dataTypes?: LoadDataType[], requestId?: string): Promise<void>;
5355
5355
  private parseUserData;
5356
5356
  private parseAppData;
5357
5357
  private parsePaymentData;
@@ -5393,7 +5393,7 @@ declare class B24HelperManager {
5393
5393
  }
5394
5394
 
5395
5395
  declare const useB24Helper: () => {
5396
- initB24Helper: ($b24: TypeB24, dataTypes?: LoadDataType[]) => Promise<B24HelperManager>;
5396
+ initB24Helper: ($b24: TypeB24, dataTypes?: LoadDataType[], requestId?: string) => Promise<B24HelperManager>;
5397
5397
  isInitB24Helper: () => boolean;
5398
5398
  destroyB24Helper: () => void;
5399
5399
  getB24Helper: () => B24HelperManager;
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk
@@ -1,6 +1,6 @@
1
1
  /**
2
2
  * @package @bitrix24/b24jssdk
3
- * @version 1.0.3
3
+ * @version 1.0.4
4
4
  * @copyright (c) 2026 Bitrix24
5
5
  * @license MIT
6
6
  * @see https://github.com/bitrix24/b24jssdk