@types/traverse
- Version 0.6.37
- Published
- 9.79 kB
- No dependencies
- MIT license
Install
npm i @types/traverse
yarn add @types/traverse
pnpm add @types/traverse
Overview
TypeScript definitions for traverse
Index
Functions
Interfaces
Functions
function clone
clone: <T>(obj: T) => T;
Create a deep clone of the object.
function forEach
forEach: (obj: any, cb: (this: TraverseContext, v: any) => void) => any;
Execute
fn
for each node in the object but unlike.map()
, whenthis.update()
is called it updates the object in-place.
function get
get: (obj: any, path: string[]) => any;
Get the element at the array
path
.
function has
has: (obj: any, path: string[]) => boolean;
Return whether the element at the array
path
exists.
function map
map: (obj: any, cb: (this: TraverseContext, v: any) => void) => any;
Execute
fn
for each node in the object and return a new object with the results of the walk. To update nodes in the result usethis.update(value)
.
function nodes
nodes: (obj: any) => any[];
Return an
Array
of every node in the object.
function paths
paths: (obj: any) => string[][];
Return an
Array
of every possible non-cyclic path in the object. Paths areArray
s of string keys.
function reduce
reduce: ( obj: any, cb: (this: TraverseContext, acc: any, v: any) => void, init?: any) => any;
For each node in the object, perform a [left-fold](http://en.wikipedia.org/wiki/Fold_(higher-order_function)) with the return value of
fn(acc, node)
.If
init
isn't specified,init
is set to the root object for the first step and the root element is skipped.
function set
set: (obj: any, path: string[], value: any) => any;
Set the element at the array
path
tovalue
.
function traverse
traverse: typeof traverse;
Interfaces
interface Traverse
interface Traverse<T> {}
method clone
clone: () => T;
Create a deep clone of the object.
method forEach
forEach: (cb: (this: TraverseContext, v: any) => void) => any;
Execute
fn
for each node in the object but unlike.map()
, whenthis.update()
is called it updates the object in-place.
method get
get: (path: string[]) => any;
Get the element at the array
path
.
method has
has: (path: string[]) => boolean;
Return whether the element at the array
path
exists.
method map
map: (cb: (this: TraverseContext, v: any) => void) => any;
Execute
fn
for each node in the object and return a new object with the results of the walk. To update nodes in the result usethis.update(value)
.
method nodes
nodes: () => any[];
Return an
Array
of every node in the object.
method paths
paths: () => string[][];
Return an
Array
of every possible non-cyclic path in the object. Paths areArray
s of string keys.
method reduce
reduce: ( cb: (this: TraverseContext, acc: any, v: any) => void, init?: any) => any;
For each node in the object, perform a [left-fold](http://en.wikipedia.org/wiki/Fold_(higher-order_function)) with the return value of
fn(acc, node)
.If
init
isn't specified,init
is set to the root object for the first step and the root element is skipped.
method set
set: (path: string[], value: any) => any;
Set the element at the array
path
tovalue
.
interface TraverseContext
interface TraverseContext {}
property circular
circular: TraverseContext | undefined;
If the node equals one of its parents, the
circular
attribute is set to the context of that parent and the traversal progresses no deeper.
property isLeaf
isLeaf: boolean;
Whether or not the present node is a leaf node (has no children)
property isRoot
isRoot: boolean;
Whether the present node is the root node
property key
key: string | undefined;
The name of the key of the present node in its parent. This is
undefined
for the root node.
property keys
keys: string[] | null;
Object keys of the node.
property level
level: number;
Depth of the node within the traversal
property node
node: any;
The present node on the recursive walk
property notLeaf
notLeaf: boolean;
Whether or not the present node is not a leaf node (has children)
property notRoot
notRoot: boolean;
Whether the present node is not the root node
property parent
parent: TraverseContext | undefined;
The context of the node's parent. This is
undefined
for the root node.
property parents
parents: TraverseContext[];
The contexts of the node's parents.
property path
path: string[];
An array of string keys from the root to the present node
method after
after: (callback: (this: TraverseContext, value: any) => void) => void;
Call this function after all of the children are traversed.
method before
before: (callback: (this: TraverseContext, value: any) => void) => void;
Call this function before all of the children are traversed. You can assign into
this.keys
here to traverse in a custom order.
method block
block: () => void;
Prevents traversing descendents of the current node.
method delete
delete: (stopHere?: boolean) => void;
Delete the current element from its parent in the output. Calls
delete
even on Arrays.
method post
post: (callback: (this: TraverseContext, child: any) => void) => void;
Call this function after each of the children are traversed.
method pre
pre: (callback: (this: TraverseContext, child: any, key: any) => void) => void;
Call this function before each of the children are traversed.
method remove
remove: (stopHere?: boolean) => void;
Remove the current element from the output. If the node is in an Array it will be spliced off. Otherwise it will be deleted from its parent.
method stop
stop: () => void;
Stops traversal entirely.
method update
update: (value: any, stopHere?: boolean) => void;
Set a new value for the present node.
All the elements in
value
will be recursively traversed unlessstopHere
is true (false by default).
interface TraverseOptions
interface TraverseOptions {}
property immutable
immutable?: boolean;
If true, does not alter the original object
property includeSymbols
includeSymbols?: boolean;
If false, removes all symbols from traversed objects
false
Package Files (1)
Dependencies (0)
No dependencies.
Dev Dependencies (0)
No dev dependencies.
Peer Dependencies (0)
No peer dependencies.
Badge
To add a badge like this oneto your package's README, use the codes available below.
You may also use Shields.io to create a custom badge linking to https://www.jsdocs.io/package/@types/traverse
.
- Markdown[![jsDocs.io](https://img.shields.io/badge/jsDocs.io-reference-blue)](https://www.jsdocs.io/package/@types/traverse)
- HTML<a href="https://www.jsdocs.io/package/@types/traverse"><img src="https://img.shields.io/badge/jsDocs.io-reference-blue" alt="jsDocs.io"></a>
- Updated .
Package analyzed in 2148 ms. - Missing or incorrect documentation? Open an issue for this package.