Name: ah-prune
Owner: NodeSource
Description: Prune specific types of async hook resources from a collected map.
Created: 2017-01-20 19:38:02.0
Updated: 2017-02-01 21:17:25.0
Pushed: 2017-03-09 11:20:13.0
Homepage: https://nodesource.github.io/ah-prune
Size: 1182
Language: JavaScript
GitHub Committers
User | Most Recent Commit | # Commits |
---|
Other Committers
User | Most Recent Commit | # Commits |
---|
Prune specific types of async hook resources from a collected map.
t prune = require('ah-prune')
emoving all TickObject
t noticks = prune({ activities, prune: new Set([ 'TickObject' ]) })
emoving everything but TCPWRAP
t onlytcpwrap = prune({ activities, keep: new Set([ 'TCPWRAP' ]) })
emoving everything but a specific id via a custom keep function
t onlytcp1 = prune({
activities
keepFn(type, activity) { return activity.id === 'tcp:1' }
npm install ah-prune
Prunes the supplied async hook activities according to prune
or
keep
option.
It repoints the triggerIds in the process so that the graph is
preserved.
Only either prune
or keep
maybe supplied at once.
The activities
passed are not modified, instead a clone is made before
the pruning step, unless copy
is set to false
Parameters
$0
Object options to configure the pruning step$0.activities
Map<Object> the activities to be pruned$0.prune
Set<String> if supplied all activities of types supplied
in the Set are removed$0.keep
Set<String> if supplied all activities of types NOT
supplied in the Set are removed$0.keepFn
function function (type, activity)
if supplied will be
used as the predicate function to determine if an activity is removed.
Return true
to keep the activity, false
to remove it$0.copy
Boolean if set, the activities are cloned before
modification, otherwise they are modified in place, default: true
Returns Map<Object> the pruned activities
MIT