porffor 0.1.0 → 0.2.0-77e30e8

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 (658) hide show
  1. package/README.md +184 -204
  2. package/compiler/2c.js +377 -0
  3. package/compiler/builtins/base64.js +91 -91
  4. package/compiler/builtins.js +19 -13
  5. package/compiler/codeGen.js +1313 -418
  6. package/compiler/decompile.js +35 -9
  7. package/compiler/embedding.js +9 -5
  8. package/compiler/encoding.js +8 -2
  9. package/compiler/index.js +55 -17
  10. package/compiler/log.js +15 -0
  11. package/compiler/opt.js +357 -258
  12. package/compiler/parse.js +24 -1
  13. package/compiler/prototype.js +263 -56
  14. package/compiler/sections.js +51 -8
  15. package/compiler/wasmSpec.js +3 -0
  16. package/compiler/wrap.js +21 -7
  17. package/package.json +6 -1
  18. package/porf.cmd +1 -1
  19. package/rhemyn/README.md +37 -0
  20. package/rhemyn/compile.js +214 -0
  21. package/rhemyn/parse.js +321 -0
  22. package/rhemyn/test/parse.js +59 -0
  23. package/runner/index.js +54 -31
  24. package/runner/info.js +37 -2
  25. package/runner/profile.js +1 -2
  26. package/runner/repl.js +13 -11
  27. package/runner/results.json +1 -0
  28. package/runner/transform.js +15 -36
  29. package/runner/version.js +10 -0
  30. package/CNAME +0 -1
  31. package/index.html +0 -1264
  32. package/logo.png +0 -0
  33. package/sw.js +0 -26
  34. package/test/array_1.js +0 -8
  35. package/test/array_push.js +0 -8
  36. package/test/assignop_1.js +0 -15
  37. package/test/bitwise_1.js +0 -6
  38. package/test/bool_1.js +0 -3
  39. package/test/boolean.js +0 -6
  40. package/test/break_1.js +0 -6
  41. package/test/break_2.js +0 -12
  42. package/test/conditional_1.js +0 -3
  43. package/test/conditional_2.js +0 -4
  44. package/test/console_1.js +0 -2
  45. package/test/continue_1.js +0 -6
  46. package/test/continue_2.js +0 -10
  47. package/test/empty.js +0 -1
  48. package/test/ending_exp_1.js +0 -2
  49. package/test/ending_exp_2.js +0 -6
  50. package/test/eq_1.js +0 -4
  51. package/test/eq_2.js +0 -4
  52. package/test/eq_3.js +0 -5
  53. package/test/export_1.js +0 -9
  54. package/test/factorial.js +0 -3
  55. package/test/fibonacci.js +0 -16
  56. package/test/float_div0.js +0 -2
  57. package/test/float_frac.js +0 -2
  58. package/test/float_isfinite.js +0 -29
  59. package/test/float_isinteger.js +0 -13
  60. package/test/float_isnan.js +0 -20
  61. package/test/float_issafeinteger.js +0 -11
  62. package/test/float_large.js +0 -2
  63. package/test/float_math_funcs.js +0 -24
  64. package/test/float_math_random.js +0 -6
  65. package/test/float_nan.js +0 -3
  66. package/test/float_number_values.js +0 -12
  67. package/test/for_1.js +0 -4
  68. package/test/for_2.js +0 -4
  69. package/test/func_1.js +0 -16
  70. package/test/func_2.js +0 -6
  71. package/test/func_3.js +0 -10
  72. package/test/global_1.js +0 -8
  73. package/test/global_2.js +0 -10
  74. package/test/if_1.js +0 -6
  75. package/test/if_2.js +0 -9
  76. package/test/if_3.js +0 -7
  77. package/test/iife_1.js +0 -8
  78. package/test/iife_2.js +0 -8
  79. package/test/index.js +0 -93
  80. package/test/int_number_values.js +0 -6
  81. package/test/logic_1.js +0 -7
  82. package/test/logic_2.js +0 -7
  83. package/test/math_1.js +0 -6
  84. package/test/math_2.js +0 -12
  85. package/test/math_3.js +0 -6
  86. package/test/number_func.js +0 -4
  87. package/test/return_1.js +0 -8
  88. package/test/return_2.js +0 -11
  89. package/test/tailcall_1.js +0 -10
  90. package/test/throw_1.js +0 -2
  91. package/test/throw_2.js +0 -4
  92. package/test/throw_3.js +0 -2
  93. package/test/throw_4.js +0 -3
  94. package/test/try_1.js +0 -7
  95. package/test/unary_1.js +0 -4
  96. package/test/unary_2.js +0 -5
  97. package/test/unary_3.js +0 -6
  98. package/test/unary_4.js +0 -12
  99. package/test/unary_5.js +0 -8
  100. package/test/undefined_1.js +0 -8
  101. package/test/undefined_2.js +0 -10
  102. package/test/updateexp_1.js +0 -9
  103. package/test/vars_1.js +0 -5
  104. package/test/vars_2.js +0 -9
  105. package/test/while_1.js +0 -6
  106. package/test262/compare.js +0 -30
  107. package/test262/index.js +0 -314
  108. package/test262/node_modules/.bin/esparse +0 -12
  109. package/test262/node_modules/.bin/esparse.cmd +0 -17
  110. package/test262/node_modules/.bin/esparse.ps1 +0 -28
  111. package/test262/node_modules/.bin/esvalidate +0 -12
  112. package/test262/node_modules/.bin/esvalidate.cmd +0 -17
  113. package/test262/node_modules/.bin/esvalidate.ps1 +0 -28
  114. package/test262/node_modules/.bin/js-yaml +0 -12
  115. package/test262/node_modules/.bin/js-yaml.cmd +0 -17
  116. package/test262/node_modules/.bin/js-yaml.ps1 +0 -28
  117. package/test262/node_modules/.package-lock.json +0 -0
  118. package/test262/node_modules/@nodelib/fs.scandir/LICENSE +0 -21
  119. package/test262/node_modules/@nodelib/fs.scandir/README.md +0 -171
  120. package/test262/node_modules/@nodelib/fs.scandir/out/adapters/fs.d.ts +0 -20
  121. package/test262/node_modules/@nodelib/fs.scandir/out/adapters/fs.js +0 -19
  122. package/test262/node_modules/@nodelib/fs.scandir/out/constants.d.ts +0 -4
  123. package/test262/node_modules/@nodelib/fs.scandir/out/constants.js +0 -17
  124. package/test262/node_modules/@nodelib/fs.scandir/out/index.d.ts +0 -12
  125. package/test262/node_modules/@nodelib/fs.scandir/out/index.js +0 -26
  126. package/test262/node_modules/@nodelib/fs.scandir/out/providers/async.d.ts +0 -7
  127. package/test262/node_modules/@nodelib/fs.scandir/out/providers/async.js +0 -104
  128. package/test262/node_modules/@nodelib/fs.scandir/out/providers/common.d.ts +0 -1
  129. package/test262/node_modules/@nodelib/fs.scandir/out/providers/common.js +0 -13
  130. package/test262/node_modules/@nodelib/fs.scandir/out/providers/sync.d.ts +0 -5
  131. package/test262/node_modules/@nodelib/fs.scandir/out/providers/sync.js +0 -54
  132. package/test262/node_modules/@nodelib/fs.scandir/out/settings.d.ts +0 -20
  133. package/test262/node_modules/@nodelib/fs.scandir/out/settings.js +0 -24
  134. package/test262/node_modules/@nodelib/fs.scandir/out/types/index.d.ts +0 -20
  135. package/test262/node_modules/@nodelib/fs.scandir/out/types/index.js +0 -2
  136. package/test262/node_modules/@nodelib/fs.scandir/out/utils/fs.d.ts +0 -2
  137. package/test262/node_modules/@nodelib/fs.scandir/out/utils/fs.js +0 -19
  138. package/test262/node_modules/@nodelib/fs.scandir/out/utils/index.d.ts +0 -2
  139. package/test262/node_modules/@nodelib/fs.scandir/out/utils/index.js +0 -5
  140. package/test262/node_modules/@nodelib/fs.scandir/package.json +0 -44
  141. package/test262/node_modules/@nodelib/fs.stat/LICENSE +0 -21
  142. package/test262/node_modules/@nodelib/fs.stat/README.md +0 -126
  143. package/test262/node_modules/@nodelib/fs.stat/out/adapters/fs.d.ts +0 -13
  144. package/test262/node_modules/@nodelib/fs.stat/out/adapters/fs.js +0 -17
  145. package/test262/node_modules/@nodelib/fs.stat/out/index.d.ts +0 -12
  146. package/test262/node_modules/@nodelib/fs.stat/out/index.js +0 -26
  147. package/test262/node_modules/@nodelib/fs.stat/out/providers/async.d.ts +0 -4
  148. package/test262/node_modules/@nodelib/fs.stat/out/providers/async.js +0 -36
  149. package/test262/node_modules/@nodelib/fs.stat/out/providers/sync.d.ts +0 -3
  150. package/test262/node_modules/@nodelib/fs.stat/out/providers/sync.js +0 -23
  151. package/test262/node_modules/@nodelib/fs.stat/out/settings.d.ts +0 -16
  152. package/test262/node_modules/@nodelib/fs.stat/out/settings.js +0 -16
  153. package/test262/node_modules/@nodelib/fs.stat/out/types/index.d.ts +0 -4
  154. package/test262/node_modules/@nodelib/fs.stat/out/types/index.js +0 -2
  155. package/test262/node_modules/@nodelib/fs.stat/package.json +0 -37
  156. package/test262/node_modules/@nodelib/fs.walk/LICENSE +0 -21
  157. package/test262/node_modules/@nodelib/fs.walk/README.md +0 -215
  158. package/test262/node_modules/@nodelib/fs.walk/out/index.d.ts +0 -14
  159. package/test262/node_modules/@nodelib/fs.walk/out/index.js +0 -34
  160. package/test262/node_modules/@nodelib/fs.walk/out/providers/async.d.ts +0 -12
  161. package/test262/node_modules/@nodelib/fs.walk/out/providers/async.js +0 -30
  162. package/test262/node_modules/@nodelib/fs.walk/out/providers/index.d.ts +0 -4
  163. package/test262/node_modules/@nodelib/fs.walk/out/providers/index.js +0 -9
  164. package/test262/node_modules/@nodelib/fs.walk/out/providers/stream.d.ts +0 -12
  165. package/test262/node_modules/@nodelib/fs.walk/out/providers/stream.js +0 -34
  166. package/test262/node_modules/@nodelib/fs.walk/out/providers/sync.d.ts +0 -10
  167. package/test262/node_modules/@nodelib/fs.walk/out/providers/sync.js +0 -14
  168. package/test262/node_modules/@nodelib/fs.walk/out/readers/async.d.ts +0 -30
  169. package/test262/node_modules/@nodelib/fs.walk/out/readers/async.js +0 -97
  170. package/test262/node_modules/@nodelib/fs.walk/out/readers/common.d.ts +0 -7
  171. package/test262/node_modules/@nodelib/fs.walk/out/readers/common.js +0 -31
  172. package/test262/node_modules/@nodelib/fs.walk/out/readers/reader.d.ts +0 -6
  173. package/test262/node_modules/@nodelib/fs.walk/out/readers/reader.js +0 -11
  174. package/test262/node_modules/@nodelib/fs.walk/out/readers/sync.d.ts +0 -15
  175. package/test262/node_modules/@nodelib/fs.walk/out/readers/sync.js +0 -59
  176. package/test262/node_modules/@nodelib/fs.walk/out/settings.d.ts +0 -30
  177. package/test262/node_modules/@nodelib/fs.walk/out/settings.js +0 -26
  178. package/test262/node_modules/@nodelib/fs.walk/out/types/index.d.ts +0 -8
  179. package/test262/node_modules/@nodelib/fs.walk/out/types/index.js +0 -2
  180. package/test262/node_modules/@nodelib/fs.walk/package.json +0 -44
  181. package/test262/node_modules/argparse/CHANGELOG.md +0 -185
  182. package/test262/node_modules/argparse/LICENSE +0 -21
  183. package/test262/node_modules/argparse/README.md +0 -257
  184. package/test262/node_modules/argparse/index.js +0 -3
  185. package/test262/node_modules/argparse/lib/action/append/constant.js +0 -47
  186. package/test262/node_modules/argparse/lib/action/append.js +0 -53
  187. package/test262/node_modules/argparse/lib/action/count.js +0 -40
  188. package/test262/node_modules/argparse/lib/action/help.js +0 -47
  189. package/test262/node_modules/argparse/lib/action/store/constant.js +0 -43
  190. package/test262/node_modules/argparse/lib/action/store/false.js +0 -27
  191. package/test262/node_modules/argparse/lib/action/store/true.js +0 -26
  192. package/test262/node_modules/argparse/lib/action/store.js +0 -50
  193. package/test262/node_modules/argparse/lib/action/subparsers.js +0 -149
  194. package/test262/node_modules/argparse/lib/action/version.js +0 -47
  195. package/test262/node_modules/argparse/lib/action.js +0 -146
  196. package/test262/node_modules/argparse/lib/action_container.js +0 -482
  197. package/test262/node_modules/argparse/lib/argparse.js +0 -14
  198. package/test262/node_modules/argparse/lib/argument/error.js +0 -50
  199. package/test262/node_modules/argparse/lib/argument/exclusive.js +0 -54
  200. package/test262/node_modules/argparse/lib/argument/group.js +0 -75
  201. package/test262/node_modules/argparse/lib/argument_parser.js +0 -1161
  202. package/test262/node_modules/argparse/lib/const.js +0 -21
  203. package/test262/node_modules/argparse/lib/help/added_formatters.js +0 -87
  204. package/test262/node_modules/argparse/lib/help/formatter.js +0 -795
  205. package/test262/node_modules/argparse/lib/namespace.js +0 -76
  206. package/test262/node_modules/argparse/lib/utils.js +0 -57
  207. package/test262/node_modules/argparse/package.json +0 -34
  208. package/test262/node_modules/braces/CHANGELOG.md +0 -184
  209. package/test262/node_modules/braces/LICENSE +0 -21
  210. package/test262/node_modules/braces/README.md +0 -593
  211. package/test262/node_modules/braces/index.js +0 -170
  212. package/test262/node_modules/braces/lib/compile.js +0 -57
  213. package/test262/node_modules/braces/lib/constants.js +0 -57
  214. package/test262/node_modules/braces/lib/expand.js +0 -113
  215. package/test262/node_modules/braces/lib/parse.js +0 -333
  216. package/test262/node_modules/braces/lib/stringify.js +0 -32
  217. package/test262/node_modules/braces/lib/utils.js +0 -112
  218. package/test262/node_modules/braces/package.json +0 -77
  219. package/test262/node_modules/esprima/ChangeLog +0 -235
  220. package/test262/node_modules/esprima/LICENSE.BSD +0 -21
  221. package/test262/node_modules/esprima/README.md +0 -46
  222. package/test262/node_modules/esprima/bin/esparse.js +0 -139
  223. package/test262/node_modules/esprima/bin/esvalidate.js +0 -236
  224. package/test262/node_modules/esprima/dist/esprima.js +0 -6709
  225. package/test262/node_modules/esprima/package.json +0 -112
  226. package/test262/node_modules/fast-glob/LICENSE +0 -21
  227. package/test262/node_modules/fast-glob/README.md +0 -859
  228. package/test262/node_modules/fast-glob/out/index.d.ts +0 -40
  229. package/test262/node_modules/fast-glob/out/index.js +0 -102
  230. package/test262/node_modules/fast-glob/out/managers/tasks.d.ts +0 -22
  231. package/test262/node_modules/fast-glob/out/managers/tasks.js +0 -110
  232. package/test262/node_modules/fast-glob/out/providers/async.d.ts +0 -9
  233. package/test262/node_modules/fast-glob/out/providers/async.js +0 -23
  234. package/test262/node_modules/fast-glob/out/providers/filters/deep.d.ts +0 -16
  235. package/test262/node_modules/fast-glob/out/providers/filters/deep.js +0 -62
  236. package/test262/node_modules/fast-glob/out/providers/filters/entry.d.ts +0 -16
  237. package/test262/node_modules/fast-glob/out/providers/filters/entry.js +0 -63
  238. package/test262/node_modules/fast-glob/out/providers/filters/error.d.ts +0 -8
  239. package/test262/node_modules/fast-glob/out/providers/filters/error.js +0 -15
  240. package/test262/node_modules/fast-glob/out/providers/matchers/matcher.d.ts +0 -33
  241. package/test262/node_modules/fast-glob/out/providers/matchers/matcher.js +0 -45
  242. package/test262/node_modules/fast-glob/out/providers/matchers/partial.d.ts +0 -4
  243. package/test262/node_modules/fast-glob/out/providers/matchers/partial.js +0 -38
  244. package/test262/node_modules/fast-glob/out/providers/provider.d.ts +0 -19
  245. package/test262/node_modules/fast-glob/out/providers/provider.js +0 -48
  246. package/test262/node_modules/fast-glob/out/providers/stream.d.ts +0 -11
  247. package/test262/node_modules/fast-glob/out/providers/stream.js +0 -31
  248. package/test262/node_modules/fast-glob/out/providers/sync.d.ts +0 -9
  249. package/test262/node_modules/fast-glob/out/providers/sync.js +0 -23
  250. package/test262/node_modules/fast-glob/out/providers/transformers/entry.d.ts +0 -8
  251. package/test262/node_modules/fast-glob/out/providers/transformers/entry.js +0 -26
  252. package/test262/node_modules/fast-glob/out/readers/async.d.ts +0 -10
  253. package/test262/node_modules/fast-glob/out/readers/async.js +0 -35
  254. package/test262/node_modules/fast-glob/out/readers/reader.d.ts +0 -15
  255. package/test262/node_modules/fast-glob/out/readers/reader.js +0 -33
  256. package/test262/node_modules/fast-glob/out/readers/stream.d.ts +0 -14
  257. package/test262/node_modules/fast-glob/out/readers/stream.js +0 -55
  258. package/test262/node_modules/fast-glob/out/readers/sync.d.ts +0 -12
  259. package/test262/node_modules/fast-glob/out/readers/sync.js +0 -43
  260. package/test262/node_modules/fast-glob/out/settings.d.ts +0 -164
  261. package/test262/node_modules/fast-glob/out/settings.js +0 -57
  262. package/test262/node_modules/fast-glob/out/types/index.d.ts +0 -31
  263. package/test262/node_modules/fast-glob/out/types/index.js +0 -2
  264. package/test262/node_modules/fast-glob/out/utils/array.d.ts +0 -2
  265. package/test262/node_modules/fast-glob/out/utils/array.js +0 -22
  266. package/test262/node_modules/fast-glob/out/utils/errno.d.ts +0 -2
  267. package/test262/node_modules/fast-glob/out/utils/errno.js +0 -7
  268. package/test262/node_modules/fast-glob/out/utils/fs.d.ts +0 -4
  269. package/test262/node_modules/fast-glob/out/utils/fs.js +0 -19
  270. package/test262/node_modules/fast-glob/out/utils/index.d.ts +0 -8
  271. package/test262/node_modules/fast-glob/out/utils/index.js +0 -17
  272. package/test262/node_modules/fast-glob/out/utils/path.d.ts +0 -13
  273. package/test262/node_modules/fast-glob/out/utils/path.js +0 -68
  274. package/test262/node_modules/fast-glob/out/utils/pattern.d.ts +0 -47
  275. package/test262/node_modules/fast-glob/out/utils/pattern.js +0 -188
  276. package/test262/node_modules/fast-glob/out/utils/stream.d.ts +0 -4
  277. package/test262/node_modules/fast-glob/out/utils/stream.js +0 -17
  278. package/test262/node_modules/fast-glob/out/utils/string.d.ts +0 -2
  279. package/test262/node_modules/fast-glob/out/utils/string.js +0 -11
  280. package/test262/node_modules/fast-glob/package.json +0 -81
  281. package/test262/node_modules/fastq/.github/dependabot.yml +0 -11
  282. package/test262/node_modules/fastq/.github/workflows/ci.yml +0 -50
  283. package/test262/node_modules/fastq/LICENSE +0 -13
  284. package/test262/node_modules/fastq/README.md +0 -309
  285. package/test262/node_modules/fastq/bench.js +0 -66
  286. package/test262/node_modules/fastq/example.js +0 -14
  287. package/test262/node_modules/fastq/example.mjs +0 -11
  288. package/test262/node_modules/fastq/index.d.ts +0 -37
  289. package/test262/node_modules/fastq/package.json +0 -52
  290. package/test262/node_modules/fastq/queue.js +0 -289
  291. package/test262/node_modules/fastq/test/example.ts +0 -81
  292. package/test262/node_modules/fastq/test/promise.js +0 -248
  293. package/test262/node_modules/fastq/test/test.js +0 -566
  294. package/test262/node_modules/fastq/test/tsconfig.json +0 -11
  295. package/test262/node_modules/fill-range/LICENSE +0 -21
  296. package/test262/node_modules/fill-range/README.md +0 -237
  297. package/test262/node_modules/fill-range/index.js +0 -249
  298. package/test262/node_modules/fill-range/package.json +0 -69
  299. package/test262/node_modules/glob-parent/CHANGELOG.md +0 -110
  300. package/test262/node_modules/glob-parent/LICENSE +0 -15
  301. package/test262/node_modules/glob-parent/README.md +0 -137
  302. package/test262/node_modules/glob-parent/index.js +0 -42
  303. package/test262/node_modules/glob-parent/package.json +0 -48
  304. package/test262/node_modules/graceful-fs/LICENSE +0 -15
  305. package/test262/node_modules/graceful-fs/README.md +0 -143
  306. package/test262/node_modules/graceful-fs/clone.js +0 -23
  307. package/test262/node_modules/graceful-fs/graceful-fs.js +0 -448
  308. package/test262/node_modules/graceful-fs/legacy-streams.js +0 -118
  309. package/test262/node_modules/graceful-fs/package.json +0 -53
  310. package/test262/node_modules/graceful-fs/polyfills.js +0 -355
  311. package/test262/node_modules/is-extglob/LICENSE +0 -21
  312. package/test262/node_modules/is-extglob/README.md +0 -107
  313. package/test262/node_modules/is-extglob/index.js +0 -20
  314. package/test262/node_modules/is-extglob/package.json +0 -69
  315. package/test262/node_modules/is-glob/LICENSE +0 -21
  316. package/test262/node_modules/is-glob/README.md +0 -206
  317. package/test262/node_modules/is-glob/index.js +0 -150
  318. package/test262/node_modules/is-glob/package.json +0 -81
  319. package/test262/node_modules/is-number/LICENSE +0 -21
  320. package/test262/node_modules/is-number/README.md +0 -187
  321. package/test262/node_modules/is-number/index.js +0 -18
  322. package/test262/node_modules/is-number/package.json +0 -82
  323. package/test262/node_modules/js-yaml/CHANGELOG.md +0 -557
  324. package/test262/node_modules/js-yaml/LICENSE +0 -21
  325. package/test262/node_modules/js-yaml/README.md +0 -299
  326. package/test262/node_modules/js-yaml/bin/js-yaml.js +0 -132
  327. package/test262/node_modules/js-yaml/dist/js-yaml.js +0 -3989
  328. package/test262/node_modules/js-yaml/dist/js-yaml.min.js +0 -1
  329. package/test262/node_modules/js-yaml/index.js +0 -7
  330. package/test262/node_modules/js-yaml/lib/js-yaml/common.js +0 -59
  331. package/test262/node_modules/js-yaml/lib/js-yaml/dumper.js +0 -850
  332. package/test262/node_modules/js-yaml/lib/js-yaml/exception.js +0 -43
  333. package/test262/node_modules/js-yaml/lib/js-yaml/loader.js +0 -1644
  334. package/test262/node_modules/js-yaml/lib/js-yaml/mark.js +0 -76
  335. package/test262/node_modules/js-yaml/lib/js-yaml/schema/core.js +0 -18
  336. package/test262/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +0 -25
  337. package/test262/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +0 -28
  338. package/test262/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +0 -17
  339. package/test262/node_modules/js-yaml/lib/js-yaml/schema/json.js +0 -25
  340. package/test262/node_modules/js-yaml/lib/js-yaml/schema.js +0 -108
  341. package/test262/node_modules/js-yaml/lib/js-yaml/type/binary.js +0 -138
  342. package/test262/node_modules/js-yaml/lib/js-yaml/type/bool.js +0 -35
  343. package/test262/node_modules/js-yaml/lib/js-yaml/type/float.js +0 -116
  344. package/test262/node_modules/js-yaml/lib/js-yaml/type/int.js +0 -173
  345. package/test262/node_modules/js-yaml/lib/js-yaml/type/js/function.js +0 -93
  346. package/test262/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +0 -60
  347. package/test262/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +0 -28
  348. package/test262/node_modules/js-yaml/lib/js-yaml/type/map.js +0 -8
  349. package/test262/node_modules/js-yaml/lib/js-yaml/type/merge.js +0 -12
  350. package/test262/node_modules/js-yaml/lib/js-yaml/type/null.js +0 -34
  351. package/test262/node_modules/js-yaml/lib/js-yaml/type/omap.js +0 -44
  352. package/test262/node_modules/js-yaml/lib/js-yaml/type/pairs.js +0 -53
  353. package/test262/node_modules/js-yaml/lib/js-yaml/type/seq.js +0 -8
  354. package/test262/node_modules/js-yaml/lib/js-yaml/type/set.js +0 -29
  355. package/test262/node_modules/js-yaml/lib/js-yaml/type/str.js +0 -8
  356. package/test262/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +0 -88
  357. package/test262/node_modules/js-yaml/lib/js-yaml/type.js +0 -61
  358. package/test262/node_modules/js-yaml/lib/js-yaml.js +0 -39
  359. package/test262/node_modules/js-yaml/package.json +0 -49
  360. package/test262/node_modules/klaw/CHANGELOG.md +0 -62
  361. package/test262/node_modules/klaw/LICENSE +0 -15
  362. package/test262/node_modules/klaw/README.md +0 -252
  363. package/test262/node_modules/klaw/package.json +0 -40
  364. package/test262/node_modules/klaw/src/index.js +0 -56
  365. package/test262/node_modules/merge2/LICENSE +0 -21
  366. package/test262/node_modules/merge2/README.md +0 -144
  367. package/test262/node_modules/merge2/index.js +0 -144
  368. package/test262/node_modules/merge2/package.json +0 -43
  369. package/test262/node_modules/micromatch/LICENSE +0 -21
  370. package/test262/node_modules/micromatch/README.md +0 -1011
  371. package/test262/node_modules/micromatch/index.js +0 -467
  372. package/test262/node_modules/micromatch/package.json +0 -119
  373. package/test262/node_modules/picomatch/CHANGELOG.md +0 -136
  374. package/test262/node_modules/picomatch/LICENSE +0 -21
  375. package/test262/node_modules/picomatch/README.md +0 -708
  376. package/test262/node_modules/picomatch/index.js +0 -3
  377. package/test262/node_modules/picomatch/lib/constants.js +0 -179
  378. package/test262/node_modules/picomatch/lib/parse.js +0 -1091
  379. package/test262/node_modules/picomatch/lib/picomatch.js +0 -342
  380. package/test262/node_modules/picomatch/lib/scan.js +0 -391
  381. package/test262/node_modules/picomatch/lib/utils.js +0 -64
  382. package/test262/node_modules/picomatch/package.json +0 -81
  383. package/test262/node_modules/queue-microtask/LICENSE +0 -20
  384. package/test262/node_modules/queue-microtask/README.md +0 -90
  385. package/test262/node_modules/queue-microtask/index.d.ts +0 -2
  386. package/test262/node_modules/queue-microtask/index.js +0 -9
  387. package/test262/node_modules/queue-microtask/package.json +0 -55
  388. package/test262/node_modules/reusify/.coveralls.yml +0 -1
  389. package/test262/node_modules/reusify/.travis.yml +0 -28
  390. package/test262/node_modules/reusify/LICENSE +0 -22
  391. package/test262/node_modules/reusify/README.md +0 -145
  392. package/test262/node_modules/reusify/benchmarks/createNoCodeFunction.js +0 -30
  393. package/test262/node_modules/reusify/benchmarks/fib.js +0 -13
  394. package/test262/node_modules/reusify/benchmarks/reuseNoCodeFunction.js +0 -38
  395. package/test262/node_modules/reusify/package.json +0 -45
  396. package/test262/node_modules/reusify/reusify.js +0 -33
  397. package/test262/node_modules/reusify/test.js +0 -66
  398. package/test262/node_modules/run-parallel/LICENSE +0 -20
  399. package/test262/node_modules/run-parallel/README.md +0 -85
  400. package/test262/node_modules/run-parallel/index.js +0 -51
  401. package/test262/node_modules/run-parallel/package.json +0 -58
  402. package/test262/node_modules/sprintf-js/LICENSE +0 -24
  403. package/test262/node_modules/sprintf-js/README.md +0 -88
  404. package/test262/node_modules/sprintf-js/bower.json +0 -14
  405. package/test262/node_modules/sprintf-js/demo/angular.html +0 -20
  406. package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.js +0 -4
  407. package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.js.map +0 -1
  408. package/test262/node_modules/sprintf-js/dist/angular-sprintf.min.map +0 -1
  409. package/test262/node_modules/sprintf-js/dist/sprintf.min.js +0 -4
  410. package/test262/node_modules/sprintf-js/dist/sprintf.min.js.map +0 -1
  411. package/test262/node_modules/sprintf-js/dist/sprintf.min.map +0 -1
  412. package/test262/node_modules/sprintf-js/gruntfile.js +0 -36
  413. package/test262/node_modules/sprintf-js/package.json +0 -22
  414. package/test262/node_modules/sprintf-js/src/angular-sprintf.js +0 -18
  415. package/test262/node_modules/sprintf-js/src/sprintf.js +0 -208
  416. package/test262/node_modules/sprintf-js/test/test.js +0 -82
  417. package/test262/node_modules/test262-stream/.jshintignore +0 -2
  418. package/test262/node_modules/test262-stream/.jshintrc +0 -6
  419. package/test262/node_modules/test262-stream/.travis.yml +0 -5
  420. package/test262/node_modules/test262-stream/CONTRIBUTING.md +0 -37
  421. package/test262/node_modules/test262-stream/LICENSE-MICROSOFT.txt +0 -27
  422. package/test262/node_modules/test262-stream/LICENSE.txt +0 -27
  423. package/test262/node_modules/test262-stream/README.md +0 -71
  424. package/test262/node_modules/test262-stream/lib/builder.js +0 -46
  425. package/test262/node_modules/test262-stream/lib/compile.js +0 -24
  426. package/test262/node_modules/test262-stream/lib/create-scenarios.js +0 -29
  427. package/test262/node_modules/test262-stream/lib/index.js +0 -187
  428. package/test262/node_modules/test262-stream/lib/test-file.js +0 -150
  429. package/test262/node_modules/test262-stream/package.json +0 -26
  430. package/test262/node_modules/test262-stream/test/collateral/invalid-missing-harness/fake-test262/test/a-test-file.js +0 -16
  431. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/assert.js +0 -17
  432. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/doneprintHandle.js +0 -6
  433. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/harness/sta.js +0 -12
  434. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/package.json +0 -3
  435. package/test262/node_modules/test262-stream/test/collateral/invalid-version-other-accepted/fake-test262/test/strict.js +0 -9
  436. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/assert.js +0 -17
  437. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/doneprintHandle.js +0 -6
  438. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/harness/sta.js +0 -12
  439. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/package.json +0 -3
  440. package/test262/node_modules/test262-stream/test/collateral/invalid-version-unsupported/fake-test262/test/strict.js +0 -9
  441. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/asyncNegative_default.js +0 -49
  442. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/asyncNegative_strict_mode.js +0 -50
  443. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/async_default.js +0 -48
  444. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/async_strict_mode.js +0 -49
  445. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/bothStrict_default.js +0 -46
  446. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/bothStrict_strict_mode.js +0 -47
  447. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/error_default.js +0 -39
  448. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/error_strict_mode.js +0 -40
  449. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/module_default.js +0 -37
  450. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/module_strict_mode.js +0 -38
  451. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/negative-empty_default.js +0 -37
  452. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/negative-empty_strict_mode.js +0 -38
  453. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/noStrict_default.js +0 -36
  454. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/rawNoStrict_default.js +0 -14
  455. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/rawStrict_default.js +0 -15
  456. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-content/test/strict_strict_mode.js +0 -41
  457. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/asyncNegative_default.json +0 -22
  458. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/asyncNegative_strict_mode.json +0 -22
  459. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/async_default.json +0 -18
  460. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/async_strict_mode.json +0 -18
  461. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/bothStrict_default.json +0 -24
  462. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/bothStrict_strict_mode.json +0 -24
  463. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/error_default.json +0 -19
  464. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/error_strict_mode.json +0 -19
  465. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/module_default.json +0 -17
  466. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/module_strict_mode.json +0 -17
  467. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/negative-empty_default.json +0 -19
  468. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/negative-empty_strict_mode.json +0 -19
  469. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/noStrict_default.json +0 -17
  470. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/rawNoStrict_default.json +0 -14
  471. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/rawStrict_default.json +0 -14
  472. package/test262/node_modules/test262-stream/test/collateral/valid-default/expected-metadata/test/strict_strict_mode.json +0 -21
  473. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/assert.js +0 -17
  474. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/doneprintHandle.js +0 -6
  475. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/harness/sta.js +0 -12
  476. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/async.js +0 -10
  477. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/asyncNegative.js +0 -11
  478. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/bothStrict.js +0 -15
  479. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/error.js +0 -8
  480. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/module.js +0 -6
  481. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/module_FIXTURE.js +0 -2
  482. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/negative-empty.js +0 -6
  483. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/noStrict.js +0 -5
  484. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/rawNoStrict.js +0 -14
  485. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/rawStrict.js +0 -15
  486. package/test262/node_modules/test262-stream/test/collateral/valid-default/fake-test262/test/strict.js +0 -9
  487. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-content/test/bothStrict_default.js +0 -46
  488. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-content/test/bothStrict_strict_mode.js +0 -47
  489. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-metadata/test/bothStrict_default.json +0 -24
  490. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/expected-metadata/test/bothStrict_strict_mode.json +0 -24
  491. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/assert.js +0 -17
  492. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/doneprintHandle.js +0 -6
  493. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/harness/sta.js +0 -12
  494. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/bothStrict.js +0 -15
  495. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-0_FIXTURE.js +0 -2
  496. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-1_FIXTURE.js +0 -2
  497. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-2_FIXTURE.js +0 -2
  498. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-3_FIXTURE.js +0 -2
  499. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-4_FIXTURE.js +0 -2
  500. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-5_FIXTURE.js +0 -2
  501. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-6_FIXTURE.js +0 -2
  502. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-7_FIXTURE.js +0 -2
  503. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-8_FIXTURE.js +0 -2
  504. package/test262/node_modules/test262-stream/test/collateral/valid-extra-files/fake-test262/test/zzz-9_FIXTURE.txt +0 -2
  505. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/raw_default.js +0 -15
  506. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/runtime_default.js +0 -38
  507. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-content/test/runtime_strict_mode.js +0 -39
  508. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/raw_default.json +0 -14
  509. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/runtime_default.json +0 -15
  510. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/expected-metadata/test/runtime_strict_mode.json +0 -15
  511. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/harness/assert.js +0 -17
  512. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/harness/sta.js +0 -12
  513. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/test/raw.js +0 -15
  514. package/test262/node_modules/test262-stream/test/collateral/valid-insertionindex-with-copyright/fake-test262/test/runtime.js +0 -7
  515. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/asyncNegative_default.js +0 -11
  516. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/asyncNegative_strict_mode.js +0 -12
  517. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/async_default.js +0 -10
  518. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/async_strict_mode.js +0 -11
  519. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/bothStrict_default.js +0 -15
  520. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/bothStrict_strict_mode.js +0 -16
  521. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/error_default.js +0 -8
  522. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/error_strict_mode.js +0 -9
  523. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/module_default.js +0 -6
  524. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/module_strict_mode.js +0 -7
  525. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/negative-empty_default.js +0 -6
  526. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/negative-empty_strict_mode.js +0 -7
  527. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/noStrict_default.js +0 -5
  528. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/rawNoStrict_default.js +0 -14
  529. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/rawStrict_default.js +0 -15
  530. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-content/test/strict_strict_mode.js +0 -10
  531. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/asyncNegative_default.json +0 -18
  532. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/asyncNegative_strict_mode.json +0 -18
  533. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/async_default.json +0 -14
  534. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/async_strict_mode.json +0 -14
  535. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/bothStrict_default.json +0 -21
  536. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/bothStrict_strict_mode.json +0 -21
  537. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/error_default.json +0 -16
  538. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/error_strict_mode.json +0 -16
  539. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/module_default.json +0 -14
  540. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/module_strict_mode.json +0 -14
  541. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/negative-empty_default.json +0 -16
  542. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/negative-empty_strict_mode.json +0 -16
  543. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/noStrict_default.json +0 -14
  544. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/rawNoStrict_default.json +0 -14
  545. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/rawStrict_default.json +0 -14
  546. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/expected-metadata/test/strict_strict_mode.json +0 -18
  547. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/assert.js +0 -17
  548. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/doneprintHandle.js +0 -6
  549. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/harness/sta.js +0 -12
  550. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/async.js +0 -10
  551. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/asyncNegative.js +0 -11
  552. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/bothStrict.js +0 -15
  553. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/error.js +0 -8
  554. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/module.js +0 -6
  555. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/module_FIXTURE.js +0 -2
  556. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/negative-empty.js +0 -6
  557. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/noStrict.js +0 -5
  558. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/rawNoStrict.js +0 -14
  559. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/rawStrict.js +0 -15
  560. package/test262/node_modules/test262-stream/test/collateral/valid-omit-runtime/fake-test262/test/strict.js +0 -9
  561. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/expected-content/test/strict_strict_mode.js +0 -41
  562. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/expected-metadata/test/strict_strict_mode.json +0 -21
  563. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/assert.js +0 -17
  564. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/doneprintHandle.js +0 -6
  565. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/harness/sta.js +0 -12
  566. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/package.json +0 -3
  567. package/test262/node_modules/test262-stream/test/collateral/valid-version-ignored/fake-test262/test/strict.js +0 -9
  568. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/expected-content/test/strict_strict_mode.js +0 -41
  569. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/expected-metadata/test/strict_strict_mode.json +0 -21
  570. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/assert.js +0 -17
  571. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/doneprintHandle.js +0 -6
  572. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/harness/sta.js +0 -12
  573. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/package.json +0 -3
  574. package/test262/node_modules/test262-stream/test/collateral/valid-version-supported/fake-test262/test/strict.js +0 -9
  575. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/missing-raw-flag_default.js +0 -44
  576. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/missing-raw-flag_strict_mode.js +0 -45
  577. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls-and-license-on-same-line_default.js +0 -20
  578. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls-multiline-block_default.js +0 -18
  579. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ls_default.js +0 -17
  580. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps-and-license-on-same-line_default.js +0 -20
  581. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps-multiline-block_default.js +0 -18
  582. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw-with-ps_default.js +0 -17
  583. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/rawWithLicense_default.js +0 -21
  584. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-content/test/raw_default.js +0 -17
  585. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/missing-raw-flag_default.json +0 -22
  586. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/missing-raw-flag_strict_mode.json +0 -22
  587. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls-and-license-on-same-line_default.json +0 -21
  588. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls-multiline-block_default.json +0 -21
  589. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ls_default.json +0 -21
  590. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps-and-license-on-same-line_default.json +0 -21
  591. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps-multiline-block_default.json +0 -21
  592. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw-with-ps_default.json +0 -21
  593. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/rawWithLicense_default.json +0 -21
  594. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/expected-metadata/test/raw_default.json +0 -21
  595. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/assert.js +0 -17
  596. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/doneprintHandle.js +0 -6
  597. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/harness/sta.js +0 -12
  598. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/missing-raw-flag.js +0 -13
  599. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls-and-license-on-same-line.js +0 -20
  600. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls-multiline-block.js +0 -18
  601. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ls.js +0 -17
  602. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps-and-license-on-same-line.js +0 -20
  603. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps-multiline-block.js +0 -18
  604. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw-with-ps.js +0 -17
  605. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/raw.js +0 -17
  606. package/test262/node_modules/test262-stream/test/collateral/valid-with-hashbang/fake-test262/test/rawWithLicense.js +0 -21
  607. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/assert.js +0 -17
  608. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/doneprintHandle.js +0 -9
  609. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/custom-includes/sta.js +0 -13
  610. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/async_default.js +0 -52
  611. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/async_strict_mode.js +0 -53
  612. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/bothStrict_default.js +0 -47
  613. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-content/test/bothStrict_strict_mode.js +0 -48
  614. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/async_default.json +0 -18
  615. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/async_strict_mode.json +0 -18
  616. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/bothStrict_default.json +0 -24
  617. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/expected-metadata/test/bothStrict_strict_mode.json +0 -24
  618. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/harness/assert.js +0 -17
  619. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/harness/doneprintHandle.js +0 -6
  620. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/test/async.js +0 -10
  621. package/test262/node_modules/test262-stream/test/collateral/valid-with-includes/fake-test262/test/bothStrict.js +0 -15
  622. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/asyncNegative_default.js +0 -49
  623. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/asyncNegative_strict_mode.js +0 -50
  624. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/async_default.js +0 -48
  625. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/async/async_strict_mode.js +0 -49
  626. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/bothStrict_default.js +0 -46
  627. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/bothStrict_strict_mode.js +0 -47
  628. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/strict/no/noStrict_default.js +0 -36
  629. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-content/test/strict/no/rawNoStrict_default.js +0 -14
  630. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/asyncNegative_default.json +0 -22
  631. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/asyncNegative_strict_mode.json +0 -22
  632. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/async_default.json +0 -18
  633. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/async/async_strict_mode.json +0 -18
  634. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/bothStrict_default.json +0 -24
  635. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/bothStrict_strict_mode.json +0 -24
  636. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/strict/no/noStrict_default.json +0 -17
  637. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/expected-metadata/test/strict/no/rawNoStrict_default.json +0 -14
  638. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/assert.js +0 -17
  639. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/doneprintHandle.js +0 -6
  640. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/harness/sta.js +0 -12
  641. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/async/async.js +0 -10
  642. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/async/asyncNegative.js +0 -11
  643. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/bothStrict.js +0 -15
  644. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/error.js +0 -8
  645. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/negative-empty.js +0 -6
  646. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/no/noStrict.js +0 -5
  647. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/no/rawNoStrict.js +0 -14
  648. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/rawStrict.js +0 -15
  649. package/test262/node_modules/test262-stream/test/collateral/valid-with-paths/fake-test262/test/strict/strict.js +0 -9
  650. package/test262/node_modules/test262-stream/test/test.js +0 -319
  651. package/test262/node_modules/to-regex-range/LICENSE +0 -21
  652. package/test262/node_modules/to-regex-range/README.md +0 -305
  653. package/test262/node_modules/to-regex-range/index.js +0 -288
  654. package/test262/node_modules/to-regex-range/package.json +0 -88
  655. package/test262/package-lock.json +0 -279
  656. package/test262/package.json +0 -6
  657. package/test262/prelude.js +0 -75
  658. package/test262/results.json +0 -1
@@ -1,1644 +0,0 @@
1
- 'use strict';
2
-
3
- /*eslint-disable max-len,no-use-before-define*/
4
-
5
- var common = require('./common');
6
- var YAMLException = require('./exception');
7
- var Mark = require('./mark');
8
- var DEFAULT_SAFE_SCHEMA = require('./schema/default_safe');
9
- var DEFAULT_FULL_SCHEMA = require('./schema/default_full');
10
-
11
-
12
- var _hasOwnProperty = Object.prototype.hasOwnProperty;
13
-
14
-
15
- var CONTEXT_FLOW_IN = 1;
16
- var CONTEXT_FLOW_OUT = 2;
17
- var CONTEXT_BLOCK_IN = 3;
18
- var CONTEXT_BLOCK_OUT = 4;
19
-
20
-
21
- var CHOMPING_CLIP = 1;
22
- var CHOMPING_STRIP = 2;
23
- var CHOMPING_KEEP = 3;
24
-
25
-
26
- var PATTERN_NON_PRINTABLE = /[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/;
27
- var PATTERN_NON_ASCII_LINE_BREAKS = /[\x85\u2028\u2029]/;
28
- var PATTERN_FLOW_INDICATORS = /[,\[\]\{\}]/;
29
- var PATTERN_TAG_HANDLE = /^(?:!|!!|![a-z\-]+!)$/i;
30
- var PATTERN_TAG_URI = /^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;
31
-
32
-
33
- function _class(obj) { return Object.prototype.toString.call(obj); }
34
-
35
- function is_EOL(c) {
36
- return (c === 0x0A/* LF */) || (c === 0x0D/* CR */);
37
- }
38
-
39
- function is_WHITE_SPACE(c) {
40
- return (c === 0x09/* Tab */) || (c === 0x20/* Space */);
41
- }
42
-
43
- function is_WS_OR_EOL(c) {
44
- return (c === 0x09/* Tab */) ||
45
- (c === 0x20/* Space */) ||
46
- (c === 0x0A/* LF */) ||
47
- (c === 0x0D/* CR */);
48
- }
49
-
50
- function is_FLOW_INDICATOR(c) {
51
- return c === 0x2C/* , */ ||
52
- c === 0x5B/* [ */ ||
53
- c === 0x5D/* ] */ ||
54
- c === 0x7B/* { */ ||
55
- c === 0x7D/* } */;
56
- }
57
-
58
- function fromHexCode(c) {
59
- var lc;
60
-
61
- if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {
62
- return c - 0x30;
63
- }
64
-
65
- /*eslint-disable no-bitwise*/
66
- lc = c | 0x20;
67
-
68
- if ((0x61/* a */ <= lc) && (lc <= 0x66/* f */)) {
69
- return lc - 0x61 + 10;
70
- }
71
-
72
- return -1;
73
- }
74
-
75
- function escapedHexLen(c) {
76
- if (c === 0x78/* x */) { return 2; }
77
- if (c === 0x75/* u */) { return 4; }
78
- if (c === 0x55/* U */) { return 8; }
79
- return 0;
80
- }
81
-
82
- function fromDecimalCode(c) {
83
- if ((0x30/* 0 */ <= c) && (c <= 0x39/* 9 */)) {
84
- return c - 0x30;
85
- }
86
-
87
- return -1;
88
- }
89
-
90
- function simpleEscapeSequence(c) {
91
- /* eslint-disable indent */
92
- return (c === 0x30/* 0 */) ? '\x00' :
93
- (c === 0x61/* a */) ? '\x07' :
94
- (c === 0x62/* b */) ? '\x08' :
95
- (c === 0x74/* t */) ? '\x09' :
96
- (c === 0x09/* Tab */) ? '\x09' :
97
- (c === 0x6E/* n */) ? '\x0A' :
98
- (c === 0x76/* v */) ? '\x0B' :
99
- (c === 0x66/* f */) ? '\x0C' :
100
- (c === 0x72/* r */) ? '\x0D' :
101
- (c === 0x65/* e */) ? '\x1B' :
102
- (c === 0x20/* Space */) ? ' ' :
103
- (c === 0x22/* " */) ? '\x22' :
104
- (c === 0x2F/* / */) ? '/' :
105
- (c === 0x5C/* \ */) ? '\x5C' :
106
- (c === 0x4E/* N */) ? '\x85' :
107
- (c === 0x5F/* _ */) ? '\xA0' :
108
- (c === 0x4C/* L */) ? '\u2028' :
109
- (c === 0x50/* P */) ? '\u2029' : '';
110
- }
111
-
112
- function charFromCodepoint(c) {
113
- if (c <= 0xFFFF) {
114
- return String.fromCharCode(c);
115
- }
116
- // Encode UTF-16 surrogate pair
117
- // https://en.wikipedia.org/wiki/UTF-16#Code_points_U.2B010000_to_U.2B10FFFF
118
- return String.fromCharCode(
119
- ((c - 0x010000) >> 10) + 0xD800,
120
- ((c - 0x010000) & 0x03FF) + 0xDC00
121
- );
122
- }
123
-
124
- var simpleEscapeCheck = new Array(256); // integer, for fast access
125
- var simpleEscapeMap = new Array(256);
126
- for (var i = 0; i < 256; i++) {
127
- simpleEscapeCheck[i] = simpleEscapeSequence(i) ? 1 : 0;
128
- simpleEscapeMap[i] = simpleEscapeSequence(i);
129
- }
130
-
131
-
132
- function State(input, options) {
133
- this.input = input;
134
-
135
- this.filename = options['filename'] || null;
136
- this.schema = options['schema'] || DEFAULT_FULL_SCHEMA;
137
- this.onWarning = options['onWarning'] || null;
138
- this.legacy = options['legacy'] || false;
139
- this.json = options['json'] || false;
140
- this.listener = options['listener'] || null;
141
-
142
- this.implicitTypes = this.schema.compiledImplicit;
143
- this.typeMap = this.schema.compiledTypeMap;
144
-
145
- this.length = input.length;
146
- this.position = 0;
147
- this.line = 0;
148
- this.lineStart = 0;
149
- this.lineIndent = 0;
150
-
151
- this.documents = [];
152
-
153
- /*
154
- this.version;
155
- this.checkLineBreaks;
156
- this.tagMap;
157
- this.anchorMap;
158
- this.tag;
159
- this.anchor;
160
- this.kind;
161
- this.result;*/
162
-
163
- }
164
-
165
-
166
- function generateError(state, message) {
167
- return new YAMLException(
168
- message,
169
- new Mark(state.filename, state.input, state.position, state.line, (state.position - state.lineStart)));
170
- }
171
-
172
- function throwError(state, message) {
173
- throw generateError(state, message);
174
- }
175
-
176
- function throwWarning(state, message) {
177
- if (state.onWarning) {
178
- state.onWarning.call(null, generateError(state, message));
179
- }
180
- }
181
-
182
-
183
- var directiveHandlers = {
184
-
185
- YAML: function handleYamlDirective(state, name, args) {
186
-
187
- var match, major, minor;
188
-
189
- if (state.version !== null) {
190
- throwError(state, 'duplication of %YAML directive');
191
- }
192
-
193
- if (args.length !== 1) {
194
- throwError(state, 'YAML directive accepts exactly one argument');
195
- }
196
-
197
- match = /^([0-9]+)\.([0-9]+)$/.exec(args[0]);
198
-
199
- if (match === null) {
200
- throwError(state, 'ill-formed argument of the YAML directive');
201
- }
202
-
203
- major = parseInt(match[1], 10);
204
- minor = parseInt(match[2], 10);
205
-
206
- if (major !== 1) {
207
- throwError(state, 'unacceptable YAML version of the document');
208
- }
209
-
210
- state.version = args[0];
211
- state.checkLineBreaks = (minor < 2);
212
-
213
- if (minor !== 1 && minor !== 2) {
214
- throwWarning(state, 'unsupported YAML version of the document');
215
- }
216
- },
217
-
218
- TAG: function handleTagDirective(state, name, args) {
219
-
220
- var handle, prefix;
221
-
222
- if (args.length !== 2) {
223
- throwError(state, 'TAG directive accepts exactly two arguments');
224
- }
225
-
226
- handle = args[0];
227
- prefix = args[1];
228
-
229
- if (!PATTERN_TAG_HANDLE.test(handle)) {
230
- throwError(state, 'ill-formed tag handle (first argument) of the TAG directive');
231
- }
232
-
233
- if (_hasOwnProperty.call(state.tagMap, handle)) {
234
- throwError(state, 'there is a previously declared suffix for "' + handle + '" tag handle');
235
- }
236
-
237
- if (!PATTERN_TAG_URI.test(prefix)) {
238
- throwError(state, 'ill-formed tag prefix (second argument) of the TAG directive');
239
- }
240
-
241
- state.tagMap[handle] = prefix;
242
- }
243
- };
244
-
245
-
246
- function captureSegment(state, start, end, checkJson) {
247
- var _position, _length, _character, _result;
248
-
249
- if (start < end) {
250
- _result = state.input.slice(start, end);
251
-
252
- if (checkJson) {
253
- for (_position = 0, _length = _result.length; _position < _length; _position += 1) {
254
- _character = _result.charCodeAt(_position);
255
- if (!(_character === 0x09 ||
256
- (0x20 <= _character && _character <= 0x10FFFF))) {
257
- throwError(state, 'expected valid JSON character');
258
- }
259
- }
260
- } else if (PATTERN_NON_PRINTABLE.test(_result)) {
261
- throwError(state, 'the stream contains non-printable characters');
262
- }
263
-
264
- state.result += _result;
265
- }
266
- }
267
-
268
- function mergeMappings(state, destination, source, overridableKeys) {
269
- var sourceKeys, key, index, quantity;
270
-
271
- if (!common.isObject(source)) {
272
- throwError(state, 'cannot merge mappings; the provided source object is unacceptable');
273
- }
274
-
275
- sourceKeys = Object.keys(source);
276
-
277
- for (index = 0, quantity = sourceKeys.length; index < quantity; index += 1) {
278
- key = sourceKeys[index];
279
-
280
- if (!_hasOwnProperty.call(destination, key)) {
281
- destination[key] = source[key];
282
- overridableKeys[key] = true;
283
- }
284
- }
285
- }
286
-
287
- function storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, startLine, startPos) {
288
- var index, quantity;
289
-
290
- // The output is a plain object here, so keys can only be strings.
291
- // We need to convert keyNode to a string, but doing so can hang the process
292
- // (deeply nested arrays that explode exponentially using aliases).
293
- if (Array.isArray(keyNode)) {
294
- keyNode = Array.prototype.slice.call(keyNode);
295
-
296
- for (index = 0, quantity = keyNode.length; index < quantity; index += 1) {
297
- if (Array.isArray(keyNode[index])) {
298
- throwError(state, 'nested arrays are not supported inside keys');
299
- }
300
-
301
- if (typeof keyNode === 'object' && _class(keyNode[index]) === '[object Object]') {
302
- keyNode[index] = '[object Object]';
303
- }
304
- }
305
- }
306
-
307
- // Avoid code execution in load() via toString property
308
- // (still use its own toString for arrays, timestamps,
309
- // and whatever user schema extensions happen to have @@toStringTag)
310
- if (typeof keyNode === 'object' && _class(keyNode) === '[object Object]') {
311
- keyNode = '[object Object]';
312
- }
313
-
314
-
315
- keyNode = String(keyNode);
316
-
317
- if (_result === null) {
318
- _result = {};
319
- }
320
-
321
- if (keyTag === 'tag:yaml.org,2002:merge') {
322
- if (Array.isArray(valueNode)) {
323
- for (index = 0, quantity = valueNode.length; index < quantity; index += 1) {
324
- mergeMappings(state, _result, valueNode[index], overridableKeys);
325
- }
326
- } else {
327
- mergeMappings(state, _result, valueNode, overridableKeys);
328
- }
329
- } else {
330
- if (!state.json &&
331
- !_hasOwnProperty.call(overridableKeys, keyNode) &&
332
- _hasOwnProperty.call(_result, keyNode)) {
333
- state.line = startLine || state.line;
334
- state.position = startPos || state.position;
335
- throwError(state, 'duplicated mapping key');
336
- }
337
- _result[keyNode] = valueNode;
338
- delete overridableKeys[keyNode];
339
- }
340
-
341
- return _result;
342
- }
343
-
344
- function readLineBreak(state) {
345
- var ch;
346
-
347
- ch = state.input.charCodeAt(state.position);
348
-
349
- if (ch === 0x0A/* LF */) {
350
- state.position++;
351
- } else if (ch === 0x0D/* CR */) {
352
- state.position++;
353
- if (state.input.charCodeAt(state.position) === 0x0A/* LF */) {
354
- state.position++;
355
- }
356
- } else {
357
- throwError(state, 'a line break is expected');
358
- }
359
-
360
- state.line += 1;
361
- state.lineStart = state.position;
362
- }
363
-
364
- function skipSeparationSpace(state, allowComments, checkIndent) {
365
- var lineBreaks = 0,
366
- ch = state.input.charCodeAt(state.position);
367
-
368
- while (ch !== 0) {
369
- while (is_WHITE_SPACE(ch)) {
370
- ch = state.input.charCodeAt(++state.position);
371
- }
372
-
373
- if (allowComments && ch === 0x23/* # */) {
374
- do {
375
- ch = state.input.charCodeAt(++state.position);
376
- } while (ch !== 0x0A/* LF */ && ch !== 0x0D/* CR */ && ch !== 0);
377
- }
378
-
379
- if (is_EOL(ch)) {
380
- readLineBreak(state);
381
-
382
- ch = state.input.charCodeAt(state.position);
383
- lineBreaks++;
384
- state.lineIndent = 0;
385
-
386
- while (ch === 0x20/* Space */) {
387
- state.lineIndent++;
388
- ch = state.input.charCodeAt(++state.position);
389
- }
390
- } else {
391
- break;
392
- }
393
- }
394
-
395
- if (checkIndent !== -1 && lineBreaks !== 0 && state.lineIndent < checkIndent) {
396
- throwWarning(state, 'deficient indentation');
397
- }
398
-
399
- return lineBreaks;
400
- }
401
-
402
- function testDocumentSeparator(state) {
403
- var _position = state.position,
404
- ch;
405
-
406
- ch = state.input.charCodeAt(_position);
407
-
408
- // Condition state.position === state.lineStart is tested
409
- // in parent on each call, for efficiency. No needs to test here again.
410
- if ((ch === 0x2D/* - */ || ch === 0x2E/* . */) &&
411
- ch === state.input.charCodeAt(_position + 1) &&
412
- ch === state.input.charCodeAt(_position + 2)) {
413
-
414
- _position += 3;
415
-
416
- ch = state.input.charCodeAt(_position);
417
-
418
- if (ch === 0 || is_WS_OR_EOL(ch)) {
419
- return true;
420
- }
421
- }
422
-
423
- return false;
424
- }
425
-
426
- function writeFoldedLines(state, count) {
427
- if (count === 1) {
428
- state.result += ' ';
429
- } else if (count > 1) {
430
- state.result += common.repeat('\n', count - 1);
431
- }
432
- }
433
-
434
-
435
- function readPlainScalar(state, nodeIndent, withinFlowCollection) {
436
- var preceding,
437
- following,
438
- captureStart,
439
- captureEnd,
440
- hasPendingContent,
441
- _line,
442
- _lineStart,
443
- _lineIndent,
444
- _kind = state.kind,
445
- _result = state.result,
446
- ch;
447
-
448
- ch = state.input.charCodeAt(state.position);
449
-
450
- if (is_WS_OR_EOL(ch) ||
451
- is_FLOW_INDICATOR(ch) ||
452
- ch === 0x23/* # */ ||
453
- ch === 0x26/* & */ ||
454
- ch === 0x2A/* * */ ||
455
- ch === 0x21/* ! */ ||
456
- ch === 0x7C/* | */ ||
457
- ch === 0x3E/* > */ ||
458
- ch === 0x27/* ' */ ||
459
- ch === 0x22/* " */ ||
460
- ch === 0x25/* % */ ||
461
- ch === 0x40/* @ */ ||
462
- ch === 0x60/* ` */) {
463
- return false;
464
- }
465
-
466
- if (ch === 0x3F/* ? */ || ch === 0x2D/* - */) {
467
- following = state.input.charCodeAt(state.position + 1);
468
-
469
- if (is_WS_OR_EOL(following) ||
470
- withinFlowCollection && is_FLOW_INDICATOR(following)) {
471
- return false;
472
- }
473
- }
474
-
475
- state.kind = 'scalar';
476
- state.result = '';
477
- captureStart = captureEnd = state.position;
478
- hasPendingContent = false;
479
-
480
- while (ch !== 0) {
481
- if (ch === 0x3A/* : */) {
482
- following = state.input.charCodeAt(state.position + 1);
483
-
484
- if (is_WS_OR_EOL(following) ||
485
- withinFlowCollection && is_FLOW_INDICATOR(following)) {
486
- break;
487
- }
488
-
489
- } else if (ch === 0x23/* # */) {
490
- preceding = state.input.charCodeAt(state.position - 1);
491
-
492
- if (is_WS_OR_EOL(preceding)) {
493
- break;
494
- }
495
-
496
- } else if ((state.position === state.lineStart && testDocumentSeparator(state)) ||
497
- withinFlowCollection && is_FLOW_INDICATOR(ch)) {
498
- break;
499
-
500
- } else if (is_EOL(ch)) {
501
- _line = state.line;
502
- _lineStart = state.lineStart;
503
- _lineIndent = state.lineIndent;
504
- skipSeparationSpace(state, false, -1);
505
-
506
- if (state.lineIndent >= nodeIndent) {
507
- hasPendingContent = true;
508
- ch = state.input.charCodeAt(state.position);
509
- continue;
510
- } else {
511
- state.position = captureEnd;
512
- state.line = _line;
513
- state.lineStart = _lineStart;
514
- state.lineIndent = _lineIndent;
515
- break;
516
- }
517
- }
518
-
519
- if (hasPendingContent) {
520
- captureSegment(state, captureStart, captureEnd, false);
521
- writeFoldedLines(state, state.line - _line);
522
- captureStart = captureEnd = state.position;
523
- hasPendingContent = false;
524
- }
525
-
526
- if (!is_WHITE_SPACE(ch)) {
527
- captureEnd = state.position + 1;
528
- }
529
-
530
- ch = state.input.charCodeAt(++state.position);
531
- }
532
-
533
- captureSegment(state, captureStart, captureEnd, false);
534
-
535
- if (state.result) {
536
- return true;
537
- }
538
-
539
- state.kind = _kind;
540
- state.result = _result;
541
- return false;
542
- }
543
-
544
- function readSingleQuotedScalar(state, nodeIndent) {
545
- var ch,
546
- captureStart, captureEnd;
547
-
548
- ch = state.input.charCodeAt(state.position);
549
-
550
- if (ch !== 0x27/* ' */) {
551
- return false;
552
- }
553
-
554
- state.kind = 'scalar';
555
- state.result = '';
556
- state.position++;
557
- captureStart = captureEnd = state.position;
558
-
559
- while ((ch = state.input.charCodeAt(state.position)) !== 0) {
560
- if (ch === 0x27/* ' */) {
561
- captureSegment(state, captureStart, state.position, true);
562
- ch = state.input.charCodeAt(++state.position);
563
-
564
- if (ch === 0x27/* ' */) {
565
- captureStart = state.position;
566
- state.position++;
567
- captureEnd = state.position;
568
- } else {
569
- return true;
570
- }
571
-
572
- } else if (is_EOL(ch)) {
573
- captureSegment(state, captureStart, captureEnd, true);
574
- writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
575
- captureStart = captureEnd = state.position;
576
-
577
- } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
578
- throwError(state, 'unexpected end of the document within a single quoted scalar');
579
-
580
- } else {
581
- state.position++;
582
- captureEnd = state.position;
583
- }
584
- }
585
-
586
- throwError(state, 'unexpected end of the stream within a single quoted scalar');
587
- }
588
-
589
- function readDoubleQuotedScalar(state, nodeIndent) {
590
- var captureStart,
591
- captureEnd,
592
- hexLength,
593
- hexResult,
594
- tmp,
595
- ch;
596
-
597
- ch = state.input.charCodeAt(state.position);
598
-
599
- if (ch !== 0x22/* " */) {
600
- return false;
601
- }
602
-
603
- state.kind = 'scalar';
604
- state.result = '';
605
- state.position++;
606
- captureStart = captureEnd = state.position;
607
-
608
- while ((ch = state.input.charCodeAt(state.position)) !== 0) {
609
- if (ch === 0x22/* " */) {
610
- captureSegment(state, captureStart, state.position, true);
611
- state.position++;
612
- return true;
613
-
614
- } else if (ch === 0x5C/* \ */) {
615
- captureSegment(state, captureStart, state.position, true);
616
- ch = state.input.charCodeAt(++state.position);
617
-
618
- if (is_EOL(ch)) {
619
- skipSeparationSpace(state, false, nodeIndent);
620
-
621
- // TODO: rework to inline fn with no type cast?
622
- } else if (ch < 256 && simpleEscapeCheck[ch]) {
623
- state.result += simpleEscapeMap[ch];
624
- state.position++;
625
-
626
- } else if ((tmp = escapedHexLen(ch)) > 0) {
627
- hexLength = tmp;
628
- hexResult = 0;
629
-
630
- for (; hexLength > 0; hexLength--) {
631
- ch = state.input.charCodeAt(++state.position);
632
-
633
- if ((tmp = fromHexCode(ch)) >= 0) {
634
- hexResult = (hexResult << 4) + tmp;
635
-
636
- } else {
637
- throwError(state, 'expected hexadecimal character');
638
- }
639
- }
640
-
641
- state.result += charFromCodepoint(hexResult);
642
-
643
- state.position++;
644
-
645
- } else {
646
- throwError(state, 'unknown escape sequence');
647
- }
648
-
649
- captureStart = captureEnd = state.position;
650
-
651
- } else if (is_EOL(ch)) {
652
- captureSegment(state, captureStart, captureEnd, true);
653
- writeFoldedLines(state, skipSeparationSpace(state, false, nodeIndent));
654
- captureStart = captureEnd = state.position;
655
-
656
- } else if (state.position === state.lineStart && testDocumentSeparator(state)) {
657
- throwError(state, 'unexpected end of the document within a double quoted scalar');
658
-
659
- } else {
660
- state.position++;
661
- captureEnd = state.position;
662
- }
663
- }
664
-
665
- throwError(state, 'unexpected end of the stream within a double quoted scalar');
666
- }
667
-
668
- function readFlowCollection(state, nodeIndent) {
669
- var readNext = true,
670
- _line,
671
- _tag = state.tag,
672
- _result,
673
- _anchor = state.anchor,
674
- following,
675
- terminator,
676
- isPair,
677
- isExplicitPair,
678
- isMapping,
679
- overridableKeys = {},
680
- keyNode,
681
- keyTag,
682
- valueNode,
683
- ch;
684
-
685
- ch = state.input.charCodeAt(state.position);
686
-
687
- if (ch === 0x5B/* [ */) {
688
- terminator = 0x5D;/* ] */
689
- isMapping = false;
690
- _result = [];
691
- } else if (ch === 0x7B/* { */) {
692
- terminator = 0x7D;/* } */
693
- isMapping = true;
694
- _result = {};
695
- } else {
696
- return false;
697
- }
698
-
699
- if (state.anchor !== null) {
700
- state.anchorMap[state.anchor] = _result;
701
- }
702
-
703
- ch = state.input.charCodeAt(++state.position);
704
-
705
- while (ch !== 0) {
706
- skipSeparationSpace(state, true, nodeIndent);
707
-
708
- ch = state.input.charCodeAt(state.position);
709
-
710
- if (ch === terminator) {
711
- state.position++;
712
- state.tag = _tag;
713
- state.anchor = _anchor;
714
- state.kind = isMapping ? 'mapping' : 'sequence';
715
- state.result = _result;
716
- return true;
717
- } else if (!readNext) {
718
- throwError(state, 'missed comma between flow collection entries');
719
- }
720
-
721
- keyTag = keyNode = valueNode = null;
722
- isPair = isExplicitPair = false;
723
-
724
- if (ch === 0x3F/* ? */) {
725
- following = state.input.charCodeAt(state.position + 1);
726
-
727
- if (is_WS_OR_EOL(following)) {
728
- isPair = isExplicitPair = true;
729
- state.position++;
730
- skipSeparationSpace(state, true, nodeIndent);
731
- }
732
- }
733
-
734
- _line = state.line;
735
- composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
736
- keyTag = state.tag;
737
- keyNode = state.result;
738
- skipSeparationSpace(state, true, nodeIndent);
739
-
740
- ch = state.input.charCodeAt(state.position);
741
-
742
- if ((isExplicitPair || state.line === _line) && ch === 0x3A/* : */) {
743
- isPair = true;
744
- ch = state.input.charCodeAt(++state.position);
745
- skipSeparationSpace(state, true, nodeIndent);
746
- composeNode(state, nodeIndent, CONTEXT_FLOW_IN, false, true);
747
- valueNode = state.result;
748
- }
749
-
750
- if (isMapping) {
751
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode);
752
- } else if (isPair) {
753
- _result.push(storeMappingPair(state, null, overridableKeys, keyTag, keyNode, valueNode));
754
- } else {
755
- _result.push(keyNode);
756
- }
757
-
758
- skipSeparationSpace(state, true, nodeIndent);
759
-
760
- ch = state.input.charCodeAt(state.position);
761
-
762
- if (ch === 0x2C/* , */) {
763
- readNext = true;
764
- ch = state.input.charCodeAt(++state.position);
765
- } else {
766
- readNext = false;
767
- }
768
- }
769
-
770
- throwError(state, 'unexpected end of the stream within a flow collection');
771
- }
772
-
773
- function readBlockScalar(state, nodeIndent) {
774
- var captureStart,
775
- folding,
776
- chomping = CHOMPING_CLIP,
777
- didReadContent = false,
778
- detectedIndent = false,
779
- textIndent = nodeIndent,
780
- emptyLines = 0,
781
- atMoreIndented = false,
782
- tmp,
783
- ch;
784
-
785
- ch = state.input.charCodeAt(state.position);
786
-
787
- if (ch === 0x7C/* | */) {
788
- folding = false;
789
- } else if (ch === 0x3E/* > */) {
790
- folding = true;
791
- } else {
792
- return false;
793
- }
794
-
795
- state.kind = 'scalar';
796
- state.result = '';
797
-
798
- while (ch !== 0) {
799
- ch = state.input.charCodeAt(++state.position);
800
-
801
- if (ch === 0x2B/* + */ || ch === 0x2D/* - */) {
802
- if (CHOMPING_CLIP === chomping) {
803
- chomping = (ch === 0x2B/* + */) ? CHOMPING_KEEP : CHOMPING_STRIP;
804
- } else {
805
- throwError(state, 'repeat of a chomping mode identifier');
806
- }
807
-
808
- } else if ((tmp = fromDecimalCode(ch)) >= 0) {
809
- if (tmp === 0) {
810
- throwError(state, 'bad explicit indentation width of a block scalar; it cannot be less than one');
811
- } else if (!detectedIndent) {
812
- textIndent = nodeIndent + tmp - 1;
813
- detectedIndent = true;
814
- } else {
815
- throwError(state, 'repeat of an indentation width identifier');
816
- }
817
-
818
- } else {
819
- break;
820
- }
821
- }
822
-
823
- if (is_WHITE_SPACE(ch)) {
824
- do { ch = state.input.charCodeAt(++state.position); }
825
- while (is_WHITE_SPACE(ch));
826
-
827
- if (ch === 0x23/* # */) {
828
- do { ch = state.input.charCodeAt(++state.position); }
829
- while (!is_EOL(ch) && (ch !== 0));
830
- }
831
- }
832
-
833
- while (ch !== 0) {
834
- readLineBreak(state);
835
- state.lineIndent = 0;
836
-
837
- ch = state.input.charCodeAt(state.position);
838
-
839
- while ((!detectedIndent || state.lineIndent < textIndent) &&
840
- (ch === 0x20/* Space */)) {
841
- state.lineIndent++;
842
- ch = state.input.charCodeAt(++state.position);
843
- }
844
-
845
- if (!detectedIndent && state.lineIndent > textIndent) {
846
- textIndent = state.lineIndent;
847
- }
848
-
849
- if (is_EOL(ch)) {
850
- emptyLines++;
851
- continue;
852
- }
853
-
854
- // End of the scalar.
855
- if (state.lineIndent < textIndent) {
856
-
857
- // Perform the chomping.
858
- if (chomping === CHOMPING_KEEP) {
859
- state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
860
- } else if (chomping === CHOMPING_CLIP) {
861
- if (didReadContent) { // i.e. only if the scalar is not empty.
862
- state.result += '\n';
863
- }
864
- }
865
-
866
- // Break this `while` cycle and go to the funciton's epilogue.
867
- break;
868
- }
869
-
870
- // Folded style: use fancy rules to handle line breaks.
871
- if (folding) {
872
-
873
- // Lines starting with white space characters (more-indented lines) are not folded.
874
- if (is_WHITE_SPACE(ch)) {
875
- atMoreIndented = true;
876
- // except for the first content line (cf. Example 8.1)
877
- state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
878
-
879
- // End of more-indented block.
880
- } else if (atMoreIndented) {
881
- atMoreIndented = false;
882
- state.result += common.repeat('\n', emptyLines + 1);
883
-
884
- // Just one line break - perceive as the same line.
885
- } else if (emptyLines === 0) {
886
- if (didReadContent) { // i.e. only if we have already read some scalar content.
887
- state.result += ' ';
888
- }
889
-
890
- // Several line breaks - perceive as different lines.
891
- } else {
892
- state.result += common.repeat('\n', emptyLines);
893
- }
894
-
895
- // Literal style: just add exact number of line breaks between content lines.
896
- } else {
897
- // Keep all line breaks except the header line break.
898
- state.result += common.repeat('\n', didReadContent ? 1 + emptyLines : emptyLines);
899
- }
900
-
901
- didReadContent = true;
902
- detectedIndent = true;
903
- emptyLines = 0;
904
- captureStart = state.position;
905
-
906
- while (!is_EOL(ch) && (ch !== 0)) {
907
- ch = state.input.charCodeAt(++state.position);
908
- }
909
-
910
- captureSegment(state, captureStart, state.position, false);
911
- }
912
-
913
- return true;
914
- }
915
-
916
- function readBlockSequence(state, nodeIndent) {
917
- var _line,
918
- _tag = state.tag,
919
- _anchor = state.anchor,
920
- _result = [],
921
- following,
922
- detected = false,
923
- ch;
924
-
925
- if (state.anchor !== null) {
926
- state.anchorMap[state.anchor] = _result;
927
- }
928
-
929
- ch = state.input.charCodeAt(state.position);
930
-
931
- while (ch !== 0) {
932
-
933
- if (ch !== 0x2D/* - */) {
934
- break;
935
- }
936
-
937
- following = state.input.charCodeAt(state.position + 1);
938
-
939
- if (!is_WS_OR_EOL(following)) {
940
- break;
941
- }
942
-
943
- detected = true;
944
- state.position++;
945
-
946
- if (skipSeparationSpace(state, true, -1)) {
947
- if (state.lineIndent <= nodeIndent) {
948
- _result.push(null);
949
- ch = state.input.charCodeAt(state.position);
950
- continue;
951
- }
952
- }
953
-
954
- _line = state.line;
955
- composeNode(state, nodeIndent, CONTEXT_BLOCK_IN, false, true);
956
- _result.push(state.result);
957
- skipSeparationSpace(state, true, -1);
958
-
959
- ch = state.input.charCodeAt(state.position);
960
-
961
- if ((state.line === _line || state.lineIndent > nodeIndent) && (ch !== 0)) {
962
- throwError(state, 'bad indentation of a sequence entry');
963
- } else if (state.lineIndent < nodeIndent) {
964
- break;
965
- }
966
- }
967
-
968
- if (detected) {
969
- state.tag = _tag;
970
- state.anchor = _anchor;
971
- state.kind = 'sequence';
972
- state.result = _result;
973
- return true;
974
- }
975
- return false;
976
- }
977
-
978
- function readBlockMapping(state, nodeIndent, flowIndent) {
979
- var following,
980
- allowCompact,
981
- _line,
982
- _pos,
983
- _tag = state.tag,
984
- _anchor = state.anchor,
985
- _result = {},
986
- overridableKeys = {},
987
- keyTag = null,
988
- keyNode = null,
989
- valueNode = null,
990
- atExplicitKey = false,
991
- detected = false,
992
- ch;
993
-
994
- if (state.anchor !== null) {
995
- state.anchorMap[state.anchor] = _result;
996
- }
997
-
998
- ch = state.input.charCodeAt(state.position);
999
-
1000
- while (ch !== 0) {
1001
- following = state.input.charCodeAt(state.position + 1);
1002
- _line = state.line; // Save the current line.
1003
- _pos = state.position;
1004
-
1005
- //
1006
- // Explicit notation case. There are two separate blocks:
1007
- // first for the key (denoted by "?") and second for the value (denoted by ":")
1008
- //
1009
- if ((ch === 0x3F/* ? */ || ch === 0x3A/* : */) && is_WS_OR_EOL(following)) {
1010
-
1011
- if (ch === 0x3F/* ? */) {
1012
- if (atExplicitKey) {
1013
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
1014
- keyTag = keyNode = valueNode = null;
1015
- }
1016
-
1017
- detected = true;
1018
- atExplicitKey = true;
1019
- allowCompact = true;
1020
-
1021
- } else if (atExplicitKey) {
1022
- // i.e. 0x3A/* : */ === character after the explicit key.
1023
- atExplicitKey = false;
1024
- allowCompact = true;
1025
-
1026
- } else {
1027
- throwError(state, 'incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line');
1028
- }
1029
-
1030
- state.position += 1;
1031
- ch = following;
1032
-
1033
- //
1034
- // Implicit notation case. Flow-style node as the key first, then ":", and the value.
1035
- //
1036
- } else if (composeNode(state, flowIndent, CONTEXT_FLOW_OUT, false, true)) {
1037
-
1038
- if (state.line === _line) {
1039
- ch = state.input.charCodeAt(state.position);
1040
-
1041
- while (is_WHITE_SPACE(ch)) {
1042
- ch = state.input.charCodeAt(++state.position);
1043
- }
1044
-
1045
- if (ch === 0x3A/* : */) {
1046
- ch = state.input.charCodeAt(++state.position);
1047
-
1048
- if (!is_WS_OR_EOL(ch)) {
1049
- throwError(state, 'a whitespace character is expected after the key-value separator within a block mapping');
1050
- }
1051
-
1052
- if (atExplicitKey) {
1053
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
1054
- keyTag = keyNode = valueNode = null;
1055
- }
1056
-
1057
- detected = true;
1058
- atExplicitKey = false;
1059
- allowCompact = false;
1060
- keyTag = state.tag;
1061
- keyNode = state.result;
1062
-
1063
- } else if (detected) {
1064
- throwError(state, 'can not read an implicit mapping pair; a colon is missed');
1065
-
1066
- } else {
1067
- state.tag = _tag;
1068
- state.anchor = _anchor;
1069
- return true; // Keep the result of `composeNode`.
1070
- }
1071
-
1072
- } else if (detected) {
1073
- throwError(state, 'can not read a block mapping entry; a multiline key may not be an implicit key');
1074
-
1075
- } else {
1076
- state.tag = _tag;
1077
- state.anchor = _anchor;
1078
- return true; // Keep the result of `composeNode`.
1079
- }
1080
-
1081
- } else {
1082
- break; // Reading is done. Go to the epilogue.
1083
- }
1084
-
1085
- //
1086
- // Common reading code for both explicit and implicit notations.
1087
- //
1088
- if (state.line === _line || state.lineIndent > nodeIndent) {
1089
- if (composeNode(state, nodeIndent, CONTEXT_BLOCK_OUT, true, allowCompact)) {
1090
- if (atExplicitKey) {
1091
- keyNode = state.result;
1092
- } else {
1093
- valueNode = state.result;
1094
- }
1095
- }
1096
-
1097
- if (!atExplicitKey) {
1098
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, valueNode, _line, _pos);
1099
- keyTag = keyNode = valueNode = null;
1100
- }
1101
-
1102
- skipSeparationSpace(state, true, -1);
1103
- ch = state.input.charCodeAt(state.position);
1104
- }
1105
-
1106
- if (state.lineIndent > nodeIndent && (ch !== 0)) {
1107
- throwError(state, 'bad indentation of a mapping entry');
1108
- } else if (state.lineIndent < nodeIndent) {
1109
- break;
1110
- }
1111
- }
1112
-
1113
- //
1114
- // Epilogue.
1115
- //
1116
-
1117
- // Special case: last mapping's node contains only the key in explicit notation.
1118
- if (atExplicitKey) {
1119
- storeMappingPair(state, _result, overridableKeys, keyTag, keyNode, null);
1120
- }
1121
-
1122
- // Expose the resulting mapping.
1123
- if (detected) {
1124
- state.tag = _tag;
1125
- state.anchor = _anchor;
1126
- state.kind = 'mapping';
1127
- state.result = _result;
1128
- }
1129
-
1130
- return detected;
1131
- }
1132
-
1133
- function readTagProperty(state) {
1134
- var _position,
1135
- isVerbatim = false,
1136
- isNamed = false,
1137
- tagHandle,
1138
- tagName,
1139
- ch;
1140
-
1141
- ch = state.input.charCodeAt(state.position);
1142
-
1143
- if (ch !== 0x21/* ! */) return false;
1144
-
1145
- if (state.tag !== null) {
1146
- throwError(state, 'duplication of a tag property');
1147
- }
1148
-
1149
- ch = state.input.charCodeAt(++state.position);
1150
-
1151
- if (ch === 0x3C/* < */) {
1152
- isVerbatim = true;
1153
- ch = state.input.charCodeAt(++state.position);
1154
-
1155
- } else if (ch === 0x21/* ! */) {
1156
- isNamed = true;
1157
- tagHandle = '!!';
1158
- ch = state.input.charCodeAt(++state.position);
1159
-
1160
- } else {
1161
- tagHandle = '!';
1162
- }
1163
-
1164
- _position = state.position;
1165
-
1166
- if (isVerbatim) {
1167
- do { ch = state.input.charCodeAt(++state.position); }
1168
- while (ch !== 0 && ch !== 0x3E/* > */);
1169
-
1170
- if (state.position < state.length) {
1171
- tagName = state.input.slice(_position, state.position);
1172
- ch = state.input.charCodeAt(++state.position);
1173
- } else {
1174
- throwError(state, 'unexpected end of the stream within a verbatim tag');
1175
- }
1176
- } else {
1177
- while (ch !== 0 && !is_WS_OR_EOL(ch)) {
1178
-
1179
- if (ch === 0x21/* ! */) {
1180
- if (!isNamed) {
1181
- tagHandle = state.input.slice(_position - 1, state.position + 1);
1182
-
1183
- if (!PATTERN_TAG_HANDLE.test(tagHandle)) {
1184
- throwError(state, 'named tag handle cannot contain such characters');
1185
- }
1186
-
1187
- isNamed = true;
1188
- _position = state.position + 1;
1189
- } else {
1190
- throwError(state, 'tag suffix cannot contain exclamation marks');
1191
- }
1192
- }
1193
-
1194
- ch = state.input.charCodeAt(++state.position);
1195
- }
1196
-
1197
- tagName = state.input.slice(_position, state.position);
1198
-
1199
- if (PATTERN_FLOW_INDICATORS.test(tagName)) {
1200
- throwError(state, 'tag suffix cannot contain flow indicator characters');
1201
- }
1202
- }
1203
-
1204
- if (tagName && !PATTERN_TAG_URI.test(tagName)) {
1205
- throwError(state, 'tag name cannot contain such characters: ' + tagName);
1206
- }
1207
-
1208
- if (isVerbatim) {
1209
- state.tag = tagName;
1210
-
1211
- } else if (_hasOwnProperty.call(state.tagMap, tagHandle)) {
1212
- state.tag = state.tagMap[tagHandle] + tagName;
1213
-
1214
- } else if (tagHandle === '!') {
1215
- state.tag = '!' + tagName;
1216
-
1217
- } else if (tagHandle === '!!') {
1218
- state.tag = 'tag:yaml.org,2002:' + tagName;
1219
-
1220
- } else {
1221
- throwError(state, 'undeclared tag handle "' + tagHandle + '"');
1222
- }
1223
-
1224
- return true;
1225
- }
1226
-
1227
- function readAnchorProperty(state) {
1228
- var _position,
1229
- ch;
1230
-
1231
- ch = state.input.charCodeAt(state.position);
1232
-
1233
- if (ch !== 0x26/* & */) return false;
1234
-
1235
- if (state.anchor !== null) {
1236
- throwError(state, 'duplication of an anchor property');
1237
- }
1238
-
1239
- ch = state.input.charCodeAt(++state.position);
1240
- _position = state.position;
1241
-
1242
- while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
1243
- ch = state.input.charCodeAt(++state.position);
1244
- }
1245
-
1246
- if (state.position === _position) {
1247
- throwError(state, 'name of an anchor node must contain at least one character');
1248
- }
1249
-
1250
- state.anchor = state.input.slice(_position, state.position);
1251
- return true;
1252
- }
1253
-
1254
- function readAlias(state) {
1255
- var _position, alias,
1256
- ch;
1257
-
1258
- ch = state.input.charCodeAt(state.position);
1259
-
1260
- if (ch !== 0x2A/* * */) return false;
1261
-
1262
- ch = state.input.charCodeAt(++state.position);
1263
- _position = state.position;
1264
-
1265
- while (ch !== 0 && !is_WS_OR_EOL(ch) && !is_FLOW_INDICATOR(ch)) {
1266
- ch = state.input.charCodeAt(++state.position);
1267
- }
1268
-
1269
- if (state.position === _position) {
1270
- throwError(state, 'name of an alias node must contain at least one character');
1271
- }
1272
-
1273
- alias = state.input.slice(_position, state.position);
1274
-
1275
- if (!_hasOwnProperty.call(state.anchorMap, alias)) {
1276
- throwError(state, 'unidentified alias "' + alias + '"');
1277
- }
1278
-
1279
- state.result = state.anchorMap[alias];
1280
- skipSeparationSpace(state, true, -1);
1281
- return true;
1282
- }
1283
-
1284
- function composeNode(state, parentIndent, nodeContext, allowToSeek, allowCompact) {
1285
- var allowBlockStyles,
1286
- allowBlockScalars,
1287
- allowBlockCollections,
1288
- indentStatus = 1, // 1: this>parent, 0: this=parent, -1: this<parent
1289
- atNewLine = false,
1290
- hasContent = false,
1291
- typeIndex,
1292
- typeQuantity,
1293
- type,
1294
- flowIndent,
1295
- blockIndent;
1296
-
1297
- if (state.listener !== null) {
1298
- state.listener('open', state);
1299
- }
1300
-
1301
- state.tag = null;
1302
- state.anchor = null;
1303
- state.kind = null;
1304
- state.result = null;
1305
-
1306
- allowBlockStyles = allowBlockScalars = allowBlockCollections =
1307
- CONTEXT_BLOCK_OUT === nodeContext ||
1308
- CONTEXT_BLOCK_IN === nodeContext;
1309
-
1310
- if (allowToSeek) {
1311
- if (skipSeparationSpace(state, true, -1)) {
1312
- atNewLine = true;
1313
-
1314
- if (state.lineIndent > parentIndent) {
1315
- indentStatus = 1;
1316
- } else if (state.lineIndent === parentIndent) {
1317
- indentStatus = 0;
1318
- } else if (state.lineIndent < parentIndent) {
1319
- indentStatus = -1;
1320
- }
1321
- }
1322
- }
1323
-
1324
- if (indentStatus === 1) {
1325
- while (readTagProperty(state) || readAnchorProperty(state)) {
1326
- if (skipSeparationSpace(state, true, -1)) {
1327
- atNewLine = true;
1328
- allowBlockCollections = allowBlockStyles;
1329
-
1330
- if (state.lineIndent > parentIndent) {
1331
- indentStatus = 1;
1332
- } else if (state.lineIndent === parentIndent) {
1333
- indentStatus = 0;
1334
- } else if (state.lineIndent < parentIndent) {
1335
- indentStatus = -1;
1336
- }
1337
- } else {
1338
- allowBlockCollections = false;
1339
- }
1340
- }
1341
- }
1342
-
1343
- if (allowBlockCollections) {
1344
- allowBlockCollections = atNewLine || allowCompact;
1345
- }
1346
-
1347
- if (indentStatus === 1 || CONTEXT_BLOCK_OUT === nodeContext) {
1348
- if (CONTEXT_FLOW_IN === nodeContext || CONTEXT_FLOW_OUT === nodeContext) {
1349
- flowIndent = parentIndent;
1350
- } else {
1351
- flowIndent = parentIndent + 1;
1352
- }
1353
-
1354
- blockIndent = state.position - state.lineStart;
1355
-
1356
- if (indentStatus === 1) {
1357
- if (allowBlockCollections &&
1358
- (readBlockSequence(state, blockIndent) ||
1359
- readBlockMapping(state, blockIndent, flowIndent)) ||
1360
- readFlowCollection(state, flowIndent)) {
1361
- hasContent = true;
1362
- } else {
1363
- if ((allowBlockScalars && readBlockScalar(state, flowIndent)) ||
1364
- readSingleQuotedScalar(state, flowIndent) ||
1365
- readDoubleQuotedScalar(state, flowIndent)) {
1366
- hasContent = true;
1367
-
1368
- } else if (readAlias(state)) {
1369
- hasContent = true;
1370
-
1371
- if (state.tag !== null || state.anchor !== null) {
1372
- throwError(state, 'alias node should not have any properties');
1373
- }
1374
-
1375
- } else if (readPlainScalar(state, flowIndent, CONTEXT_FLOW_IN === nodeContext)) {
1376
- hasContent = true;
1377
-
1378
- if (state.tag === null) {
1379
- state.tag = '?';
1380
- }
1381
- }
1382
-
1383
- if (state.anchor !== null) {
1384
- state.anchorMap[state.anchor] = state.result;
1385
- }
1386
- }
1387
- } else if (indentStatus === 0) {
1388
- // Special case: block sequences are allowed to have same indentation level as the parent.
1389
- // http://www.yaml.org/spec/1.2/spec.html#id2799784
1390
- hasContent = allowBlockCollections && readBlockSequence(state, blockIndent);
1391
- }
1392
- }
1393
-
1394
- if (state.tag !== null && state.tag !== '!') {
1395
- if (state.tag === '?') {
1396
- // Implicit resolving is not allowed for non-scalar types, and '?'
1397
- // non-specific tag is only automatically assigned to plain scalars.
1398
- //
1399
- // We only need to check kind conformity in case user explicitly assigns '?'
1400
- // tag, for example like this: "!<?> [0]"
1401
- //
1402
- if (state.result !== null && state.kind !== 'scalar') {
1403
- throwError(state, 'unacceptable node kind for !<?> tag; it should be "scalar", not "' + state.kind + '"');
1404
- }
1405
-
1406
- for (typeIndex = 0, typeQuantity = state.implicitTypes.length; typeIndex < typeQuantity; typeIndex += 1) {
1407
- type = state.implicitTypes[typeIndex];
1408
-
1409
- if (type.resolve(state.result)) { // `state.result` updated in resolver if matched
1410
- state.result = type.construct(state.result);
1411
- state.tag = type.tag;
1412
- if (state.anchor !== null) {
1413
- state.anchorMap[state.anchor] = state.result;
1414
- }
1415
- break;
1416
- }
1417
- }
1418
- } else if (_hasOwnProperty.call(state.typeMap[state.kind || 'fallback'], state.tag)) {
1419
- type = state.typeMap[state.kind || 'fallback'][state.tag];
1420
-
1421
- if (state.result !== null && type.kind !== state.kind) {
1422
- throwError(state, 'unacceptable node kind for !<' + state.tag + '> tag; it should be "' + type.kind + '", not "' + state.kind + '"');
1423
- }
1424
-
1425
- if (!type.resolve(state.result)) { // `state.result` updated in resolver if matched
1426
- throwError(state, 'cannot resolve a node with !<' + state.tag + '> explicit tag');
1427
- } else {
1428
- state.result = type.construct(state.result);
1429
- if (state.anchor !== null) {
1430
- state.anchorMap[state.anchor] = state.result;
1431
- }
1432
- }
1433
- } else {
1434
- throwError(state, 'unknown tag !<' + state.tag + '>');
1435
- }
1436
- }
1437
-
1438
- if (state.listener !== null) {
1439
- state.listener('close', state);
1440
- }
1441
- return state.tag !== null || state.anchor !== null || hasContent;
1442
- }
1443
-
1444
- function readDocument(state) {
1445
- var documentStart = state.position,
1446
- _position,
1447
- directiveName,
1448
- directiveArgs,
1449
- hasDirectives = false,
1450
- ch;
1451
-
1452
- state.version = null;
1453
- state.checkLineBreaks = state.legacy;
1454
- state.tagMap = {};
1455
- state.anchorMap = {};
1456
-
1457
- while ((ch = state.input.charCodeAt(state.position)) !== 0) {
1458
- skipSeparationSpace(state, true, -1);
1459
-
1460
- ch = state.input.charCodeAt(state.position);
1461
-
1462
- if (state.lineIndent > 0 || ch !== 0x25/* % */) {
1463
- break;
1464
- }
1465
-
1466
- hasDirectives = true;
1467
- ch = state.input.charCodeAt(++state.position);
1468
- _position = state.position;
1469
-
1470
- while (ch !== 0 && !is_WS_OR_EOL(ch)) {
1471
- ch = state.input.charCodeAt(++state.position);
1472
- }
1473
-
1474
- directiveName = state.input.slice(_position, state.position);
1475
- directiveArgs = [];
1476
-
1477
- if (directiveName.length < 1) {
1478
- throwError(state, 'directive name must not be less than one character in length');
1479
- }
1480
-
1481
- while (ch !== 0) {
1482
- while (is_WHITE_SPACE(ch)) {
1483
- ch = state.input.charCodeAt(++state.position);
1484
- }
1485
-
1486
- if (ch === 0x23/* # */) {
1487
- do { ch = state.input.charCodeAt(++state.position); }
1488
- while (ch !== 0 && !is_EOL(ch));
1489
- break;
1490
- }
1491
-
1492
- if (is_EOL(ch)) break;
1493
-
1494
- _position = state.position;
1495
-
1496
- while (ch !== 0 && !is_WS_OR_EOL(ch)) {
1497
- ch = state.input.charCodeAt(++state.position);
1498
- }
1499
-
1500
- directiveArgs.push(state.input.slice(_position, state.position));
1501
- }
1502
-
1503
- if (ch !== 0) readLineBreak(state);
1504
-
1505
- if (_hasOwnProperty.call(directiveHandlers, directiveName)) {
1506
- directiveHandlers[directiveName](state, directiveName, directiveArgs);
1507
- } else {
1508
- throwWarning(state, 'unknown document directive "' + directiveName + '"');
1509
- }
1510
- }
1511
-
1512
- skipSeparationSpace(state, true, -1);
1513
-
1514
- if (state.lineIndent === 0 &&
1515
- state.input.charCodeAt(state.position) === 0x2D/* - */ &&
1516
- state.input.charCodeAt(state.position + 1) === 0x2D/* - */ &&
1517
- state.input.charCodeAt(state.position + 2) === 0x2D/* - */) {
1518
- state.position += 3;
1519
- skipSeparationSpace(state, true, -1);
1520
-
1521
- } else if (hasDirectives) {
1522
- throwError(state, 'directives end mark is expected');
1523
- }
1524
-
1525
- composeNode(state, state.lineIndent - 1, CONTEXT_BLOCK_OUT, false, true);
1526
- skipSeparationSpace(state, true, -1);
1527
-
1528
- if (state.checkLineBreaks &&
1529
- PATTERN_NON_ASCII_LINE_BREAKS.test(state.input.slice(documentStart, state.position))) {
1530
- throwWarning(state, 'non-ASCII line breaks are interpreted as content');
1531
- }
1532
-
1533
- state.documents.push(state.result);
1534
-
1535
- if (state.position === state.lineStart && testDocumentSeparator(state)) {
1536
-
1537
- if (state.input.charCodeAt(state.position) === 0x2E/* . */) {
1538
- state.position += 3;
1539
- skipSeparationSpace(state, true, -1);
1540
- }
1541
- return;
1542
- }
1543
-
1544
- if (state.position < (state.length - 1)) {
1545
- throwError(state, 'end of the stream or a document separator is expected');
1546
- } else {
1547
- return;
1548
- }
1549
- }
1550
-
1551
-
1552
- function loadDocuments(input, options) {
1553
- input = String(input);
1554
- options = options || {};
1555
-
1556
- if (input.length !== 0) {
1557
-
1558
- // Add tailing `\n` if not exists
1559
- if (input.charCodeAt(input.length - 1) !== 0x0A/* LF */ &&
1560
- input.charCodeAt(input.length - 1) !== 0x0D/* CR */) {
1561
- input += '\n';
1562
- }
1563
-
1564
- // Strip BOM
1565
- if (input.charCodeAt(0) === 0xFEFF) {
1566
- input = input.slice(1);
1567
- }
1568
- }
1569
-
1570
- var state = new State(input, options);
1571
-
1572
- var nullpos = input.indexOf('\0');
1573
-
1574
- if (nullpos !== -1) {
1575
- state.position = nullpos;
1576
- throwError(state, 'null byte is not allowed in input');
1577
- }
1578
-
1579
- // Use 0 as string terminator. That significantly simplifies bounds check.
1580
- state.input += '\0';
1581
-
1582
- while (state.input.charCodeAt(state.position) === 0x20/* Space */) {
1583
- state.lineIndent += 1;
1584
- state.position += 1;
1585
- }
1586
-
1587
- while (state.position < (state.length - 1)) {
1588
- readDocument(state);
1589
- }
1590
-
1591
- return state.documents;
1592
- }
1593
-
1594
-
1595
- function loadAll(input, iterator, options) {
1596
- if (iterator !== null && typeof iterator === 'object' && typeof options === 'undefined') {
1597
- options = iterator;
1598
- iterator = null;
1599
- }
1600
-
1601
- var documents = loadDocuments(input, options);
1602
-
1603
- if (typeof iterator !== 'function') {
1604
- return documents;
1605
- }
1606
-
1607
- for (var index = 0, length = documents.length; index < length; index += 1) {
1608
- iterator(documents[index]);
1609
- }
1610
- }
1611
-
1612
-
1613
- function load(input, options) {
1614
- var documents = loadDocuments(input, options);
1615
-
1616
- if (documents.length === 0) {
1617
- /*eslint-disable no-undefined*/
1618
- return undefined;
1619
- } else if (documents.length === 1) {
1620
- return documents[0];
1621
- }
1622
- throw new YAMLException('expected a single document in the stream, but found more');
1623
- }
1624
-
1625
-
1626
- function safeLoadAll(input, iterator, options) {
1627
- if (typeof iterator === 'object' && iterator !== null && typeof options === 'undefined') {
1628
- options = iterator;
1629
- iterator = null;
1630
- }
1631
-
1632
- return loadAll(input, iterator, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));
1633
- }
1634
-
1635
-
1636
- function safeLoad(input, options) {
1637
- return load(input, common.extend({ schema: DEFAULT_SAFE_SCHEMA }, options));
1638
- }
1639
-
1640
-
1641
- module.exports.loadAll = loadAll;
1642
- module.exports.load = load;
1643
- module.exports.safeLoadAll = safeLoadAll;
1644
- module.exports.safeLoad = safeLoad;