@@ -67,19 +67,19 @@ var { Source } = require('graphql'); // CommonJS
67
67
</li >
68
68
</ul >
69
69
70
- ** 访问方法 **
70
+ ** Visitor **
71
71
72
72
<ul class =" apiIndex " >
73
73
<li >
74
74
<a href="#visit">
75
75
<pre>function visit</pre>
76
- 一个通用的访问方法 ,用于遍历一个已解析的 GraphQL AST。
76
+ 一个通用的 visitor ,用于遍历一个已解析的 GraphQL AST。
77
77
</a>
78
78
</li >
79
79
<li >
80
80
<a href="#break">
81
81
<pre>var BREAK</pre>
82
- 用于允许中断访问方法的 token。
82
+ 用于允许中断 visitor 的 token。
83
83
</a>
84
84
</li >
85
85
</ul >
@@ -175,17 +175,17 @@ export function parseValue(
175
175
176
176
这是一个枚举类型,用于描述不同类型的 AST 节点。
177
177
178
- ## 访问方法
178
+ ## Visitor
179
179
180
180
### visit
181
181
182
182
```js
183
183
function visit(root, visitor, keyMap)
184
184
```
185
185
186
- `visit()` 将使用深度优先遍历一个 AST,在遍历当中对每个节点调用访问方法的 `enter` 函数,并在访问完当前节点及其子节点后调用 `leave` 函数。
186
+ `visit()` 将使用深度优先遍历一个 AST,在遍历当中对每个节点调用 visitor 的 `enter` 函数,并在访问完当前节点及其子节点后调用 `leave` 函数。
187
187
188
- 通过从 `enter` 和 `leave` 函数里返回不同的值,访问方法的行为可以进行更改 ,包括跳过 AST 的一个子树(返回 `false`)、编辑这个 AST(返回一个值或者返回 `null` 来删除这个节点)、或者返回 `BREAK` 停止整个遍历。
188
+ 通过从 `enter` 和 `leave` 函数里返回不同的值,visitor 的行为可以进行更改 ,包括跳过 AST 的一个子树(返回 `false`)、编辑这个 AST(返回一个值或者返回 `null` 来删除这个节点)、或者返回 `BREAK` 停止整个遍历。
189
189
190
190
当使用 `visit()` 编辑一个 AST 的时候,原始的 AST 不会被修改,`visit` 函数会返回一个经过修改的新版本 AST。
191
191
@@ -210,9 +210,9 @@ var editedAST = visit(ast, {
210
210
});
211
211
` ` `
212
212
213
- 访问方法可以通过提供和节点类型同名的函数来替代 ` enter ()` 和 ` leave ()` 函数,或者通过名称的关键字来使用 ` enter` 或 ` leave` 访问方法,这就造成访问方法的 API 有四种形式:
213
+ Visitor 可以通过提供和节点类型同名的函数来替代 ` enter ()` 和 ` leave ()` 函数,或者通过名称的关键字来使用 visitor 中的 ` enter` 或 ` leave` ,这就造成 visitor 的 API 有四种形式:
214
214
215
- 1) 当进入特定类型的节点时,触发同名访问方法 。
215
+ 1) 当进入特定类型的节点时,触发同名的 visitor 。
216
216
217
217
` ` ` js
218
218
visit (ast, {
@@ -222,7 +222,7 @@ visit(ast, {
222
222
})
223
223
` ` `
224
224
225
- 2) 在进入或离开特定类型的节点时,触发同名访问方法 。
225
+ 2) 在进入或离开特定类型的节点时,触发同名的 visitor 。
226
226
227
227
` ` ` js
228
228
visit (ast, {
@@ -237,7 +237,7 @@ visit(ast, {
237
237
})
238
238
` ` `
239
239
240
- 3) 在进入或离开任意节点时,触发通用的访问方法 。
240
+ 3) 在进入或离开任意节点时,触发通用的 visitor 。
241
241
242
242
` ` ` js
243
243
visit (ast, {
@@ -250,7 +250,7 @@ visit(ast, {
250
250
})
251
251
` ` `
252
252
253
- 4) 为进入或离开特定类型的节点创建平行的访问方法 。
253
+ 4) 为进入或离开特定类型的节点创建平行的 visitor 。
254
254
255
255
` ` ` js
256
256
visit (ast, {
0 commit comments