New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@blazingedge/update

Package Overview
Dependencies
Maintainers
4
Versions
10
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@blazingedge/update - npm Package Compare versions

Comparing version 1.1.3 to 1.1.4

69

lib/index.js

@@ -19,7 +19,3 @@ 'use strict';

var isProps = function isProps(z) {
if (!z || (typeof z === 'undefined' ? 'undefined' : _typeof(z)) !== 'object') {
return false;
}
var proto = protoOf(z);
return !!proto && !protoOf(proto);
return (typeof z === 'undefined' ? 'undefined' : _typeof(z)) === 'object' && z !== null && !protoOf(protoOf(z) || {});
};

@@ -33,3 +29,3 @@

function change(key, val, data, original, dataIsArray, removeLater) {
function applyChange(key, val, data, original, dataIsArray, removeLater) {
if (val === data[key] || val === REMOVE && !dataIsArray && !(key in data)) {

@@ -76,3 +72,3 @@ return data;

for (var i = 0; i < n; ++i) {
ret = change(i, f(array[i]), ret, array, true, true);
ret = applyChange(i, f(array[i]), ret, array, true, true);
}

@@ -91,3 +87,3 @@

var ret = keys.reduce(function (acc, key) {
return change(key, f(data[key]), acc, data, dataIsArray, dataIsArray);
return applyChange(key, f(data[key]), acc, data, dataIsArray, dataIsArray);
}, data);

@@ -102,3 +98,3 @@

var map = exports.map = function map(data, f) {
var map = function map(data, f) {
return isArray(data) ? mapArray(data, f) : mapProps(data, Object.keys(data), f);

@@ -113,9 +109,8 @@ };

var dataIsArray = isArray(data);
var ret = data;
var dataIsArray = isArray(ret);
for (var key in props) {
var val = patch(ret[key], props[key]);
ret = change(key, val, ret, data, dataIsArray, dataIsArray);
var val = patch(data[key], props[key]);
ret = applyChange(key, val, ret, data, dataIsArray, dataIsArray);
}

@@ -132,3 +127,3 @@

var ALL = exports.ALL = function ALL() {
var ALL = function ALL() {
return true;

@@ -143,9 +138,10 @@ };

var PropsMatcher = function PropsMatcher(keys, props) {
function PropsMatcher(keys, props) {
var check = function check(key) {
return props[key] === this[key];
};
return function (data) {
return !!data && keys.every(function (key) {
return props[key] === data[key];
});
return !!data && keys.every(check, data);
};
};
}

@@ -190,8 +186,6 @@ function toPathPart(part) {

function updatePath(data, pathParts, pathIndex, update) {
if (pathIndex === pathParts.length) {
return patch(data, update);
}
function updatePath(data, parts, index, change) {
if (index === parts.length) return patch(data, change);
var part = pathParts[pathIndex];
var part = parts[index++];
var partIsArray = isArray(part);

@@ -202,22 +196,17 @@

} else if (partIsArray || isFunc(part)) {
if (!data && !partIsArray) return data;
var f = pathIndex + 1 === pathParts.length && isFunc(update) ? update : function (it) {
return updatePath(it, pathParts, pathIndex + 1, update);
var f = index === parts.length && isFunc(change) ? change : function (it) {
return updatePath(it, parts, index, change);
};
if (part === ALL) {
return map(data, f);
} else if (partIsArray) {
return mapProps(data, part, f);
} else {
// part is a function
return map(data, function (v) {
return part(v) ? f(v) : v;
});
}
if (partIsArray) return mapProps(data, part, f);
if (!data) return data;
return part === ALL ? map(data, f) : map(data, function (v) {
return part(v) ? f(v) : v;
});
}
var val = updatePath(data[part], pathParts, pathIndex + 1, update);
return change(part, val, data, data, isArray(data), false);
var val = updatePath(data[part], parts, index, change);
return applyChange(part, val, data, data, isArray(data), false);
}

@@ -224,0 +213,0 @@

{
"name": "@blazingedge/update",
"version": "1.1.3",
"version": "1.1.4",
"description": "Utility for immutable deep updates of objects.",

@@ -5,0 +5,0 @@ "main": "lib",

@@ -6,9 +6,4 @@ const { isArray } = Array

const isProps = (z) => {
if (!z || typeof z !== 'object') {
return false
}
const proto = protoOf(z)
return !!proto && !protoOf(proto)
}
const isProps = (z) => typeof z === 'object'
&& z !== null && !protoOf(protoOf(z) || {})

@@ -19,3 +14,3 @@ //---------------------------------------------------------

function change (key, val, data, original, dataIsArray, removeLater) {
function applyChange (key, val, data, original, dataIsArray, removeLater) {
if (val === data[key] || val === REMOVE && !dataIsArray && !(key in data)) {

@@ -64,3 +59,3 @@ return data

for (let i = 0; i < n; ++i) {
ret = change(i, f(array[i]), ret, array, true, true)
ret = applyChange(i, f(array[i]), ret, array, true, true)
}

@@ -79,3 +74,3 @@

const ret = keys.reduce((acc, key) => {
return change(key, f(data[key]), acc, data, dataIsArray, dataIsArray)
return applyChange(key, f(data[key]), acc, data, dataIsArray, dataIsArray)
}, data)

@@ -90,3 +85,6 @@

export const map = (data, f) => isArray(data) ? mapArray(data, f) : mapProps(data, Object.keys(data), f)
const map = (data, f) =>
isArray(data)
? mapArray(data, f)
: mapProps(data, Object.keys(data), f)

@@ -99,9 +97,8 @@ //---------------------------------------------------------

const dataIsArray = isArray(data)
let ret = data
const dataIsArray = isArray(ret)
for (const key in props) {
const val = patch(ret[key], props[key])
ret = change(key, val, ret, data, dataIsArray, dataIsArray)
const val = patch(data[key], props[key])
ret = applyChange(key, val, ret, data, dataIsArray, dataIsArray)
}

@@ -118,8 +115,9 @@

export const ALL = () => true
const ALL = () => true
const PropMatcher = (key, value) => data => !!data && data[key] === value
const PropsMatcher = (keys, props) => (data) => {
return !!data && keys.every(key => props[key] === data[key])
function PropsMatcher (keys, props) {
const check = function (key) { return props[key] === this[key] }
return data => !!data && keys.every(check, data)
}

@@ -162,8 +160,6 @@

function updatePath (data, pathParts, pathIndex, update) {
if (pathIndex === pathParts.length) {
return patch(data, update)
}
function updatePath (data, parts, index, change) {
if (index === parts.length) return patch(data, change)
let part = pathParts[pathIndex]
let part = parts[index++]
const partIsArray = isArray(part)

@@ -175,21 +171,17 @@

} else if (partIsArray || isFunc(part)) {
if (!data && !partIsArray) return data
const f = (index === parts.length && isFunc(change))
? change
: it => updatePath(it, parts, index, change)
const f = (pathIndex + 1 === pathParts.length && isFunc(update))
? update
: it => updatePath(it, pathParts, pathIndex + 1, update)
if (partIsArray) return mapProps(data, part, f)
if (part === ALL) {
return map(data, f)
if (!data) return data
} else if (partIsArray) {
return mapProps(data, part, f)
} else { // part is a function
return map(data, (v) => part(v) ? f(v) : v)
}
return part === ALL
? map(data, f)
: map(data, (v) => part(v) ? f(v) : v)
}
const val = updatePath(data[part], pathParts, pathIndex + 1, update)
return change(part, val, data, data, isArray(data), false)
const val = updatePath(data[part], parts, index, change)
return applyChange(part, val, data, data, isArray(data), false)
}

@@ -196,0 +188,0 @@

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