@bitrix24/b24jssdk 1.3.0 → 2.0.0
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 +3 -2
- package/README.md +2 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs +19 -0
- package/dist/cjs/_virtual/_commonjsHelpers.cjs.map +1 -0
- package/dist/cjs/_virtual/protobuf.cjs +20 -0
- package/dist/cjs/_virtual/protobuf.cjs.map +1 -0
- package/dist/cjs/_virtual/protobuf2.cjs +14 -0
- package/dist/cjs/_virtual/protobuf2.cjs.map +1 -0
- package/dist/cjs/core/abstract-b24.cjs +357 -0
- package/dist/cjs/core/abstract-b24.cjs.map +1 -0
- package/dist/cjs/core/actions/abstract-action.cjs +26 -0
- package/dist/cjs/core/actions/abstract-action.cjs.map +1 -0
- package/dist/cjs/core/actions/abstract-batch.cjs +97 -0
- package/dist/cjs/core/actions/abstract-batch.cjs.map +1 -0
- package/dist/cjs/core/actions/manager.cjs +55 -0
- package/dist/cjs/core/actions/manager.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/batch-by-chunk.cjs +95 -0
- package/dist/cjs/core/actions/v2/batch-by-chunk.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/batch.cjs +128 -0
- package/dist/cjs/core/actions/v2/batch.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/call-list.cjs +144 -0
- package/dist/cjs/core/actions/v2/call-list.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/call.cjs +56 -0
- package/dist/cjs/core/actions/v2/call.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/fetch-list.cjs +145 -0
- package/dist/cjs/core/actions/v2/fetch-list.cjs.map +1 -0
- package/dist/cjs/core/actions/v2/manager-v2.cjs +76 -0
- package/dist/cjs/core/actions/v2/manager-v2.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/_keyset-paginate.cjs +69 -0
- package/dist/cjs/core/actions/v3/_keyset-paginate.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/aggregate.cjs +96 -0
- package/dist/cjs/core/actions/v3/aggregate.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/batch-by-chunk.cjs +93 -0
- package/dist/cjs/core/actions/v3/batch-by-chunk.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/batch.cjs +122 -0
- package/dist/cjs/core/actions/v3/batch.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/call-list.cjs +126 -0
- package/dist/cjs/core/actions/v3/call-list.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/call-tail.cjs +118 -0
- package/dist/cjs/core/actions/v3/call-tail.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/call.cjs +51 -0
- package/dist/cjs/core/actions/v3/call.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/fetch-list.cjs +122 -0
- package/dist/cjs/core/actions/v3/fetch-list.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/fetch-tail.cjs +112 -0
- package/dist/cjs/core/actions/v3/fetch-tail.cjs.map +1 -0
- package/dist/cjs/core/actions/v3/manager-v3.cjs +100 -0
- package/dist/cjs/core/actions/v3/manager-v3.cjs.map +1 -0
- package/dist/cjs/core/http/abstract-http.cjs +641 -0
- package/dist/cjs/core/http/abstract-http.cjs.map +1 -0
- package/dist/cjs/core/http/ajax-error.cjs +113 -0
- package/dist/cjs/core/http/ajax-error.cjs.map +1 -0
- package/dist/cjs/core/http/ajax-result.cjs +219 -0
- package/dist/cjs/core/http/ajax-result.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/adaptive-delayer.cjs +137 -0
- package/dist/cjs/core/http/limiters/adaptive-delayer.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/manager.cjs +373 -0
- package/dist/cjs/core/http/limiters/manager.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/operating-limiter.cjs +173 -0
- package/dist/cjs/core/http/limiters/operating-limiter.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/params-factory.cjs +124 -0
- package/dist/cjs/core/http/limiters/params-factory.cjs.map +1 -0
- package/dist/cjs/core/http/limiters/rate-limiter.cjs +404 -0
- package/dist/cjs/core/http/limiters/rate-limiter.cjs.map +1 -0
- package/dist/cjs/core/http/redact.cjs +85 -0
- package/dist/cjs/core/http/redact.cjs.map +1 -0
- package/dist/cjs/core/http/v2.cjs +85 -0
- package/dist/cjs/core/http/v2.cjs.map +1 -0
- package/dist/cjs/core/http/v3.cjs +82 -0
- package/dist/cjs/core/http/v3.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs +71 -0
- package/dist/cjs/core/interaction/batch/abstract-interaction-batch.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/parse-row.cjs +69 -0
- package/dist/cjs/core/interaction/batch/parse-row.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs +87 -0
- package/dist/cjs/core/interaction/batch/processing/interface-strategy.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs +138 -0
- package/dist/cjs/core/interaction/batch/processing/v2/abstract-processing.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs +34 -0
- package/dist/cjs/core/interaction/batch/processing/v2/as-array.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs +34 -0
- package/dist/cjs/core/interaction/batch/processing/v2/as-object.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs +115 -0
- package/dist/cjs/core/interaction/batch/processing/v3/abstract-processing.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs +34 -0
- package/dist/cjs/core/interaction/batch/processing/v3/as-array.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs +34 -0
- package/dist/cjs/core/interaction/batch/processing/v3/as-object.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/v2.cjs +47 -0
- package/dist/cjs/core/interaction/batch/v2.cjs.map +1 -0
- package/dist/cjs/core/interaction/batch/v3.cjs +45 -0
- package/dist/cjs/core/interaction/batch/v3.cjs.map +1 -0
- package/dist/cjs/core/language/list.cjs +59 -0
- package/dist/cjs/core/language/list.cjs.map +1 -0
- package/dist/cjs/core/request-id-generator.cjs +44 -0
- package/dist/cjs/core/request-id-generator.cjs.map +1 -0
- package/dist/cjs/core/result.cjs +137 -0
- package/dist/cjs/core/result.cjs.map +1 -0
- package/dist/cjs/core/sdk-error.cjs +85 -0
- package/dist/cjs/core/sdk-error.cjs.map +1 -0
- package/dist/cjs/core/tools/abstract-tool.cjs +26 -0
- package/dist/cjs/core/tools/abstract-tool.cjs.map +1 -0
- package/dist/cjs/core/tools/healthcheck.cjs +50 -0
- package/dist/cjs/core/tools/healthcheck.cjs.map +1 -0
- package/dist/cjs/core/tools/manager.cjs +52 -0
- package/dist/cjs/core/tools/manager.cjs.map +1 -0
- package/dist/cjs/core/tools/ping.cjs +58 -0
- package/dist/cjs/core/tools/ping.cjs.map +1 -0
- package/dist/cjs/core/version-manager.cjs +57 -0
- package/dist/cjs/core/version-manager.cjs.map +1 -0
- package/dist/cjs/frame/auth.cjs +100 -0
- package/dist/cjs/frame/auth.cjs.map +1 -0
- package/dist/cjs/frame/b24.cjs +178 -0
- package/dist/cjs/frame/b24.cjs.map +1 -0
- package/dist/cjs/frame/dialog.cjs +120 -0
- package/dist/cjs/frame/dialog.cjs.map +1 -0
- package/dist/cjs/frame/frame.cjs +103 -0
- package/dist/cjs/frame/frame.cjs.map +1 -0
- package/dist/cjs/frame/message/commands.cjs +39 -0
- package/dist/cjs/frame/message/commands.cjs.map +1 -0
- package/dist/cjs/frame/message/controller.cjs +191 -0
- package/dist/cjs/frame/message/controller.cjs.map +1 -0
- package/dist/cjs/frame/options.cjs +108 -0
- package/dist/cjs/frame/options.cjs.map +1 -0
- package/dist/cjs/frame/parent.cjs +259 -0
- package/dist/cjs/frame/parent.cjs.map +1 -0
- package/dist/cjs/frame/placement.cjs +156 -0
- package/dist/cjs/frame/placement.cjs.map +1 -0
- package/dist/cjs/frame/slider.cjs +162 -0
- package/dist/cjs/frame/slider.cjs.map +1 -0
- package/dist/cjs/helper/abstract-helper.cjs +55 -0
- package/dist/cjs/helper/abstract-helper.cjs.map +1 -0
- package/dist/cjs/helper/app-manager.cjs +39 -0
- package/dist/cjs/helper/app-manager.cjs.map +1 -0
- package/dist/cjs/helper/currency-manager.cjs +215 -0
- package/dist/cjs/helper/currency-manager.cjs.map +1 -0
- package/dist/cjs/helper/helper-manager.cjs +397 -0
- package/dist/cjs/helper/helper-manager.cjs.map +1 -0
- package/dist/cjs/helper/license-manager.cjs +52 -0
- package/dist/cjs/helper/license-manager.cjs.map +1 -0
- package/dist/cjs/helper/options-manager.cjs +205 -0
- package/dist/cjs/helper/options-manager.cjs.map +1 -0
- package/dist/cjs/helper/payment-manager.cjs +35 -0
- package/dist/cjs/helper/payment-manager.cjs.map +1 -0
- package/dist/cjs/helper/profile-manager.cjs +35 -0
- package/dist/cjs/helper/profile-manager.cjs.map +1 -0
- package/dist/cjs/helper/use-b24-helper.cjs +85 -0
- package/dist/cjs/helper/use-b24-helper.cjs.map +1 -0
- package/dist/cjs/hook/auth.cjs +79 -0
- package/dist/cjs/hook/auth.cjs.map +1 -0
- package/dist/cjs/hook/b24.cjs +117 -0
- package/dist/cjs/hook/b24.cjs.map +1 -0
- package/dist/cjs/index.cjs +176 -0
- package/dist/cjs/index.cjs.map +1 -0
- package/dist/cjs/index.d.cts +6415 -0
- package/dist/cjs/index.d.mts +6415 -0
- package/dist/cjs/index.d.ts +6415 -0
- package/dist/cjs/loader-b24frame.cjs +103 -0
- package/dist/cjs/loader-b24frame.cjs.map +1 -0
- package/dist/cjs/logger/abstract-logger.cjs +71 -0
- package/dist/cjs/logger/abstract-logger.cjs.map +1 -0
- package/dist/cjs/logger/browser.cjs +165 -0
- package/dist/cjs/logger/browser.cjs.map +1 -0
- package/dist/cjs/logger/formatter/abstract-formatter.cjs +36 -0
- package/dist/cjs/logger/formatter/abstract-formatter.cjs.map +1 -0
- package/dist/cjs/logger/formatter/json-formatter.cjs +36 -0
- package/dist/cjs/logger/formatter/json-formatter.cjs.map +1 -0
- package/dist/cjs/logger/formatter/line-formatter.cjs +43 -0
- package/dist/cjs/logger/formatter/line-formatter.cjs.map +1 -0
- package/dist/cjs/logger/formatter/telegram-formatter.cjs +105 -0
- package/dist/cjs/logger/formatter/telegram-formatter.cjs.map +1 -0
- package/dist/cjs/logger/handler/abstract-handler.cjs +41 -0
- package/dist/cjs/logger/handler/abstract-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/consola-adapter.cjs +64 -0
- package/dist/cjs/logger/handler/consola-adapter.cjs.map +1 -0
- package/dist/cjs/logger/handler/console-handler.cjs +100 -0
- package/dist/cjs/logger/handler/console-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/console-v2-handler.cjs +53 -0
- package/dist/cjs/logger/handler/console-v2-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/memory-handler.cjs +50 -0
- package/dist/cjs/logger/handler/memory-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/stream-handler.cjs +75 -0
- package/dist/cjs/logger/handler/stream-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/telegram-handler.cjs +159 -0
- package/dist/cjs/logger/handler/telegram-handler.cjs.map +1 -0
- package/dist/cjs/logger/handler/winston-adapter.cjs +59 -0
- package/dist/cjs/logger/handler/winston-adapter.cjs.map +1 -0
- package/dist/cjs/logger/logger-factory.cjs +69 -0
- package/dist/cjs/logger/logger-factory.cjs.map +1 -0
- package/dist/cjs/logger/logger.cjs +78 -0
- package/dist/cjs/logger/logger.cjs.map +1 -0
- package/dist/cjs/logger/null-logger.cjs +34 -0
- package/dist/cjs/logger/null-logger.cjs.map +1 -0
- package/dist/cjs/logger/processor/memory-usage-processor.cjs +22 -0
- package/dist/cjs/logger/processor/memory-usage-processor.cjs.map +1 -0
- package/dist/cjs/logger/processor/pid-processor.cjs +22 -0
- package/dist/cjs/logger/processor/pid-processor.cjs.map +1 -0
- package/dist/cjs/oauth/auth.cjs +214 -0
- package/dist/cjs/oauth/auth.cjs.map +1 -0
- package/dist/cjs/oauth/b24.cjs +119 -0
- package/dist/cjs/oauth/b24.cjs.map +1 -0
- package/dist/cjs/oauth/refresh-token-error.cjs +22 -0
- package/dist/cjs/oauth/refresh-token-error.cjs.map +1 -0
- package/dist/cjs/pullClient/abstract-connector.cjs +80 -0
- package/dist/cjs/pullClient/abstract-connector.cjs.map +1 -0
- package/dist/cjs/pullClient/channel-manager.cjs +91 -0
- package/dist/cjs/pullClient/channel-manager.cjs.map +1 -0
- package/dist/cjs/pullClient/client.cjs +2177 -0
- package/dist/cjs/pullClient/client.cjs.map +1 -0
- package/dist/cjs/pullClient/errors.cjs +34 -0
- package/dist/cjs/pullClient/errors.cjs.map +1 -0
- package/dist/cjs/pullClient/json-rpc.cjs +213 -0
- package/dist/cjs/pullClient/json-rpc.cjs.map +1 -0
- package/dist/cjs/pullClient/long-polling-connector.cjs +159 -0
- package/dist/cjs/pullClient/long-polling-connector.cjs.map +1 -0
- package/dist/cjs/pullClient/protobuf/index.cjs +22 -0
- package/dist/cjs/pullClient/protobuf/index.cjs.map +1 -0
- package/dist/cjs/pullClient/protobuf/model.cjs +1060 -0
- package/dist/cjs/pullClient/protobuf/model.cjs.map +1 -0
- package/dist/cjs/pullClient/protobuf/protobuf.cjs +4655 -0
- package/dist/cjs/pullClient/protobuf/protobuf.cjs.map +1 -0
- package/dist/cjs/pullClient/shared-config.cjs +135 -0
- package/dist/cjs/pullClient/shared-config.cjs.map +1 -0
- package/dist/cjs/pullClient/storage-manager.cjs +74 -0
- package/dist/cjs/pullClient/storage-manager.cjs.map +1 -0
- package/dist/cjs/pullClient/web-socket-connector.cjs +131 -0
- package/dist/cjs/pullClient/web-socket-connector.cjs.map +1 -0
- package/dist/cjs/tools/batch-ref-v3.cjs +54 -0
- package/dist/cjs/tools/batch-ref-v3.cjs.map +1 -0
- package/dist/cjs/tools/browser.cjs +156 -0
- package/dist/cjs/tools/browser.cjs.map +1 -0
- package/dist/cjs/tools/environment.cjs +32 -0
- package/dist/cjs/tools/environment.cjs.map +1 -0
- package/dist/cjs/tools/filter-v3.cjs +139 -0
- package/dist/cjs/tools/filter-v3.cjs.map +1 -0
- package/dist/cjs/tools/formatters/iban.cjs +307 -0
- package/dist/cjs/tools/formatters/iban.cjs.map +1 -0
- package/dist/cjs/tools/formatters/numbers.cjs +68 -0
- package/dist/cjs/tools/formatters/numbers.cjs.map +1 -0
- package/dist/cjs/tools/index.cjs +42 -0
- package/dist/cjs/tools/index.cjs.map +1 -0
- package/dist/cjs/tools/scroll-size.cjs +29 -0
- package/dist/cjs/tools/scroll-size.cjs.map +1 -0
- package/dist/cjs/tools/text.cjs +210 -0
- package/dist/cjs/tools/text.cjs.map +1 -0
- package/dist/cjs/tools/type.cjs +339 -0
- package/dist/cjs/tools/type.cjs.map +1 -0
- package/dist/cjs/tools/use-formatters.cjs +462 -0
- package/dist/cjs/tools/use-formatters.cjs.map +1 -0
- package/dist/cjs/tools/uuidv7.cjs +58 -0
- package/dist/cjs/tools/uuidv7.cjs.map +1 -0
- package/dist/cjs/types/b24-helper.cjs +62 -0
- package/dist/cjs/types/b24-helper.cjs.map +1 -0
- package/dist/cjs/types/b24.cjs +18 -0
- package/dist/cjs/types/b24.cjs.map +1 -0
- package/dist/cjs/types/bizproc/index.cjs +195 -0
- package/dist/cjs/types/bizproc/index.cjs.map +1 -0
- package/dist/cjs/types/catalog/index.cjs +39 -0
- package/dist/cjs/types/catalog/index.cjs.map +1 -0
- package/dist/cjs/types/common.cjs +33 -0
- package/dist/cjs/types/common.cjs.map +1 -0
- package/dist/cjs/types/crm/entity-type.cjs +62 -0
- package/dist/cjs/types/crm/entity-type.cjs.map +1 -0
- package/dist/cjs/types/crm/productrow.cjs +19 -0
- package/dist/cjs/types/crm/productrow.cjs.map +1 -0
- package/dist/cjs/types/logger.cjs +24 -0
- package/dist/cjs/types/logger.cjs.map +1 -0
- package/dist/cjs/types/pull.cjs +94 -0
- package/dist/cjs/types/pull.cjs.map +1 -0
- package/dist/esm/_virtual/_commonjsHelpers.mjs +1 -1
- package/dist/esm/_virtual/protobuf.mjs +1 -1
- package/dist/esm/_virtual/protobuf2.mjs +1 -1
- package/dist/esm/core/abstract-b24.mjs +1 -1
- package/dist/esm/core/actions/abstract-action.mjs +1 -1
- package/dist/esm/core/actions/abstract-batch.mjs +1 -1
- package/dist/esm/core/actions/manager.mjs +1 -1
- package/dist/esm/core/actions/v2/batch-by-chunk.mjs +1 -1
- package/dist/esm/core/actions/v2/batch.mjs +1 -1
- package/dist/esm/core/actions/v2/call-list.mjs +1 -1
- package/dist/esm/core/actions/v2/call.mjs +1 -15
- package/dist/esm/core/actions/v2/call.mjs.map +1 -1
- package/dist/esm/core/actions/v2/fetch-list.mjs +1 -1
- package/dist/esm/core/actions/v2/manager-v2.mjs +1 -1
- package/dist/esm/core/actions/v3/_keyset-paginate.mjs +66 -0
- package/dist/esm/core/actions/v3/_keyset-paginate.mjs.map +1 -0
- package/dist/esm/core/actions/v3/aggregate.mjs +94 -0
- package/dist/esm/core/actions/v3/aggregate.mjs.map +1 -0
- package/dist/esm/core/actions/v3/batch-by-chunk.mjs +1 -1
- package/dist/esm/core/actions/v3/batch.mjs +1 -10
- package/dist/esm/core/actions/v3/batch.mjs.map +1 -1
- package/dist/esm/core/actions/v3/call-list.mjs +30 -44
- package/dist/esm/core/actions/v3/call-list.mjs.map +1 -1
- package/dist/esm/core/actions/v3/call-tail.mjs +116 -0
- package/dist/esm/core/actions/v3/call-tail.mjs.map +1 -0
- package/dist/esm/core/actions/v3/call.mjs +1 -10
- package/dist/esm/core/actions/v3/call.mjs.map +1 -1
- package/dist/esm/core/actions/v3/fetch-list.mjs +24 -41
- package/dist/esm/core/actions/v3/fetch-list.mjs.map +1 -1
- package/dist/esm/core/actions/v3/fetch-tail.mjs +110 -0
- package/dist/esm/core/actions/v3/fetch-tail.mjs.map +1 -0
- package/dist/esm/core/actions/v3/manager-v3.mjs +25 -1
- package/dist/esm/core/actions/v3/manager-v3.mjs.map +1 -1
- package/dist/esm/core/http/abstract-http.mjs +68 -17
- package/dist/esm/core/http/abstract-http.mjs.map +1 -1
- package/dist/esm/core/http/ajax-error.mjs +1 -1
- package/dist/esm/core/http/ajax-result.mjs +9 -8
- package/dist/esm/core/http/ajax-result.mjs.map +1 -1
- package/dist/esm/core/http/limiters/adaptive-delayer.mjs +1 -1
- package/dist/esm/core/http/limiters/manager.mjs +1 -1
- package/dist/esm/core/http/limiters/operating-limiter.mjs +1 -1
- package/dist/esm/core/http/limiters/params-factory.mjs +1 -1
- package/dist/esm/core/http/limiters/rate-limiter.mjs +1 -1
- package/dist/esm/core/http/redact.mjs +41 -13
- package/dist/esm/core/http/redact.mjs.map +1 -1
- package/dist/esm/core/http/v2.mjs +1 -18
- package/dist/esm/core/http/v2.mjs.map +1 -1
- package/dist/esm/core/http/v3.mjs +1 -15
- package/dist/esm/core/http/v3.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/abstract-interaction-batch.mjs +1 -1
- package/dist/esm/core/interaction/batch/parse-row.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs +44 -1
- package/dist/esm/core/interaction/batch/processing/interface-strategy.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs +7 -6
- package/dist/esm/core/interaction/batch/processing/v2/abstract-processing.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs +3 -3
- package/dist/esm/core/interaction/batch/processing/v2/as-array.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/processing/v2/as-object.mjs +1 -1
- package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs +7 -19
- package/dist/esm/core/interaction/batch/processing/v3/abstract-processing.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs +3 -3
- package/dist/esm/core/interaction/batch/processing/v3/as-array.mjs.map +1 -1
- package/dist/esm/core/interaction/batch/processing/v3/as-object.mjs +1 -1
- package/dist/esm/core/interaction/batch/v2.mjs +1 -1
- package/dist/esm/core/interaction/batch/v3.mjs +1 -1
- package/dist/esm/core/language/list.mjs +1 -1
- package/dist/esm/core/request-id-generator.mjs +1 -1
- package/dist/esm/core/result.mjs +11 -4
- package/dist/esm/core/result.mjs.map +1 -1
- package/dist/esm/core/sdk-error.mjs +1 -1
- package/dist/esm/core/tools/abstract-tool.mjs +1 -1
- package/dist/esm/core/tools/healthcheck.mjs +1 -1
- package/dist/esm/core/tools/manager.mjs +1 -1
- package/dist/esm/core/tools/ping.mjs +1 -1
- package/dist/esm/core/version-manager.mjs +19 -157
- package/dist/esm/core/version-manager.mjs.map +1 -1
- package/dist/esm/frame/auth.mjs +1 -1
- package/dist/esm/frame/b24.mjs +8 -2
- package/dist/esm/frame/b24.mjs.map +1 -1
- package/dist/esm/frame/dialog.mjs +1 -1
- package/dist/esm/frame/frame.mjs +1 -1
- package/dist/esm/frame/message/commands.mjs +1 -1
- package/dist/esm/frame/message/controller.mjs +17 -6
- package/dist/esm/frame/message/controller.mjs.map +1 -1
- package/dist/esm/frame/options.mjs +1 -1
- package/dist/esm/frame/parent.mjs +1 -1
- package/dist/esm/frame/placement.mjs +1 -1
- package/dist/esm/frame/slider.mjs +1 -1
- package/dist/esm/helper/abstract-helper.mjs +1 -1
- package/dist/esm/helper/app-manager.mjs +1 -1
- package/dist/esm/helper/currency-manager.mjs +1 -1
- package/dist/esm/helper/helper-manager.mjs +1 -1
- package/dist/esm/helper/license-manager.mjs +1 -1
- package/dist/esm/helper/options-manager.mjs +1 -1
- package/dist/esm/helper/payment-manager.mjs +1 -1
- package/dist/esm/helper/profile-manager.mjs +1 -1
- package/dist/esm/helper/use-b24-helper.mjs +1 -1
- package/dist/esm/hook/auth.mjs +1 -1
- package/dist/esm/hook/b24.mjs +3 -3
- package/dist/esm/hook/b24.mjs.map +1 -1
- package/dist/esm/index.d.mts +412 -39
- package/dist/esm/index.d.ts +412 -39
- package/dist/esm/index.mjs +3 -1
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/loader-b24frame.mjs +1 -1
- package/dist/esm/logger/abstract-logger.mjs +1 -1
- package/dist/esm/logger/browser.mjs +1 -1
- package/dist/esm/logger/formatter/abstract-formatter.mjs +1 -1
- package/dist/esm/logger/formatter/json-formatter.mjs +1 -1
- package/dist/esm/logger/formatter/line-formatter.mjs +1 -1
- package/dist/esm/logger/formatter/telegram-formatter.mjs +1 -1
- package/dist/esm/logger/handler/abstract-handler.mjs +1 -1
- package/dist/esm/logger/handler/consola-adapter.mjs +1 -1
- package/dist/esm/logger/handler/console-handler.mjs +1 -1
- package/dist/esm/logger/handler/console-v2-handler.mjs +1 -1
- package/dist/esm/logger/handler/memory-handler.mjs +1 -1
- package/dist/esm/logger/handler/stream-handler.mjs +1 -1
- package/dist/esm/logger/handler/telegram-handler.mjs +1 -1
- package/dist/esm/logger/handler/winston-adapter.mjs +1 -1
- package/dist/esm/logger/logger-factory.mjs +1 -1
- package/dist/esm/logger/logger.mjs +1 -1
- package/dist/esm/logger/null-logger.mjs +1 -1
- package/dist/esm/logger/processor/memory-usage-processor.mjs +1 -1
- package/dist/esm/logger/processor/pid-processor.mjs +1 -1
- package/dist/esm/oauth/auth.mjs +13 -16
- package/dist/esm/oauth/auth.mjs.map +1 -1
- package/dist/esm/oauth/b24.mjs +1 -1
- package/dist/esm/oauth/refresh-token-error.mjs +1 -1
- package/dist/esm/pullClient/abstract-connector.mjs +1 -1
- package/dist/esm/pullClient/channel-manager.mjs +1 -1
- package/dist/esm/pullClient/client.mjs +141 -30
- package/dist/esm/pullClient/client.mjs.map +1 -1
- package/dist/esm/pullClient/errors.mjs +1 -1
- package/dist/esm/pullClient/json-rpc.mjs +5 -4
- package/dist/esm/pullClient/json-rpc.mjs.map +1 -1
- package/dist/esm/pullClient/long-polling-connector.mjs +1 -1
- package/dist/esm/pullClient/protobuf/index.mjs +1 -1
- package/dist/esm/pullClient/protobuf/model.mjs +1 -1
- package/dist/esm/pullClient/protobuf/protobuf.mjs +1 -1
- package/dist/esm/pullClient/shared-config.mjs +1 -1
- package/dist/esm/pullClient/storage-manager.mjs +1 -1
- package/dist/esm/pullClient/web-socket-connector.mjs +1 -1
- package/dist/esm/tools/batch-ref-v3.mjs +52 -0
- package/dist/esm/tools/batch-ref-v3.mjs.map +1 -0
- package/dist/esm/tools/browser.mjs +1 -1
- package/dist/esm/tools/environment.mjs +1 -1
- package/dist/esm/tools/filter-v3.mjs +137 -0
- package/dist/esm/tools/filter-v3.mjs.map +1 -0
- package/dist/esm/tools/formatters/iban.mjs +1 -1
- package/dist/esm/tools/formatters/numbers.mjs +1 -1
- package/dist/esm/tools/index.mjs +1 -1
- package/dist/esm/tools/scroll-size.mjs +1 -1
- package/dist/esm/tools/text.mjs +1 -1
- package/dist/esm/tools/type.mjs +1 -1
- package/dist/esm/tools/use-formatters.mjs +1 -1
- package/dist/esm/tools/uuidv7.mjs +1 -1
- package/dist/esm/types/b24-helper.mjs +1 -1
- package/dist/esm/types/b24.mjs +1 -1
- package/dist/esm/types/bizproc/index.mjs +1 -1
- package/dist/esm/types/catalog/index.mjs +1 -1
- package/dist/esm/types/common.mjs +1 -1
- package/dist/esm/types/crm/entity-type.mjs +1 -1
- package/dist/esm/types/crm/productrow.mjs +1 -1
- package/dist/esm/types/logger.mjs +1 -1
- package/dist/esm/types/pull.mjs +1 -1
- package/dist/umd/index.js +1258 -719
- package/dist/umd/index.js.map +1 -1
- package/dist/umd/index.min.js +26 -26
- package/dist/umd/index.min.js.map +1 -1
- package/dist/umd/package.json +3 -0
- package/package.json +12 -4
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version
|
|
3
|
+
* @version 2.0.0
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -14,29 +14,46 @@ const SENSITIVE_PARAM_KEYS = [
|
|
|
14
14
|
"token",
|
|
15
15
|
"secret",
|
|
16
16
|
"access_token",
|
|
17
|
-
"refresh_token"
|
|
17
|
+
"refresh_token",
|
|
18
|
+
"client_secret",
|
|
19
|
+
"application_token",
|
|
20
|
+
"sessid",
|
|
21
|
+
"key",
|
|
22
|
+
"signature"
|
|
18
23
|
];
|
|
19
24
|
const REDACTED_PLACEHOLDER = "***REDACTED***";
|
|
25
|
+
const QS_SENSITIVE_RE = new RegExp(
|
|
26
|
+
`([?&]|^)(${SENSITIVE_PARAM_KEYS.join("|")})=[^&#;]*`,
|
|
27
|
+
"gi"
|
|
28
|
+
);
|
|
20
29
|
function isPlainObject(value) {
|
|
21
30
|
return value !== null && typeof value === "object" && !Array.isArray(value);
|
|
22
31
|
}
|
|
23
32
|
__name(isPlainObject, "isPlainObject");
|
|
33
|
+
function redactQueryString(value) {
|
|
34
|
+
if (!value.includes("=")) return value;
|
|
35
|
+
return value.replace(
|
|
36
|
+
QS_SENSITIVE_RE,
|
|
37
|
+
(_match, sep, key) => `${sep}${key}=${REDACTED_PLACEHOLDER}`
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
__name(redactQueryString, "redactQueryString");
|
|
41
|
+
function redactValue(value, depth) {
|
|
42
|
+
if (typeof value === "string") return redactQueryString(value);
|
|
43
|
+
if (depth <= 0) return value;
|
|
44
|
+
if (isPlainObject(value)) return redactObject(value, depth - 1);
|
|
45
|
+
if (Array.isArray(value)) return value.map((item) => redactValue(item, depth));
|
|
46
|
+
return value;
|
|
47
|
+
}
|
|
48
|
+
__name(redactValue, "redactValue");
|
|
24
49
|
function redactObject(source, depth) {
|
|
25
50
|
const sanitized = { ...source };
|
|
26
51
|
for (const key of Object.keys(sanitized)) {
|
|
27
|
-
if (SENSITIVE_PARAM_KEYS.includes(key)) {
|
|
52
|
+
if (SENSITIVE_PARAM_KEYS.includes(key.toLowerCase())) {
|
|
28
53
|
sanitized[key] = REDACTED_PLACEHOLDER;
|
|
29
54
|
continue;
|
|
30
55
|
}
|
|
31
|
-
|
|
32
|
-
const child = sanitized[key];
|
|
33
|
-
if (isPlainObject(child)) {
|
|
34
|
-
sanitized[key] = redactObject(child, depth - 1);
|
|
35
|
-
} else if (Array.isArray(child)) {
|
|
36
|
-
sanitized[key] = child.map(
|
|
37
|
-
(item) => isPlainObject(item) ? redactObject(item, depth - 1) : item
|
|
38
|
-
);
|
|
39
|
-
}
|
|
56
|
+
sanitized[key] = redactValue(sanitized[key], depth);
|
|
40
57
|
}
|
|
41
58
|
return sanitized;
|
|
42
59
|
}
|
|
@@ -47,6 +64,17 @@ function redactSensitiveParams(params) {
|
|
|
47
64
|
return redactObject(params, DEFAULT_REDACT_DEPTH);
|
|
48
65
|
}
|
|
49
66
|
__name(redactSensitiveParams, "redactSensitiveParams");
|
|
67
|
+
function redactSensitiveUrl(url, extraKeys = []) {
|
|
68
|
+
if (typeof url !== "string" || !url.includes("=")) return url;
|
|
69
|
+
if (extraKeys.length === 0) return redactQueryString(url);
|
|
70
|
+
const escaped = extraKeys.map((key) => key.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
71
|
+
const re = new RegExp(
|
|
72
|
+
`([?&]|^)(${[...SENSITIVE_PARAM_KEYS, ...escaped].join("|")})=[^&#;]*`,
|
|
73
|
+
"gi"
|
|
74
|
+
);
|
|
75
|
+
return url.replace(re, (_match, sep, key) => `${sep}${key}=${REDACTED_PLACEHOLDER}`);
|
|
76
|
+
}
|
|
77
|
+
__name(redactSensitiveUrl, "redactSensitiveUrl");
|
|
50
78
|
|
|
51
|
-
export { REDACTED_PLACEHOLDER, SENSITIVE_PARAM_KEYS, redactSensitiveParams };
|
|
79
|
+
export { REDACTED_PLACEHOLDER, SENSITIVE_PARAM_KEYS, redactSensitiveParams, redactSensitiveUrl };
|
|
52
80
|
//# sourceMappingURL=redact.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"redact.mjs","sources":["../../../../src/core/http/redact.ts"],"sourcesContent":["/**\n * Bounded-depth redact for params that may contain credentials before they\n * enter any logger or error-rendering surface.\n *\n * Callers: `Http._sanitizeParams` (logger context), `_makeAxiosRequest`\n * (`post/send` and `post/catchError` info logs), `AjaxError` constructor\n * (stores `requestInfo.params` exposed by `toJSON()` / `toString()`).\n * Keeping a single source of truth means the redaction list stays\n * consistent across all of them.\n *\n * The walk descends two levels into nested objects and arrays
|
|
1
|
+
{"version":3,"file":"redact.mjs","sources":["../../../../src/core/http/redact.ts"],"sourcesContent":["/**\n * Bounded-depth redact for params that may contain credentials before they\n * enter any logger or error-rendering surface.\n *\n * Callers: `Http._sanitizeParams` (logger context), `_makeAxiosRequest`\n * (`post/send` and `post/catchError` info logs), `AjaxError` constructor\n * (stores `requestInfo.params` exposed by `toJSON()` / `toString()`).\n * Keeping a single source of truth means the redaction list stays\n * consistent across all of them.\n *\n * Two complementary passes run over each value:\n * 1. Key match — a property whose (lower-cased) name is in\n * {@link SENSITIVE_PARAM_KEYS} has its whole value replaced, so a nested\n * credential object (e.g. `auth: { application_token }`) is masked\n * wholesale (#151).\n * 2. Query-string scrub — a *string* value is scanned for\n * `<sensitive-key>=<value>` pairs and the value is masked. This catches the\n * batch `cmd[i]` shape (`method?auth=<token>&...`) where `_prepareParams`\n * has already serialised the credential into text the key walk can't see\n * (#229).\n *\n * The object walk descends two levels into nested objects and arrays — the\n * minimum that covers batch payloads (`{ cmd: [{ method, params:\n * { ...credentials... } }, ...] }`) and flat one-level-nested payloads like\n * `{ data: { token } }`.\n *\n * Residual risk (documented, accepted):\n * - credential keys nested deeper than two object levels are NOT masked —\n * redact at the callsite for those;\n * - the query-string scrub only masks a `key=value` pair whose key is itself\n * a sensitive key; a bracketed/encoded query key (`auth[application_token]=`)\n * is not matched by the string pass (its `auth` prefix object form is,\n * though, via pass 1).\n * - `key` is deliberately broad: any property literally named `key` (and any\n * `?key=…` query pair) is masked. In Bitrix24 REST `key` is a credential\n * parameter (e.g. the Pull shared config), so this is a conservative,\n * accepted trade-off — it can over-redact a non-credential field that\n * happens to be named `key`.\n * - `signature` is broad in the same way (added in #43 for the Pull channel\n * HMAC, `TypeChanel.signature`): any property named `signature` and any\n * `?signature=…` query pair is masked. In the Bitrix24 push/pull domain\n * `signature` is the channel HMAC, so the breadth is accepted — at the cost\n * of over-redacting a non-credential field that happens to be named so.\n * - empty / nullish values are still treated as sensitive — an empty\n * `access_token` is unusual but not safe to leave un-redacted.\n */\n\nexport const SENSITIVE_PARAM_KEYS: readonly string[] = [\n 'auth',\n 'password',\n 'token',\n 'secret',\n 'access_token',\n 'refresh_token',\n 'client_secret',\n 'application_token',\n 'sessid',\n 'key',\n 'signature'\n]\n\nexport const REDACTED_PLACEHOLDER = '***REDACTED***'\n\n// Matches `<sep><sensitive-key>=<value>` inside a string, case-insensitively,\n// and masks the value. The `([?&]|^)` prefix anchors to a real query-param\n// boundary so a credential name appearing inside a value (`foo=token=x`) or as\n// the tail of a longer key (`access_token` vs `token`) is not mis-matched. The\n// value runs to the next `&`, `#`, or `;`, so a `;`-separated adjacent param is\n// not swallowed into the redacted span. An embedded `?token=…` inside a nested\n// URL value IS masked (intended — still a credential). Single-line: `^` carries\n// no `m` flag, so a credential after a newline in a multi-line string value is\n// not caught (accepted residual risk, same class as encoded/bracketed keys).\nconst QS_SENSITIVE_RE = new RegExp(\n `([?&]|^)(${SENSITIVE_PARAM_KEYS.join('|')})=[^&#;]*`,\n 'gi'\n)\n\nfunction isPlainObject(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n}\n\nfunction redactQueryString(value: string): string {\n if (!value.includes('=')) return value\n return value.replace(\n QS_SENSITIVE_RE,\n (_match, sep: string, key: string) => `${sep}${key}=${REDACTED_PLACEHOLDER}`\n )\n}\n\n// String scrubbing runs before the `depth <= 0` guard on purpose: scanning a\n// string is cheap and bounded, so a serialised credential is masked even at a\n// level the object walk would stop descending into. Arrays do not consume a\n// depth slot (only object descent decrements `depth`), so an array nested in an\n// array is still walked.\nfunction redactValue(value: unknown, depth: number): unknown {\n if (typeof value === 'string') return redactQueryString(value)\n if (depth <= 0) return value\n if (isPlainObject(value)) return redactObject(value, depth - 1)\n if (Array.isArray(value)) return value.map(item => redactValue(item, depth))\n return value\n}\n\nfunction redactObject(\n source: Record<string, unknown>,\n depth: number\n): Record<string, unknown> {\n const sanitized: Record<string, unknown> = { ...source }\n for (const key of Object.keys(sanitized)) {\n if (SENSITIVE_PARAM_KEYS.includes(key.toLowerCase())) {\n sanitized[key] = REDACTED_PLACEHOLDER\n continue\n }\n sanitized[key] = redactValue(sanitized[key], depth)\n }\n return sanitized\n}\n\nconst DEFAULT_REDACT_DEPTH = 2\n\n/**\n * Returns a copy of `params` with any known credential-bearing key replaced by\n * `REDACTED_PLACEHOLDER`, and any credential value embedded in a query-string\n * value masked in place. Walks up to two levels into nested objects/arrays so\n * batch-shaped payloads (`cmd[i].params.<key>` and `cmd[i]` query strings) are\n * covered. Non-object inputs are returned as-is so callers don't have to\n * pre-check.\n */\nexport function redactSensitiveParams(\n params: Record<string, unknown>\n): Record<string, unknown>\nexport function redactSensitiveParams<T>(params: T): T\nexport function redactSensitiveParams(params: unknown): unknown {\n if (!isPlainObject(params)) return params\n return redactObject(params, DEFAULT_REDACT_DEPTH)\n}\n\n/**\n * Redact credential query-string values in a URL string — e.g. a Pull\n * `connectionPath` surfaced by `getDebugInfo()`. Masks every\n * {@link SENSITIVE_PARAM_KEYS} value plus any caller-supplied `extraKeys`\n * (e.g. Pull's `CHANNEL_ID`, a private identifier that is not a global\n * credential key). `extraKeys` are regex-escaped, so any literal key name is\n * safe to pass. Anchored and bounded exactly like the in-object scrub, so a\n * value-position `=` and non-query strings are left intact. Non-string input is\n * returned unchanged (a defensive guard for untyped JS callers).\n */\nexport function redactSensitiveUrl(url: string, extraKeys: readonly string[] = []): string {\n if (typeof url !== 'string' || !url.includes('=')) return url\n if (extraKeys.length === 0) return redactQueryString(url)\n const escaped = extraKeys.map(key => key.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n const re = new RegExp(\n `([?&]|^)(${[...SENSITIVE_PARAM_KEYS, ...escaped].join('|')})=[^&#;]*`,\n 'gi'\n )\n return url.replace(re, (_match, sep: string, key: string) => `${sep}${key}=${REDACTED_PLACEHOLDER}`)\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version
|
|
3
|
+
* @version 2.0.0
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -77,23 +77,6 @@ class HttpV2 extends AbstractHttp {
|
|
|
77
77
|
return response;
|
|
78
78
|
}
|
|
79
79
|
// endregion ////
|
|
80
|
-
// region Prepare ////
|
|
81
|
-
/**
|
|
82
|
-
* @inheritDoc
|
|
83
|
-
*/
|
|
84
|
-
_prepareMethod(requestId, method, baseUrl) {
|
|
85
|
-
const methodUrl = `/${encodeURIComponent(method)}`;
|
|
86
|
-
if (method.includes("task.")) {
|
|
87
|
-
return `${baseUrl}${methodUrl}`;
|
|
88
|
-
}
|
|
89
|
-
const queryParams = new URLSearchParams({
|
|
90
|
-
[this._requestIdGenerator.getQueryStringParameterName()]: requestId,
|
|
91
|
-
[this._requestIdGenerator.getQueryStringSdkParameterName()]: "1.3.0",
|
|
92
|
-
[this._requestIdGenerator.getQueryStringSdkTypeParameterName()]: "b24-js-sdk"
|
|
93
|
-
});
|
|
94
|
-
return `${baseUrl}${methodUrl}?${queryParams.toString()}`;
|
|
95
|
-
}
|
|
96
|
-
// endregion ////
|
|
97
80
|
}
|
|
98
81
|
|
|
99
82
|
export { HttpV2 };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"v2.mjs","sources":["../../../../src/core/http/v2.ts"],"sourcesContent":["import type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchNamedCommandsUniversal, ICallBatchOptions, ICallBatchResult,\n TypeHttp\n} from '../../types/http'\nimport type { AuthActions } from '../../types/auth'\nimport type { RestrictionParams } from '../../types/limiters'\nimport type { Result } from '../result'\nimport type { BatchPayload } from '../../types/payloads'\nimport { AbstractHttp } from './abstract-http'\nimport { ApiVersion } from '../../types/b24'\nimport { InteractionBatchV2 } from '../interaction/batch/v2'\nimport { ProcessingAsArrayV2 } from '../interaction/batch/processing/v2/as-array'\nimport { ProcessingAsObjectV2 } from '../interaction/batch/processing/v2/as-object'\nimport { AjaxError } from './ajax-error'\n\n/**\n * Class for working with RestApi v2 requests via http\n *\n * @link https://bitrix24.github.io/b24jssdk/\n *\n * @todo docs\n */\nexport class HttpV2 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.v2\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 InteractionBatchV2({\n requestId,\n parallelDefaultValue: !(opts.isHaltOnError),\n restrictionManager: this._restrictionManager\n })\n\n if (Array.isArray(calls)) {\n interactionBatch.setProcessingStrategy(new ProcessingAsArrayV2())\n } else {\n interactionBatch.setProcessingStrategy(new ProcessingAsObjectV2())\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 {\n halt: opts.isHaltOnError ? 1 : 0,\n cmd: interactionBatch.getCommandsForCall()\n },\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
|
|
1
|
+
{"version":3,"file":"v2.mjs","sources":["../../../../src/core/http/v2.ts"],"sourcesContent":["import type {\n BatchCommandsArrayUniversal,\n BatchCommandsObjectUniversal,\n BatchNamedCommandsUniversal, ICallBatchOptions, ICallBatchResult,\n TypeHttp\n} from '../../types/http'\nimport type { AuthActions } from '../../types/auth'\nimport type { RestrictionParams } from '../../types/limiters'\nimport type { Result } from '../result'\nimport type { BatchPayload } from '../../types/payloads'\nimport { AbstractHttp } from './abstract-http'\nimport { ApiVersion } from '../../types/b24'\nimport { InteractionBatchV2 } from '../interaction/batch/v2'\nimport { ProcessingAsArrayV2 } from '../interaction/batch/processing/v2/as-array'\nimport { ProcessingAsObjectV2 } from '../interaction/batch/processing/v2/as-object'\nimport { AjaxError } from './ajax-error'\n\n/**\n * Class for working with RestApi v2 requests via http\n *\n * @link https://bitrix24.github.io/b24jssdk/\n *\n * @todo docs\n */\nexport class HttpV2 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.v2\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 InteractionBatchV2({\n requestId,\n parallelDefaultValue: !(opts.isHaltOnError),\n restrictionManager: this._restrictionManager\n })\n\n if (Array.isArray(calls)) {\n interactionBatch.setProcessingStrategy(new ProcessingAsArrayV2())\n } else {\n interactionBatch.setProcessingStrategy(new ProcessingAsObjectV2())\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 {\n halt: opts.isHaltOnError ? 1 : 0,\n cmd: interactionBatch.getCommandsForCall()\n },\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"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version
|
|
3
|
+
* @version 2.0.0
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -74,20 +74,6 @@ class HttpV3 extends AbstractHttp {
|
|
|
74
74
|
return response;
|
|
75
75
|
}
|
|
76
76
|
// endregion ////
|
|
77
|
-
// region Prepare ////
|
|
78
|
-
/**
|
|
79
|
-
* @inheritDoc
|
|
80
|
-
*/
|
|
81
|
-
_prepareMethod(requestId, method, baseUrl) {
|
|
82
|
-
const methodUrl = `/${encodeURIComponent(method)}`;
|
|
83
|
-
const queryParams = new URLSearchParams({
|
|
84
|
-
[this._requestIdGenerator.getQueryStringParameterName()]: requestId,
|
|
85
|
-
[this._requestIdGenerator.getQueryStringSdkParameterName()]: "1.3.0",
|
|
86
|
-
[this._requestIdGenerator.getQueryStringSdkTypeParameterName()]: "b24-js-sdk"
|
|
87
|
-
});
|
|
88
|
-
return `${baseUrl}${methodUrl}?${queryParams.toString()}`;
|
|
89
|
-
}
|
|
90
|
-
// endregion ////
|
|
91
77
|
}
|
|
92
78
|
|
|
93
79
|
export { HttpV3 };
|
|
@@ -1 +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
|
|
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"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AA0BO,MAAM,eAAe,YAAA,CAAiC;AAAA,EA1B7D;AA0B6D,IAAA,MAAA,CAAA,IAAA,EAAA,QAAA,CAAA;AAAA;AAAA,EAC3D,WAAA,CACE,WAAA,EACA,OAAA,EACA,iBAAA,EACA;AACA,IAAA,KAAA,CAAM,WAAA,EAAa,SAAS,iBAAiB,CAAA;AAC7C,IAAA,IAAA,CAAK,WAAW,UAAA,CAAW,EAAA;AAAA,EAC7B;AAAA;AAAA,EAGA,MAAa,KAAA,CACX,KAAA,EACA,OAAA,EACsC;AACtC,IAAA,MAAM,IAAA,GAAO;AAAA,MACX,aAAA,EAAe,IAAA;AAAA,MACf,GAAG;AAAA,KACL;AAEA,IAAA,MAAM,SAAA,GAAY,IAAA,CAAK,SAAA,IAAa,IAAA,CAAK,oBAAoB,YAAA,EAAa;AAE1E,IAAA,IAAA,CAAK,cAAA,CAAe,SAAA,EAAW,KAAA,EAAO,IAAI,CAAA;AAE1C,IAAA,MAAM,gBAAA,GAAmB,IAAI,kBAAA,CAAmB;AAAA,MAC9C,SAAA;AAAA,MACA,oBAAA,EAAsB,CAAE,IAAA,CAAK,aAAA;AAAA,MAC7B,oBAAoB,IAAA,CAAK;AAAA,KAC1B,CAAA;AAED,IAAA,IAAI,KAAA,CAAM,OAAA,CAAQ,KAAK,CAAA,EAAG;AACxB,MAAA,gBAAA,CAAiB,qBAAA,CAAsB,IAAI,mBAAA,EAAqB,CAAA;AAAA,IAClE,CAAA,MAAO;AACL,MAAA,gBAAA,CAAiB,qBAAA,CAAsB,IAAI,oBAAA,EAAsB,CAAA;AAAA,IACnE;AAEA,IAAA,gBAAA,CAAiB,YAAY,KAAK,CAAA;AAElC,IAAA,IAAI,gBAAA,CAAiB,IAAA,GAAO,gBAAA,CAAiB,OAAA,EAAS;AACpD,MAAA,MAAM,IAAI,SAAA,CAAU;AAAA,QAClB,IAAA,EAAM,uBAAA;AAAA,QACN,aAAa,CAAA,iBAAA,EAAoB,gBAAA,CAAiB,IAAI,CAAA,gBAAA,EAAmB,iBAAiB,OAAO,CAAA,CAAA,CAAA;AAAA,QACjG,MAAA,EAAQ,GAAA;AAAA,QACR,WAAA,EAAa,EAAE,MAAA,EAAQ,OAAA,EAAS,QAAQ,EAAE,GAAA,EAAK,KAAA,EAAM,EAAG,SAAA,EAAU;AAAA,QAClE,aAAA,EAAe;AAAA,OAChB,CAAA;AAAA,IACH;AAEA,IAAA,IAAI,gBAAA,CAAiB,SAAS,CAAA,EAAG;AAC/B,MAAA,MAAM,IAAI,SAAA,CAAU;AAAA,QAClB,IAAA,EAAM,mBAAA;AAAA,QACN,WAAA,EAAa,yCAAA;AAAA,QACb,MAAA,EAAQ,GAAA;AAAA,QACR,WAAA,EAAa,EAAE,MAAA,EAAQ,OAAA,EAAS,QAAQ,EAAE,GAAA,EAAK,KAAA,EAAM,EAAG,SAAA,EAAU;AAAA,QAClE,aAAA,EAAe;AAAA,OAChB,CAAA;AAAA,IACH;AAEA,IAAA,MAAM,aAAA,GAAgB,MAAM,IAAA,CAAK,IAAA;AAAA,MAC/B,OAAA;AAAA,MACA,iBAAiB,kBAAA,EAAmB;AAAA,MACpC;AAAA,KACF;AAEA,IAAA,MAAM,QAAA,GAAW,MAAM,gBAAA,CAAiB,eAAA,CAAmB,aAAa,CAAA;AAGxE,IAAA,IAAA,CAAK,mBAAA;AAAA,MACH,SAAA;AAAA,MACA,QAAA,CAAS,OAAA,EAAQ,EAAG,MAAA,EAAQ,IAAA,IAAQ,CAAA;AAAA,MACpC,QAAA,CAAS,kBAAiB,CAAE;AAAA,KAC9B;AAEA,IAAA,OAAO,QAAA;AAAA,EACT;AAAA;AAEF;;;;"}
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version
|
|
3
|
+
* @version 2.0.0
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
7
7
|
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
8
|
*/
|
|
9
|
+
import { Result } from '../../../result.mjs';
|
|
9
10
|
import { AjaxError } from '../../../http/ajax-error.mjs';
|
|
10
11
|
|
|
11
12
|
var __defProp = Object.defineProperty;
|
|
@@ -14,6 +15,48 @@ class AbstractProcessing {
|
|
|
14
15
|
static {
|
|
15
16
|
__name(this, "AbstractProcessing");
|
|
16
17
|
}
|
|
18
|
+
// region prepareItems ////
|
|
19
|
+
/**
|
|
20
|
+
* Template method. The soft-error envelope guard lives here ONCE so v2 and v3
|
|
21
|
+
* can't drift on it (#228 — hoisted from the duplicated #145 fix).
|
|
22
|
+
*
|
|
23
|
+
* When the batch CALL itself soft-errors (a top-level code in the restriction
|
|
24
|
+
* manager's `exceptionCodeForSoft` set, surfaced as a soft `Result` instead of
|
|
25
|
+
* a throw), the envelope carries `{ error }` and no `result`, so
|
|
26
|
+
* `response.getData()` is `undefined`. Skip per-row parsing — it would
|
|
27
|
+
* dereference `getData()!.result` — and let {@link handleResults} surface the
|
|
28
|
+
* top-level errors. The version-specific success path is {@link _prepareItemsSuccess}.
|
|
29
|
+
*/
|
|
30
|
+
async prepareItems(commands, responseHelper) {
|
|
31
|
+
const results = /* @__PURE__ */ new Map();
|
|
32
|
+
if (!responseHelper.response.isSuccess) {
|
|
33
|
+
return results;
|
|
34
|
+
}
|
|
35
|
+
return this._prepareItemsSuccess(commands, responseHelper, results);
|
|
36
|
+
}
|
|
37
|
+
// endregion ////
|
|
38
|
+
// region handleResults ////
|
|
39
|
+
/**
|
|
40
|
+
* Template method. Same single soft-error guard as {@link prepareItems} (#228):
|
|
41
|
+
* there is no per-row data and `getData()` is `undefined`, so surface the
|
|
42
|
+
* envelope's top-level errors and return an empty data map instead of
|
|
43
|
+
* dereferencing `getData()!.time`. The version-specific success path is
|
|
44
|
+
* {@link _handleResultsSuccess}.
|
|
45
|
+
*/
|
|
46
|
+
async handleResults(commands, results, responseHelper) {
|
|
47
|
+
const result = new Result();
|
|
48
|
+
if (!responseHelper.response.isSuccess) {
|
|
49
|
+
for (const [index, error] of responseHelper.response.errors) {
|
|
50
|
+
result.addError(error, index);
|
|
51
|
+
}
|
|
52
|
+
result.setData({
|
|
53
|
+
result: /* @__PURE__ */ new Map(),
|
|
54
|
+
time: void 0
|
|
55
|
+
});
|
|
56
|
+
return result;
|
|
57
|
+
}
|
|
58
|
+
return this._handleResultsSuccess(commands, results, responseHelper, result);
|
|
59
|
+
}
|
|
17
60
|
// endregion ////
|
|
18
61
|
// region Tools ////
|
|
19
62
|
_getBatchResultByIndex(data, index) {
|
|
@@ -1 +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
|
|
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 { 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 /**\n * Template method. The soft-error envelope guard lives here ONCE so v2 and v3\n * can't drift on it (#228 — hoisted from the duplicated #145 fix).\n *\n * When the batch CALL itself soft-errors (a top-level code in the restriction\n * manager's `exceptionCodeForSoft` set, surfaced as a soft `Result` instead of\n * a throw), the envelope carries `{ error }` and no `result`, so\n * `response.getData()` is `undefined`. Skip per-row parsing — it would\n * dereference `getData()!.result` — and let {@link handleResults} surface the\n * top-level errors. The version-specific success path is {@link _prepareItemsSuccess}.\n */\n public async prepareItems<T>(\n commands: BatchCommandV3[],\n responseHelper: ResponseHelper<T>\n ): Promise<ResultItems<T>> {\n const results: ResultItems<T> = new Map()\n\n if (!responseHelper.response.isSuccess) {\n return results\n }\n\n return this._prepareItemsSuccess<T>(commands, responseHelper, results)\n }\n\n /** Per-version success path: parse the response payload into `results` (the empty accumulator created by {@link prepareItems}). */\n protected abstract _prepareItemsSuccess<T>(\n commands: BatchCommandV3[],\n responseHelper: ResponseHelper<T>,\n results: ResultItems<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 /**\n * Template method. Same single soft-error guard as {@link prepareItems} (#228):\n * there is no per-row data and `getData()` is `undefined`, so surface the\n * envelope's top-level errors and return an empty data map instead of\n * dereferencing `getData()!.time`. The version-specific success path is\n * {@link _handleResultsSuccess}.\n */\n public async handleResults<T>(\n commands: BatchCommandV3[],\n results: ResultItems<T>,\n responseHelper: ResponseHelper<T>\n ): Promise<Result<ICallBatchResult<T>>> {\n const result = new Result<ICallBatchResult<T>>()\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: new Map() as ResultItems<T>,\n time: undefined\n })\n return result\n }\n\n return this._handleResultsSuccess<T>(commands, results, responseHelper, result)\n }\n\n /**\n * Per-version success path: fold per-command `results` into `result` — the\n * empty accumulator created by {@link handleResults}. Mutate and RETURN that\n * same `result`; do not construct a new one (the base relies on the instance\n * it passed in).\n */\n protected abstract _handleResultsSuccess<T>(\n commands: BatchCommandV3[],\n results: ResultItems<T>,\n responseHelper: ResponseHelper<T>,\n result: Result<ICallBatchResult<T>>\n ): 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;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAgBtE,MAAa,YAAA,CACX,QAAA,EACA,cAAA,EACyB;AACzB,IAAA,MAAM,OAAA,uBAA8B,GAAA,EAAI;AAExC,IAAA,IAAI,CAAC,cAAA,CAAe,QAAA,CAAS,SAAA,EAAW;AACtC,MAAA,OAAO,OAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA,CAAK,oBAAA,CAAwB,QAAA,EAAU,cAAA,EAAgB,OAAO,CAAA;AAAA,EACvE;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAyBA,MAAa,aAAA,CACX,QAAA,EACA,OAAA,EACA,cAAA,EACsC;AACtC,IAAA,MAAM,MAAA,GAAS,IAAI,MAAA,EAA4B;AAE/C,IAAA,IAAI,CAAC,cAAA,CAAe,QAAA,CAAS,SAAA,EAAW;AACtC,MAAA,KAAA,MAAW,CAAC,KAAA,EAAO,KAAK,CAAA,IAAK,cAAA,CAAe,SAAS,MAAA,EAAQ;AAC3D,QAAA,MAAA,CAAO,QAAA,CAAS,OAAO,KAAK,CAAA;AAAA,MAC9B;AACA,MAAA,MAAA,CAAO,OAAA,CAAQ;AAAA,QACb,MAAA,sBAAY,GAAA,EAAI;AAAA,QAChB,IAAA,EAAM;AAAA,OACP,CAAA;AACD,MAAA,OAAO,MAAA;AAAA,IACT;AAEA,IAAA,OAAO,IAAA,CAAK,qBAAA,CAAyB,QAAA,EAAU,OAAA,EAAS,gBAAgB,MAAM,CAAA;AAAA,EAChF;AAAA;AAAA;AAAA,EAmBU,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;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version
|
|
3
|
+
* @version 2.0.0
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -10,7 +10,6 @@ import * as qs from 'qs-esm';
|
|
|
10
10
|
import { AbstractProcessing } from '../interface-strategy.mjs';
|
|
11
11
|
import { SdkError } from '../../../../sdk-error.mjs';
|
|
12
12
|
import { AjaxResult } from '../../../../http/ajax-result.mjs';
|
|
13
|
-
import { Result } from '../../../../result.mjs';
|
|
14
13
|
|
|
15
14
|
var __defProp = Object.defineProperty;
|
|
16
15
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -45,8 +44,9 @@ class AbstractProcessingV2 extends AbstractProcessing {
|
|
|
45
44
|
return result;
|
|
46
45
|
}
|
|
47
46
|
// region prepareItems ////
|
|
48
|
-
|
|
49
|
-
|
|
47
|
+
// Soft-error guard lives in AbstractProcessing.prepareItems (#228); this is the
|
|
48
|
+
// success-only path for apiVer2.
|
|
49
|
+
async _prepareItemsSuccess(commands, responseHelper, results) {
|
|
50
50
|
for (const [index, command] of commands.entries()) {
|
|
51
51
|
await this._processResponseItem(
|
|
52
52
|
command,
|
|
@@ -97,8 +97,9 @@ class AbstractProcessingV2 extends AbstractProcessing {
|
|
|
97
97
|
}
|
|
98
98
|
// endregion ////
|
|
99
99
|
// region handleResults ////
|
|
100
|
-
|
|
101
|
-
|
|
100
|
+
// Soft-error guard lives in AbstractProcessing.handleResults (#228); this is the
|
|
101
|
+
// success-only path for apiVer2.
|
|
102
|
+
async _handleResultsSuccess(_commands, results, responseHelper, result) {
|
|
102
103
|
const dataResult = /* @__PURE__ */ new Map();
|
|
103
104
|
for (const [index, data] of results) {
|
|
104
105
|
if (data.getStatus() !== 200 || !data.isSuccess) {
|
|
@@ -1 +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
|
|
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 type { 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 // Soft-error guard lives in AbstractProcessing.prepareItems (#228); this is the\n // success-only path for apiVer2.\n protected override async _prepareItemsSuccess<T>(\n commands: BatchCommandV3[],\n responseHelper: ResponseHelper<T>,\n results: ResultItems<T>\n ): Promise<ResultItems<T>> {\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 unknown 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 // Soft-error guard lives in AbstractProcessing.handleResults (#228); this is the\n // success-only path for apiVer2.\n protected override async _handleResultsSuccess<T>(\n _commands: BatchCommandV3[],\n results: ResultItems<T>,\n responseHelper: ResponseHelper<T>,\n result: Result<ICallBatchResult<T>>\n ): Promise<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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"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version
|
|
3
|
+
* @version 2.0.0
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -23,8 +23,8 @@ class ProcessingAsArrayV2 extends AbstractProcessingV2 {
|
|
|
23
23
|
});
|
|
24
24
|
return result;
|
|
25
25
|
}
|
|
26
|
-
_processResponseError(result, ajaxError,
|
|
27
|
-
result.addError(ajaxError);
|
|
26
|
+
_processResponseError(result, ajaxError, index) {
|
|
27
|
+
result.addError(ajaxError, index);
|
|
28
28
|
}
|
|
29
29
|
}
|
|
30
30
|
|
|
@@ -1 +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
|
|
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 // Key the error by the command's numeric position so getErrorsByKey() /\n // getErrorMessagesByKey() tell the caller *which* command failed, matching\n // object/named-command mode. (#255)\n result.addError(ajaxError, index)\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,KAAA,EACM;AAIN,IAAA,MAAA,CAAO,QAAA,CAAS,WAAW,KAAK,CAAA;AAAA,EAClC;AACF;;;;"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* @package @bitrix24/b24jssdk
|
|
3
|
-
* @version
|
|
3
|
+
* @version 2.0.0
|
|
4
4
|
* @copyright (c) 2026 Bitrix24
|
|
5
5
|
* @license MIT
|
|
6
6
|
* @see https://github.com/bitrix24/b24jssdk
|
|
@@ -9,7 +9,6 @@
|
|
|
9
9
|
import { AbstractProcessing } from '../interface-strategy.mjs';
|
|
10
10
|
import { SdkError } from '../../../../sdk-error.mjs';
|
|
11
11
|
import { AjaxResult } from '../../../../http/ajax-result.mjs';
|
|
12
|
-
import { Result } from '../../../../result.mjs';
|
|
13
12
|
|
|
14
13
|
var __defProp = Object.defineProperty;
|
|
15
14
|
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
@@ -28,11 +27,9 @@ class AbstractProcessingV3 extends AbstractProcessing {
|
|
|
28
27
|
return commands;
|
|
29
28
|
}
|
|
30
29
|
// region prepareItems ////
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
return results;
|
|
35
|
-
}
|
|
30
|
+
// Soft-error guard lives in AbstractProcessing.prepareItems (#228); this is the
|
|
31
|
+
// success-only path for apiVer3 (all-or-nothing — no per-command errors).
|
|
32
|
+
async _prepareItemsSuccess(commands, responseHelper, results) {
|
|
36
33
|
for (const [index, command] of commands.entries()) {
|
|
37
34
|
await this._processResponseItem(
|
|
38
35
|
command,
|
|
@@ -81,19 +78,10 @@ class AbstractProcessingV3 extends AbstractProcessing {
|
|
|
81
78
|
}
|
|
82
79
|
// endregion ////
|
|
83
80
|
// region handleResults ////
|
|
84
|
-
|
|
85
|
-
|
|
81
|
+
// Soft-error guard lives in AbstractProcessing.handleResults (#228); this is the
|
|
82
|
+
// success-only path for apiVer3.
|
|
83
|
+
async _handleResultsSuccess(commands, results, responseHelper, result) {
|
|
86
84
|
const dataResult = /* @__PURE__ */ new Map();
|
|
87
|
-
if (!responseHelper.response.isSuccess) {
|
|
88
|
-
for (const [index, error] of responseHelper.response.errors) {
|
|
89
|
-
result.addError(error, index);
|
|
90
|
-
}
|
|
91
|
-
result.setData({
|
|
92
|
-
result: dataResult,
|
|
93
|
-
time: void 0
|
|
94
|
-
});
|
|
95
|
-
return result;
|
|
96
|
-
}
|
|
97
85
|
for (const [index, data] of results) {
|
|
98
86
|
const rowIndex = Number.parseInt(`${index}`);
|
|
99
87
|
const command = commands[rowIndex];
|
|
@@ -1 +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 { 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
|
|
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 { AbstractProcessing } from '../interface-strategy'\nimport { SdkError } from '../../../../sdk-error'\nimport { AjaxResult } from '../../../../http/ajax-result'\nimport type { 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 // Soft-error guard lives in AbstractProcessing.prepareItems (#228); this is the\n // success-only path for apiVer3 (all-or-nothing — no per-command errors).\n protected override async _prepareItemsSuccess<T>(\n commands: BatchCommandV3[],\n responseHelper: ResponseHelper<T>,\n results: ResultItems<T>\n ): Promise<ResultItems<T>> {\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 * In `restApi:v3`, `response.getData().result` is the array/record of per-command\n * results directly (no `result_error`/`result_time`/`result_total`/`result_next`\n * split as in v2). Per-command errors do not exist in this format.\n *\n * The per-command `result` value is forwarded as-is, including `null` when the\n * underlying REST method returns `null` (see issue #23).\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 unknown as\n T[] | Record<string | number, T> | undefined\n const resultData = this._getBatchResultByIndex(responseResult, index)\n\n if (typeof resultData === 'undefined') {\n throw new SdkError({\n code: 'JSSDK_INTERACTION_BATCH_STRATEGY_V3_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 /**\n * `time` on the v3 response is the batch-level time, not per-command.\n * We forward it to AjaxResult so callers can still inspect it, but we do\n * not feed it into `restrictionManager.updateStats(batch::<method>, …)`\n * — attributing the whole-batch duration to every method would distort\n * the rate-limiter stats.\n */\n const resultTime = responseHelper.response.getData()!.time\n\n const result = new AjaxResult<T>({\n answer: {\n result: resultData as T,\n error: undefined,\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 // Soft-error guard lives in AbstractProcessing.handleResults (#228); this is the\n // success-only path for apiVer3.\n protected override async _handleResultsSuccess<T>(\n commands: BatchCommandV3[],\n results: ResultItems<T>,\n responseHelper: ResponseHelper<T>,\n result: Result<ICallBatchResult<T>>\n ): Promise<Result<ICallBatchResult<T>>> {\n const dataResult: ResultItems<T> = new Map()\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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"}
|