@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,210 @@
|
|
|
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 luxon = require('luxon');
|
|
12
|
+
const uuidv7 = require('./uuidv7.cjs');
|
|
13
|
+
const type = require('./type.cjs');
|
|
14
|
+
|
|
15
|
+
var __defProp = Object.defineProperty;
|
|
16
|
+
var __name = (target, value) => __defProp(target, "name", { value, configurable: true });
|
|
17
|
+
const reEscape = /[&<>'"]/g;
|
|
18
|
+
const reUnescape = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34)/g;
|
|
19
|
+
const escapeEntities = {
|
|
20
|
+
"&": "&",
|
|
21
|
+
"<": "<",
|
|
22
|
+
">": ">",
|
|
23
|
+
"'": "'",
|
|
24
|
+
'"': """
|
|
25
|
+
};
|
|
26
|
+
const unescapeEntities = {
|
|
27
|
+
"&": "&",
|
|
28
|
+
"&": "&",
|
|
29
|
+
"<": "<",
|
|
30
|
+
"<": "<",
|
|
31
|
+
">": ">",
|
|
32
|
+
">": ">",
|
|
33
|
+
"&apos": "'",
|
|
34
|
+
"'": "'",
|
|
35
|
+
""": '"',
|
|
36
|
+
""": '"'
|
|
37
|
+
};
|
|
38
|
+
class TextManager {
|
|
39
|
+
static {
|
|
40
|
+
__name(this, "TextManager");
|
|
41
|
+
}
|
|
42
|
+
getRandom(length = 8) {
|
|
43
|
+
return [...Array(length)].map(() => Math.trunc(Math.random() * 36).toString(36)).join("");
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Generates UUID
|
|
47
|
+
*/
|
|
48
|
+
getUniqId() {
|
|
49
|
+
return "xxxxxxxx-xlsx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g, (c) => {
|
|
50
|
+
const r = Math.trunc(Math.random() * 16);
|
|
51
|
+
const v = c === "x" ? r : r & 3 | 8;
|
|
52
|
+
return v.toString(16);
|
|
53
|
+
});
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Generate uuid v7
|
|
57
|
+
* @return {string}
|
|
58
|
+
*/
|
|
59
|
+
getUuidRfc4122() {
|
|
60
|
+
return uuidv7.default();
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Encodes all unsafe entities
|
|
64
|
+
* @param {string} value
|
|
65
|
+
* @return {string}
|
|
66
|
+
*/
|
|
67
|
+
encode(value) {
|
|
68
|
+
if (type.Type.isString(value)) {
|
|
69
|
+
return value.replace(reEscape, (item) => escapeEntities[item]);
|
|
70
|
+
}
|
|
71
|
+
return value;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Decodes all encoded entities
|
|
75
|
+
* @param {string} value
|
|
76
|
+
* @return {string}
|
|
77
|
+
*/
|
|
78
|
+
decode(value) {
|
|
79
|
+
if (type.Type.isString(value)) {
|
|
80
|
+
return value.replace(reUnescape, (item) => unescapeEntities[item]);
|
|
81
|
+
}
|
|
82
|
+
return value;
|
|
83
|
+
}
|
|
84
|
+
toNumber(value) {
|
|
85
|
+
const parsedValue = Number.parseFloat(value);
|
|
86
|
+
if (type.Type.isNumber(parsedValue)) {
|
|
87
|
+
return parsedValue;
|
|
88
|
+
}
|
|
89
|
+
return 0;
|
|
90
|
+
}
|
|
91
|
+
toInteger(value) {
|
|
92
|
+
return this.toNumber(Number.parseInt(value, 10));
|
|
93
|
+
}
|
|
94
|
+
toBoolean(value, trueValues = []) {
|
|
95
|
+
const transformedValue = type.Type.isString(value) ? value.toLowerCase() : value;
|
|
96
|
+
return ["true", "y", "1", 1, true, ...trueValues].includes(transformedValue);
|
|
97
|
+
}
|
|
98
|
+
toCamelCase(str) {
|
|
99
|
+
if (!type.Type.isStringFilled(str)) {
|
|
100
|
+
return str;
|
|
101
|
+
}
|
|
102
|
+
const regex = /[-_\s]+(.)?/g;
|
|
103
|
+
if (!regex.test(str)) {
|
|
104
|
+
return str.match(/^[A-Z]+$/) ? str.toLowerCase() : str[0].toLowerCase() + str.slice(1);
|
|
105
|
+
}
|
|
106
|
+
str = str.toLowerCase();
|
|
107
|
+
str = str.replace(
|
|
108
|
+
regex,
|
|
109
|
+
(_match, letter) => letter ? letter.toUpperCase() : ""
|
|
110
|
+
);
|
|
111
|
+
return str[0].toLowerCase() + str.substring(1);
|
|
112
|
+
}
|
|
113
|
+
toPascalCase(str) {
|
|
114
|
+
if (!type.Type.isStringFilled(str)) {
|
|
115
|
+
return str;
|
|
116
|
+
}
|
|
117
|
+
return this.capitalize(this.toCamelCase(str));
|
|
118
|
+
}
|
|
119
|
+
toKebabCase(str) {
|
|
120
|
+
if (!type.Type.isStringFilled(str)) {
|
|
121
|
+
return str;
|
|
122
|
+
}
|
|
123
|
+
const matches = str.match(
|
|
124
|
+
/[A-Z]{2,}(?=[A-Z][a-z]+\d*|\b)|[A-Z]?[a-z]+\d*|[A-Z]|\d+/g
|
|
125
|
+
);
|
|
126
|
+
if (!matches) {
|
|
127
|
+
return str;
|
|
128
|
+
}
|
|
129
|
+
return matches.map((x) => x.toLowerCase()).join("-");
|
|
130
|
+
}
|
|
131
|
+
capitalize(str) {
|
|
132
|
+
if (!type.Type.isStringFilled(str)) {
|
|
133
|
+
return str;
|
|
134
|
+
}
|
|
135
|
+
return str[0].toUpperCase() + str.substring(1);
|
|
136
|
+
}
|
|
137
|
+
numberFormat(number, decimals = 0, decPoint = ".", thousandsSep = ",") {
|
|
138
|
+
const n = !Number.isFinite(number) ? 0 : number;
|
|
139
|
+
const fractionDigits = !Number.isFinite(decimals) ? 0 : Math.abs(decimals);
|
|
140
|
+
const toFixedFix = /* @__PURE__ */ __name((n2, fractionDigits2) => {
|
|
141
|
+
const k = Math.pow(10, fractionDigits2);
|
|
142
|
+
return Math.round(n2 * k) / k;
|
|
143
|
+
}, "toFixedFix");
|
|
144
|
+
const s = (fractionDigits ? toFixedFix(n, fractionDigits) : Math.round(n)).toString().split(".");
|
|
145
|
+
if (s[0] && s[0].length > 3) {
|
|
146
|
+
s[0] = s[0].replace(/\B(?=(?:\d{3})+(?!\d))/g, thousandsSep);
|
|
147
|
+
}
|
|
148
|
+
if ((s[1] || "").length < fractionDigits) {
|
|
149
|
+
s[1] = s[1] || "";
|
|
150
|
+
s[1] += new Array(fractionDigits - s[1].length + 1).join("0");
|
|
151
|
+
}
|
|
152
|
+
return s.join(decPoint);
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* Convert string to DateTime from ISO 8601 or self template
|
|
156
|
+
*
|
|
157
|
+
* @param {string} dateString
|
|
158
|
+
* @param {string} template
|
|
159
|
+
* @param opts
|
|
160
|
+
* @returns {DateTime} Convert string to DateTime from ISO 8601 or self template
|
|
161
|
+
*
|
|
162
|
+
* @link https://moment.github.io/luxon/#/parsing?id=parsing-technical-formats
|
|
163
|
+
*/
|
|
164
|
+
toDateTime(dateString, template, opts) {
|
|
165
|
+
if (!(typeof template === "undefined") && type.Type.isStringFilled(template)) {
|
|
166
|
+
return luxon.DateTime.fromFormat(dateString, template, opts);
|
|
167
|
+
}
|
|
168
|
+
return luxon.DateTime.fromISO(dateString, opts);
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Convert Date to Bitrix24 REST API FORMAT Y-m-d\TH:i:sP
|
|
172
|
+
* @param date
|
|
173
|
+
*/
|
|
174
|
+
toB24Format(date) {
|
|
175
|
+
if (typeof date === "string") {
|
|
176
|
+
return date;
|
|
177
|
+
} else if (date instanceof Date) {
|
|
178
|
+
return this.toB24Format(luxon.DateTime.fromJSDate(date));
|
|
179
|
+
}
|
|
180
|
+
return date.toFormat("yyyy-MM-dd'T'HH:mm:ssZZ");
|
|
181
|
+
}
|
|
182
|
+
getDateForLog() {
|
|
183
|
+
const now = luxon.DateTime.now();
|
|
184
|
+
return now.toFormat("y-MM-dd HH:mm:ss");
|
|
185
|
+
}
|
|
186
|
+
buildQueryString(params) {
|
|
187
|
+
let result = "";
|
|
188
|
+
for (const key in params) {
|
|
189
|
+
if (!Object.prototype.hasOwnProperty.call(params, key)) {
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
const value = params[key];
|
|
193
|
+
if (type.Type.isArray(value)) {
|
|
194
|
+
value.forEach((valueElement, index) => {
|
|
195
|
+
result += encodeURIComponent(key + "[" + index + "]") + "=" + encodeURIComponent(valueElement) + "&";
|
|
196
|
+
});
|
|
197
|
+
} else {
|
|
198
|
+
result += encodeURIComponent(key) + "=" + encodeURIComponent(value) + "&";
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
if (result.length > 0) {
|
|
202
|
+
result = result.substring(0, result.length - 1);
|
|
203
|
+
}
|
|
204
|
+
return result;
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
const Text = new TextManager();
|
|
208
|
+
|
|
209
|
+
exports.Text = Text;
|
|
210
|
+
//# sourceMappingURL=text.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"text.cjs","sources":["../../../src/tools/text.ts"],"sourcesContent":["import type { DateTimeOptions } from 'luxon'\nimport { DateTime } from 'luxon'\nimport uuidv7 from './uuidv7'\nimport { Type } from './type'\n\nconst reEscape = /[&<>'\"]/g\nconst reUnescape = /&(?:amp|#38|lt|#60|gt|#62|apos|#39|quot|#34)/g\n\nconst escapeEntities: Record<string, string> = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\\'': ''',\n '\"': '"'\n}\n\nconst unescapeEntities: Record<string, string> = {\n '&': '&',\n '&': '&',\n '<': '<',\n '<': '<',\n '>': '>',\n '>': '>',\n '&apos': '\\'',\n ''': '\\'',\n '"': '\"',\n '"': '\"'\n}\n\n/**\n * The `Text` class provides a set of utility methods for working with text data.\n * It includes functions for encoding and decoding HTML entities, generating random strings,\n * converting values to different data types, and changing the case and format of strings\n *\n * @see bitrix/js/main/core/src/lib/text.js\n */\nclass TextManager {\n getRandom(length = 8): string {\n return [...Array(length)]\n .map(() => Math.trunc(Math.random() * 36).toString(36))\n .join('')\n }\n\n /**\n * Generates UUID\n */\n getUniqId(): string {\n return 'xxxxxxxx-xlsx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, (c) => {\n const r = Math.trunc(Math.random() * 16)\n const v = c === 'x' ? r : (r & 0x3) | 0x8\n return v.toString(16)\n })\n }\n\n /**\n * Generate uuid v7\n * @return {string}\n */\n getUuidRfc4122(): string {\n return uuidv7()\n }\n\n /**\n * Encodes all unsafe entities\n * @param {string} value\n * @return {string}\n */\n encode(value: string): string {\n if (Type.isString(value)) {\n return value.replace(reEscape, item => escapeEntities[item]!)\n }\n\n return value\n }\n\n /**\n * Decodes all encoded entities\n * @param {string} value\n * @return {string}\n */\n decode(value: string): string {\n if (Type.isString(value)) {\n return value.replace(reUnescape, item => unescapeEntities[item]!)\n }\n\n return value\n }\n\n toNumber(value: any): number {\n const parsedValue = Number.parseFloat(value)\n\n if (Type.isNumber(parsedValue)) {\n return parsedValue\n }\n\n return 0.0\n }\n\n toInteger(value: any): number {\n return this.toNumber(Number.parseInt(value, 10))\n }\n\n toBoolean(value: any, trueValues: string[] = []): boolean {\n const transformedValue = Type.isString(value) ? value.toLowerCase() : value\n return ['true', 'y', '1', 1, true, ...trueValues].includes(transformedValue)\n }\n\n toCamelCase(str: string): string {\n if (!Type.isStringFilled(str)) {\n return str\n }\n\n const regex = /[-_\\s]+(.)?/g\n if (!regex.test(str)) {\n return str.match(/^[A-Z]+$/)\n ? str.toLowerCase()\n : str[0]!.toLowerCase() + str.slice(1)\n }\n\n str = str.toLowerCase()\n str = str.replace(regex, (_match: string, letter) =>\n letter ? letter.toUpperCase() : ''\n )\n\n return str[0]!.toLowerCase() + str.substring(1)\n }\n\n toPascalCase(str: string): string {\n if (!Type.isStringFilled(str)) {\n return str\n }\n\n return this.capitalize(this.toCamelCase(str))\n }\n\n toKebabCase(str: string): string {\n if (!Type.isStringFilled(str)) {\n return str\n }\n\n const matches = str.match(\n /[A-Z]{2,}(?=[A-Z][a-z]+\\d*|\\b)|[A-Z]?[a-z]+\\d*|[A-Z]|\\d+/g\n )\n if (!matches) {\n return str\n }\n\n return matches.map(x => x.toLowerCase()).join('-')\n }\n\n capitalize(str: string): string {\n if (!Type.isStringFilled(str)) {\n return str\n }\n\n return str[0]!.toUpperCase() + str.substring(1)\n }\n\n numberFormat(\n number: number,\n decimals: number = 0,\n decPoint: string = '.',\n thousandsSep: string = ','\n ): string {\n const n = !Number.isFinite(number) ? 0 : number\n\n const fractionDigits = !Number.isFinite(decimals) ? 0 : Math.abs(decimals)\n\n const toFixedFix = (n: number, fractionDigits: number): number => {\n const k = Math.pow(10, fractionDigits)\n return Math.round(n * k) / k\n }\n\n const s = (fractionDigits ? toFixedFix(n, fractionDigits) : Math.round(n))\n .toString()\n .split('.')\n\n if (s[0] && s[0].length > 3) {\n s[0] = s[0].replace(/\\B(?=(?:\\d{3})+(?!\\d))/g, thousandsSep)\n }\n\n if ((s[1] || '').length < fractionDigits) {\n s[1] = s[1] || ''\n // eslint-disable-next-line\n s[1] += new Array(fractionDigits - s[1].length + 1).join('0')\n }\n\n return s.join(decPoint)\n }\n\n /**\n * Convert string to DateTime from ISO 8601 or self template\n *\n * @param {string} dateString\n * @param {string} template\n * @param opts\n * @returns {DateTime} Convert string to DateTime from ISO 8601 or self template\n *\n * @link https://moment.github.io/luxon/#/parsing?id=parsing-technical-formats\n */\n toDateTime(\n dateString: string,\n template?: string,\n opts?: DateTimeOptions\n ): DateTime {\n if (!(typeof template === 'undefined') && Type.isStringFilled(template)) {\n return DateTime.fromFormat(dateString, template, opts)\n }\n\n return DateTime.fromISO(dateString, opts)\n }\n\n /**\n * Convert Date to Bitrix24 REST API FORMAT Y-m-d\\TH:i:sP\n * @param date\n */\n toB24Format(\n date: string | DateTime | Date\n ): string {\n if (typeof date === 'string') {\n return date\n } else if (date instanceof Date) {\n return this.toB24Format(DateTime.fromJSDate(date))\n }\n return date.toFormat('yyyy-MM-dd\\'T\\'HH:mm:ssZZ')\n }\n\n getDateForLog(): string {\n const now = DateTime.now()\n return now.toFormat('y-MM-dd HH:mm:ss')\n }\n\n buildQueryString(params: any): string {\n let result = ''\n for (const key in params) {\n if (!Object.prototype.hasOwnProperty.call(params, key)) {\n continue\n }\n\n const value = params[key]\n if (Type.isArray(value)) {\n value.forEach((valueElement: any, index: any) => {\n result\n += encodeURIComponent(key + '[' + index + ']')\n + '='\n + encodeURIComponent(valueElement)\n + '&'\n })\n } else {\n result\n += encodeURIComponent(key) + '=' + encodeURIComponent(value) + '&'\n }\n }\n\n if (result.length > 0) {\n result = result.substring(0, result.length - 1)\n }\n\n return result\n }\n}\n\nexport const Text = new TextManager()\n"],"names":["uuidv7","Type","n","fractionDigits","DateTime"],"mappings":"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"}
|
|
@@ -0,0 +1,339 @@
|
|
|
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
|
+
const OBJECT_CONSTRUCTOR_STRING = Function.prototype.toString.call(Object);
|
|
14
|
+
class TypeManager {
|
|
15
|
+
static {
|
|
16
|
+
__name(this, "TypeManager");
|
|
17
|
+
}
|
|
18
|
+
getTag(value) {
|
|
19
|
+
return Object.prototype.toString.call(value);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Checks that value is string
|
|
23
|
+
* @param value
|
|
24
|
+
* @return {boolean}
|
|
25
|
+
*
|
|
26
|
+
* @memo get from pull.client.Utils
|
|
27
|
+
*/
|
|
28
|
+
isString(value) {
|
|
29
|
+
return typeof value === "string" || value instanceof String;
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Returns true if a value is not an empty string
|
|
33
|
+
* @param value
|
|
34
|
+
* @returns {boolean} Returns true if a value is not an empty string
|
|
35
|
+
*/
|
|
36
|
+
isStringFilled(value) {
|
|
37
|
+
return this.isString(value) && value !== "";
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Checks that value is function
|
|
41
|
+
* @param value
|
|
42
|
+
* @return {boolean}
|
|
43
|
+
*
|
|
44
|
+
* @memo get from pull.client.Utils
|
|
45
|
+
*/
|
|
46
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
47
|
+
isFunction(value) {
|
|
48
|
+
return value === null ? false : typeof value === "function" || value instanceof Function;
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Checks that value is an object
|
|
52
|
+
* @param value
|
|
53
|
+
* @return {boolean}
|
|
54
|
+
*/
|
|
55
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-function-type
|
|
56
|
+
isObject(value) {
|
|
57
|
+
return !!value && (typeof value === "object" || typeof value === "function");
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Checks that value is object like
|
|
61
|
+
* @param value
|
|
62
|
+
* @return {boolean}
|
|
63
|
+
*/
|
|
64
|
+
isObjectLike(value) {
|
|
65
|
+
return !!value && typeof value === "object";
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Checks that value is plain object
|
|
69
|
+
* @param value
|
|
70
|
+
* @return {boolean}
|
|
71
|
+
*/
|
|
72
|
+
isPlainObject(value) {
|
|
73
|
+
if (!this.isObjectLike(value) || this.getTag(value) !== "[object Object]") {
|
|
74
|
+
return false;
|
|
75
|
+
}
|
|
76
|
+
const proto = Object.getPrototypeOf(value);
|
|
77
|
+
if (proto === null) {
|
|
78
|
+
return true;
|
|
79
|
+
}
|
|
80
|
+
const ctor = Object.prototype.hasOwnProperty.call(proto, "constructor") && proto.constructor;
|
|
81
|
+
return typeof ctor === "function" && Function.prototype.toString.call(ctor) === OBJECT_CONSTRUCTOR_STRING;
|
|
82
|
+
}
|
|
83
|
+
isJsonRpcRequest(value) {
|
|
84
|
+
return typeof value === "object" && value && "jsonrpc" in value && this.isStringFilled(value.jsonrpc) && "method" in value && this.isStringFilled(value.method);
|
|
85
|
+
}
|
|
86
|
+
isJsonRpcResponse(value) {
|
|
87
|
+
return typeof value === "object" && value && "jsonrpc" in value && this.isStringFilled(value.jsonrpc) && "id" in value && ("result" in value || "error" in value);
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Checks that value is boolean
|
|
91
|
+
* @param value
|
|
92
|
+
* @return {boolean}
|
|
93
|
+
*/
|
|
94
|
+
isBoolean(value) {
|
|
95
|
+
return value === true || value === false;
|
|
96
|
+
}
|
|
97
|
+
/**
|
|
98
|
+
* Checks that value is number
|
|
99
|
+
* @param value
|
|
100
|
+
* @return {boolean}
|
|
101
|
+
*/
|
|
102
|
+
isNumber(value) {
|
|
103
|
+
return typeof value === "number" && !Number.isNaN(value);
|
|
104
|
+
}
|
|
105
|
+
/**
|
|
106
|
+
* Checks that value is integer
|
|
107
|
+
* @param value
|
|
108
|
+
* @return {boolean}
|
|
109
|
+
*/
|
|
110
|
+
isInteger(value) {
|
|
111
|
+
return Number.isInteger(value);
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Checks that value is float
|
|
115
|
+
* @param value
|
|
116
|
+
* @return {boolean}
|
|
117
|
+
*/
|
|
118
|
+
isFloat(value) {
|
|
119
|
+
return this.isNumber(value) && !this.isInteger(value);
|
|
120
|
+
}
|
|
121
|
+
/**
|
|
122
|
+
* Checks that value is nil
|
|
123
|
+
* @param value
|
|
124
|
+
* @return {boolean}
|
|
125
|
+
*/
|
|
126
|
+
isNil(value) {
|
|
127
|
+
return value === null || value === void 0;
|
|
128
|
+
}
|
|
129
|
+
/**
|
|
130
|
+
* Checks that value is an array
|
|
131
|
+
* @param value
|
|
132
|
+
* @return {boolean}
|
|
133
|
+
*/
|
|
134
|
+
isArray(value) {
|
|
135
|
+
return !this.isNil(value) && Array.isArray(value);
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Returns true if a value is an array, and it has at least one element
|
|
139
|
+
* @param value
|
|
140
|
+
* @returns {boolean} Returns true if a value is an array, and it has at least one element
|
|
141
|
+
*/
|
|
142
|
+
isArrayFilled(value) {
|
|
143
|
+
return this.isArray(value) && value.length > 0;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Checks that value is array like
|
|
147
|
+
* @param value
|
|
148
|
+
* @return {boolean}
|
|
149
|
+
*/
|
|
150
|
+
isArrayLike(value) {
|
|
151
|
+
return !this.isNil(value) && !this.isFunction(value) && value.length > -1 && value.length <= Number.MAX_SAFE_INTEGER;
|
|
152
|
+
}
|
|
153
|
+
/**
|
|
154
|
+
* Checks that value is Date
|
|
155
|
+
* @param value
|
|
156
|
+
* @return {boolean}
|
|
157
|
+
*/
|
|
158
|
+
isDate(value) {
|
|
159
|
+
return value instanceof Date;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Checks that is a DOM node
|
|
163
|
+
* @param value
|
|
164
|
+
* @return {boolean}
|
|
165
|
+
*/
|
|
166
|
+
isDomNode(value) {
|
|
167
|
+
return this.isObjectLike(value) && !this.isPlainObject(value) && "nodeType" in value;
|
|
168
|
+
}
|
|
169
|
+
/**
|
|
170
|
+
* Checks that value is element node
|
|
171
|
+
* @param value
|
|
172
|
+
* @return {boolean}
|
|
173
|
+
*/
|
|
174
|
+
isElementNode(value) {
|
|
175
|
+
return this.isDomNode(value) && value.nodeType === Node.ELEMENT_NODE;
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Checks that value is a text node
|
|
179
|
+
* @param value
|
|
180
|
+
* @return {boolean}
|
|
181
|
+
*/
|
|
182
|
+
isTextNode(value) {
|
|
183
|
+
return this.isDomNode(value) && value.nodeType === Node.TEXT_NODE;
|
|
184
|
+
}
|
|
185
|
+
/**
|
|
186
|
+
* Checks that value is Map
|
|
187
|
+
* @param value
|
|
188
|
+
* @return {boolean}
|
|
189
|
+
*/
|
|
190
|
+
isMap(value) {
|
|
191
|
+
return this.isObjectLike(value) && this.getTag(value) === "[object Map]";
|
|
192
|
+
}
|
|
193
|
+
/**
|
|
194
|
+
* Checks that value is Set
|
|
195
|
+
* @param value
|
|
196
|
+
* @return {boolean}
|
|
197
|
+
*/
|
|
198
|
+
isSet(value) {
|
|
199
|
+
return this.isObjectLike(value) && this.getTag(value) === "[object Set]";
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Checks that value is WeakMap
|
|
203
|
+
* @param value
|
|
204
|
+
* @return {boolean}
|
|
205
|
+
*/
|
|
206
|
+
isWeakMap(value) {
|
|
207
|
+
return this.isObjectLike(value) && this.getTag(value) === "[object WeakMap]";
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* Checks that value is WeakSet
|
|
211
|
+
* @param value
|
|
212
|
+
* @return {boolean}
|
|
213
|
+
*/
|
|
214
|
+
isWeakSet(value) {
|
|
215
|
+
return this.isObjectLike(value) && this.getTag(value) === "[object WeakSet]";
|
|
216
|
+
}
|
|
217
|
+
/**
|
|
218
|
+
* Checks that value is prototype
|
|
219
|
+
* @param value
|
|
220
|
+
* @return {boolean}
|
|
221
|
+
*/
|
|
222
|
+
isPrototype(value) {
|
|
223
|
+
return (typeof (value && value.constructor) === "function" && value.constructor.prototype || Object.prototype) === value;
|
|
224
|
+
}
|
|
225
|
+
/**
|
|
226
|
+
* Checks that value is regexp
|
|
227
|
+
* @param value
|
|
228
|
+
* @return {boolean}
|
|
229
|
+
*/
|
|
230
|
+
isRegExp(value) {
|
|
231
|
+
return this.isObjectLike(value) && this.getTag(value) === "[object RegExp]";
|
|
232
|
+
}
|
|
233
|
+
/**
|
|
234
|
+
* Checks that value is null
|
|
235
|
+
* @param value
|
|
236
|
+
* @return {boolean}
|
|
237
|
+
*/
|
|
238
|
+
isNull(value) {
|
|
239
|
+
return value === null;
|
|
240
|
+
}
|
|
241
|
+
/**
|
|
242
|
+
* Checks that value is undefined
|
|
243
|
+
* @param value
|
|
244
|
+
* @return {boolean}
|
|
245
|
+
*/
|
|
246
|
+
isUndefined(value) {
|
|
247
|
+
return typeof value === "undefined";
|
|
248
|
+
}
|
|
249
|
+
/**
|
|
250
|
+
* Checks that value is ArrayBuffer
|
|
251
|
+
* @param value
|
|
252
|
+
* @return {boolean}
|
|
253
|
+
*/
|
|
254
|
+
isArrayBuffer(value) {
|
|
255
|
+
return this.isObjectLike(value) && this.getTag(value) === "[object ArrayBuffer]";
|
|
256
|
+
}
|
|
257
|
+
/**
|
|
258
|
+
* Checks that value is typed array
|
|
259
|
+
* @param value
|
|
260
|
+
* @return {boolean}
|
|
261
|
+
*/
|
|
262
|
+
isTypedArray(value) {
|
|
263
|
+
const regExpTypedTag = /^\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)\]$/;
|
|
264
|
+
return this.isObjectLike(value) && regExpTypedTag.test(this.getTag(value));
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Checks that value is Blob
|
|
268
|
+
* @param value
|
|
269
|
+
* @return {boolean}
|
|
270
|
+
*/
|
|
271
|
+
isBlob(value) {
|
|
272
|
+
return this.isObjectLike(value) && this.isNumber(value.size) && this.isString(value.type) && this.isFunction(value.slice);
|
|
273
|
+
}
|
|
274
|
+
/**
|
|
275
|
+
* Checks that value is File
|
|
276
|
+
* @param value
|
|
277
|
+
* @return {boolean}
|
|
278
|
+
*/
|
|
279
|
+
isFile(value) {
|
|
280
|
+
return this.isBlob(value) && this.isString(value.name) && (this.isNumber(value.lastModified) || this.isObjectLike(value.lastModifiedDate));
|
|
281
|
+
}
|
|
282
|
+
/**
|
|
283
|
+
* Checks that value is FormData
|
|
284
|
+
* @param value
|
|
285
|
+
* @return {boolean}
|
|
286
|
+
*/
|
|
287
|
+
isFormData(value) {
|
|
288
|
+
if (typeof FormData !== "undefined" && value instanceof FormData) {
|
|
289
|
+
return true;
|
|
290
|
+
}
|
|
291
|
+
return this.isObjectLike(value) && this.getTag(value) === "[object FormData]";
|
|
292
|
+
}
|
|
293
|
+
clone(obj, bCopyObj = true) {
|
|
294
|
+
let _obj, i, l;
|
|
295
|
+
if (this.isNil(obj) || typeof obj !== "object") {
|
|
296
|
+
return obj;
|
|
297
|
+
}
|
|
298
|
+
if (this.isDomNode(obj)) {
|
|
299
|
+
_obj = obj.cloneNode(bCopyObj);
|
|
300
|
+
} else if (typeof obj == "object") {
|
|
301
|
+
if (this.isArray(obj)) {
|
|
302
|
+
_obj = [];
|
|
303
|
+
for (i = 0, l = obj.length; i < l; i++) {
|
|
304
|
+
if (typeof obj[i] == "object" && bCopyObj) {
|
|
305
|
+
_obj[i] = this.clone(obj[i], bCopyObj);
|
|
306
|
+
} else {
|
|
307
|
+
_obj[i] = obj[i];
|
|
308
|
+
}
|
|
309
|
+
}
|
|
310
|
+
} else {
|
|
311
|
+
_obj = {};
|
|
312
|
+
if (obj.constructor) {
|
|
313
|
+
if (this.isDate(obj)) {
|
|
314
|
+
_obj = new Date(obj);
|
|
315
|
+
} else {
|
|
316
|
+
_obj = new obj.constructor();
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
for (i in obj) {
|
|
320
|
+
if (!Object.prototype.hasOwnProperty.call(obj, i)) {
|
|
321
|
+
continue;
|
|
322
|
+
}
|
|
323
|
+
if (typeof obj[i] === "object" && bCopyObj) {
|
|
324
|
+
_obj[i] = this.clone(obj[i], bCopyObj);
|
|
325
|
+
} else {
|
|
326
|
+
_obj[i] = obj[i];
|
|
327
|
+
}
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
} else {
|
|
331
|
+
_obj = obj;
|
|
332
|
+
}
|
|
333
|
+
return _obj;
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
const Type = new TypeManager();
|
|
337
|
+
|
|
338
|
+
exports.Type = Type;
|
|
339
|
+
//# sourceMappingURL=type.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"type.cjs","sources":["../../../src/tools/type.ts"],"sourcesContent":["const OBJECT_CONSTRUCTOR_STRING = Function.prototype.toString.call(Object)\n\ninterface BlobLike {\n readonly size: number\n readonly type: string\n slice(start?: number, end?: number, contentType?: string): Blob\n}\n\ninterface FileLike extends BlobLike {\n name: string\n lastModified?: number\n lastModifiedDate?: object\n}\n\n/**\n * The `Type` class is designed to check and determine data types\n *\n * @see bitrix/js/main/core/src/lib/type.js\n */\nclass TypeManager {\n getTag(value: any): string {\n return Object.prototype.toString.call(value)\n }\n\n /**\n * Checks that value is string\n * @param value\n * @return {boolean}\n *\n * @memo get from pull.client.Utils\n */\n isString(value: any): value is string {\n return typeof value === 'string' || value instanceof String\n }\n\n /**\n * Returns true if a value is not an empty string\n * @param value\n * @returns {boolean} Returns true if a value is not an empty string\n */\n isStringFilled(value: any): value is string {\n return this.isString(value) && value !== ''\n }\n\n /**\n * Checks that value is function\n * @param value\n * @return {boolean}\n *\n * @memo get from pull.client.Utils\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n isFunction(value: any): value is Function {\n return value === null\n ? false\n : typeof value === 'function' || value instanceof Function\n }\n\n /**\n * Checks that value is an object\n * @param value\n * @return {boolean}\n */\n // eslint-disable-next-line @typescript-eslint/no-unsafe-function-type\n isObject(value: any): value is object | Function {\n return !!value && (typeof value === 'object' || typeof value === 'function')\n }\n\n /**\n * Checks that value is object like\n * @param value\n * @return {boolean}\n */\n isObjectLike<T>(value: any): value is T {\n return !!value && typeof value === 'object'\n }\n\n /**\n * Checks that value is plain object\n * @param value\n * @return {boolean}\n */\n isPlainObject(value: any): value is Record<string | number, any> {\n if (!this.isObjectLike(value) || this.getTag(value) !== '[object Object]') {\n return false\n }\n\n const proto = Object.getPrototypeOf(value)\n if (proto === null) {\n return true\n }\n\n const ctor = Object.prototype.hasOwnProperty.call(proto, 'constructor') && proto.constructor\n\n return (\n typeof ctor === 'function'\n && Function.prototype.toString.call(ctor) === OBJECT_CONSTRUCTOR_STRING\n )\n }\n\n isJsonRpcRequest(value: any): boolean {\n return (\n typeof value === 'object'\n && value\n && 'jsonrpc' in value\n && this.isStringFilled(value.jsonrpc)\n && 'method' in value\n && this.isStringFilled(value.method)\n )\n }\n\n isJsonRpcResponse(value: any): boolean {\n return (\n typeof value === 'object'\n && value\n && 'jsonrpc' in value\n && this.isStringFilled(value.jsonrpc)\n && 'id' in value\n && ('result' in value || 'error' in value)\n )\n }\n\n /**\n * Checks that value is boolean\n * @param value\n * @return {boolean}\n */\n isBoolean(value: any): value is boolean {\n return value === true || value === false\n }\n\n /**\n * Checks that value is number\n * @param value\n * @return {boolean}\n */\n isNumber(value: any): value is number {\n return typeof value === 'number' && !Number.isNaN(value)\n }\n\n /**\n * Checks that value is integer\n * @param value\n * @return {boolean}\n */\n isInteger(value: any): value is number {\n return Number.isInteger(value)\n }\n\n /**\n * Checks that value is float\n * @param value\n * @return {boolean}\n */\n isFloat(value: any): value is number {\n return this.isNumber(value) && !this.isInteger(value)\n }\n\n /**\n * Checks that value is nil\n * @param value\n * @return {boolean}\n */\n isNil(value: any): value is null | undefined {\n return value === null || value === undefined\n }\n\n /**\n * Checks that value is an array\n * @param value\n * @return {boolean}\n */\n isArray(value: any): value is any[] {\n return !this.isNil(value) && Array.isArray(value)\n }\n\n /**\n * Returns true if a value is an array, and it has at least one element\n * @param value\n * @returns {boolean} Returns true if a value is an array, and it has at least one element\n */\n isArrayFilled(value: any): value is any[] {\n return this.isArray(value) && value.length > 0\n }\n\n /**\n * Checks that value is array like\n * @param value\n * @return {boolean}\n */\n isArrayLike(value: any): value is ArrayLike<any> {\n return (\n !this.isNil(value)\n && !this.isFunction(value)\n && value.length > -1\n && value.length <= Number.MAX_SAFE_INTEGER\n )\n }\n\n /**\n * Checks that value is Date\n * @param value\n * @return {boolean}\n */\n isDate(value: any): value is Date {\n return value instanceof Date\n }\n\n /**\n * Checks that is a DOM node\n * @param value\n * @return {boolean}\n */\n isDomNode(value: any): value is Node {\n return (\n this.isObjectLike<{\n nodeType?: any\n }>(value)\n && !this.isPlainObject(value)\n && 'nodeType' in value\n )\n }\n\n /**\n * Checks that value is element node\n * @param value\n * @return {boolean}\n */\n isElementNode(value: any): value is HTMLElement {\n return this.isDomNode(value) && value.nodeType === Node.ELEMENT_NODE\n }\n\n /**\n * Checks that value is a text node\n * @param value\n * @return {boolean}\n */\n isTextNode(value: any): value is Text {\n return this.isDomNode(value) && value.nodeType === Node.TEXT_NODE\n }\n\n /**\n * Checks that value is Map\n * @param value\n * @return {boolean}\n */\n isMap(value: any): value is Map<unknown, unknown> {\n return this.isObjectLike(value) && this.getTag(value) === '[object Map]'\n }\n\n /**\n * Checks that value is Set\n * @param value\n * @return {boolean}\n */\n isSet(value: any): value is Set<unknown> {\n return this.isObjectLike(value) && this.getTag(value) === '[object Set]'\n }\n\n /**\n * Checks that value is WeakMap\n * @param value\n * @return {boolean}\n */\n isWeakMap(value: any): value is WeakMap<object, unknown> {\n return this.isObjectLike(value) && this.getTag(value) === '[object WeakMap]'\n }\n\n /**\n * Checks that value is WeakSet\n * @param value\n * @return {boolean}\n */\n isWeakSet(value: any): value is WeakSet<object> {\n return this.isObjectLike(value) && this.getTag(value) === '[object WeakSet]'\n }\n\n /**\n * Checks that value is prototype\n * @param value\n * @return {boolean}\n */\n isPrototype(value: any): value is object {\n return (\n (\n (\n typeof (value && value.constructor) === 'function'\n && value.constructor.prototype\n ) || Object.prototype\n ) === value\n )\n }\n\n /**\n * Checks that value is regexp\n * @param value\n * @return {boolean}\n */\n isRegExp(value: any): value is RegExp {\n return this.isObjectLike(value) && this.getTag(value) === '[object RegExp]'\n }\n\n /**\n * Checks that value is null\n * @param value\n * @return {boolean}\n */\n isNull(value: any): value is null {\n return value === null\n }\n\n /**\n * Checks that value is undefined\n * @param value\n * @return {boolean}\n */\n isUndefined(value: any): value is undefined {\n return typeof value === 'undefined'\n }\n\n /**\n * Checks that value is ArrayBuffer\n * @param value\n * @return {boolean}\n */\n isArrayBuffer(value: any): value is ArrayBuffer {\n return (\n this.isObjectLike(value) && this.getTag(value) === '[object ArrayBuffer]'\n )\n }\n\n /**\n * Checks that value is typed array\n * @param value\n * @return {boolean}\n */\n isTypedArray(value: any): value is\n | Int8Array\n | Uint8Array\n | Uint8ClampedArray\n | Int16Array\n | Uint16Array\n | Int32Array\n | Uint32Array\n | Float32Array\n | Float64Array {\n const regExpTypedTag\n = /^\\[object (?:Float(?:32|64)|(?:Int|Uint)(?:8|16|32)|Uint8Clamped)\\]$/\n return this.isObjectLike(value) && regExpTypedTag.test(this.getTag(value))\n }\n\n /**\n * Checks that value is Blob\n * @param value\n * @return {boolean}\n */\n isBlob(value: any): value is BlobLike {\n return (\n this.isObjectLike(value)\n && this.isNumber((value as BlobLike).size)\n && this.isString((value as BlobLike).type)\n && this.isFunction((value as BlobLike).slice)\n )\n }\n\n /**\n * Checks that value is File\n * @param value\n * @return {boolean}\n */\n isFile(value: any): value is FileLike {\n return (\n this.isBlob(value)\n && this.isString((value as FileLike).name)\n && (this.isNumber((value as FileLike).lastModified) || this.isObjectLike((value as FileLike).lastModifiedDate))\n )\n }\n\n /**\n * Checks that value is FormData\n * @param value\n * @return {boolean}\n */\n isFormData(value: any): value is FormData {\n if (typeof FormData !== 'undefined' && value instanceof FormData) {\n return true\n }\n\n return this.isObjectLike(value) && this.getTag(value) === '[object FormData]'\n }\n\n clone(obj: any, bCopyObj: boolean = true): any {\n let _obj, i, l\n\n if (this.isNil(obj) || typeof obj !== 'object') {\n return obj\n }\n\n if (this.isDomNode(obj)) {\n _obj = obj.cloneNode(bCopyObj)\n } else if (typeof obj == 'object') {\n if (this.isArray(obj)) {\n _obj = []\n for (i = 0, l = obj.length; i < l; i++) {\n if (typeof obj[i] == 'object' && bCopyObj) {\n _obj[i] = this.clone(obj[i], bCopyObj)\n } else {\n _obj[i] = obj[i]\n }\n }\n } else {\n _obj = {}\n if (obj.constructor) {\n if (this.isDate(obj)) {\n _obj = new Date(obj)\n } else {\n _obj = new obj.constructor()\n }\n }\n\n for (i in obj) {\n if (!Object.prototype.hasOwnProperty.call(obj, i)) {\n continue\n }\n if (typeof obj[i] === 'object' && bCopyObj) {\n _obj[i] = this.clone(obj[i], bCopyObj)\n } else {\n _obj[i] = obj[i]\n }\n }\n }\n } else {\n _obj = obj\n }\n\n return _obj\n }\n}\n\nexport const Type = new TypeManager()\n"],"names":[],"mappings":"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"}
|