@aws-sdk/lib-storage 3.34.0 → 3.35.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (82) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/dist-cjs/Upload.js +180 -0
  3. package/dist-cjs/bytelength.js +30 -0
  4. package/dist-cjs/chunker.js +31 -0
  5. package/dist-cjs/chunks/getChunkBuffer.js +24 -0
  6. package/dist-cjs/chunks/getChunkStream.js +29 -0
  7. package/dist-cjs/chunks/getDataReadable.js +11 -0
  8. package/dist-cjs/chunks/getDataReadableStream.js +23 -0
  9. package/{dist/cjs → dist-cjs}/index.js +1 -1
  10. package/dist-cjs/runtimeConfig.browser.js +9 -0
  11. package/dist-cjs/runtimeConfig.js +11 -0
  12. package/dist-cjs/runtimeConfig.native.js +9 -0
  13. package/dist-cjs/runtimeConfig.shared.js +7 -0
  14. package/dist-cjs/types.js +3 -0
  15. package/dist-es/Upload.js +262 -0
  16. package/dist-es/bytelength.js +26 -0
  17. package/dist-es/chunker.js +27 -0
  18. package/dist-es/chunks/getChunkBuffer.js +38 -0
  19. package/dist-es/chunks/getChunkStream.js +69 -0
  20. package/dist-es/chunks/getDataReadable.js +45 -0
  21. package/dist-es/chunks/getDataReadableStream.js +39 -0
  22. package/dist-es/index.js +3 -0
  23. package/dist-es/runtimeConfig.browser.js +4 -0
  24. package/dist-es/runtimeConfig.js +5 -0
  25. package/dist-es/runtimeConfig.native.js +4 -0
  26. package/dist-es/runtimeConfig.shared.js +4 -0
  27. package/dist-es/types.js +2 -0
  28. package/{dist/types → dist-types}/Upload.d.ts +0 -0
  29. package/{dist/types → dist-types}/bytelength.d.ts +0 -0
  30. package/{dist/types → dist-types}/chunker.d.ts +0 -0
  31. package/{dist/types → dist-types}/chunks/getChunkBuffer.d.ts +0 -0
  32. package/{dist/types → dist-types}/chunks/getChunkStream.d.ts +0 -0
  33. package/{dist/types → dist-types}/chunks/getDataReadable.d.ts +0 -0
  34. package/{dist/types → dist-types}/chunks/getDataReadableStream.d.ts +0 -0
  35. package/{dist/types → dist-types}/index.d.ts +0 -0
  36. package/{dist/types → dist-types}/runtimeConfig.browser.d.ts +0 -0
  37. package/{dist/types → dist-types}/runtimeConfig.d.ts +0 -0
  38. package/{dist/types → dist-types}/runtimeConfig.native.d.ts +0 -0
  39. package/{dist/types → dist-types}/runtimeConfig.shared.d.ts +0 -0
  40. package/{dist/types → dist-types}/ts3.4/Upload.d.ts +0 -0
  41. package/{dist/types → dist-types}/ts3.4/bytelength.d.ts +0 -0
  42. package/{dist/types → dist-types}/ts3.4/chunker.d.ts +0 -0
  43. package/{dist/types → dist-types}/ts3.4/chunks/getChunkBuffer.d.ts +0 -0
  44. package/{dist/types → dist-types}/ts3.4/chunks/getChunkStream.d.ts +0 -0
  45. package/{dist/types → dist-types}/ts3.4/chunks/getDataReadable.d.ts +0 -0
  46. package/{dist/types → dist-types}/ts3.4/chunks/getDataReadableStream.d.ts +0 -0
  47. package/{dist/types → dist-types}/ts3.4/index.d.ts +0 -0
  48. package/{dist/types → dist-types}/ts3.4/runtimeConfig.browser.d.ts +0 -0
  49. package/{dist/types → dist-types}/ts3.4/runtimeConfig.d.ts +0 -0
  50. package/{dist/types → dist-types}/ts3.4/runtimeConfig.native.d.ts +0 -0
  51. package/{dist/types → dist-types}/ts3.4/runtimeConfig.shared.d.ts +0 -0
  52. package/{dist/types → dist-types}/ts3.4/types.d.ts +0 -0
  53. package/{dist/types → dist-types}/types.d.ts +0 -0
  54. package/package.json +9 -9
  55. package/tsconfig.cjs.json +1 -1
  56. package/tsconfig.es.json +1 -1
  57. package/tsconfig.types.json +1 -1
  58. package/dist/cjs/Upload.js +0 -180
  59. package/dist/cjs/bytelength.js +0 -30
  60. package/dist/cjs/chunker.js +0 -31
  61. package/dist/cjs/chunks/getChunkBuffer.js +0 -24
  62. package/dist/cjs/chunks/getChunkStream.js +0 -29
  63. package/dist/cjs/chunks/getDataReadable.js +0 -11
  64. package/dist/cjs/chunks/getDataReadableStream.js +0 -23
  65. package/dist/cjs/runtimeConfig.browser.js +0 -9
  66. package/dist/cjs/runtimeConfig.js +0 -11
  67. package/dist/cjs/runtimeConfig.native.js +0 -9
  68. package/dist/cjs/runtimeConfig.shared.js +0 -7
  69. package/dist/cjs/types.js +0 -3
  70. package/dist/es/Upload.js +0 -278
  71. package/dist/es/bytelength.js +0 -26
  72. package/dist/es/chunker.js +0 -29
  73. package/dist/es/chunks/getChunkBuffer.js +0 -38
  74. package/dist/es/chunks/getChunkStream.js +0 -70
  75. package/dist/es/chunks/getDataReadable.js +0 -45
  76. package/dist/es/chunks/getDataReadableStream.js +0 -43
  77. package/dist/es/index.js +0 -3
  78. package/dist/es/runtimeConfig.browser.js +0 -7
  79. package/dist/es/runtimeConfig.js +0 -8
  80. package/dist/es/runtimeConfig.native.js +0 -7
  81. package/dist/es/runtimeConfig.shared.js +0 -7
  82. package/dist/es/types.js +0 -2
package/CHANGELOG.md CHANGED
@@ -3,6 +3,14 @@
3
3
  All notable changes to this project will be documented in this file.
4
4
  See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
5
5
 
6
+ # [3.35.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.34.0...v3.35.0) (2021-10-04)
7
+
8
+ **Note:** Version bump only for package @aws-sdk/lib-storage
9
+
10
+
11
+
12
+
13
+
6
14
  # [3.34.0](https://github.com/aws/aws-sdk-js-v3/compare/v3.33.0...v3.34.0) (2021-09-24)
7
15
 
8
16
 
@@ -0,0 +1,180 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Upload = void 0;
4
+ const client_s3_1 = require("@aws-sdk/client-s3");
5
+ const events_1 = require("events");
6
+ const chunker_1 = require("./chunker");
7
+ const bytelength_1 = require("./bytelength");
8
+ const abort_controller_1 = require("@aws-sdk/abort-controller");
9
+ const MIN_PART_SIZE = 1024 * 1024 * 5;
10
+ class Upload extends events_1.EventEmitter {
11
+ constructor(options) {
12
+ super();
13
+ this.MAX_PARTS = 10000;
14
+ this.queueSize = 4;
15
+ this.partSize = MIN_PART_SIZE;
16
+ this.leavePartsOnError = false;
17
+ this.tags = [];
18
+ this.concurrentUploaders = [];
19
+ this.uploadedParts = [];
20
+ this.isMultiPart = true;
21
+ this.queueSize = options.queueSize || this.queueSize;
22
+ this.partSize = options.partSize || this.partSize;
23
+ this.leavePartsOnError = options.leavePartsOnError || this.leavePartsOnError;
24
+ this.tags = options.tags || this.tags;
25
+ this.client = options.client;
26
+ this.params = options.params;
27
+ this.__validateInput();
28
+ this.totalBytes = bytelength_1.byteLength(this.params.Body);
29
+ this.bytesUploadedSoFar = 0;
30
+ this.abortController = new abort_controller_1.AbortController();
31
+ }
32
+ async abort() {
33
+ this.abortController.abort();
34
+ }
35
+ async done() {
36
+ return await Promise.race([this.__doMultipartUpload(), this.__abortTimeout(this.abortController.signal)]);
37
+ }
38
+ on(event, listener) {
39
+ this.uploadEvent = event;
40
+ super.on(event, listener);
41
+ }
42
+ async __uploadUsingPut(dataPart) {
43
+ this.isMultiPart = false;
44
+ const params = { ...this.params, Body: dataPart.data };
45
+ const putResult = await this.client.send(new client_s3_1.PutObjectCommand(params));
46
+ this.putResponse = putResult;
47
+ const totalSize = bytelength_1.byteLength(dataPart.data);
48
+ this.__notifyProgress({
49
+ loaded: totalSize,
50
+ total: totalSize,
51
+ part: 1,
52
+ Key: this.params.Key,
53
+ Bucket: this.params.Bucket,
54
+ });
55
+ }
56
+ async __createMultipartUpload() {
57
+ if (!this.createMultiPartPromise) {
58
+ const createCommandParams = { ...this.params, Body: undefined };
59
+ this.createMultiPartPromise = this.client.send(new client_s3_1.CreateMultipartUploadCommand(createCommandParams));
60
+ }
61
+ const createMultipartUploadResult = await this.createMultiPartPromise;
62
+ this.uploadId = createMultipartUploadResult.UploadId;
63
+ }
64
+ async __doConcurrentUpload(dataFeeder) {
65
+ for await (const dataPart of dataFeeder) {
66
+ if (this.uploadedParts.length > this.MAX_PARTS) {
67
+ throw new Error(`Exceeded ${this.MAX_PARTS} as part of the upload to ${this.params.Key} and ${this.params.Bucket}.`);
68
+ }
69
+ try {
70
+ if (this.abortController.signal.aborted) {
71
+ return;
72
+ }
73
+ if (dataPart.partNumber === 1 && dataPart.lastPart) {
74
+ return await this.__uploadUsingPut(dataPart);
75
+ }
76
+ if (!this.uploadId) {
77
+ await this.__createMultipartUpload();
78
+ if (this.abortController.signal.aborted) {
79
+ return;
80
+ }
81
+ }
82
+ const partResult = await this.client.send(new client_s3_1.UploadPartCommand({
83
+ ...this.params,
84
+ UploadId: this.uploadId,
85
+ Body: dataPart.data,
86
+ PartNumber: dataPart.partNumber,
87
+ }));
88
+ if (this.abortController.signal.aborted) {
89
+ return;
90
+ }
91
+ this.uploadedParts.push({
92
+ PartNumber: dataPart.partNumber,
93
+ ETag: partResult.ETag,
94
+ });
95
+ this.bytesUploadedSoFar += bytelength_1.byteLength(dataPart.data);
96
+ this.__notifyProgress({
97
+ loaded: this.bytesUploadedSoFar,
98
+ total: this.totalBytes,
99
+ part: dataPart.partNumber,
100
+ Key: this.params.Key,
101
+ Bucket: this.params.Bucket,
102
+ });
103
+ }
104
+ catch (e) {
105
+ if (!this.uploadId) {
106
+ throw e;
107
+ }
108
+ if (this.leavePartsOnError) {
109
+ throw e;
110
+ }
111
+ }
112
+ }
113
+ }
114
+ async __doMultipartUpload() {
115
+ const dataFeeder = chunker_1.getChunk(this.params.Body, this.partSize);
116
+ for (let index = 0; index < this.queueSize; index++) {
117
+ const currentUpload = this.__doConcurrentUpload(dataFeeder);
118
+ this.concurrentUploaders.push(currentUpload);
119
+ }
120
+ await Promise.all(this.concurrentUploaders);
121
+ if (this.abortController.signal.aborted) {
122
+ throw Object.assign(new Error("Upload aborted."), { name: "AbortError" });
123
+ }
124
+ let result;
125
+ if (this.isMultiPart) {
126
+ this.uploadedParts.sort((a, b) => a.PartNumber - b.PartNumber);
127
+ const uploadCompleteParams = {
128
+ ...this.params,
129
+ Body: undefined,
130
+ UploadId: this.uploadId,
131
+ MultipartUpload: {
132
+ Parts: this.uploadedParts,
133
+ },
134
+ };
135
+ result = await this.client.send(new client_s3_1.CompleteMultipartUploadCommand(uploadCompleteParams));
136
+ }
137
+ else {
138
+ result = this.putResponse;
139
+ }
140
+ if (this.tags.length) {
141
+ await this.client.send(new client_s3_1.PutObjectTaggingCommand({
142
+ ...this.params,
143
+ Tagging: {
144
+ TagSet: this.tags,
145
+ },
146
+ }));
147
+ }
148
+ return result;
149
+ }
150
+ __notifyProgress(progress) {
151
+ if (this.uploadEvent) {
152
+ this.emit(this.uploadEvent, progress);
153
+ }
154
+ }
155
+ async __abortTimeout(abortSignal) {
156
+ return new Promise((resolve, reject) => {
157
+ abortSignal.onabort = () => {
158
+ const abortError = new Error("Upload aborted.");
159
+ abortError.name = "AbortError";
160
+ reject(abortError);
161
+ };
162
+ });
163
+ }
164
+ __validateInput() {
165
+ if (!this.params) {
166
+ throw new Error(`InputError: Upload requires params to be passed to upload.`);
167
+ }
168
+ if (!this.client) {
169
+ throw new Error(`InputError: Upload requires a AWS client to do uploads with.`);
170
+ }
171
+ if (this.partSize < MIN_PART_SIZE) {
172
+ throw new Error(`EntityTooSmall: Your proposed upload partsize [${this.partSize}] is smaller than the minimum allowed size [${MIN_PART_SIZE}] (5MB)`);
173
+ }
174
+ if (this.queueSize < 1) {
175
+ throw new Error(`Queue size: Must have at least one uploading queue.`);
176
+ }
177
+ }
178
+ }
179
+ exports.Upload = Upload;
180
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVXBsb2FkLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1VwbG9hZC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxrREFZNEI7QUFDNUIsbUNBQXNDO0FBRXRDLHVDQUFxQztBQUNyQyw2Q0FBMEM7QUFDMUMsZ0VBQXlFO0FBUXpFLE1BQU0sYUFBYSxHQUFHLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxDQUFDO0FBRXRDLE1BQWEsTUFBTyxTQUFRLHFCQUFZO0lBK0J0QyxZQUFZLE9BQWdCO1FBQzFCLEtBQUssRUFBRSxDQUFDO1FBNUJGLGNBQVMsR0FBRyxLQUFLLENBQUM7UUFHbEIsY0FBUyxHQUFHLENBQUMsQ0FBQztRQUNkLGFBQVEsR0FBRyxhQUFhLENBQUM7UUFDekIsc0JBQWlCLEdBQUcsS0FBSyxDQUFDO1FBQzFCLFNBQUksR0FBVSxFQUFFLENBQUM7UUFXakIsd0JBQW1CLEdBQW9CLEVBQUUsQ0FBQztRQUcxQyxrQkFBYSxHQUFvQixFQUFFLENBQUM7UUFJcEMsZ0JBQVcsR0FBWSxJQUFJLENBQUM7UUFPbEMsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDckQsSUFBSSxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUMsUUFBUSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDbEQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLE9BQU8sQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUM7UUFDN0UsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUM7UUFFdEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxDQUFDO1FBQzdCLElBQUksQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBQztRQUU3QixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7UUFHdkIs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QUMsQ0FBQztZQUNyQixDQUFDLENBQUM7UUFDSixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxlQUFlO1FBQ2IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw0REFBNEQsQ0FBQyxDQUFDO1NBQy9FO1FBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7WUFDaEIsTUFBTSxJQUFJLEtBQUssQ0FBQyw4REFBOEQsQ0FBQyxDQUFDO1NBQ2pGO1FBRUQsSUFBSSxJQUFJLENBQUMsUUFBUSxHQUFHLGFBQWEsRUFBRTtZQUNqQyxNQUFNLElBQUksS0FBSyxDQUNiLGtEQUFrRCxJQUFJLENBQUMsUUFBUSwrQ0FBK0MsYUFBYSxTQUFTLENBQ3JJLENBQUM7U0FDSDtRQUVELElBQUksSUFBSSxDQUFDLFNBQVMsR0FBRyxDQUFDLEVBQUU7WUFDdEIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO1NBQ3hFO0lBQ0gsQ0FBQztDQUNGO0FBaFBELHdCQWdQQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENvbXBsZXRlZFBhcnQsXG4gIENvbXBsZXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZCxcbiAgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dCxcbiAgUHV0T2JqZWN0Q29tbWFuZCxcbiAgUHV0T2JqZWN0Q29tbWFuZElucHV0LFxuICBQdXRPYmplY3RDb21tYW5kT3V0cHV0LFxuICBQdXRPYmplY3RUYWdnaW5nQ29tbWFuZCxcbiAgU2VydmljZU91dHB1dFR5cGVzLFxuICBUYWcsXG4gIFVwbG9hZFBhcnRDb21tYW5kLFxufSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LXMzXCI7XG5pbXBvcnQgeyBFdmVudEVtaXR0ZXIgfSBmcm9tIFwiZXZlbnRzXCI7XG5pbXBvcnQgeyBCb2R5RGF0YVR5cGVzLCBPcHRpb25zLCBQcm9ncmVzcywgU2VydmljZUNsaWVudHMgfSBmcm9tIFwiLi90eXBlc1wiO1xuaW1wb3J0IHsgZ2V0Q2h1bmsgfSBmcm9tIFwiLi9jaHVua2VyXCI7XG5pbXBvcnQgeyBieXRlTGVuZ3RoIH0gZnJvbSBcIi4vYnl0ZWxlbmd0aFwiO1xuaW1wb3J0IHsgQWJvcnRDb250cm9sbGVyLCBBYm9ydFNpZ25hbCB9IGZyb20gXCJAYXdzLXNkay9hYm9ydC1jb250cm9sbGVyXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmF3RGF0YVBhcnQge1xuICBwYXJ0TnVtYmVyOiBudW1iZXI7XG4gIGRhdGE6IEJvZHlEYXRhVHlwZXM7XG4gIGxhc3RQYXJ0PzogYm9vbGVhbjtcbn1cblxuY29uc3QgTUlOX1BBUlRfU0laRSA9IDEwMjQgKiAxMDI0ICogNTtcblxuZXhwb3J0IGNsYXNzIFVwbG9hZCBleHRlbmRzIEV2ZW50RW1pdHRlciB7XG4gIC8qKlxuICAgKiBTMyBtdWx0aXBhcnQgdXBsb2FkIGRvZXMgbm90IGFsbG93IG1vcmUgdGhhbiAxMDAwMCBwYXJ0cy5cbiAgICovXG4gIHByaXZhdGUgTUFYX1BBUlRTID0gMTAwMDA7XG5cbiAgLy8gRGVmYXVsdHMuXG4gIHByaXZhdGUgcXVldWVTaXplID0gNDtcbiAgcHJpdmF0ZSBwYXJ0U2l6ZSA9IE1JTl9QQVJUX1NJWkU7XG4gIHByaXZhdGUgbGVhdmVQYXJ0c09uRXJyb3IgPSBmYWxzZTtcbiAgcHJpdmF0ZSB0YWdzOiBUYWdbXSA9IFtdO1xuXG4gIHByaXZhdGUgY2xpZW50OiBTZXJ2aWNlQ2xpZW50cztcbiAgcHJpdmF0ZSBwYXJhbXM6IFB1dE9iamVjdENvbW1hbmRJbnB1dDtcblxuICAvLyB1c2VkIGZvciByZXBvcnRpbmcgcHJvZ3Jlc3MuXG4gIHByaXZhdGUgdG90YWxCeXRlcz86IG51bWJlcjtcbiAgcHJpdmF0ZSBieXRlc1VwbG9hZGVkU29GYXI6IG51bWJlcjtcblxuICAvLyB1c2VkIGluIHRoZSB1cGxvYWQuXG4gIHByaXZhdGUgYWJvcnRDb250cm9sbGVyOiBBYm9ydENvbnRyb2xsZXI7XG4gIHByaXZhdGUgY29uY3VycmVudFVwbG9hZGVyczogUHJvbWlzZTx2b2lkPltdID0gW107XG4gIHByaXZhdGUgY3JlYXRlTXVsdGlQYXJ0UHJvbWlzZT86IFByb21pc2U8Q3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZE91dHB1dD47XG5cbiAgcHJpdmF0ZSB1cGxvYWRlZFBhcnRzOiBDb21wbGV0ZWRQYXJ0W10gPSBbXTtcbiAgcHJpdmF0ZSB1cGxvYWRJZD86IHN0cmluZztcbiAgdXBsb2FkRXZlbnQ/OiBzdHJpbmc7XG5cbiAgcHJpdmF0ZSBpc011bHRpUGFydDogYm9vbGVhbiA9IHRydWU7XG4gIHByaXZhdGUgcHV0UmVzcG9uc2U/OiBQdXRPYmplY3RDb21tYW5kT3V0cHV0O1xuXG4gIGNvbnN0cnVjdG9yKG9wdGlvbnM6IE9wdGlvbnMpIHtcbiAgICBzdXBlcigpO1xuXG4gICAgLy8gc2V0IGRlZmF1bHRzIGZyb20gb3B0aW9ucy5cbiAgICB0aGlzLnF1ZXVlU2l6ZSA9IG9wdGlvbnMucXVldWVTaXplIHx8IHRoaXMucXVldWVTaXplO1xuICAgIHRoaXMucGFydFNpemUgPSBvcHRpb25zLnBhcnRTaXplIHx8IHRoaXMucGFydFNpemU7XG4gICAgdGhpcy5sZWF2ZVBhcnRzT25FcnJvciA9IG9wdGlvbnMubGVhdmVQYXJ0c09uRXJyb3IgfHwgdGhpcy5sZWF2ZVBhcnRzT25FcnJvcjtcbiAgICB0aGlzLnRhZ3MgPSBvcHRpb25zLnRhZ3MgfHwgdGhpcy50YWdzO1xuXG4gICAgdGhpcy5jbGllbnQgPSBvcHRpb25zLmNsaWVudDtcbiAgICB0aGlzLnBhcmFtcyA9IG9wdGlvbnMucGFyYW1zO1xuXG4gICAgdGhpcy5fX3ZhbGlkYXRlSW5wdXQoKTtcblxuICAgIC8vIHNldCBwcm9ncmVzcyBkZWZhdWx0c1xuICAgIHRoaXMudG90YWxCeXRlcyA9IGJ5dGVMZW5ndGgodGhpcy5wYXJhbXMuQm9keSk7XG4gICAgdGhpcy5ieXRlc1VwbG9hZGVkU29GYXIgPSAwO1xuICAgIHRoaXMuYWJvcnRDb250cm9sbGVyID0gbmV3IEFib3J0Q29udHJvbGxlcigpO1xuICB9XG5cbiAgYXN5bmMgYWJvcnQoKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgLyoqXG4gICAgICogQWJvcnQgc3RvcHMgYWxsIG5ldyB1cGxvYWRzIGFuZCBpbW1lZGlhdGVseSBleGlzdHMgdGhlIHRvcCBsZXZlbCBwcm9taXNlIG9uIHRoaXMuZG9uZSgpXG4gICAgICogQ29uY3VycmVudCB0aHJlYWRzIGluIGZsaWdodCBjbGVhbiB1cCBldmVudHVhbGx5LlxuICAgICAqL1xuICAgIHRoaXMuYWJvcnRDb250cm9sbGVyLmFib3J0KCk7XG4gIH1cblxuICBhc3luYyBkb25lKCk6IFByb21pc2U8U2VydmljZU91dHB1dFR5cGVzPiB7XG4gICAgcmV0dXJuIGF3YWl0IFByb21pc2UucmFjZShbdGhpcy5fX2RvTXVsdGlwYXJ0VXBsb2FkKCksIHRoaXMuX19hYm9ydFRpbWVvdXQodGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsKV0pO1xuICB9XG5cbiAgb24oZXZlbnQ6IFwiaHR0cFVwbG9hZFByb2dyZXNzXCIsIGxpc3RlbmVyOiAocHJvZ3Jlc3M6IFByb2dyZXNzKSA9PiB2b2lkKTogYW55IHtcbiAgICB0aGlzLnVwbG9hZEV2ZW50ID0gZXZlbnQ7XG4gICAgc3VwZXIub24oZXZlbnQsIGxpc3RlbmVyKTtcbiAgfVxuXG4gIGFzeW5jIF9fdXBsb2FkVXNpbmdQdXQoZGF0YVBhcnQ6IFJhd0RhdGFQYXJ0KSB7XG4gICAgdGhpcy5pc011bHRpUGFydCA9IGZhbHNlO1xuICAgIGNvbnN0IHBhcmFtcyA9IHsgLi4udGhpcy5wYXJhbXMsIEJvZHk6IGRhdGFQYXJ0LmRhdGEgfTtcbiAgICBjb25zdCBwdXRSZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBQdXRPYmplY3RDb21tYW5kKHBhcmFtcykpO1xuICAgIHRoaXMucHV0UmVzcG9uc2UgPSBwdXRSZXN1bHQ7XG4gICAgY29uc3QgdG90YWxTaXplID0gYnl0ZUxlbmd0aChkYXRhUGFydC5kYXRhKTtcbiAgICB0aGlzLl9fbm90aWZ5UHJvZ3Jlc3Moe1xuICAgICAgbG9hZGVkOiB0b3RhbFNpemUsXG4gICAgICB0b3RhbDogdG90YWxTaXplLFxuICAgICAgcGFydDogMSxcbiAgICAgIEtleTogdGhpcy5wYXJhbXMuS2V5LFxuICAgICAgQnVja2V0OiB0aGlzLnBhcmFtcy5CdWNrZXQsXG4gICAgfSk7XG4gIH1cblxuICBhc3luYyBfX2NyZWF0ZU11bHRpcGFydFVwbG9hZCgpIHtcbiAgICBpZiAoIXRoaXMuY3JlYXRlTXVsdGlQYXJ0UHJvbWlzZSkge1xuICAgICAgY29uc3QgY3JlYXRlQ29tbWFuZFBhcmFtcyA9IHsgLi4udGhpcy5wYXJhbXMsIEJvZHk6IHVuZGVmaW5lZCB9O1xuICAgICAgdGhpcy5jcmVhdGVNdWx0aVBhcnRQcm9taXNlID0gdGhpcy5jbGllbnQuc2VuZChuZXcgQ3JlYXRlTXVsdGlwYXJ0VXBsb2FkQ29tbWFuZChjcmVhdGVDb21tYW5kUGFyYW1zKSk7XG4gICAgfVxuICAgIGNvbnN0IGNyZWF0ZU11bHRpcGFydFVwbG9hZFJlc3VsdCA9IGF3YWl0IHRoaXMuY3JlYXRlTXVsdGlQYXJ0UHJvbWlzZTtcbiAgICB0aGlzLnVwbG9hZElkID0gY3JlYXRlTXVsdGlwYXJ0VXBsb2FkUmVzdWx0LlVwbG9hZElkO1xuICB9XG5cbiAgYXN5bmMgX19kb0NvbmN1cnJlbnRVcGxvYWQoZGF0YUZlZWRlcjogQXN5bmNHZW5lcmF0b3I8UmF3RGF0YVBhcnQsIHZvaWQsIHVuZGVmaW5lZD4pOiBQcm9taXNlPHZvaWQ+IHtcbiAgICBmb3IgYXdhaXQgKGNvbnN0IGRhdGFQYXJ0IG9mIGRhdGFGZWVkZXIpIHtcbiAgICAgIGlmICh0aGlzLnVwbG9hZGVkUGFydHMubGVuZ3RoID4gdGhpcy5NQVhfUEFSVFMpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgIGBFeGNlZWRlZCAke3RoaXMuTUFYX1BBUlRTfSBhcyBwYXJ0IG9mIHRoZSB1cGxvYWQgdG8gJHt0aGlzLnBhcmFtcy5LZXl9IGFuZCAke3RoaXMucGFyYW1zLkJ1Y2tldH0uYFxuICAgICAgICApO1xuICAgICAgfVxuXG4gICAgICB0cnkge1xuICAgICAgICBpZiAodGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICAvLyBVc2UgcHV0IGluc3RlYWQgb2YgbXVsdGktcGFydCBmb3Igb25lIGNodW5rIHVwbG9hZHMuXG4gICAgICAgIGlmIChkYXRhUGFydC5wYXJ0TnVtYmVyID09PSAxICYmIGRhdGFQYXJ0Lmxhc3RQYXJ0KSB7XG4gICAgICAgICAgcmV0dXJuIGF3YWl0IHRoaXMuX191cGxvYWRVc2luZ1B1dChkYXRhUGFydCk7XG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMudXBsb2FkSWQpIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLl9fY3JlYXRlTXVsdGlwYXJ0VXBsb2FkKCk7XG4gICAgICAgICAgaWYgKHRoaXMuYWJvcnRDb250cm9sbGVyLnNpZ25hbC5hYm9ydGVkKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgY29uc3QgcGFydFJlc3VsdCA9IGF3YWl0IHRoaXMuY2xpZW50LnNlbmQoXG4gICAgICAgICAgbmV3IFVwbG9hZFBhcnRDb21tYW5kKHtcbiAgICAgICAgICAgIC4uLnRoaXMucGFyYW1zLFxuICAgICAgICAgICAgVXBsb2FkSWQ6IHRoaXMudXBsb2FkSWQsXG4gICAgICAgICAgICBCb2R5OiBkYXRhUGFydC5kYXRhLFxuICAgICAgICAgICAgUGFydE51bWJlcjogZGF0YVBhcnQucGFydE51bWJlcixcbiAgICAgICAgICB9KVxuICAgICAgICApO1xuXG4gICAgICAgIGlmICh0aGlzLmFib3J0Q29udHJvbGxlci5zaWduYWwuYWJvcnRlZCkge1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXMudXBsb2FkZWRQYXJ0cy5wdXNoKHtcbiAgICAgICAgICBQYXJ0TnVtYmVyOiBkYXRhUGFydC5wYXJ0TnVtYmVyLFxuICAgICAgICAgIEVUYWc6IHBhcnRSZXN1bHQuRVRhZyxcbiAgICAgICAgfSk7XG5cbiAgICAgICAgdGhpcy5ieXRlc1VwbG9hZGVkU29GYXIgKz0gYnl0ZUxlbmd0aChkYXRhUGFydC5kYXRhKTtcbiAgICAgICAgdGhpcy5fX25vdGlmeVByb2dyZXNzKHtcbiAgICAgICAgICBsb2FkZWQ6IHRoaXMuYnl0ZXNVcGxvYWRlZFNvRmFyLFxuICAgICAgICAgIHRvdGFsOiB0aGlzLnRvdGFsQnl0ZXMsXG4gICAgICAgICAgcGFydDogZGF0YVBhcnQucGFydE51bWJlcixcbiAgICAgICAgICBLZXk6IHRoaXMucGFyYW1zLktleSxcbiAgICAgICAgICBCdWNrZXQ6IHRoaXMucGFyYW1zLkJ1Y2tldCxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIC8vIEZhaWxlZCB0byBjcmVhdGUgbXVsdGktcGFydCBvciBwdXRcbiAgICAgICAgaWYgKCF0aGlzLnVwbG9hZElkKSB7XG4gICAgICAgICAgdGhyb3cgZTtcbiAgICAgICAgfVxuICAgICAgICAvLyBvbiBsZWF2ZVBhcnRzT25FcnJvciB0aHJvdyBhbiBlcnJvciBzbyB1c2VycyBjYW4gZGVhbCB3aXRoIGl0IHRoZW1zZWx2ZXMsXG4gICAgICAgIC8vIG90aGVyd2lzZSBzd2FsbG93IHRoZSBlcnJvci5cbiAgICAgICAgaWYgKHRoaXMubGVhdmVQYXJ0c09uRXJyb3IpIHtcbiAgICAgICAgICB0aHJvdyBlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgYXN5bmMgX19kb011bHRpcGFydFVwbG9hZCgpOiBQcm9taXNlPFNlcnZpY2VPdXRwdXRUeXBlcz4ge1xuICAgIC8vIFNldCB1cCBkYXRhIGlucHV0IGNodW5rcy5cbiAgICBjb25zdCBkYXRhRmVlZGVyID0gZ2V0Q2h1bmsodGhpcy5wYXJhbXMuQm9keSwgdGhpcy5wYXJ0U2l6ZSk7XG5cbiAgICAvLyBDcmVhdGUgYW5kIHN0YXJ0IGNvbmN1cnJlbnQgdXBsb2Fkcy5cbiAgICBmb3IgKGxldCBpbmRleCA9IDA7IGluZGV4IDwgdGhpcy5xdWV1ZVNpemU7IGluZGV4KyspIHtcbiAgICAgIGNvbnN0IGN1cnJlbnRVcGxvYWQgPSB0aGlzLl9fZG9Db25jdXJyZW50VXBsb2FkKGRhdGFGZWVkZXIpO1xuICAgICAgdGhpcy5jb25jdXJyZW50VXBsb2FkZXJzLnB1c2goY3VycmVudFVwbG9hZCk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGFuZCBzdGFydCBjb25jdXJyZW50IHVwbG9hZHMuXG4gICAgYXdhaXQgUHJvbWlzZS5hbGwodGhpcy5jb25jdXJyZW50VXBsb2FkZXJzKTtcbiAgICBpZiAodGhpcy5hYm9ydENvbnRyb2xsZXIuc2lnbmFsLmFib3J0ZWQpIHtcbiAgICAgIHRocm93IE9iamVjdC5hc3NpZ24obmV3IEVycm9yKFwiVXBsb2FkIGFib3J0ZWQuXCIpLCB7IG5hbWU6IFwiQWJvcnRFcnJvclwiIH0pO1xuICAgIH1cblxuICAgIGxldCByZXN1bHQ7XG4gICAgaWYgKHRoaXMuaXNNdWx0aVBhcnQpIHtcbiAgICAgIHRoaXMudXBsb2FkZWRQYXJ0cy5zb3J0KChhLCBiKSA9PiBhLlBhcnROdW1iZXIhIC0gYi5QYXJ0TnVtYmVyISk7XG5cbiAgICAgIGNvbnN0IHVwbG9hZENvbXBsZXRlUGFyYW1zID0ge1xuICAgICAgICAuLi50aGlzLnBhcmFtcyxcbiAgICAgICAgQm9keTogdW5kZWZpbmVkLFxuICAgICAgICBVcGxvYWRJZDogdGhpcy51cGxvYWRJZCxcbiAgICAgICAgTXVsdGlwYXJ0VXBsb2FkOiB7XG4gICAgICAgICAgUGFydHM6IHRoaXMudXBsb2FkZWRQYXJ0cyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKG5ldyBDb21wbGV0ZU11bHRpcGFydFVwbG9hZENvbW1hbmQodXBsb2FkQ29tcGxldGVQYXJhbXMpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmVzdWx0ID0gdGhpcy5wdXRSZXNwb25zZSE7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRhZ3MgdG8gdGhlIG9iamVjdCBhZnRlciBpdCdzIGNvbXBsZXRlZCB0aGUgdXBsb2FkLlxuICAgIGlmICh0aGlzLnRhZ3MubGVuZ3RoKSB7XG4gICAgICBhd2FpdCB0aGlzLmNsaWVudC5zZW5kKFxuICAgICAgICBuZXcgUHV0T2JqZWN0VGFnZ2luZ0NvbW1hbmQoe1xuICAgICAgICAgIC4uLnRoaXMucGFyYW1zLFxuICAgICAgICAgIFRhZ2dpbmc6IHtcbiAgICAgICAgICAgIFRhZ1NldDogdGhpcy50YWdzLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgIH1cblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH1cblxuICBfX25vdGlmeVByb2dyZXNzKHByb2dyZXNzOiBQcm9ncmVzcykge1xuICAgIGlmICh0aGlzLnVwbG9hZEV2ZW50KSB7XG4gICAgICB0aGlzLmVtaXQodGhpcy51cGxvYWRFdmVudCwgcHJvZ3Jlc3MpO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIF9fYWJvcnRUaW1lb3V0KGFib3J0U2lnbmFsOiBBYm9ydFNpZ25hbCk6IFByb21pc2U8U2VydmljZU91dHB1dFR5cGVzPiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGFib3J0U2lnbmFsLm9uYWJvcnQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IGFib3J0RXJyb3IgPSBuZXcgRXJyb3IoXCJVcGxvYWQgYWJvcnRlZC5cIik7XG4gICAgICAgIGFib3J0RXJyb3IubmFtZSA9IFwiQWJvcnRFcnJvclwiO1xuICAgICAgICByZWplY3QoYWJvcnRFcnJvcik7XG4gICAgICB9O1xuICAgIH0pO1xuICB9XG5cbiAgX192YWxpZGF0ZUlucHV0KCkge1xuICAgIGlmICghdGhpcy5wYXJhbXMpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW5wdXRFcnJvcjogVXBsb2FkIHJlcXVpcmVzIHBhcmFtcyB0byBiZSBwYXNzZWQgdG8gdXBsb2FkLmApO1xuICAgIH1cblxuICAgIGlmICghdGhpcy5jbGllbnQpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgSW5wdXRFcnJvcjogVXBsb2FkIHJlcXVpcmVzIGEgQVdTIGNsaWVudCB0byBkbyB1cGxvYWRzIHdpdGguYCk7XG4gICAgfVxuXG4gICAgaWYgKHRoaXMucGFydFNpemUgPCBNSU5fUEFSVF9TSVpFKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFbnRpdHlUb29TbWFsbDogWW91ciBwcm9wb3NlZCB1cGxvYWQgcGFydHNpemUgWyR7dGhpcy5wYXJ0U2l6ZX1dIGlzIHNtYWxsZXIgdGhhbiB0aGUgbWluaW11bSBhbGxvd2VkIHNpemUgWyR7TUlOX1BBUlRfU0laRX1dICg1TUIpYFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBpZiAodGhpcy5xdWV1ZVNpemUgPCAxKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFF1ZXVlIHNpemU6IE11c3QgaGF2ZSBhdCBsZWFzdCBvbmUgdXBsb2FkaW5nIHF1ZXVlLmApO1xuICAgIH1cbiAgfVxufVxuIl19
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.byteLength = void 0;
4
+ const runtimeConfig_1 = require("./runtimeConfig");
5
+ const byteLength = (input) => {
6
+ if (input === null || input === undefined)
7
+ return 0;
8
+ if (typeof input === "string")
9
+ input = Buffer.from(input);
10
+ if (typeof input.byteLength === "number") {
11
+ return input.byteLength;
12
+ }
13
+ else if (typeof input.length === "number") {
14
+ return input.length;
15
+ }
16
+ else if (typeof input.size === "number") {
17
+ return input.size;
18
+ }
19
+ else if (typeof input.path === "string") {
20
+ try {
21
+ return runtimeConfig_1.ClientDefaultValues.lstatSync(input.path).size;
22
+ }
23
+ catch (error) {
24
+ return undefined;
25
+ }
26
+ }
27
+ return undefined;
28
+ };
29
+ exports.byteLength = byteLength;
30
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYnl0ZWxlbmd0aC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ieXRlbGVuZ3RoLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1EQUFzRDtBQUUvQyxNQUFNLFVBQVUsR0FBRyxDQUFDLEtBQVUsRUFBRSxFQUFFO0lBQ3ZDLElBQUksS0FBSyxLQUFLLElBQUksSUFBSSxLQUFLLEtBQUssU0FBUztRQUFFLE9BQU8sQ0FBQyxDQUFDO0lBQ3BELElBQUksT0FBTyxLQUFLLEtBQUssUUFBUTtRQUFFLEtBQUssR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQzFELElBQUksT0FBTyxLQUFLLENBQUMsVUFBVSxLQUFLLFFBQVEsRUFBRTtRQUN4QyxPQUFPLEtBQUssQ0FBQyxVQUFVLENBQUM7S0FDekI7U0FBTSxJQUFJLE9BQU8sS0FBSyxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQUU7UUFDM0MsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDO0tBQ3JCO1NBQU0sSUFBSSxPQUFPLEtBQUssQ0FBQyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQ3pDLE9BQU8sS0FBSyxDQUFDLElBQUksQ0FBQztLQUNuQjtTQUFNLElBQUksT0FBTyxLQUFLLENBQUMsSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUN6QyxJQUFJO1lBQ0YsT0FBTyxtQ0FBbUIsQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQztTQUN2RDtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsT0FBTyxTQUFTLENBQUM7U0FDbEI7S0FDRjtJQUNELE9BQU8sU0FBUyxDQUFDO0FBQ25CLENBQUMsQ0FBQztBQWpCVyxRQUFBLFVBQVUsY0FpQnJCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50RGVmYXVsdFZhbHVlcyB9IGZyb20gXCIuL3J1bnRpbWVDb25maWdcIjtcblxuZXhwb3J0IGNvbnN0IGJ5dGVMZW5ndGggPSAoaW5wdXQ6IGFueSkgPT4ge1xuICBpZiAoaW5wdXQgPT09IG51bGwgfHwgaW5wdXQgPT09IHVuZGVmaW5lZCkgcmV0dXJuIDA7XG4gIGlmICh0eXBlb2YgaW5wdXQgPT09IFwic3RyaW5nXCIpIGlucHV0ID0gQnVmZmVyLmZyb20oaW5wdXQpO1xuICBpZiAodHlwZW9mIGlucHV0LmJ5dGVMZW5ndGggPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gaW5wdXQuYnl0ZUxlbmd0aDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXQubGVuZ3RoID09PSBcIm51bWJlclwiKSB7XG4gICAgcmV0dXJuIGlucHV0Lmxlbmd0aDtcbiAgfSBlbHNlIGlmICh0eXBlb2YgaW5wdXQuc2l6ZSA9PT0gXCJudW1iZXJcIikge1xuICAgIHJldHVybiBpbnB1dC5zaXplO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBpbnB1dC5wYXRoID09PSBcInN0cmluZ1wiKSB7XG4gICAgdHJ5IHtcbiAgICAgIHJldHVybiBDbGllbnREZWZhdWx0VmFsdWVzLmxzdGF0U3luYyhpbnB1dC5wYXRoKS5zaXplO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfVxuICByZXR1cm4gdW5kZWZpbmVkO1xufTtcbiJdfQ==
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getChunk = void 0;
4
+ const stream_1 = require("stream");
5
+ const buffer_1 = require("buffer");
6
+ const getChunkBuffer_1 = require("./chunks/getChunkBuffer");
7
+ const getChunkStream_1 = require("./chunks/getChunkStream");
8
+ const getDataReadableStream_1 = require("./chunks/getDataReadableStream");
9
+ const getDataReadable_1 = require("./chunks/getDataReadable");
10
+ const getChunk = (data, partSize) => {
11
+ if (data instanceof buffer_1.Buffer) {
12
+ return getChunkBuffer_1.getChunkBuffer(data, partSize);
13
+ }
14
+ else if (data instanceof stream_1.Readable) {
15
+ return getChunkStream_1.getChunkStream(data, partSize, getDataReadable_1.getDataReadable);
16
+ }
17
+ else if (data instanceof String || typeof data === "string" || data instanceof Uint8Array) {
18
+ return getChunkBuffer_1.getChunkBuffer(buffer_1.Buffer.from(data), partSize);
19
+ }
20
+ if (typeof data.stream === "function") {
21
+ return getChunkStream_1.getChunkStream(data.stream(), partSize, getDataReadableStream_1.getDataReadableStream);
22
+ }
23
+ else if (data instanceof ReadableStream) {
24
+ return getChunkStream_1.getChunkStream(data, partSize, getDataReadableStream_1.getDataReadableStream);
25
+ }
26
+ else {
27
+ throw new Error("Body Data is unsupported format, expected data to be one of: string | Uint8Array | Buffer | Readable | ReadableStream | Blob;.");
28
+ }
29
+ };
30
+ exports.getChunk = getChunk;
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2h1bmtlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jaHVua2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLG1DQUFrQztBQUNsQyxtQ0FBZ0M7QUFHaEMsNERBQXlEO0FBQ3pELDREQUF5RDtBQUN6RCwwRUFBdUU7QUFDdkUsOERBQTJEO0FBRXBELE1BQU0sUUFBUSxHQUFHLENBQUMsSUFBbUIsRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDaEUsSUFBSSxJQUFJLFlBQVksZUFBTSxFQUFFO1FBQzFCLE9BQU8sK0JBQWMsQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7S0FDdkM7U0FBTSxJQUFJLElBQUksWUFBWSxpQkFBUSxFQUFFO1FBQ25DLE9BQU8sK0JBQWMsQ0FBVyxJQUFJLEVBQUUsUUFBUSxFQUFFLGlDQUFlLENBQUMsQ0FBQztLQUNsRTtTQUFNLElBQUksSUFBSSxZQUFZLE1BQU0sSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLElBQUksSUFBSSxZQUFZLFVBQVUsRUFBRTtRQUUzRixPQUFPLCtCQUFjLENBQUMsZUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxRQUFRLENBQUMsQ0FBQztLQUNwRDtJQUNELElBQUksT0FBUSxJQUFZLENBQUMsTUFBTSxLQUFLLFVBQVUsRUFBRTtRQUU5QyxPQUFPLCtCQUFjLENBQWtCLElBQVksQ0FBQyxNQUFNLEVBQUUsRUFBRSxRQUFRLEVBQUUsNkNBQXFCLENBQUMsQ0FBQztLQUNoRztTQUFNLElBQUksSUFBSSxZQUFZLGNBQWMsRUFBRTtRQUN6QyxPQUFPLCtCQUFjLENBQWlCLElBQUksRUFBRSxRQUFRLEVBQUUsNkNBQXFCLENBQUMsQ0FBQztLQUM5RTtTQUFNO1FBQ0wsTUFBTSxJQUFJLEtBQUssQ0FDYixnSUFBZ0ksQ0FDakksQ0FBQztLQUNIO0FBQ0gsQ0FBQyxDQUFDO0FBbkJXLFFBQUEsUUFBUSxZQW1CbkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFkYWJsZSB9IGZyb20gXCJzdHJlYW1cIjtcbmltcG9ydCB7IEJ1ZmZlciB9IGZyb20gXCJidWZmZXJcIjtcblxuaW1wb3J0IHsgQm9keURhdGFUeXBlcyB9IGZyb20gXCIuL3R5cGVzXCI7XG5pbXBvcnQgeyBnZXRDaHVua0J1ZmZlciB9IGZyb20gXCIuL2NodW5rcy9nZXRDaHVua0J1ZmZlclwiO1xuaW1wb3J0IHsgZ2V0Q2h1bmtTdHJlYW0gfSBmcm9tIFwiLi9jaHVua3MvZ2V0Q2h1bmtTdHJlYW1cIjtcbmltcG9ydCB7IGdldERhdGFSZWFkYWJsZVN0cmVhbSB9IGZyb20gXCIuL2NodW5rcy9nZXREYXRhUmVhZGFibGVTdHJlYW1cIjtcbmltcG9ydCB7IGdldERhdGFSZWFkYWJsZSB9IGZyb20gXCIuL2NodW5rcy9nZXREYXRhUmVhZGFibGVcIjtcblxuZXhwb3J0IGNvbnN0IGdldENodW5rID0gKGRhdGE6IEJvZHlEYXRhVHlwZXMsIHBhcnRTaXplOiBudW1iZXIpID0+IHtcbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBCdWZmZXIpIHtcbiAgICByZXR1cm4gZ2V0Q2h1bmtCdWZmZXIoZGF0YSwgcGFydFNpemUpO1xuICB9IGVsc2UgaWYgKGRhdGEgaW5zdGFuY2VvZiBSZWFkYWJsZSkge1xuICAgIHJldHVybiBnZXRDaHVua1N0cmVhbTxSZWFkYWJsZT4oZGF0YSwgcGFydFNpemUsIGdldERhdGFSZWFkYWJsZSk7XG4gIH0gZWxzZSBpZiAoZGF0YSBpbnN0YW5jZW9mIFN0cmluZyB8fCB0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIiB8fCBkYXRhIGluc3RhbmNlb2YgVWludDhBcnJheSkge1xuICAgIC8vIGNodW5rIFN0cmluZ3MsIFVpbnQ4QXJyYXkuXG4gICAgcmV0dXJuIGdldENodW5rQnVmZmVyKEJ1ZmZlci5mcm9tKGRhdGEpLCBwYXJ0U2l6ZSk7XG4gIH1cbiAgaWYgKHR5cGVvZiAoZGF0YSBhcyBhbnkpLnN0cmVhbSA9PT0gXCJmdW5jdGlvblwiKSB7XG4gICAgLy8gYXBwcm94aW1hdGUgc3VwcG9ydCBmb3IgQmxvYnMuXG4gICAgcmV0dXJuIGdldENodW5rU3RyZWFtPFJlYWRhYmxlU3RyZWFtPigoZGF0YSBhcyBhbnkpLnN0cmVhbSgpLCBwYXJ0U2l6ZSwgZ2V0RGF0YVJlYWRhYmxlU3RyZWFtKTtcbiAgfSBlbHNlIGlmIChkYXRhIGluc3RhbmNlb2YgUmVhZGFibGVTdHJlYW0pIHtcbiAgICByZXR1cm4gZ2V0Q2h1bmtTdHJlYW08UmVhZGFibGVTdHJlYW0+KGRhdGEsIHBhcnRTaXplLCBnZXREYXRhUmVhZGFibGVTdHJlYW0pO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwiQm9keSBEYXRhIGlzIHVuc3VwcG9ydGVkIGZvcm1hdCwgZXhwZWN0ZWQgZGF0YSB0byBiZSBvbmUgb2Y6IHN0cmluZyB8IFVpbnQ4QXJyYXkgfCBCdWZmZXIgfCBSZWFkYWJsZSB8IFJlYWRhYmxlU3RyZWFtIHwgQmxvYjsuXCJcbiAgICApO1xuICB9XG59O1xuIl19
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getChunkBuffer = void 0;
4
+ async function* getChunkBuffer(data, partSize) {
5
+ let partNumber = 1;
6
+ let startByte = 0;
7
+ let endByte = partSize;
8
+ while (endByte < data.byteLength) {
9
+ yield {
10
+ partNumber,
11
+ data: data.slice(startByte, endByte),
12
+ };
13
+ partNumber += 1;
14
+ startByte = endByte;
15
+ endByte = startByte + partSize;
16
+ }
17
+ yield {
18
+ partNumber,
19
+ data: data.slice(startByte),
20
+ lastPart: true,
21
+ };
22
+ }
23
+ exports.getChunkBuffer = getChunkBuffer;
24
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2h1bmtCdWZmZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2h1bmtzL2dldENodW5rQnVmZmVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVPLEtBQUssU0FBUyxDQUFDLENBQUMsY0FBYyxDQUFDLElBQVksRUFBRSxRQUFnQjtJQUNsRSxJQUFJLFVBQVUsR0FBRyxDQUFDLENBQUM7SUFDbkIsSUFBSSxTQUFTLEdBQUcsQ0FBQyxDQUFDO0lBQ2xCLElBQUksT0FBTyxHQUFHLFFBQVEsQ0FBQztJQUV2QixPQUFPLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFO1FBQ2hDLE1BQU07WUFDSixVQUFVO1lBQ1YsSUFBSSxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsU0FBUyxFQUFFLE9BQU8sQ0FBQztTQUNyQyxDQUFDO1FBQ0YsVUFBVSxJQUFJLENBQUMsQ0FBQztRQUNoQixTQUFTLEdBQUcsT0FBTyxDQUFDO1FBQ3BCLE9BQU8sR0FBRyxTQUFTLEdBQUcsUUFBUSxDQUFDO0tBQ2hDO0lBRUQsTUFBTTtRQUNKLFVBQVU7UUFDVixJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7UUFDM0IsUUFBUSxFQUFFLElBQUk7S0FDZixDQUFDO0FBQ0osQ0FBQztBQXBCRCx3Q0FvQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSYXdEYXRhUGFydCB9IGZyb20gXCIuLi9VcGxvYWRcIjtcblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uKiBnZXRDaHVua0J1ZmZlcihkYXRhOiBCdWZmZXIsIHBhcnRTaXplOiBudW1iZXIpOiBBc3luY0dlbmVyYXRvcjxSYXdEYXRhUGFydCwgdm9pZCwgdW5kZWZpbmVkPiB7XG4gIGxldCBwYXJ0TnVtYmVyID0gMTtcbiAgbGV0IHN0YXJ0Qnl0ZSA9IDA7XG4gIGxldCBlbmRCeXRlID0gcGFydFNpemU7XG5cbiAgd2hpbGUgKGVuZEJ5dGUgPCBkYXRhLmJ5dGVMZW5ndGgpIHtcbiAgICB5aWVsZCB7XG4gICAgICBwYXJ0TnVtYmVyLFxuICAgICAgZGF0YTogZGF0YS5zbGljZShzdGFydEJ5dGUsIGVuZEJ5dGUpLFxuICAgIH07XG4gICAgcGFydE51bWJlciArPSAxO1xuICAgIHN0YXJ0Qnl0ZSA9IGVuZEJ5dGU7XG4gICAgZW5kQnl0ZSA9IHN0YXJ0Qnl0ZSArIHBhcnRTaXplO1xuICB9XG5cbiAgeWllbGQge1xuICAgIHBhcnROdW1iZXIsXG4gICAgZGF0YTogZGF0YS5zbGljZShzdGFydEJ5dGUpLFxuICAgIGxhc3RQYXJ0OiB0cnVlLFxuICB9O1xufVxuIl19
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getChunkStream = void 0;
4
+ const buffer_1 = require("buffer");
5
+ async function* getChunkStream(data, partSize, getNextData) {
6
+ let partNumber = 1;
7
+ const currentBuffer = { chunks: [], length: 0 };
8
+ for await (const datum of getNextData(data)) {
9
+ currentBuffer.chunks.push(datum);
10
+ currentBuffer.length += datum.length;
11
+ while (currentBuffer.length >= partSize) {
12
+ const dataChunk = currentBuffer.chunks.length > 1 ? buffer_1.Buffer.concat(currentBuffer.chunks) : currentBuffer.chunks[0];
13
+ yield {
14
+ partNumber,
15
+ data: dataChunk.slice(0, partSize),
16
+ };
17
+ currentBuffer.chunks = [dataChunk.slice(partSize)];
18
+ currentBuffer.length = currentBuffer.chunks[0].length;
19
+ partNumber += 1;
20
+ }
21
+ }
22
+ yield {
23
+ partNumber,
24
+ data: buffer_1.Buffer.concat(currentBuffer.chunks),
25
+ lastPart: true,
26
+ };
27
+ }
28
+ exports.getChunkStream = getChunkStream;
29
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2h1bmtTdHJlYW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2h1bmtzL2dldENodW5rU3RyZWFtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUNBLG1DQUFnQztBQU96QixLQUFLLFNBQVMsQ0FBQyxDQUFDLGNBQWMsQ0FDbkMsSUFBTyxFQUNQLFFBQWdCLEVBQ2hCLFdBQWdEO0lBRWhELElBQUksVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNuQixNQUFNLGFBQWEsR0FBWSxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDO0lBRXpELElBQUksS0FBSyxFQUFFLE1BQU0sS0FBSyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUMzQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNqQyxhQUFhLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQyxNQUFNLENBQUM7UUFFckMsT0FBTyxhQUFhLENBQUMsTUFBTSxJQUFJLFFBQVEsRUFBRTtZQUt2QyxNQUFNLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLGVBQU0sQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBRWxILE1BQU07Z0JBQ0osVUFBVTtnQkFDVixJQUFJLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsUUFBUSxDQUFDO2FBQ25DLENBQUM7WUFHRixhQUFhLENBQUMsTUFBTSxHQUFHLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBQ25ELGFBQWEsQ0FBQyxNQUFNLEdBQUcsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUM7WUFDdEQsVUFBVSxJQUFJLENBQUMsQ0FBQztTQUNqQjtLQUNGO0lBQ0QsTUFBTTtRQUNKLFVBQVU7UUFDVixJQUFJLEVBQUUsZUFBTSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO1FBQ3pDLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQztBQUNKLENBQUM7QUFuQ0Qsd0NBbUNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUmF3RGF0YVBhcnQgfSBmcm9tIFwiLi4vVXBsb2FkXCI7XG5pbXBvcnQgeyBCdWZmZXIgfSBmcm9tIFwiYnVmZmVyXCI7XG5cbmludGVyZmFjZSBCdWZmZXJzIHtcbiAgY2h1bmtzOiBCdWZmZXJbXTtcbiAgbGVuZ3RoOiBudW1iZXI7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiogZ2V0Q2h1bmtTdHJlYW08VD4oXG4gIGRhdGE6IFQsXG4gIHBhcnRTaXplOiBudW1iZXIsXG4gIGdldE5leHREYXRhOiAoZGF0YTogVCkgPT4gQXN5bmNHZW5lcmF0b3I8QnVmZmVyPlxuKTogQXN5bmNHZW5lcmF0b3I8UmF3RGF0YVBhcnQsIHZvaWQsIHVuZGVmaW5lZD4ge1xuICBsZXQgcGFydE51bWJlciA9IDE7XG4gIGNvbnN0IGN1cnJlbnRCdWZmZXI6IEJ1ZmZlcnMgPSB7IGNodW5rczogW10sIGxlbmd0aDogMCB9O1xuXG4gIGZvciBhd2FpdCAoY29uc3QgZGF0dW0gb2YgZ2V0TmV4dERhdGEoZGF0YSkpIHtcbiAgICBjdXJyZW50QnVmZmVyLmNodW5rcy5wdXNoKGRhdHVtKTtcbiAgICBjdXJyZW50QnVmZmVyLmxlbmd0aCArPSBkYXR1bS5sZW5ndGg7XG5cbiAgICB3aGlsZSAoY3VycmVudEJ1ZmZlci5sZW5ndGggPj0gcGFydFNpemUpIHtcbiAgICAgIC8qKlxuICAgICAgICogQ29uY2F0IGFsbCB0aGUgYnVmZmVycyB0b2dldGhlciBvbmNlIGlmIHRoZXJlIGlzIG1vcmUgdGhhbiBvbmUgdG8gY29uY2F0LiBBdHRlbXB0XG4gICAgICAgKiB0byBtaW5pbWl6ZSBjb25jYXRzIGFzIEJ1ZmZlci5Db25jYXQgaXMgYW4gZXh0cmVtZWx5IGV4cGVuc2l2ZSBvcGVyYXRpb24uXG4gICAgICAgKi9cbiAgICAgIGNvbnN0IGRhdGFDaHVuayA9IGN1cnJlbnRCdWZmZXIuY2h1bmtzLmxlbmd0aCA+IDEgPyBCdWZmZXIuY29uY2F0KGN1cnJlbnRCdWZmZXIuY2h1bmtzKSA6IGN1cnJlbnRCdWZmZXIuY2h1bmtzWzBdO1xuXG4gICAgICB5aWVsZCB7XG4gICAgICAgIHBhcnROdW1iZXIsXG4gICAgICAgIGRhdGE6IGRhdGFDaHVuay5zbGljZSgwLCBwYXJ0U2l6ZSksXG4gICAgICB9O1xuXG4gICAgICAvLyBSZXNldCB0aGUgYnVmZmVyLlxuICAgICAgY3VycmVudEJ1ZmZlci5jaHVua3MgPSBbZGF0YUNodW5rLnNsaWNlKHBhcnRTaXplKV07XG4gICAgICBjdXJyZW50QnVmZmVyLmxlbmd0aCA9IGN1cnJlbnRCdWZmZXIuY2h1bmtzWzBdLmxlbmd0aDtcbiAgICAgIHBhcnROdW1iZXIgKz0gMTtcbiAgICB9XG4gIH1cbiAgeWllbGQge1xuICAgIHBhcnROdW1iZXIsXG4gICAgZGF0YTogQnVmZmVyLmNvbmNhdChjdXJyZW50QnVmZmVyLmNodW5rcyksXG4gICAgbGFzdFBhcnQ6IHRydWUsXG4gIH07XG59XG4iXX0=
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDataReadable = void 0;
4
+ const buffer_1 = require("buffer");
5
+ async function* getDataReadable(data) {
6
+ for await (const chunk of data) {
7
+ yield buffer_1.Buffer.from(chunk);
8
+ }
9
+ }
10
+ exports.getDataReadable = getDataReadable;
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RGF0YVJlYWRhYmxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NodW5rcy9nZXREYXRhUmVhZGFibGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsbUNBQWdDO0FBRXpCLEtBQUssU0FBUyxDQUFDLENBQUMsZUFBZSxDQUFDLElBQWM7SUFDbkQsSUFBSSxLQUFLLEVBQUUsTUFBTSxLQUFLLElBQUksSUFBSSxFQUFFO1FBQzlCLE1BQU0sZUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztLQUMxQjtBQUNILENBQUM7QUFKRCwwQ0FJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlYWRhYmxlIH0gZnJvbSBcInN0cmVhbVwiO1xuaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSBcImJ1ZmZlclwiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGdldERhdGFSZWFkYWJsZShkYXRhOiBSZWFkYWJsZSk6IEFzeW5jR2VuZXJhdG9yPEJ1ZmZlcj4ge1xuICBmb3IgYXdhaXQgKGNvbnN0IGNodW5rIG9mIGRhdGEpIHtcbiAgICB5aWVsZCBCdWZmZXIuZnJvbShjaHVuayk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,23 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getDataReadableStream = void 0;
4
+ const buffer_1 = require("buffer");
5
+ async function* getDataReadableStream(data) {
6
+ const reader = data.getReader();
7
+ try {
8
+ while (true) {
9
+ const { done, value } = await reader.read();
10
+ if (done)
11
+ return;
12
+ yield buffer_1.Buffer.from(value);
13
+ }
14
+ }
15
+ catch (e) {
16
+ throw e;
17
+ }
18
+ finally {
19
+ reader.releaseLock();
20
+ }
21
+ }
22
+ exports.getDataReadableStream = getDataReadableStream;
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0RGF0YVJlYWRhYmxlU3RyZWFtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NodW5rcy9nZXREYXRhUmVhZGFibGVTdHJlYW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUNBQWdDO0FBRXpCLEtBQUssU0FBUyxDQUFDLENBQUMscUJBQXFCLENBQUMsSUFBb0I7SUFFL0QsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO0lBRWhDLElBQUk7UUFDRixPQUFPLElBQUksRUFBRTtZQUVYLE1BQU0sRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLEdBQUcsTUFBTSxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7WUFFNUMsSUFBSSxJQUFJO2dCQUFFLE9BQU87WUFFakIsTUFBTSxlQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQzFCO0tBQ0Y7SUFBQyxPQUFPLENBQUMsRUFBRTtRQUNWLE1BQU0sQ0FBQyxDQUFDO0tBQ1Q7WUFBUztRQUVSLE1BQU0sQ0FBQyxXQUFXLEVBQUUsQ0FBQztLQUN0QjtBQUNILENBQUM7QUFuQkQsc0RBbUJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQnVmZmVyIH0gZnJvbSBcImJ1ZmZlclwiO1xuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24qIGdldERhdGFSZWFkYWJsZVN0cmVhbShkYXRhOiBSZWFkYWJsZVN0cmVhbSk6IEFzeW5jR2VuZXJhdG9yPEJ1ZmZlcj4ge1xuICAvLyBHZXQgYSBsb2NrIG9uIHRoZSBzdHJlYW0uXG4gIGNvbnN0IHJlYWRlciA9IGRhdGEuZ2V0UmVhZGVyKCk7XG5cbiAgdHJ5IHtcbiAgICB3aGlsZSAodHJ1ZSkge1xuICAgICAgLy8gUmVhZCBmcm9tIHRoZSBzdHJlYW0uXG4gICAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpO1xuICAgICAgLy8gRXhpdCBpZiB3ZSdyZSBkb25lLlxuICAgICAgaWYgKGRvbmUpIHJldHVybjtcbiAgICAgIC8vIEVsc2UgeWllbGQgdGhlIGNodW5rLlxuICAgICAgeWllbGQgQnVmZmVyLmZyb20odmFsdWUpO1xuICAgIH1cbiAgfSBjYXRjaCAoZSkge1xuICAgIHRocm93IGU7XG4gIH0gZmluYWxseSB7XG4gICAgLy8gcmVsZWFzZSB0aGUgbG9jayBmb3IgcmVhZGluZyBmcm9tIHRoaXMgc3RyZWFtLlxuICAgIHJlYWRlci5yZWxlYXNlTG9jaygpO1xuICB9XG59XG4iXX0=
@@ -3,4 +3,4 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  const tslib_1 = require("tslib");
4
4
  tslib_1.__exportStar(require("./Upload"), exports);
5
5
  tslib_1.__exportStar(require("./types"), exports);
6
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXlCO0FBQ3pCLGtEQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1VwbG9hZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
6
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbURBQXlCO0FBQ3pCLGtEQUF3QiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCAqIGZyb20gXCIuL1VwbG9hZFwiO1xuZXhwb3J0ICogZnJvbSBcIi4vdHlwZXNcIjtcbiJdfQ==
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientDefaultValues = void 0;
4
+ const runtimeConfig_shared_1 = require("./runtimeConfig.shared");
5
+ exports.ClientDefaultValues = {
6
+ ...runtimeConfig_shared_1.ClientSharedValues,
7
+ runtime: "browser",
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZUNvbmZpZy5icm93c2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3J1bnRpbWVDb25maWcuYnJvd3Nlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSxpRUFBNEQ7QUFLL0MsUUFBQSxtQkFBbUIsR0FBRztJQUNqQyxHQUFHLHlDQUFrQjtJQUNyQixPQUFPLEVBQUUsU0FBUztDQUNuQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50U2hhcmVkVmFsdWVzIH0gZnJvbSBcIi4vcnVudGltZUNvbmZpZy5zaGFyZWRcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IENsaWVudERlZmF1bHRWYWx1ZXMgPSB7XG4gIC4uLkNsaWVudFNoYXJlZFZhbHVlcyxcbiAgcnVudGltZTogXCJicm93c2VyXCIsXG59O1xuIl19
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientDefaultValues = void 0;
4
+ const runtimeConfig_shared_1 = require("./runtimeConfig.shared");
5
+ const fs_1 = require("fs");
6
+ exports.ClientDefaultValues = {
7
+ ...runtimeConfig_shared_1.ClientSharedValues,
8
+ runtime: "node",
9
+ lstatSync: fs_1.lstatSync,
10
+ };
11
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZUNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9ydW50aW1lQ29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLGlFQUE0RDtBQUM1RCwyQkFBK0I7QUFLbEIsUUFBQSxtQkFBbUIsR0FBRztJQUNqQyxHQUFHLHlDQUFrQjtJQUNyQixPQUFPLEVBQUUsTUFBTTtJQUNmLFNBQVMsRUFBVCxjQUFTO0NBQ1YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENsaWVudFNoYXJlZFZhbHVlcyB9IGZyb20gXCIuL3J1bnRpbWVDb25maWcuc2hhcmVkXCI7XG5pbXBvcnQgeyBsc3RhdFN5bmMgfSBmcm9tIFwiZnNcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IENsaWVudERlZmF1bHRWYWx1ZXMgPSB7XG4gIC4uLkNsaWVudFNoYXJlZFZhbHVlcyxcbiAgcnVudGltZTogXCJub2RlXCIsXG4gIGxzdGF0U3luYyxcbn07XG4iXX0=
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientDefaultValues = void 0;
4
+ const runtimeConfig_browser_1 = require("./runtimeConfig.browser");
5
+ exports.ClientDefaultValues = {
6
+ ...runtimeConfig_browser_1.ClientDefaultValues,
7
+ runtime: "react-native",
8
+ };
9
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZUNvbmZpZy5uYXRpdmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcnVudGltZUNvbmZpZy5uYXRpdmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsbUVBQWlGO0FBS3BFLFFBQUEsbUJBQW1CLEdBQUc7SUFDakMsR0FBRywyQ0FBZTtJQUNsQixPQUFPLEVBQUUsY0FBYztDQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50RGVmYXVsdFZhbHVlcyBhcyBCcm93c2VyRGVmYXVsdHMgfSBmcm9tIFwiLi9ydW50aW1lQ29uZmlnLmJyb3dzZXJcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IENsaWVudERlZmF1bHRWYWx1ZXMgPSB7XG4gIC4uLkJyb3dzZXJEZWZhdWx0cyxcbiAgcnVudGltZTogXCJyZWFjdC1uYXRpdmVcIixcbn07XG4iXX0=
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ClientSharedValues = void 0;
4
+ exports.ClientSharedValues = {
5
+ lstatSync: () => { },
6
+ };
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicnVudGltZUNvbmZpZy5zaGFyZWQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvcnVudGltZUNvbmZpZy5zaGFyZWQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBR2EsUUFBQSxrQkFBa0IsR0FBRztJQUNoQyxTQUFTLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztDQUNwQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IENsaWVudFNoYXJlZFZhbHVlcyA9IHtcbiAgbHN0YXRTeW5jOiAoKSA9PiB7fSxcbn07XG4iXX0=
@@ -0,0 +1,3 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFB1dE9iamVjdENvbW1hbmRJbnB1dCwgUzNDbGllbnQsIFRhZyB9IGZyb20gXCJAYXdzLXNkay9jbGllbnQtczNcIjtcblxuZXhwb3J0IGludGVyZmFjZSBQcm9ncmVzcyB7XG4gIGxvYWRlZD86IG51bWJlcjtcbiAgdG90YWw/OiBudW1iZXI7XG4gIHBhcnQ/OiBudW1iZXI7XG4gIEtleT86IHN0cmluZztcbiAgQnVja2V0Pzogc3RyaW5nO1xufVxuXG4vLyBzdHJpbmcgfCBVaW50OEFycmF5IHwgQnVmZmVyIHwgUmVhZGFibGUgfCBSZWFkYWJsZVN0cmVhbSB8IEJsb2IuXG5leHBvcnQgdHlwZSBCb2R5RGF0YVR5cGVzID0gUHV0T2JqZWN0Q29tbWFuZElucHV0W1wiQm9keVwiXTtcblxuZXhwb3J0IHR5cGUgU2VydmljZUNsaWVudHMgPSBTM0NsaWVudDtcblxuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uIHtcbiAgLyoqXG4gICAqIFRoZSBzaXplIG9mIHRoZSBjb25jdXJyZW50IHF1ZXVlIG1hbmFnZXIgdG8gdXBsb2FkIHBhcnRzIGluIHBhcmFsbGVsLiBTZXQgdG8gMSBmb3Igc3luY2hyb25vdXMgdXBsb2FkaW5nIG9mIHBhcnRzLiBOb3RlIHRoYXQgdGhlIHVwbG9hZGVyIHdpbGwgYnVmZmVyIGF0IG1vc3QgcXVldWVTaXplICogcGFydFNpemUgYnl0ZXMgaW50byBtZW1vcnkgYXQgYW55IGdpdmVuIHRpbWUuXG4gICAqIGRlZmF1bHQ6IDRcbiAgICovXG4gIHF1ZXVlU2l6ZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0OiA1IG1iXG4gICAqIFRoZSBzaXplIGluIGJ5dGVzIGZvciBlYWNoIGluZGl2aWR1YWwgcGFydCB0byBiZSB1cGxvYWRlZC4gQWRqdXN0IHRoZSBwYXJ0IHNpemUgdG8gZW5zdXJlIHRoZSBudW1iZXIgb2YgcGFydHMgZG9lcyBub3QgZXhjZWVkIG1heFRvdGFsUGFydHMuIFNlZSA1bWIgaXMgdGhlIG1pbmltdW0gYWxsb3dlZCBwYXJ0IHNpemUuXG4gICAqL1xuICBwYXJ0U2l6ZTogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBEZWZhdWx0OiBmYWxzZVxuICAgKiBXaGV0aGVyIHRvIGFib3J0IHRoZSBtdWx0aXBhcnQgdXBsb2FkIGlmIGFuIGVycm9yIG9jY3Vycy4gU2V0IHRvIHRydWUgaWYgeW91IHdhbnQgdG8gaGFuZGxlIGZhaWx1cmVzIG1hbnVhbGx5LiBJZiBzZXQgdG8gZmFsc2UgKGRlZmF1bHQpXG4gICAqIHRoZSB1cGxvYWQgd2lsbCBkcm9wIHBhcnRzIHRoYXQgaGF2ZSBmYWlsZWQuXG4gICAqL1xuICBsZWF2ZVBhcnRzT25FcnJvcjogYm9vbGVhbjtcblxuICAvKipcbiAgICogVGhlIHRhZ3MgdG8gYXBwbHkgdG8gdGhlIG9iamVjdC5cbiAgICovXG4gIHRhZ3M6IFRhZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdGlvbnMgZXh0ZW5kcyBQYXJ0aWFsPENvbmZpZ3VyYXRpb24+IHtcbiAgLyoqXG4gICAqIFRoaXMgaXMgdGhlIGRhdGEgdGhhdCBpcyB1cGxvYWRlZC5cbiAgICovXG4gIHBhcmFtczogUHV0T2JqZWN0Q29tbWFuZElucHV0O1xuXG4gIC8qKlxuICAgKiBBIHNlcnZpY2UgY2xpZW50LlxuICAgKiBUaGlzIHRoZSB0YXJnZXQgd2hlcmUgd2UgdXBsb2FkIGRhdGEuXG4gICAqL1xuICBjbGllbnQ6IFNlcnZpY2VDbGllbnRzO1xufVxuIl19