Skip to content

Commit abc2a93

Browse files
committed
feat: add new property in setItem and getItem in AsyncStorage
1 parent 4a35617 commit abc2a93

File tree

3 files changed

+23
-5
lines changed

3 files changed

+23
-5
lines changed

package.json

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "encrypt-storage",
3-
"version": "2.5.0",
3+
"version": "2.5.1",
44
"description": "Wrapper for encrypted localStorage and sessionStorage in browser",
55
"main": "dist/index.js",
66
"types": "dist/index.d.ts",

src/async-encrypt-storage.ts

+11-4
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,22 @@ export class AsyncEncryptStorage {
1212
return Promise.resolve(this.encryptStorage.length);
1313
}
1414

15-
public async setItem(key: string, value: any): Promise<void> {
15+
public async setItem(
16+
key: string,
17+
value: any,
18+
dotNotEncrypt?: boolean,
19+
): Promise<void> {
1620
return new Promise(resolve => {
17-
resolve(this.encryptStorage.setItem(key, value));
21+
resolve(this.encryptStorage.setItem(key, value, dotNotEncrypt));
1822
});
1923
}
2024

21-
public async getItem<T = any>(key: string): Promise<T | undefined> {
25+
public async getItem<T = any>(
26+
key: string,
27+
doNotDecrypt?: boolean,
28+
): Promise<T | undefined> {
2229
return new Promise(resolve => {
23-
const storageValue = this.encryptStorage.getItem<T>(key);
30+
const storageValue = this.encryptStorage.getItem<T>(key, doNotDecrypt);
2431
resolve(storageValue);
2532
});
2633
}

src/experiments/test-2.ts

+11
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,17 @@ export const test2 = () =>
7979
expect(storagedDecrypetdValue).toEqual(value);
8080
});
8181

82+
it('should localStorage.getItem returns correct value with doNotDecryptValue', async () => {
83+
const safeStorage = makeSut();
84+
const key = faker.random.word();
85+
const value = { value: faker.random.word() };
86+
87+
await safeStorage.setItem(key, value, true);
88+
const storagedDecrypetdValue = await safeStorage.getItem(key, true);
89+
90+
expect(storagedDecrypetdValue).toEqual(value);
91+
});
92+
8293
it('should localStorage.getItem returns correct decrypted value when is a string', async () => {
8394
const safeStorage = makeSut();
8495
const key = faker.random.word();

0 commit comments

Comments
 (0)