@jmondi/browser-storage
Advanced tools
Comparing version 1.8.0-alpha.2 to 1.8.0
@@ -5,6 +5,2 @@ export type Serializer = { | ||
}; | ||
/** | ||
* @deprecated use Serializer instead | ||
*/ | ||
export type StorageSerializer = Serializer; | ||
export type Adapter<SetConfig = unknown> = { | ||
@@ -94,1 +90,5 @@ clear?(): void; | ||
} | ||
/** | ||
* @deprecated use Serializer instead | ||
*/ | ||
export type StorageSerializer = Serializer; |
@@ -5,3 +5,3 @@ { | ||
"name": "@jmondi/browser-storage", | ||
"version": "1.8.0-alpha.2", | ||
"version": "1.8.0", | ||
"description": "Utilities for local and session browser storage.", | ||
@@ -8,0 +8,0 @@ "keywords": [ |
@@ -11,3 +11,3 @@ # @jmondi/browser-storage | ||
 | ||
 | ||
 | ||
@@ -30,5 +30,5 @@ | ||
### LocalStorage | ||
### The LocalStorage class | ||
Persists after closing browser: | ||
Persists after closing browser | ||
@@ -39,9 +39,10 @@ ```typescript | ||
const storage = new LocalStorage(); | ||
storage.set("user2", { email: "hermoine@hogwarts.com", name: "Hermoine" }); | ||
console.log(storage.get("user2")); // { email: "hermoine@hogwarts.com", name: "Hermoine" } | ||
storage.set("user2", { email: "hermoine@hogwarts.com" }); | ||
console.log(storage.get("user2")); | ||
// { email: "hermoine@hogwarts.com" } | ||
``` | ||
### SessionStorage | ||
### The SessionStorage class | ||
Resets on browser close: | ||
Resets on browser close | ||
@@ -56,3 +57,3 @@ ```typescript | ||
### Custom storage adapter: | ||
### Example Custom storage adapter | ||
@@ -80,22 +81,2 @@ ```ts | ||
## Defining Storage Groups | ||
- Use `define` for individual keys: | ||
```typescript | ||
const storage = new BrowserStorage(); | ||
const USER_COOKIE = storage.define<{ email: string }>("user_info"); | ||
USER_COOKIE.set({ email: "jason@example.com" }); | ||
``` | ||
- Use `defineGroup` for key groups: | ||
```typescript | ||
const storage = new BrowserStorage(); | ||
const GROUP = storage.defineGroup({ token: "refresh_token", user: "user_info" }); | ||
GROUP.token.set("newtoken"); | ||
GROUP.user.set({ email: "jason@example.com" }); | ||
``` | ||
## Configuration | ||
@@ -128,1 +109,37 @@ | ||
``` | ||
## Advanced Usage / Organization Techniques | ||
With defined storage groups you can organize related data into named groups, simplifying access and management. | ||
### Defining Storage Key | ||
Use `define` for individual keys. In this example, | ||
```typescript | ||
type UserInfo = { email: string }; | ||
const storage = new LocalStorage(); // define is available on all BrowserStorage implementations | ||
const USER_INFO = storage.define<UserInfo>("user_info"); | ||
USER_INFO.set({ email: "jason@example.com" }); | ||
USER_INFO.get(); // gets the latest value | ||
USER_INFO.remove(); // removes the value | ||
``` | ||
### Defining Storage Groups | ||
Use `defineGroup` for key groups. | ||
```typescript | ||
const storage = new LocalStorage(); // defineGroup is available on all BrowserStorage implementations | ||
const GROUP = storage.defineGroup({ token: "refresh_token", user: "user_info" }); | ||
GROUP.token.set("newtoken"); | ||
GROUP.token.get(); | ||
GROUP.token.remove(); | ||
GROUP.user.set({ email: "jason@example.com" }); | ||
GROUP.user.get(); | ||
GROUP.user.remove(); | ||
``` |
@@ -5,6 +5,2 @@ export type Serializer = { | ||
}; | ||
/** | ||
* @deprecated use Serializer instead | ||
*/ | ||
export type StorageSerializer = Serializer; | ||
export type Adapter<SetConfig = unknown> = { | ||
@@ -94,1 +90,5 @@ clear?(): void; | ||
} | ||
/** | ||
* @deprecated use Serializer instead | ||
*/ | ||
export type StorageSerializer = Serializer; |
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
26557
1
140