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.6 to 3.0.0-beta.7

97

dist/reactivity.cjs.js

@@ -213,2 +213,11 @@ 'use strict';

return function get(target, key, receiver) {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
const targetIsArray = shared.isArray(target);

@@ -513,12 +522,26 @@ if (targetIsArray && shared.hasOwn(arrayInstrumentations, key)) {

});
function createInstrumentationGetter(instrumentations) {
return (target, key, receiver) => Reflect.get(shared.hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
function createInstrumentationGetter(isReadonly) {
const instrumentations = isReadonly
? readonlyInstrumentations
: mutableInstrumentations;
return (target, key, receiver) => {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
return Reflect.get(shared.hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
};
}
const mutableCollectionHandlers = {
get: createInstrumentationGetter(mutableInstrumentations)
get: createInstrumentationGetter(false)
};
const readonlyCollectionHandlers = {
get: createInstrumentationGetter(readonlyInstrumentations)
get: createInstrumentationGetter(true)
};

@@ -537,16 +560,7 @@ function checkIdentityKeys(target, has, key) {

// WeakMaps that store {raw <-> observed} pairs.
const rawToReactive = new WeakMap();
const reactiveToRaw = new WeakMap();
const rawToReadonly = new WeakMap();
const readonlyToRaw = new WeakMap();
// WeakSets for values that are marked readonly or non-reactive during
// observable creation.
const rawValues = new WeakSet();
const collectionTypes = new Set([Set, Map, WeakMap, WeakSet]);
const isObservableType = /*#__PURE__*/ shared.makeMap('Object,Array,Map,Set,WeakMap,WeakSet');
const canObserve = (value) => {
return (!value._isVNode &&
return (!value.__v_skip &&
isObservableType(shared.toRawType(value)) &&
!rawValues.has(value) &&
!Object.isFrozen(value));

@@ -556,6 +570,6 @@ };

// if trying to observe a readonly proxy, return the readonly version.
if (readonlyToRaw.has(target)) {
if (target && target.__v_isReadonly) {
return target;
}
return createReactiveObject(target, rawToReactive, reactiveToRaw, mutableHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers);
}

@@ -566,6 +580,6 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReactive(target) {
return createReactiveObject(target, rawToReactive, reactiveToRaw, shallowReactiveHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, shallowReactiveHandlers, mutableCollectionHandlers);
}
function readonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, readonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers);
}

@@ -577,5 +591,5 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReadonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, shallowReadonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, shallowReadonlyHandlers, readonlyCollectionHandlers);
}
function createReactiveObject(target, toProxy, toRaw, baseHandlers, collectionHandlers) {
function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers) {
if (!shared.isObject(target)) {

@@ -587,11 +601,12 @@ {

}
// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {
return target;
}
// target already has corresponding Proxy
let observed = toProxy.get(target);
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
}
// target is already a Proxy
if (toRaw.has(target)) {
return target;
}
// only a whitelist of value types can be observed.

@@ -605,22 +620,22 @@ if (!canObserve(target)) {

observed = new Proxy(target, handlers);
toProxy.set(target, observed);
toRaw.set(observed, target);
shared.def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);
return observed;
}
function isReactive(value) {
value = readonlyToRaw.get(value) || value;
return reactiveToRaw.has(value);
if (isReadonly(value)) {
return isReactive(value.__v_raw);
}
return !!(value && value.__v_isReactive);
}
function isReadonly(value) {
return readonlyToRaw.has(value);
return !!(value && value.__v_isReadonly);
}
function isProxy(value) {
return readonlyToRaw.has(value) || reactiveToRaw.has(value);
return isReactive(value) || isReadonly(value);
}
function toRaw(observed) {
observed = readonlyToRaw.get(observed) || observed;
return reactiveToRaw.get(observed) || observed;
return (observed && toRaw(observed.__v_raw)) || observed;
}
function markRaw(value) {
rawValues.add(value);
shared.def(value, "__v_skip" /* skip */, true);
return value;

@@ -631,3 +646,3 @@ }

function isRef(r) {
return r ? r._isRef === true : false;
return r ? r.__v_isRef === true : false;
}

@@ -646,3 +661,3 @@ function ref(value) {

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -671,3 +686,3 @@ track(r, "get" /* GET */, 'value');

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -694,3 +709,3 @@ return get();

return {
_isRef: true,
__v_isRef: true,
get value() {

@@ -734,3 +749,3 @@ return object[key];

computed = {
_isRef: true,
__v_isRef: true,
// expose effect so computed can be stopped

@@ -737,0 +752,0 @@ effect: runner,

@@ -194,2 +194,11 @@ 'use strict';

return function get(target, key, receiver) {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
const targetIsArray = shared.isArray(target);

@@ -474,28 +483,33 @@ if (targetIsArray && shared.hasOwn(arrayInstrumentations, key)) {

});
function createInstrumentationGetter(instrumentations) {
return (target, key, receiver) => Reflect.get(shared.hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
function createInstrumentationGetter(isReadonly) {
const instrumentations = isReadonly
? readonlyInstrumentations
: mutableInstrumentations;
return (target, key, receiver) => {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
return Reflect.get(shared.hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
};
}
const mutableCollectionHandlers = {
get: createInstrumentationGetter(mutableInstrumentations)
get: createInstrumentationGetter(false)
};
const readonlyCollectionHandlers = {
get: createInstrumentationGetter(readonlyInstrumentations)
get: createInstrumentationGetter(true)
};
// WeakMaps that store {raw <-> observed} pairs.
const rawToReactive = new WeakMap();
const reactiveToRaw = new WeakMap();
const rawToReadonly = new WeakMap();
const readonlyToRaw = new WeakMap();
// WeakSets for values that are marked readonly or non-reactive during
// observable creation.
const rawValues = new WeakSet();
const collectionTypes = new Set([Set, Map, WeakMap, WeakSet]);
const isObservableType = /*#__PURE__*/ shared.makeMap('Object,Array,Map,Set,WeakMap,WeakSet');
const canObserve = (value) => {
return (!value._isVNode &&
return (!value.__v_skip &&
isObservableType(shared.toRawType(value)) &&
!rawValues.has(value) &&
!Object.isFrozen(value));

@@ -505,6 +519,6 @@ };

// if trying to observe a readonly proxy, return the readonly version.
if (readonlyToRaw.has(target)) {
if (target && target.__v_isReadonly) {
return target;
}
return createReactiveObject(target, rawToReactive, reactiveToRaw, mutableHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers);
}

@@ -515,6 +529,6 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReactive(target) {
return createReactiveObject(target, rawToReactive, reactiveToRaw, shallowReactiveHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, shallowReactiveHandlers, mutableCollectionHandlers);
}
function readonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, readonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers);
}

@@ -526,17 +540,18 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReadonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, shallowReadonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, shallowReadonlyHandlers, readonlyCollectionHandlers);
}
function createReactiveObject(target, toProxy, toRaw, baseHandlers, collectionHandlers) {
function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers) {
if (!shared.isObject(target)) {
return target;
}
// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {
return target;
}
// target already has corresponding Proxy
let observed = toProxy.get(target);
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
}
// target is already a Proxy
if (toRaw.has(target)) {
return target;
}
// only a whitelist of value types can be observed.

@@ -550,22 +565,22 @@ if (!canObserve(target)) {

observed = new Proxy(target, handlers);
toProxy.set(target, observed);
toRaw.set(observed, target);
shared.def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);
return observed;
}
function isReactive(value) {
value = readonlyToRaw.get(value) || value;
return reactiveToRaw.has(value);
if (isReadonly(value)) {
return isReactive(value.__v_raw);
}
return !!(value && value.__v_isReactive);
}
function isReadonly(value) {
return readonlyToRaw.has(value);
return !!(value && value.__v_isReadonly);
}
function isProxy(value) {
return readonlyToRaw.has(value) || reactiveToRaw.has(value);
return isReactive(value) || isReadonly(value);
}
function toRaw(observed) {
observed = readonlyToRaw.get(observed) || observed;
return reactiveToRaw.get(observed) || observed;
return (observed && toRaw(observed.__v_raw)) || observed;
}
function markRaw(value) {
rawValues.add(value);
shared.def(value, "__v_skip" /* skip */, true);
return value;

@@ -576,3 +591,3 @@ }

function isRef(r) {
return r ? r._isRef === true : false;
return r ? r.__v_isRef === true : false;
}

@@ -591,3 +606,3 @@ function ref(value) {

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -616,3 +631,3 @@ track(r, "get" /* GET */, 'value');

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -636,3 +651,3 @@ return get();

return {
_isRef: true,
__v_isRef: true,
get value() {

@@ -673,3 +688,3 @@ return object[key];

computed = {
_isRef: true,
__v_isRef: true,
// expose effect so computed can be stopped

@@ -676,0 +691,0 @@ effect: runner,

@@ -52,4 +52,2 @@

declare const isRefSymbol: unique symbol;
declare type IterableCollections = Map<any, any> | Set<any>;

@@ -84,6 +82,15 @@

export declare const enum ReactiveFlags {
skip = "__v_skip",
isReactive = "__v_isReactive",
isReadonly = "__v_isReadonly",
raw = "__v_raw",
reactive = "__v_reactive",
readonly = "__v_readonly"
}
export declare function readonly<T extends object>(target: T): Readonly<UnwrapNestedRefs<T>>;
export declare interface Ref<T = any> {
[isRefSymbol]: true;
/* Excluded from this release type: __v_isRef */
value: T;

@@ -90,0 +97,0 @@ }

@@ -40,2 +40,8 @@ // Make a map and return a function for checking if a key

const hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);
const def = (obj, key, value) => {
Object.defineProperty(obj, key, {
configurable: true,
value
});
};

@@ -248,2 +254,11 @@ const targetMap = new WeakMap();

return function get(target, key, receiver) {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
const targetIsArray = isArray(target);

@@ -548,12 +563,26 @@ if (targetIsArray && hasOwn(arrayInstrumentations, key)) {

});
function createInstrumentationGetter(instrumentations) {
return (target, key, receiver) => Reflect.get(hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
function createInstrumentationGetter(isReadonly) {
const instrumentations = isReadonly
? readonlyInstrumentations
: mutableInstrumentations;
return (target, key, receiver) => {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
return Reflect.get(hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
};
}
const mutableCollectionHandlers = {
get: createInstrumentationGetter(mutableInstrumentations)
get: createInstrumentationGetter(false)
};
const readonlyCollectionHandlers = {
get: createInstrumentationGetter(readonlyInstrumentations)
get: createInstrumentationGetter(true)
};

@@ -572,16 +601,7 @@ function checkIdentityKeys(target, has, key) {

// WeakMaps that store {raw <-> observed} pairs.
const rawToReactive = new WeakMap();
const reactiveToRaw = new WeakMap();
const rawToReadonly = new WeakMap();
const readonlyToRaw = new WeakMap();
// WeakSets for values that are marked readonly or non-reactive during
// observable creation.
const rawValues = new WeakSet();
const collectionTypes = new Set([Set, Map, WeakMap, WeakSet]);
const isObservableType = /*#__PURE__*/ makeMap('Object,Array,Map,Set,WeakMap,WeakSet');
const canObserve = (value) => {
return (!value._isVNode &&
return (!value.__v_skip &&
isObservableType(toRawType(value)) &&
!rawValues.has(value) &&
!Object.isFrozen(value));

@@ -591,6 +611,6 @@ };

// if trying to observe a readonly proxy, return the readonly version.
if (readonlyToRaw.has(target)) {
if (target && target.__v_isReadonly) {
return target;
}
return createReactiveObject(target, rawToReactive, reactiveToRaw, mutableHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers);
}

@@ -601,6 +621,6 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReactive(target) {
return createReactiveObject(target, rawToReactive, reactiveToRaw, shallowReactiveHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, shallowReactiveHandlers, mutableCollectionHandlers);
}
function readonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, readonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers);
}

@@ -612,5 +632,5 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReadonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, shallowReadonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, shallowReadonlyHandlers, readonlyCollectionHandlers);
}
function createReactiveObject(target, toProxy, toRaw, baseHandlers, collectionHandlers) {
function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers) {
if (!isObject(target)) {

@@ -622,11 +642,12 @@ {

}
// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {
return target;
}
// target already has corresponding Proxy
let observed = toProxy.get(target);
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
}
// target is already a Proxy
if (toRaw.has(target)) {
return target;
}
// only a whitelist of value types can be observed.

@@ -640,22 +661,22 @@ if (!canObserve(target)) {

observed = new Proxy(target, handlers);
toProxy.set(target, observed);
toRaw.set(observed, target);
def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);
return observed;
}
function isReactive(value) {
value = readonlyToRaw.get(value) || value;
return reactiveToRaw.has(value);
if (isReadonly(value)) {
return isReactive(value.__v_raw);
}
return !!(value && value.__v_isReactive);
}
function isReadonly(value) {
return readonlyToRaw.has(value);
return !!(value && value.__v_isReadonly);
}
function isProxy(value) {
return readonlyToRaw.has(value) || reactiveToRaw.has(value);
return isReactive(value) || isReadonly(value);
}
function toRaw(observed) {
observed = readonlyToRaw.get(observed) || observed;
return reactiveToRaw.get(observed) || observed;
return (observed && toRaw(observed.__v_raw)) || observed;
}
function markRaw(value) {
rawValues.add(value);
def(value, "__v_skip" /* skip */, true);
return value;

@@ -666,3 +687,3 @@ }

function isRef(r) {
return r ? r._isRef === true : false;
return r ? r.__v_isRef === true : false;
}

@@ -681,3 +702,3 @@ function ref(value) {

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -706,3 +727,3 @@ track(r, "get" /* GET */, 'value');

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -729,3 +750,3 @@ return get();

return {
_isRef: true,
__v_isRef: true,
get value() {

@@ -769,3 +790,3 @@ return object[key];

computed = {
_isRef: true,
__v_isRef: true,
// expose effect so computed can be stopped

@@ -772,0 +793,0 @@ effect: runner,

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

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

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

@@ -209,2 +209,11 @@ const targetMap = new WeakMap();

return function get(target, key, receiver) {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
const targetIsArray = isArray(target);

@@ -510,12 +519,26 @@ if (targetIsArray && hasOwn(arrayInstrumentations, key)) {

});
function createInstrumentationGetter(instrumentations) {
return (target, key, receiver) => Reflect.get(hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
function createInstrumentationGetter(isReadonly) {
const instrumentations = isReadonly
? readonlyInstrumentations
: mutableInstrumentations;
return (target, key, receiver) => {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
return Reflect.get(hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
};
}
const mutableCollectionHandlers = {
get: createInstrumentationGetter(mutableInstrumentations)
get: createInstrumentationGetter(false)
};
const readonlyCollectionHandlers = {
get: createInstrumentationGetter(readonlyInstrumentations)
get: createInstrumentationGetter(true)
};

@@ -534,16 +557,7 @@ function checkIdentityKeys(target, has, key) {

// WeakMaps that store {raw <-> observed} pairs.
const rawToReactive = new WeakMap();
const reactiveToRaw = new WeakMap();
const rawToReadonly = new WeakMap();
const readonlyToRaw = new WeakMap();
// WeakSets for values that are marked readonly or non-reactive during
// observable creation.
const rawValues = new WeakSet();
const collectionTypes = new Set([Set, Map, WeakMap, WeakSet]);
const isObservableType = /*#__PURE__*/ makeMap('Object,Array,Map,Set,WeakMap,WeakSet');
const canObserve = (value) => {
return (!value._isVNode &&
return (!value.__v_skip &&
isObservableType(toRawType(value)) &&
!rawValues.has(value) &&
!Object.isFrozen(value));

@@ -553,6 +567,6 @@ };

// if trying to observe a readonly proxy, return the readonly version.
if (readonlyToRaw.has(target)) {
if (target && target.__v_isReadonly) {
return target;
}
return createReactiveObject(target, rawToReactive, reactiveToRaw, mutableHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers);
}

@@ -563,6 +577,6 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReactive(target) {
return createReactiveObject(target, rawToReactive, reactiveToRaw, shallowReactiveHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, shallowReactiveHandlers, mutableCollectionHandlers);
}
function readonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, readonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers);
}

@@ -574,5 +588,5 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReadonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, shallowReadonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, shallowReadonlyHandlers, readonlyCollectionHandlers);
}
function createReactiveObject(target, toProxy, toRaw, baseHandlers, collectionHandlers) {
function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers) {
if (!isObject(target)) {

@@ -584,11 +598,12 @@ if ((process.env.NODE_ENV !== 'production')) {

}
// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {
return target;
}
// target already has corresponding Proxy
let observed = toProxy.get(target);
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
}
// target is already a Proxy
if (toRaw.has(target)) {
return target;
}
// only a whitelist of value types can be observed.

@@ -602,22 +617,22 @@ if (!canObserve(target)) {

observed = new Proxy(target, handlers);
toProxy.set(target, observed);
toRaw.set(observed, target);
def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);
return observed;
}
function isReactive(value) {
value = readonlyToRaw.get(value) || value;
return reactiveToRaw.has(value);
if (isReadonly(value)) {
return isReactive(value.__v_raw);
}
return !!(value && value.__v_isReactive);
}
function isReadonly(value) {
return readonlyToRaw.has(value);
return !!(value && value.__v_isReadonly);
}
function isProxy(value) {
return readonlyToRaw.has(value) || reactiveToRaw.has(value);
return isReactive(value) || isReadonly(value);
}
function toRaw(observed) {
observed = readonlyToRaw.get(observed) || observed;
return reactiveToRaw.get(observed) || observed;
return (observed && toRaw(observed.__v_raw)) || observed;
}
function markRaw(value) {
rawValues.add(value);
def(value, "__v_skip" /* skip */, true);
return value;

@@ -628,3 +643,3 @@ }

function isRef(r) {
return r ? r._isRef === true : false;
return r ? r.__v_isRef === true : false;
}

@@ -643,3 +658,3 @@ function ref(value) {

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -668,3 +683,3 @@ track(r, "get" /* GET */, 'value');

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -691,3 +706,3 @@ return get();

return {
_isRef: true,
__v_isRef: true,
get value() {

@@ -732,3 +747,3 @@ return object[key];

computed = {
_isRef: true,
__v_isRef: true,
// expose effect so computed can be stopped

@@ -735,0 +750,0 @@ effect: runner,

@@ -43,2 +43,8 @@ var VueReactivity = (function (exports) {

const hasChanged = (value, oldValue) => value !== oldValue && (value === value || oldValue === oldValue);
const def = (obj, key, value) => {
Object.defineProperty(obj, key, {
configurable: true,
value
});
};

@@ -251,2 +257,11 @@ const targetMap = new WeakMap();

return function get(target, key, receiver) {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
const targetIsArray = isArray(target);

@@ -551,12 +566,26 @@ if (targetIsArray && hasOwn(arrayInstrumentations, key)) {

});
function createInstrumentationGetter(instrumentations) {
return (target, key, receiver) => Reflect.get(hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
function createInstrumentationGetter(isReadonly) {
const instrumentations = isReadonly
? readonlyInstrumentations
: mutableInstrumentations;
return (target, key, receiver) => {
if (key === "__v_isReactive" /* isReactive */) {
return !isReadonly;
}
else if (key === "__v_isReadonly" /* isReadonly */) {
return isReadonly;
}
else if (key === "__v_raw" /* raw */) {
return target;
}
return Reflect.get(hasOwn(instrumentations, key) && key in target
? instrumentations
: target, key, receiver);
};
}
const mutableCollectionHandlers = {
get: createInstrumentationGetter(mutableInstrumentations)
get: createInstrumentationGetter(false)
};
const readonlyCollectionHandlers = {
get: createInstrumentationGetter(readonlyInstrumentations)
get: createInstrumentationGetter(true)
};

@@ -575,16 +604,7 @@ function checkIdentityKeys(target, has, key) {

// WeakMaps that store {raw <-> observed} pairs.
const rawToReactive = new WeakMap();
const reactiveToRaw = new WeakMap();
const rawToReadonly = new WeakMap();
const readonlyToRaw = new WeakMap();
// WeakSets for values that are marked readonly or non-reactive during
// observable creation.
const rawValues = new WeakSet();
const collectionTypes = new Set([Set, Map, WeakMap, WeakSet]);
const isObservableType = /*#__PURE__*/ makeMap('Object,Array,Map,Set,WeakMap,WeakSet');
const canObserve = (value) => {
return (!value._isVNode &&
return (!value.__v_skip &&
isObservableType(toRawType(value)) &&
!rawValues.has(value) &&
!Object.isFrozen(value));

@@ -594,6 +614,6 @@ };

// if trying to observe a readonly proxy, return the readonly version.
if (readonlyToRaw.has(target)) {
if (target && target.__v_isReadonly) {
return target;
}
return createReactiveObject(target, rawToReactive, reactiveToRaw, mutableHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, mutableHandlers, mutableCollectionHandlers);
}

@@ -604,6 +624,6 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReactive(target) {
return createReactiveObject(target, rawToReactive, reactiveToRaw, shallowReactiveHandlers, mutableCollectionHandlers);
return createReactiveObject(target, false, shallowReactiveHandlers, mutableCollectionHandlers);
}
function readonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, readonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, readonlyHandlers, readonlyCollectionHandlers);
}

@@ -615,5 +635,5 @@ // Return a reactive-copy of the original object, where only the root level

function shallowReadonly(target) {
return createReactiveObject(target, rawToReadonly, readonlyToRaw, shallowReadonlyHandlers, readonlyCollectionHandlers);
return createReactiveObject(target, true, shallowReadonlyHandlers, readonlyCollectionHandlers);
}
function createReactiveObject(target, toProxy, toRaw, baseHandlers, collectionHandlers) {
function createReactiveObject(target, isReadonly, baseHandlers, collectionHandlers) {
if (!isObject(target)) {

@@ -625,11 +645,12 @@ {

}
// target is already a Proxy, return it.
// excpetion: calling readonly() on a reactive object
if (target.__v_raw && !(isReadonly && target.__v_isReactive)) {
return target;
}
// target already has corresponding Proxy
let observed = toProxy.get(target);
let observed = isReadonly ? target.__v_readonly : target.__v_reactive;
if (observed !== void 0) {
return observed;
}
// target is already a Proxy
if (toRaw.has(target)) {
return target;
}
// only a whitelist of value types can be observed.

@@ -643,22 +664,22 @@ if (!canObserve(target)) {

observed = new Proxy(target, handlers);
toProxy.set(target, observed);
toRaw.set(observed, target);
def(target, isReadonly ? "__v_readonly" /* readonly */ : "__v_reactive" /* reactive */, observed);
return observed;
}
function isReactive(value) {
value = readonlyToRaw.get(value) || value;
return reactiveToRaw.has(value);
if (isReadonly(value)) {
return isReactive(value.__v_raw);
}
return !!(value && value.__v_isReactive);
}
function isReadonly(value) {
return readonlyToRaw.has(value);
return !!(value && value.__v_isReadonly);
}
function isProxy(value) {
return readonlyToRaw.has(value) || reactiveToRaw.has(value);
return isReactive(value) || isReadonly(value);
}
function toRaw(observed) {
observed = readonlyToRaw.get(observed) || observed;
return reactiveToRaw.get(observed) || observed;
return (observed && toRaw(observed.__v_raw)) || observed;
}
function markRaw(value) {
rawValues.add(value);
def(value, "__v_skip" /* skip */, true);
return value;

@@ -669,3 +690,3 @@ }

function isRef(r) {
return r ? r._isRef === true : false;
return r ? r.__v_isRef === true : false;
}

@@ -684,3 +705,3 @@ function ref(value) {

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -709,3 +730,3 @@ track(r, "get" /* GET */, 'value');

const r = {
_isRef: true,
__v_isRef: true,
get value() {

@@ -732,3 +753,3 @@ return get();

return {
_isRef: true,
__v_isRef: true,
get value() {

@@ -772,3 +793,3 @@ return object[key];

computed = {
_isRef: true,
__v_isRef: true,
// expose effect so computed can be stopped

@@ -775,0 +796,0 @@ effect: runner,

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

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

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