
Security News
Browserslist-rs Gets Major Refactor, Cutting Binary Size by Over 1MB
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
jsonify-storage
Advanced tools
There is a unfriendly case when we use the the native localStorage
, such as
localStorage.setItem('foo', { a: 123 })
localStorage.getItem('foo') // => [object Object]
localStorage.setItem('bar', 123)
localStorage.getItem('bar') // => '123'
So, jsonify it!
⚠Notice: Can only works in browser environment, other scene need define global variable to mock
Storage
.
// In node you have to write like this.
global.localStorage = yourLocalStorage
global.sessionStorage = yourSessionStorage
Node:
npm i -D jsonify-storage
Browser:
<script src="./dist/jsonify-storage.umd.min.js"></script>
Import in Node:
// es mode
import { local, session } from 'jsonify-storage'
// or cjs mode
const { local, session } = require('jsonify-storage')
In Browser:
const { local, session } = jsonifyStorage
local
means localStorage
session
means sessionStorage
Then you can use it like this:
local.set('foo', { a: 123 })
local.get('foo') // => { a: 123 }
local.get('foo').a === 123 // => true, will retain the type.
Payload will be json-stringified before save.
Raw data seems like this:
localStorage.getItem('foo') // => '{"a":123}'
If you try to get something can't parsed by JSON or not existed will return null
localStorage.setItem('bar', '我我我')
local.get('bar') // => null
local.get('baz') // => null
Others apis sames as native Storage
, list below.
- setItem -> set
- getItem -> get
- removeItem -> remove
- clear -> clear
- key -> key
- length -> length
More details see API documentation.
FAQs
Jsonify the payload for local and session storage.
The npm package jsonify-storage receives a total of 0 weekly downloads. As such, jsonify-storage popularity was classified as not popular.
We found that jsonify-storage demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
Browserslist-rs now uses static data to reduce binary size by over 1MB, improving memory use and performance for Rust-based frontend tools.
Research
Security News
Eight new malicious Firefox extensions impersonate games, steal OAuth tokens, hijack sessions, and exploit browser permissions to spy on users.
Security News
The official Go SDK for the Model Context Protocol is in development, with a stable, production-ready release expected by August 2025.