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

@analys/table-lookup

Package Overview
Dependencies
Maintainers
1
Versions
75
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@analys/table-lookup - npm Package Compare versions

Comparing version 0.1.0 to 0.1.1

60

dist/index.cjs.js

@@ -5,12 +5,56 @@ 'use strict';

/**
* @param {Object<str,function(*):boolean>} filterObject
* @return {Table|TableObject} - mutated 'this' {head, rows}
*/
const tableLookup = function (filterObject) {
for (let field in filterObject) if (filterObject.hasOwnProperty(field)) tableFindOnce.call(this, field, filterObject[field]);
var enumLookups = require('@analys/enum-lookups');
var tableIndex = require('@analys/table-index');
var columnGetter = require('@vect/column-getter');
var entriesInit = require('@vect/entries-init');
var objectInit = require('@vect/object-init');
return this;
const lookup = function (valueToFind, keyField, valueField) {
const table = this,
{
head,
rows
} = table,
ki = head.indexOf(keyField),
vi = head.indexOf(valueField);
if (ki < 0 || vi < 0) return null;
const row = rows.find(row => row[ki] === valueToFind);
return row ? row[vi] : null;
};
const lookupMany = function (valuesToFind, keyField, valueField) {
const table = this,
{
head,
rows
} = table,
ki = head.indexOf(keyField),
vi = head.indexOf(valueField);
if (ki < 0 || vi < 0) return valuesToFind.map(() => null);
return valuesToFind.map(v => {
const row = rows.find(row => row[ki] === v);
return row ? row[vi] : null;
});
};
exports.tableLookup = tableLookup;
const lookupTable = function (keyField, valueField, objectify = true) {
const table = this,
getColumn = columnGetter.Columns(table.rows);
const [ki, vi] = [tableIndex.coin.call(table, keyField), tableIndex.coin.call(table, valueField)];
return ki >= 0 && vi >= 0 ? objectify ? objectInit.wind(getColumn(ki), getColumn(vi)) : entriesInit.wind(getColumn(ki), getColumn(vi)) : objectify ? {} : [];
};
const lookupCached = function (valueToFind, keyField, valueField) {
const table = this;
let ds, dict;
if (!(ds = table[enumLookups.VLKP]) || !(dict = ds.dict) || ds.key !== keyField || ds.value !== valueField) table[enumLookups.VLKP] = {
dict: dict = lookupTable.call(table, keyField, valueField),
key: keyField,
value: valueField
};
return dict[valueToFind];
};
exports.lookup = lookup;
exports.lookupCached = lookupCached;
exports.lookupMany = lookupMany;
exports.lookupTable = lookupTable;

@@ -1,11 +0,52 @@

/**
* @param {Object<str,function(*):boolean>} filterObject
* @return {Table|TableObject} - mutated 'this' {head, rows}
*/
const tableLookup = function (filterObject) {
for (let field in filterObject) if (filterObject.hasOwnProperty(field)) tableFindOnce.call(this, field, filterObject[field]);
import { VLKP } from '@analys/enum-lookups';
import { coin } from '@analys/table-index';
import { Columns } from '@vect/column-getter';
import { wind as wind$1 } from '@vect/entries-init';
import { wind } from '@vect/object-init';
return this;
const lookup = function (valueToFind, keyField, valueField) {
const table = this,
{
head,
rows
} = table,
ki = head.indexOf(keyField),
vi = head.indexOf(valueField);
if (ki < 0 || vi < 0) return null;
const row = rows.find(row => row[ki] === valueToFind);
return row ? row[vi] : null;
};
const lookupMany = function (valuesToFind, keyField, valueField) {
const table = this,
{
head,
rows
} = table,
ki = head.indexOf(keyField),
vi = head.indexOf(valueField);
if (ki < 0 || vi < 0) return valuesToFind.map(() => null);
return valuesToFind.map(v => {
const row = rows.find(row => row[ki] === v);
return row ? row[vi] : null;
});
};
export { tableLookup };
const lookupTable = function (keyField, valueField, objectify = true) {
const table = this,
getColumn = Columns(table.rows);
const [ki, vi] = [coin.call(table, keyField), coin.call(table, valueField)];
return ki >= 0 && vi >= 0 ? objectify ? wind(getColumn(ki), getColumn(vi)) : wind$1(getColumn(ki), getColumn(vi)) : objectify ? {} : [];
};
const lookupCached = function (valueToFind, keyField, valueField) {
const table = this;
let ds, dict;
if (!(ds = table[VLKP]) || !(dict = ds.dict) || ds.key !== keyField || ds.value !== valueField) table[VLKP] = {
dict: dict = lookupTable.call(table, keyField, valueField),
key: keyField,
value: valueField
};
return dict[valueToFind];
};
export { lookup, lookupCached, lookupMany, lookupTable };
{
"name": "@analys/table-lookup",
"version": "0.1.0",
"version": "0.1.1",
"description": "A cross-table-lookup analytics tool",

@@ -17,2 +17,9 @@ "main": "dist/index.cjs.js",

},
"dependencies": {
"@analys/enum-lookups": "^0.1.1",
"@analys/table-index": "^0.1.1",
"@vect/column-getter": "^0.1.16",
"@vect/entries-init": "^0.1.16",
"@vect/object-init": "^0.1.15"
},
"repository": {

@@ -38,3 +45,3 @@ "type": "git",

"homepage": "https://github.com/hoyeungw/analys#readme",
"gitHead": "6f24464c290f9c9da5910091de91bf6a711f84c4"
"gitHead": "a28212513a341fb1e4caf2d8881c84bb1cf73679"
}
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