1.3.2 • Published 3 years ago
web-shared-preferences v1.3.2
SharedPreferences
An simple class to manage the loacal storage, including React like useString, useJSON and more!
Install
bun add web-shared-preference
Usage with React
See an example
import { useEffect } from "react";
import { useLocalStorage /* useSessionStorage */ } from "web-shared-preference";
export function App() {
const [name, setName] = useLocalStorage.string("username", "");
useEffect(() => {
setName("Kevin");
}, [name]);
return <div>Hello {name}!</div>;
}
Usage w/o React
import { SharedPreferences } from "web-shared-preferences";
interface Person {
name: string;
age: number;
weight: `${string}kg`;
}
class App {
private pref: SharedPreferences;
public constructor(...args: any[]) {
this.pref = new SharedPreferences();
}
// ... your usage
}
// or functional
function App() {
const pref: SharedPreferences = new SharedPreferences();
// Check if your wanted preferences are exist
if (pref.hasPref("myKey")) console.log("There is a preference named 'myKey'");
pref.setJSON<Person>("myKey", {
name: "Kevin",
age: 36,
weight: "90kg",
});
// Make it partial tp prevent runtime errors
console.log(pref.getJSON < Partial<Person>("myKey", {}));
}
Documentation
I try my best
Create a new hook dispatcher for React
import { Dispatcher } from "web-shared-preference";
import { SharedPreferencesFsPollyfill } from "web-shared-preferences-fs-pollyfill";
const dispatcher = new Dispatcher(new SharedPreferencesFsPollyfill("./local.json"));
const useFsStorage = {
string: dispatcher.useString,
boolean: dispatcher.useBoolean,
number: dispatcher.useNumber,
json: dispatcher.useJSON,
};
export { useFsStorage };
Setting up an FS pollyfill
const fs = require("fs");
const { SharedPreferences } = require("web-shared-preferences");
const { SharedPreferencesFsPollyfill } = require("web-shared-preferences-fs-pollyfill");
const pref = new SharedPreferences(new SharedPreferencesFsPollyfill("./test/local.json"));
pref.setString("name", "Kevin");
pref.setString("last", "Olaf");
pref.setJSON("json", {
name: "Hellow",
});
console.log(`${pref.getString("name", null)} (${pref.getString("last", "")})`);
1.2.0
3 years ago
1.2.8
3 years ago
1.1.9
3 years ago
1.2.7
3 years ago
1.1.8
3 years ago
1.2.6
3 years ago
1.1.7
3 years ago
1.2.5
3 years ago
1.1.6
3 years ago
1.2.4
3 years ago
1.1.5
3 years ago
1.3.2
3 years ago
1.2.3
3 years ago
1.3.1
3 years ago
1.2.2
3 years ago
1.3.0
3 years ago
1.2.1
3 years ago
1.2.9
3 years ago
1.1.4
3 years ago
1.1.2
3 years ago
1.1.0
3 years ago
1.0.9
3 years ago
1.0.8
3 years ago
1.0.7
3 years ago
1.0.6
3 years ago
1.0.5
3 years ago
1.0.4
3 years ago
1.0.3
3 years ago
1.0.2
3 years ago
1.0.1
3 years ago
1.0.0
3 years ago