Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

web-storage-manager

Package Overview
Dependencies
Maintainers
1
Versions
48
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

web-storage-manager - npm Package Compare versions

Comparing version 3.0.0 to 3.1.0

jest.config.js

2

lib/class/interface.js

@@ -6,2 +6,2 @@ "use strict";

});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsYXNzL2ludGVyZmFjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvU3RvcmFnZVxuXG5leHBvcnQgdHlwZSBLZXlQYXRoID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgU3RvcmFnZVZhbHVlID0gYW55O1xuZXhwb3J0IHR5cGUgU3RvcmFnZUl0ZW0gPSB7IGtleTogS2V5UGF0aCwgdmFsdWU6IFN0b3JhZ2VWYWx1ZSB9O1xuXG4vKipcbiAqIEF0dHJpYnV0ZSBjb21wYXJlIHdpbGwgd29yayBmb3IgYSBjb2xsZWN0aW9uIG9mIGl0ZW1zIHdoZXJlIHZhbHVlcyBtYXRjaCBvciB3aWxsIHJlcGxhY2UgYSB2YWx1ZSBvZiB0aGUgbWF0Y2hlZCBrZXkgZm9yIGRhdGEgb2JqZWN0cy5cbiAqL1xuZXhwb3J0IHR5cGUgQXR0cmlidXRlQ29tcGFyZSA9IHsgbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZSB7XG4gICAgLyoqXG4gICAgICoga2V5cGF0aCBkZWxpbWV0ZXIuIGRlZmF1bHRzIHRvICcuJy5cbiAgICAgKi9cbiAgICBkZWxpbWl0ZXI6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBkYXRhIGl0ZW1zIHN0b3JlZCBpbiB0aGUgU3RvcmFnZSBvYmplY3QuXG4gICAgICovXG4gICAgZ2V0IGxlbmd0aCgpOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgZGF0YSBpdGVtcyBzdG9yZWQgaW4gdGhlIFN0b3JhZ2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSBuIFdoZW4gcGFzc2VkIGEgbnVtYmVyIG4sIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBudGgga2V5IGluIHRoZSBzdG9yYWdlLlxuICAgICAqL1xuICAgIGtleShuOiBudW1iZXIpOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHBhc3NlZCBhIGtleSBuYW1lLCB3aWxsIHJldHVybiB0aGF0IGtleSdzIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7S2V5UGF0aH0ga2V5IGtleSBuYW1lLlxuICAgICAqL1xuICAgIGdldEl0ZW0oa2V5OiBLZXlQYXRoKTogU3RvcmFnZVZhbHVlO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBwYXNzZWQgYSBrZXkgbmFtZSBhbmQgdmFsdWUsIHdpbGwgYWRkIHRoYXQga2V5IHRvIHRoZSBzdG9yYWdlLCBvciB1cGRhdGUgdGhhdCBrZXkncyB2YWx1ZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cbiAgICAgKiBAcGFyYW0ge0tleVBhdGh9IGtleSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBuYW1lIG9mIHRoZSBrZXkgeW91IHdhbnQgdG8gY3JlYXRlL3VwZGF0ZS5cbiAgICAgKiBAcGFyYW0ge1N0b3JhZ2VWYWx1ZX0gdmFsdWUgQSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmFsdWUgeW91IHdhbnQgdG8gZ2l2ZSB0aGUga2V5IHlvdSBhcmUgY3JlYXRpbmcvdXBkYXRpbmcuXG4gICAgICovXG4gICAgc2V0SXRlbShrZXk6IEtleVBhdGgsIHZhbHVlOiBTdG9yYWdlVmFsdWUpOiBib29sZWFuIHwgRXJyb3I7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHBhc3NlZCBhIGtleSBuYW1lLCB3aWxsIHJlbW92ZSB0aGF0IGtleSBmcm9tIHRoZSBzdG9yYWdlLlxuICAgICAqIEBwYXJhbSB7S2V5UGF0aH0ga2V5IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWUgb2YgdGhlIGtleSB5b3Ugd2FudCB0byByZW1vdmUuXG4gICAgICovXG4gICAgcmVtb3ZlSXRlbShrZXk6IEtleVBhdGgpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBpbnZva2VkLCB3aWxsIGVtcHR5IGFsbCBrZXlzIG91dCBvZiB0aGUgc3RvcmFnZS5cbiAgICAgKi9cbiAgICBjbGVhcigpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlYlN0b3JhZ2UgZXh0ZW5kcyBTdG9yYWdlIHtcblxuICAgIC8qKlxuICAgICAqIEFwcGVuZCBpdGVtIHRvIHRoZSBkYXRhIGluIHRoZSBzcGVjaWZpZWQga2V5cGF0aC5cbiAgICAgKiBAcGFyYW0ga2V5IHRhcmdldCBrZXlwYXRoXG4gICAgICogQHBhcmFtIHZhbHVlIHZhbHVlIHRvIGJlIGFkZGVkIG9yIGFwcGVuZGVkIHRvIGV4aXN0aW5nIGRhdGEgaW4gdGhlIHNwZWNpZmllZCBrZXlwYXRoLlxuICAgICAqL1xuICAgIGFwcGVuZEl0ZW0oa2V5OiBLZXlQYXRoLCB2YWx1ZTogU3RvcmFnZVZhbHVlKTogYm9vbGVhbiB8IEVycm9yO1xuXG4gICAgLyoqXG4gICAgICogQWRkIG11bHRpcGxlIGVudHJpZXMgb2Yga2V5IHZhbHVlIHBhaXJzIHRvIHRoZSBzdG9yYWdlLlxuICAgICAqIEBwYXJhbSB7U3RvcmFnZUl0ZW1bXX0gaXRlbXMgSXRlbXMgdG8gYWRkIGluZGl2aWR1YWxseSBpbiB0aGUgc3RvcmFnZS5cbiAgICAgKi9cbiAgICBzZXRNdWx0aXBsZUl0ZW1zKGl0ZW1zOiBTdG9yYWdlSXRlbVtdKTogYm9vbGVhbiB8IEVycm9yO1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIG11bHRpcGxlIGVudHJpZXMgZm91bmQgaW4gdGhlIHNwZWNpZmllZCBrZXlwYXRocy5cbiAgICAgKiBXaWxsIG9ubHkgd29yayBvbiB0b3AgbGV2ZWwga2V5cGF0aHMgYW5kIHdpbGwgbm90IHV0aWxpemUgYW4gYEF0dHJpYnV0ZUNvbXBhcmVgLlxuICAgICAqIFVzZSBgcmVtb3ZlSXRlbUluSXRlbWAgdG8gdXRpbGl6ZSBhbiBgQXR0cmlidXRlQ29tcGFyZWAuXG4gICAgICogQHBhcmFtIHtLZXlQYXRoW119IGtleXMgXG4gICAgICovXG4gICAgcmVtb3ZlTXVsdGlwbGVJdGVtcyhrZXlzOiBLZXlQYXRoW10pOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogUmV0dXJucyBtdWx0aXBsZSBlbnRyaWVzIGZvdW5kIGluIHRoZSBzcGVjaWZpZWQga2V5cGF0aHMuXG4gICAgICogV2lsbCBvbmx5IHdvcmsgb24gdG9wIGxldmVsIGtleXBhdGhzIGFuZCB3aWxsIG5vdCB1dGlsaXplIGFuIGBBdHRyaWJ1dGVDb21wYXJlYC5cbiAgICAgKiBVc2UgYGdldEl0ZW1Jbkl0ZW1gIHRvIHV0aWxpemUgYW4gYEF0dHJpYnV0ZUNvbXBhcmVgLlxuICAgICAqIEBwYXJhbSB7S2V5UGF0aFtdfSBrZXlzIFxuICAgICAqL1xuICAgIGdldE11bHRpcGxlSXRlbXMoa2V5czogS2V5UGF0aFtdKTogU3RvcmFnZVZhbHVlW107XG5cbiAgICAvKipcbiAgICAgKiBBcHBlbmQgaXRlbSB0byBhbiBleGlzdGluZyBpdGVtIG9uIHRoZSBzdG9yYWdlLiBXb3JrcyBmb3Igb2JqZWN0IGFuZCBhcnJheSB0eXBlIGRhdGEuXG4gICAgICogQHBhcmFtIHtLZXlQYXRofSBrZXkga2V5cGF0aCBvZiB0aGUgZGF0YSB5b3Ugd2FudCB0byBhcHBlbmQgdG8uXG4gICAgICogQHBhcmFtIHtTdG9yYWdlVmFsdWV9IHZhbHVlIGRhdGEgdmFsdWUgeW91IHdhbnQgdG8gYXBwZW5kIHRvLlxuICAgICAqL1xuICAgIGFwcGVuZEl0ZW1Jbkl0ZW0oa2V5OiBLZXlQYXRoLCB2YWx1ZTogU3RvcmFnZVZhbHVlKTogYm9vbGVhbiB8IEVycm9yO1xuXG4gICAgLyoqXG4gICAgICogVXBkYXRlcyBhbiBpdGVtIGluIHRoZSBzcGVjaWZpZWQga2V5cGF0aC5cbiAgICAgKiBAcGFyYW0ge0tleVBhdGh9IGtleSBrZXlwYXRoIG9mIHRoZSBkYXRhLlxuICAgICAqIEBwYXJhbSB7QXR0cmlidXRlQ29tcGFyZX0gYXR0ckNvbXBhcmUgZGF0YSBrZXkgYXR0cmlidXRlIHRvIGJlIHVwZGF0ZWQuXG4gICAgICovXG4gICAgdXBkYXRlSXRlbUluSXRlbShrZXk6IEtleVBhdGgsIGF0dHJDb21wYXJlOiBBdHRyaWJ1dGVDb21wYXJlLCBuZXdWYWx1ZTogU3RvcmFnZVZhbHVlKTogYm9vbGVhbiB8IEVycm9yO1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbiBpdGVtIGluIHRoZSBzcGVjaWZpZWQga2V5cGF0aC5cbiAgICAgKiBAcGFyYW0ge0tleVBhdGh9IGtleSBrZXlwYXRoIG9mIHRoZSBkYXRhLlxuICAgICAqIEBwYXJhbSB7QXR0cmlidXRlQ29tcGFyZX0gYXR0ckNvbXBhcmUgZGF0YSBrZXkgYXR0cmlidXRlIHRvIGJlIHVwZGF0ZWQuXG4gICAgICovXG4gICAgcmVtb3ZlSXRlbUluSXRlbShrZXk6IEtleVBhdGgsIGF0dHJDb21wYXJlPzogQXR0cmlidXRlQ29tcGFyZSk6IGJvb2xlYW4gfCBFcnJvcjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgZGF0YSBmb3VuZCBpbiB0aGUgc3BlY2lmaWVkIGtleXBhdGguXG4gICAgICogQHBhcmFtIHtLZXlQYXRofSBrZXkga2V5cGF0aCBvZiB0aGUgZGF0YS5cbiAgICAgKiBAcGFyYW0ge0F0dHJpYnV0ZUNvbXBhcmV9IGF0dHJDb21wYXJlIGRhdGEga2V5IGF0dHJpYnV0ZSB0byBiZSB1cGRhdGVkLlxuICAgICAqL1xuICAgIGdldEl0ZW1Jbkl0ZW0oa2V5OiBLZXlQYXRoLCBhdHRyQ29tcGFyZT86IEF0dHJpYnV0ZUNvbXBhcmUpOiBTdG9yYWdlVmFsdWU7XG59Il0sIm1hcHBpbmdzIjoiIn0=
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsYXNzL2ludGVyZmFjZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvU3RvcmFnZVxuXG5leHBvcnQgdHlwZSBLZXlQYXRoID0gc3RyaW5nO1xuZXhwb3J0IHR5cGUgU3RvcmFnZVZhbHVlID0gYW55O1xuZXhwb3J0IHR5cGUgU3RvcmFnZUl0ZW0gPSB7IGtleTogS2V5UGF0aCwgdmFsdWU6IFN0b3JhZ2VWYWx1ZSB9O1xuXG4vKipcbiAqIEF0dHJpYnV0ZSBjb21wYXJlIHdpbGwgd29yayBmb3IgYSBjb2xsZWN0aW9uIG9mIGl0ZW1zIHdoZXJlIHZhbHVlcyBtYXRjaCBvciB3aWxsIHJlcGxhY2UgYSB2YWx1ZSBvZiB0aGUgbWF0Y2hlZCBrZXkgZm9yIGRhdGEgb2JqZWN0cy5cbiAqL1xuZXhwb3J0IHR5cGUgQXR0cmlidXRlQ29tcGFyZSA9IHsgbmFtZTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nIHwgbnVtYmVyIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgU3RvcmFnZSB7XG4gICAgLyoqXG4gICAgICoga2V5cGF0aCBkZWxpbWV0ZXIuIGRlZmF1bHRzIHRvICcuJy5cbiAgICAgKi9cbiAgICBkZWxpbWl0ZXI6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgYW4gaW50ZWdlciByZXByZXNlbnRpbmcgdGhlIG51bWJlciBvZiBkYXRhIGl0ZW1zIHN0b3JlZCBpbiB0aGUgU3RvcmFnZSBvYmplY3QuXG4gICAgICovXG4gICAgZ2V0IGxlbmd0aCgpOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIGFuIGludGVnZXIgcmVwcmVzZW50aW5nIHRoZSBudW1iZXIgb2YgZGF0YSBpdGVtcyBzdG9yZWQgaW4gdGhlIFN0b3JhZ2Ugb2JqZWN0LlxuICAgICAqIEBwYXJhbSBuIFdoZW4gcGFzc2VkIGEgbnVtYmVyIG4sIHRoaXMgbWV0aG9kIHdpbGwgcmV0dXJuIHRoZSBuYW1lIG9mIHRoZSBudGgga2V5IGluIHRoZSBzdG9yYWdlLlxuICAgICAqL1xuICAgIGtleShuOiBudW1iZXIpOiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHBhc3NlZCBhIGtleSBuYW1lLCB3aWxsIHJldHVybiB0aGF0IGtleSdzIHZhbHVlLlxuICAgICAqIEBwYXJhbSB7S2V5UGF0aH0ga2V5IGtleSBuYW1lLlxuICAgICAqL1xuICAgIGdldEl0ZW0oa2V5OiBLZXlQYXRoKTogU3RvcmFnZVZhbHVlO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBwYXNzZWQgYSBrZXkgbmFtZSBhbmQgdmFsdWUsIHdpbGwgYWRkIHRoYXQga2V5IHRvIHRoZSBzdG9yYWdlLCBvciB1cGRhdGUgdGhhdCBrZXkncyB2YWx1ZSBpZiBpdCBhbHJlYWR5IGV4aXN0cy5cbiAgICAgKiBAcGFyYW0ge0tleVBhdGh9IGtleSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBuYW1lIG9mIHRoZSBrZXkgeW91IHdhbnQgdG8gY3JlYXRlL3VwZGF0ZS5cbiAgICAgKiBAcGFyYW0ge1N0b3JhZ2VWYWx1ZX0gdmFsdWUgQSBzdHJpbmcgY29udGFpbmluZyB0aGUgdmFsdWUgeW91IHdhbnQgdG8gZ2l2ZSB0aGUga2V5IHlvdSBhcmUgY3JlYXRpbmcvdXBkYXRpbmcuXG4gICAgICovXG4gICAgc2V0SXRlbShrZXk6IEtleVBhdGgsIHZhbHVlOiBTdG9yYWdlVmFsdWUpOiBib29sZWFuIHwgRXJyb3I7XG5cbiAgICAvKipcbiAgICAgKiBXaGVuIHBhc3NlZCBhIGtleSBuYW1lLCB3aWxsIHJlbW92ZSB0aGF0IGtleSBmcm9tIHRoZSBzdG9yYWdlLlxuICAgICAqIEBwYXJhbSB7S2V5UGF0aH0ga2V5IEEgc3RyaW5nIGNvbnRhaW5pbmcgdGhlIG5hbWUgb2YgdGhlIGtleSB5b3Ugd2FudCB0byByZW1vdmUuXG4gICAgICovXG4gICAgcmVtb3ZlSXRlbShrZXk6IEtleVBhdGgpOiB2b2lkO1xuXG4gICAgLyoqXG4gICAgICogV2hlbiBpbnZva2VkLCB3aWxsIGVtcHR5IGFsbCBrZXlzIG91dCBvZiB0aGUgc3RvcmFnZS5cbiAgICAgKi9cbiAgICBjbGVhcigpOiB2b2lkO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdlYlN0b3JhZ2UgZXh0ZW5kcyBTdG9yYWdlIHtcbiAgICAvKipcbiAgICAgKiBBZGQgbXVsdGlwbGUgZW50cmllcyBvZiBrZXkgdmFsdWUgcGFpcnMgdG8gdGhlIHN0b3JhZ2UuXG4gICAgICogQHBhcmFtIHtTdG9yYWdlSXRlbVtdfSBpdGVtcyBJdGVtcyB0byBhZGQgaW5kaXZpZHVhbGx5IGluIHRoZSBzdG9yYWdlLlxuICAgICAqL1xuICAgIHNldE11bHRpcGxlSXRlbXMoaXRlbXM6IFN0b3JhZ2VJdGVtW10pOiBib29sZWFuIHwgRXJyb3I7XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgbXVsdGlwbGUgZW50cmllcyBmb3VuZCBpbiB0aGUgc3BlY2lmaWVkIGtleXBhdGhzLlxuICAgICAqIFdpbGwgb25seSB3b3JrIG9uIHRvcCBsZXZlbCBrZXlwYXRocyBhbmQgd2lsbCBub3QgdXRpbGl6ZSBhbiBgQXR0cmlidXRlQ29tcGFyZWAuXG4gICAgICogVXNlIGByZW1vdmVJdGVtSW5JdGVtYCB0byB1dGlsaXplIGFuIGBBdHRyaWJ1dGVDb21wYXJlYC5cbiAgICAgKiBAcGFyYW0ge0tleVBhdGhbXX0ga2V5cyBcbiAgICAgKi9cbiAgICByZW1vdmVNdWx0aXBsZUl0ZW1zKGtleXM6IEtleVBhdGhbXSk6IHZvaWQ7XG5cbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIG11bHRpcGxlIGVudHJpZXMgZm91bmQgaW4gdGhlIHNwZWNpZmllZCBrZXlwYXRocy5cbiAgICAgKiBXaWxsIG9ubHkgd29yayBvbiB0b3AgbGV2ZWwga2V5cGF0aHMgYW5kIHdpbGwgbm90IHV0aWxpemUgYW4gYEF0dHJpYnV0ZUNvbXBhcmVgLlxuICAgICAqIFVzZSBgZ2V0SXRlbUluSXRlbWAgdG8gdXRpbGl6ZSBhbiBgQXR0cmlidXRlQ29tcGFyZWAuXG4gICAgICogQHBhcmFtIHtLZXlQYXRoW119IGtleXMgXG4gICAgICovXG4gICAgZ2V0TXVsdGlwbGVJdGVtcyhrZXlzOiBLZXlQYXRoW10pOiBTdG9yYWdlVmFsdWVbXTtcblxuICAgIC8qKlxuICAgICAqIEFwcGVuZCBpdGVtIHRvIGFuIGV4aXN0aW5nIGl0ZW0gb24gdGhlIHN0b3JhZ2UuIFdvcmtzIGZvciBvYmplY3QgYW5kIGFycmF5IHR5cGUgZGF0YS5cbiAgICAgKiBAcGFyYW0ge0tleVBhdGh9IGtleSBrZXlwYXRoIG9mIHRoZSBkYXRhIHlvdSB3YW50IHRvIGFwcGVuZCB0by5cbiAgICAgKiBAcGFyYW0ge1N0b3JhZ2VWYWx1ZX0gdmFsdWUgZGF0YSB2YWx1ZSB5b3Ugd2FudCB0byBhcHBlbmQgdG8uXG4gICAgICovXG4gICAgYXBwZW5kSXRlbUluSXRlbShrZXk6IEtleVBhdGgsIHZhbHVlOiBTdG9yYWdlVmFsdWUpOiBib29sZWFuIHwgRXJyb3I7XG5cbiAgICAvKipcbiAgICAgKiBVcGRhdGVzIGFuIGl0ZW0gaW4gdGhlIHNwZWNpZmllZCBrZXlwYXRoLlxuICAgICAqIEBwYXJhbSB7S2V5UGF0aH0ga2V5IGtleXBhdGggb2YgdGhlIGRhdGEuXG4gICAgICogQHBhcmFtIHtBdHRyaWJ1dGVDb21wYXJlfSBhdHRyQ29tcGFyZSBkYXRhIGtleSBhdHRyaWJ1dGUgdG8gYmUgdXBkYXRlZC5cbiAgICAgKi9cbiAgICB1cGRhdGVJdGVtSW5JdGVtKGtleTogS2V5UGF0aCwgYXR0ckNvbXBhcmU6IEF0dHJpYnV0ZUNvbXBhcmUgfCBudWxsLCBuZXdWYWx1ZTogU3RvcmFnZVZhbHVlKTogYm9vbGVhbiB8IEVycm9yO1xuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlcyBhbiBpdGVtIGluIHRoZSBzcGVjaWZpZWQga2V5cGF0aC5cbiAgICAgKiBAcGFyYW0ge0tleVBhdGh9IGtleSBrZXlwYXRoIG9mIHRoZSBkYXRhLlxuICAgICAqIEBwYXJhbSB7QXR0cmlidXRlQ29tcGFyZX0gYXR0ckNvbXBhcmUgZGF0YSBrZXkgYXR0cmlidXRlIHRvIGJlIHVwZGF0ZWQuXG4gICAgICovXG4gICAgcmVtb3ZlSXRlbUluSXRlbShrZXk6IEtleVBhdGgsIGF0dHJDb21wYXJlPzogQXR0cmlidXRlQ29tcGFyZSk6IGJvb2xlYW4gfCBFcnJvcjtcblxuICAgIC8qKlxuICAgICAqIFJldHVybnMgZGF0YSBmb3VuZCBpbiB0aGUgc3BlY2lmaWVkIGtleXBhdGguXG4gICAgICogQHBhcmFtIHtLZXlQYXRofSBrZXkga2V5cGF0aCBvZiB0aGUgZGF0YS5cbiAgICAgKiBAcGFyYW0ge0F0dHJpYnV0ZUNvbXBhcmV9IGF0dHJDb21wYXJlIGRhdGEga2V5IGF0dHJpYnV0ZSB0byBiZSB1cGRhdGVkLlxuICAgICAqL1xuICAgIGdldEl0ZW1Jbkl0ZW0oa2V5OiBLZXlQYXRoLCBhdHRyQ29tcGFyZT86IEF0dHJpYnV0ZUNvbXBhcmUpOiBTdG9yYWdlVmFsdWU7XG59Il0sIm1hcHBpbmdzIjoiIn0=

@@ -83,21 +83,14 @@ "use strict";

}
appendItem(key, value) {
try {
var data = this.getItem(key);
if (Array.isArray(data)) {
data.push(value);
} else if (typeof data === 'object') {
data[key] = value;
}
return this.setItem(key, data);
} catch (error) {
throw error;
}
}
setMultipleItems(items) {
try {
var hasErrors = [];
for (var item of items) {
var stringified = JSON.stringify(item.value);
_classPrivateFieldGet(this, _storage).setItem(item.key, stringified);
var result = this.setItem(item.key, item.value);
if (!result) {
hasErrors.push(item.key);
}
}
if (hasErrors.length > 0) {
return Error("Keypath with errors: ".concat(hasErrors.join(',')));
}
return true;

@@ -244,8 +237,6 @@ } catch (error) {

return targetItem[foundIdx];
} else if (typeof targetItem === 'object') {
if (attrCompare && attrCompare.name) {
return targetItem[attrCompare.name];
}
return targetItem;
} else if (typeof targetItem === 'object' && attrCompare) {
return targetItem[attrCompare.name];
}
return targetItem;
} else {

@@ -273,2 +264,2 @@ sourceData = sourceData[childKey];

}
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJXZWJTdG9yZSIsImNvbnN0cnVjdG9yIiwic3RvcmFnZSIsImRlbGltaXRlciIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9jbGFzc1ByaXZhdGVNZXRob2RJbml0U3BlYyIsIl9pbmRleE9mT2JqZWN0IiwiX2NsYXNzUHJpdmF0ZUZpZWxkSW5pdFNwZWMiLCJfc3RvcmFnZSIsIndyaXRhYmxlIiwidmFsdWUiLCJfY2xhc3NQcml2YXRlRmllbGRTZXQiLCJfY2xhc3NQcml2YXRlRmllbGRHZXQiLCJrZXkiLCJuIiwiZ2V0SXRlbSIsInN0cmluZ2lmaWVkIiwiY29udmVydGVkIiwiSlNPTiIsInBhcnNlIiwic2V0SXRlbSIsInN0cmluZ2lmeSIsImVycm9yIiwicmVtb3ZlSXRlbSIsImNsZWFyIiwiYXBwZW5kSXRlbSIsImRhdGEiLCJBcnJheSIsImlzQXJyYXkiLCJwdXNoIiwic2V0TXVsdGlwbGVJdGVtcyIsIml0ZW1zIiwiaXRlbSIsInJlbW92ZU11bHRpcGxlSXRlbXMiLCJrZXlzIiwicmVtb3ZlSXRlbUluSXRlbSIsImdldE11bHRpcGxlSXRlbXMiLCJnZXRJdGVtSW5JdGVtIiwiYXBwZW5kSXRlbUluSXRlbSIsImtleVBhdGhzIiwic3BsaXQiLCJwYXJlbnRLZXkiLCJzaGlmdCIsImNoaWxkS2V5cyIsIm1hcCIsImsiLCJ0cmltIiwiRXJyb3IiLCJzb3VyY2VEYXRhIiwiaWR4IiwiY2hpbGRLZXkiLCJlbnRyaWVzIiwidGFyZ2V0SXRlbSIsIm1lcmdlZERhdGEiLCJfb2JqZWN0U3ByZWFkIiwidXBkYXRlSXRlbUluSXRlbSIsImF0dHJDb21wYXJlIiwibmV3VmFsdWUiLCJmb3VuZElkeCIsIl9jbGFzc1ByaXZhdGVNZXRob2RHZXQiLCJfaW5kZXhPZk9iamVjdDIiLCJjYWxsIiwibmFtZSIsInNwbGljZSIsImV4cG9ydHMiLCJ0YXJnZXRWYWx1ZSIsIk51bWJlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGFzcy9zdG9yYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXR0cmlidXRlQ29tcGFyZSxcbiAgICBLZXlQYXRoLFxuICAgIFN0b3JhZ2UsXG4gICAgU3RvcmFnZUl0ZW0sXG4gICAgU3RvcmFnZVZhbHVlLFxuICAgIFdlYlN0b3JhZ2Vcbn0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgV2ViU3RvcmUgaW1wbGVtZW50cyBXZWJTdG9yYWdlIHtcbiAgICAvKipcbiAgICAgKiBXZWIgc3RvcmUgdG8gYmUgdXNlZCBmb3IgdGhpcyBzZXNzaW9uLlxuICAgICAqL1xuICAgICNzdG9yYWdlOiBTdG9yYWdlO1xuICAgIGRlbGltaXRlcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogQHBhcmFtIHN0b3JhZ2UgU3RvcmFnZSBpbnRlcmZhY2UgdG8gYmUgdXNlZCBhbmQgaW5pdGlhbGl6ZWQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Ioc3RvcmFnZTogU3RvcmFnZSwgZGVsaW1pdGVyOiBzdHJpbmcgPSAnLicpIHtcbiAgICAgICAgdGhpcy4jc3RvcmFnZSA9IHN0b3JhZ2U7XG4gICAgICAgIHRoaXMuZGVsaW1pdGVyID0gZGVsaW1pdGVyO1xuICAgIH1cblxuICAgIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3N0b3JhZ2UubGVuZ3RoO1xuICAgIH1cblxuICAgIGtleShuOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy4jc3RvcmFnZS5rZXkobik7XG4gICAgfVxuXG4gICAgZ2V0SXRlbShrZXk6IEtleVBhdGgpOiBTdG9yYWdlVmFsdWUge1xuICAgICAgICBjb25zdCBzdHJpbmdpZmllZCA9IHRoaXMuI3N0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICBjb25zdCBjb252ZXJ0ZWQgPSBKU09OLnBhcnNlKHN0cmluZ2lmaWVkKTtcbiAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcbiAgICB9XG5cbiAgICBzZXRJdGVtKGtleTogS2V5UGF0aCwgdmFsdWU6IFN0b3JhZ2VWYWx1ZSk6IGJvb2xlYW4gfCBFcnJvciB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzdHJpbmdpZmllZCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuI3N0b3JhZ2Uuc2V0SXRlbShrZXksIHN0cmluZ2lmaWVkKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVJdGVtKGtleTogS2V5UGF0aCk6IHZvaWQge1xuICAgICAgICB0aGlzLiNzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy4jc3RvcmFnZS5jbGVhcigpO1xuICAgIH1cblxuXG4gICAgYXBwZW5kSXRlbShrZXk6IHN0cmluZywgdmFsdWU6IGFueSk6IGJvb2xlYW4gfCBFcnJvciB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBkYXRhID0gdGhpcy5nZXRJdGVtKGtleSk7XG4gICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShkYXRhKSkge1xuICAgICAgICAgICAgICAgIGRhdGEucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiBkYXRhID09PSAnb2JqZWN0Jykge1xuICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IHZhbHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0SXRlbShrZXksIGRhdGEpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzZXRNdWx0aXBsZUl0ZW1zKGl0ZW1zOiBTdG9yYWdlSXRlbVtdKTogYm9vbGVhbiB8IEVycm9yIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGZvciAoY29uc3QgaXRlbSBvZiBpdGVtcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHN0cmluZ2lmaWVkID0gSlNPTi5zdHJpbmdpZnkoaXRlbS52YWx1ZSk7XG4gICAgICAgICAgICAgICAgdGhpcy4jc3RvcmFnZS5zZXRJdGVtKGl0ZW0ua2V5LCBzdHJpbmdpZmllZCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlTXVsdGlwbGVJdGVtcyhrZXlzOiBLZXlQYXRoW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVJdGVtSW5JdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRNdWx0aXBsZUl0ZW1zKGtleXM6IEtleVBhdGhbXSk6IFN0b3JhZ2VWYWx1ZVtdIHtcbiAgICAgICAgY29uc3QgaXRlbXM6IFN0b3JhZ2VWYWx1ZVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1Jbkl0ZW0oa2V5KTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgYXBwZW5kSXRlbUluSXRlbShrZXk6IEtleVBhdGgsIHZhbHVlOiBhbnkpOiBib29sZWFuIHwgRXJyb3Ige1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qga2V5UGF0aHM6IHN0cmluZ1tdID0ga2V5LnNwbGl0KHRoaXMuZGVsaW1pdGVyKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudEtleSA9IGtleVBhdGhzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRLZXlzOiBzdHJpbmdbXSA9IGtleVBhdGhzLm1hcChrID0+IGsudHJpbSgpKTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuZ2V0SXRlbShwYXJlbnRLZXkpO1xuXG4gICAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBzb3VyY2VEYXRhOiBhbnkgPSBkYXRhO1xuICAgICAgICAgICAgZm9yIChjb25zdCBbaWR4LCBjaGlsZEtleV0gb2YgY2hpbGRLZXlzLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgICAgIGlmICghc291cmNlRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kIG9yIGRhdGEgc291cmNlIGlzIGluIGFuIGludmFsaWQgb3IgdW5zdXBwb3J0ZWQgZm9ybWF0Jyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGlkeCA9PT0gY2hpbGRLZXlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXRlbTogYW55ID0gc291cmNlRGF0YVtjaGlsZEtleV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhcmdldEl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRJdGVtLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0YXJnZXRJdGVtID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXJnZWREYXRhID0geyAuLi50YXJnZXRJdGVtLCAuLi52YWx1ZSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlRGF0YVtjaGlsZEtleV0gPSBtZXJnZWREYXRhO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlRGF0YSA9IHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0SXRlbShwYXJlbnRLZXksIGRhdGEpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVJdGVtSW5JdGVtKGtleTogS2V5UGF0aCwgYXR0ckNvbXBhcmU6IEF0dHJpYnV0ZUNvbXBhcmUsIG5ld1ZhbHVlOiBTdG9yYWdlVmFsdWUpOiBib29sZWFuIHwgRXJyb3Ige1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qga2V5UGF0aHM6IHN0cmluZ1tdID0ga2V5LnNwbGl0KHRoaXMuZGVsaW1pdGVyKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudEtleSA9IGtleVBhdGhzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRLZXlzOiBzdHJpbmdbXSA9IGtleVBhdGhzLm1hcChrID0+IGsudHJpbSgpKTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuZ2V0SXRlbShwYXJlbnRLZXkpO1xuXG4gICAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBzb3VyY2VEYXRhOiBhbnkgPSBkYXRhO1xuICAgICAgICAgICAgZm9yIChjb25zdCBbaWR4LCBjaGlsZEtleV0gb2YgY2hpbGRLZXlzLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgICAgIGlmICghc291cmNlRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kIG9yIGRhdGEgc291cmNlIGlzIGluIGFuIGludmFsaWQgb3IgdW5zdXBwb3J0ZWQgZm9ybWF0Jyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGlkeCA9PT0gY2hpbGRLZXlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXRlbTogYW55ID0gc291cmNlRGF0YVtjaGlsZEtleV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhcmdldEl0ZW0pICYmIGF0dHJDb21wYXJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3VuZElkeCA9IHRoaXMuI2luZGV4T2ZPYmplY3QodGFyZ2V0SXRlbSwgYXR0ckNvbXBhcmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0SXRlbVtmb3VuZElkeF0gPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGFyZ2V0SXRlbSA9PT0gJ29iamVjdCcgJiYgYXR0ckNvbXBhcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEl0ZW1bYXR0ckNvbXBhcmUubmFtZV0gPSBuZXdWYWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZURhdGFbY2hpbGRLZXldID0gdGFyZ2V0SXRlbTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZURhdGFbY2hpbGRLZXldID0gbmV3VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBzb3VyY2VEYXRhID0gc291cmNlRGF0YVtjaGlsZEtleV07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICByZXR1cm4gdGhpcy5zZXRJdGVtKHBhcmVudEtleSwgZGF0YSk7XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgICB0aHJvdyBlcnJvcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHJlbW92ZUl0ZW1Jbkl0ZW0oa2V5OiBLZXlQYXRoLCBhdHRyQ29tcGFyZT86IEF0dHJpYnV0ZUNvbXBhcmUpOiBib29sZWFuIHwgRXJyb3Ige1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qga2V5UGF0aHM6IHN0cmluZ1tdID0ga2V5LnNwbGl0KHRoaXMuZGVsaW1pdGVyKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudEtleSA9IGtleVBhdGhzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRLZXlzOiBzdHJpbmdbXSA9IGtleVBhdGhzLm1hcChrID0+IGsudHJpbSgpKTtcblxuICAgICAgICAgICAgaWYgKGNoaWxkS2V5cy5sZW5ndGggPT09IDApIHtcbiAgICAgICAgICAgICAgICB0aGlzLnJlbW92ZUl0ZW0ocGFyZW50S2V5KTtcbiAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgY29uc3QgZGF0YTogYW55ID0gdGhpcy5nZXRJdGVtKHBhcmVudEtleSk7XG4gICAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBzb3VyY2VEYXRhOiBhbnkgPSBkYXRhO1xuICAgICAgICAgICAgZm9yIChjb25zdCBbaWR4LCBjaGlsZEtleV0gb2YgY2hpbGRLZXlzLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgICAgIGlmICghc291cmNlRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kIG9yIGRhdGEgc291cmNlIGlzIGluIGFuIGludmFsaWQgb3IgdW5zdXBwb3J0ZWQgZm9ybWF0Jyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGlkeCA9PT0gY2hpbGRLZXlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXRlbTogYW55ID0gc291cmNlRGF0YVtjaGlsZEtleV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhcmdldEl0ZW0pICYmIGF0dHJDb21wYXJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3VuZElkeCA9IHRoaXMuI2luZGV4T2ZPYmplY3QodGFyZ2V0SXRlbSwgYXR0ckNvbXBhcmUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlRGF0YVtjaGlsZEtleV0uc3BsaWNlKGZvdW5kSWR4LCAxKTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGFyZ2V0SXRlbSA9PT0gJ29iamVjdCcgJiYgYXR0ckNvbXBhcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSB0YXJnZXRJdGVtW2F0dHJDb21wYXJlLm5hbWVdO1xuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlRGF0YVtjaGlsZEtleV0gPSB0YXJnZXRJdGVtO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGVsZXRlIHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlRGF0YSA9IHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0SXRlbShwYXJlbnRLZXksIGRhdGEpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRJdGVtSW5JdGVtKGtleTogS2V5UGF0aCwgYXR0ckNvbXBhcmU/OiBBdHRyaWJ1dGVDb21wYXJlKTogU3RvcmFnZVZhbHVlIHtcbiAgICAgICAgY29uc3Qga2V5UGF0aHM6IHN0cmluZ1tdID0ga2V5LnNwbGl0KHRoaXMuZGVsaW1pdGVyKTtcbiAgICAgICAgY29uc3QgcGFyZW50S2V5ID0ga2V5UGF0aHMuc2hpZnQoKSBhcyBzdHJpbmc7XG4gICAgICAgIGNvbnN0IGNoaWxkS2V5czogc3RyaW5nW10gPSBrZXlQYXRocy5tYXAoayA9PiBrLnRyaW0oKSk7XG4gICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuZ2V0SXRlbShwYXJlbnRLZXkpO1xuXG4gICAgICAgIGlmICghZGF0YSkge1xuICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcignS2V5IG5vdCBmb3VuZCcpO1xuICAgICAgICB9XG5cbiAgICAgICAgbGV0IHNvdXJjZURhdGE6IGFueSA9IGRhdGE7XG4gICAgICAgIGZvciAoY29uc3QgW2lkeCwgY2hpbGRLZXldIG9mIGNoaWxkS2V5cy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGlmICghc291cmNlRGF0YSkge1xuICAgICAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoJ0tleSBub3QgZm91bmQgb3IgZGF0YSBzb3VyY2UgaXMgaW4gYW4gaW52YWxpZCBvciB1bnN1cHBvcnRlZCBmb3JtYXQnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaWYgKGlkeCA9PT0gY2hpbGRLZXlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICBjb25zdCB0YXJnZXRJdGVtOiBhbnkgPSBzb3VyY2VEYXRhW2NoaWxkS2V5XTtcbiAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXRJdGVtKSAmJiBhdHRyQ29tcGFyZSkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3VuZElkeCA9IHRoaXMuI2luZGV4T2ZPYmplY3QodGFyZ2V0SXRlbSwgYXR0ckNvbXBhcmUpO1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0SXRlbVtmb3VuZElkeF07XG4gICAgICAgICAgICAgICAgfSBlbHNlIGlmICh0eXBlb2YgdGFyZ2V0SXRlbSA9PT0gJ29iamVjdCcpIHtcbiAgICAgICAgICAgICAgICAgICAgaWYgKGF0dHJDb21wYXJlICYmIGF0dHJDb21wYXJlLm5hbWUpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRJdGVtW2F0dHJDb21wYXJlLm5hbWVdO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRJdGVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc291cmNlRGF0YSA9IHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNvdXJjZURhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGVscGVyc1xuICAgICAqL1xuXG4gICAgLyoqXG4gICAgICogRmluZCBhbmQgcmV0dXJucyBpbmRleCBvZiB0aGUgdGFyZ2V0IGl0ZW1cbiAgICAgKiBAcGFyYW0ge09iamVjdFtdfSBzb3VyY2VEYXRhIC0gY29sbGVjdGlvbiBvZiBvYmplY3RzXG4gICAgICogQHBhcmFtIHtBdHRyaWJ1dGVDb21wYXJlfSBhdHRyQ29tcGFyZSAtIG9iamVjdCB0byBmaW5kIGluZGV4IGZyb20gdGhlIGNvbGxlY3Rpb25cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBpbmRleCBvZiBmb3VuZCBtYXRjaGluZyBpdGVtXG4gICAgICovXG4gICAgI2luZGV4T2ZPYmplY3Qoc291cmNlRGF0YTogUmVjb3JkPHN0cmluZywgYW55PltdLCBhdHRyQ29tcGFyZTogQXR0cmlidXRlQ29tcGFyZSk6IG51bWJlciB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShzb3VyY2VEYXRhKSAmJiBhdHRyQ29tcGFyZSAmJiBhdHRyQ29tcGFyZS5uYW1lICYmIGF0dHJDb21wYXJlLnZhbHVlKSByZXR1cm4gLTE7XG4gICAgICAgIGZvciAoY29uc3QgW2lkeCwgZGF0YV0gb2Ygc291cmNlRGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGxldCB0YXJnZXRWYWx1ZSA9IGRhdGFbYXR0ckNvbXBhcmUubmFtZV07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGF0dHJDb21wYXJlLnZhbHVlID09PSAnbnVtYmVyJykgeyAvLyBjaGVjayB0aGUgdHlwZSBvZiBzZWFyY2hlZCB2YWx1ZSBhbmQgdHJ5IHRvIGNvbXBhcmUgd2l0aCBpdCdzIGluaGVyZW50IHR5cGVcbiAgICAgICAgICAgICAgICB0YXJnZXRWYWx1ZSA9IE51bWJlcih0YXJnZXRWYWx1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0YXJnZXRWYWx1ZSA9PT0gYXR0ckNvbXBhcmUudmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWR4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNPLE1BQU1BLFFBQVEsQ0FBdUI7RUFPeEM7QUFDSjtBQUNBO0FBQ0E7RUFDSUMsV0FBV0EsQ0FBQ0MsT0FBZ0IsRUFBMkI7SUFBQSxJQUF6QkMsU0FBaUIsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFB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
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJXZWJTdG9yZSIsImNvbnN0cnVjdG9yIiwic3RvcmFnZSIsImRlbGltaXRlciIsImFyZ3VtZW50cyIsImxlbmd0aCIsInVuZGVmaW5lZCIsIl9jbGFzc1ByaXZhdGVNZXRob2RJbml0U3BlYyIsIl9pbmRleE9mT2JqZWN0IiwiX2NsYXNzUHJpdmF0ZUZpZWxkSW5pdFNwZWMiLCJfc3RvcmFnZSIsIndyaXRhYmxlIiwidmFsdWUiLCJfY2xhc3NQcml2YXRlRmllbGRTZXQiLCJfY2xhc3NQcml2YXRlRmllbGRHZXQiLCJrZXkiLCJuIiwiZ2V0SXRlbSIsInN0cmluZ2lmaWVkIiwiY29udmVydGVkIiwiSlNPTiIsInBhcnNlIiwic2V0SXRlbSIsInN0cmluZ2lmeSIsImVycm9yIiwicmVtb3ZlSXRlbSIsImNsZWFyIiwic2V0TXVsdGlwbGVJdGVtcyIsIml0ZW1zIiwiaGFzRXJyb3JzIiwiaXRlbSIsInJlc3VsdCIsInB1c2giLCJFcnJvciIsImNvbmNhdCIsImpvaW4iLCJyZW1vdmVNdWx0aXBsZUl0ZW1zIiwia2V5cyIsInJlbW92ZUl0ZW1Jbkl0ZW0iLCJnZXRNdWx0aXBsZUl0ZW1zIiwiZ2V0SXRlbUluSXRlbSIsImFwcGVuZEl0ZW1Jbkl0ZW0iLCJrZXlQYXRocyIsInNwbGl0IiwicGFyZW50S2V5Iiwic2hpZnQiLCJjaGlsZEtleXMiLCJtYXAiLCJrIiwidHJpbSIsImRhdGEiLCJzb3VyY2VEYXRhIiwiaWR4IiwiY2hpbGRLZXkiLCJlbnRyaWVzIiwidGFyZ2V0SXRlbSIsIkFycmF5IiwiaXNBcnJheSIsIm1lcmdlZERhdGEiLCJfb2JqZWN0U3ByZWFkIiwidXBkYXRlSXRlbUluSXRlbSIsImF0dHJDb21wYXJlIiwibmV3VmFsdWUiLCJmb3VuZElkeCIsIl9jbGFzc1ByaXZhdGVNZXRob2RHZXQiLCJfaW5kZXhPZk9iamVjdDIiLCJjYWxsIiwibmFtZSIsInNwbGljZSIsImV4cG9ydHMiLCJ0YXJnZXRWYWx1ZSIsIk51bWJlciJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jbGFzcy9zdG9yYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gICAgQXR0cmlidXRlQ29tcGFyZSxcbiAgICBLZXlQYXRoLFxuICAgIFN0b3JhZ2UsXG4gICAgU3RvcmFnZUl0ZW0sXG4gICAgU3RvcmFnZVZhbHVlLFxuICAgIFdlYlN0b3JhZ2Vcbn0gZnJvbSAnLi9pbnRlcmZhY2UnO1xuXG5leHBvcnQgY2xhc3MgV2ViU3RvcmUgaW1wbGVtZW50cyBXZWJTdG9yYWdlIHtcbiAgICAvKipcbiAgICAgKiBXZWIgc3RvcmUgdG8gYmUgdXNlZCBmb3IgdGhpcyBzZXNzaW9uLlxuICAgICAqL1xuICAgICNzdG9yYWdlOiBTdG9yYWdlO1xuICAgIGRlbGltaXRlcjogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogXG4gICAgICogQHBhcmFtIHN0b3JhZ2UgU3RvcmFnZSBpbnRlcmZhY2UgdG8gYmUgdXNlZCBhbmQgaW5pdGlhbGl6ZWQuXG4gICAgICovXG4gICAgY29uc3RydWN0b3Ioc3RvcmFnZTogU3RvcmFnZSwgZGVsaW1pdGVyOiBzdHJpbmcgPSAnLicpIHtcbiAgICAgICAgdGhpcy4jc3RvcmFnZSA9IHN0b3JhZ2U7XG4gICAgICAgIHRoaXMuZGVsaW1pdGVyID0gZGVsaW1pdGVyO1xuICAgIH1cblxuICAgIGdldCBsZW5ndGgoKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuI3N0b3JhZ2UubGVuZ3RoO1xuICAgIH1cblxuICAgIGtleShuOiBudW1iZXIpOiBudW1iZXIge1xuICAgICAgICByZXR1cm4gdGhpcy4jc3RvcmFnZS5rZXkobik7XG4gICAgfVxuXG4gICAgZ2V0SXRlbShrZXk6IEtleVBhdGgpOiBTdG9yYWdlVmFsdWUge1xuICAgICAgICBjb25zdCBzdHJpbmdpZmllZCA9IHRoaXMuI3N0b3JhZ2UuZ2V0SXRlbShrZXkpO1xuICAgICAgICBjb25zdCBjb252ZXJ0ZWQgPSBKU09OLnBhcnNlKHN0cmluZ2lmaWVkKTtcbiAgICAgICAgcmV0dXJuIGNvbnZlcnRlZDtcbiAgICB9XG5cbiAgICBzZXRJdGVtKGtleTogS2V5UGF0aCwgdmFsdWU6IFN0b3JhZ2VWYWx1ZSk6IGJvb2xlYW4gfCBFcnJvciB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBzdHJpbmdpZmllZCA9IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcbiAgICAgICAgICAgIHRoaXMuI3N0b3JhZ2Uuc2V0SXRlbShrZXksIHN0cmluZ2lmaWVkKTtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVJdGVtKGtleTogS2V5UGF0aCk6IHZvaWQge1xuICAgICAgICB0aGlzLiNzdG9yYWdlLnJlbW92ZUl0ZW0oa2V5KTtcbiAgICB9XG5cbiAgICBjbGVhcigpOiB2b2lkIHtcbiAgICAgICAgdGhpcy4jc3RvcmFnZS5jbGVhcigpO1xuICAgIH1cblxuICAgIHNldE11bHRpcGxlSXRlbXMoaXRlbXM6IFN0b3JhZ2VJdGVtW10pOiBib29sZWFuIHwgRXJyb3Ige1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaGFzRXJyb3JzOiBzdHJpbmdbXSA9IFtdO1xuICAgICAgICAgICAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgcmVzdWx0ID0gdGhpcy5zZXRJdGVtKGl0ZW0ua2V5LCBpdGVtLnZhbHVlKTtcbiAgICAgICAgICAgICAgICBpZiAoIXJlc3VsdCkge1xuICAgICAgICAgICAgICAgICAgICBoYXNFcnJvcnMucHVzaChpdGVtLmtleSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaWYgKGhhc0Vycm9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIEVycm9yKGBLZXlwYXRoIHdpdGggZXJyb3JzOiAke2hhc0Vycm9ycy5qb2luKCcsJyl9YCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcmVtb3ZlTXVsdGlwbGVJdGVtcyhrZXlzOiBLZXlQYXRoW10pOiB2b2lkIHtcbiAgICAgICAgZm9yIChjb25zdCBrZXkgb2Yga2V5cykge1xuICAgICAgICAgICAgdGhpcy5yZW1vdmVJdGVtSW5JdGVtKGtleSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBnZXRNdWx0aXBsZUl0ZW1zKGtleXM6IEtleVBhdGhbXSk6IFN0b3JhZ2VWYWx1ZVtdIHtcbiAgICAgICAgY29uc3QgaXRlbXM6IFN0b3JhZ2VWYWx1ZVtdID0gW107XG4gICAgICAgIGZvciAoY29uc3Qga2V5IG9mIGtleXMpIHtcbiAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLmdldEl0ZW1Jbkl0ZW0oa2V5KTtcbiAgICAgICAgICAgIGlmIChpdGVtKSB7XG4gICAgICAgICAgICAgICAgaXRlbXMucHVzaChpdGVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gaXRlbXM7XG4gICAgfVxuXG4gICAgYXBwZW5kSXRlbUluSXRlbShrZXk6IEtleVBhdGgsIHZhbHVlOiBhbnkpOiBib29sZWFuIHwgRXJyb3Ige1xuICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3Qga2V5UGF0aHM6IHN0cmluZ1tdID0ga2V5LnNwbGl0KHRoaXMuZGVsaW1pdGVyKTtcbiAgICAgICAgICAgIGNvbnN0IHBhcmVudEtleSA9IGtleVBhdGhzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgICAgICAgY29uc3QgY2hpbGRLZXlzOiBzdHJpbmdbXSA9IGtleVBhdGhzLm1hcChrID0+IGsudHJpbSgpKTtcbiAgICAgICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuZ2V0SXRlbShwYXJlbnRLZXkpO1xuXG4gICAgICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kJyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxldCBzb3VyY2VEYXRhOiBhbnkgPSBkYXRhO1xuICAgICAgICAgICAgZm9yIChjb25zdCBbaWR4LCBjaGlsZEtleV0gb2YgY2hpbGRLZXlzLmVudHJpZXMoKSkge1xuICAgICAgICAgICAgICAgIGlmICghc291cmNlRGF0YSkge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kIG9yIGRhdGEgc291cmNlIGlzIGluIGFuIGludmFsaWQgb3IgdW5zdXBwb3J0ZWQgZm9ybWF0Jyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaWYgKGlkeCA9PT0gY2hpbGRLZXlzLmxlbmd0aCAtIDEpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXRlbTogYW55ID0gc291cmNlRGF0YVtjaGlsZEtleV07XG4gICAgICAgICAgICAgICAgICAgIGlmIChBcnJheS5pc0FycmF5KHRhcmdldEl0ZW0pKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRJdGVtLnB1c2godmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKHR5cGVvZiB0YXJnZXRJdGVtID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBtZXJnZWREYXRhID0geyAuLi50YXJnZXRJdGVtLCAuLi52YWx1ZSB9O1xuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlRGF0YVtjaGlsZEtleV0gPSBtZXJnZWREYXRhO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlRGF0YSA9IHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0SXRlbShwYXJlbnRLZXksIGRhdGEpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1cGRhdGVJdGVtSW5JdGVtKGtleTogS2V5UGF0aCwgYXR0ckNvbXBhcmU6IEF0dHJpYnV0ZUNvbXBhcmUgfCBudWxsLCBuZXdWYWx1ZTogU3RvcmFnZVZhbHVlKTogYm9vbGVhbiB8IEVycm9yIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGtleVBhdGhzOiBzdHJpbmdbXSA9IGtleS5zcGxpdCh0aGlzLmRlbGltaXRlcik7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRLZXkgPSBrZXlQYXRocy5zaGlmdCgpIGFzIHN0cmluZztcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkS2V5czogc3RyaW5nW10gPSBrZXlQYXRocy5tYXAoayA9PiBrLnRyaW0oKSk7XG4gICAgICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSB0aGlzLmdldEl0ZW0ocGFyZW50S2V5KTtcblxuICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcignS2V5IG5vdCBmb3VuZCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgc291cmNlRGF0YTogYW55ID0gZGF0YTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2lkeCwgY2hpbGRLZXldIG9mIGNoaWxkS2V5cy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXNvdXJjZURhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcignS2V5IG5vdCBmb3VuZCBvciBkYXRhIHNvdXJjZSBpcyBpbiBhbiBpbnZhbGlkIG9yIHVuc3VwcG9ydGVkIGZvcm1hdCcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpZHggPT09IGNoaWxkS2V5cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldEl0ZW06IGFueSA9IHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXRJdGVtKSAmJiBhdHRyQ29tcGFyZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm91bmRJZHggPSB0aGlzLiNpbmRleE9mT2JqZWN0KHRhcmdldEl0ZW0sIGF0dHJDb21wYXJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldEl0ZW1bZm91bmRJZHhdID0gbmV3VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRhcmdldEl0ZW0gPT09ICdvYmplY3QnICYmIGF0dHJDb21wYXJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXRJdGVtW2F0dHJDb21wYXJlLm5hbWVdID0gbmV3VmFsdWU7XG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VEYXRhW2NoaWxkS2V5XSA9IHRhcmdldEl0ZW07XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VEYXRhW2NoaWxkS2V5XSA9IG5ld1ZhbHVlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgc291cmNlRGF0YSA9IHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcmV0dXJuIHRoaXMuc2V0SXRlbShwYXJlbnRLZXksIGRhdGEpO1xuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgdGhyb3cgZXJyb3I7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICByZW1vdmVJdGVtSW5JdGVtKGtleTogS2V5UGF0aCwgYXR0ckNvbXBhcmU/OiBBdHRyaWJ1dGVDb21wYXJlKTogYm9vbGVhbiB8IEVycm9yIHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgIGNvbnN0IGtleVBhdGhzOiBzdHJpbmdbXSA9IGtleS5zcGxpdCh0aGlzLmRlbGltaXRlcik7XG4gICAgICAgICAgICBjb25zdCBwYXJlbnRLZXkgPSBrZXlQYXRocy5zaGlmdCgpIGFzIHN0cmluZztcbiAgICAgICAgICAgIGNvbnN0IGNoaWxkS2V5czogc3RyaW5nW10gPSBrZXlQYXRocy5tYXAoayA9PiBrLnRyaW0oKSk7XG5cbiAgICAgICAgICAgIGlmIChjaGlsZEtleXMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5yZW1vdmVJdGVtKHBhcmVudEtleSk7XG4gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGNvbnN0IGRhdGE6IGFueSA9IHRoaXMuZ2V0SXRlbShwYXJlbnRLZXkpO1xuICAgICAgICAgICAgaWYgKCFkYXRhKSB7XG4gICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcignS2V5IG5vdCBmb3VuZCcpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsZXQgc291cmNlRGF0YTogYW55ID0gZGF0YTtcbiAgICAgICAgICAgIGZvciAoY29uc3QgW2lkeCwgY2hpbGRLZXldIG9mIGNoaWxkS2V5cy5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgICAgICBpZiAoIXNvdXJjZURhdGEpIHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG5ldyBFcnJvcignS2V5IG5vdCBmb3VuZCBvciBkYXRhIHNvdXJjZSBpcyBpbiBhbiBpbnZhbGlkIG9yIHVuc3VwcG9ydGVkIGZvcm1hdCcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlmIChpZHggPT09IGNoaWxkS2V5cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHRhcmdldEl0ZW06IGFueSA9IHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheSh0YXJnZXRJdGVtKSAmJiBhdHRyQ29tcGFyZSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgZm91bmRJZHggPSB0aGlzLiNpbmRleE9mT2JqZWN0KHRhcmdldEl0ZW0sIGF0dHJDb21wYXJlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZURhdGFbY2hpbGRLZXldLnNwbGljZShmb3VuZElkeCwgMSk7XG4gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRhcmdldEl0ZW0gPT09ICdvYmplY3QnICYmIGF0dHJDb21wYXJlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxldGUgdGFyZ2V0SXRlbVthdHRyQ29tcGFyZS5uYW1lXTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZURhdGFbY2hpbGRLZXldID0gdGFyZ2V0SXRlbTtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGV0ZSBzb3VyY2VEYXRhW2NoaWxkS2V5XTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgIHNvdXJjZURhdGEgPSBzb3VyY2VEYXRhW2NoaWxkS2V5XTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHJldHVybiB0aGlzLnNldEl0ZW0ocGFyZW50S2V5LCBkYXRhKTtcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgIHRocm93IGVycm9yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZ2V0SXRlbUluSXRlbShrZXk6IEtleVBhdGgsIGF0dHJDb21wYXJlPzogQXR0cmlidXRlQ29tcGFyZSk6IFN0b3JhZ2VWYWx1ZSB7XG4gICAgICAgIGNvbnN0IGtleVBhdGhzOiBzdHJpbmdbXSA9IGtleS5zcGxpdCh0aGlzLmRlbGltaXRlcik7XG4gICAgICAgIGNvbnN0IHBhcmVudEtleSA9IGtleVBhdGhzLnNoaWZ0KCkgYXMgc3RyaW5nO1xuICAgICAgICBjb25zdCBjaGlsZEtleXM6IHN0cmluZ1tdID0ga2V5UGF0aHMubWFwKGsgPT4gay50cmltKCkpO1xuICAgICAgICBjb25zdCBkYXRhOiBhbnkgPSB0aGlzLmdldEl0ZW0ocGFyZW50S2V5KTtcblxuICAgICAgICBpZiAoIWRhdGEpIHtcbiAgICAgICAgICAgIHJldHVybiBuZXcgRXJyb3IoJ0tleSBub3QgZm91bmQnKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxldCBzb3VyY2VEYXRhOiBhbnkgPSBkYXRhO1xuICAgICAgICBmb3IgKGNvbnN0IFtpZHgsIGNoaWxkS2V5XSBvZiBjaGlsZEtleXMuZW50cmllcygpKSB7XG4gICAgICAgICAgICBpZiAoIXNvdXJjZURhdGEpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbmV3IEVycm9yKCdLZXkgbm90IGZvdW5kIG9yIGRhdGEgc291cmNlIGlzIGluIGFuIGludmFsaWQgb3IgdW5zdXBwb3J0ZWQgZm9ybWF0Jyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlmIChpZHggPT09IGNoaWxkS2V5cy5sZW5ndGggLSAxKSB7XG4gICAgICAgICAgICAgICAgY29uc3QgdGFyZ2V0SXRlbTogYW55ID0gc291cmNlRGF0YVtjaGlsZEtleV07XG4gICAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkodGFyZ2V0SXRlbSkgJiYgYXR0ckNvbXBhcmUpIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgZm91bmRJZHggPSB0aGlzLiNpbmRleE9mT2JqZWN0KHRhcmdldEl0ZW0sIGF0dHJDb21wYXJlKTtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRhcmdldEl0ZW1bZm91bmRJZHhdO1xuICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAodHlwZW9mIHRhcmdldEl0ZW0gPT09ICdvYmplY3QnICYmIGF0dHJDb21wYXJlKSB7XG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0YXJnZXRJdGVtW2F0dHJDb21wYXJlLm5hbWVdO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICByZXR1cm4gdGFyZ2V0SXRlbTtcbiAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgc291cmNlRGF0YSA9IHNvdXJjZURhdGFbY2hpbGRLZXldO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHNvdXJjZURhdGE7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGVscGVyc1xuICAgICAqL1xuXG4gICAgLyoqXG4gICAgICogRmluZCBhbmQgcmV0dXJucyBpbmRleCBvZiB0aGUgdGFyZ2V0IGl0ZW1cbiAgICAgKiBAcGFyYW0ge09iamVjdFtdfSBzb3VyY2VEYXRhIC0gY29sbGVjdGlvbiBvZiBvYmplY3RzXG4gICAgICogQHBhcmFtIHtBdHRyaWJ1dGVDb21wYXJlfSBhdHRyQ29tcGFyZSAtIG9iamVjdCB0byBmaW5kIGluZGV4IGZyb20gdGhlIGNvbGxlY3Rpb25cbiAgICAgKiBAcmV0dXJucyB7bnVtYmVyfSBpbmRleCBvZiBmb3VuZCBtYXRjaGluZyBpdGVtXG4gICAgICovXG4gICAgI2luZGV4T2ZPYmplY3Qoc291cmNlRGF0YTogUmVjb3JkPHN0cmluZywgYW55PltdLCBhdHRyQ29tcGFyZTogQXR0cmlidXRlQ29tcGFyZSk6IG51bWJlciB7XG4gICAgICAgIGlmICghQXJyYXkuaXNBcnJheShzb3VyY2VEYXRhKSAmJiBhdHRyQ29tcGFyZSAmJiBhdHRyQ29tcGFyZS5uYW1lICYmIGF0dHJDb21wYXJlLnZhbHVlKSByZXR1cm4gLTE7XG4gICAgICAgIGZvciAoY29uc3QgW2lkeCwgZGF0YV0gb2Ygc291cmNlRGF0YS5lbnRyaWVzKCkpIHtcbiAgICAgICAgICAgIGxldCB0YXJnZXRWYWx1ZSA9IGRhdGFbYXR0ckNvbXBhcmUubmFtZV07XG4gICAgICAgICAgICBpZiAodHlwZW9mIGF0dHJDb21wYXJlLnZhbHVlID09PSAnbnVtYmVyJykgeyAvLyBjaGVjayB0aGUgdHlwZSBvZiBzZWFyY2hlZCB2YWx1ZSBhbmQgdHJ5IHRvIGNvbXBhcmUgd2l0aCBpdCdzIGluaGVyZW50IHR5cGVcbiAgICAgICAgICAgICAgICB0YXJnZXRWYWx1ZSA9IE51bWJlcih0YXJnZXRWYWx1ZSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmICh0YXJnZXRWYWx1ZSA9PT0gYXR0ckNvbXBhcmUudmFsdWUpIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gaWR4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHJldHVybiAtMTtcbiAgICB9XG59Il0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVNPLE1BQU1BLFFBQVEsQ0FBdUI7RUFPeEM7QUFDSjtBQUNBO0FBQ0E7RUFDSUMsV0FBV0EsQ0FBQ0MsT0FBZ0IsRUFBMkI7SUFBQSxJQUF6QkMsU0FBaUIsR0FBQUMsU0FBQSxDQUFBQyxNQUFBLFFBQUFELFNBQUEsUUFBQUUsU0FBQSxHQUFBRixTQUFBLE1BQUcsR0FBRztJQWdPckQ7QUFDSjtBQUNBO0lBRUk7QUFDSjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0lBTElHLDJCQUFBLE9BQUFDLGNBQUE7SUE5T0E7QUFDSjtBQUNBO0lBRklDLDBCQUFBLE9BQUFDLFFBQUE7TUFBQUMsUUFBQTtNQUFBQyxLQUFBO0lBQUE7SUFXSUMscUJBQUEsS0FBSSxFQUFBSCxRQUFBLEVBQVlSLE9BQU87SUFDdkIsSUFBSSxDQUFDQyxTQUFTLEdBQUdBLFNBQVM7RUFDOUI7RUFF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
{
"name": "web-storage-manager",
"version": "3.0.0",
"version": "3.1.0",
"description": "Web utility storage manager to handle save, update and data purge",

@@ -11,3 +11,4 @@ "main": "lib/index.js",

"scripts": {
"test": "rm -rf lib && babel src --out-dir lib && jest",
"test": "jest",
"test:build": "rm -rf lib && npm run build:js && jest",
"build": "rm -rf lib && npm run build:js",

@@ -14,0 +15,0 @@ "build:types": "tsc --emitDeclarationOnly",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc