Socket
Socket
Sign inDemoInstall

valtio

Package Overview
Dependencies
Maintainers
2
Versions
110
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

valtio - npm Package Compare versions

Comparing version 0.4.9 to 0.4.10

26

index.cjs.js

@@ -251,2 +251,4 @@ 'use strict';

var isSSR = typeof window === 'undefined' || /ServerSideRendering/.test(window.navigator && window.navigator.userAgent);
var useIsomorphicLayoutEffect = isSSR ? react.useEffect : react.useLayoutEffect;
var mutableSourceCache = new WeakMap();

@@ -263,22 +265,34 @@

var useProxy = function useProxy(p, options) {
var _useReducer = react.useReducer(function (c) {
return c + 1;
}, 0),
forceUpdate = _useReducer[1];
var affected = new WeakMap();
var lastAffected = react.useRef();
react.useEffect(function () {
var prevSnapshot = react.useRef();
var lastSnapshot = react.useRef();
useIsomorphicLayoutEffect(function () {
lastAffected.current = affected;
if (prevSnapshot.current !== lastSnapshot.current && proxyCompare.isDeepChanged(prevSnapshot.current, lastSnapshot.current, affected, new WeakMap())) {
prevSnapshot.current = lastSnapshot.current;
forceUpdate();
}
});
var getSnapshot = react.useMemo(function () {
var prevSnapshot = null;
var deepChangedCache = new WeakMap();
return function (p) {
var nextSnapshot = snapshot(p);
lastSnapshot.current = nextSnapshot;
try {
if (prevSnapshot !== null && lastAffected.current && !proxyCompare.isDeepChanged(prevSnapshot, nextSnapshot, lastAffected.current, deepChangedCache)) {
if (prevSnapshot && lastAffected.current && !proxyCompare.isDeepChanged(prevSnapshot.current, nextSnapshot, lastAffected.current, deepChangedCache)) {
// not changed
return prevSnapshot;
return prevSnapshot.current;
}
} catch (e) {// ignore and return new nextSnapshot
} catch (e) {// ignore and return nextSnapshot
}
return prevSnapshot = nextSnapshot;
return prevSnapshot.current = nextSnapshot;
};

@@ -285,0 +299,0 @@ }, []);

@@ -246,2 +246,4 @@ var valtio = (function (exports, react, proxyCompare, useSubscription) {

var isSSR = typeof window === 'undefined' || /ServerSideRendering/.test(window.navigator && window.navigator.userAgent);
var useIsomorphicLayoutEffect = isSSR ? react.useEffect : react.useLayoutEffect;
var mutableSourceCache = new WeakMap();

@@ -258,22 +260,34 @@

var useProxy = function useProxy(p, options) {
var _useReducer = react.useReducer(function (c) {
return c + 1;
}, 0),
forceUpdate = _useReducer[1];
var affected = new WeakMap();
var lastAffected = react.useRef();
react.useEffect(function () {
var prevSnapshot = react.useRef();
var lastSnapshot = react.useRef();
useIsomorphicLayoutEffect(function () {
lastAffected.current = affected;
if (prevSnapshot.current !== lastSnapshot.current && proxyCompare.isDeepChanged(prevSnapshot.current, lastSnapshot.current, affected, new WeakMap())) {
prevSnapshot.current = lastSnapshot.current;
forceUpdate();
}
});
var getSnapshot = react.useMemo(function () {
var prevSnapshot = null;
var deepChangedCache = new WeakMap();
return function (p) {
var nextSnapshot = snapshot(p);
lastSnapshot.current = nextSnapshot;
try {
if (prevSnapshot !== null && lastAffected.current && !proxyCompare.isDeepChanged(prevSnapshot, nextSnapshot, lastAffected.current, deepChangedCache)) {
if (prevSnapshot && lastAffected.current && !proxyCompare.isDeepChanged(prevSnapshot.current, nextSnapshot, lastAffected.current, deepChangedCache)) {
// not changed
return prevSnapshot;
return prevSnapshot.current;
}
} catch (e) {// ignore and return new nextSnapshot
} catch (e) {// ignore and return nextSnapshot
}
return prevSnapshot = nextSnapshot;
return prevSnapshot.current = nextSnapshot;
};

@@ -280,0 +294,0 @@ }, []);

@@ -1,2 +0,2 @@

import { useRef, useCallback, useEffect, useMemo } from 'react';
import { useRef, useCallback, useEffect, useReducer, useMemo, useLayoutEffect } from 'react';
import { markToTrack, getUntrackedObject, isDeepChanged, createDeepProxy } from 'proxy-compare';

@@ -237,2 +237,4 @@ import { useSubscription } from 'use-subscription';

const isSSR = typeof window === 'undefined' || /ServerSideRendering/.test(window.navigator && window.navigator.userAgent);
const useIsomorphicLayoutEffect = isSSR ? useEffect : useLayoutEffect;
const mutableSourceCache = new WeakMap();

@@ -249,22 +251,30 @@

const useProxy = (p, options) => {
const [, forceUpdate] = useReducer(c => c + 1, 0);
const affected = new WeakMap();
const lastAffected = useRef();
useEffect(() => {
const prevSnapshot = useRef();
const lastSnapshot = useRef();
useIsomorphicLayoutEffect(() => {
lastAffected.current = affected;
if (prevSnapshot.current !== lastSnapshot.current && isDeepChanged(prevSnapshot.current, lastSnapshot.current, affected, new WeakMap())) {
prevSnapshot.current = lastSnapshot.current;
forceUpdate();
}
});
const getSnapshot = useMemo(() => {
let prevSnapshot = null;
const deepChangedCache = new WeakMap();
return p => {
const nextSnapshot = snapshot(p);
lastSnapshot.current = nextSnapshot;
try {
if (prevSnapshot !== null && lastAffected.current && !isDeepChanged(prevSnapshot, nextSnapshot, lastAffected.current, deepChangedCache)) {
if (prevSnapshot && lastAffected.current && !isDeepChanged(prevSnapshot.current, nextSnapshot, lastAffected.current, deepChangedCache)) {
// not changed
return prevSnapshot;
return prevSnapshot.current;
}
} catch (e) {// ignore and return new nextSnapshot
} catch (e) {// ignore and return nextSnapshot
}
return prevSnapshot = nextSnapshot;
return prevSnapshot.current = nextSnapshot;
};

@@ -271,0 +281,0 @@ }, []);

{
"name": "valtio",
"private": false,
"version": "0.4.9",
"version": "0.4.10",
"description": "💊 Valtio makes proxy-state simple for React and Vanilla",

@@ -6,0 +6,0 @@ "main": "index.cjs.js",

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