@preact/signals-react
Advanced tools
Comparing version 1.0.1 to 1.0.2
# @preact/signals-react | ||
## 1.0.2 | ||
### Patch Changes | ||
- [#147](https://github.com/preactjs/signals/pull/147) [`3556499`](https://github.com/preactjs/signals/commit/355649903b766630b62cdd0f90a35d3eafa99fa9) Thanks [@developit](https://github.com/developit)! - Improve performance when rendering Signals as Text in Preact. | ||
* [#148](https://github.com/preactjs/signals/pull/148) [`b948745`](https://github.com/preactjs/signals/commit/b948745de7b5b60a20ce3bdc5ee72d47d47f38ec) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - Move `types` field in `package.json` to the top of the entry list to ensure that TypeScript always finds it. | ||
- [#146](https://github.com/preactjs/signals/pull/146) [`9e798fd`](https://github.com/preactjs/signals/commit/9e798fdaf419566530696f850ea7fc1fc649d3cd) Thanks [@marvinhagemeister](https://github.com/marvinhagemeister)! - fix(react): track owners separately, mutate updaters with dispatcher | ||
- Updated dependencies [[`f2ba3d6`](https://github.com/preactjs/signals/commit/f2ba3d657bf8169c6ba1d47c0827aa18cfe1c947), [`160ea77`](https://github.com/preactjs/signals/commit/160ea7791f3adb55c562f5990e0b4848d8491a38), [`4385ea8`](https://github.com/preactjs/signals/commit/4385ea8c8358a154d8b789685bb061658ce1153f), [`b948745`](https://github.com/preactjs/signals/commit/b948745de7b5b60a20ce3bdc5ee72d47d47f38ec), [`00a59c6`](https://github.com/preactjs/signals/commit/00a59c6475bd4542fb934474d82d1e242b2ac870)]: | ||
- @preact/signals-core@1.1.1 | ||
## 1.0.1 | ||
@@ -4,0 +17,0 @@ |
@@ -1,1 +0,1 @@ | ||
var r=require("react"),n=require("@preact/signals-core");function t(r){return r&&"object"==typeof r&&"default"in r?r.default:r}var e,u=/*#__PURE__*/t(r),o=u.createElement;u.createElement=function(r,t){if("string"==typeof r&&t)for(var e in t){var u=t[e];"children"!==e&&u instanceof n.Signal&&(t[e]=u.value)}return o.apply(this,arguments)};var i=new WeakMap;function a(r){e&&e(!0,!0),e=r&&r._()}function c(r){var t=n.signal(void 0);return t._u=r,t}var f=o("a").$$typeof;Object.defineProperties(n.Signal.prototype,{$$typeof:{value:f},type:{value:function(r){return r.data.value}},props:{get:function(){return{data:this}}},ref:{value:null}});var v,s=!1,p=function(){return{}};Object.defineProperty(r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{get:function(){return v},set:function(n){if(v=n,!s)if(n&&!x(n)){s=!0;var t=n.useReducer(p,{})[1];s=!1;var e=r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current,u=i.get(e);u||(u=c(t),i.set(e,u)),a(u)}else a()}});var l=new Map;function x(r){var n=l.get(r);if(void 0!==n)return n;var t=r.useCallback.length<2||/warnInvalidHookAccess/.test(r.useCallback);return l.set(r,t),t}exports.Signal=n.Signal,exports.batch=n.batch,exports.computed=n.computed,exports.effect=n.effect,exports.signal=n.signal,exports.useComputed=function(t){var e=r.useRef(t);return e.current=t,r.useMemo(function(){return n.computed(function(){return e.current()})},[])},exports.useSignal=function(t){return r.useMemo(function(){return n.signal(t)},[])};//# sourceMappingURL=signals.js.map | ||
var r=require("react"),n=require("@preact/signals-core");function t(r){return r&&"object"==typeof r&&"default"in r?r.default:r}var e,u=/*#__PURE__*/t(r),o=u.createElement;u.createElement=function(r,t){if("string"==typeof r&&t)for(var e in t){var u=t[e];"children"!==e&&u instanceof n.Signal&&(t[e]=u.value)}return o.apply(this,arguments)};var i=new WeakMap;function a(r){e&&e(!0,!0),e=r&&r._()}function c(r){var t=n.signal(void 0);return t._u=r,t}var f,v=o("a").$$typeof;Object.defineProperties(n.Signal.prototype,{$$typeof:{configurable:!0,value:v},type:{configurable:!0,value:function(r){return r.data.value}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});var s=null;Object.defineProperty(r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,"current",{get:function(){return s},set:function(r){(s=r)&&(f=s)}});var l,p=!1,g=function(){return{}};Object.defineProperty(r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{get:function(){return l},set:function(r){if(l=r,!p)if(f&&r&&!x(r)){p=!0;var n=r.useReducer(g,{})[1];p=!1;var t=i.get(f);t?t._u=n:(t=c(n),i.set(f,t)),a(t)}else a()}});var b=new Map;function x(r){var n=b.get(r);if(void 0!==n)return n;var t=r.useCallback.length<2||/warnInvalidHookAccess/.test(r.useCallback);return b.set(r,t),t}exports.Signal=n.Signal,exports.batch=n.batch,exports.computed=n.computed,exports.effect=n.effect,exports.signal=n.signal,exports.useComputed=function(t){var e=r.useRef(t);return e.current=t,r.useMemo(function(){return n.computed(function(){return e.current()})},[])},exports.useSignal=function(t){return r.useMemo(function(){return n.signal(t)},[])};//# sourceMappingURL=signals.js.map |
@@ -1,1 +0,1 @@ | ||
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("@preact/signals-core")):"function"==typeof define&&define.amd?define(["exports","react","@preact/signals-core"],e):e((n||self).reactSignals={},n.react,n.signalsCore)}(this,function(n,e,r){function t(n){return n&&"object"==typeof n&&"default"in n?n.default:n}var i,u=/*#__PURE__*/t(e),o=u.createElement;u.createElement=function(n,e){if("string"==typeof n&&e)for(var t in e){var i=e[t];"children"!==t&&i instanceof r.Signal&&(e[t]=i.value)}return o.apply(this,arguments)};var f=new WeakMap;function a(n){i&&i(!0,!0),i=n&&n._()}function c(n){var e=r.signal(void 0);return e._u=n,e}var s=o("a").$$typeof;Object.defineProperties(r.Signal.prototype,{$$typeof:{value:s},type:{value:function(n){return n.data.value}},props:{get:function(){return{data:this}}},ref:{value:null}});var v,l=!1,p=function(){return{}};Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{get:function(){return v},set:function(n){if(v=n,!l)if(n&&!y(n)){l=!0;var r=n.useReducer(p,{})[1];l=!1;var t=e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner.current,i=f.get(t);i||(i=c(r),f.set(t,i)),a(i)}else a()}});var d=new Map;function y(n){var e=d.get(n);if(void 0!==e)return e;var r=n.useCallback.length<2||/warnInvalidHookAccess/.test(n.useCallback);return d.set(n,r),r}n.Signal=r.Signal,n.batch=r.batch,n.computed=r.computed,n.effect=r.effect,n.signal=r.signal,n.useComputed=function(n){var t=e.useRef(n);return t.current=n,e.useMemo(function(){return r.computed(function(){return t.current()})},[])},n.useSignal=function(n){return e.useMemo(function(){return r.signal(n)},[])}});//# sourceMappingURL=signals.min.js.map | ||
!function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports,require("react"),require("@preact/signals-core")):"function"==typeof define&&define.amd?define(["exports","react","@preact/signals-core"],e):e((n||self).reactSignals={},n.react,n.signalsCore)}(this,function(n,e,r){function t(n){return n&&"object"==typeof n&&"default"in n?n.default:n}var u,i=/*#__PURE__*/t(e),o=i.createElement;i.createElement=function(n,e){if("string"==typeof n&&e)for(var t in e){var u=e[t];"children"!==t&&u instanceof r.Signal&&(e[t]=u.value)}return o.apply(this,arguments)};var f=new WeakMap;function c(n){u&&u(!0,!0),u=n&&n._()}function a(n){var e=r.signal(void 0);return e._u=n,e}var l,s=o("a").$$typeof;Object.defineProperties(r.Signal.prototype,{$$typeof:{configurable:!0,value:s},type:{configurable:!0,value:function(n){return n.data.value}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});var v=null;Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,"current",{get:function(){return v},set:function(n){(v=n)&&(l=v)}});var p,d=!1,g=function(){return{}};Object.defineProperty(e.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentDispatcher,"current",{get:function(){return p},set:function(n){if(p=n,!d)if(l&&n&&!y(n)){d=!0;var e=n.useReducer(g,{})[1];d=!1;var r=f.get(l);r?r._u=e:(r=a(e),f.set(l,r)),c(r)}else c()}});var b=new Map;function y(n){var e=b.get(n);if(void 0!==e)return e;var r=n.useCallback.length<2||/warnInvalidHookAccess/.test(n.useCallback);return b.set(n,r),r}n.Signal=r.Signal,n.batch=r.batch,n.computed=r.computed,n.effect=r.effect,n.signal=r.signal,n.useComputed=function(n){var t=e.useRef(n);return t.current=n,e.useMemo(function(){return r.computed(function(){return t.current()})},[])},n.useSignal=function(n){return e.useMemo(function(){return r.signal(n)},[])}});//# sourceMappingURL=signals.min.js.map |
@@ -1,1 +0,1 @@ | ||
import r,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as n,useMemo as t,useRef as e}from"react";import{Signal as a,signal as i,computed as o}from"@preact/signals-core";export{Signal,batch,computed,effect,signal}from"@preact/signals-core";var u,c=r.createElement;r.createElement=function(r,n){if("string"==typeof r&&n)for(var t in n){var e=n[t];"children"!==t&&e instanceof a&&(n[t]=e.value)}return c.apply(this,arguments)};var f=new WeakMap;function v(r){u&&u(!0,!0),u=r&&r._()}function p(r){var n=i(void 0);return n._u=r,n}var s=c("a").$$typeof;Object.defineProperties(a.prototype,{$$typeof:{value:s},type:{value:function(r){return r.data.value}},props:{get:function(){return{data:this}}},ref:{value:null}});var l,g=!1,d=function(){return{}};Object.defineProperty(n.ReactCurrentDispatcher,"current",{get:function(){return l},set:function(r){if(l=r,!g)if(r&&!h(r)){g=!0;var t=r.useReducer(d,{})[1];g=!1;var e=n.ReactCurrentOwner.current,a=f.get(e);a||(a=p(t),f.set(e,a)),v(a)}else v()}});var m=new Map;function h(r){var n=m.get(r);if(void 0!==n)return n;var t=r.useCallback.length<2||/warnInvalidHookAccess/.test(r.useCallback);return m.set(r,t),t}function b(r){return t(function(){return i(r)},[])}function w(r){var n=e(r);return n.current=r,t(function(){return o(function(){return n.current()})},[])}export{w as useComputed,b as useSignal};//# sourceMappingURL=signals.module.js.map | ||
import r,{__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED as n,useMemo as t,useRef as e}from"react";import{Signal as u,signal as i,computed as o}from"@preact/signals-core";export{Signal,batch,computed,effect,signal}from"@preact/signals-core";var a,c=r.createElement;r.createElement=function(r,n){if("string"==typeof r&&n)for(var t in n){var e=n[t];"children"!==t&&e instanceof u&&(n[t]=e.value)}return c.apply(this,arguments)};var f=new WeakMap;function v(r){a&&a(!0,!0),a=r&&r._()}function l(r){var n=i(void 0);return n._u=r,n}var s,p=c("a").$$typeof;Object.defineProperties(u.prototype,{$$typeof:{configurable:!0,value:p},type:{configurable:!0,value:function(r){return r.data.value}},props:{configurable:!0,get:function(){return{data:this}}},ref:{configurable:!0,value:null}});var g=null;Object.defineProperty(n.ReactCurrentOwner,"current",{get:function(){return g},set:function(r){(g=r)&&(s=g)}});var b,d=!1,m=function(){return{}};Object.defineProperty(n.ReactCurrentDispatcher,"current",{get:function(){return b},set:function(r){if(b=r,!d)if(s&&r&&!j(r)){d=!0;var n=r.useReducer(m,{})[1];d=!1;var t=f.get(s);t?t._u=n:(t=l(n),f.set(s,t)),v(t)}else v()}});var h=new Map;function j(r){var n=h.get(r);if(void 0!==n)return n;var t=r.useCallback.length<2||/warnInvalidHookAccess/.test(r.useCallback);return h.set(r,t),t}function w(r){return t(function(){return i(r)},[])}function y(r){var n=e(r);return n.current=r,t(function(){return o(function(){return n.current()})},[])}export{y as useComputed,w as useSignal};//# sourceMappingURL=signals.module.js.map |
{ | ||
"name": "@preact/signals-react", | ||
"version": "1.0.1", | ||
"version": "1.0.2", | ||
"license": "MIT", | ||
@@ -12,3 +12,4 @@ "description": "", | ||
"type": "git", | ||
"url": "https://github.com/preactjs/signals" | ||
"url": "https://github.com/preactjs/signals", | ||
"directory": "packages/react" | ||
}, | ||
@@ -29,7 +30,7 @@ "bugs": "https://github.com/preactjs/signals/issues", | ||
".": { | ||
"types": "./dist/signals.d.ts", | ||
"browser": "./dist/signals.module.js", | ||
"umd": "./dist/signals.umd.js", | ||
"import": "./dist/signals.mjs", | ||
"require": "./dist/signals.js", | ||
"types": "./dist/signals.d.ts" | ||
"require": "./dist/signals.js" | ||
} | ||
@@ -39,3 +40,3 @@ }, | ||
"dependencies": { | ||
"@preact/signals-core": "^1.1.0" | ||
"@preact/signals-core": "^1.1.1" | ||
}, | ||
@@ -42,0 +43,0 @@ "peerDependencies": { |
@@ -83,5 +83,6 @@ import { | ||
Object.defineProperties(Signal.prototype, { | ||
$$typeof: { value: $$typeof }, | ||
type: { value: Text }, | ||
$$typeof: { configurable: true, value: $$typeof }, | ||
type: { configurable: true, value: Text }, | ||
props: { | ||
configurable: true, | ||
get() { | ||
@@ -91,11 +92,17 @@ return { data: this }; | ||
}, | ||
ref: { value: null }, | ||
ref: { configurable: true, value: null }, | ||
}); | ||
// Track the current owner (roughly equiv to current vnode) | ||
// let currentOwner: ReactOwner; | ||
// Object.defineProperty(internals.ReactCurrentOwner, "current", { | ||
// get() { return currentOwner; }, | ||
// set(owner) { currentOwner = owner; }, | ||
// }); | ||
let lastOwner: ReactOwner | undefined; | ||
let currentOwner: ReactOwner | null = null; | ||
Object.defineProperty(internals.ReactCurrentOwner, "current", { | ||
get() { | ||
return currentOwner; | ||
}, | ||
set(owner) { | ||
currentOwner = owner; | ||
if (currentOwner) lastOwner = currentOwner; | ||
}, | ||
}); | ||
@@ -113,3 +120,3 @@ // Track the current dispatcher (roughly equiv to current component impl) | ||
if (lock) return; | ||
if (api && !isInvalidHookAccessor(api)) { | ||
if (lastOwner && api && !isInvalidHookAccessor(api)) { | ||
// prevent re-injecting useReducer when the Dispatcher | ||
@@ -120,7 +127,9 @@ // context changes to run the reducer callback: | ||
lock = false; | ||
const currentOwner = internals.ReactCurrentOwner.current; | ||
let updater = updaterForComponent.get(currentOwner); | ||
let updater = updaterForComponent.get(lastOwner); | ||
if (!updater) { | ||
updater = createUpdater(rerender); | ||
updaterForComponent.set(currentOwner, updater); | ||
updaterForComponent.set(lastOwner, updater); | ||
} else { | ||
updater._updater = rerender; | ||
} | ||
@@ -127,0 +136,0 @@ setCurrentUpdater(updater); |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Major refactor
Supply chain riskPackage has recently undergone a major refactor. It may be unstable or indicate significant internal changes. Use caution when updating to versions that include significant changes.
Found 1 instance in 1 package
53817
348
0
Updated@preact/signals-core@^1.1.1