![Maven Central Adds Sigstore Signature Validation](https://cdn.sanity.io/images/cgdhsj6q/production/7da3bc8a946cfb5df15d7fcf49767faedc72b483-1024x1024.webp?w=400&fit=max&auto=format)
Security News
Maven Central Adds Sigstore Signature Validation
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
pivot-table-js
Advanced tools
A lightweight module that takes an array of objects and produces an array of objects back based on one or more aggregate function per column. Emulating excel pivot tables
A lightweight module that takes an array of objects and produces an array of objects back based on one or more aggregate function per column. Emulating excel pivot tables.
pivot-table-js
can calculate different aggregate functions on sets of values. The results can be optionally renamed.
Using npm:
$ npm install pivot-table-js
Using yarn:
$ yarn add pivot-table-js
import { Pivot } from 'pivot-table-js'
const data = [
{
domain: 'duckduckgo.com',
path: '/search',
traffic: 15000,
trustFlow: 30
},
{
domain: 'duckduckgo.com',
path: '/images',
traffic: 8000,
trustFlow: 20
},
{
domain: 'google.com',
path: '/search',
traffic: 20000,
trustFlow: 42
},
{
domain: 'google.com',
path: '/images',
traffic: 10000,
trustFlow: 38
}
]
const index = 'domain'
const aggFunc = {
domain: 'count',
traffic: ['sum', 'mean'],
trustFlow: 'mean'
}
const rename = ['Domain', 'Frequency', 'Traffic Sum', 'Traffic Average', 'TF Average']
const pivotTable = Pivot(data, index, aggFunc, rename)
console.log(pivotTable)
Will output:
[{
Domain: 'duckduckgo.com',
'Frequency': 2,
'Traffic Sum': 23000,
'Traffic Average': 11500,
'TF Average': 25
},
{
Domain: 'google.com',
'Frequency': 2,
'Traffic Sum': 30000,
'Traffic Average': 15000,
'TF Average': 40
},
{
Domain: 'Grand Total',
'Frequency': 4,
'Traffic Sum': 53000,
'Traffic Average': 13250,
'TF Average': 32.5
}]
Domain | Frequency | Traffic Sum | Traffic Average | Average TF |
---|---|---|---|---|
duckduckgo.com | 2 | 23000 | 11500 | 25 |
google.com | 2 | 30000 | 15000 | 40 |
Grand Total | 4 | 53000 | 13250 | 32.5 |
New feature allows for multiple funcions on the same column, just enclose the type of funcions in an array
const aggFunc = {
domain: 'count',
traffic: ['sum', 'mean'],
trustFlow: 'mean'
}
Function | Definition |
---|---|
count | Calculates the count of all values in a set |
counta | Calculates the count of all values in a set including empty strings |
count-unique | Calculates the count of all unique values in a set |
sum | Calculates the sum of values. |
mean | Calculates the average in a set of values — not rounded |
median | Calculates the median in a set of values — not rounded |
mode | Calculates the mode in a set of values |
min | Minimum gets the minimum value in a set of values |
max | Maximun gets the maximum value in a set of values |
data
<Array<Object>>
Prepared Array of objects to pivot against.index
<string>
The index row to use as pivot.values
<Object>
Aggregate functions
[column: <string>]: <Array<string>> | string
Use array for more than one option on the same columnrename
<Array<string>>
Optionally rename the output columns, the order is important.returns
: <Array<Object>>
FAQs
A lightweight module that takes an array of objects and produces an array of objects back based on one or more aggregate function per column. Emulating excel pivot tables
We found that pivot-table-js demonstrated a healthy version release cadence and project activity because the last version was released less than 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
Maven Central now validates Sigstore signatures, making it easier for developers to verify the provenance of Java packages.
Security News
CISOs are racing to adopt AI for cybersecurity, but hurdles in budgets and governance may leave some falling behind in the fight against cyber threats.
Research
Security News
Socket researchers uncovered a backdoored typosquat of BoltDB in the Go ecosystem, exploiting Go Module Proxy caching to persist undetected for years.