web-shared-preferences-fs-pollyfill
Version:
Pollyfill to use SharedPreferences outside of browsers
42 lines • 1.13 kB
JavaScript
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