@aws-sdk/checksums 3.1000.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.
Files changed (87) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +6 -0
  3. package/dist-cjs/flexible-checksums/getCrc32ChecksumAlgorithmFunction.browser.js +6 -0
  4. package/dist-cjs/flexible-checksums/getCrc32ChecksumAlgorithmFunction.js +26 -0
  5. package/dist-cjs/index.js +547 -0
  6. package/dist-es/crc64-nvme/Crc64Nvme.js +92 -0
  7. package/dist-es/crc64-nvme/crc64-nvme-crt-container.js +3 -0
  8. package/dist-es/flexible-checksums/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.js +9 -0
  9. package/dist-es/flexible-checksums/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.js +9 -0
  10. package/dist-es/flexible-checksums/configuration.js +1 -0
  11. package/dist-es/flexible-checksums/constants.js +25 -0
  12. package/dist-es/flexible-checksums/flexibleChecksumsInputMiddleware.js +37 -0
  13. package/dist-es/flexible-checksums/flexibleChecksumsMiddleware.js +123 -0
  14. package/dist-es/flexible-checksums/flexibleChecksumsResponseMiddleware.js +48 -0
  15. package/dist-es/flexible-checksums/getChecksum.js +2 -0
  16. package/dist-es/flexible-checksums/getChecksumAlgorithmForRequest.js +13 -0
  17. package/dist-es/flexible-checksums/getChecksumAlgorithmListForResponse.js +15 -0
  18. package/dist-es/flexible-checksums/getChecksumLocationName.js +2 -0
  19. package/dist-es/flexible-checksums/getCrc32ChecksumAlgorithmFunction.browser.js +2 -0
  20. package/dist-es/flexible-checksums/getCrc32ChecksumAlgorithmFunction.js +21 -0
  21. package/dist-es/flexible-checksums/getFlexibleChecksumsPlugin.js +10 -0
  22. package/dist-es/flexible-checksums/hasHeader.js +9 -0
  23. package/dist-es/flexible-checksums/hasHeaderWithPrefix.js +9 -0
  24. package/dist-es/flexible-checksums/isChecksumWithPartNumber.js +13 -0
  25. package/dist-es/flexible-checksums/isStreaming.js +2 -0
  26. package/dist-es/flexible-checksums/resolveFlexibleChecksumsConfig.js +11 -0
  27. package/dist-es/flexible-checksums/selectChecksumAlgorithmFunction.js +33 -0
  28. package/dist-es/flexible-checksums/stringHasher.js +6 -0
  29. package/dist-es/flexible-checksums/stringUnionSelector.js +14 -0
  30. package/dist-es/flexible-checksums/types.js +15 -0
  31. package/dist-es/flexible-checksums/validateChecksumFromResponse.js +45 -0
  32. package/dist-es/index.js +8 -0
  33. package/dist-types/crc64-nvme/Crc64Nvme.d.ts +24 -0
  34. package/dist-types/crc64-nvme/crc64-nvme-crt-container.d.ts +13 -0
  35. package/dist-types/flexible-checksums/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.d.ts +14 -0
  36. package/dist-types/flexible-checksums/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.d.ts +14 -0
  37. package/dist-types/flexible-checksums/configuration.d.ts +58 -0
  38. package/dist-types/flexible-checksums/constants.d.ts +83 -0
  39. package/dist-types/flexible-checksums/flexibleChecksumsInputMiddleware.d.ts +22 -0
  40. package/dist-types/flexible-checksums/flexibleChecksumsMiddleware.d.ts +33 -0
  41. package/dist-types/flexible-checksums/flexibleChecksumsResponseMiddleware.d.ts +27 -0
  42. package/dist-types/flexible-checksums/getChecksum.d.ts +6 -0
  43. package/dist-types/flexible-checksums/getChecksumAlgorithmForRequest.d.ts +22 -0
  44. package/dist-types/flexible-checksums/getChecksumAlgorithmListForResponse.d.ts +6 -0
  45. package/dist-types/flexible-checksums/getChecksumLocationName.d.ts +5 -0
  46. package/dist-types/flexible-checksums/getCrc32ChecksumAlgorithmFunction.browser.d.ts +2 -0
  47. package/dist-types/flexible-checksums/getCrc32ChecksumAlgorithmFunction.d.ts +10 -0
  48. package/dist-types/flexible-checksums/getFlexibleChecksumsPlugin.d.ts +14 -0
  49. package/dist-types/flexible-checksums/hasHeader.d.ts +6 -0
  50. package/dist-types/flexible-checksums/hasHeaderWithPrefix.d.ts +6 -0
  51. package/dist-types/flexible-checksums/isChecksumWithPartNumber.d.ts +1 -0
  52. package/dist-types/flexible-checksums/isStreaming.d.ts +4 -0
  53. package/dist-types/flexible-checksums/resolveFlexibleChecksumsConfig.d.ts +57 -0
  54. package/dist-types/flexible-checksums/selectChecksumAlgorithmFunction.d.ts +7 -0
  55. package/dist-types/flexible-checksums/stringHasher.d.ts +5 -0
  56. package/dist-types/flexible-checksums/stringUnionSelector.d.ts +12 -0
  57. package/dist-types/flexible-checksums/types.d.ts +9 -0
  58. package/dist-types/flexible-checksums/validateChecksumFromResponse.d.ts +13 -0
  59. package/dist-types/index.d.ts +11 -0
  60. package/dist-types/ts3.4/crc64-nvme/Crc64Nvme.d.ts +9 -0
  61. package/dist-types/ts3.4/crc64-nvme/crc64-nvme-crt-container.d.ts +4 -0
  62. package/dist-types/ts3.4/flexible-checksums/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS.d.ts +7 -0
  63. package/dist-types/ts3.4/flexible-checksums/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS.d.ts +7 -0
  64. package/dist-types/ts3.4/flexible-checksums/configuration.d.ts +29 -0
  65. package/dist-types/ts3.4/flexible-checksums/constants.d.ts +27 -0
  66. package/dist-types/ts3.4/flexible-checksums/flexibleChecksumsInputMiddleware.d.ts +10 -0
  67. package/dist-types/ts3.4/flexible-checksums/flexibleChecksumsMiddleware.d.ts +14 -0
  68. package/dist-types/ts3.4/flexible-checksums/flexibleChecksumsResponseMiddleware.d.ts +14 -0
  69. package/dist-types/ts3.4/flexible-checksums/getChecksum.d.ts +9 -0
  70. package/dist-types/ts3.4/flexible-checksums/getChecksumAlgorithmForRequest.d.ts +15 -0
  71. package/dist-types/ts3.4/flexible-checksums/getChecksumAlgorithmListForResponse.d.ts +4 -0
  72. package/dist-types/ts3.4/flexible-checksums/getChecksumLocationName.d.ts +4 -0
  73. package/dist-types/ts3.4/flexible-checksums/getCrc32ChecksumAlgorithmFunction.browser.d.ts +2 -0
  74. package/dist-types/ts3.4/flexible-checksums/getCrc32ChecksumAlgorithmFunction.d.ts +12 -0
  75. package/dist-types/ts3.4/flexible-checksums/getFlexibleChecksumsPlugin.d.ts +13 -0
  76. package/dist-types/ts3.4/flexible-checksums/hasHeader.d.ts +2 -0
  77. package/dist-types/ts3.4/flexible-checksums/hasHeaderWithPrefix.d.ts +5 -0
  78. package/dist-types/ts3.4/flexible-checksums/isChecksumWithPartNumber.d.ts +1 -0
  79. package/dist-types/ts3.4/flexible-checksums/isStreaming.d.ts +1 -0
  80. package/dist-types/ts3.4/flexible-checksums/resolveFlexibleChecksumsConfig.d.ts +32 -0
  81. package/dist-types/ts3.4/flexible-checksums/selectChecksumAlgorithmFunction.d.ts +7 -0
  82. package/dist-types/ts3.4/flexible-checksums/stringHasher.d.ts +5 -0
  83. package/dist-types/ts3.4/flexible-checksums/stringUnionSelector.d.ts +10 -0
  84. package/dist-types/ts3.4/flexible-checksums/types.d.ts +3 -0
  85. package/dist-types/ts3.4/flexible-checksums/validateChecksumFromResponse.d.ts +12 -0
  86. package/dist-types/ts3.4/index.d.ts +33 -0
  87. package/package.json +73 -0
@@ -0,0 +1,32 @@
1
+ import { ChecksumConstructor, Provider } from "@smithy/types";
2
+ import {
3
+ RequestChecksumCalculation,
4
+ ResponseChecksumValidation,
5
+ } from "./constants";
6
+ export interface FlexibleChecksumsInputConfig {
7
+ requestChecksumCalculation?:
8
+ | RequestChecksumCalculation
9
+ | Provider<RequestChecksumCalculation>;
10
+ responseChecksumValidation?:
11
+ | ResponseChecksumValidation
12
+ | Provider<ResponseChecksumValidation>;
13
+ requestStreamBufferSize?: number | false;
14
+ checksumAlgorithms?: {
15
+ CRC32?: ChecksumConstructor;
16
+ CRC32C?: ChecksumConstructor;
17
+ CRC64NVME?: ChecksumConstructor;
18
+ SHA1?: ChecksumConstructor;
19
+ SHA256?: ChecksumConstructor;
20
+ } & {
21
+ [algorithmId: string]: ChecksumConstructor;
22
+ };
23
+ }
24
+ export interface FlexibleChecksumsResolvedConfig {
25
+ requestChecksumCalculation: Provider<RequestChecksumCalculation>;
26
+ responseChecksumValidation: Provider<ResponseChecksumValidation>;
27
+ requestStreamBufferSize: number;
28
+ checksumAlgorithms?: FlexibleChecksumsInputConfig["checksumAlgorithms"];
29
+ }
30
+ export declare const resolveFlexibleChecksumsConfig: <T>(
31
+ input: T & FlexibleChecksumsInputConfig
32
+ ) => T & FlexibleChecksumsResolvedConfig;
@@ -0,0 +1,7 @@
1
+ import { ChecksumConstructor, HashConstructor } from "@smithy/types";
2
+ import { PreviouslyResolved } from "./configuration";
3
+ import { ChecksumAlgorithm } from "./constants";
4
+ export declare const selectChecksumAlgorithmFunction: (
5
+ checksumAlgorithm: ChecksumAlgorithm | string,
6
+ config: PreviouslyResolved
7
+ ) => ChecksumConstructor | HashConstructor;
@@ -0,0 +1,5 @@
1
+ import { ChecksumConstructor, HashConstructor } from "@smithy/types";
2
+ export declare const stringHasher: (
3
+ checksumAlgorithmFn: ChecksumConstructor | HashConstructor,
4
+ body: any
5
+ ) => Promise<Uint8Array>;
@@ -0,0 +1,10 @@
1
+ export declare enum SelectorType {
2
+ ENV = "env",
3
+ CONFIG = "shared config entry",
4
+ }
5
+ export declare const stringUnionSelector: <U extends object, K extends keyof U>(
6
+ obj: Record<string, string | undefined>,
7
+ key: string,
8
+ union: U,
9
+ type: SelectorType
10
+ ) => U[K] | undefined;
@@ -0,0 +1,3 @@
1
+ import { ChecksumAlgorithm } from "./constants";
2
+ export declare const CLIENT_SUPPORTED_ALGORITHMS: ChecksumAlgorithm[];
3
+ export declare const PRIORITY_ORDER_ALGORITHMS: ChecksumAlgorithm[];
@@ -0,0 +1,12 @@
1
+ import { HttpResponse } from "@smithy/core/protocols";
2
+ import { Logger } from "@smithy/types";
3
+ import { PreviouslyResolved } from "./configuration";
4
+ export interface ValidateChecksumFromResponseOptions {
5
+ config: PreviouslyResolved;
6
+ responseAlgorithms?: string[];
7
+ logger?: Logger;
8
+ }
9
+ export declare const validateChecksumFromResponse: (
10
+ response: HttpResponse,
11
+ { config, responseAlgorithms, logger }: ValidateChecksumFromResponseOptions
12
+ ) => Promise<void>;
@@ -0,0 +1,33 @@
1
+ export { Crc64Nvme } from "./crc64-nvme/Crc64Nvme";
2
+ export { crc64NvmeCrtContainer } from "./crc64-nvme/crc64-nvme-crt-container";
3
+ export {
4
+ ENV_REQUEST_CHECKSUM_CALCULATION,
5
+ CONFIG_REQUEST_CHECKSUM_CALCULATION,
6
+ NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS,
7
+ } from "./flexible-checksums/NODE_REQUEST_CHECKSUM_CALCULATION_CONFIG_OPTIONS";
8
+ export {
9
+ ENV_RESPONSE_CHECKSUM_VALIDATION,
10
+ CONFIG_RESPONSE_CHECKSUM_VALIDATION,
11
+ NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS,
12
+ } from "./flexible-checksums/NODE_RESPONSE_CHECKSUM_VALIDATION_CONFIG_OPTIONS";
13
+ export {
14
+ RequestChecksumCalculation,
15
+ DEFAULT_REQUEST_CHECKSUM_CALCULATION,
16
+ ResponseChecksumValidation,
17
+ DEFAULT_RESPONSE_CHECKSUM_VALIDATION,
18
+ ChecksumAlgorithm,
19
+ ChecksumLocation,
20
+ DEFAULT_CHECKSUM_ALGORITHM,
21
+ } from "./flexible-checksums/constants";
22
+ export { FlexibleChecksumsRequestMiddlewareConfig } from "./flexible-checksums/flexibleChecksumsMiddleware";
23
+ export {
24
+ flexibleChecksumsMiddlewareOptions,
25
+ flexibleChecksumsMiddleware,
26
+ } from "./flexible-checksums/flexibleChecksumsMiddleware";
27
+ export { FlexibleChecksumsMiddlewareConfig } from "./flexible-checksums/getFlexibleChecksumsPlugin";
28
+ export { getFlexibleChecksumsPlugin } from "./flexible-checksums/getFlexibleChecksumsPlugin";
29
+ export {
30
+ FlexibleChecksumsInputConfig,
31
+ FlexibleChecksumsResolvedConfig,
32
+ } from "./flexible-checksums/resolveFlexibleChecksumsConfig";
33
+ export { resolveFlexibleChecksumsConfig } from "./flexible-checksums/resolveFlexibleChecksumsConfig";
package/package.json ADDED
@@ -0,0 +1,73 @@
1
+ {
2
+ "name": "@aws-sdk/checksums",
3
+ "version": "3.1000.1",
4
+ "description": "Checksum algorithms and flexible checksums middleware for the AWS SDK",
5
+ "scripts": {
6
+ "build": "concurrently 'yarn:build:types' 'yarn:build:es' && yarn build:cjs",
7
+ "build:cjs": "node ../../scripts/compilation/inline checksums",
8
+ "build:es": "tsc -p tsconfig.es.json",
9
+ "build:include:deps": "yarn g:turbo run build -F=\"$npm_package_name\"",
10
+ "build:types": "tsc -p tsconfig.types.json",
11
+ "build:types:downlevel": "downlevel-dts dist-types dist-types/ts3.4",
12
+ "clean": "premove dist-cjs dist-es dist-types tsconfig.cjs.tsbuildinfo tsconfig.es.tsbuildinfo tsconfig.types.tsbuildinfo",
13
+ "extract:docs": "api-extractor run --local",
14
+ "test": "yarn g:vitest run",
15
+ "test:watch": "yarn g:vitest watch",
16
+ "test:integration": "yarn g:vitest run -c vitest.config.integ.mts",
17
+ "test:integration:watch": "yarn g:vitest watch -c vitest.config.integ.mts",
18
+ "test:e2e": "yarn g:vitest run -c vitest.config.e2e.mts --mode development",
19
+ "test:e2e:watch": "yarn g:vitest watch -c vitest.config.e2e.mts"
20
+ },
21
+ "main": "./dist-cjs/index.js",
22
+ "module": "./dist-es/index.js",
23
+ "types": "./dist-types/index.d.ts",
24
+ "sideEffects": false,
25
+ "author": {
26
+ "name": "AWS SDK for JavaScript Team",
27
+ "url": "https://aws.amazon.com/javascript/"
28
+ },
29
+ "license": "Apache-2.0",
30
+ "dependencies": {
31
+ "@aws-crypto/crc32": "5.2.0",
32
+ "@aws-crypto/crc32c": "5.2.0",
33
+ "@aws-crypto/util": "5.2.0",
34
+ "@aws-sdk/core": "^3.974.17",
35
+ "@aws-sdk/types": "^3.973.10",
36
+ "@smithy/core": "^3.24.6",
37
+ "@smithy/types": "^4.14.3",
38
+ "tslib": "^2.6.2"
39
+ },
40
+ "devDependencies": {
41
+ "@tsconfig/recommended": "1.0.1",
42
+ "concurrently": "7.0.0",
43
+ "downlevel-dts": "0.10.1",
44
+ "premove": "4.0.0",
45
+ "typescript": "~5.8.3"
46
+ },
47
+ "engines": {
48
+ "node": ">=20.0.0"
49
+ },
50
+ "typesVersions": {
51
+ "<4.5": {
52
+ "dist-types/*": [
53
+ "dist-types/ts3.4/*"
54
+ ]
55
+ }
56
+ },
57
+ "files": [
58
+ "dist-*/**"
59
+ ],
60
+ "browser": {
61
+ "./dist-es/flexible-checksums/getCrc32ChecksumAlgorithmFunction": "./dist-es/flexible-checksums/getCrc32ChecksumAlgorithmFunction.browser"
62
+ },
63
+ "react-native": {
64
+ "./dist-es/flexible-checksums/getCrc32ChecksumAlgorithmFunction": "./dist-es/flexible-checksums/getCrc32ChecksumAlgorithmFunction.browser",
65
+ "./dist-cjs/flexible-checksums/getCrc32ChecksumAlgorithmFunction": "./dist-cjs/flexible-checksums/getCrc32ChecksumAlgorithmFunction.browser"
66
+ },
67
+ "homepage": "https://github.com/aws/aws-sdk-js-v3/tree/main/packages-internal/checksums",
68
+ "repository": {
69
+ "type": "git",
70
+ "url": "https://github.com/aws/aws-sdk-js-v3.git",
71
+ "directory": "packages-internal/checksums"
72
+ }
73
+ }