New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

count-objects

Package Overview
Dependencies
Maintainers
1
Versions
24
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

count-objects - npm Package Compare versions

Comparing version
1.3.2
to
1.3.3
+0
-0
LICENSE

@@ -0,0 +0,0 @@ MIT License

+5
-2
{
"name": "count-objects",
"version": "1.3.2",
"version": "1.3.3",
"description": "Counts objects for each value",
"publishConfig": {
"registry": "https://registry.npmjs.org"
},
"main": "src/index.js",

@@ -14,3 +17,3 @@ "scripts": {

"chai": "^4.2.0",
"mocha": "^8.2.1",
"mocha": "^10.2.0",
"nodemon": "^2.0.6",

@@ -17,0 +20,0 @@ "prettier": "2.2.1"

@@ -0,0 +0,0 @@ # count-objects

@@ -0,0 +0,0 @@ const uniqueKey = Math.random().toString(36).split(".")[1];

@@ -44,3 +44,3 @@ const {

const add = (union, obj, options = {}) => {
const { uniqueKey = uniqueKeyName, uniqueKeyArr } = options || {};
const { uniqueKey = uniqueKeyName, uniqueKeyArr } = options;

@@ -143,3 +143,3 @@ if (!Object.keys(obj).length) {

const intersectFilters = (union, filters, options) => {
const intersectFilters = (union, filters) => {
if (!filters.length) {

@@ -179,3 +179,2 @@ return { intersection: null, countIntersections: null };

const prettyKey = keyValArr.join(pDelimiter);
const count = flatCountArr[0][key];
const counts = flatCountArr.reduce((acc, flatCount, idx) => {

@@ -182,0 +181,0 @@ const countName = idx ? `unique-key-${idx}` : "count";

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

const { delimiter, uniqueKey, allObjects } = require("./constants");
const {

@@ -3,0 +2,0 @@ add,

@@ -0,0 +0,0 @@ const { expect } = require("chai");

const { CountObjects } = require("./index");
const objects = [
{
fruit: {
olive: "Arbequina",
apple: "Lady Alice",
orange: "Valencia",
},
},
{
fruit: {
olive: "Kalamata",
apple: "Lady Alice",
},
},
];
const co = new CountObjects(objects);
const countObject = co.count();
console.log(JSON.stringify(countObject, undefined, 2));
console.log(countObject);
const countTable = co.table();
console.log(JSON.stringify(countTable, undefined, 2));
console.table(countTable);
co.add([
{
fruit: {
orange: "Valencia",
apple: "Lady Alice",
},
},
]);
console.table(co.table());
// filter objects with 'Valencia' oranges
co.addFilter(["fruit", "orange", "Valencia"]);
console.log("filter objects with 'Valencia' oranges");
console.table(co.table());
console.log("filter objects with 'Arbequina' olives");
co.addFilter(["fruit", "olive", "Arbequina"]);
console.table(co.table());
console.log(co.getFilters());
const flowers = [
{
flowers: {
color: "black",
type: "Tulip",
height: 12,
},
},
{
flowers: {
color: "black",
type: "Tulip",
height: 10,
},
},
{
flowers: {
color: "white",
type: "Tulip",
height: 10,
},
},
{
flowers: {
type: "Tulip",
height: 13,
},
},
];
const countUniqueValues = new CountObjects(flowers, {
uniqueKeys: [
["flowers", "color"],
["flowers", "height"],
],
});
// const table = uniqueColorHeight.table();
console.table(countUniqueValues.table());
const clone = co.clone();
console.log(clone === co);
co.clearFilters();
console.log(co.getFilters());
// []
const filter = ["fruit", "orange", "Valencia"];
co.addFilter(["a", 1]);
co.addFilter(["b", 2]);
co.addFilter(["c", 3]);
console.log(co.getFilters());
co.removeFilter(["b", 2]);
console.log(co.getFilters());
const objects2 = [
{ a: 1, b: 2 },
{ a: 1, b: 2, c: 3 },
{ a: 1, b: 2, c: 3, d: 4 },
{ a: 1, b: 2, c: 3, d: 4, e: 5 },
{ a: 1 },
];
const co3 = new CountObjects(objects2);
co3.addFilter(["a", "1"]);
co3.addFilter(["b", "2"]);
co3.addFilter(["c", "3"]);
co3.addFilter(["d", "4"]);
co3.addFilter(["e", "5"]);
console.log(co3.filtersCount());
co3.clearFilters();
co3.addFilter(["b", "2"]);
co3.addFilter(["d", "4"]);
co3.addFilter(["c", "3"]);
co3.addFilter(["e", "5"]);
co3.addFilter(["a", "1"]);
console.log(co3.filtersCount());