{"version":3,"file":"use-b24-helper.cjs","sources":["../../../src/helper/use-b24-helper.ts"],"sourcesContent":["import { SdkError } from '../core/sdk-error'\nimport { 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 SdkError({\n        code: 'JSSDK_HELPER_NOT_INIT',\n        description: 'B24HelperManager is not initialized. You need to call initB24Helper first.',\n        status: 0\n      })\n    }\n\n    return $b24Helper\n  }\n\n  const usePullClient = () => {\n    if (null === $b24Helper) {\n      throw new SdkError({\n        code: 'JSSDK_HELPER_NOT_INIT',\n        description: 'B24HelperManager is not initialized. You need to call initB24Helper first.',\n        status: 0\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 SdkError({\n        code: 'JSSDK_HELPER_PULL_CLIENT_NOT_INIT',\n        description: 'PullClient is not initialized. You need to call usePullClient first.',\n        status: 0\n      })\n    }\n\n    $b24Helper?.subscribePullClient(callback, moduleId)\n  }\n\n  const startPullClient = () => {\n    if (!$isInitPullClient) {\n      throw new SdkError({\n        code: 'JSSDK_HELPER_PULL_CLIENT_NOT_INIT',\n        description: 'PullClient is not initialized. You need to call usePullClient first.',\n        status: 0\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":["LoadDataType","B24HelperManager","SdkError"],"mappings":"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"}