forked from MapComplete/MapComplete
		
	Performance: don't clone objects when saving them to the IDB
This commit is contained in:
		
							parent
							
								
									139b60756b
								
							
						
					
					
						commit
						6c6f988f3c
					
				
					 1 changed files with 6 additions and 3 deletions
				
			
		|  | @ -10,7 +10,7 @@ export class IdbLocalStorage { | ||||||
| 
 | 
 | ||||||
|     public static Get<T>( |     public static Get<T>( | ||||||
|         key: string, |         key: string, | ||||||
|         options?: { defaultValue?: T; whenLoaded?: (t: T | null) => void } |         options?: { defaultValue?: T; whenLoaded?: (t: T | null) => void }, | ||||||
|     ): UIEventSource<T> { |     ): UIEventSource<T> { | ||||||
|         if (IdbLocalStorage._sourceCache[key] !== undefined) { |         if (IdbLocalStorage._sourceCache[key] !== undefined) { | ||||||
|             return IdbLocalStorage._sourceCache[key] |             return IdbLocalStorage._sourceCache[key] | ||||||
|  | @ -39,11 +39,14 @@ export class IdbLocalStorage { | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     public static SetDirectly(key: string, value: any): Promise<void> { |     public static SetDirectly(key: string, value: any): Promise<void> { | ||||||
|         const copy = Utils.Clone(value) |         return idb.set(key, value) | ||||||
|         return idb.set(key, copy) |  | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     static GetDirectly(key: string): Promise<any> { |     static GetDirectly(key: string): Promise<any> { | ||||||
|         return idb.get(key) |         return idb.get(key) | ||||||
|     } |     } | ||||||
|  | 
 | ||||||
|  |     static clearAll() { | ||||||
|  |         return idb.clear() | ||||||
|  |     } | ||||||
| } | } | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue