@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.
- package/README-AI.md +2 -1
- package/dist/esm/_virtual/_commonjsHelpers.mjs +16 -0
- package/dist/esm/_virtual/_commonjsHelpers.mjs.map +1 -0
- package/dist/esm/_virtual/protobuf.mjs +16 -0
- package/dist/esm/_virtual/protobuf.mjs.map +1 -0
- package/dist/esm/_virtual/protobuf2.mjs +12 -0
- package/dist/esm/_virtual/protobuf2.mjs.map +1 -0
- package/dist/esm/core/abstract-b24.mjs +355 -0
- package/dist/esm/core/abstract-b24.mjs.map +1 -0
- package/dist/esm/core/actions/abstract-action.mjs +24 -0
- package/dist/esm/core/actions/abstract-action.mjs.map +1 -0
- package/dist/esm/core/actions/abstract-batch.mjs +95 -0
- package/dist/esm/core/actions/abstract-batch.mjs.map +1 -0
- package/dist/esm/core/actions/manager.mjs +53 -0
- package/dist/esm/core/actions/manager.mjs.map +1 -0
- package/dist/esm/core/actions/v2/batch-by-chunk.mjs +92 -0
- package/dist/esm/core/actions/v2/batch-by-chunk.mjs.map +1 -0
- package/dist/esm/core/actions/v2/batch.mjs +126 -0
- package/dist/esm/core/actions/v2/batch.mjs.map +1 -0
- package/dist/esm/core/actions/v2/call-list.mjs +131 -0
- package/dist/esm/core/actions/v2/call-list.mjs.map +1 -0
- package/dist/esm/core/actions/v2/call.mjs +68 -0
- package/dist/esm/core/actions/v2/call.mjs.map +1 -0
- package/dist/esm/core/actions/v2/fetch-list.mjs +132 -0
- package/dist/esm/core/actions/v2/fetch-list.mjs.map +1 -0
- package/dist/esm/core/actions/v2/manager-v2.mjs +74 -0
- package/dist/esm/core/actions/v2/manager-v2.mjs.map +1 -0
- package/dist/esm/core/actions/v3/batch-by-chunk.mjs +91 -0
- package/dist/esm/core/actions/v3/batch-by-chunk.mjs.map +1 -0
- package/dist/esm/core/actions/v3/batch.mjs +129 -0
- package/dist/esm/core/actions/v3/batch.mjs.map +1 -0
- package/dist/esm/core/actions/v3/call-list.mjs +127 -0
- package/dist/esm/core/actions/v3/call-list.mjs.map +1 -0
- package/dist/esm/core/actions/v3/call.mjs +58 -0
- package/dist/esm/core/actions/v3/call.mjs.map +1 -0
- package/dist/esm/core/actions/v3/fetch-list.mjs +125 -0
- package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -0
- package/dist/esm/core/actions/v3/manager-v3.mjs +74 -0
- package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -0
- package/dist/esm/core/http/abstract-http.mjs +563 -0
- package/dist/esm/core/http/abstract-http.mjs.map +1 -0
- package/dist/esm/core/http/ajax-error.mjs +107 -0
- package/dist/esm/core/http/ajax-error.mjs.map +1 -0
- package/dist/esm/core/http/ajax-result.mjs +176 -0
- package/dist/esm/core/http/ajax-result.mjs.map +1 -0
- package/dist/esm/core/http/limiters/adaptive-delayer.mjs +135 -0
- package/dist/esm/core/http/limiters/adaptive-delayer.mjs.map +1 -0
- package/dist/esm/core/http/limiters/manager.mjs +308 -0
- package/dist/esm/core/http/limiters/manager.mjs.map +1 -0
- package/dist/esm/core/http/limiters/operating-limiter.mjs +171 -0
- package/dist/esm/core/http/limiters/operating-limiter.mjs.map +1 -0
- package/dist/esm/core/http/limiters/params-factory.mjs +121 -0
- package/dist/esm/core/http/limiters/params-factory.mjs.map +1 -0
- package/dist/esm/core/http/limiters/rate-limiter.mjs +402 -0
- package/dist/esm/core/http/limiters/rate-limiter.mjs.map +1 -0
- package/dist/esm/core/http/v2.mjs +100 -0
- package/dist/esm/core/http/v2.mjs.map +1 -0
- package/dist/esm/core/http/v3.mjs +94 -0
- package/dist/esm/core/http/v3.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +69 -0
- package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/parse-row.mjs +67 -0
- package/dist/esm/core/interaction/batch/parse-row.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +42 -0
- package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +121 -0
- package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +32 -0
- package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +32 -0
- package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +118 -0
- package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +32 -0
- package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +32 -0
- package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/v2.mjs +44 -0
- package/dist/esm/core/interaction/batch/v2.mjs.map +1 -0
- package/dist/esm/core/interaction/batch/v3.mjs +42 -0
- package/dist/esm/core/interaction/batch/v3.mjs.map +1 -0
- package/dist/esm/core/language/list.mjs +56 -0
- package/dist/esm/core/language/list.mjs.map +1 -0
- package/dist/esm/core/request-id-generator.mjs +42 -0
- package/dist/esm/core/request-id-generator.mjs.map +1 -0
- package/dist/esm/core/result.mjs +101 -0
- package/dist/esm/core/result.mjs.map +1 -0
- package/dist/esm/core/sdk-error.mjs +83 -0
- package/dist/esm/core/sdk-error.mjs.map +1 -0
- package/dist/esm/core/tools/abstract-tool.mjs +24 -0
- package/dist/esm/core/tools/abstract-tool.mjs.map +1 -0
- package/dist/esm/core/tools/healthcheck.mjs +48 -0
- package/dist/esm/core/tools/healthcheck.mjs.map +1 -0
- package/dist/esm/core/tools/manager.mjs +50 -0
- package/dist/esm/core/tools/manager.mjs.map +1 -0
- package/dist/esm/core/tools/ping.mjs +56 -0
- package/dist/esm/core/tools/ping.mjs.map +1 -0
- package/dist/esm/core/version-manager.mjs +116 -0
- package/dist/esm/core/version-manager.mjs.map +1 -0
- package/dist/esm/frame/auth.mjs +98 -0
- package/dist/esm/frame/auth.mjs.map +1 -0
- package/dist/esm/frame/b24.mjs +170 -0
- package/dist/esm/frame/b24.mjs.map +1 -0
- package/dist/esm/frame/dialog.mjs +78 -0
- package/dist/esm/frame/dialog.mjs.map +1 -0
- package/dist/esm/frame/frame.mjs +101 -0
- package/dist/esm/frame/frame.mjs.map +1 -0
- package/dist/esm/frame/message/commands.mjs +37 -0
- package/dist/esm/frame/message/commands.mjs.map +1 -0
- package/dist/esm/frame/message/controller.mjs +177 -0
- package/dist/esm/frame/message/controller.mjs.map +1 -0
- package/dist/esm/frame/options.mjs +106 -0
- package/dist/esm/frame/options.mjs.map +1 -0
- package/dist/esm/frame/parent.mjs +250 -0
- package/dist/esm/frame/parent.mjs.map +1 -0
- package/dist/esm/frame/placement.mjs +131 -0
- package/dist/esm/frame/placement.mjs.map +1 -0
- package/dist/esm/frame/slider.mjs +156 -0
- package/dist/esm/frame/slider.mjs.map +1 -0
- package/dist/esm/helper/abstract-helper.mjs +52 -0
- package/dist/esm/helper/abstract-helper.mjs.map +1 -0
- package/dist/esm/helper/app-manager.mjs +37 -0
- package/dist/esm/helper/app-manager.mjs.map +1 -0
- package/dist/esm/helper/currency-manager.mjs +207 -0
- package/dist/esm/helper/currency-manager.mjs.map +1 -0
- package/dist/esm/helper/helper-manager.mjs +388 -0
- package/dist/esm/helper/helper-manager.mjs.map +1 -0
- package/dist/esm/helper/license-manager.mjs +50 -0
- package/dist/esm/helper/license-manager.mjs.map +1 -0
- package/dist/esm/helper/options-manager.mjs +196 -0
- package/dist/esm/helper/options-manager.mjs.map +1 -0
- package/dist/esm/helper/payment-manager.mjs +33 -0
- package/dist/esm/helper/payment-manager.mjs.map +1 -0
- package/dist/esm/helper/profile-manager.mjs +33 -0
- package/dist/esm/helper/profile-manager.mjs.map +1 -0
- package/dist/esm/helper/use-b24-helper.mjs +84 -0
- package/dist/esm/helper/use-b24-helper.mjs.map +1 -0
- package/dist/esm/hook/auth.mjs +77 -0
- package/dist/esm/hook/auth.mjs.map +1 -0
- package/dist/esm/hook/b24.mjs +115 -0
- package/dist/esm/hook/b24.mjs.map +1 -0
- package/dist/esm/index.d.mts +2757 -526
- package/dist/esm/index.d.ts +2757 -526
- package/dist/esm/index.mjs +70 -14118
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/loader-b24frame.mjs +101 -0
- package/dist/esm/loader-b24frame.mjs.map +1 -0
- package/dist/esm/logger/abstract-logger.mjs +69 -0
- package/dist/esm/logger/abstract-logger.mjs.map +1 -0
- package/dist/esm/logger/browser.mjs +162 -0
- package/dist/esm/logger/browser.mjs.map +1 -0
- package/dist/esm/logger/formatter/abstract-formatter.mjs +34 -0
- package/dist/esm/logger/formatter/abstract-formatter.mjs.map +1 -0
- package/dist/esm/logger/formatter/json-formatter.mjs +34 -0
- package/dist/esm/logger/formatter/json-formatter.mjs.map +1 -0
- package/dist/esm/logger/formatter/line-formatter.mjs +41 -0
- package/dist/esm/logger/formatter/line-formatter.mjs.map +1 -0
- package/dist/esm/logger/formatter/telegram-formatter.mjs +103 -0
- package/dist/esm/logger/formatter/telegram-formatter.mjs.map +1 -0
- package/dist/esm/logger/handler/abstract-handler.mjs +39 -0
- package/dist/esm/logger/handler/abstract-handler.mjs.map +1 -0
- package/dist/esm/logger/handler/consola-adapter.mjs +62 -0
- package/dist/esm/logger/handler/consola-adapter.mjs.map +1 -0
- package/dist/esm/logger/handler/console-handler.mjs +98 -0
- package/dist/esm/logger/handler/console-handler.mjs.map +1 -0
- package/dist/esm/logger/handler/console-v2-handler.mjs +51 -0
- package/dist/esm/logger/handler/console-v2-handler.mjs.map +1 -0
- package/dist/esm/logger/handler/memory-handler.mjs +48 -0
- package/dist/esm/logger/handler/memory-handler.mjs.map +1 -0
- package/dist/esm/logger/handler/stream-handler.mjs +73 -0
- package/dist/esm/logger/handler/stream-handler.mjs.map +1 -0
- package/dist/esm/logger/handler/telegram-handler.mjs +157 -0
- package/dist/esm/logger/handler/telegram-handler.mjs.map +1 -0
- package/dist/esm/logger/handler/winston-adapter.mjs +57 -0
- package/dist/esm/logger/handler/winston-adapter.mjs.map +1 -0
- package/dist/esm/logger/logger-factory.mjs +67 -0
- package/dist/esm/logger/logger-factory.mjs.map +1 -0
- package/dist/esm/logger/logger.mjs +76 -0
- package/dist/esm/logger/logger.mjs.map +1 -0
- package/dist/esm/logger/null-logger.mjs +32 -0
- package/dist/esm/logger/null-logger.mjs.map +1 -0
- package/dist/esm/logger/processor/memory-usage-processor.mjs +20 -0
- package/dist/esm/logger/processor/memory-usage-processor.mjs.map +1 -0
- package/dist/esm/logger/processor/pid-processor.mjs +20 -0
- package/dist/esm/logger/processor/pid-processor.mjs.map +1 -0
- package/dist/esm/oauth/auth.mjs +211 -0
- package/dist/esm/oauth/auth.mjs.map +1 -0
- package/dist/esm/oauth/b24.mjs +117 -0
- package/dist/esm/oauth/b24.mjs.map +1 -0
- package/dist/esm/oauth/refresh-token-error.mjs +20 -0
- package/dist/esm/oauth/refresh-token-error.mjs.map +1 -0
- package/dist/esm/pullClient/abstract-connector.mjs +78 -0
- package/dist/esm/pullClient/abstract-connector.mjs.map +1 -0
- package/dist/esm/pullClient/channel-manager.mjs +89 -0
- package/dist/esm/pullClient/channel-manager.mjs.map +1 -0
- package/dist/esm/pullClient/client.mjs +2064 -0
- package/dist/esm/pullClient/client.mjs.map +1 -0
- package/dist/esm/pullClient/errors.mjs +31 -0
- package/dist/esm/pullClient/errors.mjs.map +1 -0
- package/dist/esm/pullClient/json-rpc.mjs +210 -0
- package/dist/esm/pullClient/json-rpc.mjs.map +1 -0
- package/dist/esm/pullClient/long-polling-connector.mjs +157 -0
- package/dist/esm/pullClient/long-polling-connector.mjs.map +1 -0
- package/dist/esm/pullClient/protobuf/index.mjs +17 -0
- package/dist/esm/pullClient/protobuf/index.mjs.map +1 -0
- package/dist/esm/pullClient/protobuf/model.mjs +1058 -0
- package/dist/esm/pullClient/protobuf/model.mjs.map +1 -0
- package/dist/esm/pullClient/protobuf/protobuf.mjs +4653 -0
- package/dist/esm/pullClient/protobuf/protobuf.mjs.map +1 -0
- package/dist/esm/pullClient/shared-config.mjs +133 -0
- package/dist/esm/pullClient/shared-config.mjs.map +1 -0
- package/dist/esm/pullClient/storage-manager.mjs +72 -0
- package/dist/esm/pullClient/storage-manager.mjs.map +1 -0
- package/dist/esm/pullClient/web-socket-connector.mjs +129 -0
- package/dist/esm/pullClient/web-socket-connector.mjs.map +1 -0
- package/dist/esm/tools/browser.mjs +154 -0
- package/dist/esm/tools/browser.mjs.map +1 -0
- package/dist/esm/tools/environment.mjs +29 -0
- package/dist/esm/tools/environment.mjs.map +1 -0
- package/dist/esm/tools/formatters/iban.mjs +304 -0
- package/dist/esm/tools/formatters/iban.mjs.map +1 -0
- package/dist/esm/tools/formatters/numbers.mjs +64 -0
- package/dist/esm/tools/formatters/numbers.mjs.map +1 -0
- package/dist/esm/tools/index.mjs +37 -0
- package/dist/esm/tools/index.mjs.map +1 -0
- package/dist/esm/tools/scroll-size.mjs +25 -0
- package/dist/esm/tools/scroll-size.mjs.map +1 -0
- package/dist/esm/tools/text.mjs +208 -0
- package/dist/esm/tools/text.mjs.map +1 -0
- package/dist/esm/tools/type.mjs +337 -0
- package/dist/esm/tools/type.mjs.map +1 -0
- package/dist/esm/tools/use-formatters.mjs +460 -0
- package/dist/esm/tools/use-formatters.mjs.map +1 -0
- package/dist/esm/tools/uuidv7.mjs +54 -0
- package/dist/esm/tools/uuidv7.mjs.map +1 -0
- package/dist/esm/types/b24-helper.mjs +56 -0
- package/dist/esm/types/b24-helper.mjs.map +1 -0
- package/dist/esm/types/b24.mjs +16 -0
- package/dist/esm/types/b24.mjs.map +1 -0
- package/dist/esm/types/bizproc/index.mjs +187 -0
- package/dist/esm/types/bizproc/index.mjs.map +1 -0
- package/dist/esm/types/catalog/index.mjs +35 -0
- package/dist/esm/types/catalog/index.mjs.map +1 -0
- package/dist/esm/types/common.mjs +31 -0
- package/dist/esm/types/common.mjs.map +1 -0
- package/dist/esm/types/crm/entity-type.mjs +57 -0
- package/dist/esm/types/crm/entity-type.mjs.map +1 -0
- package/dist/esm/types/crm/productrow.mjs +17 -0
- package/dist/esm/types/crm/productrow.mjs.map +1 -0
- package/dist/esm/types/logger.mjs +22 -0
- package/dist/esm/types/logger.mjs.map +1 -0
- package/dist/esm/types/pull.mjs +83 -0
- package/dist/esm/types/pull.mjs.map +1 -0
- package/dist/umd/index.js +31216 -26912
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/index.min.js +63 -40
- package/dist/umd/index.min.js.map +1 -1
- package/package.json +36 -31
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"v3.mjs","sources":["../../../../src/core/http/v3.ts"],"sourcesContent":["import type {\n BatchCommandsArrayUniversal, BatchCommandsObjectUniversal,\n BatchNamedCommandsUniversal,\n ICallBatchOptions,\n ICallBatchResult, TypeCallParams,\n TypeHttp\n} from '../../types/http'\nimport type { AuthActions } from '../../types/auth'\nimport type { RestrictionParams } from '../../types/limiters'\nimport type { BatchPayload } from '../../types/payloads'\nimport type { Result } from '../result'\nimport { AbstractHttp } from './abstract-http'\nimport { ApiVersion } from '../../types/b24'\nimport { AjaxError } from './ajax-error'\nimport { InteractionBatchV3 } from '../interaction/batch/v3'\nimport { ProcessingAsArrayV3 } from '../interaction/batch/processing/v3/as-array'\nimport { ProcessingAsObjectV3 } from '../interaction/batch/processing/v3/as-object'\n\n/**\n * Class for working with RestApi v3 requests via http\n *\n * @link https://bitrix24.github.io/b24jssdk/\n * @link https://apidocs.bitrix24.com/api-reference/rest-v3/index.html\n *\n * @todo docs\n */\nexport class HttpV3 extends AbstractHttp implements TypeHttp {\n constructor(\n authActions: AuthActions,\n options?: null | object,\n restrictionParams?: Partial<RestrictionParams>\n ) {\n super(authActions, options, restrictionParams)\n this._version = ApiVersion.v3\n }\n\n // region batch ////\n public async batch<T = unknown>(\n calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal,\n options?: ICallBatchOptions\n ): Promise<Result<ICallBatchResult<T>>> {\n const opts = {\n isHaltOnError: true,\n ...options\n }\n\n const requestId = opts.requestId ?? this._requestIdGenerator.getRequestId()\n\n this._logBatchStart(requestId, calls, opts)\n\n const interactionBatch = new InteractionBatchV3({\n requestId,\n parallelDefaultValue: !(opts.isHaltOnError),\n restrictionManager: this._restrictionManager\n })\n\n if (Array.isArray(calls)) {\n interactionBatch.setProcessingStrategy(new ProcessingAsArrayV3())\n } else {\n interactionBatch.setProcessingStrategy(new ProcessingAsObjectV3())\n }\n\n interactionBatch.addCommands(calls)\n\n if (interactionBatch.size > interactionBatch.maxSize) {\n throw new AjaxError({\n code: 'JSSDK_BATCH_TOO_LARGE',\n description: `Batch too large: ${interactionBatch.size} commands (max: ${interactionBatch.maxSize})`,\n status: 400,\n requestInfo: { method: 'batch', params: { cmd: calls }, requestId },\n originalError: null\n })\n }\n\n if (interactionBatch.size === 0) {\n throw new AjaxError({\n code: 'JSSDK_BATCH_EMPTY',\n description: 'Batch must contain at least one command',\n status: 400,\n requestInfo: { method: 'batch', params: { cmd: calls }, requestId },\n originalError: null\n })\n }\n\n const responseBatch = await this.call<BatchPayload<T>>(\n 'batch',\n interactionBatch.getCommandsForCall() as TypeCallParams,\n requestId\n )\n\n const response = await interactionBatch.prepareResponse<T>(responseBatch)\n\n // Log the results\n this._logBatchCompletion(\n requestId,\n response.getData()?.result?.size ?? 0,\n response.getErrorMessages().length\n )\n\n return response\n }\n // endregion ////\n\n // region Prepare ////\n /**\n * @inheritDoc\n */\n protected override _prepareMethod(requestId: string, method: string, baseUrl: string): string {\n const methodUrl = `/${encodeURIComponent(method)}`\n\n const queryParams = new URLSearchParams({\n [this._requestIdGenerator.getQueryStringParameterName()]: requestId,\n [this._requestIdGenerator.getQueryStringSdkParameterName()]: '__SDK_VERSION__',\n [this._requestIdGenerator.getQueryStringSdkTypeParameterName()]: '__SDK_USER_AGENT__'\n })\n return `${baseUrl}${methodUrl}?${queryParams.toString()}`\n }\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,69 @@
|
|
|
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 { SdkError } from '../../sdk-error.mjs';
|
|
10
|
+
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
class AbstractInteractionBatch {
|
|
14
|
+
static {
|
|
15
|
+
__name(this, "AbstractInteractionBatch");
|
|
16
|
+
}
|
|
17
|
+
parallelDefaultValue;
|
|
18
|
+
requestId;
|
|
19
|
+
restrictionManager;
|
|
20
|
+
// @memo this regeneration -> isObjectMode
|
|
21
|
+
processingStrategy;
|
|
22
|
+
_commands = [];
|
|
23
|
+
constructor(options) {
|
|
24
|
+
this.parallelDefaultValue = options.parallelDefaultValue;
|
|
25
|
+
this.requestId = options.requestId;
|
|
26
|
+
this.restrictionManager = options.restrictionManager;
|
|
27
|
+
this.processingStrategy = options.processingStrategy;
|
|
28
|
+
}
|
|
29
|
+
// region Setter Strategy ////
|
|
30
|
+
setProcessingStrategy(processingStrategy) {
|
|
31
|
+
this.processingStrategy = processingStrategy;
|
|
32
|
+
}
|
|
33
|
+
// endregion ////
|
|
34
|
+
// region Getter ////
|
|
35
|
+
get size() {
|
|
36
|
+
return this._commands.length;
|
|
37
|
+
}
|
|
38
|
+
get maxSize() {
|
|
39
|
+
return 0;
|
|
40
|
+
}
|
|
41
|
+
// endregion ////
|
|
42
|
+
// region Request ////
|
|
43
|
+
addCommands(calls) {
|
|
44
|
+
if (!this.processingStrategy) {
|
|
45
|
+
throw new SdkError({
|
|
46
|
+
code: "JSSDK_INTERACTION_BATCH_EMPTY_PROCESSING_STRATEGY",
|
|
47
|
+
description: "ProcessingStrategy not set",
|
|
48
|
+
status: 500
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
this._commands = this.processingStrategy.prepareCommands(calls, {
|
|
52
|
+
parallelDefaultValue: this.parallelDefaultValue
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
getCommandsForCall() {
|
|
56
|
+
if (!this.processingStrategy) {
|
|
57
|
+
throw new SdkError({
|
|
58
|
+
code: "JSSDK_INTERACTION_BATCH_EMPTY_PROCESSING_STRATEGY",
|
|
59
|
+
description: "ProcessingStrategy not set",
|
|
60
|
+
status: 500
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
return this.processingStrategy.buildCommands(this._commands);
|
|
64
|
+
}
|
|
65
|
+
// endregion ////
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
export { AbstractInteractionBatch };
|
|
69
|
+
//# sourceMappingURL=abstract-interaction-batch.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-interaction-batch.mjs","sources":["../../../../../src/core/interaction/batch/abstract-interaction-batch.ts"],"sourcesContent":["import type { IProcessingStrategy } from './processing/interface-strategy'\nimport type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchCommandV3, BatchNamedCommandsUniversal,\n ICallBatchOptions, ICallBatchResult\n} from '../../../types/http'\nimport type { RestrictionManager } from '../../http/limiters/manager'\nimport type { BatchPayload, PayloadTime } from '../../../types/payloads'\nimport type { Result } from '../../result'\nimport type { AjaxResult } from '../../http/ajax-result'\nimport type { NumberString } from '../../../types/common'\nimport type { TypeDescriptionError } from '../../../types/auth'\nimport { SdkError } from '../../sdk-error'\n\nexport interface BatchResponseData<T = unknown> {\n readonly result?: T[] | Record<string | number, T>\n readonly result_error?: (string | TypeDescriptionError)[] | Record<string | number, string | TypeDescriptionError>\n readonly result_total?: NumberString[] | Record<string | number, NumberString>\n readonly result_next?: NumberString[] | Record<string | number, NumberString>\n readonly result_time?: PayloadTime[] | Record<string | number, PayloadTime>\n}\n\nexport type InteractionBatchOptions = Required<Omit<ICallBatchOptions, 'isHaltOnError' | 'isObjectMode'>> & {\n /**\n * @memo this regeneration is `isHaltOnError` and it is currently `!isHaltOnError`\n */\n parallelDefaultValue: boolean\n restrictionManager: RestrictionManager\n processingStrategy?: IProcessingStrategy\n}\n\nexport type ResponseHelper = {\n requestId: string\n status: number\n time: PayloadTime\n restrictionManager: RestrictionManager\n}\n\n/**\n * Working with batch requests\n */\nexport abstract class AbstractInteractionBatch {\n protected parallelDefaultValue: boolean\n protected requestId: string\n protected restrictionManager: RestrictionManager\n // @memo this regeneration -> isObjectMode\n protected processingStrategy?: IProcessingStrategy\n\n protected _commands: BatchCommandV3[] = []\n\n constructor(options: InteractionBatchOptions) {\n this.parallelDefaultValue = options.parallelDefaultValue\n this.requestId = options.requestId\n this.restrictionManager = options.restrictionManager\n this.processingStrategy = options.processingStrategy\n }\n\n // region Setter Strategy ////\n public setProcessingStrategy(processingStrategy: IProcessingStrategy) {\n this.processingStrategy = processingStrategy\n }\n // endregion ////\n\n // region Getter ////\n get size(): number {\n return this._commands.length\n }\n\n get maxSize(): number {\n return 0\n }\n // endregion ////\n\n // region Request ////\n public addCommands(\n calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal\n ): void {\n if (!this.processingStrategy) {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_EMPTY_PROCESSING_STRATEGY',\n description: 'ProcessingStrategy not set',\n status: 500\n })\n }\n\n this._commands = this.processingStrategy.prepareCommands(calls, {\n parallelDefaultValue: this.parallelDefaultValue\n })\n }\n\n public getCommandsForCall(): unknown {\n if (!this.processingStrategy) {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_EMPTY_PROCESSING_STRATEGY',\n description: 'ProcessingStrategy not set',\n status: 500\n })\n }\n\n return this.processingStrategy.buildCommands(this._commands)\n }\n // endregion ////\n\n // region Response ////\n public abstract prepareResponse<T>(response: AjaxResult<BatchPayload<T>>): Promise<Result<ICallBatchResult<T>>>\n // endregion ////\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AA0CO,MAAe,wBAAA,CAAyB;AAAA,EA1C/C;AA0C+C,IAAA,MAAA,CAAA,IAAA,EAAA,0BAAA,CAAA;AAAA;AAAA,EACnC,oBAAA;AAAA,EACA,SAAA;AAAA,EACA,kBAAA;AAAA;AAAA,EAEA,kBAAA;AAAA,EAEA,YAA8B,EAAC;AAAA,EAEzC,YAAY,OAAA,EAAkC;AAC5C,IAAA,IAAA,CAAK,uBAAuB,OAAA,CAAQ,oBAAA;AACpC,IAAA,IAAA,CAAK,YAAY,OAAA,CAAQ,SAAA;AACzB,IAAA,IAAA,CAAK,qBAAqB,OAAA,CAAQ,kBAAA;AAClC,IAAA,IAAA,CAAK,qBAAqB,OAAA,CAAQ,kBAAA;AAAA,EACpC;AAAA;AAAA,EAGO,sBAAsB,kBAAA,EAAyC;AACpE,IAAA,IAAA,CAAK,kBAAA,GAAqB,kBAAA;AAAA,EAC5B;AAAA;AAAA;AAAA,EAIA,IAAI,IAAA,GAAe;AACjB,IAAA,OAAO,KAAK,SAAA,CAAU,MAAA;AAAA,EACxB;AAAA,EAEA,IAAI,OAAA,GAAkB;AACpB,IAAA,OAAO,CAAA;AAAA,EACT;AAAA;AAAA;AAAA,EAIO,YACL,KAAA,EACM;AACN,IAAA,IAAI,CAAC,KAAK,kBAAA,EAAoB;AAC5B,MAAA,MAAM,IAAI,QAAA,CAAS;AAAA,QACjB,IAAA,EAAM,mDAAA;AAAA,QACN,WAAA,EAAa,4BAAA;AAAA,QACb,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,IACH;AAEA,IAAA,IAAA,CAAK,SAAA,GAAY,IAAA,CAAK,kBAAA,CAAmB,eAAA,CAAgB,KAAA,EAAO;AAAA,MAC9D,sBAAsB,IAAA,CAAK;AAAA,KAC5B,CAAA;AAAA,EACH;AAAA,EAEO,kBAAA,GAA8B;AACnC,IAAA,IAAI,CAAC,KAAK,kBAAA,EAAoB;AAC5B,MAAA,MAAM,IAAI,QAAA,CAAS;AAAA,QACjB,IAAA,EAAM,mDAAA;AAAA,QACN,WAAA,EAAa,4BAAA;AAAA,QACb,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,IAAA,CAAK,kBAAA,CAAmB,aAAA,CAAc,IAAA,CAAK,SAAS,CAAA;AAAA,EAC7D;AAAA;AAMF;;;;"}
|
|
@@ -0,0 +1,67 @@
|
|
|
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 { SdkError } from '../../sdk-error.mjs';
|
|
10
|
+
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
class ParseRow {
|
|
14
|
+
static {
|
|
15
|
+
__name(this, "ParseRow");
|
|
16
|
+
}
|
|
17
|
+
static getBatchCommand(row, options) {
|
|
18
|
+
if (row) {
|
|
19
|
+
if (typeof row === "object" && "method" in row && typeof row.method === "string") {
|
|
20
|
+
return {
|
|
21
|
+
method: row.method,
|
|
22
|
+
query: row.params,
|
|
23
|
+
as: row.as ?? options.asDefaultValue,
|
|
24
|
+
parallel: row.parallel ?? options.parallelDefaultValue
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
if (Array.isArray(row) && row.length > 0 && typeof row[0] === "string") {
|
|
28
|
+
return {
|
|
29
|
+
method: row[0],
|
|
30
|
+
query: row[1],
|
|
31
|
+
as: options.asDefaultValue,
|
|
32
|
+
parallel: options.parallelDefaultValue
|
|
33
|
+
};
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
throw new SdkError({
|
|
37
|
+
code: "JSSDK_INTERACTION_BATCH_ROW_FAIL",
|
|
38
|
+
description: `There were difficulties parsing the command for batch.
|
|
39
|
+
${JSON.stringify({
|
|
40
|
+
row,
|
|
41
|
+
options
|
|
42
|
+
})}`,
|
|
43
|
+
status: 500
|
|
44
|
+
});
|
|
45
|
+
}
|
|
46
|
+
static getMethodsFromCommands(calls) {
|
|
47
|
+
const result = [];
|
|
48
|
+
const optsFake = {
|
|
49
|
+
parallelDefaultValue: false
|
|
50
|
+
};
|
|
51
|
+
if (Array.isArray(calls)) {
|
|
52
|
+
calls.forEach((row) => {
|
|
53
|
+
const command = ParseRow.getBatchCommand(row, optsFake);
|
|
54
|
+
result.push(command.method);
|
|
55
|
+
});
|
|
56
|
+
} else {
|
|
57
|
+
Object.entries(calls).forEach(([index, row]) => {
|
|
58
|
+
const command = ParseRow.getBatchCommand(row, { ...optsFake, asDefaultValue: index });
|
|
59
|
+
result.push(command.method);
|
|
60
|
+
});
|
|
61
|
+
}
|
|
62
|
+
return result;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
export { ParseRow };
|
|
67
|
+
//# sourceMappingURL=parse-row.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"parse-row.mjs","sources":["../../../../../src/core/interaction/batch/parse-row.ts"],"sourcesContent":["import type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchCommandV3, BatchNamedCommandsUniversal,\n CommandObject,\n CommandTuple\n} from '../../../types/http'\nimport { SdkError } from '../../sdk-error'\n\n/**\n * Class for formatting/parsing a set of Batch commands\n */\n// eslint-disable-next-line @typescript-eslint/no-extraneous-class\nexport class ParseRow {\n public static getBatchCommand(\n row: CommandObject | CommandTuple,\n options: {\n parallelDefaultValue: boolean\n asDefaultValue?: string\n }\n ): BatchCommandV3 {\n if (row) {\n if (typeof row === 'object' && 'method' in row && typeof row.method === 'string') {\n return {\n method: row.method,\n query: row.params,\n as: row.as ?? options.asDefaultValue,\n parallel: row.parallel ?? options.parallelDefaultValue\n }\n }\n\n if (Array.isArray(row) && row.length > 0 && typeof row[0] === 'string') {\n return {\n method: row[0],\n query: row[1],\n as: options.asDefaultValue,\n parallel: options.parallelDefaultValue\n }\n }\n }\n\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_ROW_FAIL',\n description: `There were difficulties parsing the command for batch.\\n${JSON.stringify({\n row, options\n })}`,\n status: 500\n })\n }\n\n public static getMethodsFromCommands(\n calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal | BatchNamedCommandsUniversal\n ): string[] {\n const result: string[] = []\n const optsFake = {\n parallelDefaultValue: false\n }\n\n if (Array.isArray(calls)) {\n calls.forEach((row) => {\n const command = ParseRow.getBatchCommand(row, optsFake)\n result.push(command.method)\n })\n } else {\n Object.entries(calls).forEach(([index, row]) => {\n const command = ParseRow.getBatchCommand(row, { ...optsFake, asDefaultValue: index })\n result.push(command.method)\n })\n }\n\n return result\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AAaO,MAAM,QAAA,CAAS;AAAA,EAbtB;AAasB,IAAA,MAAA,CAAA,IAAA,EAAA,UAAA,CAAA;AAAA;AAAA,EACpB,OAAc,eAAA,CACZ,GAAA,EACA,OAAA,EAIgB;AAChB,IAAA,IAAI,GAAA,EAAK;AACP,MAAA,IAAI,OAAO,QAAQ,QAAA,IAAY,QAAA,IAAY,OAAO,OAAO,GAAA,CAAI,WAAW,QAAA,EAAU;AAChF,QAAA,OAAO;AAAA,UACL,QAAQ,GAAA,CAAI,MAAA;AAAA,UACZ,OAAO,GAAA,CAAI,MAAA;AAAA,UACX,EAAA,EAAI,GAAA,CAAI,EAAA,IAAM,OAAA,CAAQ,cAAA;AAAA,UACtB,QAAA,EAAU,GAAA,CAAI,QAAA,IAAY,OAAA,CAAQ;AAAA,SACpC;AAAA,MACF;AAEA,MAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,GAAG,CAAA,IAAK,GAAA,CAAI,MAAA,GAAS,CAAA,IAAK,OAAO,GAAA,CAAI,CAAC,CAAA,KAAM,QAAA,EAAU;AACtE,QAAA,OAAO;AAAA,UACL,MAAA,EAAQ,IAAI,CAAC,CAAA;AAAA,UACb,KAAA,EAAO,IAAI,CAAC,CAAA;AAAA,UACZ,IAAI,OAAA,CAAQ,cAAA;AAAA,UACZ,UAAU,OAAA,CAAQ;AAAA,SACpB;AAAA,MACF;AAAA,IACF;AAEA,IAAA,MAAM,IAAI,QAAA,CAAS;AAAA,MACjB,IAAA,EAAM,kCAAA;AAAA,MACN,WAAA,EAAa,CAAA;AAAA,EAA2D,KAAK,SAAA,CAAU;AAAA,QACrF,GAAA;AAAA,QAAK;AAAA,OACN,CAAC,CAAA,CAAA;AAAA,MACF,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AAAA,EAEA,OAAc,uBACZ,KAAA,EACU;AACV,IAAA,MAAM,SAAmB,EAAC;AAC1B,IAAA,MAAM,QAAA,GAAW;AAAA,MACf,oBAAA,EAAsB;AAAA,KACxB;AAEA,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxB,MAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACrB,QAAA,MAAM,OAAA,GAAU,QAAA,CAAS,eAAA,CAAgB,GAAA,EAAK,QAAQ,CAAA;AACtD,QAAA,MAAA,CAAO,IAAA,CAAK,QAAQ,MAAM,CAAA;AAAA,MAC5B,CAAC,CAAA;AAAA,IACH,CAAA,MAAO;AACL,MAAA,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,KAAA,EAAO,GAAG,CAAA,KAAM;AAC9C,QAAA,MAAM,OAAA,GAAU,SAAS,eAAA,CAAgB,GAAA,EAAK,EAAE,GAAG,QAAA,EAAU,cAAA,EAAgB,KAAA,EAAO,CAAA;AACpF,QAAA,MAAA,CAAO,IAAA,CAAK,QAAQ,MAAM,CAAA;AAAA,MAC5B,CAAC,CAAA;AAAA,IACH;AAEA,IAAA,OAAO,MAAA;AAAA,EACT;AACF;;;;"}
|
|
@@ -0,0 +1,42 @@
|
|
|
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 { AjaxError } from '../../../http/ajax-error.mjs';
|
|
10
|
+
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
class AbstractProcessing {
|
|
14
|
+
static {
|
|
15
|
+
__name(this, "AbstractProcessing");
|
|
16
|
+
}
|
|
17
|
+
// endregion ////
|
|
18
|
+
// region Tools ////
|
|
19
|
+
_getBatchResultByIndex(data, index) {
|
|
20
|
+
if (!data) return void 0;
|
|
21
|
+
if (Array.isArray(data)) {
|
|
22
|
+
return data[index];
|
|
23
|
+
}
|
|
24
|
+
return data[index];
|
|
25
|
+
}
|
|
26
|
+
_createErrorFromAjaxResult(ajaxResult) {
|
|
27
|
+
if (ajaxResult.hasError("base-error")) {
|
|
28
|
+
return ajaxResult.errors.get("base-error");
|
|
29
|
+
}
|
|
30
|
+
return new AjaxError({
|
|
31
|
+
code: "JSSDK_BATCH_SUB_ERROR",
|
|
32
|
+
description: ajaxResult.getErrorMessages().join("; "),
|
|
33
|
+
status: ajaxResult.getStatus(),
|
|
34
|
+
requestInfo: { ...ajaxResult.getQuery() },
|
|
35
|
+
originalError: ajaxResult.getErrors().next().value
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
// endregion ////
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export { AbstractProcessing };
|
|
42
|
+
//# sourceMappingURL=interface-strategy.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"interface-strategy.mjs","sources":["../../../../../../src/core/interaction/batch/processing/interface-strategy.ts"],"sourcesContent":["import type { BatchCommandV3, ICallBatchResult } from '../../../../types/http'\nimport type { BatchPayload } from '../../../../types/payloads'\nimport type { AjaxResult } from '../../../http/ajax-result'\nimport type { RestrictionManager } from '../../../http/limiters/manager'\nimport type { Result } from '../../../result'\nimport { AjaxError } from '../../../http/ajax-error'\n\nexport type GetCommandsOptions = {\n // @memo this regeneration `isHaltOnError` -> !isHaltOnError\n parallelDefaultValue: boolean\n}\n\nexport type ResponseHelper<T> = {\n requestId: string\n parallelDefaultValue: boolean\n response: AjaxResult<BatchPayload<T>>\n // status: number\n // data: BatchPayloadResult<T>\n // time: PayloadTime\n restrictionManager: RestrictionManager\n}\n\nexport type ResultItems<T> = Map<string | number, AjaxResult<T>>\n\nexport interface IProcessingStrategy {\n prepareCommands(calls: unknown, options: GetCommandsOptions): BatchCommandV3[]\n buildCommands(commands: BatchCommandV3[]): unknown\n prepareItems<T>(commands: BatchCommandV3[], responseHelper: ResponseHelper<T>): Promise<ResultItems<T>>\n handleResults<T>(commands: BatchCommandV3[], results: ResultItems<T>, responseHelper: ResponseHelper<T>): Promise<Result<ICallBatchResult<T>>>\n}\n\nexport abstract class AbstractProcessing implements IProcessingStrategy {\n public abstract prepareCommands(calls: unknown, options: GetCommandsOptions): BatchCommandV3[]\n public abstract buildCommands(commands: BatchCommandV3[]): unknown\n\n // region prepareItems ////\n public abstract prepareItems<T>(\n commands: BatchCommandV3[],\n responseHelper: ResponseHelper<T>\n ): Promise<ResultItems<T>>\n\n protected abstract _processResponseItem<T>(\n command: BatchCommandV3,\n index: string | number,\n responseHelper: ResponseHelper<T>,\n results: Map<string | number, AjaxResult<T>>\n ): Promise<void>\n // endregion ////\n\n // region handleResults ////\n public abstract handleResults<T>(commands: BatchCommandV3[], results: ResultItems<T>, responseHelper: ResponseHelper<T>): Promise<Result<ICallBatchResult<T>>>\n\n protected abstract _processResponseError<T>(result: Result<ICallBatchResult<T>>, ajaxError: AjaxError, index: string): void\n // endregion ////\n\n // region Tools ////\n protected _getBatchResultByIndex<T>(\n data: T[] | Record<string | number, T> | undefined,\n index: string | number\n ): T | undefined {\n if (!data) return undefined\n\n if (Array.isArray(data)) {\n return data[index as number]\n }\n\n return (data as Record<string | number, T>)[index]\n }\n\n protected _createErrorFromAjaxResult(ajaxResult: AjaxResult): AjaxError {\n if (ajaxResult.hasError('base-error')) {\n return ajaxResult.errors.get('base-error') as AjaxError\n }\n\n return new AjaxError({\n code: 'JSSDK_BATCH_SUB_ERROR',\n description: ajaxResult.getErrorMessages().join('; '),\n status: ajaxResult.getStatus(),\n requestInfo: { ...ajaxResult.getQuery() },\n originalError: ajaxResult.getErrors().next().value\n })\n }\n // endregion ////\n}\n"],"names":[],"mappings":";;;;;;;;;;;;AA+BO,MAAe,kBAAA,CAAkD;AAAA,EA/BxE;AA+BwE,IAAA,MAAA,CAAA,IAAA,EAAA,oBAAA,CAAA;AAAA;AAAA;AAAA;AAAA,EAyB5D,sBAAA,CACR,MACA,KAAA,EACe;AACf,IAAA,IAAI,CAAC,MAAM,OAAO,MAAA;AAElB,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,IAAI,CAAA,EAAG;AACvB,MAAA,OAAO,KAAK,KAAe,CAAA;AAAA,IAC7B;AAEA,IAAA,OAAQ,KAAoC,KAAK,CAAA;AAAA,EACnD;AAAA,EAEU,2BAA2B,UAAA,EAAmC;AACtE,IAAA,IAAI,UAAA,CAAW,QAAA,CAAS,YAAY,CAAA,EAAG;AACrC,MAAA,OAAO,UAAA,CAAW,MAAA,CAAO,GAAA,CAAI,YAAY,CAAA;AAAA,IAC3C;AAEA,IAAA,OAAO,IAAI,SAAA,CAAU;AAAA,MACnB,IAAA,EAAM,uBAAA;AAAA,MACN,WAAA,EAAa,UAAA,CAAW,gBAAA,EAAiB,CAAE,KAAK,IAAI,CAAA;AAAA,MACpD,MAAA,EAAQ,WAAW,SAAA,EAAU;AAAA,MAC7B,WAAA,EAAa,EAAE,GAAG,UAAA,CAAW,UAAS,EAAE;AAAA,MACxC,aAAA,EAAe,UAAA,CAAW,SAAA,EAAU,CAAE,MAAK,CAAE;AAAA,KAC9C,CAAA;AAAA,EACH;AAAA;AAEF;;;;"}
|
|
@@ -0,0 +1,121 @@
|
|
|
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 * as qs from 'qs-esm';
|
|
10
|
+
import { AbstractProcessing } from '../interface-strategy.mjs';
|
|
11
|
+
import { SdkError } from '../../../../sdk-error.mjs';
|
|
12
|
+
import { AjaxResult } from '../../../../http/ajax-result.mjs';
|
|
13
|
+
import { Result } from '../../../../result.mjs';
|
|
14
|
+
|
|
15
|
+
var __defProp = Object.defineProperty;
|
|
16
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
17
|
+
class AbstractProcessingV2 extends AbstractProcessing {
|
|
18
|
+
static {
|
|
19
|
+
__name(this, "AbstractProcessingV2");
|
|
20
|
+
}
|
|
21
|
+
_buildRow(command) {
|
|
22
|
+
return `${command.method}?${qs.stringify(command.query || {})}`;
|
|
23
|
+
}
|
|
24
|
+
buildCommands(commands) {
|
|
25
|
+
if (commands.length < 1) {
|
|
26
|
+
throw new SdkError({
|
|
27
|
+
code: "JSSDK_INTERACTION_BATCH_STRATEGY_V2_EMPTY_COMMANDS",
|
|
28
|
+
description: "commands not set",
|
|
29
|
+
status: 500
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
const firstCommand = commands[0];
|
|
33
|
+
const asObject = typeof firstCommand.as === "string" && firstCommand.as.length > 0;
|
|
34
|
+
if (asObject) {
|
|
35
|
+
const result2 = {};
|
|
36
|
+
for (const command of commands) {
|
|
37
|
+
result2[command.as] = this._buildRow(command);
|
|
38
|
+
}
|
|
39
|
+
return result2;
|
|
40
|
+
}
|
|
41
|
+
const result = [];
|
|
42
|
+
for (const command of commands) {
|
|
43
|
+
result.push(this._buildRow(command));
|
|
44
|
+
}
|
|
45
|
+
return result;
|
|
46
|
+
}
|
|
47
|
+
// region prepareItems ////
|
|
48
|
+
async prepareItems(commands, responseHelper) {
|
|
49
|
+
const results = /* @__PURE__ */ new Map();
|
|
50
|
+
for (const [index, command] of commands.entries()) {
|
|
51
|
+
await this._processResponseItem(
|
|
52
|
+
command,
|
|
53
|
+
// @memo for apiVer2 in this pace we get objectIndex from `command.as` OR array `index` from `commands[]`
|
|
54
|
+
command.as ?? index,
|
|
55
|
+
responseHelper,
|
|
56
|
+
results
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
return results;
|
|
60
|
+
}
|
|
61
|
+
async _processResponseItem(command, index, responseHelper, results) {
|
|
62
|
+
const responseResult = responseHelper.response.getData().result;
|
|
63
|
+
const resultData = this._getBatchResultByIndex(responseResult.result, index);
|
|
64
|
+
const resultError = this._getBatchResultByIndex(responseResult.result_error, index);
|
|
65
|
+
if (typeof resultData !== "undefined" || typeof resultError !== "undefined") {
|
|
66
|
+
const methodName = command.method;
|
|
67
|
+
const resultTime = this._getBatchResultByIndex(responseResult.result_time, index);
|
|
68
|
+
if (typeof resultTime !== "undefined") {
|
|
69
|
+
await responseHelper.restrictionManager.updateStats(responseHelper.requestId, `batch::${methodName}`, resultTime);
|
|
70
|
+
}
|
|
71
|
+
const result = new AjaxResult({
|
|
72
|
+
answer: {
|
|
73
|
+
error: resultError ? typeof resultError === "string" ? resultError : resultError.error : void 0,
|
|
74
|
+
error_description: resultError ? typeof resultError === "string" ? void 0 : resultError.error_description : void 0,
|
|
75
|
+
result: resultData ?? {},
|
|
76
|
+
total: Number.parseInt(this._getBatchResultByIndex(responseResult.result_total, index) || "0"),
|
|
77
|
+
next: Number.parseInt(this._getBatchResultByIndex(responseResult.result_next, index) || "0"),
|
|
78
|
+
time: resultTime
|
|
79
|
+
},
|
|
80
|
+
query: {
|
|
81
|
+
method: methodName,
|
|
82
|
+
params: command.query || {},
|
|
83
|
+
requestId: responseHelper.requestId
|
|
84
|
+
},
|
|
85
|
+
status: responseHelper.response.getStatus()
|
|
86
|
+
});
|
|
87
|
+
results.set(index, result);
|
|
88
|
+
return;
|
|
89
|
+
}
|
|
90
|
+
if (responseHelper.parallelDefaultValue) {
|
|
91
|
+
throw new SdkError({
|
|
92
|
+
code: "JSSDK_INTERACTION_BATCH_STRATEGY_V2_EMPTY_COMMAND_RESPONSE",
|
|
93
|
+
description: `There were difficulties parsing the response for batch { index: ${index}, method: ${command.method} }`,
|
|
94
|
+
status: 500
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
// endregion ////
|
|
99
|
+
// region handleResults ////
|
|
100
|
+
async handleResults(_commands, results, responseHelper) {
|
|
101
|
+
const result = new Result();
|
|
102
|
+
const dataResult = /* @__PURE__ */ new Map();
|
|
103
|
+
for (const [index, data] of results) {
|
|
104
|
+
if (data.getStatus() !== 200 || !data.isSuccess) {
|
|
105
|
+
const ajaxError = this._createErrorFromAjaxResult(data);
|
|
106
|
+
this._processResponseError(result, ajaxError, `${index}`);
|
|
107
|
+
dataResult.set(index, data);
|
|
108
|
+
}
|
|
109
|
+
dataResult.set(index, data);
|
|
110
|
+
}
|
|
111
|
+
result.setData({
|
|
112
|
+
result: dataResult,
|
|
113
|
+
time: responseHelper.response.getData().time
|
|
114
|
+
});
|
|
115
|
+
return result;
|
|
116
|
+
}
|
|
117
|
+
// endregion ////
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
export { AbstractProcessingV2 };
|
|
121
|
+
//# sourceMappingURL=abstract-processing.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-processing.mjs","sources":["../../../../../../../src/core/interaction/batch/processing/v2/abstract-processing.ts"],"sourcesContent":["import type { BatchCommandV3, ICallBatchResult } from '../../../../../types/http'\nimport type { IProcessingStrategy, ResponseHelper, ResultItems } from '../interface-strategy'\nimport type { BatchResponseData } from '../../abstract-interaction-batch'\nimport * as qs from 'qs-esm'\nimport { AbstractProcessing } from '../interface-strategy'\nimport { SdkError } from '../../../../sdk-error'\nimport { AjaxResult } from '../../../../http/ajax-result'\nimport { Result } from '../../../../result'\n\nexport abstract class AbstractProcessingV2 extends AbstractProcessing implements IProcessingStrategy {\n protected _buildRow(command: BatchCommandV3): string {\n return `${command.method}?${qs.stringify(command.query || {})}`\n }\n\n public buildCommands(commands: BatchCommandV3[]): string[] | Record<string, string> {\n if (commands.length < 1) {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_STRATEGY_V2_EMPTY_COMMANDS',\n description: 'commands not set',\n status: 500\n })\n }\n\n const firstCommand = commands[0]!\n const asObject = (typeof firstCommand.as === 'string' && firstCommand.as.length > 0)\n\n if (asObject) {\n const result: Record<string, string> = {}\n\n for (const command of commands) {\n result[command.as!] = this._buildRow(command)\n }\n return result\n }\n\n const result: string[] = []\n\n for (const command of commands) {\n result.push(this._buildRow(command))\n }\n return result\n }\n\n // region prepareItems ////\n public override async prepareItems<T>(\n commands: BatchCommandV3[],\n responseHelper: ResponseHelper<T>\n ): Promise<ResultItems<T>> {\n const results: ResultItems<T> = new Map()\n\n for (const [index, command] of commands.entries()) {\n await this._processResponseItem<T>(\n command,\n // @memo for apiVer2 in this pace we get objectIndex from `command.as` OR array `index` from `commands[]`\n command.as ?? index,\n responseHelper,\n results\n )\n }\n\n return results\n }\n\n protected override async _processResponseItem<T>(\n command: BatchCommandV3,\n index: string | number,\n responseHelper: ResponseHelper<T>,\n results: Map<string | number, AjaxResult<T>>\n ): Promise<void> {\n const responseResult = responseHelper.response.getData()!.result as BatchResponseData<T>\n const resultData = this._getBatchResultByIndex(responseResult.result, index)\n const resultError = this._getBatchResultByIndex(responseResult.result_error, index)\n\n if (\n typeof resultData !== 'undefined'\n || typeof resultError !== 'undefined'\n ) {\n const methodName = command.method\n\n // Update operating statistics for each method in the batch\n const resultTime = this._getBatchResultByIndex(responseResult.result_time, index)\n if (typeof resultTime !== 'undefined') {\n await responseHelper.restrictionManager.updateStats(responseHelper.requestId, `batch::${methodName}`, resultTime)\n }\n\n const result = new AjaxResult<T>({\n answer: {\n error: resultError ? (typeof resultError === 'string' ? resultError : resultError.error) : undefined,\n error_description: resultError ? (typeof resultError === 'string' ? undefined : resultError.error_description) : undefined,\n result: (resultData ?? {}) as T,\n total: Number.parseInt(this._getBatchResultByIndex(responseResult.result_total, index) || '0'),\n next: Number.parseInt(this._getBatchResultByIndex(responseResult.result_next, index) || '0'),\n time: resultTime!\n },\n query: {\n method: methodName,\n params: command.query || {},\n requestId: responseHelper.requestId\n },\n status: responseHelper.response.getStatus()\n })\n\n results.set(index, result)\n\n return\n }\n\n if (responseHelper.parallelDefaultValue) {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_STRATEGY_V2_EMPTY_COMMAND_RESPONSE',\n description: `There were difficulties parsing the response for batch { index: ${index}, method: ${command.method} }`,\n status: 500\n })\n }\n }\n // endregion ////\n\n // region handleResults ////\n public override async handleResults<T>(_commands: BatchCommandV3[], results: ResultItems<T>, responseHelper: ResponseHelper<T>): Promise<Result<ICallBatchResult<T>>> {\n const result = new Result<ICallBatchResult<T>>()\n const dataResult: ResultItems<T> = new Map()\n\n for (const [index, data] of results) {\n if (data.getStatus() !== 200 || !data.isSuccess) {\n const ajaxError = this._createErrorFromAjaxResult(data)\n\n /*\n * This should contain code similar to #isOperatingLimitError with a check for\n * the error 'Method is blocked due to operation time limit.'\n * However, `batch` is executed without retries, so there will be an immediate error.\n */\n\n // @todo fix docs\n // @memo we not throw ajaxError\n this._processResponseError<T>(result, ajaxError, `${index}`)\n dataResult.set(index, data)\n\n // if (responseHelper.parallelDefaultValue && !data.isSuccess) {\n // this._processResponseError<T>(result, ajaxError, `${index}`)\n // dataResult.set(index, data)\n // continue\n // }\n //\n // throw ajaxError\n }\n\n dataResult.set(index, data)\n }\n\n result.setData({\n result: dataResult,\n time: responseHelper.response.getData()!.time\n })\n\n return result\n }\n // endregion ////\n}\n"],"names":["result"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 { AbstractProcessingV2 } from './abstract-processing.mjs';
|
|
10
|
+
import { ParseRow } from '../../parse-row.mjs';
|
|
11
|
+
|
|
12
|
+
var __defProp = Object.defineProperty;
|
|
13
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
14
|
+
class ProcessingAsArrayV2 extends AbstractProcessingV2 {
|
|
15
|
+
static {
|
|
16
|
+
__name(this, "ProcessingAsArrayV2");
|
|
17
|
+
}
|
|
18
|
+
prepareCommands(calls, options) {
|
|
19
|
+
const result = [];
|
|
20
|
+
calls.forEach((row) => {
|
|
21
|
+
const command = ParseRow.getBatchCommand(row, options);
|
|
22
|
+
result.push(command);
|
|
23
|
+
});
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
_processResponseError(result, ajaxError, _index) {
|
|
27
|
+
result.addError(ajaxError);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { ProcessingAsArrayV2 };
|
|
32
|
+
//# sourceMappingURL=as-array.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-array.mjs","sources":["../../../../../../../src/core/interaction/batch/processing/v2/as-array.ts"],"sourcesContent":["import type { GetCommandsOptions, IProcessingStrategy } from '../interface-strategy'\nimport type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchCommandV3, ICallBatchResult\n} from '../../../../../types/http'\nimport type { Result } from '../../../../result'\nimport type { AjaxError } from '../../../../http/ajax-error'\nimport { AbstractProcessingV2 } from './abstract-processing'\nimport { ParseRow } from '../../parse-row'\n\nexport class ProcessingAsArrayV2 extends AbstractProcessingV2 implements IProcessingStrategy {\n public prepareCommands(\n calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal,\n options: GetCommandsOptions\n ): BatchCommandV3[] {\n const result: BatchCommandV3[] = []\n calls.forEach((row) => {\n const command = ParseRow.getBatchCommand(row, options)\n result.push(command)\n })\n\n return result\n }\n\n protected _processResponseError<T>(\n result: Result<ICallBatchResult<T>>,\n ajaxError: AjaxError,\n _index: string\n ): void {\n result.addError(ajaxError)\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAWO,MAAM,4BAA4B,oBAAA,CAAoD;AAAA,EAX7F;AAW6F,IAAA,MAAA,CAAA,IAAA,EAAA,qBAAA,CAAA;AAAA;AAAA,EACpF,eAAA,CACL,OACA,OAAA,EACkB;AAClB,IAAA,MAAM,SAA2B,EAAC;AAClC,IAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACrB,MAAA,MAAM,OAAA,GAAU,QAAA,CAAS,eAAA,CAAgB,GAAA,EAAK,OAAO,CAAA;AACrD,MAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AAAA,IACrB,CAAC,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT;AAAA,EAEU,qBAAA,CACR,MAAA,EACA,SAAA,EACA,MAAA,EACM;AACN,IAAA,MAAA,CAAO,SAAS,SAAS,CAAA;AAAA,EAC3B;AACF;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 { AbstractProcessingV2 } from './abstract-processing.mjs';
|
|
10
|
+
import { ParseRow } from '../../parse-row.mjs';
|
|
11
|
+
|
|
12
|
+
var __defProp = Object.defineProperty;
|
|
13
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
14
|
+
class ProcessingAsObjectV2 extends AbstractProcessingV2 {
|
|
15
|
+
static {
|
|
16
|
+
__name(this, "ProcessingAsObjectV2");
|
|
17
|
+
}
|
|
18
|
+
prepareCommands(calls, options) {
|
|
19
|
+
const result = [];
|
|
20
|
+
Object.entries(calls).forEach(([index, row]) => {
|
|
21
|
+
const command = ParseRow.getBatchCommand(row, { ...options, asDefaultValue: index });
|
|
22
|
+
result.push(command);
|
|
23
|
+
});
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
_processResponseError(result, ajaxError, index) {
|
|
27
|
+
result.addError(ajaxError, index);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { ProcessingAsObjectV2 };
|
|
32
|
+
//# sourceMappingURL=as-object.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-object.mjs","sources":["../../../../../../../src/core/interaction/batch/processing/v2/as-object.ts"],"sourcesContent":["import type { GetCommandsOptions, IProcessingStrategy } from '../interface-strategy'\nimport type {\n BatchCommandV3, BatchNamedCommandsUniversal, ICallBatchResult\n} from '../../../../../types/http'\nimport type { Result } from '../../../../result'\nimport type { AjaxError } from '../../../../http/ajax-error'\nimport { AbstractProcessingV2 } from './abstract-processing'\nimport { ParseRow } from '../../parse-row'\n\nexport class ProcessingAsObjectV2 extends AbstractProcessingV2 implements IProcessingStrategy {\n public prepareCommands(\n calls: BatchNamedCommandsUniversal,\n options: GetCommandsOptions\n ): BatchCommandV3[] {\n const result: BatchCommandV3[] = []\n Object.entries(calls).forEach(([index, row]) => {\n const command = ParseRow.getBatchCommand(row, { ...options, asDefaultValue: index })\n result.push(command)\n })\n\n return result\n }\n\n protected _processResponseError<T>(\n result: Result<ICallBatchResult<T>>,\n ajaxError: AjaxError,\n index: string\n ): void {\n result.addError(ajaxError, index)\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AASO,MAAM,6BAA6B,oBAAA,CAAoD;AAAA,EAT9F;AAS8F,IAAA,MAAA,CAAA,IAAA,EAAA,sBAAA,CAAA;AAAA;AAAA,EACrF,eAAA,CACL,OACA,OAAA,EACkB;AAClB,IAAA,MAAM,SAA2B,EAAC;AAClC,IAAA,MAAA,CAAO,OAAA,CAAQ,KAAK,CAAA,CAAE,OAAA,CAAQ,CAAC,CAAC,KAAA,EAAO,GAAG,CAAA,KAAM;AAC9C,MAAA,MAAM,OAAA,GAAU,SAAS,eAAA,CAAgB,GAAA,EAAK,EAAE,GAAG,OAAA,EAAS,cAAA,EAAgB,KAAA,EAAO,CAAA;AACnF,MAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AAAA,IACrB,CAAC,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT;AAAA,EAEU,qBAAA,CACR,MAAA,EACA,SAAA,EACA,KAAA,EACM;AACN,IAAA,MAAA,CAAO,QAAA,CAAS,WAAW,KAAK,CAAA;AAAA,EAClC;AACF;;;;"}
|
|
@@ -0,0 +1,118 @@
|
|
|
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 { AbstractProcessing } from '../interface-strategy.mjs';
|
|
10
|
+
import { SdkError } from '../../../../sdk-error.mjs';
|
|
11
|
+
import { AjaxResult } from '../../../../http/ajax-result.mjs';
|
|
12
|
+
import { Result } from '../../../../result.mjs';
|
|
13
|
+
|
|
14
|
+
var __defProp = Object.defineProperty;
|
|
15
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
16
|
+
class AbstractProcessingV3 extends AbstractProcessing {
|
|
17
|
+
static {
|
|
18
|
+
__name(this, "AbstractProcessingV3");
|
|
19
|
+
}
|
|
20
|
+
buildCommands(commands) {
|
|
21
|
+
if (commands.length < 1) {
|
|
22
|
+
throw new SdkError({
|
|
23
|
+
code: "JSSDK_INTERACTION_BATCH_BUILD_STRATEGY_V3_EMPTY_COMMANDS",
|
|
24
|
+
description: "commands not set",
|
|
25
|
+
status: 500
|
|
26
|
+
});
|
|
27
|
+
}
|
|
28
|
+
return commands;
|
|
29
|
+
}
|
|
30
|
+
// region prepareItems ////
|
|
31
|
+
async prepareItems(commands, responseHelper) {
|
|
32
|
+
const results = /* @__PURE__ */ new Map();
|
|
33
|
+
if (!responseHelper.response.isSuccess) {
|
|
34
|
+
return results;
|
|
35
|
+
}
|
|
36
|
+
for (const [index, command] of commands.entries()) {
|
|
37
|
+
await this._processResponseItem(
|
|
38
|
+
command,
|
|
39
|
+
// @memo for apiVer3 in this pace we get objectIndex from array `index` from `commands[]`
|
|
40
|
+
index,
|
|
41
|
+
responseHelper,
|
|
42
|
+
results
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
return results;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* @todo ! api ver3 waite docs
|
|
49
|
+
*/
|
|
50
|
+
async _processResponseItem(command, index, responseHelper, results) {
|
|
51
|
+
const responseResult = responseHelper.response.getData().result;
|
|
52
|
+
const resultData = this._getBatchResultByIndex(responseResult, index);
|
|
53
|
+
const methodName = command.method;
|
|
54
|
+
const resultError = void 0;
|
|
55
|
+
const resultTime = responseHelper.response.getData().time;
|
|
56
|
+
if (typeof resultTime !== "undefined") {
|
|
57
|
+
await responseHelper.restrictionManager.updateStats(responseHelper.requestId, `batch::${methodName}`, resultTime);
|
|
58
|
+
}
|
|
59
|
+
const result = new AjaxResult({
|
|
60
|
+
answer: {
|
|
61
|
+
result: resultData ?? {},
|
|
62
|
+
error: resultError,
|
|
63
|
+
time: resultTime
|
|
64
|
+
},
|
|
65
|
+
query: {
|
|
66
|
+
method: command.method,
|
|
67
|
+
params: command.query || {},
|
|
68
|
+
requestId: responseHelper.requestId
|
|
69
|
+
},
|
|
70
|
+
status: responseHelper.response.getStatus()
|
|
71
|
+
});
|
|
72
|
+
results.set(index, result);
|
|
73
|
+
return;
|
|
74
|
+
}
|
|
75
|
+
// endregion ////
|
|
76
|
+
// region handleResults ////
|
|
77
|
+
async handleResults(commands, results, responseHelper) {
|
|
78
|
+
const result = new Result();
|
|
79
|
+
const dataResult = /* @__PURE__ */ new Map();
|
|
80
|
+
if (!responseHelper.response.isSuccess) {
|
|
81
|
+
for (const [index, error] of responseHelper.response.errors) {
|
|
82
|
+
result.addError(error, index);
|
|
83
|
+
}
|
|
84
|
+
result.setData({
|
|
85
|
+
result: dataResult,
|
|
86
|
+
time: void 0
|
|
87
|
+
});
|
|
88
|
+
return result;
|
|
89
|
+
}
|
|
90
|
+
for (const [index, data] of results) {
|
|
91
|
+
const rowIndex = Number.parseInt(`${index}`);
|
|
92
|
+
const command = commands[rowIndex];
|
|
93
|
+
if (typeof command === "undefined") {
|
|
94
|
+
throw new SdkError({
|
|
95
|
+
code: "JSSDK_INTERACTION_BATCH_BUILD_STRATEGY_V3_EMPTY_COMMAND",
|
|
96
|
+
description: `command for index ${index} not set`,
|
|
97
|
+
status: 500
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
const commandIndex = command.as ?? index;
|
|
101
|
+
if (data.getStatus() !== 200 || !data.isSuccess) {
|
|
102
|
+
const ajaxError = this._createErrorFromAjaxResult(data);
|
|
103
|
+
this._processResponseError(result, ajaxError, `${commandIndex}`);
|
|
104
|
+
dataResult.set(commandIndex, data);
|
|
105
|
+
}
|
|
106
|
+
dataResult.set(commandIndex, data);
|
|
107
|
+
}
|
|
108
|
+
result.setData({
|
|
109
|
+
result: dataResult,
|
|
110
|
+
time: responseHelper.response.getData().time
|
|
111
|
+
});
|
|
112
|
+
return result;
|
|
113
|
+
}
|
|
114
|
+
// endregion ////
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
export { AbstractProcessingV3 };
|
|
118
|
+
//# sourceMappingURL=abstract-processing.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"abstract-processing.mjs","sources":["../../../../../../../src/core/interaction/batch/processing/v3/abstract-processing.ts"],"sourcesContent":["import type { BatchCommandV3, ICallBatchResult } from '../../../../../types/http'\nimport type { IProcessingStrategy, ResponseHelper, ResultItems } from '../interface-strategy'\nimport type { BatchResponseData } from '../../abstract-interaction-batch'\nimport { AbstractProcessing } from '../interface-strategy'\nimport { SdkError } from '../../../../sdk-error'\nimport { AjaxResult } from '../../../../http/ajax-result'\nimport { Result } from '../../../../result'\n\nexport abstract class AbstractProcessingV3 extends AbstractProcessing implements IProcessingStrategy {\n public buildCommands(commands: BatchCommandV3[]): BatchCommandV3[] {\n if (commands.length < 1) {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_BUILD_STRATEGY_V3_EMPTY_COMMANDS',\n description: 'commands not set',\n status: 500\n })\n }\n\n return commands\n }\n\n // region prepareItems ////\n public override async prepareItems<T>(\n commands: BatchCommandV3[],\n responseHelper: ResponseHelper<T>\n ): Promise<ResultItems<T>> {\n const results: ResultItems<T> = new Map()\n\n /**\n * In API V3, batch processing does not return data for each row in case of parallel processing errors.\n *\n * @see AbstractProcessingV3.handleResults()\n *\n * @todo ! api ver3 waite docs - this fake\n */\n if (!responseHelper.response.isSuccess) {\n return results\n }\n\n for (const [index, command] of commands.entries()) {\n await this._processResponseItem<T>(\n command,\n // @memo for apiVer3 in this pace we get objectIndex from array `index` from `commands[]`\n index,\n responseHelper,\n results\n )\n }\n\n return results\n }\n\n /**\n * @todo ! api ver3 waite docs\n */\n protected override async _processResponseItem<T>(\n command: BatchCommandV3,\n index: string | number,\n responseHelper: ResponseHelper<T>,\n results: Map<string | number, AjaxResult<T>>\n ): Promise<void> {\n const responseResult = responseHelper.response.getData()!.result as BatchResponseData<T>\n const resultData = this._getBatchResultByIndex((responseResult as T[] | Record<string | number, T> | undefined), index)\n const methodName = command.method\n\n /**\n * @todo ! api ver3 waite docs - this fake\n */\n const resultError = undefined\n\n /**\n * @todo ! api ver3 waite docs - this fake\n */\n const resultTime = responseHelper.response.getData()!.time\n // Update operating statistics for each method in the batch\n if (typeof resultTime !== 'undefined') {\n await responseHelper.restrictionManager.updateStats(responseHelper.requestId, `batch::${methodName}`, resultTime)\n }\n\n const result = new AjaxResult<T>({\n answer: {\n result: (resultData ?? {}) as T,\n error: resultError,\n time: resultTime\n },\n query: {\n method: command.method,\n params: command.query || {},\n requestId: responseHelper.requestId\n },\n status: responseHelper.response.getStatus()\n })\n\n results.set(index, result)\n return\n }\n // endregion ////\n\n // region handleResults ////\n public override async handleResults<T>(commands: BatchCommandV3[], results: ResultItems<T>, responseHelper: ResponseHelper<T>): Promise<Result<ICallBatchResult<T>>> {\n const result = new Result<ICallBatchResult<T>>()\n const dataResult: ResultItems<T> = new Map()\n /**\n * In API V3, batch processing does not return data for each row in case of parallel processing errors.\n *\n * @see AbstractProcessingV3.prepareItems()\n *\n * @todo ! api ver3 waite docs - this fake\n */\n if (!responseHelper.response.isSuccess) {\n for (const [index, error] of responseHelper.response.errors) {\n result.addError(error, index)\n }\n result.setData({\n result: dataResult,\n time: undefined\n })\n return result\n }\n\n for (const [index, data] of results) {\n const rowIndex = Number.parseInt(`${index}`)\n const command = commands[rowIndex]\n if (typeof command === 'undefined') {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_BUILD_STRATEGY_V3_EMPTY_COMMAND',\n description: `command for index ${index} not set`,\n status: 500\n })\n }\n\n const commandIndex = command.as ?? index\n if (data.getStatus() !== 200 || !data.isSuccess) {\n const ajaxError = this._createErrorFromAjaxResult(data)\n\n /*\n * This should contain code similar to #isOperatingLimitError with a check for\n * the error 'Method is blocked due to operation time limit.'\n * However, `batch` is executed without retries, so there will be an immediate error.\n */\n\n // @todo fix docs\n // @memo we not throw ajaxError\n this._processResponseError<T>(result, ajaxError, `${commandIndex}`)\n dataResult.set(commandIndex, data)\n\n // if (responseHelper.parallelDefaultValue && !data.isSuccess) {\n // this._processResponseError<T>(result, ajaxError, `${index}`)\n // dataResult.set(index, data)\n // continue\n // }\n //\n // throw ajaxError\n }\n\n dataResult.set(commandIndex, data)\n }\n\n result.setData({\n result: dataResult,\n time: responseHelper.response.getData()!.time\n })\n\n return result\n }\n // endregion ////\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
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 { AbstractProcessingV3 } from './abstract-processing.mjs';
|
|
10
|
+
import { ParseRow } from '../../parse-row.mjs';
|
|
11
|
+
|
|
12
|
+
var __defProp = Object.defineProperty;
|
|
13
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
14
|
+
class ProcessingAsArrayV3 extends AbstractProcessingV3 {
|
|
15
|
+
static {
|
|
16
|
+
__name(this, "ProcessingAsArrayV3");
|
|
17
|
+
}
|
|
18
|
+
prepareCommands(calls, options) {
|
|
19
|
+
const result = [];
|
|
20
|
+
calls.forEach((row) => {
|
|
21
|
+
const command = ParseRow.getBatchCommand(row, options);
|
|
22
|
+
result.push(command);
|
|
23
|
+
});
|
|
24
|
+
return result;
|
|
25
|
+
}
|
|
26
|
+
_processResponseError(result, ajaxError, _index) {
|
|
27
|
+
result.addError(ajaxError);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
export { ProcessingAsArrayV3 };
|
|
32
|
+
//# sourceMappingURL=as-array.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"as-array.mjs","sources":["../../../../../../../src/core/interaction/batch/processing/v3/as-array.ts"],"sourcesContent":["import type { GetCommandsOptions, IProcessingStrategy } from '../interface-strategy'\nimport type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchCommandV3, ICallBatchResult\n} from '../../../../../types/http'\nimport type { Result } from '../../../../result'\nimport type { AjaxError } from '../../../../http/ajax-error'\nimport { AbstractProcessingV3 } from './abstract-processing'\nimport { ParseRow } from '../../parse-row'\n\nexport class ProcessingAsArrayV3 extends AbstractProcessingV3 implements IProcessingStrategy {\n public prepareCommands(\n calls: BatchCommandsArrayUniversal | BatchCommandsObjectUniversal,\n options: GetCommandsOptions\n ): BatchCommandV3[] {\n const result: BatchCommandV3[] = []\n calls.forEach((row) => {\n const command = ParseRow.getBatchCommand(row, options)\n result.push(command)\n })\n\n return result\n }\n\n protected _processResponseError<T>(\n result: Result<ICallBatchResult<T>>,\n ajaxError: AjaxError,\n _index: string\n ): void {\n result.addError(ajaxError)\n }\n}\n"],"names":[],"mappings":";;;;;;;;;;;;;AAWO,MAAM,4BAA4B,oBAAA,CAAoD;AAAA,EAX7F;AAW6F,IAAA,MAAA,CAAA,IAAA,EAAA,qBAAA,CAAA;AAAA;AAAA,EACpF,eAAA,CACL,OACA,OAAA,EACkB;AAClB,IAAA,MAAM,SAA2B,EAAC;AAClC,IAAA,KAAA,CAAM,OAAA,CAAQ,CAAC,GAAA,KAAQ;AACrB,MAAA,MAAM,OAAA,GAAU,QAAA,CAAS,eAAA,CAAgB,GAAA,EAAK,OAAO,CAAA;AACrD,MAAA,MAAA,CAAO,KAAK,OAAO,CAAA;AAAA,IACrB,CAAC,CAAA;AAED,IAAA,OAAO,MAAA;AAAA,EACT;AAAA,EAEU,qBAAA,CACR,MAAA,EACA,SAAA,EACA,MAAA,EACM;AACN,IAAA,MAAA,CAAO,SAAS,SAAS,CAAA;AAAA,EAC3B;AACF;;;;"}
|