Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

@solidjs/reactivity

Package Overview
Dependencies
Maintainers
3
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@solidjs/reactivity - npm Package Compare versions

Comparing version 0.0.4 to 0.0.5

2

dist/core.d.ts

@@ -35,3 +35,3 @@ /**

export type Accessor<T> = () => T;
export type Setter<T> = (undefined extends T ? () => undefined : {}) & (<U extends T>(value: (prev: T) => U) => U) & (<U extends T>(value: Exclude<U, Function>) => U) & (<U extends T>(value: Exclude<U, Function> | ((prev: T) => U)) => U);
export type Setter<T> = (value: SetterArg<T>) => T;
export type Signal<T> = [get: Accessor<T>, set: Setter<T>];

@@ -38,0 +38,0 @@ /** A reactive element contains a mutable value that can be observed by other reactive elements.

@@ -230,3 +230,2 @@ // src/core.ts

var $NODE = Symbol("store-node");
var $NAME = Symbol("store-name");
function wrap(value) {

@@ -239,3 +238,4 @@ let p = value[$PROXY];

if (!Array.isArray(value)) {
const keys = Object.keys(value), desc = Object.getOwnPropertyDescriptors(value);
const keys = Object.keys(value);
const desc = Object.getOwnPropertyDescriptors(value);
for (let i = 0, l = keys.length; i < l; i++) {

@@ -280,3 +280,4 @@ const prop = keys[i];

set.add(item);
const keys = Object.keys(item), desc = Object.getOwnPropertyDescriptors(item);
const keys = Object.keys(item);
const desc = Object.getOwnPropertyDescriptors(item);
for (let i = 0, l = keys.length; i < l; i++) {

@@ -304,3 +305,3 @@ prop = keys[i];

const desc = Reflect.getOwnPropertyDescriptor(target, property);
if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE || property === $NAME)
if (!desc || desc.get || !desc.configurable || property === $PROXY || property === $NODE)
return desc;

@@ -329,2 +330,3 @@ delete desc.value;

}
var Writing = false;
var proxyTraps = {

@@ -358,6 +360,8 @@ get(target, property, receiver) {

},
set() {
set(target, property, value) {
Writing && setProperty(target, property, unwrap(value));
return true;
},
deleteProperty() {
deleteProperty(target, property) {
Writing && setProperty(target, property, void 0, true);
return true;

@@ -368,24 +372,7 @@ },

};
var producers = /* @__PURE__ */ new WeakMap();
var setterTraps = {
get(target, property) {
if (property === $RAW)
return target;
const value = target[property];
let proxy;
return isWrappable(value) ? producers.get(value) || (producers.set(value, proxy = new Proxy(value, setterTraps)), proxy) : value;
},
set(target, property, value) {
setProperty(target, property, unwrap(value));
return true;
},
deleteProperty(target, property) {
setProperty(target, property, void 0, true);
return true;
}
};
function setProperty(state, property, value, deleting = false) {
if (!deleting && state[property] === value)
return;
const prev = state[property], len = state.length;
const prev = state[property];
const len = state.length;
if (deleting)

@@ -395,3 +382,4 @@ delete state[property];

state[property] = value;
let nodes = getDataNodes(state), node;
let nodes = getDataNodes(state);
let node;
if (node = getDataNode(nodes, property, prev))

@@ -404,19 +392,16 @@ node.$(() => value);

function createStore(store) {
const unwrappedStore = unwrap(store || {});
const unwrappedStore = unwrap(store);
const wrappedStore = wrap(unwrappedStore);
function setStore(fn) {
batch(() => update(unwrappedStore, fn));
}
const setStore = (fn) => {
batch(() => {
try {
Writing = true;
fn(wrappedStore);
} finally {
Writing = false;
}
});
};
return [wrappedStore, setStore];
}
function update(state, fn) {
let proxy;
if (!(proxy = producers.get(state))) {
producers.set(
state,
proxy = new Proxy(state, setterTraps)
);
}
fn(proxy);
}
export {

@@ -423,0 +408,0 @@ batch,

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

export type Store<T> = T;
export type Store<T> = Readonly<T>;
export type SetStoreFunction<T> = (fn: (state: T) => void) => void;

@@ -3,0 +3,0 @@ export type StoreNode = Record<PropertyKey, any>;

{
"name": "@solidjs/reactivity",
"version": "0.0.4",
"version": "0.0.5",
"description": "",

@@ -5,0 +5,0 @@ "type": "module",

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