New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@jmondi/browser-storage

Package Overview
Dependencies
Maintainers
1
Versions
28
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@jmondi/browser-storage - npm Package Compare versions

Comparing version 1.8.0-alpha.2 to 1.8.0

8

esm/index.d.ts

@@ -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

![npm bundle size](https://img.shields.io/bundlephobia/min/%40jmondi%2Fbrowser-storage)
![npm bundle size](https://img.shields.io/bundlephobia/minzip/%40jmondi%2Fbrowser-storage)
![npm gzip bundle size](https://img.shields.io/bundlephobia/minzip/%40jmondi%2Fbrowser-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;
SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc