Security News
New Python Packaging Proposal Aims to Solve Phantom Dependency Problem with SBOMs
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
join-by-keys
Advanced tools
Join an array of objects on a common key or keys.
var join = require('join-by-keys')
var result
, data
data = [
{
'i': 0
'j': 0
'v': 1
}
, {
'i': 0
'j': 0
'v': 2
}
, {
'i': 1
'j': 0
'v': 3
}
, {
'i': 1
'j': 1
'v': 4
}
, {
'i': 1
'j': 1
'v': 5
}
]
join(data, ['i', 'j'])
// returns:
// [
// {i: 0, j: 0, v: [1, 2]}
// , {i: 1, j: 0, v: [3]}
// , {i: 1, j: 1, v: [4, 5]}
// ]
The module exports a function:
function(data, keys) -> joinedData
data
is assumed to be an array of JavaScript objects to join.keys
is an array of strings representing the names of attributes whose
values should be used to join the datajoinedData
is an array of JavaScript objects: The join of the data on the
specified keys. It is computed as follows:
data
with the same value in each of the keys
slots.keys
, on the new object, set the key to the value of the first matching object.
(It doesn't matter which you choose, since they are all the same
anyway).keys
, in the returned object, set key to an array
holding all the values for the given key found on all of the matching
objects.This project is licensed under the Apache License, Version 2.0. See LICENSE for the full license.
FAQs
Join an array of objects on a common key or keys.
We found that join-by-keys demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.
Security News
Socket CEO Feross Aboukhadijeh discusses open source security challenges, including zero-day attacks and supply chain risks, on the Cyber Security Council podcast.
Security News
Research
Socket researchers uncover how threat actors weaponize Out-of-Band Application Security Testing (OAST) techniques across the npm, PyPI, and RubyGems ecosystems to exfiltrate sensitive data.