Socket
Socket
Sign inDemoInstall

@vue/reactivity

Package Overview
Dependencies
Maintainers
1
Versions
236
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@vue/reactivity - npm Package Compare versions

Comparing version 3.0.0-beta.7 to 3.0.0-beta.8

14

dist/reactivity.cjs.js

@@ -219,3 +219,3 @@ 'use strict';

}
else if (key === "__v_raw" /* raw */) {
else if (key === "__v_raw" /* raw */ || key === '__proto__') {
return target;

@@ -597,3 +597,3 @@ }

// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
// exception: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {

@@ -603,5 +603,4 @@ return target;

// target already has corresponding Proxy
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
if (shared.hasOwn(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */)) {
return isReadonly ? target.__v_readonly : target.__v_reactive;
}

@@ -612,6 +611,3 @@ // only a whitelist of value types can be observed.

}
const handlers = collectionTypes.has(target.constructor)
? collectionHandlers
: baseHandlers;
observed = new Proxy(target, handlers);
const observed = new Proxy(target, collectionTypes.has(target.constructor) ? collectionHandlers : baseHandlers);
shared.def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);

@@ -618,0 +614,0 @@ return observed;

@@ -200,3 +200,3 @@ 'use strict';

}
else if (key === "__v_raw" /* raw */) {
else if (key === "__v_raw" /* raw */ || key === '__proto__') {
return target;

@@ -544,3 +544,3 @@ }

// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
// exception: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {

@@ -550,5 +550,4 @@ return target;

// target already has corresponding Proxy
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
if (shared.hasOwn(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */)) {
return isReadonly ? target.__v_readonly : target.__v_reactive;
}

@@ -559,6 +558,3 @@ // only a whitelist of value types can be observed.

}
const handlers = collectionTypes.has(target.constructor)
? collectionHandlers
: baseHandlers;
observed = new Proxy(target, handlers);
const observed = new Proxy(target, collectionTypes.has(target.constructor) ? collectionHandlers : baseHandlers);
shared.def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);

@@ -565,0 +561,0 @@ return observed;

@@ -93,3 +93,8 @@

export declare interface Ref<T = any> {
/* Excluded from this release type: __v_isRef */
/**
* Type differentiator only.
* We need this to be in public d.ts but don't want it to show up in IDE
* autocomplete, so we use a private Symbol instead.
*/
[RefSymbol]: true;
value: T;

@@ -104,2 +109,4 @@ }

declare const RefSymbol: unique symbol;
/**

@@ -106,0 +113,0 @@ * This is a special exported interface for other packages to declare

@@ -259,3 +259,3 @@ // Make a map and return a function for checking if a key

}
else if (key === "__v_raw" /* raw */) {
else if (key === "__v_raw" /* raw */ || key === '__proto__') {
return target;

@@ -637,3 +637,3 @@ }

// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
// exception: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {

@@ -643,5 +643,4 @@ return target;

// target already has corresponding Proxy
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
if (hasOwn(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */)) {
return isReadonly ? target.__v_readonly : target.__v_reactive;
}

@@ -652,6 +651,3 @@ // only a whitelist of value types can be observed.

}
const handlers = collectionTypes.has(target.constructor)
? collectionHandlers
: baseHandlers;
observed = new Proxy(target, handlers);
const observed = new Proxy(target, collectionTypes.has(target.constructor) ? collectionHandlers : baseHandlers);
def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);

@@ -658,0 +654,0 @@ return observed;

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

function t(t,e){const n=Object.create(null),r=t.split(",");for(let t=0;t<r.length;t++)n[r[t]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const e={},n=()=>{},r=Object.prototype.hasOwnProperty,o=(t,e)=>r.call(t,e),c=Array.isArray,u=t=>"symbol"==typeof t,i=t=>null!==t&&"object"==typeof t,s=Object.prototype.toString,l=t=>(t=>s.call(t))(t).slice(8,-1),a=(t,e)=>t!==e&&(t==t||e==e),f=(t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,value:n})},_=new WeakMap,d=[];let v;const h=Symbol(""),p=Symbol("");function g(t,n=e){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const r=function(t,e){const n=function(...r){if(!n.active)return e.scheduler?void 0:t(...r);if(!d.includes(n)){w(n);try{return E(),d.push(n),v=n,t(...r)}finally{d.pop(),O(),v=d[d.length-1]}}};return n.id=R++,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,n);return n.lazy||r(),r}function y(t){t.active&&(w(t),t.options.onStop&&t.options.onStop(),t.active=!1)}let R=0;function w(t){const{deps:e}=t;if(e.length){for(let n=0;n<e.length;n++)e[n].delete(t);e.length=0}}let S=!0;const b=[];function m(){b.push(S),S=!1}function E(){b.push(S),S=!0}function O(){const t=b.pop();S=void 0===t||t}function k(t,e,n){if(!S||void 0===v)return;let r=_.get(t);r||_.set(t,r=new Map);let o=r.get(n);o||r.set(n,o=new Set),o.has(v)||(o.add(v),v.deps.push(o))}function M(t,e,n,r,o,u){const i=_.get(t);if(!i)return;const s=new Set,l=new Set,a=t=>{t&&t.forEach(t=>{t===v&&S||(t.options.computed?l.add(t):s.add(t))})};if("clear"===e)i.forEach(a);else if("length"===n&&c(t))i.forEach((t,e)=>{("length"===e||e>=r)&&a(t)});else{void 0!==n&&a(i.get(n));const r="add"===e||"delete"===e&&!c(t);(r||"set"===e&&t instanceof Map)&&a(i.get(c(t)?"length":h)),r&&t instanceof Map&&a(i.get(p))}const f=t=>{t.options.scheduler?t.options.scheduler(t):t()};l.forEach(f),s.forEach(f)}const j=new Set(Object.getOwnPropertyNames(Symbol).map(t=>Symbol[t]).filter(u)),P=K(),z=K(!1,!0),x=K(!0),W=K(!0,!0),A={};function K(t=!1,e=!1){return function(n,r,s){if("__v_isReactive"===r)return!t;if("__v_isReadonly"===r)return t;if("__v_raw"===r)return n;const l=c(n);if(l&&o(A,r))return Reflect.get(A,r,s);const a=Reflect.get(n,r,s);return u(r)&&j.has(r)?a:e?(!t&&k(n,0,r),a):gt(a)?l?(!t&&k(n,0,r),a):a.value:(!t&&k(n,0,r),i(a)?t?st(a):ut(a):a)}}["includes","indexOf","lastIndexOf"].forEach(t=>{A[t]=function(...e){const n=vt(this);for(let t=0,e=this.length;t<e;t++)k(n,0,t+"");const r=n[t](...e);return-1===r||!1===r?n[t](...e.map(vt)):r}});const C=I(),F=I(!0);function I(t=!1){return function(e,n,r,u){const i=e[n];if(!t&&(r=vt(r),!c(e)&&gt(i)&&!gt(r)))return i.value=r,!0;const s=o(e,n),l=Reflect.set(e,n,r,u);return e===vt(u)&&(s?a(r,i)&&M(e,"set",n,r):M(e,"add",n,r)),l}}function L(t,e){const n=Reflect.has(t,e);return k(t,0,e),n}function N(t){return k(t,0,h),Reflect.ownKeys(t)}const q={get:P,set:C,deleteProperty:function(t,e){const n=o(t,e),r=Reflect.deleteProperty(t,e);return r&&n&&M(t,"delete",e,void 0),r},has:L,ownKeys:N},B={get:x,has:L,ownKeys:N,set:(t,e)=>!0,deleteProperty:(t,e)=>!0},D={...q,get:z,set:F},G={...B,get:W},H=t=>i(t)?ut(t):t,J=t=>i(t)?st(t):t,Q=t=>Reflect.getPrototypeOf(t);function T(t,e,n){t=vt(t);const r=vt(e);e!==r&&k(t,0,e),k(t,0,r);const{has:o,get:c}=Q(t);return o.call(t,e)?n(c.call(t,e)):o.call(t,r)?n(c.call(t,r)):void 0}function U(t){const e=vt(this),n=vt(t);t!==n&&k(e,0,t),k(e,0,n);const r=Q(e).has;return r.call(e,t)||r.call(e,n)}function V(t){return k(t=vt(t),0,h),Reflect.get(Q(t),"size",t)}function X(t){return function(e,n){const r=this,o=vt(r),c=t?J:H;return!t&&k(o,0,h),Q(o).forEach.call(o,(function(t,n){return e.call(r,c(t),c(n),r)}),n)}}function Y(t,e){return function(...n){const r=vt(this),o=r instanceof Map,c="entries"===t||t===Symbol.iterator&&o,u="keys"===t&&o,i=Q(r)[t].apply(r,n),s=e?J:H;return!e&&k(r,0,u?p:h),{next(){const{value:t,done:e}=i.next();return e?{value:t,done:e}:{value:c?[s(t[0]),s(t[1])]:s(t),done:e}},[Symbol.iterator](){return this}}}}function Z(t){return function(...e){return"delete"!==t&&this}}const $={get(t){return T(this,t,H)},get size(){return V(this)},has:U,add:function(t){t=vt(t);const e=vt(this),n=Q(e),r=n.has.call(e,t),o=n.add.call(e,t);return r||M(e,"add",t,t),o},set:function(t,e){e=vt(e);const n=vt(this),{has:r,get:o,set:c}=Q(n);let u=r.call(n,t);u||(t=vt(t),u=r.call(n,t));const i=o.call(n,t),s=c.call(n,t,e);return u?a(e,i)&&M(n,"set",t,e):M(n,"add",t,e),s},delete:function(t){const e=vt(this),{has:n,get:r,delete:o}=Q(e);let c=n.call(e,t);c||(t=vt(t),c=n.call(e,t)),r&&r.call(e,t);const u=o.call(e,t);return c&&M(e,"delete",t,void 0),u},clear:function(){const t=vt(this),e=0!==t.size,n=Q(t).clear.call(t);return e&&M(t,"clear",void 0,void 0),n},forEach:X(!1)},tt={get(t){return T(this,t,J)},get size(){return V(this)},has:U,add:Z("add"),set:Z("set"),delete:Z("delete"),clear:Z("clear"),forEach:X(!0)};function et(t){const e=t?tt:$;return(n,r,c)=>"__v_isReactive"===r?!t:"__v_isReadonly"===r?t:"__v_raw"===r?n:Reflect.get(o(e,r)&&r in n?e:n,r,c)}["keys","values","entries",Symbol.iterator].forEach(t=>{$[t]=Y(t,!1),tt[t]=Y(t,!0)});const nt={get:et(!1)},rt={get:et(!0)},ot=new Set([Set,Map,WeakMap,WeakSet]),ct=t("Object,Array,Map,Set,WeakMap,WeakSet");function ut(t){return t&&t.__v_isReadonly?t:at(t,!1,q,nt)}function it(t){return at(t,!1,D,nt)}function st(t){return at(t,!0,B,rt)}function lt(t){return at(t,!0,G,rt)}function at(t,e,n,r){if(!i(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;let o=e?t.__v_readonly:t.__v_reactive;if(void 0!==o)return o;if((c=t).__v_skip||!ct(l(c))||Object.isFrozen(c))return t;var c;const u=ot.has(t.constructor)?r:n;return o=new Proxy(t,u),f(t,e?"__v_readonly":"__v_reactive",o),o}function ft(t){return _t(t)?ft(t.__v_raw):!(!t||!t.__v_isReactive)}function _t(t){return!(!t||!t.__v_isReadonly)}function dt(t){return ft(t)||_t(t)}function vt(t){return t&&vt(t.__v_raw)||t}function ht(t){return f(t,"__v_skip",!0),t}const pt=t=>i(t)?ut(t):t;function gt(t){return!!t&&!0===t.__v_isRef}function yt(t){return wt(t)}function Rt(t){return wt(t,!0)}function wt(t,e=!1){if(gt(t))return t;let n=e?t:pt(t);const r={__v_isRef:!0,get value(){return k(r,0,"value"),n},set value(o){a(vt(o),t)&&(t=o,n=e?o:pt(o),M(r,"set","value",void 0))}};return r}function St(t){M(t,"set","value",void 0)}function bt(t){return gt(t)?t.value:t}function mt(t){const{get:e,set:n}=t(()=>k(r,0,"value"),()=>M(r,"set","value")),r={__v_isRef:!0,get value(){return e()},set value(t){n(t)}};return r}function Et(t){const e={};for(const n in t)e[n]=Ot(t,n);return e}function Ot(t,e){return{__v_isRef:!0,get value(){return t[e]},set value(n){t[e]=n}}}function kt(t){let e,r;"function"==typeof t?(e=t,r=n):(e=t.get,r=t.set);let o,c,u=!0;const i=g(e,{lazy:!0,computed:!0,scheduler:()=>{u||(u=!0,M(c,"set","value"))}});return c={__v_isRef:!0,effect:i,get value(){return u&&(o=i(),u=!1),k(c,0,"value"),o},set value(t){r(t)}},c}export{h as ITERATE_KEY,kt as computed,mt as customRef,g as effect,E as enableTracking,dt as isProxy,ft as isReactive,_t as isReadonly,gt as isRef,ht as markRaw,m as pauseTracking,ut as reactive,st as readonly,yt as ref,O as resetTracking,it as shallowReactive,lt as shallowReadonly,Rt as shallowRef,y as stop,vt as toRaw,Ot as toRef,Et as toRefs,k as track,M as trigger,St as triggerRef,bt as unref};
function t(t,e){const n=Object.create(null),r=t.split(",");for(let t=0;t<r.length;t++)n[r[t]]=!0;return e?t=>!!n[t.toLowerCase()]:t=>!!n[t]}const e={},n=()=>{},r=Object.prototype.hasOwnProperty,o=(t,e)=>r.call(t,e),c=Array.isArray,u=t=>"symbol"==typeof t,i=t=>null!==t&&"object"==typeof t,s=Object.prototype.toString,l=t=>(t=>s.call(t))(t).slice(8,-1),a=(t,e)=>t!==e&&(t==t||e==e),f=(t,e,n)=>{Object.defineProperty(t,e,{configurable:!0,value:n})},_=new WeakMap,v=[];let d;const h=Symbol(""),p=Symbol("");function g(t,n=e){(function(t){return t&&!0===t._isEffect})(t)&&(t=t.raw);const r=function(t,e){const n=function(...r){if(!n.active)return e.scheduler?void 0:t(...r);if(!v.includes(n)){w(n);try{return E(),v.push(n),d=n,t(...r)}finally{v.pop(),O(),d=v[v.length-1]}}};return n.id=R++,n._isEffect=!0,n.active=!0,n.raw=t,n.deps=[],n.options=e,n}(t,n);return n.lazy||r(),r}function y(t){t.active&&(w(t),t.options.onStop&&t.options.onStop(),t.active=!1)}let R=0;function w(t){const{deps:e}=t;if(e.length){for(let n=0;n<e.length;n++)e[n].delete(t);e.length=0}}let S=!0;const b=[];function m(){b.push(S),S=!1}function E(){b.push(S),S=!0}function O(){const t=b.pop();S=void 0===t||t}function k(t,e,n){if(!S||void 0===d)return;let r=_.get(t);r||_.set(t,r=new Map);let o=r.get(n);o||r.set(n,o=new Set),o.has(d)||(o.add(d),d.deps.push(o))}function M(t,e,n,r,o,u){const i=_.get(t);if(!i)return;const s=new Set,l=new Set,a=t=>{t&&t.forEach(t=>{t===d&&S||(t.options.computed?l.add(t):s.add(t))})};if("clear"===e)i.forEach(a);else if("length"===n&&c(t))i.forEach((t,e)=>{("length"===e||e>=r)&&a(t)});else{void 0!==n&&a(i.get(n));const r="add"===e||"delete"===e&&!c(t);(r||"set"===e&&t instanceof Map)&&a(i.get(c(t)?"length":h)),r&&t instanceof Map&&a(i.get(p))}const f=t=>{t.options.scheduler?t.options.scheduler(t):t()};l.forEach(f),s.forEach(f)}const j=new Set(Object.getOwnPropertyNames(Symbol).map(t=>Symbol[t]).filter(u)),P=K(),z=K(!1,!0),x=K(!0),W=K(!0,!0),A={};function K(t=!1,e=!1){return function(n,r,s){if("__v_isReactive"===r)return!t;if("__v_isReadonly"===r)return t;if("__v_raw"===r||"__proto__"===r)return n;const l=c(n);if(l&&o(A,r))return Reflect.get(A,r,s);const a=Reflect.get(n,r,s);return u(r)&&j.has(r)?a:e?(!t&&k(n,0,r),a):gt(a)?l?(!t&&k(n,0,r),a):a.value:(!t&&k(n,0,r),i(a)?t?st(a):ut(a):a)}}["includes","indexOf","lastIndexOf"].forEach(t=>{A[t]=function(...e){const n=dt(this);for(let t=0,e=this.length;t<e;t++)k(n,0,t+"");const r=n[t](...e);return-1===r||!1===r?n[t](...e.map(dt)):r}});const C=I(),F=I(!0);function I(t=!1){return function(e,n,r,u){const i=e[n];if(!t&&(r=dt(r),!c(e)&&gt(i)&&!gt(r)))return i.value=r,!0;const s=o(e,n),l=Reflect.set(e,n,r,u);return e===dt(u)&&(s?a(r,i)&&M(e,"set",n,r):M(e,"add",n,r)),l}}function L(t,e){const n=Reflect.has(t,e);return k(t,0,e),n}function N(t){return k(t,0,h),Reflect.ownKeys(t)}const q={get:P,set:C,deleteProperty:function(t,e){const n=o(t,e),r=Reflect.deleteProperty(t,e);return r&&n&&M(t,"delete",e,void 0),r},has:L,ownKeys:N},B={get:x,has:L,ownKeys:N,set:(t,e)=>!0,deleteProperty:(t,e)=>!0},D={...q,get:z,set:F},G={...B,get:W},H=t=>i(t)?ut(t):t,J=t=>i(t)?st(t):t,Q=t=>Reflect.getPrototypeOf(t);function T(t,e,n){t=dt(t);const r=dt(e);e!==r&&k(t,0,e),k(t,0,r);const{has:o,get:c}=Q(t);return o.call(t,e)?n(c.call(t,e)):o.call(t,r)?n(c.call(t,r)):void 0}function U(t){const e=dt(this),n=dt(t);t!==n&&k(e,0,t),k(e,0,n);const r=Q(e).has;return r.call(e,t)||r.call(e,n)}function V(t){return k(t=dt(t),0,h),Reflect.get(Q(t),"size",t)}function X(t){return function(e,n){const r=this,o=dt(r),c=t?J:H;return!t&&k(o,0,h),Q(o).forEach.call(o,(function(t,n){return e.call(r,c(t),c(n),r)}),n)}}function Y(t,e){return function(...n){const r=dt(this),o=r instanceof Map,c="entries"===t||t===Symbol.iterator&&o,u="keys"===t&&o,i=Q(r)[t].apply(r,n),s=e?J:H;return!e&&k(r,0,u?p:h),{next(){const{value:t,done:e}=i.next();return e?{value:t,done:e}:{value:c?[s(t[0]),s(t[1])]:s(t),done:e}},[Symbol.iterator](){return this}}}}function Z(t){return function(...e){return"delete"!==t&&this}}const $={get(t){return T(this,t,H)},get size(){return V(this)},has:U,add:function(t){t=dt(t);const e=dt(this),n=Q(e),r=n.has.call(e,t),o=n.add.call(e,t);return r||M(e,"add",t,t),o},set:function(t,e){e=dt(e);const n=dt(this),{has:r,get:o,set:c}=Q(n);let u=r.call(n,t);u||(t=dt(t),u=r.call(n,t));const i=o.call(n,t),s=c.call(n,t,e);return u?a(e,i)&&M(n,"set",t,e):M(n,"add",t,e),s},delete:function(t){const e=dt(this),{has:n,get:r,delete:o}=Q(e);let c=n.call(e,t);c||(t=dt(t),c=n.call(e,t)),r&&r.call(e,t);const u=o.call(e,t);return c&&M(e,"delete",t,void 0),u},clear:function(){const t=dt(this),e=0!==t.size,n=Q(t).clear.call(t);return e&&M(t,"clear",void 0,void 0),n},forEach:X(!1)},tt={get(t){return T(this,t,J)},get size(){return V(this)},has:U,add:Z("add"),set:Z("set"),delete:Z("delete"),clear:Z("clear"),forEach:X(!0)};function et(t){const e=t?tt:$;return(n,r,c)=>"__v_isReactive"===r?!t:"__v_isReadonly"===r?t:"__v_raw"===r?n:Reflect.get(o(e,r)&&r in n?e:n,r,c)}["keys","values","entries",Symbol.iterator].forEach(t=>{$[t]=Y(t,!1),tt[t]=Y(t,!0)});const nt={get:et(!1)},rt={get:et(!0)},ot=new Set([Set,Map,WeakMap,WeakSet]),ct=t("Object,Array,Map,Set,WeakMap,WeakSet");function ut(t){return t&&t.__v_isReadonly?t:at(t,!1,q,nt)}function it(t){return at(t,!1,D,nt)}function st(t){return at(t,!0,B,rt)}function lt(t){return at(t,!0,G,rt)}function at(t,e,n,r){if(!i(t))return t;if(t.__v_raw&&(!e||!t.__v_isReactive))return t;if(o(t,e?"__v_readonly":"__v_reactive"))return e?t.__v_readonly:t.__v_reactive;if((c=t).__v_skip||!ct(l(c))||Object.isFrozen(c))return t;var c;const u=new Proxy(t,ot.has(t.constructor)?r:n);return f(t,e?"__v_readonly":"__v_reactive",u),u}function ft(t){return _t(t)?ft(t.__v_raw):!(!t||!t.__v_isReactive)}function _t(t){return!(!t||!t.__v_isReadonly)}function vt(t){return ft(t)||_t(t)}function dt(t){return t&&dt(t.__v_raw)||t}function ht(t){return f(t,"__v_skip",!0),t}const pt=t=>i(t)?ut(t):t;function gt(t){return!!t&&!0===t.__v_isRef}function yt(t){return wt(t)}function Rt(t){return wt(t,!0)}function wt(t,e=!1){if(gt(t))return t;let n=e?t:pt(t);const r={__v_isRef:!0,get value(){return k(r,0,"value"),n},set value(o){a(dt(o),t)&&(t=o,n=e?o:pt(o),M(r,"set","value",void 0))}};return r}function St(t){M(t,"set","value",void 0)}function bt(t){return gt(t)?t.value:t}function mt(t){const{get:e,set:n}=t(()=>k(r,0,"value"),()=>M(r,"set","value")),r={__v_isRef:!0,get value(){return e()},set value(t){n(t)}};return r}function Et(t){const e={};for(const n in t)e[n]=Ot(t,n);return e}function Ot(t,e){return{__v_isRef:!0,get value(){return t[e]},set value(n){t[e]=n}}}function kt(t){let e,r;"function"==typeof t?(e=t,r=n):(e=t.get,r=t.set);let o,c,u=!0;const i=g(e,{lazy:!0,computed:!0,scheduler:()=>{u||(u=!0,M(c,"set","value"))}});return c={__v_isRef:!0,effect:i,get value(){return u&&(o=i(),u=!1),k(c,0,"value"),o},set value(t){r(t)}},c}export{h as ITERATE_KEY,kt as computed,mt as customRef,g as effect,E as enableTracking,vt as isProxy,ft as isReactive,_t as isReadonly,gt as isRef,ht as markRaw,m as pauseTracking,ut as reactive,st as readonly,yt as ref,O as resetTracking,it as shallowReactive,lt as shallowReadonly,Rt as shallowRef,y as stop,dt as toRaw,Ot as toRef,Et as toRefs,k as track,M as trigger,St as triggerRef,bt as unref};

@@ -215,3 +215,3 @@ import { EMPTY_OBJ, isArray, isSymbol, hasOwn, isObject, hasChanged, capitalize, toRawType, def, makeMap, isFunction, NOOP } from '@vue/shared';

}
else if (key === "__v_raw" /* raw */) {
else if (key === "__v_raw" /* raw */ || key === '__proto__') {
return target;

@@ -594,3 +594,3 @@ }

// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
// exception: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {

@@ -600,5 +600,4 @@ return target;

// target already has corresponding Proxy
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
if (hasOwn(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */)) {
return isReadonly ? target.__v_readonly : target.__v_reactive;
}

@@ -609,6 +608,3 @@ // only a whitelist of value types can be observed.

}
const handlers = collectionTypes.has(target.constructor)
? collectionHandlers
: baseHandlers;
observed = new Proxy(target, handlers);
const observed = new Proxy(target, collectionTypes.has(target.constructor) ? collectionHandlers : baseHandlers);
def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);

@@ -615,0 +611,0 @@ return observed;

@@ -262,3 +262,3 @@ var VueReactivity = (function (exports) {

}
else if (key === "__v_raw" /* raw */) {
else if (key === "__v_raw" /* raw */ || key === '__proto__') {
return target;

@@ -640,3 +640,3 @@ }

// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
// exception: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {

@@ -646,5 +646,4 @@ return target;

// target already has corresponding Proxy
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
if (hasOwn(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */)) {
return isReadonly ? target.__v_readonly : target.__v_reactive;
}

@@ -655,6 +654,3 @@ // only a whitelist of value types can be observed.

}
const handlers = collectionTypes.has(target.constructor)
? collectionHandlers
: baseHandlers;
observed = new Proxy(target, handlers);
const observed = new Proxy(target, collectionTypes.has(target.constructor) ? collectionHandlers : baseHandlers);
def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);

@@ -661,0 +657,0 @@ return observed;

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

var VueReactivity=function(e){"use strict";function t(e,t){const n=Object.create(null),r=e.split(",");for(let e=0;e<r.length;e++)n[r[e]]=!0;return t?e=>!!n[e.toLowerCase()]:e=>!!n[e]}const n={},r=()=>{},o=Object.prototype.hasOwnProperty,c=(e,t)=>o.call(e,t),i=Array.isArray,s=e=>"symbol"==typeof e,u=e=>null!==e&&"object"==typeof e,a=Object.prototype.toString,l=e=>(e=>a.call(e))(e).slice(8,-1),f=(e,t)=>e!==t&&(e==e||t==t),v=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,value:n})},_=new WeakMap,d=[];let h;const p=Symbol(""),g=Symbol("");function y(e,t=n){(function(e){return e&&!0===e._isEffect})(e)&&(e=e.raw);const r=function(e,t){const n=function(...r){if(!n.active)return t.scheduler?void 0:e(...r);if(!d.includes(n)){w(n);try{return m(),d.push(n),h=n,e(...r)}finally{d.pop(),E(),h=d[d.length-1]}}};return n.id=R++,n._isEffect=!0,n.active=!0,n.raw=e,n.deps=[],n.options=t,n}(e,t);return t.lazy||r(),r}let R=0;function w(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let S=!0;const b=[];function m(){b.push(S),S=!0}function E(){const e=b.pop();S=void 0===e||e}function k(e,t,n){if(!S||void 0===h)return;let r=_.get(e);r||_.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=new Set),o.has(h)||(o.add(h),h.deps.push(o))}function O(e,t,n,r,o,c){const s=_.get(e);if(!s)return;const u=new Set,a=new Set,l=e=>{e&&e.forEach(e=>{e===h&&S||(e.options.computed?a.add(e):u.add(e))})};if("clear"===t)s.forEach(l);else if("length"===n&&i(e))s.forEach((e,t)=>{("length"===t||t>=r)&&l(e)});else{void 0!==n&&l(s.get(n));const r="add"===t||"delete"===t&&!i(e);(r||"set"===t&&e instanceof Map)&&l(s.get(i(e)?"length":p)),r&&e instanceof Map&&l(s.get(g))}const f=e=>{e.options.scheduler?e.options.scheduler(e):e()};a.forEach(f),u.forEach(f)}const M=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(s)),P=W(),j=W(!1,!0),z=W(!0),x=W(!0,!0),T={};function W(e=!1,t=!1){return function(n,r,o){if("__v_isReactive"===r)return!e;if("__v_isReadonly"===r)return e;if("__v_raw"===r)return n;const a=i(n);if(a&&c(T,r))return Reflect.get(T,r,o);const l=Reflect.get(n,r,o);return s(r)&&M.has(r)?l:t?(!e&&k(n,0,r),l):ve(l)?a?(!e&&k(n,0,r),l):l.value:(!e&&k(n,0,r),u(l)?e?ie(l):ce(l):l)}}["includes","indexOf","lastIndexOf"].forEach(e=>{T[e]=function(...t){const n=le(this);for(let e=0,t=this.length;e<t;e++)k(n,0,e+"");const r=n[e](...t);return-1===r||!1===r?n[e](...t.map(le)):r}});const A=I(),K=I(!0);function I(e=!1){return function(t,n,r,o){const s=t[n];if(!e&&(r=le(r),!i(t)&&ve(s)&&!ve(r)))return s.value=r,!0;const u=c(t,n),a=Reflect.set(t,n,r,o);return t===le(o)&&(u?f(r,s)&&O(t,"set",n,r):O(t,"add",n,r)),a}}function C(e,t){const n=Reflect.has(e,t);return k(e,0,t),n}function F(e){return k(e,0,p),Reflect.ownKeys(e)}const L={get:P,set:A,deleteProperty:function(e,t){const n=c(e,t),r=Reflect.deleteProperty(e,t);return r&&n&&O(e,"delete",t,void 0),r},has:C,ownKeys:F},N={get:z,has:C,ownKeys:F,set:(e,t)=>!0,deleteProperty:(e,t)=>!0},V={...L,get:j,set:K},Y={...N,get:x},q=e=>u(e)?ce(e):e,B=e=>u(e)?ie(e):e,D=e=>Reflect.getPrototypeOf(e);function G(e,t,n){e=le(e);const r=le(t);t!==r&&k(e,0,t),k(e,0,r);const{has:o,get:c}=D(e);return o.call(e,t)?n(c.call(e,t)):o.call(e,r)?n(c.call(e,r)):void 0}function H(e){const t=le(this),n=le(e);e!==n&&k(t,0,e),k(t,0,n);const r=D(t).has;return r.call(t,e)||r.call(t,n)}function J(e){return k(e=le(e),0,p),Reflect.get(D(e),"size",e)}function Q(e){return function(t,n){const r=this,o=le(r),c=e?B:q;return!e&&k(o,0,p),D(o).forEach.call(o,(function(e,n){return t.call(r,c(e),c(n),r)}),n)}}function U(e,t){return function(...n){const r=le(this),o=r instanceof Map,c="entries"===e||e===Symbol.iterator&&o,i="keys"===e&&o,s=D(r)[e].apply(r,n),u=t?B:q;return!t&&k(r,0,i?g:p),{next(){const{value:e,done:t}=s.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function X(e){return function(...t){return"delete"!==e&&this}}const Z={get(e){return G(this,e,q)},get size(){return J(this)},has:H,add:function(e){e=le(e);const t=le(this),n=D(t),r=n.has.call(t,e),o=n.add.call(t,e);return r||O(t,"add",e,e),o},set:function(e,t){t=le(t);const n=le(this),{has:r,get:o,set:c}=D(n);let i=r.call(n,e);i||(e=le(e),i=r.call(n,e));const s=o.call(n,e),u=c.call(n,e,t);return i?f(t,s)&&O(n,"set",e,t):O(n,"add",e,t),u},delete:function(e){const t=le(this),{has:n,get:r,delete:o}=D(t);let c=n.call(t,e);c||(e=le(e),c=n.call(t,e)),r&&r.call(t,e);const i=o.call(t,e);return c&&O(t,"delete",e,void 0),i},clear:function(){const e=le(this),t=0!==e.size,n=D(e).clear.call(e);return t&&O(e,"clear",void 0,void 0),n},forEach:Q(!1)},$={get(e){return G(this,e,B)},get size(){return J(this)},has:H,add:X("add"),set:X("set"),delete:X("delete"),clear:X("clear"),forEach:Q(!0)};function ee(e){const t=e?$:Z;return(n,r,o)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?n:Reflect.get(c(t,r)&&r in n?t:n,r,o)}["keys","values","entries",Symbol.iterator].forEach(e=>{Z[e]=U(e,!1),$[e]=U(e,!0)});const te={get:ee(!1)},ne={get:ee(!0)},re=new Set([Set,Map,WeakMap,WeakSet]),oe=t("Object,Array,Map,Set,WeakMap,WeakSet");function ce(e){return e&&e.__v_isReadonly?e:se(e,!1,L,te)}function ie(e){return se(e,!0,N,ne)}function se(e,t,n,r){if(!u(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;let o=t?e.__v_readonly:e.__v_reactive;if(void 0!==o)return o;if((c=e).__v_skip||!oe(l(c))||Object.isFrozen(c))return e;var c;const i=re.has(e.constructor)?r:n;return o=new Proxy(e,i),v(e,t?"__v_readonly":"__v_reactive",o),o}function ue(e){return ae(e)?ue(e.__v_raw):!(!e||!e.__v_isReactive)}function ae(e){return!(!e||!e.__v_isReadonly)}function le(e){return e&&le(e.__v_raw)||e}const fe=e=>u(e)?ce(e):e;function ve(e){return!!e&&!0===e.__v_isRef}function _e(e,t=!1){if(ve(e))return e;let n=t?e:fe(e);const r={__v_isRef:!0,get value(){return k(r,0,"value"),n},set value(o){f(le(o),e)&&(e=o,n=t?o:fe(o),O(r,"set","value",void 0))}};return r}function de(e,t){return{__v_isRef:!0,get value(){return e[t]},set value(n){e[t]=n}}}return e.ITERATE_KEY=p,e.computed=function(e){let t,n;"function"==typeof e?(t=e,n=r):(t=e.get,n=e.set);let o,c,i=!0;const s=y(t,{lazy:!0,computed:!0,scheduler:()=>{i||(i=!0,O(c,"set","value"))}});return c={__v_isRef:!0,effect:s,get value(){return i&&(o=s(),i=!1),k(c,0,"value"),o},set value(e){n(e)}},c},e.customRef=function(e){const{get:t,set:n}=e(()=>k(r,0,"value"),()=>O(r,"set","value")),r={__v_isRef:!0,get value(){return t()},set value(e){n(e)}};return r},e.effect=y,e.enableTracking=m,e.isProxy=function(e){return ue(e)||ae(e)},e.isReactive=ue,e.isReadonly=ae,e.isRef=ve,e.markRaw=function(e){return v(e,"__v_skip",!0),e},e.pauseTracking=function(){b.push(S),S=!1},e.reactive=ce,e.readonly=ie,e.ref=function(e){return _e(e)},e.resetTracking=E,e.shallowReactive=function(e){return se(e,!1,V,te)},e.shallowReadonly=function(e){return se(e,!0,Y,ne)},e.shallowRef=function(e){return _e(e,!0)},e.stop=function(e){e.active&&(w(e),e.options.onStop&&e.options.onStop(),e.active=!1)},e.toRaw=le,e.toRef=de,e.toRefs=function(e){const t={};for(const n in e)t[n]=de(e,n);return t},e.track=k,e.trigger=O,e.triggerRef=function(e){O(e,"set","value",void 0)},e.unref=function(e){return ve(e)?e.value:e},e}({});
var VueReactivity=function(e){"use strict";function t(e,t){const n=Object.create(null),r=e.split(",");for(let e=0;e<r.length;e++)n[r[e]]=!0;return t?e=>!!n[e.toLowerCase()]:e=>!!n[e]}const n={},r=()=>{},o=Object.prototype.hasOwnProperty,c=(e,t)=>o.call(e,t),i=Array.isArray,s=e=>"symbol"==typeof e,u=e=>null!==e&&"object"==typeof e,a=Object.prototype.toString,l=e=>(e=>a.call(e))(e).slice(8,-1),f=(e,t)=>e!==t&&(e==e||t==t),_=(e,t,n)=>{Object.defineProperty(e,t,{configurable:!0,value:n})},v=new WeakMap,d=[];let h;const p=Symbol(""),g=Symbol("");function y(e,t=n){(function(e){return e&&!0===e._isEffect})(e)&&(e=e.raw);const r=function(e,t){const n=function(...r){if(!n.active)return t.scheduler?void 0:e(...r);if(!d.includes(n)){w(n);try{return m(),d.push(n),h=n,e(...r)}finally{d.pop(),E(),h=d[d.length-1]}}};return n.id=R++,n._isEffect=!0,n.active=!0,n.raw=e,n.deps=[],n.options=t,n}(e,t);return t.lazy||r(),r}let R=0;function w(e){const{deps:t}=e;if(t.length){for(let n=0;n<t.length;n++)t[n].delete(e);t.length=0}}let S=!0;const b=[];function m(){b.push(S),S=!0}function E(){const e=b.pop();S=void 0===e||e}function k(e,t,n){if(!S||void 0===h)return;let r=v.get(e);r||v.set(e,r=new Map);let o=r.get(n);o||r.set(n,o=new Set),o.has(h)||(o.add(h),h.deps.push(o))}function O(e,t,n,r,o,c){const s=v.get(e);if(!s)return;const u=new Set,a=new Set,l=e=>{e&&e.forEach(e=>{e===h&&S||(e.options.computed?a.add(e):u.add(e))})};if("clear"===t)s.forEach(l);else if("length"===n&&i(e))s.forEach((e,t)=>{("length"===t||t>=r)&&l(e)});else{void 0!==n&&l(s.get(n));const r="add"===t||"delete"===t&&!i(e);(r||"set"===t&&e instanceof Map)&&l(s.get(i(e)?"length":p)),r&&e instanceof Map&&l(s.get(g))}const f=e=>{e.options.scheduler?e.options.scheduler(e):e()};a.forEach(f),u.forEach(f)}const M=new Set(Object.getOwnPropertyNames(Symbol).map(e=>Symbol[e]).filter(s)),P=W(),j=W(!1,!0),z=W(!0),x=W(!0,!0),T={};function W(e=!1,t=!1){return function(n,r,o){if("__v_isReactive"===r)return!e;if("__v_isReadonly"===r)return e;if("__v_raw"===r||"__proto__"===r)return n;const a=i(n);if(a&&c(T,r))return Reflect.get(T,r,o);const l=Reflect.get(n,r,o);return s(r)&&M.has(r)?l:t?(!e&&k(n,0,r),l):_e(l)?a?(!e&&k(n,0,r),l):l.value:(!e&&k(n,0,r),u(l)?e?ie(l):ce(l):l)}}["includes","indexOf","lastIndexOf"].forEach(e=>{T[e]=function(...t){const n=le(this);for(let e=0,t=this.length;e<t;e++)k(n,0,e+"");const r=n[e](...t);return-1===r||!1===r?n[e](...t.map(le)):r}});const A=I(),K=I(!0);function I(e=!1){return function(t,n,r,o){const s=t[n];if(!e&&(r=le(r),!i(t)&&_e(s)&&!_e(r)))return s.value=r,!0;const u=c(t,n),a=Reflect.set(t,n,r,o);return t===le(o)&&(u?f(r,s)&&O(t,"set",n,r):O(t,"add",n,r)),a}}function C(e,t){const n=Reflect.has(e,t);return k(e,0,t),n}function F(e){return k(e,0,p),Reflect.ownKeys(e)}const L={get:P,set:A,deleteProperty:function(e,t){const n=c(e,t),r=Reflect.deleteProperty(e,t);return r&&n&&O(e,"delete",t,void 0),r},has:C,ownKeys:F},N={get:z,has:C,ownKeys:F,set:(e,t)=>!0,deleteProperty:(e,t)=>!0},V={...L,get:j,set:K},Y={...N,get:x},q=e=>u(e)?ce(e):e,B=e=>u(e)?ie(e):e,D=e=>Reflect.getPrototypeOf(e);function G(e,t,n){e=le(e);const r=le(t);t!==r&&k(e,0,t),k(e,0,r);const{has:o,get:c}=D(e);return o.call(e,t)?n(c.call(e,t)):o.call(e,r)?n(c.call(e,r)):void 0}function H(e){const t=le(this),n=le(e);e!==n&&k(t,0,e),k(t,0,n);const r=D(t).has;return r.call(t,e)||r.call(t,n)}function J(e){return k(e=le(e),0,p),Reflect.get(D(e),"size",e)}function Q(e){return function(t,n){const r=this,o=le(r),c=e?B:q;return!e&&k(o,0,p),D(o).forEach.call(o,(function(e,n){return t.call(r,c(e),c(n),r)}),n)}}function U(e,t){return function(...n){const r=le(this),o=r instanceof Map,c="entries"===e||e===Symbol.iterator&&o,i="keys"===e&&o,s=D(r)[e].apply(r,n),u=t?B:q;return!t&&k(r,0,i?g:p),{next(){const{value:e,done:t}=s.next();return t?{value:e,done:t}:{value:c?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}function X(e){return function(...t){return"delete"!==e&&this}}const Z={get(e){return G(this,e,q)},get size(){return J(this)},has:H,add:function(e){e=le(e);const t=le(this),n=D(t),r=n.has.call(t,e),o=n.add.call(t,e);return r||O(t,"add",e,e),o},set:function(e,t){t=le(t);const n=le(this),{has:r,get:o,set:c}=D(n);let i=r.call(n,e);i||(e=le(e),i=r.call(n,e));const s=o.call(n,e),u=c.call(n,e,t);return i?f(t,s)&&O(n,"set",e,t):O(n,"add",e,t),u},delete:function(e){const t=le(this),{has:n,get:r,delete:o}=D(t);let c=n.call(t,e);c||(e=le(e),c=n.call(t,e)),r&&r.call(t,e);const i=o.call(t,e);return c&&O(t,"delete",e,void 0),i},clear:function(){const e=le(this),t=0!==e.size,n=D(e).clear.call(e);return t&&O(e,"clear",void 0,void 0),n},forEach:Q(!1)},$={get(e){return G(this,e,B)},get size(){return J(this)},has:H,add:X("add"),set:X("set"),delete:X("delete"),clear:X("clear"),forEach:Q(!0)};function ee(e){const t=e?$:Z;return(n,r,o)=>"__v_isReactive"===r?!e:"__v_isReadonly"===r?e:"__v_raw"===r?n:Reflect.get(c(t,r)&&r in n?t:n,r,o)}["keys","values","entries",Symbol.iterator].forEach(e=>{Z[e]=U(e,!1),$[e]=U(e,!0)});const te={get:ee(!1)},ne={get:ee(!0)},re=new Set([Set,Map,WeakMap,WeakSet]),oe=t("Object,Array,Map,Set,WeakMap,WeakSet");function ce(e){return e&&e.__v_isReadonly?e:se(e,!1,L,te)}function ie(e){return se(e,!0,N,ne)}function se(e,t,n,r){if(!u(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;if(c(e,t?"__v_readonly":"__v_reactive"))return t?e.__v_readonly:e.__v_reactive;if((o=e).__v_skip||!oe(l(o))||Object.isFrozen(o))return e;var o;const i=new Proxy(e,re.has(e.constructor)?r:n);return _(e,t?"__v_readonly":"__v_reactive",i),i}function ue(e){return ae(e)?ue(e.__v_raw):!(!e||!e.__v_isReactive)}function ae(e){return!(!e||!e.__v_isReadonly)}function le(e){return e&&le(e.__v_raw)||e}const fe=e=>u(e)?ce(e):e;function _e(e){return!!e&&!0===e.__v_isRef}function ve(e,t=!1){if(_e(e))return e;let n=t?e:fe(e);const r={__v_isRef:!0,get value(){return k(r,0,"value"),n},set value(o){f(le(o),e)&&(e=o,n=t?o:fe(o),O(r,"set","value",void 0))}};return r}function de(e,t){return{__v_isRef:!0,get value(){return e[t]},set value(n){e[t]=n}}}return e.ITERATE_KEY=p,e.computed=function(e){let t,n;"function"==typeof e?(t=e,n=r):(t=e.get,n=e.set);let o,c,i=!0;const s=y(t,{lazy:!0,computed:!0,scheduler:()=>{i||(i=!0,O(c,"set","value"))}});return c={__v_isRef:!0,effect:s,get value(){return i&&(o=s(),i=!1),k(c,0,"value"),o},set value(e){n(e)}},c},e.customRef=function(e){const{get:t,set:n}=e(()=>k(r,0,"value"),()=>O(r,"set","value")),r={__v_isRef:!0,get value(){return t()},set value(e){n(e)}};return r},e.effect=y,e.enableTracking=m,e.isProxy=function(e){return ue(e)||ae(e)},e.isReactive=ue,e.isReadonly=ae,e.isRef=_e,e.markRaw=function(e){return _(e,"__v_skip",!0),e},e.pauseTracking=function(){b.push(S),S=!1},e.reactive=ce,e.readonly=ie,e.ref=function(e){return ve(e)},e.resetTracking=E,e.shallowReactive=function(e){return se(e,!1,V,te)},e.shallowReadonly=function(e){return se(e,!0,Y,ne)},e.shallowRef=function(e){return ve(e,!0)},e.stop=function(e){e.active&&(w(e),e.options.onStop&&e.options.onStop(),e.active=!1)},e.toRaw=le,e.toRef=de,e.toRefs=function(e){const t={};for(const n in e)t[n]=de(e,n);return t},e.track=k,e.trigger=O,e.triggerRef=function(e){O(e,"set","value",void 0)},e.unref=function(e){return _e(e)?e.value:e},e}({});
{
"name": "@vue/reactivity",
"version": "3.0.0-beta.7",
"version": "3.0.0-beta.8",
"description": "@vue/reactivity",

@@ -38,4 +38,4 @@ "main": "index.js",

"dependencies": {
"@vue/shared": "3.0.0-beta.7"
"@vue/shared": "3.0.0-beta.8"
}
}
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