Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork4
utility to search for patterns in an nlcst tree
License
syntax-tree/nlcst-search
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
nlcst utility to search for phrases in a tree.
This utility can search for phrases (words and phrases) in trees.
This package is a tiny utility that helps when you’re searching for wordsand phrases.
This package isESM only.In Node.js (version 16+), install withnpm:
npm install nlcst-search
In Deno withesm.sh:
import{search}from'https://esm.sh/nlcst-search@4'
In browsers withesm.sh:
<scripttype="module">import{search}from'https://esm.sh/nlcst-search@4?bundle'</script>
import{search}from'nlcst-search'import{toString}from'nlcst-to-string'consttree={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`
This package exports the identifiersearch.There is no default export.
Search for phrases in a tree.
Each phrase is a space-separated list of words, where each word will benormalized to remove casing, apostrophes, and dashes.Spaces in a pattern mean one or more whitespace nodes in the tree.Instead of a word with letters, it’s also possible to use a wildcard symbol(*, an asterisk) which will match any word in a pattern (alpha * charlie).
tree(Node)— tree to searchphrases(Array<string>)— phrases to search forhandler(Handler)— handle a matchoptions(Options)— configuration
Nothing (undefined).
Handle a match (TypeScript type).
nodes(Array<Node>)— matchindex(number)— index of first node ofnodesinparentparent(Node)— parent ofnodesphrase(string)— the phrase that matched
Nothing (undefined).
Configuration (TypeScript type).
allowApostrophes(boolean, default:false)— passed tonlcst-normalizeallowDashes(boolean, default:false)— passed tonlcst-normalizeallowLiterals(boolean, default:false)— includeliteral phrases
This package is fully typed withTypeScript.It exports the additional typesHandler andOptions.
Projects maintained by the unified collective are compatible with maintainedversions of Node.js.
When we cut a new major release, we drop support for unmaintained versions ofNode.This means we try to keep the current release line,nlcst-search@^4,compatible with Node.js 16.
nlcst-normalize— normalize a word for easier comparisonnlcst-is-literal— check whether a node is meant literally
Seecontributing.md insyntax-tree/.github forways to get started.Seesupport.md for ways to get help.
This project has acode of conduct.By interacting with this repository, organization, or community you agree toabide by its terms.
About
utility to search for patterns in an nlcst tree
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.
Contributors3
Uh oh!
There was an error while loading.Please reload this page.