Socket
Socket
Sign inDemoInstall

@nx-js/observer-util

Package Overview
Dependencies
Maintainers
1
Versions
20
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@nx-js/observer-util - npm Package Compare versions

Comparing version 4.2.0 to 4.2.1

56

dist/cjs.es5.js

@@ -186,2 +186,31 @@ 'use strict';

function findObservable(obj) {
var observableObj = rawToProxy.get(obj);
if (hasRunningReaction() && typeof obj === 'object' && obj !== null) {
if (observableObj) {
return observableObj;
}
return observable(obj);
}
return observableObj || obj;
}
function patchIterator(iterator, isEntries) {
var originalNext = iterator.next;
iterator.next = function () {
var ref = originalNext.call(iterator);
var done = ref.done;
var value = ref.value;
if (!done) {
if (isEntries) {
value[1] = findObservable(value[1]);
} else {
value = findObservable(value);
}
}
return { done: done, value: value };
};
return iterator;
}
var instrumentations = {

@@ -198,3 +227,3 @@ has: function has(key) {

registerRunningReactionForOperation({ target: target, key: key, type: 'get' });
return proto.get.apply(target, arguments);
return findObservable(proto.get.apply(target, arguments));
},

@@ -250,7 +279,19 @@ add: function add(key) {

},
forEach: function forEach() {
forEach: function forEach(cb) {
var args = [], len = arguments.length - 1;
while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
var target = proxyToRaw.get(this);
var proto = Reflect.getPrototypeOf(this);
registerRunningReactionForOperation({ target: target, type: 'iterate' });
return proto.forEach.apply(target, arguments);
// swap out the raw values with their observable pairs
// before passing them to the callback
var wrappedCb = function (value) {
var rest = [], len = arguments.length - 1;
while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];
return cb.apply(void 0, [ findObservable(value) ].concat( rest ));
};
return (ref = proto.forEach).call.apply(ref, [ target, wrappedCb ].concat( args ));
var ref;
},

@@ -267,3 +308,4 @@ keys: function keys() {

registerRunningReactionForOperation({ target: target, type: 'iterate' });
return proto.values.apply(target, arguments);
var iterator = proto.values.apply(target, arguments);
return patchIterator(iterator, false);
},

@@ -274,3 +316,4 @@ entries: function entries() {

registerRunningReactionForOperation({ target: target, type: 'iterate' });
return proto.entries.apply(target, arguments);
var iterator = proto.entries.apply(target, arguments);
return patchIterator(iterator, true);
},

@@ -288,3 +331,4 @@ get size() {

registerRunningReactionForOperation({ target: target, type: 'iterate' });
return proto[Symbol.iterator].apply(target, arguments);
var iterator = proto[Symbol.iterator].apply(target, arguments);
return patchIterator(iterator, target instanceof Map);
};

@@ -291,0 +335,0 @@

@@ -176,2 +176,29 @@ 'use strict';

function findObservable(obj) {
const observableObj = rawToProxy.get(obj);
if (hasRunningReaction() && typeof obj === 'object' && obj !== null) {
if (observableObj) {
return observableObj;
}
return observable(obj);
}
return observableObj || obj;
}
function patchIterator(iterator, isEntries) {
const originalNext = iterator.next;
iterator.next = () => {
let { done, value } = originalNext.call(iterator);
if (!done) {
if (isEntries) {
value[1] = findObservable(value[1]);
} else {
value = findObservable(value);
}
}
return { done, value };
};
return iterator;
}
const instrumentations = {

@@ -188,3 +215,3 @@ has(key) {

registerRunningReactionForOperation({ target, key, type: 'get' });
return proto.get.apply(target, arguments);
return findObservable(proto.get.apply(target, arguments));
},

@@ -240,7 +267,10 @@ add(key) {

},
forEach() {
forEach(cb, ...args) {
const target = proxyToRaw.get(this);
const proto = Reflect.getPrototypeOf(this);
registerRunningReactionForOperation({ target, type: 'iterate' });
return proto.forEach.apply(target, arguments);
// swap out the raw values with their observable pairs
// before passing them to the callback
const wrappedCb = (value, ...rest) => cb(findObservable(value), ...rest);
return proto.forEach.call(target, wrappedCb, ...args);
},

@@ -257,3 +287,4 @@ keys() {

registerRunningReactionForOperation({ target, type: 'iterate' });
return proto.values.apply(target, arguments);
const iterator = proto.values.apply(target, arguments);
return patchIterator(iterator, false);
},

@@ -264,3 +295,4 @@ entries() {

registerRunningReactionForOperation({ target, type: 'iterate' });
return proto.entries.apply(target, arguments);
const iterator = proto.entries.apply(target, arguments);
return patchIterator(iterator, true);
},

@@ -271,3 +303,4 @@ [Symbol.iterator]() {

registerRunningReactionForOperation({ target, type: 'iterate' });
return proto[Symbol.iterator].apply(target, arguments);
const iterator = proto[Symbol.iterator].apply(target, arguments);
return patchIterator(iterator, target instanceof Map);
},

@@ -274,0 +307,0 @@ get size() {

@@ -182,2 +182,31 @@ var connectionStore = new WeakMap();

function findObservable(obj) {
var observableObj = rawToProxy.get(obj);
if (hasRunningReaction() && typeof obj === 'object' && obj !== null) {
if (observableObj) {
return observableObj;
}
return observable(obj);
}
return observableObj || obj;
}
function patchIterator(iterator, isEntries) {
var originalNext = iterator.next;
iterator.next = function () {
var ref = originalNext.call(iterator);
var done = ref.done;
var value = ref.value;
if (!done) {
if (isEntries) {
value[1] = findObservable(value[1]);
} else {
value = findObservable(value);
}
}
return { done: done, value: value };
};
return iterator;
}
var instrumentations = {

@@ -194,3 +223,3 @@ has: function has(key) {

registerRunningReactionForOperation({ target: target, key: key, type: 'get' });
return proto.get.apply(target, arguments);
return findObservable(proto.get.apply(target, arguments));
},

@@ -246,7 +275,19 @@ add: function add(key) {

},
forEach: function forEach() {
forEach: function forEach(cb) {
var args = [], len = arguments.length - 1;
while ( len-- > 0 ) args[ len ] = arguments[ len + 1 ];
var target = proxyToRaw.get(this);
var proto = Reflect.getPrototypeOf(this);
registerRunningReactionForOperation({ target: target, type: 'iterate' });
return proto.forEach.apply(target, arguments);
// swap out the raw values with their observable pairs
// before passing them to the callback
var wrappedCb = function (value) {
var rest = [], len = arguments.length - 1;
while ( len-- > 0 ) rest[ len ] = arguments[ len + 1 ];
return cb.apply(void 0, [ findObservable(value) ].concat( rest ));
};
return (ref = proto.forEach).call.apply(ref, [ target, wrappedCb ].concat( args ));
var ref;
},

@@ -263,3 +304,4 @@ keys: function keys() {

registerRunningReactionForOperation({ target: target, type: 'iterate' });
return proto.values.apply(target, arguments);
var iterator = proto.values.apply(target, arguments);
return patchIterator(iterator, false);
},

@@ -270,3 +312,4 @@ entries: function entries() {

registerRunningReactionForOperation({ target: target, type: 'iterate' });
return proto.entries.apply(target, arguments);
var iterator = proto.entries.apply(target, arguments);
return patchIterator(iterator, true);
},

@@ -284,3 +327,4 @@ get size() {

registerRunningReactionForOperation({ target: target, type: 'iterate' });
return proto[Symbol.iterator].apply(target, arguments);
var iterator = proto[Symbol.iterator].apply(target, arguments);
return patchIterator(iterator, target instanceof Map);
};

@@ -287,0 +331,0 @@

@@ -172,2 +172,29 @@ const connectionStore = new WeakMap();

function findObservable(obj) {
const observableObj = rawToProxy.get(obj);
if (hasRunningReaction() && typeof obj === 'object' && obj !== null) {
if (observableObj) {
return observableObj;
}
return observable(obj);
}
return observableObj || obj;
}
function patchIterator(iterator, isEntries) {
const originalNext = iterator.next;
iterator.next = () => {
let { done, value } = originalNext.call(iterator);
if (!done) {
if (isEntries) {
value[1] = findObservable(value[1]);
} else {
value = findObservable(value);
}
}
return { done, value };
};
return iterator;
}
const instrumentations = {

@@ -184,3 +211,3 @@ has(key) {

registerRunningReactionForOperation({ target, key, type: 'get' });
return proto.get.apply(target, arguments);
return findObservable(proto.get.apply(target, arguments));
},

@@ -236,7 +263,10 @@ add(key) {

},
forEach() {
forEach(cb, ...args) {
const target = proxyToRaw.get(this);
const proto = Reflect.getPrototypeOf(this);
registerRunningReactionForOperation({ target, type: 'iterate' });
return proto.forEach.apply(target, arguments);
// swap out the raw values with their observable pairs
// before passing them to the callback
const wrappedCb = (value, ...rest) => cb(findObservable(value), ...rest);
return proto.forEach.call(target, wrappedCb, ...args);
},

@@ -253,3 +283,4 @@ keys() {

registerRunningReactionForOperation({ target, type: 'iterate' });
return proto.values.apply(target, arguments);
const iterator = proto.values.apply(target, arguments);
return patchIterator(iterator, false);
},

@@ -260,3 +291,4 @@ entries() {

registerRunningReactionForOperation({ target, type: 'iterate' });
return proto.entries.apply(target, arguments);
const iterator = proto.entries.apply(target, arguments);
return patchIterator(iterator, true);
},

@@ -267,3 +299,4 @@ [Symbol.iterator]() {

registerRunningReactionForOperation({ target, type: 'iterate' });
return proto[Symbol.iterator].apply(target, arguments);
const iterator = proto[Symbol.iterator].apply(target, arguments);
return patchIterator(iterator, target instanceof Map);
},

@@ -270,0 +303,0 @@ get size() {

2

package.json
{
"name": "@nx-js/observer-util",
"version": "4.2.0",
"version": "4.2.1",
"description": "Simple transparent reactivity with 100% language coverage. Made with ES6 Proxies.",

@@ -5,0 +5,0 @@ "main": "dist/cjs.es5.js",

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc