protobufjs 6.11.2 → 6.11.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/bin/pbjs +0 -0
  3. package/bin/pbts +0 -0
  4. package/package-lock.json +7870 -0
  5. package/package.json +3 -3
  6. package/scripts/changelog.js +150 -0
  7. package/src/util.js +3 -0
  8. package/cli/node_modules/.package-lock.json +0 -256
  9. package/cli/node_modules/acorn/CHANGELOG.md +0 -620
  10. package/cli/node_modules/acorn/LICENSE +0 -21
  11. package/cli/node_modules/acorn/README.md +0 -269
  12. package/cli/node_modules/acorn/bin/acorn +0 -4
  13. package/cli/node_modules/acorn/dist/acorn.d.ts +0 -209
  14. package/cli/node_modules/acorn/dist/acorn.js +0 -5186
  15. package/cli/node_modules/acorn/dist/acorn.js.map +0 -1
  16. package/cli/node_modules/acorn/dist/acorn.mjs +0 -5155
  17. package/cli/node_modules/acorn/dist/acorn.mjs.d.ts +0 -2
  18. package/cli/node_modules/acorn/dist/acorn.mjs.map +0 -1
  19. package/cli/node_modules/acorn/dist/bin.js +0 -64
  20. package/cli/node_modules/acorn/package.json +0 -35
  21. package/cli/node_modules/acorn-jsx/LICENSE +0 -19
  22. package/cli/node_modules/acorn-jsx/README.md +0 -40
  23. package/cli/node_modules/acorn-jsx/index.js +0 -488
  24. package/cli/node_modules/acorn-jsx/package.json +0 -27
  25. package/cli/node_modules/acorn-jsx/xhtml.js +0 -255
  26. package/cli/node_modules/balanced-match/.npmignore +0 -5
  27. package/cli/node_modules/balanced-match/LICENSE.md +0 -21
  28. package/cli/node_modules/balanced-match/README.md +0 -91
  29. package/cli/node_modules/balanced-match/index.js +0 -59
  30. package/cli/node_modules/balanced-match/package.json +0 -49
  31. package/cli/node_modules/brace-expansion/LICENSE +0 -21
  32. package/cli/node_modules/brace-expansion/README.md +0 -129
  33. package/cli/node_modules/brace-expansion/index.js +0 -201
  34. package/cli/node_modules/brace-expansion/package.json +0 -47
  35. package/cli/node_modules/concat-map/.travis.yml +0 -4
  36. package/cli/node_modules/concat-map/LICENSE +0 -18
  37. package/cli/node_modules/concat-map/README.markdown +0 -62
  38. package/cli/node_modules/concat-map/example/map.js +0 -6
  39. package/cli/node_modules/concat-map/index.js +0 -13
  40. package/cli/node_modules/concat-map/package.json +0 -43
  41. package/cli/node_modules/concat-map/test/map.js +0 -39
  42. package/cli/node_modules/deep-is/.npmignore +0 -1
  43. package/cli/node_modules/deep-is/.travis.yml +0 -6
  44. package/cli/node_modules/deep-is/LICENSE +0 -22
  45. package/cli/node_modules/deep-is/README.markdown +0 -70
  46. package/cli/node_modules/deep-is/example/cmp.js +0 -11
  47. package/cli/node_modules/deep-is/index.js +0 -102
  48. package/cli/node_modules/deep-is/package.json +0 -61
  49. package/cli/node_modules/deep-is/test/NaN.js +0 -16
  50. package/cli/node_modules/deep-is/test/cmp.js +0 -23
  51. package/cli/node_modules/deep-is/test/neg-vs-pos-0.js +0 -15
  52. package/cli/node_modules/escodegen/LICENSE.BSD +0 -21
  53. package/cli/node_modules/escodegen/README.md +0 -84
  54. package/cli/node_modules/escodegen/bin/escodegen.js +0 -77
  55. package/cli/node_modules/escodegen/bin/esgenerate.js +0 -64
  56. package/cli/node_modules/escodegen/escodegen.js +0 -2647
  57. package/cli/node_modules/escodegen/package.json +0 -62
  58. package/cli/node_modules/eslint-visitor-keys/CHANGELOG.md +0 -25
  59. package/cli/node_modules/eslint-visitor-keys/LICENSE +0 -201
  60. package/cli/node_modules/eslint-visitor-keys/README.md +0 -98
  61. package/cli/node_modules/eslint-visitor-keys/lib/index.js +0 -81
  62. package/cli/node_modules/eslint-visitor-keys/lib/visitor-keys.json +0 -284
  63. package/cli/node_modules/eslint-visitor-keys/package.json +0 -40
  64. package/cli/node_modules/espree/CHANGELOG.md +0 -509
  65. package/cli/node_modules/espree/LICENSE +0 -25
  66. package/cli/node_modules/espree/README.md +0 -233
  67. package/cli/node_modules/espree/espree.js +0 -177
  68. package/cli/node_modules/espree/lib/ast-node-types.js +0 -96
  69. package/cli/node_modules/espree/lib/espree.js +0 -286
  70. package/cli/node_modules/espree/lib/features.js +0 -29
  71. package/cli/node_modules/espree/lib/options.js +0 -106
  72. package/cli/node_modules/espree/lib/token-translator.js +0 -263
  73. package/cli/node_modules/espree/lib/visitor-keys.js +0 -123
  74. package/cli/node_modules/espree/package.json +0 -64
  75. package/cli/node_modules/esprima/ChangeLog +0 -235
  76. package/cli/node_modules/esprima/LICENSE.BSD +0 -21
  77. package/cli/node_modules/esprima/README.md +0 -46
  78. package/cli/node_modules/esprima/bin/esparse.js +0 -139
  79. package/cli/node_modules/esprima/bin/esvalidate.js +0 -236
  80. package/cli/node_modules/esprima/dist/esprima.js +0 -6709
  81. package/cli/node_modules/esprima/package.json +0 -112
  82. package/cli/node_modules/estraverse/.jshintrc +0 -16
  83. package/cli/node_modules/estraverse/LICENSE.BSD +0 -19
  84. package/cli/node_modules/estraverse/README.md +0 -153
  85. package/cli/node_modules/estraverse/estraverse.js +0 -801
  86. package/cli/node_modules/estraverse/gulpfile.js +0 -70
  87. package/cli/node_modules/estraverse/package.json +0 -40
  88. package/cli/node_modules/esutils/LICENSE.BSD +0 -19
  89. package/cli/node_modules/esutils/README.md +0 -174
  90. package/cli/node_modules/esutils/lib/ast.js +0 -144
  91. package/cli/node_modules/esutils/lib/code.js +0 -135
  92. package/cli/node_modules/esutils/lib/keyword.js +0 -165
  93. package/cli/node_modules/esutils/lib/utils.js +0 -33
  94. package/cli/node_modules/esutils/package.json +0 -44
  95. package/cli/node_modules/fast-levenshtein/LICENSE.md +0 -25
  96. package/cli/node_modules/fast-levenshtein/README.md +0 -104
  97. package/cli/node_modules/fast-levenshtein/levenshtein.js +0 -136
  98. package/cli/node_modules/fast-levenshtein/package.json +0 -39
  99. package/cli/node_modules/fs.realpath/LICENSE +0 -43
  100. package/cli/node_modules/fs.realpath/README.md +0 -33
  101. package/cli/node_modules/fs.realpath/index.js +0 -66
  102. package/cli/node_modules/fs.realpath/old.js +0 -303
  103. package/cli/node_modules/fs.realpath/package.json +0 -26
  104. package/cli/node_modules/glob/LICENSE +0 -21
  105. package/cli/node_modules/glob/README.md +0 -375
  106. package/cli/node_modules/glob/changelog.md +0 -67
  107. package/cli/node_modules/glob/common.js +0 -240
  108. package/cli/node_modules/glob/glob.js +0 -790
  109. package/cli/node_modules/glob/package.json +0 -46
  110. package/cli/node_modules/glob/sync.js +0 -486
  111. package/cli/node_modules/inflight/LICENSE +0 -15
  112. package/cli/node_modules/inflight/README.md +0 -37
  113. package/cli/node_modules/inflight/inflight.js +0 -54
  114. package/cli/node_modules/inflight/package.json +0 -29
  115. package/cli/node_modules/inherits/LICENSE +0 -16
  116. package/cli/node_modules/inherits/README.md +0 -42
  117. package/cli/node_modules/inherits/inherits.js +0 -9
  118. package/cli/node_modules/inherits/inherits_browser.js +0 -27
  119. package/cli/node_modules/inherits/package.json +0 -29
  120. package/cli/node_modules/levn/LICENSE +0 -22
  121. package/cli/node_modules/levn/README.md +0 -196
  122. package/cli/node_modules/levn/lib/cast.js +0 -298
  123. package/cli/node_modules/levn/lib/coerce.js +0 -285
  124. package/cli/node_modules/levn/lib/index.js +0 -22
  125. package/cli/node_modules/levn/lib/parse-string.js +0 -113
  126. package/cli/node_modules/levn/lib/parse.js +0 -102
  127. package/cli/node_modules/levn/package.json +0 -47
  128. package/cli/node_modules/minimatch/LICENSE +0 -15
  129. package/cli/node_modules/minimatch/README.md +0 -209
  130. package/cli/node_modules/minimatch/minimatch.js +0 -923
  131. package/cli/node_modules/minimatch/package.json +0 -30
  132. package/cli/node_modules/once/LICENSE +0 -15
  133. package/cli/node_modules/once/README.md +0 -79
  134. package/cli/node_modules/once/once.js +0 -42
  135. package/cli/node_modules/once/package.json +0 -33
  136. package/cli/node_modules/optionator/CHANGELOG.md +0 -56
  137. package/cli/node_modules/optionator/LICENSE +0 -22
  138. package/cli/node_modules/optionator/README.md +0 -238
  139. package/cli/node_modules/optionator/lib/help.js +0 -260
  140. package/cli/node_modules/optionator/lib/index.js +0 -465
  141. package/cli/node_modules/optionator/lib/util.js +0 -54
  142. package/cli/node_modules/optionator/package.json +0 -44
  143. package/cli/node_modules/path-is-absolute/index.js +0 -20
  144. package/cli/node_modules/path-is-absolute/license +0 -21
  145. package/cli/node_modules/path-is-absolute/package.json +0 -43
  146. package/cli/node_modules/path-is-absolute/readme.md +0 -59
  147. package/cli/node_modules/prelude-ls/CHANGELOG.md +0 -99
  148. package/cli/node_modules/prelude-ls/LICENSE +0 -22
  149. package/cli/node_modules/prelude-ls/README.md +0 -15
  150. package/cli/node_modules/prelude-ls/lib/Func.js +0 -65
  151. package/cli/node_modules/prelude-ls/lib/List.js +0 -686
  152. package/cli/node_modules/prelude-ls/lib/Num.js +0 -130
  153. package/cli/node_modules/prelude-ls/lib/Obj.js +0 -154
  154. package/cli/node_modules/prelude-ls/lib/Str.js +0 -92
  155. package/cli/node_modules/prelude-ls/lib/index.js +0 -178
  156. package/cli/node_modules/prelude-ls/package.json +0 -52
  157. package/cli/node_modules/rimraf/CHANGELOG.md +0 -65
  158. package/cli/node_modules/rimraf/LICENSE +0 -15
  159. package/cli/node_modules/rimraf/README.md +0 -101
  160. package/cli/node_modules/rimraf/bin.js +0 -68
  161. package/cli/node_modules/rimraf/package.json +0 -32
  162. package/cli/node_modules/rimraf/rimraf.js +0 -360
  163. package/cli/node_modules/source-map/CHANGELOG.md +0 -301
  164. package/cli/node_modules/source-map/LICENSE +0 -28
  165. package/cli/node_modules/source-map/README.md +0 -742
  166. package/cli/node_modules/source-map/dist/source-map.debug.js +0 -3234
  167. package/cli/node_modules/source-map/dist/source-map.js +0 -3233
  168. package/cli/node_modules/source-map/dist/source-map.min.js +0 -2
  169. package/cli/node_modules/source-map/dist/source-map.min.js.map +0 -1
  170. package/cli/node_modules/source-map/lib/array-set.js +0 -121
  171. package/cli/node_modules/source-map/lib/base64-vlq.js +0 -140
  172. package/cli/node_modules/source-map/lib/base64.js +0 -67
  173. package/cli/node_modules/source-map/lib/binary-search.js +0 -111
  174. package/cli/node_modules/source-map/lib/mapping-list.js +0 -79
  175. package/cli/node_modules/source-map/lib/quick-sort.js +0 -114
  176. package/cli/node_modules/source-map/lib/source-map-consumer.js +0 -1145
  177. package/cli/node_modules/source-map/lib/source-map-generator.js +0 -425
  178. package/cli/node_modules/source-map/lib/source-node.js +0 -413
  179. package/cli/node_modules/source-map/lib/util.js +0 -488
  180. package/cli/node_modules/source-map/package.json +0 -73
  181. package/cli/node_modules/source-map/source-map.d.ts +0 -98
  182. package/cli/node_modules/source-map/source-map.js +0 -8
  183. package/cli/node_modules/tmp/CHANGELOG.md +0 -288
  184. package/cli/node_modules/tmp/LICENSE +0 -21
  185. package/cli/node_modules/tmp/README.md +0 -365
  186. package/cli/node_modules/tmp/lib/tmp.js +0 -780
  187. package/cli/node_modules/tmp/package.json +0 -58
  188. package/cli/node_modules/type-check/LICENSE +0 -22
  189. package/cli/node_modules/type-check/README.md +0 -210
  190. package/cli/node_modules/type-check/lib/check.js +0 -126
  191. package/cli/node_modules/type-check/lib/index.js +0 -16
  192. package/cli/node_modules/type-check/lib/parse-type.js +0 -196
  193. package/cli/node_modules/type-check/package.json +0 -40
  194. package/cli/node_modules/word-wrap/LICENSE +0 -21
  195. package/cli/node_modules/word-wrap/README.md +0 -182
  196. package/cli/node_modules/word-wrap/index.d.ts +0 -50
  197. package/cli/node_modules/word-wrap/index.js +0 -46
  198. package/cli/node_modules/word-wrap/package.json +0 -77
  199. package/cli/node_modules/wrappy/LICENSE +0 -15
  200. package/cli/node_modules/wrappy/README.md +0 -36
  201. package/cli/node_modules/wrappy/package.json +0 -29
  202. package/cli/node_modules/wrappy/wrappy.js +0 -33
@@ -1,112 +0,0 @@
1
- {
2
- "name": "esprima",
3
- "description": "ECMAScript parsing infrastructure for multipurpose analysis",
4
- "homepage": "http://esprima.org",
5
- "main": "dist/esprima.js",
6
- "bin": {
7
- "esparse": "./bin/esparse.js",
8
- "esvalidate": "./bin/esvalidate.js"
9
- },
10
- "version": "4.0.1",
11
- "files": [
12
- "bin",
13
- "dist/esprima.js"
14
- ],
15
- "engines": {
16
- "node": ">=4"
17
- },
18
- "author": {
19
- "name": "Ariya Hidayat",
20
- "email": "ariya.hidayat@gmail.com"
21
- },
22
- "maintainers": [
23
- {
24
- "name": "Ariya Hidayat",
25
- "email": "ariya.hidayat@gmail.com",
26
- "web": "http://ariya.ofilabs.com"
27
- }
28
- ],
29
- "repository": {
30
- "type": "git",
31
- "url": "https://github.com/jquery/esprima.git"
32
- },
33
- "bugs": {
34
- "url": "https://github.com/jquery/esprima/issues"
35
- },
36
- "license": "BSD-2-Clause",
37
- "devDependencies": {
38
- "codecov.io": "~0.1.6",
39
- "escomplex-js": "1.2.0",
40
- "everything.js": "~1.0.3",
41
- "glob": "~7.1.0",
42
- "istanbul": "~0.4.0",
43
- "json-diff": "~0.3.1",
44
- "karma": "~1.3.0",
45
- "karma-chrome-launcher": "~2.0.0",
46
- "karma-detect-browsers": "~2.2.3",
47
- "karma-edge-launcher": "~0.2.0",
48
- "karma-firefox-launcher": "~1.0.0",
49
- "karma-ie-launcher": "~1.0.0",
50
- "karma-mocha": "~1.3.0",
51
- "karma-safari-launcher": "~1.0.0",
52
- "karma-safaritechpreview-launcher": "~0.0.4",
53
- "karma-sauce-launcher": "~1.1.0",
54
- "lodash": "~3.10.1",
55
- "mocha": "~3.2.0",
56
- "node-tick-processor": "~0.0.2",
57
- "regenerate": "~1.3.2",
58
- "temp": "~0.8.3",
59
- "tslint": "~5.1.0",
60
- "typescript": "~2.3.2",
61
- "typescript-formatter": "~5.1.3",
62
- "unicode-8.0.0": "~0.7.0",
63
- "webpack": "~1.14.0"
64
- },
65
- "keywords": [
66
- "ast",
67
- "ecmascript",
68
- "esprima",
69
- "javascript",
70
- "parser",
71
- "syntax"
72
- ],
73
- "scripts": {
74
- "check-version": "node test/check-version.js",
75
- "tslint": "tslint src/*.ts",
76
- "code-style": "tsfmt --verify src/*.ts && tsfmt --verify test/*.js",
77
- "format-code": "tsfmt -r src/*.ts && tsfmt -r test/*.js",
78
- "complexity": "node test/check-complexity.js",
79
- "static-analysis": "npm run check-version && npm run tslint && npm run code-style && npm run complexity",
80
- "hostile-env-tests": "node test/hostile-environment-tests.js",
81
- "unit-tests": "node test/unit-tests.js",
82
- "api-tests": "mocha -R dot test/api-tests.js",
83
- "grammar-tests": "node test/grammar-tests.js",
84
- "regression-tests": "node test/regression-tests.js",
85
- "all-tests": "npm run verify-line-ending && npm run generate-fixtures && npm run unit-tests && npm run api-tests && npm run grammar-tests && npm run regression-tests && npm run hostile-env-tests",
86
- "verify-line-ending": "node test/verify-line-ending.js",
87
- "generate-fixtures": "node tools/generate-fixtures.js",
88
- "browser-tests": "npm run compile && npm run generate-fixtures && cd test && karma start --single-run",
89
- "saucelabs-evergreen": "cd test && karma start saucelabs-evergreen.conf.js",
90
- "saucelabs-safari": "cd test && karma start saucelabs-safari.conf.js",
91
- "saucelabs-ie": "cd test && karma start saucelabs-ie.conf.js",
92
- "saucelabs": "npm run saucelabs-evergreen && npm run saucelabs-ie && npm run saucelabs-safari",
93
- "analyze-coverage": "istanbul cover test/unit-tests.js",
94
- "check-coverage": "istanbul check-coverage --statement 100 --branch 100 --function 100",
95
- "dynamic-analysis": "npm run analyze-coverage && npm run check-coverage",
96
- "compile": "tsc -p src/ && webpack && node tools/fixupbundle.js",
97
- "test": "npm run compile && npm run all-tests && npm run static-analysis && npm run dynamic-analysis",
98
- "prepublish": "npm run compile",
99
- "profile": "node --prof test/profile.js && mv isolate*.log v8.log && node-tick-processor",
100
- "benchmark-parser": "node -expose_gc test/benchmark-parser.js",
101
- "benchmark-tokenizer": "node --expose_gc test/benchmark-tokenizer.js",
102
- "benchmark": "npm run benchmark-parser && npm run benchmark-tokenizer",
103
- "codecov": "istanbul report cobertura && codecov < ./coverage/cobertura-coverage.xml",
104
- "downstream": "node test/downstream.js",
105
- "travis": "npm test",
106
- "circleci": "npm test && npm run codecov && npm run downstream",
107
- "appveyor": "npm run compile && npm run all-tests && npm run browser-tests",
108
- "droneio": "npm run compile && npm run all-tests && npm run saucelabs",
109
- "generate-regex": "node tools/generate-identifier-regex.js",
110
- "generate-xhtml-entities": "node tools/generate-xhtml-entities.js"
111
- }
112
- }
@@ -1,16 +0,0 @@
1
- {
2
- "curly": true,
3
- "eqeqeq": true,
4
- "immed": true,
5
- "eqnull": true,
6
- "latedef": true,
7
- "noarg": true,
8
- "noempty": true,
9
- "quotmark": "single",
10
- "undef": true,
11
- "unused": true,
12
- "strict": true,
13
- "trailing": true,
14
-
15
- "node": true
16
- }
@@ -1,19 +0,0 @@
1
- Redistribution and use in source and binary forms, with or without
2
- modification, are permitted provided that the following conditions are met:
3
-
4
- * Redistributions of source code must retain the above copyright
5
- notice, this list of conditions and the following disclaimer.
6
- * Redistributions in binary form must reproduce the above copyright
7
- notice, this list of conditions and the following disclaimer in the
8
- documentation and/or other materials provided with the distribution.
9
-
10
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
11
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
12
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
13
- ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
14
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
15
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
16
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
17
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
18
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
19
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -1,153 +0,0 @@
1
- ### Estraverse [![Build Status](https://secure.travis-ci.org/estools/estraverse.svg)](http://travis-ci.org/estools/estraverse)
2
-
3
- Estraverse ([estraverse](http://github.com/estools/estraverse)) is
4
- [ECMAScript](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
5
- traversal functions from [esmangle project](http://github.com/estools/esmangle).
6
-
7
- ### Documentation
8
-
9
- You can find usage docs at [wiki page](https://github.com/estools/estraverse/wiki/Usage).
10
-
11
- ### Example Usage
12
-
13
- The following code will output all variables declared at the root of a file.
14
-
15
- ```javascript
16
- estraverse.traverse(ast, {
17
- enter: function (node, parent) {
18
- if (node.type == 'FunctionExpression' || node.type == 'FunctionDeclaration')
19
- return estraverse.VisitorOption.Skip;
20
- },
21
- leave: function (node, parent) {
22
- if (node.type == 'VariableDeclarator')
23
- console.log(node.id.name);
24
- }
25
- });
26
- ```
27
-
28
- We can use `this.skip`, `this.remove` and `this.break` functions instead of using Skip, Remove and Break.
29
-
30
- ```javascript
31
- estraverse.traverse(ast, {
32
- enter: function (node) {
33
- this.break();
34
- }
35
- });
36
- ```
37
-
38
- And estraverse provides `estraverse.replace` function. When returning node from `enter`/`leave`, current node is replaced with it.
39
-
40
- ```javascript
41
- result = estraverse.replace(tree, {
42
- enter: function (node) {
43
- // Replace it with replaced.
44
- if (node.type === 'Literal')
45
- return replaced;
46
- }
47
- });
48
- ```
49
-
50
- By passing `visitor.keys` mapping, we can extend estraverse traversing functionality.
51
-
52
- ```javascript
53
- // This tree contains a user-defined `TestExpression` node.
54
- var tree = {
55
- type: 'TestExpression',
56
-
57
- // This 'argument' is the property containing the other **node**.
58
- argument: {
59
- type: 'Literal',
60
- value: 20
61
- },
62
-
63
- // This 'extended' is the property not containing the other **node**.
64
- extended: true
65
- };
66
- estraverse.traverse(tree, {
67
- enter: function (node) { },
68
-
69
- // Extending the existing traversing rules.
70
- keys: {
71
- // TargetNodeName: [ 'keys', 'containing', 'the', 'other', '**node**' ]
72
- TestExpression: ['argument']
73
- }
74
- });
75
- ```
76
-
77
- By passing `visitor.fallback` option, we can control the behavior when encountering unknown nodes.
78
-
79
- ```javascript
80
- // This tree contains a user-defined `TestExpression` node.
81
- var tree = {
82
- type: 'TestExpression',
83
-
84
- // This 'argument' is the property containing the other **node**.
85
- argument: {
86
- type: 'Literal',
87
- value: 20
88
- },
89
-
90
- // This 'extended' is the property not containing the other **node**.
91
- extended: true
92
- };
93
- estraverse.traverse(tree, {
94
- enter: function (node) { },
95
-
96
- // Iterating the child **nodes** of unknown nodes.
97
- fallback: 'iteration'
98
- });
99
- ```
100
-
101
- When `visitor.fallback` is a function, we can determine which keys to visit on each node.
102
-
103
- ```javascript
104
- // This tree contains a user-defined `TestExpression` node.
105
- var tree = {
106
- type: 'TestExpression',
107
-
108
- // This 'argument' is the property containing the other **node**.
109
- argument: {
110
- type: 'Literal',
111
- value: 20
112
- },
113
-
114
- // This 'extended' is the property not containing the other **node**.
115
- extended: true
116
- };
117
- estraverse.traverse(tree, {
118
- enter: function (node) { },
119
-
120
- // Skip the `argument` property of each node
121
- fallback: function(node) {
122
- return Object.keys(node).filter(function(key) {
123
- return key !== 'argument';
124
- });
125
- }
126
- });
127
- ```
128
-
129
- ### License
130
-
131
- Copyright (C) 2012-2016 [Yusuke Suzuki](http://github.com/Constellation)
132
- (twitter: [@Constellation](http://twitter.com/Constellation)) and other contributors.
133
-
134
- Redistribution and use in source and binary forms, with or without
135
- modification, are permitted provided that the following conditions are met:
136
-
137
- * Redistributions of source code must retain the above copyright
138
- notice, this list of conditions and the following disclaimer.
139
-
140
- * Redistributions in binary form must reproduce the above copyright
141
- notice, this list of conditions and the following disclaimer in the
142
- documentation and/or other materials provided with the distribution.
143
-
144
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
145
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
146
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
147
- ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
148
- DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
149
- (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
150
- LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
151
- ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
152
- (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
153
- THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.