Package Exports
- nlcst-search
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (nlcst-search) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
nlcst-search

Search for patterns in an NLCST tree.
Installation
npm:
npm install nlcst-search
nlcst-search is also available as an AMD, CommonJS, and globals module, uncompressed and compressed.
Usage
var search = require('nlcst-search');
var toString = require('nlcst-to-string');
var tree = {
'type': 'SentenceNode',
'children': [
{
'type': 'WordNode',
'children': [
{'type': 'TextNode', 'value': 'Don'},
{'type': 'PunctuationNode', 'value': '’'},
{'type': 'TextNode', 'value': 't'}
]
},
{'type': 'WhiteSpaceNode', 'value': ' '},
{
'type': 'WordNode',
'children': [
{'type': 'TextNode', 'value': 'do'}
]
},
{'type': 'WhiteSpaceNode', 'value': ' '},
{
'type': 'WordNode',
'children': [
{'type': 'TextNode', 'value': 'Block'},
{'type': 'PunctuationNode', 'value': '-'},
{'type': 'TextNode', 'value': 'level'}
]
}
]
};
search(tree, ['dont'], function (nodes) {
console.log(toString(nodes));
});
// Don’t
search(tree, ['do blocklevel'], function (nodes) {
console.log(toString(nodes));
});
// do Block-level
API
search(node, patterns, handler[, allowApostrophes | options])
Search for patterns in an NLCST tree.
Parameters
node
(Node
) — Tree to search in;patterns
(Array.<string>
orObject
) — Patterns to search for. If anObject
, uses its keys. Each pattern is a space-delimited list of words, where each word is normalized to remove casing, apostrophes, and dashes. Spaces in a pattern mean zero or more white space nodes in the tree.handler
(Function
) — Patterns to search for. If anObject
, uses its keys. Each pattern is a space-delimited list of words, where each word is normalized to remove casing, apostrophes, and dashes;allowApostrophes
(boolean
, default:false
) — Do not strip apostrophes (but normalize them).options
(Object
) — Configuration:allowApostrophes
(boolean
, default:false
) — SeeallowApostrophes
above;allowLiterals
(boolean
, default:false
) — Include literal phrases.
Throws: Error
— When not given node
or patterns
.
function handler(nodes, index, parent, pattern)
Handler invoked when a match is found.
Parameters
nodes
(Array.<Node>
) — List of siblings which matchpattern
;index
(number
) — Position at which the match starts inparent
;parent
(Node
) — Parent node ofnodes
;pattern
(string
) — The matched pattern.