diff options
author | sualko <klaus@jsxc.org> | 2021-12-29 17:39:37 +0300 |
---|---|---|
committer | sualko <klaus@jsxc.org> | 2021-12-29 17:49:51 +0300 |
commit | 5b39de7b423de2ecad1edf009f26b373894069ac (patch) | |
tree | 792477937258974915451c100d48d591e3c1c231 | |
parent | bb0e27b8892c5c1da003a92545bdb5e106944b3f (diff) |
feat: add generic type to storage interface
-rw-r--r-- | src/Storage.interface.ts | 8 | ||||
-rw-r--r-- | src/Storage.ts | 8 |
2 files changed, 8 insertions, 8 deletions
diff --git a/src/Storage.interface.ts b/src/Storage.interface.ts index 3d20b542..a04cfe31 100644 --- a/src/Storage.interface.ts +++ b/src/Storage.interface.ts @@ -4,11 +4,11 @@ export default interface IStorage { getPrefix(): string; getBackend(); - setItem(type: string, key: string, value: any): void; - setItem(key: string, value: any): void; + setItem<Data = any>(type: string, key: string, value: Data): void; + setItem<Data = any>(key: string, value: Data): void; - getItem(type: string, key: string): any; - getItem(key: string): any; + getItem<Data = any>(type: string, key: string): Data; + getItem<Data = any>(key: string): Data; removeItem(type, key): void; removeItem(key): void; diff --git a/src/Storage.ts b/src/Storage.ts index b7987a6f..a73948d0 100644 --- a/src/Storage.ts +++ b/src/Storage.ts @@ -121,8 +121,8 @@ export default class Storage implements IStorage { return Storage.backend; } - public setItem(type: string, key: string, value: any): void; - public setItem(key: string, value: any): void; + public setItem<Data = any>(type: string, key: string, value: Data): void; + public setItem<Data = any>(key: string, value: Data): void; public setItem(): void { let key: string; let value: any; @@ -162,8 +162,8 @@ export default class Storage implements IStorage { } } - public getItem(type: string, key: string): any; - public getItem(key: string): any; + public getItem<Data = any>(type: string, key: string): Data; + public getItem<Data = any>(key: string): Data; public getItem(): any { let key: string; |