2016-07-12 17:31:45 -07:00
# `Node`
`Node` is not a publicly accessible module, but instead an interface that [`Document` ](./document.md ), [`Block` ](./block.md ) and [`Inline` ](./inline.md ) all implement.
- [Properties ](#properties )
- [`nodes` ](#nodes )
- [Computed Properties ](#computed-properties )
- [`kind` ](#kind )
- [`length` ](#length )
- [`text` ](#text )
2016-07-24 18:03:36 -07:00
- [Methods ](#methods )
2016-07-12 17:31:45 -07:00
- [`filterDescendants` ](#filterdescendants )
- [`findDescendant` ](#finddescendant )
- [`getBlocksAtRange` ](#getblockatrange )
- [`getBlocks` ](#getblocks )
- [`getCharactersAtRange` ](#getcharactersatrange )
- [`getChild` ](#getchild )
- [`getClosestBlock` ](#getclosestblock )
- [`getClosestInline` ](#getclosestinline )
- [`getClosest` ](#getclosest )
- [`getDepth` ](#getdepth )
- [`getDescendant` ](#getdescendant )
- [`getFragmentAtRange` ](#getfragmentatrange )
- [`getInlinesAtRange` ](#getinlinesatrange )
- [`getMarksAtRange` ](#getmarksatrange )
- [`getNextBlock` ](#getnextblock )
- [`getNextSibling` ](#getnextsibling )
- [`getNextText` ](#getnexttext )
- [`getParent` ](#parent )
- [`getPreviousBlock` ](#getpreviousblock )
- [`getPreviousSibling` ](#getprevioussibling )
- [`getPreviousText` ](#getprevioustext )
- [`getTextAtOffset` ](#gettextatoffset )
- [`getTextsAtRange` ](#gettextsatrange )
- [`hasChild` ](#haschild )
- [`hasDescendant` ](#hasdescendant )
## Properties
### `nodes`
`Immutable.List`
A list of child nodes. Defaults to a list with a single text node child.
## Computed Properties
### `kind`
`String`
An immutable string value of `'block'` for easily separating this node from [`Inline` ](./inline.md ) or [`Text` ](./text.md ) nodes.
### `length`
`Number`
The sum of the lengths of all of the descendant [`Text` ](./text.md ) nodes of this node.
### `text`
`String`
A concatenated string of all of the descendant [`Text` ](./text.md ) nodes of this node.
2016-07-24 18:03:36 -07:00
## Methods
2016-07-12 17:31:45 -07:00
### `filterDescendants`
`filterDescendants(iterator: Function) => List`
Deeply filter the descendant nodes of a node by `iterator` .
### `findDescendant`
`findDescendant(iterator: Function) => Node || Void`
Deeply find a descendant node by `iterator` .
### `getBlocksAtRange`
`getBlocksAtRange(range: Selection) => List`
Get all of the bottom-most [`Block` ](./block.md ) nodes in a `range` .
### `getBlocks`
`getBlocks() => List`
Get all of the bottom-most [`Block` ](./block.md ) node descendants.
### `getCharactersAtRange`
`getCharactersAtRange(range: Selection) => List`
Get a list of all of the [`Charaters` ](./character.md ) in a `range` .
### `getChild`
2016-07-23 12:20:40 +07:00
`getChild(key: String || Node) => Node || Void`
2016-07-12 17:31:45 -07:00
Get a child by `key` .
### `getClosestBlock`
`getClosestBlock(key: String || Node) => Node || Void`
Get the closest [`Block` ](./block.md ) node to a descendant node by `key` .
### `getClosestInline`
`getClosestInline(key: String || Node) => Node || Void`
Get the closest [`Inline` ](./inline.md ) node to a descendant node by `key` .
### `getClosest`
`getClosest(key: String || Node, match: Function) => Node || Void`
Get the closest parent node of a descendant node by `key` that matches a `match` function.
### `getDepth`
`getDepth(key: String || Node) => Number`
Get the depth of a descendant node by `key` .
### `getDescendant`
`getDescendant(key: String || Node) => Node || Void`
Get a descendant node by `key` .
### `getFragmentAtRange`
`getFragmentAtRange(range: Selection) => Document`
Get a document fragment of the nodes in a `range` .
### `getInlinesAtRange`
`getInlinesAtRange(range: Selection) => List`
Get all of the top-most [`Inline` ](./inline.md ) nodes in a `range` .
### `getMarksAtRange`
`getMarksAtRange(range: Selection) => Set`
Get a set of all of the marks in a `range` .
### `getNextBlock`
`getNextBlock(key: String || Node) => Node || Void`
Get the next, bottom-most [`Block` ](./block.md ) node after a descendant by `key` .
### `getNextSibling`
`getNextSibling(key: String || Node) => Node || Void`
Get the next sibling of a descendant by `key` .
### `getNextText`
`getNextText(key: String || Node) => Node || Void`
Get the next [`Text` ](./text.md ) node after a descendant by `key` .
### `getParent`
`getParent(key: String || Node) => Node || Void`
Get the parent node of a descendant by `key` .
### `getPreviousBlock`
`getPreviousBlock(key: String || Node) => Node || Void`
Get the previous, bottom-most [`Block` ](./block.md ) node before a descendant by `key` .
### `getPreviousSibling`
`getPreviousSibling(key: String || Node) => Node || Void`
Get the previous sibling of a descendant by `key` .
### `getPreviousText`
`getPreviousText(key: String || Node) => Node || Void`
Get the previous [`Text` ](./text.md ) node before a descendant by `key` .
### `getTextAtOffset`
`getTextAtOffset(offset: Number) => Text || Void`
Get the [`Text` ](./text.md ) node at an `offset` .
### `getTextsAtRange`
`getTextsAtRange(range: Selection) => List`
Get all of the [`Text` ](./text.md ) nodes in a `range` .
### `hasChild`
`hasChild(key: String || Node) => Boolean`
Check whether the node has a child node by `key` .
### `hasDescendant`
`hasDescendant(key: String || Node) => Boolean`
Check whether the node has a descendant node by `key` .