@aws-sdk/sha256-tree-hash
Advanced tools
Comparing version 1.0.0-gamma.8 to 1.0.0-rc.1
@@ -6,2 +6,13 @@ # Change Log | ||
# [1.0.0-rc.1](https://github.com/aws/aws-sdk-js-v3/compare/v1.0.0-gamma.11...v1.0.0-rc.1) (2020-10-19) | ||
### Features | ||
* ready for release candidate ([#1578](https://github.com/aws/aws-sdk-js-v3/issues/1578)) ([519f66c](https://github.com/aws/aws-sdk-js-v3/commit/519f66c6388b91d0bd750a511e6d1af56196835e)) | ||
# [1.0.0-gamma.8](https://github.com/aws/aws-sdk-js-v3/compare/@aws-sdk/sha256-tree-hash@1.0.0-gamma.7...@aws-sdk/sha256-tree-hash@1.0.0-gamma.8) (2020-10-07) | ||
@@ -8,0 +19,0 @@ |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.TreeHash = void 0; | ||
var tslib_1 = require("tslib"); | ||
var MiB = 1048576; | ||
const MiB = 1048576; | ||
/** | ||
* A Hash that will calculate a Sha256 tree hash. | ||
*/ | ||
var TreeHash = /** @class */ (function () { | ||
class TreeHash { | ||
/** | ||
@@ -14,3 +13,3 @@ * Initializes a TreeHash. | ||
*/ | ||
function TreeHash(Sha256, fromUtf8) { | ||
constructor(Sha256, fromUtf8) { | ||
this.Sha256 = Sha256; | ||
@@ -26,9 +25,9 @@ this.fromUtf8 = fromUtf8; | ||
*/ | ||
TreeHash.prototype.hashBuffer = function () { | ||
hashBuffer() { | ||
if (!this.buffer) { | ||
return; | ||
} | ||
var remainingSize = this.buffer.byteLength; | ||
let remainingSize = this.buffer.byteLength; | ||
while (remainingSize >= MiB) { | ||
var hash = new this.Sha256(); | ||
const hash = new this.Sha256(); | ||
hash.update(this.buffer.subarray(0, MiB)); | ||
@@ -39,3 +38,3 @@ this.collectedHashDigests.push(hash.digest()); | ||
} | ||
}; | ||
} | ||
/** | ||
@@ -45,4 +44,4 @@ * Updates the tree hash with byte data. | ||
*/ | ||
TreeHash.prototype.update = function (data) { | ||
var chunk = this.convertToBuffer(data); | ||
update(data) { | ||
const chunk = this.convertToBuffer(data); | ||
if (!this.buffer) { | ||
@@ -53,4 +52,4 @@ this.buffer = chunk; | ||
// determine size of both pieces | ||
var totalSize = this.buffer.byteLength + chunk.byteLength; | ||
var tempBuffer = new Uint8Array(totalSize); | ||
const totalSize = this.buffer.byteLength + chunk.byteLength; | ||
const tempBuffer = new Uint8Array(totalSize); | ||
tempBuffer.set(this.buffer); | ||
@@ -62,57 +61,40 @@ tempBuffer.set(chunk, this.buffer.byteLength); | ||
this.hashBuffer(); | ||
}; | ||
} | ||
/** | ||
* Calculates the digest for the tree hash. | ||
*/ | ||
TreeHash.prototype.digest = function () { | ||
return tslib_1.__awaiter(this, void 0, void 0, function () { | ||
var collectedHashDigests, smallHash, higherLevelHashDigests, i, _a, digest1, digest2, chunk, hash; | ||
return tslib_1.__generator(this, function (_b) { | ||
switch (_b.label) { | ||
case 0: | ||
collectedHashDigests = this.collectedHashDigests; | ||
// remove the reference to collected hashes to free up space | ||
this.collectedHashDigests = []; | ||
// loop through collected hashes | ||
if (this.buffer && this.buffer.byteLength > 0) { | ||
smallHash = new this.Sha256(); | ||
smallHash.update(this.buffer); | ||
collectedHashDigests.push(smallHash.digest()); | ||
// remove the remaining buffer | ||
this.buffer = void 0; | ||
} | ||
_b.label = 1; | ||
case 1: | ||
if (!(collectedHashDigests.length > 1)) return [3 /*break*/, 7]; | ||
higherLevelHashDigests = []; | ||
i = 0; | ||
_b.label = 2; | ||
case 2: | ||
if (!(i < collectedHashDigests.length)) return [3 /*break*/, 6]; | ||
if (!(i + 1 < collectedHashDigests.length)) return [3 /*break*/, 4]; | ||
return [4 /*yield*/, Promise.all([collectedHashDigests[i], collectedHashDigests[i + 1]])]; | ||
case 3: | ||
_a = tslib_1.__read.apply(void 0, [_b.sent(), 2]), digest1 = _a[0], digest2 = _a[1]; | ||
chunk = new Uint8Array(digest1.byteLength + digest2.byteLength); | ||
chunk.set(digest1); | ||
chunk.set(digest2, digest1.byteLength); | ||
hash = new this.Sha256(); | ||
hash.update(chunk); | ||
higherLevelHashDigests.push(hash.digest()); | ||
return [3 /*break*/, 5]; | ||
case 4: | ||
// move a lone hash up a level | ||
higherLevelHashDigests.push(collectedHashDigests[i]); | ||
_b.label = 5; | ||
case 5: | ||
i += 2; | ||
return [3 /*break*/, 2]; | ||
case 6: | ||
collectedHashDigests = higherLevelHashDigests; | ||
return [3 /*break*/, 1]; | ||
case 7: return [2 /*return*/, collectedHashDigests[0]]; | ||
async digest() { | ||
let collectedHashDigests = this.collectedHashDigests; | ||
// remove the reference to collected hashes to free up space | ||
this.collectedHashDigests = []; | ||
// loop through collected hashes | ||
if (this.buffer && this.buffer.byteLength > 0) { | ||
const smallHash = new this.Sha256(); | ||
smallHash.update(this.buffer); | ||
collectedHashDigests.push(smallHash.digest()); | ||
// remove the remaining buffer | ||
this.buffer = void 0; | ||
} | ||
while (collectedHashDigests.length > 1) { | ||
const higherLevelHashDigests = []; | ||
for (let i = 0; i < collectedHashDigests.length; i += 2) { | ||
if (i + 1 < collectedHashDigests.length) { | ||
// concatenate the pair of hashes | ||
const [digest1, digest2] = await Promise.all([collectedHashDigests[i], collectedHashDigests[i + 1]]); | ||
const chunk = new Uint8Array(digest1.byteLength + digest2.byteLength); | ||
chunk.set(digest1); | ||
chunk.set(digest2, digest1.byteLength); | ||
const hash = new this.Sha256(); | ||
hash.update(chunk); | ||
higherLevelHashDigests.push(hash.digest()); | ||
} | ||
}); | ||
}); | ||
}; | ||
else { | ||
// move a lone hash up a level | ||
higherLevelHashDigests.push(collectedHashDigests[i]); | ||
} | ||
} | ||
collectedHashDigests = higherLevelHashDigests; | ||
} | ||
return collectedHashDigests[0]; | ||
} | ||
/** | ||
@@ -122,3 +104,3 @@ * Converts source data into a Uint8Array. | ||
*/ | ||
TreeHash.prototype.convertToBuffer = function (data) { | ||
convertToBuffer(data) { | ||
if (typeof data === "string") { | ||
@@ -131,6 +113,5 @@ return this.fromUtf8(data); | ||
return new Uint8Array(data); | ||
}; | ||
return TreeHash; | ||
}()); | ||
} | ||
} | ||
exports.TreeHash = TreeHash; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUVBLElBQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQztBQUVwQjs7R0FFRztBQUNIO0lBSUU7OztPQUdHO0lBQ0gsa0JBQTZCLE1BQXVCLEVBQW1CLFFBQWlCO1FBQTNELFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQVM7UUFOaEYseUJBQW9CLEdBQTBCLEVBQUUsQ0FBQztJQU1rQyxDQUFDO0lBRTVGOzs7OztPQUtHO0lBQ0ssNkJBQVUsR0FBbEI7UUFDRSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUMzQyxPQUFPLGFBQWEsSUFBSSxHQUFHLEVBQUU7WUFDM0IsSUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRTlDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLHlCQUFNLEdBQWIsVUFBYyxJQUFnQjtRQUM1QixJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FB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LElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1lBQzVCLE9BQU8sSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM1QjtRQUVELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1QixPQUFPLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1NBQ3JHO1FBRUQsT0FBTyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUM5QixDQUFDO0lBQ0gsZUFBQztBQUFELENBQUMsQUEvR0QsSUErR0M7QUEvR1ksNEJBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZWNvZGVyLCBIYXNoLCBIYXNoQ29uc3RydWN0b3IsIFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuY29uc3QgTWlCID0gMTA0ODU3NjtcblxuLyoqXG4gKiBBIEhhc2ggdGhhdCB3aWxsIGNhbGN1bGF0ZSBhIFNoYTI1NiB0cmVlIGhhc2guXG4gKi9cbmV4cG9ydCBjbGFzcyBUcmVlSGFzaCBpbXBsZW1lbnRzIEhhc2gge1xuICBwcml2YXRlIGJ1ZmZlcj86IFVpbnQ4QXJyYXk7XG4gIHByaXZhdGUgY29sbGVjdGVkSGFzaERpZ2VzdHM6IFByb21pc2U8VWludDhBcnJheT5bXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplcyBhIFRyZWVIYXNoLlxuICAgKiBAcGFyYW0gU2hhMjU2IEEgU2hhMjU2IGhhc2ggY29uc3RydWN0b3IuXG4gICAqL1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJlYWRvbmx5IFNoYTI1NjogSGFzaENvbnN0cnVjdG9yLCBwcml2YXRlIHJlYWRvbmx5IGZyb21VdGY4OiBEZWNvZGVyKSB7fVxuXG4gIC8qKlxuICAgKiBHZW5lcmF0ZXMgU2hhMjU2IGhhc2hlcyBmcm9tIDEgTWlCIGNodW5rcyBvZiB0aGVcbiAgICogaW50ZXJuYWwgYnVmZmVyLlxuICAgKiBXaWxsIHNldCB0aGUgaW50ZXJuYWwgYnVmZmVyIHRvIGFueSBieXRlcyByZW1haW5pbmdcbiAgICogdGhhdCBpcyBsZXNzIHRoYW4gMSBNaUIuXG4gICAqL1xuICBwcml2YXRlIGhhc2hCdWZmZXIoKSB7XG4gICAgaWYgKCF0aGlzLmJ1ZmZlcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGxldCByZW1haW5pbmdTaXplID0gdGhpcy5idWZmZXIuYnl0ZUxlbmd0aDtcbiAgICB3aGlsZSAocmVtYWluaW5nU2l6ZSA+PSBNaUIpIHtcbiAgICAgIGNvbnN0IGhhc2ggPSBuZXcgdGhpcy5TaGEyNTYoKTtcbiAgICAgIGhhc2gudXBkYXRlKHRoaXMuYnVmZmVyLnN1YmFycmF5KDAsIE1pQikpO1xuICAgICAgdGhpcy5jb2xsZWN0ZWRIYXNoRGlnZXN0cy5wdXNoKGhhc2guZGlnZXN0KCkpO1xuXG4gICAgICB0aGlzLmJ1ZmZlciA9IHRoaXMuYnVmZmVyLnN1YmFycmF5KE1pQik7XG4gICAgICByZW1haW5pbmdTaXplID0gdGhpcy5idWZmZXIuYnl0ZUxlbmd0aDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogVXBkYXRlcyB0aGUgdHJlZSBoYXNoIHdpdGggYnl0ZSBkYXRhLlxuICAgKiBAcGFyYW0gY2h1bmsgQnl0ZSBkYXRhIHRvIGFwcGx5IHRvIHRoZSB0cmVlIGhhc2guXG4gICAqL1xuICBwdWJsaWMgdXBkYXRlKGRhdGE6IFNvdXJjZURhdGEpIHtcbiAgICBjb25zdCBjaHVuayA9IHRoaXMuY29udmVydFRvQnVmZmVyKGRhdGEpO1xuICAgIGlmICghdGhpcy5idWZmZXIpIHtcbiAgICAgIHRoaXMuYnVmZmVyID0gY2h1bms7XG4gICAgfSBlbHNlIHtcbiAgICAgIC8vIGRldGVybWluZSBzaXplIG9mIGJvdGggcGllY2VzXG4gICAgICBjb25zdCB0b3RhbFNpemUgPSB0aGlzLmJ1ZmZlci5ieXRlTGVuZ3RoICsgY2h1bmsuYnl0ZUxlbmd0aDtcbiAgICAgIGNvbnN0IHRlbXBCdWZmZXIgPSBuZXcgVWludDhBcnJheSh0b3RhbFNpemUpO1xuXG4gICAgICB0ZW1wQnVmZmVyLnNldCh0aGlzLmJ1ZmZlcik7XG4gICAgICB0ZW1wQnVmZmVyLnNldChjaHVuaywgdGhpcy5idWZmZXIuYnl0ZUxlbmd0aCk7XG4gICAgICB0aGlzLmJ1ZmZlciA9IHRlbXBCdWZmZXI7XG4gICAgfVxuXG4gICAgLy8gaGFzQnVmZmVyIHdpbGwgc2V0IHRoaXMuYnVmZmVyIHdpdGggcmVtYWluaW5nIGRhdGFcbiAgICB0aGlzLmhhc2hCdWZmZXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIHRoZSBkaWdlc3QgZm9yIHRoZSB0cmVlIGhhc2guXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZGlnZXN0KCk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICAgIGxldCBjb2xsZWN0ZWRIYXNoRGlnZXN0cyA9IHRoaXMuY29sbGVjdGVkSGFzaERpZ2VzdHM7XG4gICAgLy8gcmVtb3ZlIHRoZSByZWZlcmVuY2UgdG8gY29sbGVjdGVkIGhhc2hlcyB0byBmcmVlIHVwIHNwYWNlXG4gICAgdGhpcy5jb2xsZWN0ZWRIYXNoRGlnZXN0cyA9IFtdO1xuXG4gICAgLy8gbG9vcCB0aHJvdWdoIGNvbGxlY3RlZCBoYXNoZXNcbiAgICBpZiAodGhpcy5idWZmZXIgJiYgdGhpcy5idWZmZXIuYnl0ZUxlbmd0aCA+IDApIHtcbiAgICAgIGNvbnN0IHNtYWxsSGFzaCA9IG5ldyB0aGlzLlNoYTI1NigpO1xuICAgICAgc21hbGxIYXNoLnVwZGF0ZSh0aGlzLmJ1ZmZlcik7XG4gICAgICBjb2xsZWN0ZWRIYXNoRGlnZXN0cy5wdXNoKHNtYWxsSGFzaC5kaWdlc3QoKSk7XG4gICAgICAvLyByZW1vdmUgdGhlIHJlbWFpbmluZyBidWZmZXJcbiAgICAgIHRoaXMuYnVmZmVyID0gdm9pZCAwO1xuICAgIH1cblxuICAgIHdoaWxlIChjb2xsZWN0ZWRIYXNoRGlnZXN0cy5sZW5ndGggPiAxKSB7XG4gICAgICBjb25zdCBoaWdoZXJMZXZlbEhhc2hEaWdlc3RzOiBQcm9taXNlPFVpbnQ4QXJyYXk+W10gPSBbXTtcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgY29sbGVjdGVkSGFzaERpZ2VzdHMubGVuZ3RoOyBpICs9IDIpIHtcbiAgICAgICAgaWYgKGkgKyAxIDwgY29sbGVjdGVkSGFzaERpZ2VzdHMubGVuZ3RoKSB7XG4gICAgICAgICAgLy8gY29uY2F0ZW5hdGUgdGhlIHBhaXIgb2YgaGFzaGVzXG4gICAgICAgICAgY29uc3QgW2RpZ2VzdDEsIGRpZ2VzdDJdID0gYXdhaXQgUHJvbWlzZS5hbGwoW2NvbGxlY3RlZEhhc2hEaWdlc3RzW2ldLCBjb2xsZWN0ZWRIYXNoRGlnZXN0c1tpICsgMV1dKTtcblxuICAgICAgICAgIGNvbnN0IGNodW5rID0gbmV3IFVpbnQ4QXJyYXkoZGlnZXN0MS5ieXRlTGVuZ3RoICsgZGlnZXN0Mi5ieXRlTGVuZ3RoKTtcbiAgICAgICAgICBjaHVuay5zZXQoZGlnZXN0MSk7XG4gICAgICAgICAgY2h1bmsuc2V0KGRpZ2VzdDIsIGRpZ2VzdDEuYnl0ZUxlbmd0aCk7XG5cbiAgICAgICAgICBjb25zdCBoYXNoID0gbmV3IHRoaXMuU2hhMjU2KCk7XG4gICAgICAgICAgaGFzaC51cGRhdGUoY2h1bmspO1xuICAgICAgICAgIGhpZ2hlckxldmVsSGFzaERpZ2VzdHMucHVzaChoYXNoLmRpZ2VzdCgpKTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAvLyBtb3ZlIGEgbG9uZSBoYXNoIHVwIGEgbGV2ZWxcbiAgICAgICAgICBoaWdoZXJMZXZlbEhhc2hEaWdlc3RzLnB1c2goY29sbGVjdGVkSGFzaERpZ2VzdHNbaV0pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBjb2xsZWN0ZWRIYXNoRGlnZXN0cyA9IGhpZ2hlckxldmVsSGFzaERpZ2VzdHM7XG4gICAgfVxuXG4gICAgcmV0dXJuIGNvbGxlY3RlZEhhc2hEaWdlc3RzWzBdO1xuICB9XG5cbiAgLyoqXG4gICAqIENvbnZlcnRzIHNvdXJjZSBkYXRhIGludG8gYSBVaW50OEFycmF5LlxuICAgKiBAcGFyYW0gZGF0YSBEYXRhIHRvIGNvbnZlcnQgdG8gYSBVaW50OEFycmF5LlxuICAgKi9cbiAgcHJpdmF0ZSBjb252ZXJ0VG9CdWZmZXIoZGF0YTogU291cmNlRGF0YSk6IFVpbnQ4QXJyYXkge1xuICAgIGlmICh0eXBlb2YgZGF0YSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIHRoaXMuZnJvbVV0ZjgoZGF0YSk7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5QnVmZmVyLmlzVmlldyhkYXRhKSkge1xuICAgICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGRhdGEuYnVmZmVyLCBkYXRhLmJ5dGVPZmZzZXQsIGRhdGEuYnl0ZUxlbmd0aCAvIFVpbnQ4QXJyYXkuQllURVNfUEVSX0VMRU1FTlQpO1xuICAgIH1cblxuICAgIHJldHVybiBuZXcgVWludDhBcnJheShkYXRhKTtcbiAgfVxufVxuIl19 | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDO0FBRXBCOztHQUVHO0FBQ0gsTUFBYSxRQUFRO0lBSW5COzs7T0FHRztJQUNILFlBQTZCLE1BQXVCLEVBQW1CLFFBQWlCO1FBQTNELFdBQU0sR0FBTixNQUFNLENBQWlCO1FBQW1CLGFBQVEsR0FBUixRQUFRLENBQVM7UUFOaEYseUJBQW9CLEdBQTBCLEVBQUUsQ0FBQztJQU1rQyxDQUFDO0lBRTVGOzs7OztPQUtHO0lBQ0ssVUFBVTtRQUNoQixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNoQixPQUFPO1NBQ1I7UUFFRCxJQUFJLGFBQWEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsQ0FBQztRQUMzQyxPQUFPLGFBQWEsSUFBSSxHQUFHLEVBQUU7WUFDM0IsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDL0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQztZQUMxQyxJQUFJLENBQUMsb0JBQW9CLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBRTlDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDeEMsYUFBYSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1NBQ3hDO0lBQ0gsQ0FBQztJQUVEOzs7T0FHRztJQUNJLE1BQU0sQ0FBQyxJQUFnQjtRQUM1QixNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxJ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SSxLQUFLLFFBQVEsRUFBRTtZQUM1QixPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDNUI7UUFFRCxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDNUIsT0FBTyxJQUFJLFVBQVUsQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQUMsQ0FBQztTQUNyRztRQUVELE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztDQUNGO0FBL0dELDRCQStHQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERlY29kZXIsIEhhc2gsIEhhc2hDb25zdHJ1Y3RvciwgU291cmNlRGF0YSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5jb25zdCBNaUIgPSAxMDQ4NTc2O1xuXG4vKipcbiAqIEEgSGFzaCB0aGF0IHdpbGwgY2FsY3VsYXRlIGEgU2hhMjU2IHRyZWUgaGFzaC5cbiAqL1xuZXhwb3J0IGNsYXNzIFRyZWVIYXNoIGltcGxlbWVudHMgSGFzaCB7XG4gIHByaXZhdGUgYnVmZmVyPzogVWludDhBcnJheTtcbiAgcHJpdmF0ZSBjb2xsZWN0ZWRIYXNoRGlnZXN0czogUHJvbWlzZTxVaW50OEFycmF5PltdID0gW107XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIGEgVHJlZUhhc2guXG4gICAqIEBwYXJhbSBTaGEyNTYgQSBTaGEyNTYgaGFzaCBjb25zdHJ1Y3Rvci5cbiAgICovXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgU2hhMjU2OiBIYXNoQ29uc3RydWN0b3IsIHByaXZhdGUgcmVhZG9ubHkgZnJvbVV0Zjg6IERlY29kZXIpIHt9XG5cbiAgLyoqXG4gICAqIEdlbmVyYXRlcyBTaGEyNTYgaGFzaGVzIGZyb20gMSBNaUIgY2h1bmtzIG9mIHRoZVxuICAgKiBpbnRlcm5hbCBidWZmZXIuXG4gICAqIFdpbGwgc2V0IHRoZSBpbnRlcm5hbCBidWZmZXIgdG8gYW55IGJ5dGVzIHJlbWFpbmluZ1xuICAgKiB0aGF0IGlzIGxlc3MgdGhhbiAxIE1pQi5cbiAgICovXG4gIHByaXZhdGUgaGFzaEJ1ZmZlcigpIHtcbiAgICBpZiAoIXRoaXMuYnVmZmVyKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgbGV0IHJlbWFpbmluZ1NpemUgPSB0aGlzLmJ1ZmZlci5ieXRlTGVuZ3RoO1xuICAgIHdoaWxlIChyZW1haW5pbmdTaXplID49IE1pQikge1xuICAgICAgY29uc3QgaGFzaCA9IG5ldyB0aGlzLlNoYTI1NigpO1xuICAgICAgaGFzaC51cGRhdGUodGhpcy5idWZmZXIuc3ViYXJyYXkoMCwgTWlCKSk7XG4gICAgICB0aGlzLmNvbGxlY3RlZEhhc2hEaWdlc3RzLnB1c2goaGFzaC5kaWdlc3QoKSk7XG5cbiAgICAgIHRoaXMuYnVmZmVyID0gdGhpcy5idWZmZXIuc3ViYXJyYXkoTWlCKTtcbiAgICAgIHJlbWFpbmluZ1NpemUgPSB0aGlzLmJ1ZmZlci5ieXRlTGVuZ3RoO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVcGRhdGVzIHRoZSB0cmVlIGhhc2ggd2l0aCBieXRlIGRhdGEuXG4gICAqIEBwYXJhbSBjaHVuayBCeXRlIGRhdGEgdG8gYXBwbHkgdG8gdGhlIHRyZWUgaGFzaC5cbiAgICovXG4gIHB1YmxpYyB1cGRhdGUoZGF0YTogU291cmNlRGF0YSkge1xuICAgIGNvbnN0IGNodW5rID0gdGhpcy5jb252ZXJ0VG9CdWZmZXIoZGF0YSk7XG4gICAgaWYgKCF0aGlzLmJ1ZmZlcikge1xuICAgICAgdGhpcy5idWZmZXIgPSBjaHVuaztcbiAgICB9IGVsc2Uge1xuICAgICAgLy8gZGV0ZXJtaW5lIHNpemUgb2YgYm90aCBwaWVjZXNcbiAgICAgIGNvbnN0IHRvdGFsU2l6ZSA9IHRoaXMuYnVmZmVyLmJ5dGVMZW5ndGggKyBjaHVuay5ieXRlTGVuZ3RoO1xuICAgICAgY29uc3QgdGVtcEJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KHRvdGFsU2l6ZSk7XG5cbiAgICAgIHRlbXBCdWZmZXIuc2V0KHRoaXMuYnVmZmVyKTtcbiAgICAgIHRlbXBCdWZmZXIuc2V0KGNodW5rLCB0aGlzLmJ1ZmZlci5ieXRlTGVuZ3RoKTtcbiAgICAgIHRoaXMuYnVmZmVyID0gdGVtcEJ1ZmZlcjtcbiAgICB9XG5cbiAgICAvLyBoYXNCdWZmZXIgd2lsbCBzZXQgdGhpcy5idWZmZXIgd2l0aCByZW1haW5pbmcgZGF0YVxuICAgIHRoaXMuaGFzaEJ1ZmZlcigpO1xuICB9XG5cbiAgLyoqXG4gICAqIENhbGN1bGF0ZXMgdGhlIGRpZ2VzdCBmb3IgdGhlIHRyZWUgaGFzaC5cbiAgICovXG4gIHB1YmxpYyBhc3luYyBkaWdlc3QoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgbGV0IGNvbGxlY3RlZEhhc2hEaWdlc3RzID0gdGhpcy5jb2xsZWN0ZWRIYXNoRGlnZXN0cztcbiAgICAvLyByZW1vdmUgdGhlIHJlZmVyZW5jZSB0byBjb2xsZWN0ZWQgaGFzaGVzIHRvIGZyZWUgdXAgc3BhY2VcbiAgICB0aGlzLmNvbGxlY3RlZEhhc2hEaWdlc3RzID0gW107XG5cbiAgICAvLyBsb29wIHRocm91Z2ggY29sbGVjdGVkIGhhc2hlc1xuICAgIGlmICh0aGlzLmJ1ZmZlciAmJiB0aGlzLmJ1ZmZlci5ieXRlTGVuZ3RoID4gMCkge1xuICAgICAgY29uc3Qgc21hbGxIYXNoID0gbmV3IHRoaXMuU2hhMjU2KCk7XG4gICAgICBzbWFsbEhhc2gudXBkYXRlKHRoaXMuYnVmZmVyKTtcbiAgICAgIGNvbGxlY3RlZEhhc2hEaWdlc3RzLnB1c2goc21hbGxIYXNoLmRpZ2VzdCgpKTtcbiAgICAgIC8vIHJlbW92ZSB0aGUgcmVtYWluaW5nIGJ1ZmZlclxuICAgICAgdGhpcy5idWZmZXIgPSB2b2lkIDA7XG4gICAgfVxuXG4gICAgd2hpbGUgKGNvbGxlY3RlZEhhc2hEaWdlc3RzLmxlbmd0aCA+IDEpIHtcbiAgICAgIGNvbnN0IGhpZ2hlckxldmVsSGFzaERpZ2VzdHM6IFByb21pc2U8VWludDhBcnJheT5bXSA9IFtdO1xuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBjb2xsZWN0ZWRIYXNoRGlnZXN0cy5sZW5ndGg7IGkgKz0gMikge1xuICAgICAgICBpZiAoaSArIDEgPCBjb2xsZWN0ZWRIYXNoRGlnZXN0cy5sZW5ndGgpIHtcbiAgICAgICAgICAvLyBjb25jYXRlbmF0ZSB0aGUgcGFpciBvZiBoYXNoZXNcbiAgICAgICAgICBjb25zdCBbZGlnZXN0MSwgZGlnZXN0Ml0gPSBhd2FpdCBQcm9taXNlLmFsbChbY29sbGVjdGVkSGFzaERpZ2VzdHNbaV0sIGNvbGxlY3RlZEhhc2hEaWdlc3RzW2kgKyAxXV0pO1xuXG4gICAgICAgICAgY29uc3QgY2h1bmsgPSBuZXcgVWludDhBcnJheShkaWdlc3QxLmJ5dGVMZW5ndGggKyBkaWdlc3QyLmJ5dGVMZW5ndGgpO1xuICAgICAgICAgIGNodW5rLnNldChkaWdlc3QxKTtcbiAgICAgICAgICBjaHVuay5zZXQoZGlnZXN0MiwgZGlnZXN0MS5ieXRlTGVuZ3RoKTtcblxuICAgICAgICAgIGNvbnN0IGhhc2ggPSBuZXcgdGhpcy5TaGEyNTYoKTtcbiAgICAgICAgICBoYXNoLnVwZGF0ZShjaHVuayk7XG4gICAgICAgICAgaGlnaGVyTGV2ZWxIYXNoRGlnZXN0cy5wdXNoKGhhc2guZGlnZXN0KCkpO1xuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIC8vIG1vdmUgYSBsb25lIGhhc2ggdXAgYSBsZXZlbFxuICAgICAgICAgIGhpZ2hlckxldmVsSGFzaERpZ2VzdHMucHVzaChjb2xsZWN0ZWRIYXNoRGlnZXN0c1tpXSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGNvbGxlY3RlZEhhc2hEaWdlc3RzID0gaGlnaGVyTGV2ZWxIYXNoRGlnZXN0cztcbiAgICB9XG5cbiAgICByZXR1cm4gY29sbGVjdGVkSGFzaERpZ2VzdHNbMF07XG4gIH1cblxuICAvKipcbiAgICogQ29udmVydHMgc291cmNlIGRhdGEgaW50byBhIFVpbnQ4QXJyYXkuXG4gICAqIEBwYXJhbSBkYXRhIERhdGEgdG8gY29udmVydCB0byBhIFVpbnQ4QXJyYXkuXG4gICAqL1xuICBwcml2YXRlIGNvbnZlcnRUb0J1ZmZlcihkYXRhOiBTb3VyY2VEYXRhKTogVWludDhBcnJheSB7XG4gICAgaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgICByZXR1cm4gdGhpcy5mcm9tVXRmOChkYXRhKTtcbiAgICB9XG5cbiAgICBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KGRhdGEpKSB7XG4gICAgICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoZGF0YS5idWZmZXIsIGRhdGEuYnl0ZU9mZnNldCwgZGF0YS5ieXRlTGVuZ3RoIC8gVWludDhBcnJheS5CWVRFU19QRVJfRUxFTUVOVCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KGRhdGEpO1xuICB9XG59XG4iXX0= |
{ | ||
"name": "@aws-sdk/sha256-tree-hash", | ||
"version": "1.0.0-gamma.8", | ||
"version": "1.0.0-rc.1", | ||
"scripts": { | ||
@@ -21,3 +21,3 @@ "prepublishOnly": "yarn build:cjs && yarn build:es", | ||
"dependencies": { | ||
"@aws-sdk/types": "1.0.0-gamma.7", | ||
"@aws-sdk/types": "1.0.0-rc.1", | ||
"tslib": "^1.8.0" | ||
@@ -27,8 +27,11 @@ }, | ||
"@aws-crypto/sha256-js": "^1.0.0-alpha.0", | ||
"@aws-sdk/util-hex-encoding": "1.0.0-gamma.7", | ||
"@aws-sdk/util-utf8-node": "1.0.0-gamma.7", | ||
"@aws-sdk/util-hex-encoding": "1.0.0-rc.1", | ||
"@aws-sdk/util-utf8-node": "1.0.0-rc.1", | ||
"@types/jest": "^26.0.4", | ||
"jest": "^26.1.0", | ||
"typescript": "~4.0.2" | ||
}, | ||
"engines": { | ||
"node": ">= 10.0.0" | ||
} | ||
} |
{ | ||
"compilerOptions": { | ||
"declaration": true, | ||
"strict": true, | ||
"sourceMap": false, | ||
"downlevelIteration": true, | ||
"importHelpers": true, | ||
"noEmitHelpers": true, | ||
"lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], | ||
"rootDir": "./src", | ||
"outDir": "./dist/cjs", | ||
"inlineSourceMap": true, | ||
"inlineSources": true, | ||
"baseUrl": "." | ||
@@ -15,0 +6,0 @@ }, |
{ | ||
"compilerOptions": { | ||
"declaration": true, | ||
"strict": true, | ||
"sourceMap": false, | ||
"downlevelIteration": true, | ||
"importHelpers": true, | ||
"noEmitHelpers": true, | ||
"lib": ["dom", "es5", "es2015.promise", "es2015.collection", "es2015.iterable", "es2015.symbol.wellknown"], | ||
"rootDir": "./src", | ||
"outDir": "./dist/es", | ||
"inlineSourceMap": true, | ||
"inlineSources": true, | ||
"baseUrl": "." | ||
@@ -15,0 +7,0 @@ }, |
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
68709
424
+ Added@aws-sdk/types@1.0.0-rc.1(transitive)
- Removed@aws-sdk/types@1.0.0-gamma.7(transitive)
Updated@aws-sdk/types@1.0.0-rc.1