Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | 18x 18x 18x 4x 4x 4x 4x 1x 4x 4x 8x 8x 8x 5x 8x 1x 1x 1x | import { Metadata } from '../metadata/metadata';
import { IDictionary } from '../utils';
export interface IJSONObject {
path: string;
}
export class JsonCacheService {
/**
* jsons collection
*/
public static jsonCollection: IJSONObject[] = [];
public static async saveJSONCache(jsonCollection: IJSONObject[], metadata?: IDictionary<any>) {
const jsonCollectionInCache = jsonCollection.map(async (jsonItem) => {
const { path } = jsonItem;
let metadataToSaveInCache = metadata;
if (!metadata) {
metadataToSaveInCache = await Metadata.get(path, true);
}
localStorage.setItem(path, JSON.stringify(metadataToSaveInCache));
});
await Promise.all(jsonCollectionInCache);
}
public static getJSONCache(path: string) {
const getMetadaFromCache = localStorage.getItem(path);
let metadataValueReturn: IDictionary<any> | boolean = false;
if (typeof getMetadaFromCache === 'string') {
metadataValueReturn = JSON.parse(getMetadaFromCache);
}
return metadataValueReturn;
}
public static clearJSONCache(jsonCollection: IJSONObject[]): void {
jsonCollection.map(async (jsonItem) => {
const { path } = jsonItem;
localStorage.removeItem(path);
});
}
}
|