@bitrix24/b24jssdk
Version:
Bitrix24 REST API JavaScript SDK
1 lines • 6.49 kB
Source Map (JSON)
{"version":3,"file":"abstract-batch.mjs","sources":["../../../../src/core/actions/abstract-batch.ts"],"sourcesContent":["import type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchNamedCommandsUniversal,\n ICallBatchResult\n} from '../../types/http'\nimport type { CallBatchResult, IB24BatchOptions } from '../../types/b24'\nimport type { AjaxResult } from '../http/ajax-result'\nimport { AbstractAction } from './abstract-action'\nimport { Result } from '../result'\n\nexport abstract class AbstractBatch extends AbstractAction {\n protected _addBatchErrorsIfAny(\n response: Result<ICallBatchResult<any>>,\n result: Result\n ): void {\n if (!response.isSuccess) {\n for (const [index, error] of response.errors) {\n result.addError(error, index)\n }\n }\n }\n\n protected _processBatchResponse<T>(\n response: Result<ICallBatchResult<T>>,\n calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal,\n options: IB24BatchOptions\n ): CallBatchResult<T> {\n const isArrayCall = Array.isArray(calls)\n\n if (options.returnAjaxResult) {\n return this._createBatchResultWithAjax<T>(response, isArrayCall)\n } else {\n return this._createBatchResultSimple<T>(response, isArrayCall)\n }\n }\n\n // region BatchResultWithAjax ////\n protected _createBatchResultWithAjax<T>(\n response: Result<ICallBatchResult<T>>,\n isArrayCall: boolean\n ): CallBatchResult<T> {\n return isArrayCall\n ? this._createBatchArrayResult<T>(response)\n : this._createBatchObjectResult<T>(response)\n }\n\n protected _createBatchArrayResult<T>(response: Result<ICallBatchResult<T>>): Result<AjaxResult<T>[]> {\n const result = new Result<AjaxResult<T>[]>()\n this._addBatchErrorsIfAny(response, result)\n\n const dataResult: AjaxResult<T>[] = []\n for (const [_index, data] of response.getData()!.result!) {\n dataResult.push(data)\n }\n\n return result.setData(dataResult)\n }\n\n protected _createBatchObjectResult<T>(response: Result<ICallBatchResult<T>>): Result<Record<string | number, AjaxResult<T>>> {\n const result = new Result<Record<string | number, AjaxResult<T>>>()\n this._addBatchErrorsIfAny(response, result)\n\n const dataResult: Record<string | number, any> = {}\n for (const [index, data] of response.getData()!.result!) {\n dataResult[index] = data\n }\n\n return result.setData(dataResult)\n }\n // endregion ////\n\n // region BatchResultSimple ////\n protected _createBatchResultSimple<T>(\n response: Result<ICallBatchResult<T>>,\n isArrayCall: boolean\n ): CallBatchResult<T> {\n const result = new Result<T>()\n this._addBatchErrorsIfAny(response, result)\n return result.setData(\n this._extractBatchSimpleData<T>(response, isArrayCall)\n )\n }\n\n protected _extractBatchSimpleData<T>(\n response: Result<ICallBatchResult<T>>,\n isArrayCall: boolean\n ): T {\n if (isArrayCall) {\n const dataResult: any[] = []\n for (const [_index, data] of response.getData()!.result!) {\n // @memo Add only success rows\n if (data.isSuccess) {\n dataResult.push(data.getData()!.result)\n }\n }\n return dataResult as T\n } else {\n const dataResult: Record<string | number, any> = {}\n for (const [index, data] of response.getData()!.result!) {\n // @memo Add only success rows\n if (data.isSuccess) {\n dataResult[index] = data.getData()!.result\n }\n }\n return dataResult as T\n }\n }\n // endregion ////\n\n public chunkArray<T = unknown>(array: Array<T>, chunkSize: number = 50): T[][] {\n const result: T[][] = []\n for (let i = 0; i < array.length; i += chunkSize) {\n const chunk = array.slice(i, i + chunkSize)\n result.push(chunk)\n }\n return result\n }\n}\n"],"names":[],"mappings":"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"}