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

use-local-storage-state

Package Overview
Dependencies
Maintainers
1
Versions
83
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

use-local-storage-state - npm Package Compare versions

Comparing version 8.0.0 to 8.0.1

15

index.js

@@ -1,4 +0,11 @@

import useLocalStorageState from './src/useLocalStorageState';
import createLocalStorageStateHook from './src/createLocalStorageStateHook';
export default useLocalStorageState;
export { useLocalStorageState, createLocalStorageStateHook };
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.createLocalStorageStateHook = exports.useLocalStorageState = void 0;
const useLocalStorageState_1 = __importDefault(require("./src/useLocalStorageState"));
exports.useLocalStorageState = useLocalStorageState_1.default;
const createLocalStorageStateHook_1 = __importDefault(require("./src/createLocalStorageStateHook"));
exports.createLocalStorageStateHook = createLocalStorageStateHook_1.default;
exports.default = useLocalStorageState_1.default;
{
"name": "use-local-storage-state",
"version": "8.0.0",
"version": "8.0.1",
"description": "React hook that persist data in local storage. Done right.",

@@ -5,0 +5,0 @@ "license": "MIT",

@@ -1,8 +0,13 @@

import { useEffect, useMemo } from 'react';
import useLocalStorageStateBase from './useLocalStorageStateBase';
export default function createLocalStorageStateHook(key, defaultValue) {
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const useLocalStorageStateBase_1 = __importDefault(require("./useLocalStorageStateBase"));
function createLocalStorageStateHook(key, defaultValue) {
const updates = [];
return function useLocalStorageStateHook() {
const [value, setValue, isPersistent] = useLocalStorageStateBase(key, defaultValue);
const updateValue = useMemo(() => {
const [value, setValue, isPersistent] = useLocalStorageStateBase_1.default(key, defaultValue);
const updateValue = react_1.useMemo(() => {
const fn = (newValue) => {

@@ -20,3 +25,3 @@ for (const update of updates) {

}, []);
useEffect(() => {
react_1.useEffect(() => {
updates.push(setValue);

@@ -28,1 +33,2 @@ return () => void updates.splice(updates.indexOf(setValue), 1);

}
exports.default = createLocalStorageStateHook;

@@ -0,1 +1,3 @@

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
/**

@@ -11,3 +13,3 @@ * Abstraction for localStorage that uses an in-memory fallback when localStorage throws an error.

const data = {};
export default {
exports.default = {
get(key, defaultValue) {

@@ -14,0 +16,0 @@ var _a;

@@ -1,3 +0,8 @@

import { useEffect } from 'react';
import useLocalStorageStateBase from './useLocalStorageStateBase';
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const react_1 = require("react");
const useLocalStorageStateBase_1 = __importDefault(require("./useLocalStorageStateBase"));
/**

@@ -9,8 +14,8 @@ * Used to track usages of `useLocalStorageState()` with identical `key` values. If we encounter

const initializedStorageKeys = new Set();
export default function useLocalStorageState(key, defaultValue) {
const value = useLocalStorageStateBase(key, defaultValue);
function useLocalStorageState(key, defaultValue) {
const value = useLocalStorageStateBase_1.default(key, defaultValue);
/**
* Detects incorrect usage of the library and throws an error with a suggestion how to fix it.
*/
useEffect(() => {
react_1.useEffect(() => {
if (initializedStorageKeys.has(key)) {

@@ -29,1 +34,2 @@ throw new Error(`Multiple instances of useLocalStorageState() has been initialized with the same key. ` +

}
exports.default = useLocalStorageState;

@@ -1,12 +0,17 @@

import storage from './storage';
import { useCallback, useEffect, useMemo, useRef, useState } from 'react';
export default function useLocalStorageStateBase(key, defaultValue) {
"use strict";
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
const storage_1 = __importDefault(require("./storage"));
const react_1 = require("react");
function useLocalStorageStateBase(key, defaultValue) {
// we don't support updating the `defaultValue` the same way `useState()` doesn't support it
const [defaultValueState] = useState(() => {
const [defaultValueState] = react_1.useState(() => {
const isCallable = (value) => typeof value === 'function';
return isCallable(defaultValue) ? defaultValue() : defaultValue;
});
const getDefaultState = useCallback(() => {
const getDefaultState = react_1.useCallback(() => {
return {
value: storage.get(key, defaultValueState),
value: storage_1.default.get(key, defaultValueState),
isPersistent: (() => {

@@ -32,4 +37,4 @@ /**

}, [defaultValueState, key]);
const [state, setState] = useState(getDefaultState);
const updateValue = useMemo(() => {
const [state, setState] = react_1.useState(getDefaultState);
const updateValue = react_1.useMemo(() => {
const fn = (newValue) => {

@@ -40,3 +45,3 @@ const isCallable = (value) => typeof value === 'function';

value: newValue(state.value),
isPersistent: storage.set(key, newValue(state.value)),
isPersistent: storage_1.default.set(key, newValue(state.value)),
}));

@@ -47,3 +52,3 @@ }

value: newValue,
isPersistent: storage.set(key, newValue),
isPersistent: storage_1.default.set(key, newValue),
});

@@ -53,3 +58,3 @@ }

fn.reset = () => {
storage.remove(key);
storage_1.default.remove(key);
setState((state) => ({

@@ -65,7 +70,7 @@ value: defaultValueState,

*/
useEffect(() => {
react_1.useEffect(() => {
const onStorage = (e) => {
if (e.storageArea === localStorage && e.key === key) {
setState({
value: storage.get(key, defaultValueState),
value: storage_1.default.get(key, defaultValueState),
isPersistent: true,

@@ -81,4 +86,4 @@ });

*/
const isFirstRender = useRef(true);
useEffect(() => {
const isFirstRender = react_1.useRef(true);
react_1.useEffect(() => {
if (isFirstRender.current) {

@@ -92,1 +97,2 @@ isFirstRender.current = false;

}
exports.default = useLocalStorageStateBase;
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