@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
|
@@ -0,0 +1,135 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @bitrix24/b24jssdk
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @copyright (c) 2026 Bitrix24
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/bitrix24/b24jssdk
|
|
7
|
+
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
const type = require('../tools/type.cjs');
|
|
12
|
+
const text = require('../tools/text.cjs');
|
|
13
|
+
const storageManager = require('./storage-manager.cjs');
|
|
14
|
+
const pull = require('../types/pull.cjs');
|
|
15
|
+
const loggerFactory = require('../logger/logger-factory.cjs');
|
|
16
|
+
|
|
17
|
+
var __defProp = Object.defineProperty;
|
|
18
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
19
|
+
class SharedConfig {
|
|
20
|
+
static {
|
|
21
|
+
__name(this, "SharedConfig");
|
|
22
|
+
}
|
|
23
|
+
_logger;
|
|
24
|
+
_storage;
|
|
25
|
+
_ttl = 24 * 60 * 60;
|
|
26
|
+
_callbacks;
|
|
27
|
+
constructor(params = {}) {
|
|
28
|
+
this._logger = loggerFactory.LoggerFactory.createNullLogger();
|
|
29
|
+
params = params || {};
|
|
30
|
+
this._storage = params.storage || new storageManager.StorageManager();
|
|
31
|
+
this._callbacks = {
|
|
32
|
+
onWebSocketBlockChanged: type.Type.isFunction(params.onWebSocketBlockChanged) ? params.onWebSocketBlockChanged : () => {
|
|
33
|
+
}
|
|
34
|
+
};
|
|
35
|
+
if (this._storage) {
|
|
36
|
+
window.addEventListener("storage", this.onLocalStorageSet.bind(this));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
setLogger(logger) {
|
|
40
|
+
this._logger = logger;
|
|
41
|
+
}
|
|
42
|
+
getLogger() {
|
|
43
|
+
return this._logger;
|
|
44
|
+
}
|
|
45
|
+
onLocalStorageSet(params) {
|
|
46
|
+
if (this._storage.compareKey(
|
|
47
|
+
params.key || "",
|
|
48
|
+
pull.LsKeys.WebsocketBlocked
|
|
49
|
+
) && params.newValue !== params.oldValue) {
|
|
50
|
+
this._callbacks.onWebSocketBlockChanged({
|
|
51
|
+
isWebSocketBlocked: this.isWebSocketBlocked()
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
isWebSocketBlocked() {
|
|
56
|
+
if (!this._storage) {
|
|
57
|
+
return false;
|
|
58
|
+
}
|
|
59
|
+
return this._storage.get(pull.LsKeys.WebsocketBlocked, 0) > Date.now();
|
|
60
|
+
}
|
|
61
|
+
setWebSocketBlocked(isWebSocketBlocked) {
|
|
62
|
+
if (!this._storage) {
|
|
63
|
+
return false;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
this._storage.set(
|
|
67
|
+
pull.LsKeys.WebsocketBlocked,
|
|
68
|
+
isWebSocketBlocked ? Date.now() + this._ttl : 0
|
|
69
|
+
);
|
|
70
|
+
} catch (error) {
|
|
71
|
+
this.getLogger().error(
|
|
72
|
+
`${text.Text.getDateForLog()}: Pull: Could not save WS_blocked flag in local storage`,
|
|
73
|
+
{ error }
|
|
74
|
+
);
|
|
75
|
+
return false;
|
|
76
|
+
}
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
isLongPollingBlocked() {
|
|
80
|
+
if (!this._storage) {
|
|
81
|
+
return false;
|
|
82
|
+
}
|
|
83
|
+
return this._storage.get(pull.LsKeys.LongPollingBlocked, 0) > Date.now();
|
|
84
|
+
}
|
|
85
|
+
setLongPollingBlocked(isLongPollingBlocked) {
|
|
86
|
+
if (!this._storage) {
|
|
87
|
+
return false;
|
|
88
|
+
}
|
|
89
|
+
try {
|
|
90
|
+
this._storage.set(
|
|
91
|
+
pull.LsKeys.LongPollingBlocked,
|
|
92
|
+
isLongPollingBlocked ? Date.now() + this._ttl : 0
|
|
93
|
+
);
|
|
94
|
+
} catch (error) {
|
|
95
|
+
this.getLogger().error(
|
|
96
|
+
`${text.Text.getDateForLog()}: Pull: Could not save LP_blocked flag in local storage.`,
|
|
97
|
+
{ error }
|
|
98
|
+
);
|
|
99
|
+
return false;
|
|
100
|
+
}
|
|
101
|
+
return true;
|
|
102
|
+
}
|
|
103
|
+
isLoggingEnabled() {
|
|
104
|
+
if (!this._storage) {
|
|
105
|
+
return false;
|
|
106
|
+
}
|
|
107
|
+
return this._storage.get(pull.LsKeys.LoggingEnabled, 0) > this.getTimestamp();
|
|
108
|
+
}
|
|
109
|
+
setLoggingEnabled(isLoggingEnabled) {
|
|
110
|
+
if (!this._storage) {
|
|
111
|
+
return false;
|
|
112
|
+
}
|
|
113
|
+
try {
|
|
114
|
+
this._storage.set(
|
|
115
|
+
pull.LsKeys.LoggingEnabled,
|
|
116
|
+
isLoggingEnabled ? this.getTimestamp() + this._ttl : 0
|
|
117
|
+
);
|
|
118
|
+
} catch (error) {
|
|
119
|
+
this.getLogger().error(
|
|
120
|
+
`${text.Text.getDateForLog()}: LocalStorage error.`,
|
|
121
|
+
{ error }
|
|
122
|
+
);
|
|
123
|
+
return false;
|
|
124
|
+
}
|
|
125
|
+
return true;
|
|
126
|
+
}
|
|
127
|
+
// region Tools ////
|
|
128
|
+
getTimestamp() {
|
|
129
|
+
return Date.now();
|
|
130
|
+
}
|
|
131
|
+
// endregion ////
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
exports.SharedConfig = SharedConfig;
|
|
135
|
+
//# sourceMappingURL=shared-config.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared-config.cjs","sources":["../../../src/pullClient/shared-config.ts"],"sourcesContent":["import type { SharedConfigCallbacks, SharedConfigParams, TypeStorageManager } from '../types/pull'\nimport type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport { Type } from '../tools/type'\nimport { Text } from '../tools/text'\nimport { StorageManager } from './storage-manager'\nimport { LsKeys } from '../types/pull'\n\nexport class SharedConfig {\n private _logger: LoggerInterface\n private readonly _storage: TypeStorageManager\n private _ttl: number = 24 * 60 * 60\n private _callbacks: SharedConfigCallbacks\n\n constructor(params: SharedConfigParams = {}) {\n this._logger = LoggerFactory.createNullLogger()\n params = params || {}\n this._storage = params.storage || new StorageManager()\n\n this._callbacks = {\n onWebSocketBlockChanged: Type.isFunction(params.onWebSocketBlockChanged)\n ? params.onWebSocketBlockChanged\n : () => {}\n } as SharedConfigCallbacks\n\n if (this._storage) {\n window.addEventListener('storage', this.onLocalStorageSet.bind(this))\n }\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n private onLocalStorageSet(params: StorageEvent): void {\n if (\n (this._storage as StorageManager).compareKey(\n params.key || '',\n LsKeys.WebsocketBlocked\n )\n && params.newValue !== params.oldValue\n ) {\n this._callbacks.onWebSocketBlockChanged({\n isWebSocketBlocked: this.isWebSocketBlocked()\n })\n }\n }\n\n isWebSocketBlocked(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.WebsocketBlocked, 0) > Date.now()\n }\n\n setWebSocketBlocked(isWebSocketBlocked: boolean): boolean {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.WebsocketBlocked,\n isWebSocketBlocked ? Date.now() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: Pull: Could not save WS_blocked flag in local storage`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n isLongPollingBlocked(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.LongPollingBlocked, 0) > Date.now()\n }\n\n setLongPollingBlocked(isLongPollingBlocked: boolean) {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.LongPollingBlocked,\n isLongPollingBlocked ? Date.now() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: Pull: Could not save LP_blocked flag in local storage.`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n isLoggingEnabled(): boolean {\n if (!this._storage) {\n return false\n }\n\n return this._storage.get(LsKeys.LoggingEnabled, 0) > this.getTimestamp()\n }\n\n setLoggingEnabled(isLoggingEnabled: boolean): boolean {\n if (!this._storage) {\n return false\n }\n\n try {\n this._storage.set(\n LsKeys.LoggingEnabled,\n isLoggingEnabled ? this.getTimestamp() + this._ttl : 0\n )\n } catch (error) {\n this.getLogger().error(\n `${Text.getDateForLog()}: LocalStorage error.`,\n { error }\n )\n\n return false\n }\n\n return true\n }\n\n // region Tools ////\n getTimestamp(): number {\n return Date.now()\n }\n // endregion ////\n}\n"],"names":["LoggerFactory","StorageManager","Type","LsKeys","Text"],"mappings":"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"}
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @bitrix24/b24jssdk
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @copyright (c) 2026 Bitrix24
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/bitrix24/b24jssdk
|
|
7
|
+
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
const text = require('../tools/text.cjs');
|
|
12
|
+
const loggerFactory = require('../logger/logger-factory.cjs');
|
|
13
|
+
|
|
14
|
+
var __defProp = Object.defineProperty;
|
|
15
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
16
|
+
class StorageManager {
|
|
17
|
+
static {
|
|
18
|
+
__name(this, "StorageManager");
|
|
19
|
+
}
|
|
20
|
+
_logger;
|
|
21
|
+
userId;
|
|
22
|
+
siteId;
|
|
23
|
+
constructor(params = {}) {
|
|
24
|
+
this._logger = loggerFactory.LoggerFactory.createNullLogger();
|
|
25
|
+
this.userId = params.userId ? text.Text.toInteger(params.userId) : 0;
|
|
26
|
+
this.siteId = params.siteId ?? "none";
|
|
27
|
+
}
|
|
28
|
+
setLogger(logger) {
|
|
29
|
+
this._logger = logger;
|
|
30
|
+
}
|
|
31
|
+
getLogger() {
|
|
32
|
+
return this._logger;
|
|
33
|
+
}
|
|
34
|
+
set(name, value) {
|
|
35
|
+
if (typeof window.localStorage === "undefined") {
|
|
36
|
+
this.getLogger().error("localStorage undefined", {
|
|
37
|
+
error: new Error("undefined window.localStorage")
|
|
38
|
+
});
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
if (typeof value !== "string" && value) {
|
|
42
|
+
value = JSON.stringify(value);
|
|
43
|
+
}
|
|
44
|
+
window.localStorage.setItem(this._getKey(name), value);
|
|
45
|
+
}
|
|
46
|
+
get(name, defaultValue) {
|
|
47
|
+
if (typeof window.localStorage === "undefined") {
|
|
48
|
+
return defaultValue || null;
|
|
49
|
+
}
|
|
50
|
+
const result = window.localStorage.getItem(this._getKey(name));
|
|
51
|
+
if (result === null) {
|
|
52
|
+
return defaultValue || null;
|
|
53
|
+
}
|
|
54
|
+
return JSON.parse(result);
|
|
55
|
+
}
|
|
56
|
+
remove(name) {
|
|
57
|
+
if (typeof window.localStorage === "undefined") {
|
|
58
|
+
this.getLogger().error("localStorage undefined", {
|
|
59
|
+
error: new Error("undefined window.localStorage")
|
|
60
|
+
});
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
return window.localStorage.removeItem(this._getKey(name));
|
|
64
|
+
}
|
|
65
|
+
_getKey(name) {
|
|
66
|
+
return `@bitrix24/b24jssdk-pull-${this.userId}-${this.siteId}-${name}`;
|
|
67
|
+
}
|
|
68
|
+
compareKey(eventKey, userKey) {
|
|
69
|
+
return eventKey === this._getKey(userKey);
|
|
70
|
+
}
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
exports.StorageManager = StorageManager;
|
|
74
|
+
//# sourceMappingURL=storage-manager.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"storage-manager.cjs","sources":["../../../src/pullClient/storage-manager.ts"],"sourcesContent":["import type { StorageManagerParams, TypeStorageManager } from '../types/pull'\nimport type { LoggerInterface } from '../logger'\nimport { LoggerFactory } from '../logger'\nimport { Text } from '../tools/text'\n\nexport class StorageManager implements TypeStorageManager {\n private _logger: LoggerInterface\n\n private readonly userId: number\n private readonly siteId: string\n\n constructor(params: StorageManagerParams = {}) {\n this._logger = LoggerFactory.createNullLogger()\n this.userId = params.userId ? Text.toInteger(params.userId) : 0\n this.siteId = params.siteId ?? 'none'\n }\n\n setLogger(logger: LoggerInterface): void {\n this._logger = logger\n }\n\n getLogger(): LoggerInterface {\n return this._logger\n }\n\n set(name: string, value: any): void {\n if (typeof window.localStorage === 'undefined') {\n this.getLogger().error('localStorage undefined', {\n error: new Error('undefined window.localStorage')\n })\n return\n }\n\n if (typeof value !== 'string' && value) {\n value = JSON.stringify(value)\n }\n\n window.localStorage.setItem(this._getKey(name), value)\n }\n\n get(name: string, defaultValue: any): any {\n if (typeof window.localStorage === 'undefined') {\n return defaultValue || null\n }\n\n const result = window.localStorage.getItem(this._getKey(name))\n if (result === null) {\n return defaultValue || null\n }\n\n return JSON.parse(result)\n }\n\n remove(name: string): void {\n if (typeof window.localStorage === 'undefined') {\n this.getLogger().error('localStorage undefined', {\n error: new Error('undefined window.localStorage')\n })\n return\n }\n\n return window.localStorage.removeItem(this._getKey(name))\n }\n\n private _getKey(name: string): string {\n return `@bitrix24/b24jssdk-pull-${this.userId}-${this.siteId}-${name}`\n }\n\n compareKey(eventKey: string, userKey: string): boolean {\n return eventKey === this._getKey(userKey)\n }\n}\n"],"names":["LoggerFactory","Text"],"mappings":";;;;;;;;;;;;;;;AAKO,MAAM,cAAA,CAA6C;AAAA,EAL1D;AAK0D,IAAA,MAAA,CAAA,IAAA,EAAA,gBAAA,CAAA;AAAA;AAAA,EAChD,OAAA;AAAA,EAES,MAAA;AAAA,EACA,MAAA;AAAA,EAEjB,WAAA,CAAY,MAAA,GAA+B,EAAC,EAAG;AAC7C,IAAA,IAAA,CAAK,OAAA,GAAUA,4BAAc,gBAAA,EAAiB;AAC9C,IAAA,IAAA,CAAK,SAAS,MAAA,CAAO,MAAA,GAASC,UAAK,SAAA,CAAU,MAAA,CAAO,MAAM,CAAA,GAAI,CAAA;AAC9D,IAAA,IAAA,CAAK,MAAA,GAAS,OAAO,MAAA,IAAU,MAAA;AAAA,EACjC;AAAA,EAEA,UAAU,MAAA,EAA+B;AACvC,IAAA,IAAA,CAAK,OAAA,GAAU,MAAA;AAAA,EACjB;AAAA,EAEA,SAAA,GAA6B;AAC3B,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA,EAEA,GAAA,CAAI,MAAc,KAAA,EAAkB;AAClC,IAAA,IAAI,OAAO,MAAA,CAAO,YAAA,KAAiB,WAAA,EAAa;AAC9C,MAAA,IAAA,CAAK,SAAA,EAAU,CAAE,KAAA,CAAM,wBAAA,EAA0B;AAAA,QAC/C,KAAA,EAAO,IAAI,KAAA,CAAM,+BAA+B;AAAA,OACjD,CAAA;AACD,MAAA;AAAA,IACF;AAEA,IAAA,IAAI,OAAO,KAAA,KAAU,QAAA,IAAY,KAAA,EAAO;AACtC,MAAA,KAAA,GAAQ,IAAA,CAAK,UAAU,KAAK,CAAA;AAAA,IAC9B;AAEA,IAAA,MAAA,CAAO,aAAa,OAAA,CAAQ,IAAA,CAAK,OAAA,CAAQ,IAAI,GAAG,KAAK,CAAA;AAAA,EACvD;AAAA,EAEA,GAAA,CAAI,MAAc,YAAA,EAAwB;AACxC,IAAA,IAAI,OAAO,MAAA,CAAO,YAAA,KAAiB,WAAA,EAAa;AAC9C,MAAA,OAAO,YAAA,IAAgB,IAAA;AAAA,IACzB;AAEA,IAAA,MAAM,SAAS,MAAA,CAAO,YAAA,CAAa,QAAQ,IAAA,CAAK,OAAA,CAAQ,IAAI,CAAC,CAAA;AAC7D,IAAA,IAAI,WAAW,IAAA,EAAM;AACnB,MAAA,OAAO,YAAA,IAAgB,IAAA;AAAA,IACzB;AAEA,IAAA,OAAO,IAAA,CAAK,MAAM,MAAM,CAAA;AAAA,EAC1B;AAAA,EAEA,OAAO,IAAA,EAAoB;AACzB,IAAA,IAAI,OAAO,MAAA,CAAO,YAAA,KAAiB,WAAA,EAAa;AAC9C,MAAA,IAAA,CAAK,SAAA,EAAU,CAAE,KAAA,CAAM,wBAAA,EAA0B;AAAA,QAC/C,KAAA,EAAO,IAAI,KAAA,CAAM,+BAA+B;AAAA,OACjD,CAAA;AACD,MAAA;AAAA,IACF;AAEA,IAAA,OAAO,OAAO,YAAA,CAAa,UAAA,CAAW,IAAA,CAAK,OAAA,CAAQ,IAAI,CAAC,CAAA;AAAA,EAC1D;AAAA,EAEQ,QAAQ,IAAA,EAAsB;AACpC,IAAA,OAAO,2BAA2B,IAAA,CAAK,MAAM,IAAI,IAAA,CAAK,MAAM,IAAI,IAAI,CAAA,CAAA;AAAA,EACtE;AAAA,EAEA,UAAA,CAAW,UAAkB,OAAA,EAA0B;AACrD,IAAA,OAAO,QAAA,KAAa,IAAA,CAAK,OAAA,CAAQ,OAAO,CAAA;AAAA,EAC1C;AACF;;;;"}
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @bitrix24/b24jssdk
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @copyright (c) 2026 Bitrix24
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/bitrix24/b24jssdk
|
|
7
|
+
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
const text = require('../tools/text.cjs');
|
|
12
|
+
const abstractConnector = require('./abstract-connector.cjs');
|
|
13
|
+
const pull = require('../types/pull.cjs');
|
|
14
|
+
|
|
15
|
+
var __defProp = Object.defineProperty;
|
|
16
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
17
|
+
class WebSocketConnector extends abstractConnector.AbstractConnector {
|
|
18
|
+
static {
|
|
19
|
+
__name(this, "WebSocketConnector");
|
|
20
|
+
}
|
|
21
|
+
_socket;
|
|
22
|
+
_onSocketOpenHandler;
|
|
23
|
+
_onSocketCloseHandler;
|
|
24
|
+
_onSocketErrorHandler;
|
|
25
|
+
_onSocketMessageHandler;
|
|
26
|
+
constructor(config) {
|
|
27
|
+
super(config);
|
|
28
|
+
this._connectionType = pull.ConnectionType.WebSocket;
|
|
29
|
+
this._socket = null;
|
|
30
|
+
this._onSocketOpenHandler = this._onSocketOpen.bind(this);
|
|
31
|
+
this._onSocketCloseHandler = this._onSocketClose.bind(this);
|
|
32
|
+
this._onSocketErrorHandler = this._onSocketError.bind(this);
|
|
33
|
+
this._onSocketMessageHandler = this._onSocketMessage.bind(this);
|
|
34
|
+
}
|
|
35
|
+
destroy() {
|
|
36
|
+
super.destroy();
|
|
37
|
+
if (this._socket) {
|
|
38
|
+
this._socket.close();
|
|
39
|
+
this._socket = null;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @inheritDoc
|
|
44
|
+
*/
|
|
45
|
+
connect() {
|
|
46
|
+
if (this._socket) {
|
|
47
|
+
if (this._socket.readyState === 1) {
|
|
48
|
+
return;
|
|
49
|
+
} else {
|
|
50
|
+
this.clearEventListener();
|
|
51
|
+
this._socket.close();
|
|
52
|
+
this._socket = null;
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
this._createSocket();
|
|
56
|
+
}
|
|
57
|
+
get socket() {
|
|
58
|
+
return this._socket;
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* @inheritDoc
|
|
62
|
+
* @param code
|
|
63
|
+
* @param reason
|
|
64
|
+
*/
|
|
65
|
+
disconnect(code, reason) {
|
|
66
|
+
if (this._socket !== null) {
|
|
67
|
+
this.clearEventListener();
|
|
68
|
+
this._socket.close(code, reason);
|
|
69
|
+
}
|
|
70
|
+
this._socket = null;
|
|
71
|
+
this._disconnectCode = code;
|
|
72
|
+
this._disconnectReason = reason;
|
|
73
|
+
this.connected = false;
|
|
74
|
+
}
|
|
75
|
+
/**
|
|
76
|
+
* Via websocket connection
|
|
77
|
+
* @inheritDoc
|
|
78
|
+
*/
|
|
79
|
+
send(buffer) {
|
|
80
|
+
if (!this._socket || this._socket.readyState !== 1) {
|
|
81
|
+
this.getLogger().error(`${text.Text.getDateForLog()}: Pull: WebSocket is not connected`);
|
|
82
|
+
return false;
|
|
83
|
+
}
|
|
84
|
+
this._socket.send(buffer);
|
|
85
|
+
return true;
|
|
86
|
+
}
|
|
87
|
+
// region Event Handlers ////
|
|
88
|
+
_onSocketOpen() {
|
|
89
|
+
this.connected = true;
|
|
90
|
+
}
|
|
91
|
+
_onSocketClose(event) {
|
|
92
|
+
this._socket = null;
|
|
93
|
+
this._disconnectCode = Number(event.code);
|
|
94
|
+
this._disconnectReason = event.reason;
|
|
95
|
+
this.connected = false;
|
|
96
|
+
}
|
|
97
|
+
_onSocketError(event) {
|
|
98
|
+
this._callbacks.onError(new Error(`Socket error: ${event}`));
|
|
99
|
+
}
|
|
100
|
+
_onSocketMessage(event) {
|
|
101
|
+
this._callbacks.onMessage(event.data);
|
|
102
|
+
}
|
|
103
|
+
// endregion ////
|
|
104
|
+
// region Tools ////
|
|
105
|
+
clearEventListener() {
|
|
106
|
+
if (this._socket) {
|
|
107
|
+
this._socket.removeEventListener("open", this._onSocketOpenHandler);
|
|
108
|
+
this._socket.removeEventListener("close", this._onSocketCloseHandler);
|
|
109
|
+
this._socket.removeEventListener("error", this._onSocketErrorHandler);
|
|
110
|
+
this._socket.removeEventListener("message", this._onSocketMessageHandler);
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
_createSocket() {
|
|
114
|
+
if (this._socket) {
|
|
115
|
+
throw new Error("Socket already exists");
|
|
116
|
+
}
|
|
117
|
+
if (!this.connectionPath) {
|
|
118
|
+
throw new Error("Websocket connection path is not defined");
|
|
119
|
+
}
|
|
120
|
+
this._socket = new WebSocket(this.connectionPath);
|
|
121
|
+
this._socket.binaryType = "arraybuffer";
|
|
122
|
+
this._socket.addEventListener("open", this._onSocketOpenHandler);
|
|
123
|
+
this._socket.addEventListener("close", this._onSocketCloseHandler);
|
|
124
|
+
this._socket.addEventListener("error", this._onSocketErrorHandler);
|
|
125
|
+
this._socket.addEventListener("message", this._onSocketMessageHandler);
|
|
126
|
+
}
|
|
127
|
+
// endregion ////
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
exports.WebSocketConnector = WebSocketConnector;
|
|
131
|
+
//# sourceMappingURL=web-socket-connector.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"web-socket-connector.cjs","sources":["../../../src/pullClient/web-socket-connector.ts"],"sourcesContent":["import type { ConnectorConfig } from '../types/pull'\nimport { Text } from '../tools/text'\nimport { AbstractConnector } from './abstract-connector'\nimport { ConnectionType } from '../types/pull'\n\nexport class WebSocketConnector extends AbstractConnector {\n private _socket: null | WebSocket\n\n private readonly _onSocketOpenHandler: () => void\n private readonly _onSocketCloseHandler: (event: CloseEvent) => void\n private readonly _onSocketErrorHandler: (event: Event) => void\n private readonly _onSocketMessageHandler: (event: MessageEvent) => void\n\n constructor(config: ConnectorConfig) {\n super(config)\n\n this._connectionType = ConnectionType.WebSocket\n this._socket = null\n\n this._onSocketOpenHandler = this._onSocketOpen.bind(this)\n this._onSocketCloseHandler = this._onSocketClose.bind(this)\n this._onSocketErrorHandler = this._onSocketError.bind(this)\n this._onSocketMessageHandler = this._onSocketMessage.bind(this)\n }\n\n override destroy() {\n super.destroy()\n\n if (this._socket) {\n this._socket.close()\n this._socket = null\n }\n }\n\n /**\n * @inheritDoc\n */\n override connect(): void {\n if (this._socket) {\n if (this._socket.readyState === 1) {\n /**\n * @memo already connected\n */\n return\n } else {\n this.clearEventListener()\n\n this._socket.close()\n this._socket = null\n }\n }\n\n this._createSocket()\n }\n\n get socket(): null | WebSocket {\n return this._socket\n }\n\n /**\n * @inheritDoc\n * @param code\n * @param reason\n */\n override disconnect(code: number, reason: string): void {\n if (this._socket !== null) {\n this.clearEventListener()\n\n this._socket.close(code, reason)\n }\n this._socket = null\n this._disconnectCode = code\n this._disconnectReason = reason\n this.connected = false\n }\n\n /**\n * Via websocket connection\n * @inheritDoc\n */\n override send(buffer: ArrayBuffer | string): boolean {\n if (!this._socket || this._socket.readyState !== 1) {\n this.getLogger().error(`${Text.getDateForLog()}: Pull: WebSocket is not connected`)\n\n return false\n }\n\n this._socket.send(buffer)\n return true\n }\n\n // region Event Handlers ////\n private _onSocketOpen(): void {\n this.connected = true\n }\n\n private _onSocketClose(event: CloseEvent) {\n this._socket = null\n this._disconnectCode = Number(event.code)\n this._disconnectReason = event.reason\n this.connected = false\n }\n\n private _onSocketError(event: Event): void {\n this._callbacks.onError(new Error(`Socket error: ${event}`))\n }\n\n private _onSocketMessage(event: MessageEvent): void {\n this._callbacks.onMessage(event.data)\n }\n // endregion ////\n\n // region Tools ////\n private clearEventListener(): void {\n if (this._socket) {\n this._socket.removeEventListener('open', this._onSocketOpenHandler)\n\n this._socket.removeEventListener('close', this._onSocketCloseHandler)\n\n this._socket.removeEventListener('error', this._onSocketErrorHandler)\n\n this._socket.removeEventListener('message', this._onSocketMessageHandler)\n }\n }\n\n private _createSocket(): void {\n if (this._socket) {\n throw new Error('Socket already exists')\n }\n\n if (!this.connectionPath) {\n throw new Error('Websocket connection path is not defined')\n }\n\n this._socket = new WebSocket(this.connectionPath)\n this._socket.binaryType = 'arraybuffer'\n\n this._socket.addEventListener('open', this._onSocketOpenHandler)\n\n this._socket.addEventListener('close', this._onSocketCloseHandler)\n\n this._socket.addEventListener('error', this._onSocketErrorHandler)\n\n this._socket.addEventListener('message', this._onSocketMessageHandler)\n }\n // endregion ////\n}\n"],"names":["AbstractConnector","ConnectionType","Text"],"mappings":";;;;;;;;;;;;;;;;AAKO,MAAM,2BAA2BA,mCAAA,CAAkB;AAAA,EAL1D;AAK0D,IAAA,MAAA,CAAA,IAAA,EAAA,oBAAA,CAAA;AAAA;AAAA,EAChD,OAAA;AAAA,EAES,oBAAA;AAAA,EACA,qBAAA;AAAA,EACA,qBAAA;AAAA,EACA,uBAAA;AAAA,EAEjB,YAAY,MAAA,EAAyB;AACnC,IAAA,KAAA,CAAM,MAAM,CAAA;AAEZ,IAAA,IAAA,CAAK,kBAAkBC,mBAAA,CAAe,SAAA;AACtC,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AAEf,IAAA,IAAA,CAAK,oBAAA,GAAuB,IAAA,CAAK,aAAA,CAAc,IAAA,CAAK,IAAI,CAAA;AACxD,IAAA,IAAA,CAAK,qBAAA,GAAwB,IAAA,CAAK,cAAA,CAAe,IAAA,CAAK,IAAI,CAAA;AAC1D,IAAA,IAAA,CAAK,qBAAA,GAAwB,IAAA,CAAK,cAAA,CAAe,IAAA,CAAK,IAAI,CAAA;AAC1D,IAAA,IAAA,CAAK,uBAAA,GAA0B,IAAA,CAAK,gBAAA,CAAiB,IAAA,CAAK,IAAI,CAAA;AAAA,EAChE;AAAA,EAES,OAAA,GAAU;AACjB,IAAA,KAAA,CAAM,OAAA,EAAQ;AAEd,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,IAAA,CAAK,QAAQ,KAAA,EAAM;AACnB,MAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AAAA,IACjB;AAAA,EACF;AAAA;AAAA;AAAA;AAAA,EAKS,OAAA,GAAgB;AACvB,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,IAAI,IAAA,CAAK,OAAA,CAAQ,UAAA,KAAe,CAAA,EAAG;AAIjC,QAAA;AAAA,MACF,CAAA,MAAO;AACL,QAAA,IAAA,CAAK,kBAAA,EAAmB;AAExB,QAAA,IAAA,CAAK,QAAQ,KAAA,EAAM;AACnB,QAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AAAA,MACjB;AAAA,IACF;AAEA,IAAA,IAAA,CAAK,aAAA,EAAc;AAAA,EACrB;AAAA,EAEA,IAAI,MAAA,GAA2B;AAC7B,IAAA,OAAO,IAAA,CAAK,OAAA;AAAA,EACd;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAOS,UAAA,CAAW,MAAc,MAAA,EAAsB;AACtD,IAAA,IAAI,IAAA,CAAK,YAAY,IAAA,EAAM;AACzB,MAAA,IAAA,CAAK,kBAAA,EAAmB;AAExB,MAAA,IAAA,CAAK,OAAA,CAAQ,KAAA,CAAM,IAAA,EAAM,MAAM,CAAA;AAAA,IACjC;AACA,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AACf,IAAA,IAAA,CAAK,eAAA,GAAkB,IAAA;AACvB,IAAA,IAAA,CAAK,iBAAA,GAAoB,MAAA;AACzB,IAAA,IAAA,CAAK,SAAA,GAAY,KAAA;AAAA,EACnB;AAAA;AAAA;AAAA;AAAA;AAAA,EAMS,KAAK,MAAA,EAAuC;AACnD,IAAA,IAAI,CAAC,IAAA,CAAK,OAAA,IAAW,IAAA,CAAK,OAAA,CAAQ,eAAe,CAAA,EAAG;AAClD,MAAA,IAAA,CAAK,WAAU,CAAE,KAAA,CAAM,GAAGC,SAAA,CAAK,aAAA,EAAe,CAAA,kCAAA,CAAoC,CAAA;AAElF,MAAA,OAAO,KAAA;AAAA,IACT;AAEA,IAAA,IAAA,CAAK,OAAA,CAAQ,KAAK,MAAM,CAAA;AACxB,IAAA,OAAO,IAAA;AAAA,EACT;AAAA;AAAA,EAGQ,aAAA,GAAsB;AAC5B,IAAA,IAAA,CAAK,SAAA,GAAY,IAAA;AAAA,EACnB;AAAA,EAEQ,eAAe,KAAA,EAAmB;AACxC,IAAA,IAAA,CAAK,OAAA,GAAU,IAAA;AACf,IAAA,IAAA,CAAK,eAAA,GAAkB,MAAA,CAAO,KAAA,CAAM,IAAI,CAAA;AACxC,IAAA,IAAA,CAAK,oBAAoB,KAAA,CAAM,MAAA;AAC/B,IAAA,IAAA,CAAK,SAAA,GAAY,KAAA;AAAA,EACnB;AAAA,EAEQ,eAAe,KAAA,EAAoB;AACzC,IAAA,IAAA,CAAK,WAAW,OAAA,CAAQ,IAAI,MAAM,CAAA,cAAA,EAAiB,KAAK,EAAE,CAAC,CAAA;AAAA,EAC7D;AAAA,EAEQ,iBAAiB,KAAA,EAA2B;AAClD,IAAA,IAAA,CAAK,UAAA,CAAW,SAAA,CAAU,KAAA,CAAM,IAAI,CAAA;AAAA,EACtC;AAAA;AAAA;AAAA,EAIQ,kBAAA,GAA2B;AACjC,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,IAAA,CAAK,OAAA,CAAQ,mBAAA,CAAoB,MAAA,EAAQ,IAAA,CAAK,oBAAoB,CAAA;AAElE,MAAA,IAAA,CAAK,OAAA,CAAQ,mBAAA,CAAoB,OAAA,EAAS,IAAA,CAAK,qBAAqB,CAAA;AAEpE,MAAA,IAAA,CAAK,OAAA,CAAQ,mBAAA,CAAoB,OAAA,EAAS,IAAA,CAAK,qBAAqB,CAAA;AAEpE,MAAA,IAAA,CAAK,OAAA,CAAQ,mBAAA,CAAoB,SAAA,EAAW,IAAA,CAAK,uBAAuB,CAAA;AAAA,IAC1E;AAAA,EACF;AAAA,EAEQ,aAAA,GAAsB;AAC5B,IAAA,IAAI,KAAK,OAAA,EAAS;AAChB,MAAA,MAAM,IAAI,MAAM,uBAAuB,CAAA;AAAA,IACzC;AAEA,IAAA,IAAI,CAAC,KAAK,cAAA,EAAgB;AACxB,MAAA,MAAM,IAAI,MAAM,0CAA0C,CAAA;AAAA,IAC5D;AAEA,IAAA,IAAA,CAAK,OAAA,GAAU,IAAI,SAAA,CAAU,IAAA,CAAK,cAAc,CAAA;AAChD,IAAA,IAAA,CAAK,QAAQ,UAAA,GAAa,aAAA;AAE1B,IAAA,IAAA,CAAK,OAAA,CAAQ,gBAAA,CAAiB,MAAA,EAAQ,IAAA,CAAK,oBAAoB,CAAA;AAE/D,IAAA,IAAA,CAAK,OAAA,CAAQ,gBAAA,CAAiB,OAAA,EAAS,IAAA,CAAK,qBAAqB,CAAA;AAEjE,IAAA,IAAA,CAAK,OAAA,CAAQ,gBAAA,CAAiB,OAAA,EAAS,IAAA,CAAK,qBAAqB,CAAA;AAEjE,IAAA,IAAA,CAAK,OAAA,CAAQ,gBAAA,CAAiB,SAAA,EAAW,IAAA,CAAK,uBAAuB,CAAA;AAAA,EACvE;AAAA;AAEF;;;;"}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @bitrix24/b24jssdk
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @copyright (c) 2026 Bitrix24
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/bitrix24/b24jssdk
|
|
7
|
+
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
const sdkError = require('../core/sdk-error.cjs');
|
|
12
|
+
|
|
13
|
+
var __defProp = Object.defineProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
function assertPath(path, who) {
|
|
16
|
+
if (typeof path !== "string" || path.length === 0) {
|
|
17
|
+
throw new sdkError.SdkError({
|
|
18
|
+
code: "JSSDK_BATCH_REF_V3_INVALID_PATH",
|
|
19
|
+
description: `${who}: path must be a non-empty dotted string (e.g. "tasks.id").`,
|
|
20
|
+
status: 400
|
|
21
|
+
});
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
__name(assertPath, "assertPath");
|
|
25
|
+
const BatchRefV3 = Object.freeze({
|
|
26
|
+
/**
|
|
27
|
+
* `{ $ref: path }` — substitute a single value from context, e.g.
|
|
28
|
+
* `ref('newTask.item.id')`. `add` → id / `update` → bool results are NOT in
|
|
29
|
+
* context (reference §8); only `item` (get) and `items` (list/tail) are.
|
|
30
|
+
*/
|
|
31
|
+
ref(path) {
|
|
32
|
+
assertPath(path, "BatchRefV3.ref");
|
|
33
|
+
return { $ref: path };
|
|
34
|
+
},
|
|
35
|
+
/**
|
|
36
|
+
* `{ $refArray: path }` — collect one field across the `items[]` of an earlier
|
|
37
|
+
* list/tail command, e.g. `refArray('tasks.id')`. The path MUST contain a dot
|
|
38
|
+
* (`alias.field`); the server rejects a dot-less path with INVALIDSELECTEXCEPTION.
|
|
39
|
+
*/
|
|
40
|
+
refArray(path) {
|
|
41
|
+
assertPath(path, "BatchRefV3.refArray");
|
|
42
|
+
if (!path.includes(".")) {
|
|
43
|
+
throw new sdkError.SdkError({
|
|
44
|
+
code: "JSSDK_BATCH_REF_V3_INVALID_REF_ARRAY",
|
|
45
|
+
description: `BatchRefV3.refArray: path "${path}" must contain a dot ("alias.field") \u2014 the server collects <field> across the alias's items[].`,
|
|
46
|
+
status: 400
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
return { $refArray: path };
|
|
50
|
+
}
|
|
51
|
+
});
|
|
52
|
+
|
|
53
|
+
exports.BatchRefV3 = BatchRefV3;
|
|
54
|
+
//# sourceMappingURL=batch-ref-v3.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"batch-ref-v3.cjs","sources":["../../../src/tools/batch-ref-v3.ts"],"sourcesContent":["import { SdkError } from '../core/sdk-error'\n\n/**\n * A `$ref` substitution marker: pulls a single value from an earlier batch\n * command's context by dotted path (reference §8).\n */\nexport interface BatchRef { $ref: string }\n\n/**\n * A `$refArray` substitution marker: collects one field across the `items[]` of\n * an earlier list/tail command into an array (reference §8).\n */\nexport interface BatchRefArray { $refArray: string }\n\nfunction assertPath(path: string, who: string): void {\n if (typeof path !== 'string' || path.length === 0) {\n throw new SdkError({\n code: 'JSSDK_BATCH_REF_V3_INVALID_PATH',\n description: `${who}: path must be a non-empty dotted string (e.g. \"tasks.id\").`,\n status: 400\n })\n }\n}\n\n/**\n * Helpers for the v3 batch `$ref` / `$refArray` substitution markers (reference\n * §8). The **server** performs the substitution: these helpers just build the\n * marker objects you drop into a later command's `params` (the SDK forwards\n * `params` to the wire `query`), with a little client-side validation. Reference\n * an earlier command by its `as` alias — or by its numeric index if you omit `as`.\n * Only `item` (get) and `items` (list/tail) results land in context; `add` → id\n * and `update` → bool results do not.\n *\n * **v3 only.** Substitution is a v3 batch feature. Dropped into a v2 batch\n * (`actions.v2.batch.make`) the markers are NOT substituted — they are encoded\n * as literal filter values and silently yield wrong/empty results.\n *\n * **Security:** the `path` selects from the batch's own response context, but do\n * not build it from untrusted end-user input — a crafted path could read context\n * the caller did not intend to expose to the next command.\n *\n * @example\n * import { BatchRefV3 as R } from '@bitrix24/b24jssdk'\n *\n * const response = await b24.actions.v3.batch.make({\n * calls: [\n * { method: 'tasks.task.list', as: 'tasks', params: { select: ['id'] } },\n * {\n * method: 'tasks.task.comment.list',\n * // server substitutes the array of ids collected from the first command's items[]\n * params: { filter: [['taskId', 'in', R.refArray('tasks.id')]] }\n * }\n * ]\n * })\n */\nexport const BatchRefV3 = Object.freeze({\n /**\n * `{ $ref: path }` — substitute a single value from context, e.g.\n * `ref('newTask.item.id')`. `add` → id / `update` → bool results are NOT in\n * context (reference §8); only `item` (get) and `items` (list/tail) are.\n */\n ref(path: string): BatchRef {\n assertPath(path, 'BatchRefV3.ref')\n return { $ref: path }\n },\n /**\n * `{ $refArray: path }` — collect one field across the `items[]` of an earlier\n * list/tail command, e.g. `refArray('tasks.id')`. The path MUST contain a dot\n * (`alias.field`); the server rejects a dot-less path with INVALIDSELECTEXCEPTION.\n */\n refArray(path: string): BatchRefArray {\n assertPath(path, 'BatchRefV3.refArray')\n if (!path.includes('.')) {\n throw new SdkError({\n code: 'JSSDK_BATCH_REF_V3_INVALID_REF_ARRAY',\n description: `BatchRefV3.refArray: path \"${path}\" must contain a dot (\"alias.field\") — the server collects <field> across the alias's items[].`,\n status: 400\n })\n }\n return { $refArray: path }\n }\n})\n"],"names":["SdkError"],"mappings":";;;;;;;;;;;;;;AAcA,SAAS,UAAA,CAAW,MAAc,GAAA,EAAmB;AACnD,EAAA,IAAI,OAAO,IAAA,KAAS,QAAA,IAAY,IAAA,CAAK,WAAW,CAAA,EAAG;AACjD,IAAA,MAAM,IAAIA,iBAAA,CAAS;AAAA,MACjB,IAAA,EAAM,iCAAA;AAAA,MACN,WAAA,EAAa,GAAG,GAAG,CAAA,2DAAA,CAAA;AAAA,MACnB,MAAA,EAAQ;AAAA,KACT,CAAA;AAAA,EACH;AACF;AARS,MAAA,CAAA,UAAA,EAAA,YAAA,CAAA;AAyCF,MAAM,UAAA,GAAa,OAAO,MAAA,CAAO;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMtC,IAAI,IAAA,EAAwB;AAC1B,IAAA,UAAA,CAAW,MAAM,gBAAgB,CAAA;AACjC,IAAA,OAAO,EAAE,MAAM,IAAA,EAAK;AAAA,EACtB,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAMA,SAAS,IAAA,EAA6B;AACpC,IAAA,UAAA,CAAW,MAAM,qBAAqB,CAAA;AACtC,IAAA,IAAI,CAAC,IAAA,CAAK,QAAA,CAAS,GAAG,CAAA,EAAG;AACvB,MAAA,MAAM,IAAIA,iBAAA,CAAS;AAAA,QACjB,IAAA,EAAM,sCAAA;AAAA,QACN,WAAA,EAAa,8BAA8B,IAAI,CAAA,mGAAA,CAAA;AAAA,QAC/C,MAAA,EAAQ;AAAA,OACT,CAAA;AAAA,IACH;AACA,IAAA,OAAO,EAAE,WAAW,IAAA,EAAK;AAAA,EAC3B;AACF,CAAC;;;;"}
|
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @bitrix24/b24jssdk
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @copyright (c) 2026 Bitrix24
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/bitrix24/b24jssdk
|
|
7
|
+
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
const type = require('./type.cjs');
|
|
12
|
+
|
|
13
|
+
var __defProp = Object.defineProperty;
|
|
14
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
15
|
+
let UA = "";
|
|
16
|
+
try {
|
|
17
|
+
UA = navigator?.userAgent.toLowerCase();
|
|
18
|
+
} catch {
|
|
19
|
+
UA = "?";
|
|
20
|
+
}
|
|
21
|
+
class BrowserManager {
|
|
22
|
+
static {
|
|
23
|
+
__name(this, "BrowserManager");
|
|
24
|
+
}
|
|
25
|
+
isOpera() {
|
|
26
|
+
return UA.includes("opera");
|
|
27
|
+
}
|
|
28
|
+
isIE() {
|
|
29
|
+
return "attachEvent" in document && !this.isOpera();
|
|
30
|
+
}
|
|
31
|
+
isIE6() {
|
|
32
|
+
return UA.includes("msie 6");
|
|
33
|
+
}
|
|
34
|
+
isIE7() {
|
|
35
|
+
return UA.includes("msie 7");
|
|
36
|
+
}
|
|
37
|
+
isIE8() {
|
|
38
|
+
return UA.includes("msie 8");
|
|
39
|
+
}
|
|
40
|
+
isIE9() {
|
|
41
|
+
return "documentMode" in document && document?.documentMode >= 9;
|
|
42
|
+
}
|
|
43
|
+
isIE10() {
|
|
44
|
+
return "documentMode" in document && document?.documentMode >= 10;
|
|
45
|
+
}
|
|
46
|
+
isSafari() {
|
|
47
|
+
return UA.includes("safari") && !UA.includes("chrome");
|
|
48
|
+
}
|
|
49
|
+
isFirefox() {
|
|
50
|
+
return UA.includes("firefox");
|
|
51
|
+
}
|
|
52
|
+
isChrome() {
|
|
53
|
+
return UA.includes("chrome");
|
|
54
|
+
}
|
|
55
|
+
detectIEVersion() {
|
|
56
|
+
if (this.isOpera() || this.isSafari() || this.isFirefox() || this.isChrome()) {
|
|
57
|
+
return -1;
|
|
58
|
+
}
|
|
59
|
+
let rv = -1;
|
|
60
|
+
if (
|
|
61
|
+
// @ts-expect-error we detect IEVersion ////
|
|
62
|
+
!!window.MSStream && !window.ActiveXObject && "ActiveXObject" in window
|
|
63
|
+
) {
|
|
64
|
+
rv = 11;
|
|
65
|
+
} else if (this.isIE10()) {
|
|
66
|
+
rv = 10;
|
|
67
|
+
} else if (this.isIE9()) {
|
|
68
|
+
rv = 9;
|
|
69
|
+
} else if (this.isIE()) {
|
|
70
|
+
rv = 8;
|
|
71
|
+
}
|
|
72
|
+
if (rv === -1 || rv === 8) {
|
|
73
|
+
if (navigator.appName === "Microsoft Internet Explorer") {
|
|
74
|
+
const re = /MSIE (\d[.0-9]*)/;
|
|
75
|
+
const res = navigator.userAgent.match(re);
|
|
76
|
+
if (type.Type.isArrayLike(res) && res.length > 0) {
|
|
77
|
+
rv = Number.parseFloat(res[1]);
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
if (navigator.appName === "Netscape") {
|
|
81
|
+
rv = 11;
|
|
82
|
+
const re = /Trident\/.*rv:(\d[.0-9]*)/;
|
|
83
|
+
if (re.exec(navigator.userAgent) != null) {
|
|
84
|
+
const res = navigator.userAgent.match(re);
|
|
85
|
+
if (type.Type.isArrayLike(res) && res.length > 0) {
|
|
86
|
+
rv = Number.parseFloat(res[1]);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
return rv;
|
|
92
|
+
}
|
|
93
|
+
isIE11() {
|
|
94
|
+
return this.detectIEVersion() >= 11;
|
|
95
|
+
}
|
|
96
|
+
isMac() {
|
|
97
|
+
return UA.includes("macintosh");
|
|
98
|
+
}
|
|
99
|
+
isWin() {
|
|
100
|
+
return UA.includes("windows");
|
|
101
|
+
}
|
|
102
|
+
isLinux() {
|
|
103
|
+
return UA.includes("linux") && !this.isAndroid();
|
|
104
|
+
}
|
|
105
|
+
isAndroid() {
|
|
106
|
+
return UA.includes("android");
|
|
107
|
+
}
|
|
108
|
+
isIPad() {
|
|
109
|
+
return UA.includes("ipad;") || this.isMac() && this.isTouchDevice();
|
|
110
|
+
}
|
|
111
|
+
isIPhone() {
|
|
112
|
+
return UA.includes("iphone;");
|
|
113
|
+
}
|
|
114
|
+
isIOS() {
|
|
115
|
+
return this.isIPad() || this.isIPhone();
|
|
116
|
+
}
|
|
117
|
+
isMobile() {
|
|
118
|
+
return this.isIPhone() || this.isIPad() || this.isAndroid() || UA.includes("mobile") || UA.includes("touch");
|
|
119
|
+
}
|
|
120
|
+
isRetina() {
|
|
121
|
+
return (window.devicePixelRatio && window.devicePixelRatio >= 2) === true;
|
|
122
|
+
}
|
|
123
|
+
isTouchDevice() {
|
|
124
|
+
return "ontouchstart" in window || navigator.maxTouchPoints > 0;
|
|
125
|
+
}
|
|
126
|
+
isDoctype(target) {
|
|
127
|
+
const doc = target || document;
|
|
128
|
+
if (doc.compatMode) {
|
|
129
|
+
return doc.compatMode === "CSS1Compat";
|
|
130
|
+
}
|
|
131
|
+
return doc.documentElement && doc.documentElement.clientHeight;
|
|
132
|
+
}
|
|
133
|
+
isLocalStorageSupported() {
|
|
134
|
+
try {
|
|
135
|
+
localStorage.setItem("test", "test");
|
|
136
|
+
localStorage.removeItem("test");
|
|
137
|
+
return true;
|
|
138
|
+
} catch {
|
|
139
|
+
return false;
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
detectAndroidVersion() {
|
|
143
|
+
const re = /Android (\d[.0-9]*)/;
|
|
144
|
+
if (re.exec(navigator.userAgent) != null) {
|
|
145
|
+
const res = navigator.userAgent.match(re);
|
|
146
|
+
if (type.Type.isArrayLike(res) && res.length > 0) {
|
|
147
|
+
return Number.parseFloat(res[1]);
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
return 0;
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
const Browser = new BrowserManager();
|
|
154
|
+
|
|
155
|
+
exports.Browser = Browser;
|
|
156
|
+
//# sourceMappingURL=browser.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"browser.cjs","sources":["../../../src/tools/browser.ts"],"sourcesContent":["import { Type } from './type'\n\nlet UA: string = ''\ntry {\n UA = navigator?.userAgent.toLowerCase()\n} catch {\n UA = '?'\n}\n\n/**\n * @see bitrix/js/main/core/src/lib/browser.js\n */\nclass BrowserManager {\n isOpera(): boolean {\n return UA.includes('opera')\n }\n\n isIE(): boolean {\n return 'attachEvent' in document && !this.isOpera()\n }\n\n isIE6(): boolean {\n return UA.includes('msie 6')\n }\n\n isIE7(): boolean {\n return UA.includes('msie 7')\n }\n\n isIE8(): boolean {\n return UA.includes('msie 8')\n }\n\n isIE9(): boolean {\n return 'documentMode' in document && ((document?.documentMode as number) >= 9)\n }\n\n isIE10(): boolean {\n return 'documentMode' in document && ((document?.documentMode as number) >= 10)\n }\n\n isSafari(): boolean {\n return UA.includes('safari') && !UA.includes('chrome')\n }\n\n isFirefox() {\n return UA.includes('firefox')\n }\n\n isChrome() {\n return UA.includes('chrome')\n }\n\n detectIEVersion() {\n if (\n this.isOpera()\n || this.isSafari()\n || this.isFirefox()\n || this.isChrome()\n ) {\n return -1\n }\n\n let rv = -1\n\n if (\n // @ts-expect-error we detect IEVersion ////\n !!window.MSStream\n // @ts-expect-error we detect IEVersion ////\n && !window.ActiveXObject\n && 'ActiveXObject' in window\n ) {\n rv = 11\n } else if (this.isIE10()) {\n rv = 10\n } else if (this.isIE9()) {\n rv = 9\n } else if (this.isIE()) {\n rv = 8\n }\n\n if (rv === -1 || rv === 8) {\n if (navigator.appName === 'Microsoft Internet Explorer') {\n const re = /MSIE (\\d[.0-9]*)/\n const res = navigator.userAgent.match(re)\n\n if (Type.isArrayLike(res) && res.length > 0) {\n rv = Number.parseFloat(res[1]!)\n }\n }\n\n if (navigator.appName === 'Netscape') {\n // Alternative check for IE 11\n rv = 11\n const re = /Trident\\/.*rv:(\\d[.0-9]*)/\n\n if (re.exec(navigator.userAgent) != null) {\n const res = navigator.userAgent.match(re)\n\n if (Type.isArrayLike(res) && res.length > 0) {\n rv = Number.parseFloat(res[1]!)\n }\n }\n }\n }\n\n return rv\n }\n\n isIE11(): boolean {\n return this.detectIEVersion() >= 11\n }\n\n isMac(): boolean {\n return UA.includes('macintosh')\n }\n\n isWin(): boolean {\n return UA.includes('windows')\n }\n\n isLinux(): boolean {\n return UA.includes('linux') && !this.isAndroid()\n }\n\n isAndroid(): boolean {\n return UA.includes('android')\n }\n\n isIPad(): boolean {\n return UA.includes('ipad;') || (this.isMac() && this.isTouchDevice())\n }\n\n isIPhone(): boolean {\n return UA.includes('iphone;')\n }\n\n isIOS(): boolean {\n return this.isIPad() || this.isIPhone()\n }\n\n isMobile(): boolean {\n return (\n this.isIPhone()\n || this.isIPad()\n || this.isAndroid()\n || UA.includes('mobile')\n || UA.includes('touch')\n )\n }\n\n isRetina(): boolean {\n return (window.devicePixelRatio && window.devicePixelRatio >= 2) === true\n }\n\n isTouchDevice(): boolean {\n return (\n 'ontouchstart' in window\n || navigator.maxTouchPoints > 0\n )\n }\n\n isDoctype(target: any): boolean {\n const doc = target || document\n\n if (doc.compatMode) {\n return doc.compatMode === 'CSS1Compat'\n }\n\n return doc.documentElement && doc.documentElement.clientHeight\n }\n\n isLocalStorageSupported(): boolean {\n try {\n localStorage.setItem('test', 'test')\n localStorage.removeItem('test')\n return true\n } catch {\n return false\n }\n }\n\n detectAndroidVersion(): number {\n const re = /Android (\\d[.0-9]*)/\n\n if (re.exec(navigator.userAgent) != null) {\n const res = navigator.userAgent.match(re)\n if (Type.isArrayLike(res) && res.length > 0) {\n return Number.parseFloat(res[1]!)\n }\n }\n\n return 0\n }\n}\n\nexport const Browser = new BrowserManager()\n"],"names":["Type"],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @package @bitrix24/b24jssdk
|
|
3
|
+
* @version 2.0.0
|
|
4
|
+
* @copyright (c) 2026 Bitrix24
|
|
5
|
+
* @license MIT
|
|
6
|
+
* @see https://github.com/bitrix24/b24jssdk
|
|
7
|
+
* @see https://bitrix24.github.io/b24jssdk/
|
|
8
|
+
*/
|
|
9
|
+
'use strict';
|
|
10
|
+
|
|
11
|
+
var __defProp = Object.defineProperty;
|
|
12
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
13
|
+
var Environment = /* @__PURE__ */ ((Environment2) => {
|
|
14
|
+
Environment2["UNKNOWN"] = "unknown";
|
|
15
|
+
Environment2["BROWSE"] = "browser";
|
|
16
|
+
Environment2["NODE"] = "node";
|
|
17
|
+
return Environment2;
|
|
18
|
+
})(Environment || {});
|
|
19
|
+
function getEnvironment() {
|
|
20
|
+
if (typeof window !== "undefined" && typeof window.document !== "undefined") {
|
|
21
|
+
return "browser" /* BROWSE */;
|
|
22
|
+
}
|
|
23
|
+
if (typeof process !== "undefined" && process.versions && process.versions.node) {
|
|
24
|
+
return "node" /* NODE */;
|
|
25
|
+
}
|
|
26
|
+
return "unknown" /* UNKNOWN */;
|
|
27
|
+
}
|
|
28
|
+
__name(getEnvironment, "getEnvironment");
|
|
29
|
+
|
|
30
|
+
exports.Environment = Environment;
|
|
31
|
+
exports.getEnvironment = getEnvironment;
|
|
32
|
+
//# sourceMappingURL=environment.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"environment.cjs","sources":["../../../src/tools/environment.ts"],"sourcesContent":["/**\n * Define the environment\n */\n\nexport enum Environment {\n UNKNOWN = 'unknown',\n BROWSE = 'browser',\n NODE = 'node'\n}\n\nexport function getEnvironment(): Environment {\n // Check for the presence of a window (browser)\n if (typeof window !== 'undefined' && typeof window.document !== 'undefined') {\n return Environment.BROWSE\n }\n\n // Check for the presence of process (Node.js)\n if (typeof process !== 'undefined' && process.versions && process.versions.node) {\n return Environment.NODE\n }\n\n return Environment.UNKNOWN\n}\n"],"names":["Environment"],"mappings":";;;;;;;;;;;;AAIO,IAAK,WAAA,qBAAAA,YAAAA,KAAL;AACL,EAAAA,aAAA,SAAA,CAAA,GAAU,SAAA;AACV,EAAAA,aAAA,QAAA,CAAA,GAAS,SAAA;AACT,EAAAA,aAAA,MAAA,CAAA,GAAO,MAAA;AAHG,EAAA,OAAAA,YAAAA;AAAA,CAAA,EAAA,WAAA,IAAA,EAAA;AAML,SAAS,cAAA,GAA8B;AAE5C,EAAA,IAAI,OAAO,MAAA,KAAW,WAAA,IAAe,OAAO,MAAA,CAAO,aAAa,WAAA,EAAa;AAC3E,IAAA,OAAO,SAAA;AAAA,EACT;AAGA,EAAA,IAAI,OAAO,OAAA,KAAY,WAAA,IAAe,QAAQ,QAAA,IAAY,OAAA,CAAQ,SAAS,IAAA,EAAM;AAC/E,IAAA,OAAO,MAAA;AAAA,EACT;AAEA,EAAA,OAAO,SAAA;AACT;AAZgB,MAAA,CAAA,cAAA,EAAA,gBAAA,CAAA;;;;;"}
|