@azure/storage-common 12.4.0-beta.1 → 12.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/BufferScheduler-browser.d.mts +7 -0
- package/dist/browser/BufferScheduler-browser.d.mts.map +1 -0
- package/dist/browser/BufferScheduler-browser.mjs +11 -0
- package/dist/browser/BufferScheduler-browser.mjs.map +1 -0
- package/dist/browser/StorageBrowserPolicyFactory.d.ts +1 -1
- package/dist/browser/StorageBrowserPolicyFactory.d.ts.map +1 -1
- package/dist/browser/StorageBrowserPolicyFactory.js +1 -1
- package/dist/browser/StorageBrowserPolicyFactory.js.map +1 -1
- package/dist/browser/StructuredMessageDecoding.d.ts +1 -1
- package/dist/browser/StructuredMessageDecoding.d.ts.map +1 -1
- package/dist/browser/StructuredMessageDecoding.js +3 -22
- package/dist/browser/StructuredMessageDecoding.js.map +1 -1
- package/dist/browser/StructuredMessageDecodingStream-browser.d.mts +11 -0
- package/dist/browser/StructuredMessageDecodingStream-browser.d.mts.map +1 -0
- package/dist/browser/{StructuredMessageDecodingStream.js → StructuredMessageDecodingStream-browser.mjs} +4 -4
- package/dist/browser/StructuredMessageDecodingStream-browser.mjs.map +1 -0
- package/dist/browser/StructuredMessageEncoding.d.ts +1 -1
- package/dist/browser/StructuredMessageEncoding.d.ts.map +1 -1
- package/dist/browser/StructuredMessageEncoding.js +8 -28
- package/dist/browser/StructuredMessageEncoding.js.map +1 -1
- package/dist/browser/{StructuredMessageEncodingStream.d.ts → StructuredMessageEncodingStream-browser.d.mts} +2 -2
- package/dist/browser/StructuredMessageEncodingStream-browser.d.mts.map +1 -0
- package/dist/browser/{StructuredMessageEncodingStream.js → StructuredMessageEncodingStream-browser.mjs} +13 -11
- package/dist/browser/StructuredMessageEncodingStream-browser.mjs.map +1 -0
- package/dist/browser/bufferHelpers-browser.d.mts +18 -0
- package/dist/browser/bufferHelpers-browser.d.mts.map +1 -0
- package/dist/browser/bufferHelpers-browser.mjs +27 -0
- package/dist/browser/bufferHelpers-browser.mjs.map +1 -0
- package/dist/browser/bufferHelpers.common.d.ts +7 -0
- package/dist/browser/bufferHelpers.common.d.ts.map +1 -0
- package/dist/browser/bufferHelpers.common.js +22 -0
- package/dist/browser/bufferHelpers.common.js.map +1 -0
- package/dist/browser/crc64.js +9 -44
- package/dist/{react-native/credentials/StorageSharedKeyCredential.d.ts → browser/credentials/StorageSharedKeyCredential-browser.d.mts} +1 -1
- package/dist/browser/credentials/StorageSharedKeyCredential-browser.d.mts.map +1 -0
- package/dist/browser/credentials/{StorageSharedKeyCredential.js → StorageSharedKeyCredential-browser.mjs} +1 -1
- package/dist/browser/credentials/StorageSharedKeyCredential-browser.mjs.map +1 -0
- package/dist/browser/credentials/UserDelegationKey.d.ts +38 -0
- package/dist/browser/credentials/UserDelegationKey.d.ts.map +1 -0
- package/dist/browser/{interfaces.js → credentials/UserDelegationKey.js} +1 -1
- package/dist/browser/credentials/UserDelegationKey.js.map +1 -0
- package/dist/{react-native/credentials/UserDelegationKeyCredential.d.ts → browser/credentials/UserDelegationKeyCredential-browser.d.mts} +2 -13
- package/dist/browser/credentials/UserDelegationKeyCredential-browser.d.mts.map +1 -0
- package/dist/browser/credentials/{UserDelegationKeyCredential.js → UserDelegationKeyCredential-browser.mjs} +1 -1
- package/dist/browser/credentials/UserDelegationKeyCredential-browser.mjs.map +1 -0
- package/dist/browser/index.d.ts +1 -19
- package/dist/browser/index.d.ts.map +1 -1
- package/dist/browser/index.js +1 -19
- package/dist/browser/index.js.map +1 -1
- package/dist/browser/indexPlatform-browser.d.mts +25 -0
- package/dist/browser/indexPlatform-browser.d.mts.map +1 -0
- package/dist/browser/indexPlatform-browser.mjs +24 -0
- package/dist/browser/indexPlatform-browser.mjs.map +1 -0
- package/dist/browser/interfaces-browser.d.mts +14 -0
- package/dist/browser/interfaces-browser.d.mts.map +1 -0
- package/dist/browser/interfaces-browser.mjs +4 -0
- package/dist/browser/interfaces-browser.mjs.map +1 -0
- package/dist/browser/policies/{StorageBrowserPolicy.d.ts → StorageBrowserPolicy-browser.d.mts} +1 -1
- package/dist/browser/policies/StorageBrowserPolicy-browser.d.mts.map +1 -0
- package/dist/browser/policies/{StorageBrowserPolicy.js → StorageBrowserPolicy-browser.mjs} +1 -5
- package/dist/browser/policies/StorageBrowserPolicy-browser.mjs.map +1 -0
- package/dist/browser/policies/{StorageBrowserPolicyV2.d.ts → StorageBrowserPolicyV2-browser.d.mts} +1 -1
- package/dist/browser/policies/StorageBrowserPolicyV2-browser.d.mts.map +1 -0
- package/dist/browser/policies/{StorageBrowserPolicyV2.js → StorageBrowserPolicyV2-browser.mjs} +1 -5
- package/dist/browser/policies/StorageBrowserPolicyV2-browser.mjs.map +1 -0
- package/dist/browser/policies/{StorageCorrectContentLengthPolicy.d.ts → StorageCorrectContentLengthPolicy-browser.d.mts} +1 -1
- package/dist/browser/policies/StorageCorrectContentLengthPolicy-browser.d.mts.map +1 -0
- package/dist/browser/policies/{StorageCorrectContentLengthPolicy.js → StorageCorrectContentLengthPolicy-browser.mjs} +1 -1
- package/dist/browser/policies/StorageCorrectContentLengthPolicy-browser.mjs.map +1 -0
- package/dist/browser/policies/{StorageSharedKeyCredentialPolicyV2.d.ts → StorageSharedKeyCredentialPolicyV2-browser.d.mts} +3 -3
- package/dist/browser/policies/StorageSharedKeyCredentialPolicyV2-browser.d.mts.map +1 -0
- package/dist/browser/policies/{StorageSharedKeyCredentialPolicyV2.js → StorageSharedKeyCredentialPolicyV2-browser.mjs} +1 -1
- package/dist/browser/policies/StorageSharedKeyCredentialPolicyV2-browser.mjs.map +1 -0
- package/dist/browser/streamHelpers-browser.d.mts +6 -0
- package/dist/browser/streamHelpers-browser.d.mts.map +1 -0
- package/dist/browser/streamHelpers-browser.mjs +10 -0
- package/dist/browser/streamHelpers-browser.mjs.map +1 -0
- package/dist/browser/utils/constants.d.ts.map +1 -1
- package/dist/browser/utils/constants.js +1 -1
- package/dist/browser/utils/constants.js.map +1 -1
- package/dist/browser/utils/utils.common.d.ts +0 -12
- package/dist/browser/utils/utils.common.d.ts.map +1 -1
- package/dist/browser/utils/utils.common.js +4 -20
- package/dist/browser/utils/utils.common.js.map +1 -1
- package/dist/commonjs/BufferScheduler.js +1 -0
- package/dist/commonjs/BufferScheduler.js.map +1 -1
- package/dist/commonjs/BuffersStream.js +3 -0
- package/dist/commonjs/BuffersStream.js.map +2 -2
- package/dist/commonjs/PooledBuffer.js +1 -0
- package/dist/commonjs/PooledBuffer.js.map +1 -1
- package/dist/commonjs/StorageBrowserPolicyFactory.d.ts.map +1 -1
- package/dist/commonjs/StorageBrowserPolicyFactory.js +1 -0
- package/dist/commonjs/StorageBrowserPolicyFactory.js.map +2 -2
- package/dist/commonjs/StorageCRC64Calculator.js +1 -0
- package/dist/commonjs/StorageCRC64Calculator.js.map +1 -1
- package/dist/commonjs/StorageRetryPolicyFactory.js +1 -0
- package/dist/commonjs/StorageRetryPolicyFactory.js.map +1 -1
- package/dist/commonjs/StructuredMessageDecoding.d.ts +1 -1
- package/dist/commonjs/StructuredMessageDecoding.d.ts.map +1 -1
- package/dist/commonjs/StructuredMessageDecoding.js +4 -20
- package/dist/commonjs/StructuredMessageDecoding.js.map +3 -3
- package/dist/commonjs/StructuredMessageDecodingStream.js +1 -0
- package/dist/commonjs/StructuredMessageDecodingStream.js.map +1 -1
- package/dist/commonjs/StructuredMessageEncoding.d.ts +1 -1
- package/dist/commonjs/StructuredMessageEncoding.d.ts.map +1 -1
- package/dist/commonjs/StructuredMessageEncoding.js +9 -26
- package/dist/commonjs/StructuredMessageEncoding.js.map +3 -3
- package/dist/commonjs/StructuredMessageEncodingStream.d.ts +1 -1
- package/dist/commonjs/StructuredMessageEncodingStream.d.ts.map +1 -1
- package/dist/commonjs/StructuredMessageEncodingStream.js +1 -0
- package/dist/commonjs/StructuredMessageEncodingStream.js.map +2 -2
- package/dist/commonjs/bufferHelpers.common.d.ts +7 -0
- package/dist/commonjs/bufferHelpers.common.d.ts.map +1 -0
- package/dist/commonjs/bufferHelpers.common.js +39 -0
- package/dist/commonjs/bufferHelpers.common.js.map +7 -0
- package/dist/commonjs/bufferHelpers.d.ts +18 -0
- package/dist/commonjs/bufferHelpers.d.ts.map +1 -0
- package/dist/commonjs/bufferHelpers.js +45 -0
- package/dist/commonjs/bufferHelpers.js.map +7 -0
- package/dist/commonjs/cache.js +1 -0
- package/dist/commonjs/cache.js.map +1 -1
- package/dist/commonjs/crc64.js +5 -1
- package/dist/commonjs/credentials/AnonymousCredential.js +1 -0
- package/dist/commonjs/credentials/AnonymousCredential.js.map +1 -1
- package/dist/commonjs/credentials/Credential.js +1 -0
- package/dist/commonjs/credentials/Credential.js.map +1 -1
- package/dist/commonjs/credentials/StorageSharedKeyCredential.js +1 -0
- package/dist/commonjs/credentials/StorageSharedKeyCredential.js.map +1 -1
- package/dist/commonjs/credentials/UserDelegationKey.d.ts +38 -0
- package/dist/commonjs/credentials/UserDelegationKey.d.ts.map +1 -0
- package/dist/commonjs/credentials/UserDelegationKey.js +16 -0
- package/dist/commonjs/credentials/UserDelegationKey.js.map +7 -0
- package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts +1 -37
- package/dist/commonjs/credentials/UserDelegationKeyCredential.d.ts.map +1 -1
- package/dist/commonjs/credentials/UserDelegationKeyCredential.js +1 -0
- package/dist/commonjs/credentials/UserDelegationKeyCredential.js.map +3 -3
- package/dist/commonjs/index.d.ts +1 -21
- package/dist/commonjs/index.d.ts.map +1 -1
- package/dist/commonjs/index.js +3 -48
- package/dist/commonjs/index.js.map +3 -3
- package/dist/commonjs/indexPlatform.d.ts +26 -0
- package/dist/commonjs/indexPlatform.d.ts.map +1 -0
- package/dist/commonjs/indexPlatform.js +73 -0
- package/dist/commonjs/indexPlatform.js.map +7 -0
- package/dist/commonjs/interfaces.js +1 -0
- package/dist/commonjs/interfaces.js.map +1 -1
- package/dist/commonjs/log.js +1 -0
- package/dist/commonjs/log.js.map +1 -1
- package/dist/commonjs/policies/AnonymousCredentialPolicy.js +1 -0
- package/dist/commonjs/policies/AnonymousCredentialPolicy.js.map +1 -1
- package/dist/commonjs/policies/CredentialPolicy.js +1 -0
- package/dist/commonjs/policies/CredentialPolicy.js.map +1 -1
- package/dist/commonjs/policies/RequestPolicy.js +3 -0
- package/dist/commonjs/policies/RequestPolicy.js.map +2 -2
- package/dist/commonjs/policies/StorageBrowserPolicy.d.ts +2 -0
- package/dist/commonjs/policies/StorageBrowserPolicy.d.ts.map +1 -1
- package/dist/commonjs/policies/StorageBrowserPolicy.js +1 -15
- package/dist/commonjs/policies/StorageBrowserPolicy.js.map +3 -3
- package/dist/commonjs/policies/StorageBrowserPolicyV2.d.ts +2 -0
- package/dist/commonjs/policies/StorageBrowserPolicyV2.d.ts.map +1 -1
- package/dist/commonjs/policies/StorageBrowserPolicyV2.js +1 -15
- package/dist/commonjs/policies/StorageBrowserPolicyV2.js.map +3 -3
- package/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js +1 -0
- package/dist/commonjs/policies/StorageCorrectContentLengthPolicy.js.map +1 -1
- package/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js +1 -0
- package/dist/commonjs/policies/StorageRequestFailureDetailsParserPolicy.js.map +1 -1
- package/dist/commonjs/policies/StorageRetryPolicy.js +1 -0
- package/dist/commonjs/policies/StorageRetryPolicy.js.map +1 -1
- package/dist/commonjs/policies/StorageRetryPolicyType.js +1 -0
- package/dist/commonjs/policies/StorageRetryPolicyType.js.map +1 -1
- package/dist/commonjs/policies/StorageRetryPolicyV2.js +1 -0
- package/dist/commonjs/policies/StorageRetryPolicyV2.js.map +1 -1
- package/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.d.ts.map +1 -1
- package/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js +1 -0
- package/dist/commonjs/policies/StorageSharedKeyCredentialPolicy.js.map +2 -2
- package/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js +1 -0
- package/dist/commonjs/policies/StorageSharedKeyCredentialPolicyV2.js.map +1 -1
- package/dist/commonjs/streamHelpers.d.ts +7 -0
- package/dist/commonjs/streamHelpers.d.ts.map +1 -0
- package/dist/commonjs/{utils/tracing.js → streamHelpers.js} +9 -12
- package/dist/commonjs/streamHelpers.js.map +7 -0
- package/dist/commonjs/tsdoc-metadata.json +1 -1
- package/dist/commonjs/utils/SharedKeyComparator.js +1 -0
- package/dist/commonjs/utils/SharedKeyComparator.js.map +1 -1
- package/dist/commonjs/utils/constants.d.ts.map +1 -1
- package/dist/commonjs/utils/constants.js +2 -1
- package/dist/commonjs/utils/constants.js.map +2 -2
- package/dist/commonjs/utils/utils.common.d.ts +0 -12
- package/dist/commonjs/utils/utils.common.d.ts.map +1 -1
- package/dist/commonjs/utils/utils.common.js +4 -13
- package/dist/commonjs/utils/utils.common.js.map +3 -3
- package/dist/esm/StorageBrowserPolicyFactory.d.ts.map +1 -1
- package/dist/esm/StorageBrowserPolicyFactory.js.map +1 -1
- package/dist/esm/StructuredMessageDecoding.d.ts +1 -1
- package/dist/esm/StructuredMessageDecoding.d.ts.map +1 -1
- package/dist/esm/StructuredMessageDecoding.js +3 -22
- package/dist/esm/StructuredMessageDecoding.js.map +1 -1
- package/dist/esm/StructuredMessageEncoding.d.ts +1 -1
- package/dist/esm/StructuredMessageEncoding.d.ts.map +1 -1
- package/dist/esm/StructuredMessageEncoding.js +8 -28
- package/dist/esm/StructuredMessageEncoding.js.map +1 -1
- package/dist/esm/StructuredMessageEncodingStream.d.ts +1 -1
- package/dist/esm/StructuredMessageEncodingStream.d.ts.map +1 -1
- package/dist/esm/StructuredMessageEncodingStream.js.map +1 -1
- package/dist/esm/bufferHelpers.common.d.ts +7 -0
- package/dist/esm/bufferHelpers.common.d.ts.map +1 -0
- package/dist/esm/bufferHelpers.common.js +22 -0
- package/dist/esm/bufferHelpers.common.js.map +1 -0
- package/dist/esm/bufferHelpers.d.ts +18 -0
- package/dist/esm/bufferHelpers.d.ts.map +1 -0
- package/dist/esm/bufferHelpers.js +27 -0
- package/dist/esm/bufferHelpers.js.map +1 -0
- package/dist/esm/crc64.js +29 -1
- package/dist/esm/credentials/UserDelegationKey.d.ts +38 -0
- package/dist/esm/credentials/UserDelegationKey.d.ts.map +1 -0
- package/dist/{react-native/interfaces.js → esm/credentials/UserDelegationKey.js} +1 -1
- package/dist/esm/credentials/UserDelegationKey.js.map +1 -0
- package/dist/esm/credentials/UserDelegationKeyCredential.d.ts +1 -37
- package/dist/esm/credentials/UserDelegationKeyCredential.d.ts.map +1 -1
- package/dist/esm/credentials/UserDelegationKeyCredential.js +0 -1
- package/dist/esm/credentials/UserDelegationKeyCredential.js.map +1 -1
- package/dist/esm/index.d.ts +1 -21
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +1 -20
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/indexPlatform.d.ts +26 -0
- package/dist/esm/indexPlatform.d.ts.map +1 -0
- package/dist/esm/indexPlatform.js +25 -0
- package/dist/esm/indexPlatform.js.map +1 -0
- package/dist/esm/policies/StorageBrowserPolicy.d.ts +2 -0
- package/dist/esm/policies/StorageBrowserPolicy.d.ts.map +1 -1
- package/dist/esm/policies/StorageBrowserPolicy.js +2 -12
- package/dist/esm/policies/StorageBrowserPolicy.js.map +1 -1
- package/dist/esm/policies/StorageBrowserPolicyV2.d.ts +2 -0
- package/dist/esm/policies/StorageBrowserPolicyV2.d.ts.map +1 -1
- package/dist/esm/policies/StorageBrowserPolicyV2.js +2 -12
- package/dist/esm/policies/StorageBrowserPolicyV2.js.map +1 -1
- package/dist/esm/policies/StorageSharedKeyCredentialPolicy.d.ts.map +1 -1
- package/dist/esm/policies/StorageSharedKeyCredentialPolicy.js.map +1 -1
- package/dist/esm/streamHelpers.d.ts +7 -0
- package/dist/esm/streamHelpers.d.ts.map +1 -0
- package/dist/esm/streamHelpers.js +11 -0
- package/dist/esm/streamHelpers.js.map +1 -0
- package/dist/esm/utils/constants.d.ts.map +1 -1
- package/dist/esm/utils/constants.js +1 -1
- package/dist/esm/utils/constants.js.map +1 -1
- package/dist/esm/utils/utils.common.d.ts +0 -12
- package/dist/esm/utils/utils.common.d.ts.map +1 -1
- package/dist/esm/utils/utils.common.js +4 -20
- package/dist/esm/utils/utils.common.js.map +1 -1
- package/dist/react-native/BufferScheduler-browser.d.mts +7 -0
- package/dist/react-native/BufferScheduler-browser.d.mts.map +1 -0
- package/dist/react-native/BufferScheduler-browser.mjs +11 -0
- package/dist/react-native/BufferScheduler-browser.mjs.map +1 -0
- package/dist/react-native/BufferScheduler-react-native.d.mts +3 -0
- package/dist/react-native/BufferScheduler-react-native.d.mts.map +1 -0
- package/dist/react-native/BufferScheduler-react-native.mjs +4 -0
- package/dist/react-native/BufferScheduler-react-native.mjs.map +1 -0
- package/dist/react-native/StorageBrowserPolicyFactory.d.ts +1 -1
- package/dist/react-native/StorageBrowserPolicyFactory.d.ts.map +1 -1
- package/dist/react-native/StorageBrowserPolicyFactory.js +1 -1
- package/dist/react-native/StorageBrowserPolicyFactory.js.map +1 -1
- package/dist/react-native/StructuredMessageDecodingStream-react-native.d.mts +6 -0
- package/dist/react-native/StructuredMessageDecodingStream-react-native.d.mts.map +1 -0
- package/dist/react-native/StructuredMessageDecodingStream-react-native.mjs +7 -0
- package/dist/react-native/StructuredMessageDecodingStream-react-native.mjs.map +1 -0
- package/dist/react-native/StructuredMessageEncoding.d.ts +1 -1
- package/dist/react-native/StructuredMessageEncoding.d.ts.map +1 -1
- package/dist/react-native/StructuredMessageEncoding.js +8 -28
- package/dist/react-native/StructuredMessageEncoding.js.map +1 -1
- package/dist/react-native/StructuredMessageEncodingStream-react-native.d.mts +10 -0
- package/dist/react-native/StructuredMessageEncodingStream-react-native.d.mts.map +1 -0
- package/dist/react-native/StructuredMessageEncodingStream-react-native.mjs +56 -0
- package/dist/react-native/StructuredMessageEncodingStream-react-native.mjs.map +1 -0
- package/dist/react-native/bufferHelpers-browser.d.mts +18 -0
- package/dist/react-native/bufferHelpers-browser.d.mts.map +1 -0
- package/dist/react-native/bufferHelpers-browser.mjs +27 -0
- package/dist/react-native/bufferHelpers-browser.mjs.map +1 -0
- package/dist/react-native/bufferHelpers-react-native.d.mts +2 -0
- package/dist/react-native/bufferHelpers-react-native.d.mts.map +1 -0
- package/dist/react-native/bufferHelpers-react-native.mjs +5 -0
- package/dist/react-native/bufferHelpers-react-native.mjs.map +1 -0
- package/dist/react-native/bufferHelpers.common.d.ts +7 -0
- package/dist/react-native/bufferHelpers.common.d.ts.map +1 -0
- package/dist/react-native/bufferHelpers.common.js +22 -0
- package/dist/react-native/bufferHelpers.common.js.map +1 -0
- package/dist/react-native/crc64.js +9 -44
- package/dist/{browser/credentials/StorageSharedKeyCredential.d.ts → react-native/credentials/StorageSharedKeyCredential-browser.d.mts} +1 -1
- package/dist/react-native/credentials/StorageSharedKeyCredential-browser.d.mts.map +1 -0
- package/dist/react-native/credentials/{StorageSharedKeyCredential.js → StorageSharedKeyCredential-browser.mjs} +4 -4
- package/dist/react-native/credentials/StorageSharedKeyCredential-browser.mjs.map +1 -0
- package/dist/react-native/credentials/StorageSharedKeyCredential-react-native.d.mts +2 -0
- package/dist/react-native/credentials/StorageSharedKeyCredential-react-native.d.mts.map +1 -0
- package/dist/react-native/credentials/StorageSharedKeyCredential-react-native.mjs +4 -0
- package/dist/react-native/credentials/StorageSharedKeyCredential-react-native.mjs.map +1 -0
- package/dist/react-native/credentials/UserDelegationKey.d.ts +38 -0
- package/dist/react-native/credentials/UserDelegationKey.d.ts.map +1 -0
- package/dist/react-native/credentials/UserDelegationKey.js +4 -0
- package/dist/react-native/credentials/UserDelegationKey.js.map +1 -0
- package/dist/{browser/credentials/UserDelegationKeyCredential.d.ts → react-native/credentials/UserDelegationKeyCredential-browser.d.mts} +2 -13
- package/dist/react-native/credentials/UserDelegationKeyCredential-browser.d.mts.map +1 -0
- package/dist/react-native/credentials/{UserDelegationKeyCredential.js → UserDelegationKeyCredential-browser.mjs} +3 -3
- package/dist/react-native/credentials/UserDelegationKeyCredential-browser.mjs.map +1 -0
- package/dist/react-native/credentials/UserDelegationKeyCredential-react-native.d.mts +2 -0
- package/dist/react-native/credentials/UserDelegationKeyCredential-react-native.d.mts.map +1 -0
- package/dist/react-native/credentials/UserDelegationKeyCredential-react-native.mjs +4 -0
- package/dist/react-native/credentials/UserDelegationKeyCredential-react-native.mjs.map +1 -0
- package/dist/react-native/index.d.ts +1 -21
- package/dist/react-native/index.d.ts.map +1 -1
- package/dist/react-native/index.js +1 -20
- package/dist/react-native/index.js.map +1 -1
- package/dist/react-native/indexPlatform-browser.d.mts +25 -0
- package/dist/react-native/indexPlatform-browser.d.mts.map +1 -0
- package/dist/react-native/indexPlatform-browser.mjs +24 -0
- package/dist/react-native/indexPlatform-browser.mjs.map +1 -0
- package/dist/react-native/indexPlatform-react-native.d.mts +2 -0
- package/dist/react-native/indexPlatform-react-native.d.mts.map +1 -0
- package/dist/react-native/indexPlatform-react-native.mjs +4 -0
- package/dist/react-native/indexPlatform-react-native.mjs.map +1 -0
- package/dist/react-native/interfaces-browser.d.mts +14 -0
- package/dist/react-native/interfaces-browser.d.mts.map +1 -0
- package/dist/react-native/interfaces-browser.mjs +4 -0
- package/dist/react-native/interfaces-browser.mjs.map +1 -0
- package/dist/react-native/interfaces-react-native.d.mts +2 -0
- package/dist/react-native/interfaces-react-native.d.mts.map +1 -0
- package/dist/react-native/interfaces-react-native.mjs +4 -0
- package/dist/react-native/interfaces-react-native.mjs.map +1 -0
- package/dist/react-native/policies/{StorageBrowserPolicy.d.ts → StorageBrowserPolicy-browser.d.mts} +1 -1
- package/dist/react-native/policies/StorageBrowserPolicy-browser.d.mts.map +1 -0
- package/dist/react-native/policies/{StorageBrowserPolicy.js → StorageBrowserPolicy-browser.mjs} +1 -5
- package/dist/react-native/policies/StorageBrowserPolicy-browser.mjs.map +1 -0
- package/dist/react-native/policies/StorageBrowserPolicy-react-native.d.mts +2 -0
- package/dist/react-native/policies/StorageBrowserPolicy-react-native.d.mts.map +1 -0
- package/dist/react-native/policies/StorageBrowserPolicy-react-native.mjs +4 -0
- package/dist/react-native/policies/StorageBrowserPolicy-react-native.mjs.map +1 -0
- package/dist/react-native/policies/{StorageBrowserPolicyV2.d.ts → StorageBrowserPolicyV2-browser.d.mts} +1 -1
- package/dist/react-native/policies/StorageBrowserPolicyV2-browser.d.mts.map +1 -0
- package/dist/react-native/policies/{StorageBrowserPolicyV2.js → StorageBrowserPolicyV2-browser.mjs} +1 -5
- package/dist/react-native/policies/StorageBrowserPolicyV2-browser.mjs.map +1 -0
- package/dist/react-native/policies/StorageBrowserPolicyV2-react-native.d.mts +2 -0
- package/dist/react-native/policies/StorageBrowserPolicyV2-react-native.d.mts.map +1 -0
- package/dist/react-native/policies/StorageBrowserPolicyV2-react-native.mjs +4 -0
- package/dist/react-native/policies/StorageBrowserPolicyV2-react-native.mjs.map +1 -0
- package/dist/react-native/policies/{StorageCorrectContentLengthPolicy.d.ts → StorageCorrectContentLengthPolicy-browser.d.mts} +1 -1
- package/dist/react-native/policies/StorageCorrectContentLengthPolicy-browser.d.mts.map +1 -0
- package/dist/react-native/policies/{StorageCorrectContentLengthPolicy.js → StorageCorrectContentLengthPolicy-browser.mjs} +1 -10
- package/dist/react-native/policies/StorageCorrectContentLengthPolicy-browser.mjs.map +1 -0
- package/dist/react-native/policies/StorageCorrectContentLengthPolicy-react-native.d.mts +2 -0
- package/dist/react-native/policies/StorageCorrectContentLengthPolicy-react-native.d.mts.map +1 -0
- package/dist/react-native/policies/StorageCorrectContentLengthPolicy-react-native.mjs +4 -0
- package/dist/react-native/policies/StorageCorrectContentLengthPolicy-react-native.mjs.map +1 -0
- package/dist/react-native/policies/{StorageSharedKeyCredentialPolicyV2.d.ts → StorageSharedKeyCredentialPolicyV2-browser.d.mts} +8 -2
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-browser.d.mts.map +1 -0
- package/dist/react-native/policies/{StorageSharedKeyCredentialPolicyV2.js → StorageSharedKeyCredentialPolicyV2-browser.mjs} +1 -1
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-browser.mjs.map +1 -0
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-react-native.d.mts +2 -0
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-react-native.d.mts.map +1 -0
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-react-native.mjs +4 -0
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2-react-native.mjs.map +1 -0
- package/dist/react-native/streamHelpers-browser.d.mts +6 -0
- package/dist/react-native/streamHelpers-browser.d.mts.map +1 -0
- package/dist/react-native/streamHelpers-browser.mjs +10 -0
- package/dist/react-native/streamHelpers-browser.mjs.map +1 -0
- package/dist/react-native/streamHelpers-react-native.d.mts +2 -0
- package/dist/react-native/streamHelpers-react-native.d.mts.map +1 -0
- package/dist/react-native/streamHelpers-react-native.mjs +4 -0
- package/dist/react-native/streamHelpers-react-native.mjs.map +1 -0
- package/dist/react-native/utils/constants.d.ts.map +1 -1
- package/dist/react-native/utils/constants.js +1 -1
- package/dist/react-native/utils/constants.js.map +1 -1
- package/dist/react-native/utils/utils.common.d.ts +0 -12
- package/dist/react-native/utils/utils.common.d.ts.map +1 -1
- package/dist/react-native/utils/utils.common.js +4 -20
- package/dist/react-native/utils/utils.common.js.map +1 -1
- package/package.json +25 -13
- package/dist/browser/BufferScheduler.d.ts +0 -3
- package/dist/browser/BufferScheduler.d.ts.map +0 -1
- package/dist/browser/BufferScheduler.js +0 -8
- package/dist/browser/BufferScheduler.js.map +0 -1
- package/dist/browser/BuffersStream.d.ts +0 -41
- package/dist/browser/BuffersStream.d.ts.map +0 -1
- package/dist/browser/BuffersStream.js +0 -97
- package/dist/browser/BuffersStream.js.map +0 -1
- package/dist/browser/PooledBuffer.d.ts +0 -63
- package/dist/browser/PooledBuffer.d.ts.map +0 -1
- package/dist/browser/PooledBuffer.js +0 -95
- package/dist/browser/PooledBuffer.js.map +0 -1
- package/dist/browser/StructuredMessageDecodingStream.d.ts +0 -8
- package/dist/browser/StructuredMessageDecodingStream.d.ts.map +0 -1
- package/dist/browser/StructuredMessageDecodingStream.js.map +0 -1
- package/dist/browser/StructuredMessageEncodingStream.d.ts.map +0 -1
- package/dist/browser/StructuredMessageEncodingStream.js.map +0 -1
- package/dist/browser/credentials/StorageSharedKeyCredential.d.ts.map +0 -1
- package/dist/browser/credentials/StorageSharedKeyCredential.js.map +0 -1
- package/dist/browser/credentials/UserDelegationKeyCredential.d.ts.map +0 -1
- package/dist/browser/credentials/UserDelegationKeyCredential.js.map +0 -1
- package/dist/browser/interfaces.d.ts +0 -12
- package/dist/browser/interfaces.d.ts.map +0 -1
- package/dist/browser/interfaces.js.map +0 -1
- package/dist/browser/policies/StorageBrowserPolicy.d.ts.map +0 -1
- package/dist/browser/policies/StorageBrowserPolicy.js.map +0 -1
- package/dist/browser/policies/StorageBrowserPolicyV2.d.ts.map +0 -1
- package/dist/browser/policies/StorageBrowserPolicyV2.js.map +0 -1
- package/dist/browser/policies/StorageCorrectContentLengthPolicy.d.ts.map +0 -1
- package/dist/browser/policies/StorageCorrectContentLengthPolicy.js.map +0 -1
- package/dist/browser/policies/StorageSharedKeyCredentialPolicy.d.ts +0 -54
- package/dist/browser/policies/StorageSharedKeyCredentialPolicy.d.ts.map +0 -1
- package/dist/browser/policies/StorageSharedKeyCredentialPolicy.js +0 -145
- package/dist/browser/policies/StorageSharedKeyCredentialPolicy.js.map +0 -1
- package/dist/browser/policies/StorageSharedKeyCredentialPolicyV2.d.ts.map +0 -1
- package/dist/browser/policies/StorageSharedKeyCredentialPolicyV2.js.map +0 -1
- package/dist/browser/utils/SharedKeyComparator.d.ts +0 -2
- package/dist/browser/utils/SharedKeyComparator.d.ts.map +0 -1
- package/dist/browser/utils/SharedKeyComparator.js +0 -73
- package/dist/browser/utils/SharedKeyComparator.js.map +0 -1
- package/dist/browser/utils/tracing.d.ts +0 -6
- package/dist/browser/utils/tracing.d.ts.map +0 -1
- package/dist/browser/utils/tracing.js +0 -14
- package/dist/browser/utils/tracing.js.map +0 -1
- package/dist/commonjs/utils/tracing.d.ts +0 -6
- package/dist/commonjs/utils/tracing.d.ts.map +0 -1
- package/dist/commonjs/utils/tracing.js.map +0 -7
- package/dist/esm/utils/tracing.d.ts +0 -6
- package/dist/esm/utils/tracing.d.ts.map +0 -1
- package/dist/esm/utils/tracing.js +0 -14
- package/dist/esm/utils/tracing.js.map +0 -1
- package/dist/react-native/BufferScheduler.d.ts +0 -3
- package/dist/react-native/BufferScheduler.d.ts.map +0 -1
- package/dist/react-native/BufferScheduler.js +0 -8
- package/dist/react-native/BufferScheduler.js.map +0 -1
- package/dist/react-native/BuffersStream.d.ts +0 -41
- package/dist/react-native/BuffersStream.d.ts.map +0 -1
- package/dist/react-native/BuffersStream.js +0 -97
- package/dist/react-native/BuffersStream.js.map +0 -1
- package/dist/react-native/PooledBuffer.d.ts +0 -63
- package/dist/react-native/PooledBuffer.d.ts.map +0 -1
- package/dist/react-native/PooledBuffer.js +0 -95
- package/dist/react-native/PooledBuffer.js.map +0 -1
- package/dist/react-native/StructuredMessageDecoding.d.ts +0 -31
- package/dist/react-native/StructuredMessageDecoding.d.ts.map +0 -1
- package/dist/react-native/StructuredMessageDecoding.js +0 -201
- package/dist/react-native/StructuredMessageDecoding.js.map +0 -1
- package/dist/react-native/StructuredMessageDecodingStream.d.ts +0 -22
- package/dist/react-native/StructuredMessageDecodingStream.d.ts.map +0 -1
- package/dist/react-native/StructuredMessageDecodingStream.js +0 -79
- package/dist/react-native/StructuredMessageDecodingStream.js.map +0 -1
- package/dist/react-native/StructuredMessageEncodingStream.d.ts +0 -22
- package/dist/react-native/StructuredMessageEncodingStream.d.ts.map +0 -1
- package/dist/react-native/StructuredMessageEncodingStream.js +0 -180
- package/dist/react-native/StructuredMessageEncodingStream.js.map +0 -1
- package/dist/react-native/credentials/StorageSharedKeyCredential.d.ts.map +0 -1
- package/dist/react-native/credentials/StorageSharedKeyCredential.js.map +0 -1
- package/dist/react-native/credentials/UserDelegationKeyCredential.d.ts.map +0 -1
- package/dist/react-native/credentials/UserDelegationKeyCredential.js.map +0 -1
- package/dist/react-native/interfaces.d.ts +0 -12
- package/dist/react-native/interfaces.d.ts.map +0 -1
- package/dist/react-native/interfaces.js.map +0 -1
- package/dist/react-native/policies/StorageBrowserPolicy.d.ts.map +0 -1
- package/dist/react-native/policies/StorageBrowserPolicy.js.map +0 -1
- package/dist/react-native/policies/StorageBrowserPolicyV2.d.ts.map +0 -1
- package/dist/react-native/policies/StorageBrowserPolicyV2.js.map +0 -1
- package/dist/react-native/policies/StorageCorrectContentLengthPolicy.d.ts.map +0 -1
- package/dist/react-native/policies/StorageCorrectContentLengthPolicy.js.map +0 -1
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicy.d.ts +0 -54
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicy.d.ts.map +0 -1
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicy.js +0 -145
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicy.js.map +0 -1
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2.d.ts.map +0 -1
- package/dist/react-native/policies/StorageSharedKeyCredentialPolicyV2.js.map +0 -1
- package/dist/react-native/utils/SharedKeyComparator.d.ts +0 -2
- package/dist/react-native/utils/SharedKeyComparator.d.ts.map +0 -1
- package/dist/react-native/utils/SharedKeyComparator.js +0 -73
- package/dist/react-native/utils/SharedKeyComparator.js.map +0 -1
- package/dist/react-native/utils/tracing.d.ts +0 -6
- package/dist/react-native/utils/tracing.d.ts.map +0 -1
- package/dist/react-native/utils/tracing.js +0 -14
- package/dist/react-native/utils/tracing.js.map +0 -1
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { NodeReadableStream } from "@azure/core-rest-pipeline";
|
|
2
|
+
export type OutgoingHandler = (body: () => NodeReadableStream, length: number, offset?: number) => Promise<unknown>;
|
|
3
|
+
export declare class BufferScheduler {
|
|
4
|
+
constructor(_readable: NodeReadableStream, _bufferSize: number, _maxBuffers: number, _outgoingHandler: OutgoingHandler, _concurrency: number, _encoding?: string);
|
|
5
|
+
do(): Promise<void>;
|
|
6
|
+
}
|
|
7
|
+
//# sourceMappingURL=BufferScheduler-browser.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BufferScheduler-browser.d.mts","sourceRoot":"","sources":["../../src/BufferScheduler-browser.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAIpE,MAAM,MAAM,eAAe,GAAG,CAC5B,IAAI,EAAE,MAAM,kBAAkB,EAC9B,MAAM,EAAE,MAAM,EACd,MAAM,CAAC,EAAE,MAAM,KACZ,OAAO,CAAC,OAAO,CAAC,CAAC;AAEtB,qBAAa,eAAe;gBAExB,SAAS,EAAE,kBAAkB,EAC7B,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EACnB,gBAAgB,EAAE,eAAe,EACjC,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,MAAM;IAKd,EAAE,IAAI,OAAO,CAAC,IAAI,CAAC;CAG1B"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
export class BufferScheduler {
|
|
4
|
+
constructor(_readable, _bufferSize, _maxBuffers, _outgoingHandler, _concurrency, _encoding) {
|
|
5
|
+
throw new Error("BufferScheduler is not supported in non-Node.js environments.");
|
|
6
|
+
}
|
|
7
|
+
async do() {
|
|
8
|
+
throw new Error("BufferScheduler is not supported in non-Node.js environments.");
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
//# sourceMappingURL=BufferScheduler-browser.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"BufferScheduler-browser.mjs","sourceRoot":"","sources":["../../src/BufferScheduler-browser.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAYlC,MAAM,OAAO,eAAe;IAC1B,YACE,SAA6B,EAC7B,WAAmB,EACnB,WAAmB,EACnB,gBAAiC,EACjC,YAAoB,EACpB,SAAkB;QAElB,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;IAED,KAAK,CAAC,EAAE;QACN,MAAM,IAAI,KAAK,CAAC,+DAA+D,CAAC,CAAC;IACnF,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { NodeReadableStream } from \"@azure/core-rest-pipeline\";\n\n// BufferScheduler is only available in Node.js runtime.\n// This stub provides a matching interface for browser type-checking.\nexport type OutgoingHandler = (\n body: () => NodeReadableStream,\n length: number,\n offset?: number,\n) => Promise<unknown>;\n\nexport class BufferScheduler {\n constructor(\n _readable: NodeReadableStream,\n _bufferSize: number,\n _maxBuffers: number,\n _outgoingHandler: OutgoingHandler,\n _concurrency: number,\n _encoding?: string,\n ) {\n throw new Error(\"BufferScheduler is not supported in non-Node.js environments.\");\n }\n\n async do(): Promise<void> {\n throw new Error(\"BufferScheduler is not supported in non-Node.js environments.\");\n }\n}\n"]}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { RequestPolicy, RequestPolicyOptionsLike as RequestPolicyOptions, RequestPolicyFactory } from "@azure/core-http-compat";
|
|
2
|
-
import { StorageBrowserPolicy } from "./policies/StorageBrowserPolicy.
|
|
2
|
+
import { StorageBrowserPolicy } from "./policies/StorageBrowserPolicy-browser.mjs";
|
|
3
3
|
export { StorageBrowserPolicy };
|
|
4
4
|
/**
|
|
5
5
|
* StorageBrowserPolicyFactory is a factory class helping generating StorageBrowserPolicy objects.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageBrowserPolicyFactory.d.ts","sourceRoot":"","sources":["../../src/StorageBrowserPolicyFactory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,IAAI,oBAAoB,EAChD,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"StorageBrowserPolicyFactory.d.ts","sourceRoot":"","sources":["../../src/StorageBrowserPolicyFactory.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EACV,aAAa,EACb,wBAAwB,IAAI,oBAAoB,EAChD,oBAAoB,EACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;GAEG;AACH,qBAAa,2BAA4B,YAAW,oBAAoB;IACtE;;;;;OAKG;IACI,MAAM,CAAC,UAAU,EAAE,aAAa,EAAE,OAAO,EAAE,oBAAoB,GAAG,oBAAoB;CAG9F"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
|
-
import { StorageBrowserPolicy } from "./policies/StorageBrowserPolicy.
|
|
3
|
+
import { StorageBrowserPolicy } from "./policies/StorageBrowserPolicy-browser.mjs";
|
|
4
4
|
export { StorageBrowserPolicy };
|
|
5
5
|
/**
|
|
6
6
|
* StorageBrowserPolicyFactory is a factory class helping generating StorageBrowserPolicy objects.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StorageBrowserPolicyFactory.js","sourceRoot":"","sources":["../../src/StorageBrowserPolicyFactory.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"StorageBrowserPolicyFactory.js","sourceRoot":"","sources":["../../src/StorageBrowserPolicyFactory.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAOlC,OAAO,EAAE,oBAAoB,EAAE,MAAM,yCAAyC,CAAC;AAC/E,OAAO,EAAE,oBAAoB,EAAE,CAAC;AAEhC;;GAEG;AACH,MAAM,OAAO,2BAA2B;IACtC;;;;;OAKG;IACI,MAAM,CAAC,UAAyB,EAAE,OAA6B;QACpE,OAAO,IAAI,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACvD,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type {\n RequestPolicy,\n RequestPolicyOptionsLike as RequestPolicyOptions,\n RequestPolicyFactory,\n} from \"@azure/core-http-compat\";\nimport { StorageBrowserPolicy } from \"#platform/policies/StorageBrowserPolicy\";\nexport { StorageBrowserPolicy };\n\n/**\n * StorageBrowserPolicyFactory is a factory class helping generating StorageBrowserPolicy objects.\n */\nexport class StorageBrowserPolicyFactory implements RequestPolicyFactory {\n /**\n * Creates a StorageBrowserPolicyFactory object.\n *\n * @param nextPolicy -\n * @param options -\n */\n public create(nextPolicy: RequestPolicy, options: RequestPolicyOptions): StorageBrowserPolicy {\n return new StorageBrowserPolicy(nextPolicy, options);\n }\n}\n"]}
|
|
@@ -18,7 +18,7 @@ export declare class StructuredMessageDecoding {
|
|
|
18
18
|
private messageCrc64;
|
|
19
19
|
private state;
|
|
20
20
|
constructor(pushData: (data: any) => any);
|
|
21
|
-
sourceDataHandler: (data:
|
|
21
|
+
sourceDataHandler: (data: Uint8Array) => void;
|
|
22
22
|
private parseMessageHeader;
|
|
23
23
|
private parseSegmentHeader;
|
|
24
24
|
private parseSegmentContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructuredMessageDecoding.d.ts","sourceRoot":"","sources":["../../src/StructuredMessageDecoding.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"StructuredMessageDecoding.d.ts","sourceRoot":"","sources":["../../src/StructuredMessageDecoding.ts"],"names":[],"mappings":"AAkBA,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,iBAAiB,CAAS;IAElC,OAAO,CAAC,mBAAmB,CAAa;IACxC,OAAO,CAAC,mBAAmB,CAAS;IAEpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,mBAAmB,CAAS;IACpC,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO,CAAC,KAAK,CAAW;gBAEL,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG;IA6BxC,iBAAiB,GAAI,MAAM,UAAU,KAAG,IAAI,CAuBjD;IAEF,OAAO,CAAC,kBAAkB;IA+B1B,OAAO,CAAC,kBAAkB;IAiC1B,OAAO,CAAC,mBAAmB;IAwB3B,OAAO,CAAC,kBAAkB;IAqC1B,OAAO,CAAC,kBAAkB;IA2B1B,OAAO,CAAC,OAAO;IASf,OAAO,CAAC,OAAO;IAQf,OAAO,CAAC,kBAAkB;CAa3B"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { StorageCRC64Calculator } from "./StorageCRC64Calculator.js";
|
|
4
|
-
import { isNodeLike } from "@azure/core-util";
|
|
5
4
|
const MESSAGE_VERSION = 1;
|
|
6
5
|
const MESSAGE_HEADER_LENGTH = 13;
|
|
7
6
|
const SEGMENT_HEADER_LENGTH = 10;
|
|
@@ -159,32 +158,14 @@ export class StructuredMessageDecoding {
|
|
|
159
158
|
if (input.length < offset + 8) {
|
|
160
159
|
throw new Error("CRC64 buffer error, something wrong with crc64 calculator");
|
|
161
160
|
}
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
for (let index = 0; index < 6; ++index) {
|
|
165
|
-
internalBuffer[index] = input[offset + index];
|
|
166
|
-
}
|
|
167
|
-
return Number(internalBuffer.readBigInt64LE());
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
const view = new DataView(input.buffer, offset, 8);
|
|
171
|
-
return Number(view.getBigUint64(0, true));
|
|
172
|
-
}
|
|
161
|
+
const view = new DataView(input.buffer, input.byteOffset + offset, 8);
|
|
162
|
+
return Number(view.getBigUint64(0, true));
|
|
173
163
|
}
|
|
174
164
|
toInt16(input) {
|
|
175
165
|
if (input.length !== 2) {
|
|
176
166
|
throw new Error("CRC64 buffer error, something wrong with crc64 calculator");
|
|
177
167
|
}
|
|
178
|
-
|
|
179
|
-
const internalBuffer = Buffer.alloc(2);
|
|
180
|
-
for (let index = 0; index < 2; ++index) {
|
|
181
|
-
internalBuffer[index] = input[index];
|
|
182
|
-
}
|
|
183
|
-
return Number(internalBuffer.readInt16LE());
|
|
184
|
-
}
|
|
185
|
-
else {
|
|
186
|
-
return input[0] + input[1] * 256;
|
|
187
|
-
}
|
|
168
|
+
return input[0] + input[1] * 256;
|
|
188
169
|
}
|
|
189
170
|
checkCrc64CheckSum(first, second) {
|
|
190
171
|
if (first.length !== 8 || second.length !== 8) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructuredMessageDecoding.js","sourceRoot":"","sources":["../../src/StructuredMessageDecoding.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { StorageCRC64Calculator } from \"./StorageCRC64Calculator.js\";\nimport { isNodeLike } from \"@azure/core-util\";\n\nconst MESSAGE_VERSION: number = 1;\nconst MESSAGE_HEADER_LENGTH: number = 13;\nconst SEGMENT_HEADER_LENGTH: number = 10;\nconst FOOTER_LENGTH: number = 8;\n\nenum SMRegion {\n StreamHeader,\n StreamFooter,\n SegmentHeader,\n SegmentFooter,\n SegmentContent,\n}\n\nexport class StructuredMessageDecoding {\n private pushData: (data: any) => any;\n private segmentsCount: number;\n // private currentState: SMRegion;\n private currentOffset: number;\n\n private currentDataOffset: number;\n\n private messageHeaderBuffer: Uint8Array;\n private messageHeaderOffset: number;\n\n private segmentNumber: number;\n private segmentHeaderOffset: number;\n private segmentHeaderBuffer: Uint8Array;\n\n private segmentContentOffset: number;\n private segmentContentLength: number;\n\n private segmentFooterOffset: number;\n private segmentFooterBuffer: Uint8Array;\n\n private messageFooterOffset: number;\n private messageFooterBuffer: Uint8Array;\n\n private segmentCrc64: StorageCRC64Calculator;\n private messageCrc64: StorageCRC64Calculator;\n\n private state: SMRegion;\n\n public constructor(pushData: (data: any) => any) {\n this.pushData = pushData;\n this.currentOffset = 0;\n this.segmentsCount = 0;\n\n this.messageHeaderOffset = 0;\n this.messageHeaderBuffer = new Uint8Array(MESSAGE_HEADER_LENGTH);\n\n this.currentDataOffset = 0;\n\n this.segmentNumber = 0;\n this.segmentHeaderOffset = 0;\n this.segmentHeaderBuffer = new Uint8Array(SEGMENT_HEADER_LENGTH);\n\n this.segmentContentOffset = 0;\n this.segmentContentLength = 0;\n\n this.state = SMRegion.StreamHeader;\n\n this.segmentFooterOffset = 0;\n this.segmentFooterBuffer = new Uint8Array(FOOTER_LENGTH);\n\n this.messageFooterOffset = 0;\n this.messageFooterBuffer = new Uint8Array(FOOTER_LENGTH);\n\n this.segmentCrc64 = new StorageCRC64Calculator();\n this.messageCrc64 = new StorageCRC64Calculator();\n }\n\n public sourceDataHandler = (data: Buffer): void => {\n this.currentDataOffset = 0;\n\n if (this.state === SMRegion.StreamHeader) {\n this.parseMessageHeader(data);\n }\n\n while (this.segmentNumber < this.segmentsCount && this.currentDataOffset < data.length) {\n if (this.state === SMRegion.SegmentHeader) {\n this.parseSegmentHeader(data);\n }\n\n if (this.state === SMRegion.SegmentContent) {\n this.parseSegmentContent(data);\n }\n if (this.state === SMRegion.SegmentFooter) {\n this.parseSegmentFooter(data);\n }\n }\n\n if (this.state === SMRegion.StreamFooter) {\n this.parseMessageFooter(data);\n }\n };\n\n private parseMessageHeader(data: Buffer) {\n const length = Math.min(\n MESSAGE_HEADER_LENGTH - this.messageHeaderOffset,\n data.length - this.currentDataOffset,\n );\n this.messageHeaderBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.messageHeaderOffset,\n );\n\n this.currentDataOffset += length;\n this.messageHeaderOffset += length;\n this.currentOffset += length;\n\n if (this.messageHeaderOffset === MESSAGE_HEADER_LENGTH) {\n const currentVersion = this.messageHeaderBuffer[0];\n if (currentVersion !== MESSAGE_VERSION) {\n throw new Error(\"Unexpected message version\");\n }\n\n this.segmentsCount = this.toInt16(\n Uint8Array.prototype.slice.call(this.messageHeaderBuffer, 11, 13),\n );\n this.state = SMRegion.SegmentHeader;\n }\n }\n\n private parseSegmentHeader(data: Buffer) {\n const length = Math.min(\n SEGMENT_HEADER_LENGTH - this.segmentHeaderOffset,\n data.length - this.currentDataOffset,\n );\n this.segmentHeaderBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.segmentHeaderOffset,\n );\n\n this.currentDataOffset += length;\n this.segmentHeaderOffset += length;\n this.currentOffset += length;\n\n if (this.segmentHeaderOffset === SEGMENT_HEADER_LENGTH) {\n const currentSegmentNumber = this.toInt16(\n Uint8Array.prototype.slice.call(this.segmentHeaderBuffer, 0, 2),\n );\n if (currentSegmentNumber !== this.segmentNumber + 1) {\n throw new Error(\"Segment number is unexpected.\");\n }\n\n this.segmentContentLength = this.toInt64(this.segmentHeaderBuffer, 2);\n this.segmentContentOffset = 0;\n\n this.state = SMRegion.SegmentContent;\n }\n }\n\n private parseSegmentContent(data: Buffer) {\n const length = Math.min(\n this.segmentContentLength - this.segmentContentOffset,\n data.length - this.currentDataOffset,\n );\n const dataToHandle = Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n );\n this.segmentCrc64.append(dataToHandle, length);\n this.messageCrc64.append(dataToHandle, length);\n\n this.pushData(dataToHandle);\n\n this.currentDataOffset += length;\n this.segmentContentOffset += length;\n this.currentOffset += length;\n\n if (this.segmentContentOffset === this.segmentContentLength) {\n this.state = SMRegion.SegmentFooter;\n }\n }\n\n private parseSegmentFooter(data: Buffer) {\n const length = Math.min(\n FOOTER_LENGTH - this.segmentFooterOffset,\n data.length - this.currentDataOffset,\n );\n\n this.segmentFooterBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.segmentFooterOffset,\n );\n\n this.currentDataOffset += length;\n this.segmentFooterOffset += length;\n this.currentOffset += length;\n\n if (this.segmentFooterOffset === FOOTER_LENGTH) {\n const crc64Result = this.segmentCrc64.final(new Uint8Array([]), 0);\n if (!this.checkCrc64CheckSum(crc64Result, this.segmentFooterBuffer)) {\n throw new Error(`Segment check sum mismatch, segmentNumber: ${this.segmentNumber}`);\n }\n\n ++this.segmentNumber;\n if (this.segmentNumber === this.segmentsCount) {\n this.state = SMRegion.StreamFooter;\n } else {\n this.segmentHeaderOffset = 0;\n this.segmentFooterOffset = 0;\n this.segmentCrc64 = new StorageCRC64Calculator();\n this.state = SMRegion.SegmentHeader;\n }\n }\n }\n\n private parseMessageFooter(data: Buffer) {\n const length = Math.min(\n FOOTER_LENGTH - this.messageFooterOffset,\n data.length - this.currentDataOffset,\n );\n this.messageFooterBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.messageFooterOffset,\n );\n\n this.currentDataOffset += length;\n this.messageFooterOffset += length;\n this.currentOffset += length;\n\n if (this.messageFooterOffset === FOOTER_LENGTH) {\n const crc64Result = this.messageCrc64.final(new Uint8Array([]), 0);\n if (!this.checkCrc64CheckSum(crc64Result, this.messageFooterBuffer)) {\n throw new Error(\"Check sum mismatch\");\n }\n this.pushData(null);\n }\n }\n\n private toInt64(input: Uint8Array, offset: number): number {\n if (input.length < offset + 8) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n if (isNodeLike) {\n const internalBuffer = Buffer.alloc(8);\n for (let index = 0; index < 6; ++index) {\n internalBuffer[index] = input[offset + index];\n }\n\n return Number(internalBuffer.readBigInt64LE());\n } else {\n const view = new DataView(input.buffer, offset, 8);\n return Number(view.getBigUint64(0, true));\n }\n }\n\n private toInt16(input: Uint8Array): number {\n if (input.length !== 2) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n if (isNodeLike) {\n const internalBuffer = Buffer.alloc(2);\n for (let index = 0; index < 2; ++index) {\n internalBuffer[index] = input[index];\n }\n\n return Number(internalBuffer.readInt16LE());\n } else {\n return input[0] + input[1] * 256;\n }\n }\n\n private checkCrc64CheckSum(first: Uint8Array, second: Uint8Array): boolean {\n if (first.length !== 8 || second.length !== 8) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n for (let index = 0; index < 8; ++index) {\n if (first[index] !== second[index]) {\n return false;\n }\n }\n\n return true;\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StructuredMessageDecoding.js","sourceRoot":"","sources":["../../src/StructuredMessageDecoding.ts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { StorageCRC64Calculator } from \"./StorageCRC64Calculator.js\";\n\nconst MESSAGE_VERSION: number = 1;\nconst MESSAGE_HEADER_LENGTH: number = 13;\nconst SEGMENT_HEADER_LENGTH: number = 10;\nconst FOOTER_LENGTH: number = 8;\n\nenum SMRegion {\n StreamHeader,\n StreamFooter,\n SegmentHeader,\n SegmentFooter,\n SegmentContent,\n}\n\nexport class StructuredMessageDecoding {\n private pushData: (data: any) => any;\n private segmentsCount: number;\n // private currentState: SMRegion;\n private currentOffset: number;\n\n private currentDataOffset: number;\n\n private messageHeaderBuffer: Uint8Array;\n private messageHeaderOffset: number;\n\n private segmentNumber: number;\n private segmentHeaderOffset: number;\n private segmentHeaderBuffer: Uint8Array;\n\n private segmentContentOffset: number;\n private segmentContentLength: number;\n\n private segmentFooterOffset: number;\n private segmentFooterBuffer: Uint8Array;\n\n private messageFooterOffset: number;\n private messageFooterBuffer: Uint8Array;\n\n private segmentCrc64: StorageCRC64Calculator;\n private messageCrc64: StorageCRC64Calculator;\n\n private state: SMRegion;\n\n public constructor(pushData: (data: any) => any) {\n this.pushData = pushData;\n this.currentOffset = 0;\n this.segmentsCount = 0;\n\n this.messageHeaderOffset = 0;\n this.messageHeaderBuffer = new Uint8Array(MESSAGE_HEADER_LENGTH);\n\n this.currentDataOffset = 0;\n\n this.segmentNumber = 0;\n this.segmentHeaderOffset = 0;\n this.segmentHeaderBuffer = new Uint8Array(SEGMENT_HEADER_LENGTH);\n\n this.segmentContentOffset = 0;\n this.segmentContentLength = 0;\n\n this.state = SMRegion.StreamHeader;\n\n this.segmentFooterOffset = 0;\n this.segmentFooterBuffer = new Uint8Array(FOOTER_LENGTH);\n\n this.messageFooterOffset = 0;\n this.messageFooterBuffer = new Uint8Array(FOOTER_LENGTH);\n\n this.segmentCrc64 = new StorageCRC64Calculator();\n this.messageCrc64 = new StorageCRC64Calculator();\n }\n\n public sourceDataHandler = (data: Uint8Array): void => {\n this.currentDataOffset = 0;\n\n if (this.state === SMRegion.StreamHeader) {\n this.parseMessageHeader(data);\n }\n\n while (this.segmentNumber < this.segmentsCount && this.currentDataOffset < data.length) {\n if (this.state === SMRegion.SegmentHeader) {\n this.parseSegmentHeader(data);\n }\n\n if (this.state === SMRegion.SegmentContent) {\n this.parseSegmentContent(data);\n }\n if (this.state === SMRegion.SegmentFooter) {\n this.parseSegmentFooter(data);\n }\n }\n\n if (this.state === SMRegion.StreamFooter) {\n this.parseMessageFooter(data);\n }\n };\n\n private parseMessageHeader(data: Uint8Array) {\n const length = Math.min(\n MESSAGE_HEADER_LENGTH - this.messageHeaderOffset,\n data.length - this.currentDataOffset,\n );\n this.messageHeaderBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.messageHeaderOffset,\n );\n\n this.currentDataOffset += length;\n this.messageHeaderOffset += length;\n this.currentOffset += length;\n\n if (this.messageHeaderOffset === MESSAGE_HEADER_LENGTH) {\n const currentVersion = this.messageHeaderBuffer[0];\n if (currentVersion !== MESSAGE_VERSION) {\n throw new Error(\"Unexpected message version\");\n }\n\n this.segmentsCount = this.toInt16(\n Uint8Array.prototype.slice.call(this.messageHeaderBuffer, 11, 13),\n );\n this.state = SMRegion.SegmentHeader;\n }\n }\n\n private parseSegmentHeader(data: Uint8Array) {\n const length = Math.min(\n SEGMENT_HEADER_LENGTH - this.segmentHeaderOffset,\n data.length - this.currentDataOffset,\n );\n this.segmentHeaderBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.segmentHeaderOffset,\n );\n\n this.currentDataOffset += length;\n this.segmentHeaderOffset += length;\n this.currentOffset += length;\n\n if (this.segmentHeaderOffset === SEGMENT_HEADER_LENGTH) {\n const currentSegmentNumber = this.toInt16(\n Uint8Array.prototype.slice.call(this.segmentHeaderBuffer, 0, 2),\n );\n if (currentSegmentNumber !== this.segmentNumber + 1) {\n throw new Error(\"Segment number is unexpected.\");\n }\n\n this.segmentContentLength = this.toInt64(this.segmentHeaderBuffer, 2);\n this.segmentContentOffset = 0;\n\n this.state = SMRegion.SegmentContent;\n }\n }\n\n private parseSegmentContent(data: Uint8Array) {\n const length = Math.min(\n this.segmentContentLength - this.segmentContentOffset,\n data.length - this.currentDataOffset,\n );\n const dataToHandle = Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n );\n this.segmentCrc64.append(dataToHandle, length);\n this.messageCrc64.append(dataToHandle, length);\n\n this.pushData(dataToHandle);\n\n this.currentDataOffset += length;\n this.segmentContentOffset += length;\n this.currentOffset += length;\n\n if (this.segmentContentOffset === this.segmentContentLength) {\n this.state = SMRegion.SegmentFooter;\n }\n }\n\n private parseSegmentFooter(data: Uint8Array) {\n const length = Math.min(\n FOOTER_LENGTH - this.segmentFooterOffset,\n data.length - this.currentDataOffset,\n );\n\n this.segmentFooterBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.segmentFooterOffset,\n );\n\n this.currentDataOffset += length;\n this.segmentFooterOffset += length;\n this.currentOffset += length;\n\n if (this.segmentFooterOffset === FOOTER_LENGTH) {\n const crc64Result = this.segmentCrc64.final(new Uint8Array([]), 0);\n if (!this.checkCrc64CheckSum(crc64Result, this.segmentFooterBuffer)) {\n throw new Error(`Segment check sum mismatch, segmentNumber: ${this.segmentNumber}`);\n }\n\n ++this.segmentNumber;\n if (this.segmentNumber === this.segmentsCount) {\n this.state = SMRegion.StreamFooter;\n } else {\n this.segmentHeaderOffset = 0;\n this.segmentFooterOffset = 0;\n this.segmentCrc64 = new StorageCRC64Calculator();\n this.state = SMRegion.SegmentHeader;\n }\n }\n }\n\n private parseMessageFooter(data: Uint8Array) {\n const length = Math.min(\n FOOTER_LENGTH - this.messageFooterOffset,\n data.length - this.currentDataOffset,\n );\n this.messageFooterBuffer.set(\n Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n ),\n this.messageFooterOffset,\n );\n\n this.currentDataOffset += length;\n this.messageFooterOffset += length;\n this.currentOffset += length;\n\n if (this.messageFooterOffset === FOOTER_LENGTH) {\n const crc64Result = this.messageCrc64.final(new Uint8Array([]), 0);\n if (!this.checkCrc64CheckSum(crc64Result, this.messageFooterBuffer)) {\n throw new Error(\"Check sum mismatch\");\n }\n this.pushData(null);\n }\n }\n\n private toInt64(input: Uint8Array, offset: number): number {\n if (input.length < offset + 8) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n const view = new DataView(input.buffer, input.byteOffset + offset, 8);\n return Number(view.getBigUint64(0, true));\n }\n\n private toInt16(input: Uint8Array): number {\n if (input.length !== 2) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n return input[0] + input[1] * 256;\n }\n\n private checkCrc64CheckSum(first: Uint8Array, second: Uint8Array): boolean {\n if (first.length !== 8 || second.length !== 8) {\n throw new Error(\"CRC64 buffer error, something wrong with crc64 calculator\");\n }\n\n for (let index = 0; index < 8; ++index) {\n if (first[index] !== second[index]) {\n return false;\n }\n }\n\n return true;\n }\n}\n"]}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface StructuredMessageDecodingStreamOptions {
|
|
2
|
+
highWaterMark?: number;
|
|
3
|
+
}
|
|
4
|
+
export declare const structuredMessageDecodingStream: (_source: never, _options: StructuredMessageDecodingStreamOptions) => never;
|
|
5
|
+
/**
|
|
6
|
+
* To decode structured body for CRC64 content validtion in storage downloading.
|
|
7
|
+
* @param source -
|
|
8
|
+
* @returns -
|
|
9
|
+
*/
|
|
10
|
+
export declare function structuredMessageDecodingBrowser(source: Blob | ReadableStream<Uint8Array>): Promise<Blob>;
|
|
11
|
+
//# sourceMappingURL=StructuredMessageDecodingStream-browser.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StructuredMessageDecodingStream-browser.d.mts","sourceRoot":"","sources":["../../src/StructuredMessageDecodingStream-browser.mts"],"names":[],"mappings":"AAKA,MAAM,WAAW,sCAAsC;IACrD,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,eAAO,MAAM,+BAA+B,EAAE,CAC5C,OAAO,EAAE,KAAK,EACd,QAAQ,EAAE,sCAAsC,KAC7C,KAAkB,CAAC;AAgBxB;;;;GAIG;AACH,wBAAsB,gCAAgC,CACpD,MAAM,EAAE,IAAI,GAAG,cAAc,CAAC,UAAU,CAAC,GACxC,OAAO,CAAC,IAAI,CAAC,CA0Bf"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { StructuredMessageDecoding } from "./StructuredMessageDecoding.js";
|
|
4
|
-
export const structuredMessageDecodingStream =
|
|
4
|
+
export const structuredMessageDecodingStream = undefined;
|
|
5
5
|
async function pump(reader, messageDecoding) {
|
|
6
6
|
const { done, value } = await reader.read();
|
|
7
7
|
// When no more data needs to be consumed, close the stream
|
|
@@ -17,7 +17,7 @@ async function pump(reader, messageDecoding) {
|
|
|
17
17
|
* @returns -
|
|
18
18
|
*/
|
|
19
19
|
export async function structuredMessageDecodingBrowser(source) {
|
|
20
|
-
const sourceStream =
|
|
20
|
+
const sourceStream = source instanceof Blob ? source.stream() : source;
|
|
21
21
|
const reader = sourceStream.getReader();
|
|
22
22
|
let messageDecoding = undefined;
|
|
23
23
|
const stream = new ReadableStream({
|
|
@@ -39,9 +39,9 @@ export async function structuredMessageDecodingBrowser(source) {
|
|
|
39
39
|
.catch((err) => {
|
|
40
40
|
controller.error(err);
|
|
41
41
|
});
|
|
42
|
-
}
|
|
42
|
+
},
|
|
43
43
|
});
|
|
44
44
|
const response = new Response(stream);
|
|
45
45
|
return response.blob();
|
|
46
46
|
}
|
|
47
|
-
//# sourceMappingURL=StructuredMessageDecodingStream.
|
|
47
|
+
//# sourceMappingURL=StructuredMessageDecodingStream-browser.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StructuredMessageDecodingStream-browser.mjs","sourceRoot":"","sources":["../../src/StructuredMessageDecodingStream-browser.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,yBAAyB,EAAE,MAAM,gCAAgC,CAAC;AAM3E,MAAM,CAAC,MAAM,+BAA+B,GAG/B,SAAU,CAAC;AAExB,KAAK,UAAU,IAAI,CACjB,MAAmC,EACnC,eAA0C;IAE1C,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IAC5C,2DAA2D;IAC3D,IAAI,IAAI,EAAE,CAAC;QACT,OAAO;IACT,CAAC;IAED,qDAAqD;IACrD,eAAe,CAAC,iBAAiB,CAAC,KAAK,CAAC,CAAC;AAC3C,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,gCAAgC,CACpD,MAAyC;IAEzC,MAAM,YAAY,GAAG,MAAM,YAAY,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IACvE,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,EAAE,CAAC;IACxC,IAAI,eAAe,GAA0C,SAAS,CAAC;IACvE,MAAM,MAAM,GAAG,IAAI,cAAc,CAAC;QAChC,KAAK,CAAC,UAAU;YACd,eAAe,GAAG,IAAI,yBAAyB,CAAC,CAAC,IAAI,EAAE,EAAE;gBACvD,IAAI,IAAI,KAAK,IAAI,EAAE,CAAC;oBAClB,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;gBAC3B,CAAC;qBAAM,CAAC;oBACN,UAAU,CAAC,KAAK,EAAE,CAAC;gBACrB,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,IAAI,CAAC,UAAU;YACb,IAAI,CAAC,MAAM,EAAE,eAAgB,CAAC;iBAC3B,IAAI,CAAC,GAAG,EAAE;gBACT,OAAO;YACT,CAAC,CAAC;iBACD,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBACb,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;YACxB,CAAC,CAAC,CAAC;QACP,CAAC;KACF,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,QAAQ,CAAC,IAAI,EAAE,CAAC;AACzB,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { StructuredMessageDecoding } from \"./StructuredMessageDecoding.js\";\n\nexport interface StructuredMessageDecodingStreamOptions {\n highWaterMark?: number;\n}\n\nexport const structuredMessageDecodingStream: (\n _source: never,\n _options: StructuredMessageDecodingStreamOptions,\n) => never = undefined!;\n\nasync function pump(\n reader: ReadableStreamDefaultReader,\n messageDecoding: StructuredMessageDecoding,\n): Promise<void> {\n const { done, value } = await reader.read();\n // When no more data needs to be consumed, close the stream\n if (done) {\n return;\n }\n\n // Enqueue the next data chunk into our target stream\n messageDecoding.sourceDataHandler(value);\n}\n\n/**\n * To decode structured body for CRC64 content validtion in storage downloading.\n * @param source -\n * @returns -\n */\nexport async function structuredMessageDecodingBrowser(\n source: Blob | ReadableStream<Uint8Array>,\n): Promise<Blob> {\n const sourceStream = source instanceof Blob ? source.stream() : source;\n const reader = sourceStream.getReader();\n let messageDecoding: StructuredMessageDecoding | undefined = undefined;\n const stream = new ReadableStream({\n start(controller) {\n messageDecoding = new StructuredMessageDecoding((data) => {\n if (null !== data) {\n controller.enqueue(data);\n } else {\n controller.close();\n }\n });\n },\n pull(controller) {\n pump(reader, messageDecoding!)\n .then(() => {\n return;\n })\n .catch((err) => {\n controller.error(err);\n });\n },\n });\n const response = new Response(stream);\n return response.blob();\n}\n"]}
|
|
@@ -18,7 +18,7 @@ export declare class StructuredMessageEncoding {
|
|
|
18
18
|
private segmentCrc64;
|
|
19
19
|
private messageCrc64;
|
|
20
20
|
private state;
|
|
21
|
-
sourceDataHandler: (data:
|
|
21
|
+
sourceDataHandler: (data: Uint8Array) => void;
|
|
22
22
|
private handlingMessageHeader;
|
|
23
23
|
private handlingSegmentHeader;
|
|
24
24
|
private handlingSegmentContent;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructuredMessageEncoding.d.ts","sourceRoot":"","sources":["../../src/StructuredMessageEncoding.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,EAAE,MAAU,CAAC;AACzC,eAAO,MAAM,qBAAqB,EAAE,MAAW,CAAC;AAChD,eAAO,MAAM,qBAAqB,EAAE,MAAW,CAAC;AAChD,eAAO,MAAM,aAAa,EAAE,MAAU,CAAC;AACvC,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAW1D,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,SAAgB,aAAa,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,aAAa,EAAE,MAAM;IA0BtE,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO,CAAC,KAAK,CAAW;IAEjB,iBAAiB,GAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"StructuredMessageEncoding.d.ts","sourceRoot":"","sources":["../../src/StructuredMessageEncoding.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,eAAe,EAAE,MAAU,CAAC;AACzC,eAAO,MAAM,qBAAqB,EAAE,MAAW,CAAC;AAChD,eAAO,MAAM,qBAAqB,EAAE,MAAW,CAAC;AAChD,eAAO,MAAM,aAAa,EAAE,MAAU,CAAC;AACvC,eAAO,MAAM,0BAA0B,QAAkB,CAAC;AAW1D,qBAAa,yBAAyB;IACpC,OAAO,CAAC,QAAQ,CAAqB;IACrC,OAAO,CAAC,aAAa,CAAS;IAC9B,SAAgB,aAAa,EAAE,MAAM,CAAC;gBAEnB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,GAAG,EAAE,aAAa,EAAE,MAAM;IA0BtE,OAAO,CAAC,iBAAiB,CAAS;IAClC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,mBAAmB,CAAa;IAExC,OAAO,CAAC,aAAa,CAAS;IAE9B,OAAO,CAAC,oBAAoB,CAAS;IACrC,OAAO,CAAC,oBAAoB,CAAS;IAErC,OAAO,CAAC,YAAY,CAAyB;IAC7C,OAAO,CAAC,YAAY,CAAyB;IAE7C,OAAO,CAAC,KAAK,CAAW;IAEjB,iBAAiB,GAAI,MAAM,UAAU,KAAG,IAAI,CAkCjD;IAEF,OAAO,CAAC,qBAAqB;IAa7B,OAAO,CAAC,qBAAqB;IAW7B,OAAO,CAAC,sBAAsB;IAyB9B,OAAO,CAAC,qBAAqB;IAc7B,OAAO,CAAC,qBAAqB;IAO7B,OAAO,CAAC,SAAS;IASjB,OAAO,CAAC,SAAS;CAQlB"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// Copyright (c) Microsoft Corporation.
|
|
2
2
|
// Licensed under the MIT License.
|
|
3
3
|
import { StorageCRC64Calculator } from "./StorageCRC64Calculator.js";
|
|
4
|
-
import {
|
|
4
|
+
import { signalStreamEnd } from "./streamHelpers-browser.mjs";
|
|
5
5
|
export const MESSAGE_VERSION = 1;
|
|
6
6
|
export const MESSAGE_HEADER_LENGTH = 13;
|
|
7
7
|
export const SEGMENT_HEADER_LENGTH = 10;
|
|
@@ -119,42 +119,22 @@ export class StructuredMessageEncoding {
|
|
|
119
119
|
handlingMessageFooter() {
|
|
120
120
|
const crc64Result = this.messageCrc64.final(new Uint8Array([]), 0);
|
|
121
121
|
this.pushData(crc64Result);
|
|
122
|
-
|
|
123
|
-
this.pushData(null);
|
|
124
|
-
}
|
|
122
|
+
signalStreamEnd(this.pushData);
|
|
125
123
|
this.state = SMRegion.Completed;
|
|
126
124
|
}
|
|
127
125
|
fillInt64(buffer, offset, input) {
|
|
128
126
|
if (buffer.length < offset + 8) {
|
|
129
|
-
throw new Error("
|
|
130
|
-
}
|
|
131
|
-
if (isNodeLike) {
|
|
132
|
-
const internalBuffer = Buffer.alloc(8);
|
|
133
|
-
internalBuffer.writeBigUInt64LE(BigInt(input));
|
|
134
|
-
for (let index = 0; index < 6; ++index) {
|
|
135
|
-
buffer[offset + index] = internalBuffer[index];
|
|
136
|
-
}
|
|
137
|
-
}
|
|
138
|
-
else {
|
|
139
|
-
const view = new DataView(buffer.buffer, offset, 8);
|
|
140
|
-
view.setBigUint64(0, BigInt(input), true);
|
|
127
|
+
throw new Error("Uint8Array length is not expected.");
|
|
141
128
|
}
|
|
129
|
+
const view = new DataView(buffer.buffer, buffer.byteOffset + offset, 8);
|
|
130
|
+
view.setBigUint64(0, BigInt(input), true);
|
|
142
131
|
}
|
|
143
132
|
fillInt16(buffer, offset, input) {
|
|
144
133
|
if (buffer.length < offset + 2) {
|
|
145
|
-
throw new Error("
|
|
146
|
-
}
|
|
147
|
-
if (isNodeLike) {
|
|
148
|
-
const internalBuffer = Buffer.alloc(2);
|
|
149
|
-
internalBuffer.writeInt16LE(input);
|
|
150
|
-
for (let index = 0; index < 2; ++index) {
|
|
151
|
-
buffer[offset + index] = internalBuffer[index];
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
else {
|
|
155
|
-
const view = new DataView(buffer.buffer, offset, 2);
|
|
156
|
-
view.setUint16(0, input, true);
|
|
134
|
+
throw new Error("Uint8Array length is not expected.");
|
|
157
135
|
}
|
|
136
|
+
const view = new DataView(buffer.buffer, buffer.byteOffset + offset, 2);
|
|
137
|
+
view.setUint16(0, input, true);
|
|
158
138
|
}
|
|
159
139
|
}
|
|
160
140
|
//# sourceMappingURL=StructuredMessageEncoding.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"StructuredMessageEncoding.js","sourceRoot":"","sources":["../../src/StructuredMessageEncoding.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAE9C,MAAM,CAAC,MAAM,eAAe,GAAW,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAW,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAW,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAW,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D,IAAK,QAOJ;AAPD,WAAK,QAAQ;IACX,uDAAY,CAAA;IACZ,uDAAY,CAAA;IACZ,yDAAa,CAAA;IACb,yDAAa,CAAA;IACb,2DAAc,CAAA;IACd,iDAAS,CAAA;AACX,CAAC,EAPI,QAAQ,KAAR,QAAQ,QAOZ;AAED,MAAM,OAAO,yBAAyB;IAC5B,QAAQ,CAAqB;IAC7B,aAAa,CAAS;IACd,aAAa,CAAS;IAEtC,YAAmB,QAA4B,EAAE,aAAqB;QACpE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC,CAAC;QAEhF,IAAI,CAAC,aAAa;YAChB,IAAI,CAAC,aAAa;gBAClB,qBAAqB;gBACrB,CAAC,qBAAqB,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,aAAa;gBAC5D,aAAa,CAAC;QAEhB,IAAI,CAAC,mBAAmB,GAAG,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAEjE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QAEnC,IAAI,CAAC,YAAY,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACnD,CAAC;IAEO,iBAAiB,CAAS;IAC1B,aAAa,CAAS;IACtB,aAAa,CAAS;IAEtB,mBAAmB,CAAa;IAEhC,aAAa,CAAS;IAEtB,oBAAoB,CAAS;IAC7B,oBAAoB,CAAS;IAE7B,YAAY,CAAyB;IACrC,YAAY,CAAyB;IAErC,KAAK,CAAW;IAEjB,iBAAiB,GAAG,CAAC,IAAY,EAAQ,EAAE;QAChD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAClC,0BAA0B,EAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CACxC,CAAC;YAEF,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC;YAClD,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEM,qBAAqB;QAC3B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;QAE9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB;QAElF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;IACtC,CAAC;IAEO,qBAAqB;QAC3B,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC;IACvC,CAAC;IAEO,sBAAsB,CAAC,IAAY;QACzC,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CACrC,CAAC;QAEF,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CACrD,IAAI,EACJ,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAChC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC;QACpC,IAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC;QAEjC,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5D,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE3B,IAAI,CAAC,YAAY,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAEjD,EAAE,IAAI,CAAC,aAAa,CAAC;QACrB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3B,IAAI,UAAU,EAAE,CAAC;YACf,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QACtB,CAAC;QACD,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IAClC,CAAC;IAEO,SAAS,CAAC,MAAkB,EAAE,MAAc,EAAE,KAAa;QACjE,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvC,cAAc,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;YAE/C,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;QAC5C,CAAC;IACH,CAAC;IAEO,SAAS,CAAC,MAAkB,EAAE,MAAc,EAAE,KAAa;QACjE,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;QACpD,CAAC;QAED,IAAI,UAAU,EAAE,CAAC;YACf,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;YACvC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAEnC,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,KAAK,GAAG,CAAC,EAAE,EAAE,KAAK,EAAE,CAAC;gBACvC,MAAM,CAAC,MAAM,GAAG,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;YACjD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;YACpD,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;QACjC,CAAC;IACH,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { StorageCRC64Calculator } from \"./StorageCRC64Calculator.js\";\nimport { isNodeLike } from \"@azure/core-util\";\n\nexport const MESSAGE_VERSION: number = 1;\nexport const MESSAGE_HEADER_LENGTH: number = 13;\nexport const SEGMENT_HEADER_LENGTH: number = 10;\nexport const FOOTER_LENGTH: number = 8;\nexport const MAX_SEGMENT_CONTENT_LENGTH = 4 * 1024 * 1024;\n\nenum SMRegion {\n StreamHeader,\n StreamFooter,\n SegmentHeader,\n SegmentFooter,\n SegmentContent,\n Completed,\n}\n\nexport class StructuredMessageEncoding {\n private pushData: (data: any) => any;\n private contentLength: number;\n public readonly messageLength: number;\n\n public constructor(pushData: (data: any) => any, contentLength: number) {\n this.pushData = pushData;\n this.contentLength = contentLength;\n this.contentOffset = 0;\n this.currentDataOffset = 0;\n this.segmentsCount = Math.ceil(this.contentLength / MAX_SEGMENT_CONTENT_LENGTH);\n\n this.messageLength =\n this.contentLength +\n MESSAGE_HEADER_LENGTH +\n (SEGMENT_HEADER_LENGTH + FOOTER_LENGTH) * this.segmentsCount +\n FOOTER_LENGTH;\n\n this.messageHeaderBuffer = new Uint8Array(MESSAGE_HEADER_LENGTH);\n\n this.segmentNumber = 0;\n\n this.segmentContentLength = 0;\n this.segmentContentOffset = 0;\n\n this.state = SMRegion.StreamHeader;\n\n this.segmentCrc64 = new StorageCRC64Calculator();\n this.messageCrc64 = new StorageCRC64Calculator();\n }\n\n private currentDataOffset: number;\n private contentOffset: number;\n private segmentsCount: number;\n\n private messageHeaderBuffer: Uint8Array;\n\n private segmentNumber: number;\n\n private segmentContentLength: number;\n private segmentContentOffset: number;\n\n private segmentCrc64: StorageCRC64Calculator;\n private messageCrc64: StorageCRC64Calculator;\n\n private state: SMRegion;\n\n public sourceDataHandler = (data: Buffer): void => {\n this.currentDataOffset = 0;\n\n if (this.state === SMRegion.StreamHeader) {\n this.handlingMessageHeader();\n }\n\n while (this.segmentNumber < this.segmentsCount) {\n this.segmentContentLength = Math.min(\n MAX_SEGMENT_CONTENT_LENGTH,\n this.contentLength - this.contentOffset,\n );\n\n if (this.state === SMRegion.SegmentHeader) {\n this.handlingSegmentHeader();\n }\n\n if (this.state === SMRegion.SegmentContent) {\n this.handlingSegmentContent(data);\n }\n\n if (this.state === SMRegion.SegmentFooter) {\n this.handlingSegmentFooter();\n this.contentOffset += this.segmentContentLength;\n }\n\n if (this.currentDataOffset === data.length) {\n break;\n }\n }\n\n if (this.state === SMRegion.StreamFooter) {\n this.handlingMessageFooter();\n }\n };\n\n private handlingMessageHeader() {\n this.messageHeaderBuffer[0] = MESSAGE_VERSION;\n\n this.fillInt64(this.messageHeaderBuffer, 1, this.messageLength); // content length\n\n this.fillInt16(this.messageHeaderBuffer, 9, 1);\n\n this.fillInt16(this.messageHeaderBuffer, 11, this.segmentsCount);\n\n this.pushData(this.messageHeaderBuffer);\n this.state = SMRegion.SegmentHeader;\n }\n\n private handlingSegmentHeader() {\n const segmentHeaderBuffer = new Uint8Array(SEGMENT_HEADER_LENGTH);\n this.fillInt16(segmentHeaderBuffer, 0, this.segmentNumber + 1);\n\n this.fillInt64(segmentHeaderBuffer, 2, this.segmentContentLength);\n this.segmentContentOffset = 0;\n\n this.pushData(segmentHeaderBuffer);\n this.state = SMRegion.SegmentContent;\n }\n\n private handlingSegmentContent(data: Buffer) {\n const length = Math.min(\n this.segmentContentLength - this.segmentContentOffset,\n data.length - this.currentDataOffset,\n );\n\n if (length !== 0) {\n const current_content = Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n );\n this.messageCrc64.append(current_content, length);\n this.segmentCrc64.append(current_content, length);\n this.pushData(current_content);\n }\n\n this.segmentContentOffset += length;\n this.currentDataOffset += length;\n\n if (this.segmentContentOffset === this.segmentContentLength) {\n this.state = SMRegion.SegmentFooter;\n }\n }\n\n private handlingSegmentFooter() {\n const crc64Result = this.segmentCrc64.final(new Uint8Array([]), 0);\n this.pushData(crc64Result);\n\n this.segmentCrc64 = new StorageCRC64Calculator();\n\n ++this.segmentNumber;\n if (this.segmentNumber === this.segmentsCount) {\n this.state = SMRegion.StreamFooter;\n } else {\n this.state = SMRegion.SegmentHeader;\n }\n }\n\n private handlingMessageFooter() {\n const crc64Result = this.messageCrc64.final(new Uint8Array([]), 0);\n this.pushData(crc64Result);\n if (isNodeLike) {\n this.pushData(null);\n }\n this.state = SMRegion.Completed;\n }\n\n private fillInt64(buffer: Uint8Array, offset: number, input: number) {\n if (buffer.length < offset + 8) {\n throw new Error(\"Buffer length is not expected.\");\n }\n\n if (isNodeLike) {\n const internalBuffer = Buffer.alloc(8);\n internalBuffer.writeBigUInt64LE(BigInt(input));\n\n for (let index = 0; index < 6; ++index) {\n buffer[offset + index] = internalBuffer[index];\n }\n } else {\n const view = new DataView(buffer.buffer, offset, 8);\n view.setBigUint64(0, BigInt(input), true);\n }\n }\n\n private fillInt16(buffer: Uint8Array, offset: number, input: number) {\n if (buffer.length < offset + 2) {\n throw new Error(\"Buffer length is not expected.\");\n }\n\n if (isNodeLike) {\n const internalBuffer = Buffer.alloc(2);\n internalBuffer.writeInt16LE(input);\n\n for (let index = 0; index < 2; ++index) {\n buffer[offset + index] = internalBuffer[index];\n }\n } else {\n const view = new DataView(buffer.buffer, offset, 2);\n view.setUint16(0, input, true);\n }\n }\n}\n"]}
|
|
1
|
+
{"version":3,"file":"StructuredMessageEncoding.js","sourceRoot":"","sources":["../../src/StructuredMessageEncoding.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AACrE,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAE1D,MAAM,CAAC,MAAM,eAAe,GAAW,CAAC,CAAC;AACzC,MAAM,CAAC,MAAM,qBAAqB,GAAW,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,qBAAqB,GAAW,EAAE,CAAC;AAChD,MAAM,CAAC,MAAM,aAAa,GAAW,CAAC,CAAC;AACvC,MAAM,CAAC,MAAM,0BAA0B,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,CAAC;AAE1D,IAAK,QAOJ;AAPD,WAAK,QAAQ;IACX,uDAAY,CAAA;IACZ,uDAAY,CAAA;IACZ,yDAAa,CAAA;IACb,yDAAa,CAAA;IACb,2DAAc,CAAA;IACd,iDAAS,CAAA;AACX,CAAC,EAPI,QAAQ,KAAR,QAAQ,QAOZ;AAED,MAAM,OAAO,yBAAyB;IAC5B,QAAQ,CAAqB;IAC7B,aAAa,CAAS;IACd,aAAa,CAAS;IAEtC,YAAmB,QAA4B,EAAE,aAAqB;QACpE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QACvB,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAC3B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,aAAa,GAAG,0BAA0B,CAAC,CAAC;QAEhF,IAAI,CAAC,aAAa;YAChB,IAAI,CAAC,aAAa;gBAClB,qBAAqB;gBACrB,CAAC,qBAAqB,GAAG,aAAa,CAAC,GAAG,IAAI,CAAC,aAAa;gBAC5D,aAAa,CAAC;QAEhB,IAAI,CAAC,mBAAmB,GAAG,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAEjE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC;QAEvB,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAC9B,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QAEnC,IAAI,CAAC,YAAY,GAAG,IAAI,sBAAsB,EAAE,CAAC;QACjD,IAAI,CAAC,YAAY,GAAG,IAAI,sBAAsB,EAAE,CAAC;IACnD,CAAC;IAEO,iBAAiB,CAAS;IAC1B,aAAa,CAAS;IACtB,aAAa,CAAS;IAEtB,mBAAmB,CAAa;IAEhC,aAAa,CAAS;IAEtB,oBAAoB,CAAS;IAC7B,oBAAoB,CAAS;IAE7B,YAAY,CAAyB;IACrC,YAAY,CAAyB;IAErC,KAAK,CAAW;IAEjB,iBAAiB,GAAG,CAAC,IAAgB,EAAQ,EAAE;QACpD,IAAI,CAAC,iBAAiB,GAAG,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC;YAC/C,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAClC,0BAA0B,EAC1B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,aAAa,CACxC,CAAC;YAEF,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;YAC/B,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,cAAc,EAAE,CAAC;gBAC3C,IAAI,CAAC,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACpC,CAAC;YAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,aAAa,EAAE,CAAC;gBAC1C,IAAI,CAAC,qBAAqB,EAAE,CAAC;gBAC7B,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,oBAAoB,CAAC;YAClD,CAAC;YAED,IAAI,IAAI,CAAC,iBAAiB,KAAK,IAAI,CAAC,MAAM,EAAE,CAAC;gBAC3C,MAAM;YACR,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,YAAY,EAAE,CAAC;YACzC,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC/B,CAAC;IACH,CAAC,CAAC;IAEM,qBAAqB;QAC3B,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC,GAAG,eAAe,CAAC;QAE9C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,iBAAiB;QAElF,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QAE/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,mBAAmB,EAAE,EAAE,EAAE,IAAI,CAAC,aAAa,CAAC,CAAC;QAEjE,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC;QACxC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;IACtC,CAAC;IAEO,qBAAqB;QAC3B,MAAM,mBAAmB,GAAG,IAAI,UAAU,CAAC,qBAAqB,CAAC,CAAC;QAClE,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,EAAE,IAAI,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;QAE/D,IAAI,CAAC,SAAS,CAAC,mBAAmB,EAAE,CAAC,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;QAClE,IAAI,CAAC,oBAAoB,GAAG,CAAC,CAAC;QAE9B,IAAI,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC;QACnC,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,cAAc,CAAC;IACvC,CAAC;IAEO,sBAAsB,CAAC,IAAgB;QAC7C,MAAM,MAAM,GAAG,IAAI,CAAC,GAAG,CACrB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC,oBAAoB,EACrD,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,iBAAiB,CACrC,CAAC;QAEF,IAAI,MAAM,KAAK,CAAC,EAAE,CAAC;YACjB,MAAM,eAAe,GAAG,UAAU,CAAC,SAAS,CAAC,KAAK,CAAC,IAAI,CACrD,IAAI,EACJ,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,iBAAiB,GAAG,MAAM,CAChC,CAAC;YACF,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC;YAClD,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACjC,CAAC;QAED,IAAI,CAAC,oBAAoB,IAAI,MAAM,CAAC;QACpC,IAAI,CAAC,iBAAiB,IAAI,MAAM,CAAC;QAEjC,IAAI,IAAI,CAAC,oBAAoB,KAAK,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC5D,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAE3B,IAAI,CAAC,YAAY,GAAG,IAAI,sBAAsB,EAAE,CAAC;QAEjD,EAAE,IAAI,CAAC,aAAa,CAAC;QACrB,IAAI,IAAI,CAAC,aAAa,KAAK,IAAI,CAAC,aAAa,EAAE,CAAC;YAC9C,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QACrC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,CAAC;QACtC,CAAC;IACH,CAAC;IAEO,qBAAqB;QAC3B,MAAM,WAAW,GAAG,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;QACnE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC3B,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC/B,IAAI,CAAC,KAAK,GAAG,QAAQ,CAAC,SAAS,CAAC;IAClC,CAAC;IAEO,SAAS,CAAC,MAAkB,EAAE,MAAc,EAAE,KAAa;QACjE,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,YAAY,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,CAAC,EAAE,IAAI,CAAC,CAAC;IAC5C,CAAC;IAEO,SAAS,CAAC,MAAkB,EAAE,MAAc,EAAE,KAAa;QACjE,IAAI,MAAM,CAAC,MAAM,GAAG,MAAM,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,IAAI,KAAK,CAAC,oCAAoC,CAAC,CAAC;QACxD,CAAC;QAED,MAAM,IAAI,GAAG,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,EAAE,CAAC,CAAC,CAAC;QACxE,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,CAAC;IACjC,CAAC;CACF","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport { StorageCRC64Calculator } from \"./StorageCRC64Calculator.js\";\nimport { signalStreamEnd } from \"#platform/streamHelpers\";\n\nexport const MESSAGE_VERSION: number = 1;\nexport const MESSAGE_HEADER_LENGTH: number = 13;\nexport const SEGMENT_HEADER_LENGTH: number = 10;\nexport const FOOTER_LENGTH: number = 8;\nexport const MAX_SEGMENT_CONTENT_LENGTH = 4 * 1024 * 1024;\n\nenum SMRegion {\n StreamHeader,\n StreamFooter,\n SegmentHeader,\n SegmentFooter,\n SegmentContent,\n Completed,\n}\n\nexport class StructuredMessageEncoding {\n private pushData: (data: any) => any;\n private contentLength: number;\n public readonly messageLength: number;\n\n public constructor(pushData: (data: any) => any, contentLength: number) {\n this.pushData = pushData;\n this.contentLength = contentLength;\n this.contentOffset = 0;\n this.currentDataOffset = 0;\n this.segmentsCount = Math.ceil(this.contentLength / MAX_SEGMENT_CONTENT_LENGTH);\n\n this.messageLength =\n this.contentLength +\n MESSAGE_HEADER_LENGTH +\n (SEGMENT_HEADER_LENGTH + FOOTER_LENGTH) * this.segmentsCount +\n FOOTER_LENGTH;\n\n this.messageHeaderBuffer = new Uint8Array(MESSAGE_HEADER_LENGTH);\n\n this.segmentNumber = 0;\n\n this.segmentContentLength = 0;\n this.segmentContentOffset = 0;\n\n this.state = SMRegion.StreamHeader;\n\n this.segmentCrc64 = new StorageCRC64Calculator();\n this.messageCrc64 = new StorageCRC64Calculator();\n }\n\n private currentDataOffset: number;\n private contentOffset: number;\n private segmentsCount: number;\n\n private messageHeaderBuffer: Uint8Array;\n\n private segmentNumber: number;\n\n private segmentContentLength: number;\n private segmentContentOffset: number;\n\n private segmentCrc64: StorageCRC64Calculator;\n private messageCrc64: StorageCRC64Calculator;\n\n private state: SMRegion;\n\n public sourceDataHandler = (data: Uint8Array): void => {\n this.currentDataOffset = 0;\n\n if (this.state === SMRegion.StreamHeader) {\n this.handlingMessageHeader();\n }\n\n while (this.segmentNumber < this.segmentsCount) {\n this.segmentContentLength = Math.min(\n MAX_SEGMENT_CONTENT_LENGTH,\n this.contentLength - this.contentOffset,\n );\n\n if (this.state === SMRegion.SegmentHeader) {\n this.handlingSegmentHeader();\n }\n\n if (this.state === SMRegion.SegmentContent) {\n this.handlingSegmentContent(data);\n }\n\n if (this.state === SMRegion.SegmentFooter) {\n this.handlingSegmentFooter();\n this.contentOffset += this.segmentContentLength;\n }\n\n if (this.currentDataOffset === data.length) {\n break;\n }\n }\n\n if (this.state === SMRegion.StreamFooter) {\n this.handlingMessageFooter();\n }\n };\n\n private handlingMessageHeader() {\n this.messageHeaderBuffer[0] = MESSAGE_VERSION;\n\n this.fillInt64(this.messageHeaderBuffer, 1, this.messageLength); // content length\n\n this.fillInt16(this.messageHeaderBuffer, 9, 1);\n\n this.fillInt16(this.messageHeaderBuffer, 11, this.segmentsCount);\n\n this.pushData(this.messageHeaderBuffer);\n this.state = SMRegion.SegmentHeader;\n }\n\n private handlingSegmentHeader() {\n const segmentHeaderBuffer = new Uint8Array(SEGMENT_HEADER_LENGTH);\n this.fillInt16(segmentHeaderBuffer, 0, this.segmentNumber + 1);\n\n this.fillInt64(segmentHeaderBuffer, 2, this.segmentContentLength);\n this.segmentContentOffset = 0;\n\n this.pushData(segmentHeaderBuffer);\n this.state = SMRegion.SegmentContent;\n }\n\n private handlingSegmentContent(data: Uint8Array) {\n const length = Math.min(\n this.segmentContentLength - this.segmentContentOffset,\n data.length - this.currentDataOffset,\n );\n\n if (length !== 0) {\n const current_content = Uint8Array.prototype.slice.call(\n data,\n this.currentDataOffset,\n this.currentDataOffset + length,\n );\n this.messageCrc64.append(current_content, length);\n this.segmentCrc64.append(current_content, length);\n this.pushData(current_content);\n }\n\n this.segmentContentOffset += length;\n this.currentDataOffset += length;\n\n if (this.segmentContentOffset === this.segmentContentLength) {\n this.state = SMRegion.SegmentFooter;\n }\n }\n\n private handlingSegmentFooter() {\n const crc64Result = this.segmentCrc64.final(new Uint8Array([]), 0);\n this.pushData(crc64Result);\n\n this.segmentCrc64 = new StorageCRC64Calculator();\n\n ++this.segmentNumber;\n if (this.segmentNumber === this.segmentsCount) {\n this.state = SMRegion.StreamFooter;\n } else {\n this.state = SMRegion.SegmentHeader;\n }\n }\n\n private handlingMessageFooter() {\n const crc64Result = this.messageCrc64.final(new Uint8Array([]), 0);\n this.pushData(crc64Result);\n signalStreamEnd(this.pushData);\n this.state = SMRegion.Completed;\n }\n\n private fillInt64(buffer: Uint8Array, offset: number, input: number) {\n if (buffer.length < offset + 8) {\n throw new Error(\"Uint8Array length is not expected.\");\n }\n\n const view = new DataView(buffer.buffer, buffer.byteOffset + offset, 8);\n view.setBigUint64(0, BigInt(input), true);\n }\n\n private fillInt16(buffer: Uint8Array, offset: number, input: number) {\n if (buffer.length < offset + 2) {\n throw new Error(\"Uint8Array length is not expected.\");\n }\n\n const view = new DataView(buffer.buffer, buffer.byteOffset + offset, 2);\n view.setUint16(0, input, true);\n }\n}\n"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { RequestBodyType as HttpRequestBody } from "@azure/core-rest-pipeline";
|
|
1
|
+
import type { RequestBodyType as HttpRequestBody } from "@azure/core-rest-pipeline";
|
|
2
2
|
export declare function structuredMessageEncoding(source: HttpRequestBody, contentLength: number): Promise<{
|
|
3
3
|
body: HttpRequestBody;
|
|
4
4
|
encodedContentLength: number;
|
|
5
5
|
}>;
|
|
6
|
-
//# sourceMappingURL=StructuredMessageEncodingStream.d.
|
|
6
|
+
//# sourceMappingURL=StructuredMessageEncodingStream-browser.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StructuredMessageEncodingStream-browser.d.mts","sourceRoot":"","sources":["../../src/StructuredMessageEncodingStream-browser.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,eAAe,IAAI,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA4DpF,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,eAAe,EACvB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC;IAAE,IAAI,EAAE,eAAe,CAAC;IAAC,oBAAoB,EAAE,MAAM,CAAA;CAAE,CAAC,CAyClE"}
|
|
@@ -17,24 +17,27 @@ async function pump(reader, controller, encodingStream) {
|
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
19
|
async function BrowserStream(source, contentLength) {
|
|
20
|
-
const sourceStream =
|
|
20
|
+
const sourceStream = source instanceof Blob ? source.stream() : source;
|
|
21
21
|
const reader = sourceStream.getReader();
|
|
22
22
|
let encodingStream = undefined;
|
|
23
23
|
const stream = new ReadableStream({
|
|
24
24
|
start(controller) {
|
|
25
|
-
encodingStream = {
|
|
25
|
+
encodingStream = {
|
|
26
|
+
stream: new StructuredMessageEncoding((data) => {
|
|
26
27
|
controller.enqueue(data);
|
|
27
28
|
}, contentLength),
|
|
28
|
-
closed: false
|
|
29
|
+
closed: false,
|
|
30
|
+
};
|
|
29
31
|
},
|
|
30
32
|
pull(controller) {
|
|
31
|
-
pump(reader, controller, encodingStream)
|
|
33
|
+
pump(reader, controller, encodingStream)
|
|
34
|
+
.then(() => {
|
|
32
35
|
return;
|
|
33
36
|
})
|
|
34
37
|
.catch((err) => {
|
|
35
38
|
controller.error(err);
|
|
36
39
|
});
|
|
37
|
-
}
|
|
40
|
+
},
|
|
38
41
|
});
|
|
39
42
|
const response = new Response(stream);
|
|
40
43
|
return {
|
|
@@ -53,15 +56,14 @@ export async function structuredMessageEncoding(source, contentLength) {
|
|
|
53
56
|
const encoding = await BrowserStream(source, contentLength);
|
|
54
57
|
return {
|
|
55
58
|
body: encoding.content,
|
|
56
|
-
encodedContentLength: encoding.encodedContentLength
|
|
59
|
+
encodedContentLength: encoding.encodedContentLength,
|
|
57
60
|
};
|
|
58
61
|
}
|
|
59
|
-
if (
|
|
60
|
-
|| (source instanceof ArrayBuffer)) {
|
|
62
|
+
if (typeof source === "string" || source instanceof ArrayBuffer) {
|
|
61
63
|
const encoding = await BrowserStream(new Blob([source]), contentLength);
|
|
62
64
|
return {
|
|
63
65
|
body: encoding.content,
|
|
64
|
-
encodedContentLength: encoding.encodedContentLength
|
|
66
|
+
encodedContentLength: encoding.encodedContentLength,
|
|
65
67
|
};
|
|
66
68
|
}
|
|
67
69
|
if (ArrayBuffer.isView(source)) {
|
|
@@ -70,10 +72,10 @@ export async function structuredMessageEncoding(source, contentLength) {
|
|
|
70
72
|
encoding = await BrowserStream(new Blob([source.buffer.slice(source.byteOffset, source.byteOffset + source.byteLength)]), contentLength);
|
|
71
73
|
return {
|
|
72
74
|
body: encoding.content,
|
|
73
|
-
encodedContentLength: encoding.encodedContentLength
|
|
75
|
+
encodedContentLength: encoding.encodedContentLength,
|
|
74
76
|
};
|
|
75
77
|
}
|
|
76
78
|
}
|
|
77
79
|
throw new Error("The specified request body type is not supported for CRC64 checksum");
|
|
78
80
|
}
|
|
79
|
-
//# sourceMappingURL=StructuredMessageEncodingStream.
|
|
81
|
+
//# sourceMappingURL=StructuredMessageEncodingStream-browser.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StructuredMessageEncodingStream-browser.mjs","sourceRoot":"","sources":["../../src/StructuredMessageEncodingStream-browser.mts"],"names":[],"mappings":"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","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { RequestBodyType as HttpRequestBody } from \"@azure/core-rest-pipeline\";\nimport { StructuredMessageEncoding } from \"./StructuredMessageEncoding.js\";\n\nasync function pump(\n reader: ReadableStreamDefaultReader,\n controller: ReadableStreamDefaultController,\n encodingStream: { stream: StructuredMessageEncoding; closed: boolean },\n): Promise<void> {\n const { done, value } = await reader.read();\n\n if (value) {\n // Enqueue the next data chunk into our target stream\n encodingStream.stream.sourceDataHandler(value);\n }\n // When no more data needs to be consumed, close the stream\n if (done) {\n if (!encodingStream.closed) {\n encodingStream.closed = true;\n controller.close();\n }\n return;\n }\n}\n\nasync function BrowserStream(\n source: Blob | ReadableStream<Uint8Array>,\n contentLength: number,\n): Promise<{ content: Blob; encodedContentLength: number }> {\n const sourceStream = source instanceof Blob ? source.stream() : source;\n const reader = sourceStream.getReader();\n\n let encodingStream: { stream: StructuredMessageEncoding; closed: boolean } | undefined =\n undefined;\n const stream = new ReadableStream({\n start(controller) {\n encodingStream = {\n stream: new StructuredMessageEncoding((data) => {\n controller.enqueue(data);\n }, contentLength),\n closed: false,\n };\n },\n pull(controller) {\n pump(reader, controller, encodingStream!)\n .then(() => {\n return;\n })\n .catch((err) => {\n controller.error(err);\n });\n },\n });\n\n const response = new Response(stream);\n return {\n content: await response.blob(),\n encodedContentLength: encodingStream!.stream.messageLength,\n };\n}\n\nexport async function structuredMessageEncoding(\n source: HttpRequestBody,\n contentLength: number,\n): Promise<{ body: HttpRequestBody; encodedContentLength: number }> {\n if (source === null) {\n return {\n body: source,\n encodedContentLength: contentLength,\n };\n }\n\n if (source instanceof Blob) {\n const encoding = await BrowserStream(source, contentLength);\n return {\n body: encoding.content,\n encodedContentLength: encoding.encodedContentLength,\n };\n }\n\n if (typeof source === \"string\" || source instanceof ArrayBuffer) {\n const encoding = await BrowserStream(new Blob([source]), contentLength);\n\n return {\n body: encoding.content,\n encodedContentLength: encoding.encodedContentLength,\n };\n }\n\n if (ArrayBuffer.isView(source)) {\n let encoding = undefined;\n if (source.buffer instanceof ArrayBuffer) {\n encoding = await BrowserStream(\n new Blob([source.buffer.slice(source.byteOffset, source.byteOffset + source.byteLength)]),\n contentLength,\n );\n\n return {\n body: encoding.content,\n encodedContentLength: encoding.encodedContentLength,\n };\n }\n }\n\n throw new Error(\"The specified request body type is not supported for CRC64 checksum\");\n}\n"]}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { NodeBuffer } from "@azure/core-rest-pipeline";
|
|
2
|
+
/**
|
|
3
|
+
* In the browser, Buffer is not available. This always returns false.
|
|
4
|
+
*/
|
|
5
|
+
export declare function isBuffer(_value: unknown): _value is NodeBuffer;
|
|
6
|
+
/**
|
|
7
|
+
* In the browser, Buffer is not available. This always throws.
|
|
8
|
+
*/
|
|
9
|
+
export declare function allocBuffer(_size: number): NodeBuffer;
|
|
10
|
+
/**
|
|
11
|
+
* In the browser, Buffer is not available. This always throws.
|
|
12
|
+
*/
|
|
13
|
+
export declare function bufferFromArrayBuffer(_ab: ArrayBuffer, _byteOffset?: number, _length?: number): NodeBuffer;
|
|
14
|
+
/**
|
|
15
|
+
* In the browser, Buffer is not available. This always throws.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getBufferLength(_buffer: NodeBuffer): number;
|
|
18
|
+
//# sourceMappingURL=bufferHelpers-browser.d.mts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bufferHelpers-browser.d.mts","sourceRoot":"","sources":["../../src/bufferHelpers-browser.mts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,UAAU,CAE9D;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,UAAU,CAErD;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,GAAG,EAAE,WAAW,EAChB,WAAW,CAAC,EAAE,MAAM,EACpB,OAAO,CAAC,EAAE,MAAM,GACf,UAAU,CAEZ;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAE3D"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* In the browser, Buffer is not available. This always returns false.
|
|
5
|
+
*/
|
|
6
|
+
export function isBuffer(_value) {
|
|
7
|
+
return false;
|
|
8
|
+
}
|
|
9
|
+
/**
|
|
10
|
+
* In the browser, Buffer is not available. This always throws.
|
|
11
|
+
*/
|
|
12
|
+
export function allocBuffer(_size) {
|
|
13
|
+
throw new Error("Buffer is not available in this environment.");
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* In the browser, Buffer is not available. This always throws.
|
|
17
|
+
*/
|
|
18
|
+
export function bufferFromArrayBuffer(_ab, _byteOffset, _length) {
|
|
19
|
+
throw new Error("Buffer is not available in this environment.");
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* In the browser, Buffer is not available. This always throws.
|
|
23
|
+
*/
|
|
24
|
+
export function getBufferLength(_buffer) {
|
|
25
|
+
throw new Error("Buffer is not available in this environment.");
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=bufferHelpers-browser.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bufferHelpers-browser.mjs","sourceRoot":"","sources":["../../src/bufferHelpers-browser.mts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAIlC;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,MAAe;IACtC,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,KAAa;IACvC,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CACnC,GAAgB,EAChB,WAAoB,EACpB,OAAgB;IAEhB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,OAAmB;IACjD,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;AAClE,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\nimport type { NodeBuffer } from \"@azure/core-rest-pipeline\";\n\n/**\n * In the browser, Buffer is not available. This always returns false.\n */\nexport function isBuffer(_value: unknown): _value is NodeBuffer {\n return false;\n}\n\n/**\n * In the browser, Buffer is not available. This always throws.\n */\nexport function allocBuffer(_size: number): NodeBuffer {\n throw new Error(\"Buffer is not available in this environment.\");\n}\n\n/**\n * In the browser, Buffer is not available. This always throws.\n */\nexport function bufferFromArrayBuffer(\n _ab: ArrayBuffer,\n _byteOffset?: number,\n _length?: number,\n): NodeBuffer {\n throw new Error(\"Buffer is not available in this environment.\");\n}\n\n/**\n * In the browser, Buffer is not available. This always throws.\n */\nexport function getBufferLength(_buffer: NodeBuffer): number {\n throw new Error(\"Buffer is not available in this environment.\");\n}\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Creates a Blob from the given data.
|
|
3
|
+
* Uses an indirect constructor reference to work around React Native's restrictive
|
|
4
|
+
* Blob type definitions (which only accept string | Blob, not ArrayBuffer).
|
|
5
|
+
*/
|
|
6
|
+
export declare function createBlobFromData(data: Blob | ArrayBuffer | ArrayBufferView): Blob;
|
|
7
|
+
//# sourceMappingURL=bufferHelpers.common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bufferHelpers.common.d.ts","sourceRoot":"","sources":["../../src/bufferHelpers.common.ts"],"names":[],"mappings":"AAGA;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,IAAI,GAAG,WAAW,GAAG,eAAe,GAAG,IAAI,CAYnF"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
// Copyright (c) Microsoft Corporation.
|
|
2
|
+
// Licensed under the MIT License.
|
|
3
|
+
/**
|
|
4
|
+
* Creates a Blob from the given data.
|
|
5
|
+
* Uses an indirect constructor reference to work around React Native's restrictive
|
|
6
|
+
* Blob type definitions (which only accept string | Blob, not ArrayBuffer).
|
|
7
|
+
*/
|
|
8
|
+
export function createBlobFromData(data) {
|
|
9
|
+
if (data instanceof Blob) {
|
|
10
|
+
return data;
|
|
11
|
+
}
|
|
12
|
+
// Use indirect constructor to bypass restrictive type definitions in some environments
|
|
13
|
+
const BlobCtor = Blob;
|
|
14
|
+
if (data instanceof ArrayBuffer) {
|
|
15
|
+
return new BlobCtor([data]);
|
|
16
|
+
}
|
|
17
|
+
else {
|
|
18
|
+
const ab = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);
|
|
19
|
+
return new BlobCtor([ab]);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=bufferHelpers.common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bufferHelpers.common.js","sourceRoot":"","sources":["../../src/bufferHelpers.common.ts"],"names":[],"mappings":"AAAA,uCAAuC;AACvC,kCAAkC;AAElC;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,IAA0C;IAC3E,IAAI,IAAI,YAAY,IAAI,EAAE,CAAC;QACzB,OAAO,IAAI,CAAC;IACd,CAAC;IACD,uFAAuF;IACvF,MAAM,QAAQ,GAAG,IAAwC,CAAC;IAC1D,IAAI,IAAI,YAAY,WAAW,EAAE,CAAC;QAChC,OAAO,IAAI,QAAQ,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IAC9B,CAAC;SAAM,CAAC;QACN,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC;QACjF,OAAO,IAAI,QAAQ,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IAC5B,CAAC;AACH,CAAC","sourcesContent":["// Copyright (c) Microsoft Corporation.\n// Licensed under the MIT License.\n\n/**\n * Creates a Blob from the given data.\n * Uses an indirect constructor reference to work around React Native's restrictive\n * Blob type definitions (which only accept string | Blob, not ArrayBuffer).\n */\nexport function createBlobFromData(data: Blob | ArrayBuffer | ArrayBufferView): Blob {\n if (data instanceof Blob) {\n return data;\n }\n // Use indirect constructor to bypass restrictive type definitions in some environments\n const BlobCtor = Blob as { new (parts: unknown[]): Blob };\n if (data instanceof ArrayBuffer) {\n return new BlobCtor([data]);\n } else {\n const ab = data.buffer.slice(data.byteOffset, data.byteOffset + data.byteLength);\n return new BlobCtor([ab]);\n }\n}\n"]}
|