非单式用法
无符号 用于检查节点是否通过测试.
目录
这是什么?
这个软件包是一个小的功能,可以检查一个节点是某个节点.
我什么时候用这个?
如果您发现自己重复检查什么的代码, 请使用这个小工具 节点是.
一个类似的包裹, hast-util-is-element,工作在匆忙中
要素.
对于更先进的测试, unist-util-select 可用于
以匹配 CSS 选择器.
安装
这个软件包是 仅限无害环境管理。 。 。 . 在Node.js(第16版+)中,安装为 无数字 :
npm install unist-util-is
在德诺与 esm.sh数字 :
import {is} from 'https://esm.sh/unist-util-is@6'
在浏览器中 esm.sh数字 :
<script type="module">
import {is} from 'https://esm.sh/unist-util-is@6?bundle'
</script>
使用
import {is} from 'unist-util-is'
const node = {type: 'strong'}
const parent = {type: 'paragraph', children: [node]}
is() // => false
is({children: []}) // => false
is(node) // => true
is(node, 'strong') // => true
is(node, 'emphasis') // => false
is(node, node) // => true
is(parent, {type: 'paragraph'}) // => true
is(parent, {type: 'strong'}) // => false
is(node, test) // => false
is(node, test, 4, parent) // => false
is(node, test, 5, parent) // => true
function test(node, n) {
return n === 5
}
API 密码
此软件包导出标识符 convert 财务报告和审定财务报表
is。 。 。 .
没有默认导出 .
is(node[, test[, index, parent[, context]]])
检查是否 node 是一个 Node 以及它是否通过 给定的测试.
参数
node(单位:千美元)unknown,可选) 有事情要查 典型的Nodetest(单位:千美元)Test,可选) - 特定要素的测试index(单位:千美元)number,可选) - 节点在母节点的地位parent(单位:千美元)Node,可选) - 节点的家长context(单位:千美元)unknown,可选) - 上下文对象(this打电话test与
回返
是否为 node 是一个 Node 并且通过测试(boolean) (中文(简体) ).
掷出
当错误时 test, (中文(简体) ), index,或 parent 给出.
当 node 不是一个节点.
convert(test)
从测试中生成支票 .
如果您要测试许多节点, 例如创建一个节点时, 有用 用于通过兼容的测试.
创建的函数要快一点, 因为它只期望有效的输入 :
(单位:千美元) node, (中文(简体) ), index,以及 parent。 。 。 .
参数
test(单位:千美元)Test,可选) - 特定节点的测试
回返
支票(Check) (中文(简体) ).
Check
选中任意值为节点( TypeScript 类型) .
参数
this(单位:千美元)unknown,可选) - 上下文对象(this打电话test与node(单位:千美元)unknown(中文(简体) ) - 任何东西(典型的节点)index(单位:千美元)number,可选) - 节点在母节点的地位parent(单位:千美元)Node,可选) - 节点的家长
回返
这是否是一个节点和通过一个测试(boolean) (中文(简体) ).
Test
检查任意节点( TypeScript 类型) .
类型
type Test =
| Array<Record<string, unknown> | TestFunction | string>
| Record<string, unknown>
| TestFunction
| string
| null
| undefined
检查给定的东西是一个节点,然后:
- 何时
string,检查节点是否有该标签名称 - 何时
function,参见TestFunction - 何时
object,检查测试中的所有密钥都在节点中,并且它们有 (严格)等值 - 何时
Array,检查是否有一个子测试通过
TestFunction
检查节点是否通过测试(TypeScript类型).
参数
node(单位:千美元)Node(中文(简体) ) 一个节点index(单位:千美元)number或者说undefined(中文(简体) ) - 节点在母节点的地位parent(单位:千美元)Node或者说undefined(中文(简体) ) - 节点的家长
回返
此节点是否通过测试( W)boolean,可选).
实例
实例 convert
import {u} from 'unist-builder'
import {convert} from 'unist-util-is'
const test = convert('leaf')
const tree = u('tree', [
u('node', [u('leaf', '1')]),
u('leaf', '2'),
u('node', [u('leaf', '3'), u('leaf', '4')]),
u('leaf', '5')
])
const leafs = tree.children.filter(function (child, index) {
return test(child, index, tree)
})
console.log(leafs)
仪:
[{type: 'leaf', value: '2'}, {type: 'leaf', value: '5'}]
类型
此软件包已全部输入 类型脚本。 。 。 .
出口其他类型 Check, (中文(简体) ),
Test, (中文(简体) ),
TestFunction。 。 。 .
兼容性
由统一集体管理的项目与维持的项目兼容 (原始内容存档于2018-10-21). Executive of Node.js.
当我们剪下新的主要版本时,我们放弃了对未维护版本的支持
节点.
这意味着我们试图保持目前的释放线, unist-util-is@^6, (中文(简体) ),
与 Node.js 16相兼容.
相关
unist-util-find-after在另一个节点之后找到一个节点unist-util-find-before在另一个节点之前找到节点unist-util-find-all-after——在另一个节点后找到所有节点unist-util-find-all-before在另一个节点之前找到所有节点unist-util-find-all-between——在两个节点之间找到所有节点unist-util-filter——创建有节点的新树,通过检查unist-util-remove——从树上去掉节点
贡献
见 contributing.md 内 syntax-tree/.github 页:1
开始的方法.
见 support.md 为了寻求帮助.
这个项目有一个 行为守则。 。 。 . 通过与这个寄存器,组织或社区的互动,你同意 遵守它的规定.