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
nlcst utility to search for patterns in a tree.
Install
npm:
npm install nlcst-search
Use
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 a tree.
Throws
Error
— When not given node
or patterns
.
Parameters
node
patterns
Patterns to search for (Array.<string>
or Object
).
If an Object
, uses its keys as patterns.
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.
Instead of a word, it’s also possible to use a wildcard symbol (*
, an
asterisk), that matches any word in a pattern (alpha * charlie
).
handler
Handler invoked when a match is found (Function
).
allowApostrophes
Treated as options.allowApostrophes
.
options.allowApostrophes
Passed to nlcst-normalize
(boolean
, default: false
).
options.allowDashes
Passed to nlcst-normalize
(boolean
, default: false
).
options.allowLiterals
Include literal phrases (boolean
, default: false
).
function handler(nodes, index, parent, pattern)
Handler invoked when a match is found.
Parameters
nodes
List of siblings that match pattern
(Array.<Node>
).
index
Index where the match starts in parent
(number
).
parent
pattern
The matched pattern (string
).
Contribute
See contributing.md
in syntax-tree/.github
for ways to get
started.
See support.md
for ways to get help.
This project has a code of conduct. By interacting with this repository, organization, or community you agree to abide by its terms.