UNPKG

web-shared-preferences-fs-pollyfill

Version:

Pollyfill to use SharedPreferences outside of browsers

42 lines 1.13 kB
import * as fs from "fs"; import { TempLocalStorage } from "web-shared-preferences"; /** * Pollyfill to use SharedPreferences outside of browsers */ export class SharedPreferencesFsPollyfill extends TempLocalStorage { constructor(path) { super(); this.path = path; } loadFile(file) { return JSON.parse(fs.readFileSync(file, "utf-8")); } writeData(file, data) { fs.writeFileSync(file, JSON.stringify(data, null, 2)); } getItem(key) { return this.loadFile(this.path)[key]; } setItem(key, value) { let tmp = this.loadFile(this.path); tmp[key] = value; this.writeData(this.path, tmp); } removeItem(key) { let tmp = this.loadFile(this.path); delete tmp[key]; this.writeData(this.path, tmp); } clear() { let tmp = this.loadFile(this.path); tmp = {}; this.writeData(this.path, tmp); } key(i) { return ""; } get length() { return Object.keys(this.loadFile(this.path)).length; } } //# sourceMappingURL=SharedPreferencesFsPollyfill.js.map