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
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 inpatterns
(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 treehandler
(Function
) — Handler invoked when a match is foundallowApostrophes
(boolean
, default:false
) — Configuration for nlcst-normalize)options
(Object
) — Configuration:allowApostrophes
(boolean
, default:false
) — Configuration for nlcst-normalize)allowDashes
(boolean
, default:false
) — Configuration for nlcst-normalize)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