opal-wedge 0.9.0.dev

Sign up to get free protection for your applications and to get access to all the features.
Files changed (830) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +14 -0
  3. data/.gitmodules +7 -0
  4. data/.inch.yml +19 -0
  5. data/.jshintrc +48 -0
  6. data/.rspec +3 -0
  7. data/.spectator +2 -0
  8. data/.spectator-mspec +3 -0
  9. data/.travis.yml +60 -0
  10. data/.yardopts +6 -0
  11. data/CHANGELOG.md +571 -0
  12. data/CODE_OF_CONDUCT.md +15 -0
  13. data/CONTRIBUTING.md +192 -0
  14. data/Gemfile +26 -0
  15. data/Guardfile +77 -0
  16. data/LICENSE +19 -0
  17. data/README.md +167 -0
  18. data/Rakefile +15 -0
  19. data/benchmark/benchmarks +103 -0
  20. data/benchmark/bm_array_intersection_numbers.rb +7 -0
  21. data/benchmark/bm_array_intersection_objects.rb +7 -0
  22. data/benchmark/bm_array_intersection_strings.rb +7 -0
  23. data/benchmark/bm_array_minus_numbers.rb +7 -0
  24. data/benchmark/bm_array_minus_objects.rb +7 -0
  25. data/benchmark/bm_array_minus_strings.rb +7 -0
  26. data/benchmark/bm_array_union_numbers.rb +7 -0
  27. data/benchmark/bm_array_union_objects.rb +7 -0
  28. data/benchmark/bm_array_union_strings.rb +7 -0
  29. data/benchmark/bm_array_uniq_bang_numbers.rb +5 -0
  30. data/benchmark/bm_array_uniq_bang_objects.rb +5 -0
  31. data/benchmark/bm_array_uniq_bang_strings.rb +5 -0
  32. data/benchmark/bm_array_uniq_numbers.rb +5 -0
  33. data/benchmark/bm_array_uniq_objects.rb +5 -0
  34. data/benchmark/bm_array_uniq_strings.rb +5 -0
  35. data/benchmark/bm_dispatch_bind_table.rb +57 -0
  36. data/benchmark/bm_dispatch_code_gen.rb +65 -0
  37. data/benchmark/bm_dispatch_code_gen_if.rb +64 -0
  38. data/benchmark/bm_dispatch_hardcoded.rb +44 -0
  39. data/benchmark/bm_dispatch_send.rb +38 -0
  40. data/benchmark/bm_dispatch_send_table.rb +57 -0
  41. data/benchmark/bm_hash_assoc_object.rb +11 -0
  42. data/benchmark/bm_hash_assoc_string.rb +9 -0
  43. data/benchmark/bm_hash_clone_object.rb +9 -0
  44. data/benchmark/bm_hash_clone_string.rb +9 -0
  45. data/benchmark/bm_hash_delete_object.rb +11 -0
  46. data/benchmark/bm_hash_delete_string.rb +9 -0
  47. data/benchmark/bm_hash_each_key_object.rb +9 -0
  48. data/benchmark/bm_hash_each_key_string.rb +9 -0
  49. data/benchmark/bm_hash_each_object.rb +9 -0
  50. data/benchmark/bm_hash_each_string.rb +9 -0
  51. data/benchmark/bm_hash_each_value_object.rb +9 -0
  52. data/benchmark/bm_hash_each_value_string.rb +9 -0
  53. data/benchmark/bm_hash_element_reference_object.rb +11 -0
  54. data/benchmark/bm_hash_element_reference_string.rb +9 -0
  55. data/benchmark/bm_hash_element_set_object.rb +5 -0
  56. data/benchmark/bm_hash_element_set_string.rb +5 -0
  57. data/benchmark/bm_hash_equal_value_object.rb +14 -0
  58. data/benchmark/bm_hash_equal_value_string.rb +11 -0
  59. data/benchmark/bm_hash_fetch_object.rb +11 -0
  60. data/benchmark/bm_hash_fetch_string.rb +9 -0
  61. data/benchmark/bm_hash_flatten_object.rb +9 -0
  62. data/benchmark/bm_hash_flatten_string.rb +9 -0
  63. data/benchmark/bm_hash_has_key_object.rb +11 -0
  64. data/benchmark/bm_hash_has_key_string.rb +9 -0
  65. data/benchmark/bm_hash_has_value_object.rb +9 -0
  66. data/benchmark/bm_hash_has_value_string.rb +9 -0
  67. data/benchmark/bm_hash_hash_object.rb +9 -0
  68. data/benchmark/bm_hash_hash_string.rb +9 -0
  69. data/benchmark/bm_hash_inspect_object.rb +9 -0
  70. data/benchmark/bm_hash_inspect_string.rb +9 -0
  71. data/benchmark/bm_hash_invert_object.rb +9 -0
  72. data/benchmark/bm_hash_invert_string.rb +9 -0
  73. data/benchmark/bm_hash_keep_if_object.rb +9 -0
  74. data/benchmark/bm_hash_keep_if_string.rb +9 -0
  75. data/benchmark/bm_hash_key_object.rb +9 -0
  76. data/benchmark/bm_hash_key_string.rb +9 -0
  77. data/benchmark/bm_hash_keys_object.rb +9 -0
  78. data/benchmark/bm_hash_keys_string.rb +9 -0
  79. data/benchmark/bm_hash_literal_mixed_large.rb +3 -0
  80. data/benchmark/bm_hash_literal_mixed_small.rb +3 -0
  81. data/benchmark/bm_hash_literal_object_large.rb +4 -0
  82. data/benchmark/bm_hash_literal_object_small.rb +3 -0
  83. data/benchmark/bm_hash_literal_string_large.rb +4 -0
  84. data/benchmark/bm_hash_literal_string_small.rb +3 -0
  85. data/benchmark/bm_hash_merge_object.rb +22 -0
  86. data/benchmark/bm_hash_merge_string.rb +18 -0
  87. data/benchmark/bm_hash_rassoc_object.rb +9 -0
  88. data/benchmark/bm_hash_rassoc_string.rb +9 -0
  89. data/benchmark/bm_hash_rehash_object.rb +9 -0
  90. data/benchmark/bm_hash_rehash_string.rb +9 -0
  91. data/benchmark/bm_hash_reject_bang_object.rb +9 -0
  92. data/benchmark/bm_hash_reject_bang_string.rb +9 -0
  93. data/benchmark/bm_hash_reject_object.rb +9 -0
  94. data/benchmark/bm_hash_reject_string.rb +9 -0
  95. data/benchmark/bm_hash_replace_object.rb +18 -0
  96. data/benchmark/bm_hash_replace_string.rb +14 -0
  97. data/benchmark/bm_hash_select_bang_object.rb +9 -0
  98. data/benchmark/bm_hash_select_bang_string.rb +9 -0
  99. data/benchmark/bm_hash_select_object.rb +9 -0
  100. data/benchmark/bm_hash_select_string.rb +9 -0
  101. data/benchmark/bm_hash_shift_object.rb +10 -0
  102. data/benchmark/bm_hash_shift_string.rb +10 -0
  103. data/benchmark/bm_hash_to_a_object.rb +9 -0
  104. data/benchmark/bm_hash_to_a_string.rb +9 -0
  105. data/benchmark/bm_hash_to_h_object.rb +10 -0
  106. data/benchmark/bm_hash_to_h_string.rb +10 -0
  107. data/benchmark/bm_hash_values_object.rb +9 -0
  108. data/benchmark/bm_hash_values_string.rb +9 -0
  109. data/benchmark/run.rb +37 -0
  110. data/bin/opal +27 -0
  111. data/bin/opal-build +77 -0
  112. data/bin/opal-mspec +10 -0
  113. data/bin/opal-repl +72 -0
  114. data/config.ru +14 -0
  115. data/docs/compiler_directives.md +127 -0
  116. data/examples/rack/.gitignore +1 -0
  117. data/examples/rack/Gemfile +3 -0
  118. data/examples/rack/app/application.rb +13 -0
  119. data/examples/rack/app/user.rb +22 -0
  120. data/examples/rack/config.ru +20 -0
  121. data/examples/rack/index.html.erb +10 -0
  122. data/examples/sinatra/Gemfile +5 -0
  123. data/examples/sinatra/app/application.rb +7 -0
  124. data/examples/sinatra/config.ru +38 -0
  125. data/lib/mspec/opal/main.rb.erb +9 -0
  126. data/lib/mspec/opal/new.html.erb +1 -0
  127. data/lib/mspec/opal/rake_task.rb +248 -0
  128. data/lib/mspec/opal/runner.rb +281 -0
  129. data/lib/mspec/opal/special_calls.rb +44 -0
  130. data/lib/mspec/opal/sprockets.js +57 -0
  131. data/lib/opal-wedge.rb +4 -0
  132. data/lib/opal.rb +11 -0
  133. data/lib/opal/builder.rb +161 -0
  134. data/lib/opal/builder_processors.rb +149 -0
  135. data/lib/opal/cli.rb +162 -0
  136. data/lib/opal/cli_options.rb +158 -0
  137. data/lib/opal/cli_runners.rb +11 -0
  138. data/lib/opal/cli_runners/apple_script.rb +65 -0
  139. data/lib/opal/cli_runners/nodejs.rb +63 -0
  140. data/lib/opal/cli_runners/phantom.js +44 -0
  141. data/lib/opal/cli_runners/phantomjs.rb +28 -0
  142. data/lib/opal/cli_runners/server.rb +56 -0
  143. data/lib/opal/compiler.rb +381 -0
  144. data/lib/opal/config.rb +48 -0
  145. data/lib/opal/erb.rb +84 -0
  146. data/lib/opal/fragment.rb +53 -0
  147. data/lib/opal/hike_path_finder.rb +18 -0
  148. data/lib/opal/nodes.rb +26 -0
  149. data/lib/opal/nodes/arglist.rb +56 -0
  150. data/lib/opal/nodes/array.rb +54 -0
  151. data/lib/opal/nodes/base.rb +151 -0
  152. data/lib/opal/nodes/call.rb +290 -0
  153. data/lib/opal/nodes/call_special.rb +252 -0
  154. data/lib/opal/nodes/case.rb +96 -0
  155. data/lib/opal/nodes/class.rb +42 -0
  156. data/lib/opal/nodes/constants.rb +78 -0
  157. data/lib/opal/nodes/def.rb +281 -0
  158. data/lib/opal/nodes/defined.rb +113 -0
  159. data/lib/opal/nodes/definitions.rb +168 -0
  160. data/lib/opal/nodes/for.rb +48 -0
  161. data/lib/opal/nodes/hash.rb +67 -0
  162. data/lib/opal/nodes/helpers.rb +116 -0
  163. data/lib/opal/nodes/if.rb +81 -0
  164. data/lib/opal/nodes/iter.rb +136 -0
  165. data/lib/opal/nodes/literal.rb +247 -0
  166. data/lib/opal/nodes/logic.rb +217 -0
  167. data/lib/opal/nodes/masgn.rb +62 -0
  168. data/lib/opal/nodes/module.rb +45 -0
  169. data/lib/opal/nodes/rescue.rb +143 -0
  170. data/lib/opal/nodes/runtime_helpers.rb +45 -0
  171. data/lib/opal/nodes/scope.rb +281 -0
  172. data/lib/opal/nodes/singleton_class.rb +26 -0
  173. data/lib/opal/nodes/super.rb +97 -0
  174. data/lib/opal/nodes/top.rb +103 -0
  175. data/lib/opal/nodes/variables.rb +191 -0
  176. data/lib/opal/nodes/while.rb +65 -0
  177. data/lib/opal/nodes/yield.rb +95 -0
  178. data/lib/opal/parser.rb +742 -0
  179. data/lib/opal/parser/grammar.rb +5723 -0
  180. data/lib/opal/parser/grammar.y +1787 -0
  181. data/lib/opal/parser/keywords.rb +66 -0
  182. data/lib/opal/parser/lexer.rb +1260 -0
  183. data/lib/opal/parser/parser_scope.rb +28 -0
  184. data/lib/opal/parser/sexp.rb +81 -0
  185. data/lib/opal/path_reader.rb +35 -0
  186. data/lib/opal/paths.rb +55 -0
  187. data/lib/opal/regexp_anchors.rb +5 -0
  188. data/lib/opal/source_map.rb +70 -0
  189. data/lib/opal/sprockets.rb +3 -0
  190. data/lib/opal/sprockets/cache_key_fix.rb +17 -0
  191. data/lib/opal/sprockets/environment.rb +31 -0
  192. data/lib/opal/sprockets/erb.rb +23 -0
  193. data/lib/opal/sprockets/path_reader.rb +36 -0
  194. data/lib/opal/sprockets/processor.rb +167 -0
  195. data/lib/opal/sprockets/server.rb +160 -0
  196. data/lib/opal/sprockets/source_map_header_patch.rb +41 -0
  197. data/lib/opal/sprockets/source_map_server.rb +115 -0
  198. data/lib/opal/util.rb +69 -0
  199. data/lib/opal/version.rb +5 -0
  200. data/lib/tilt/opal.rb +54 -0
  201. data/opal.gemspec +37 -0
  202. data/opal/README.md +6 -0
  203. data/opal/corelib/array.rb +2073 -0
  204. data/opal/corelib/array/inheritance.rb +127 -0
  205. data/opal/corelib/basic_object.rb +82 -0
  206. data/opal/corelib/boolean.rb +47 -0
  207. data/opal/corelib/class.rb +55 -0
  208. data/opal/corelib/comparable.rb +57 -0
  209. data/opal/corelib/complex.rb +3 -0
  210. data/opal/corelib/dir.rb +20 -0
  211. data/opal/corelib/enumerable.rb +1138 -0
  212. data/opal/corelib/enumerator.rb +426 -0
  213. data/opal/corelib/error.rb +77 -0
  214. data/opal/corelib/file.rb +59 -0
  215. data/opal/corelib/hash.rb +951 -0
  216. data/opal/corelib/helpers.rb +102 -0
  217. data/opal/corelib/io.rb +73 -0
  218. data/opal/corelib/kernel.rb +1124 -0
  219. data/opal/corelib/main.rb +7 -0
  220. data/opal/corelib/match_data.rb +128 -0
  221. data/opal/corelib/method.rb +62 -0
  222. data/opal/corelib/module.rb +553 -0
  223. data/opal/corelib/nil_class.rb +57 -0
  224. data/opal/corelib/numeric.rb +564 -0
  225. data/opal/corelib/proc.rb +105 -0
  226. data/opal/corelib/process.rb +27 -0
  227. data/opal/corelib/range.rb +116 -0
  228. data/opal/corelib/rational.rb +3 -0
  229. data/opal/corelib/regexp.rb +203 -0
  230. data/opal/corelib/runtime.js +1637 -0
  231. data/opal/corelib/string.rb +1762 -0
  232. data/opal/corelib/string/inheritance.rb +117 -0
  233. data/opal/corelib/struct.rb +159 -0
  234. data/opal/corelib/time.rb +746 -0
  235. data/opal/corelib/variables.rb +28 -0
  236. data/opal/opal.rb +33 -0
  237. data/spec/README.md +8 -0
  238. data/spec/filters/bugs/array.rb +77 -0
  239. data/spec/filters/bugs/basicobject.rb +33 -0
  240. data/spec/filters/bugs/class.rb +15 -0
  241. data/spec/filters/bugs/comparable.rb +4 -0
  242. data/spec/filters/bugs/date.rb +173 -0
  243. data/spec/filters/bugs/enumerable.rb +62 -0
  244. data/spec/filters/bugs/enumerator.rb +45 -0
  245. data/spec/filters/bugs/exception.rb +84 -0
  246. data/spec/filters/bugs/fixnum.rb +35 -0
  247. data/spec/filters/bugs/float.rb +100 -0
  248. data/spec/filters/bugs/hash.rb +17 -0
  249. data/spec/filters/bugs/integer.rb +63 -0
  250. data/spec/filters/bugs/kernel.rb +395 -0
  251. data/spec/filters/bugs/language.rb +246 -0
  252. data/spec/filters/bugs/math.rb +89 -0
  253. data/spec/filters/bugs/method.rb +5 -0
  254. data/spec/filters/bugs/module.rb +372 -0
  255. data/spec/filters/bugs/nil.rb +7 -0
  256. data/spec/filters/bugs/numeric.rb +123 -0
  257. data/spec/filters/bugs/proc.rb +65 -0
  258. data/spec/filters/bugs/range.rb +148 -0
  259. data/spec/filters/bugs/regexp.rb +252 -0
  260. data/spec/filters/bugs/set.rb +51 -0
  261. data/spec/filters/bugs/singleton.rb +6 -0
  262. data/spec/filters/bugs/string.rb +99 -0
  263. data/spec/filters/bugs/strscan.rb +106 -0
  264. data/spec/filters/bugs/struct.rb +22 -0
  265. data/spec/filters/bugs/time.rb +28 -0
  266. data/spec/filters/bugs/unboundmethod.rb +22 -0
  267. data/spec/filters/unsupported/array.rb +176 -0
  268. data/spec/filters/unsupported/basicobject.rb +12 -0
  269. data/spec/filters/unsupported/class.rb +4 -0
  270. data/spec/filters/unsupported/delegator.rb +5 -0
  271. data/spec/filters/unsupported/enumerable.rb +8 -0
  272. data/spec/filters/unsupported/enumerator.rb +13 -0
  273. data/spec/filters/unsupported/fixnum.rb +15 -0
  274. data/spec/filters/unsupported/float.rb +6 -0
  275. data/spec/filters/unsupported/hash.rb +55 -0
  276. data/spec/filters/unsupported/integer.rb +3 -0
  277. data/spec/filters/unsupported/kernel.rb +22 -0
  278. data/spec/filters/unsupported/language.rb +31 -0
  279. data/spec/filters/unsupported/matchdata.rb +33 -0
  280. data/spec/filters/unsupported/math.rb +3 -0
  281. data/spec/filters/unsupported/module.rb +36 -0
  282. data/spec/filters/unsupported/pathname.rb +3 -0
  283. data/spec/filters/unsupported/regexp.rb +94 -0
  284. data/spec/filters/unsupported/set.rb +4 -0
  285. data/spec/filters/unsupported/singleton.rb +6 -0
  286. data/spec/filters/unsupported/string.rb +538 -0
  287. data/spec/filters/unsupported/struct.rb +3 -0
  288. data/spec/filters/unsupported/time.rb +208 -0
  289. data/spec/lib/builder_processors_spec.rb +27 -0
  290. data/spec/lib/builder_spec.rb +72 -0
  291. data/spec/lib/cli_spec.rb +150 -0
  292. data/spec/lib/compiler/pre_processed_conditionals_spec.rb +87 -0
  293. data/spec/lib/compiler_spec.rb +131 -0
  294. data/spec/lib/dependency_resolver_spec.rb +40 -0
  295. data/spec/lib/fixtures/complex_sprockets.js.rb.erb +4 -0
  296. data/spec/lib/fixtures/file_with_directives.js +2 -0
  297. data/spec/lib/fixtures/jst_file.js.jst +1 -0
  298. data/spec/lib/fixtures/no_requires.rb +1 -0
  299. data/spec/lib/fixtures/opal_file.rb +2 -0
  300. data/spec/lib/fixtures/require_tree_test.rb +3 -0
  301. data/spec/lib/fixtures/required_file.js +1 -0
  302. data/spec/lib/fixtures/required_tree_test/required_file1.rb +1 -0
  303. data/spec/lib/fixtures/required_tree_test/required_file2.rb +1 -0
  304. data/spec/lib/fixtures/requires.rb +7 -0
  305. data/spec/lib/fixtures/source_map.rb +1 -0
  306. data/spec/lib/fixtures/source_map/subfolder/other_file.rb +1 -0
  307. data/spec/lib/fixtures/sprockets_file.js.rb +3 -0
  308. data/spec/lib/fixtures/sprockets_require_tree_test.rb +3 -0
  309. data/spec/lib/hike_path_finder_spec.rb +23 -0
  310. data/spec/lib/lexer_spec.rb +110 -0
  311. data/spec/lib/parser/alias_spec.rb +26 -0
  312. data/spec/lib/parser/and_spec.rb +13 -0
  313. data/spec/lib/parser/attrasgn_spec.rb +28 -0
  314. data/spec/lib/parser/begin_spec.rb +42 -0
  315. data/spec/lib/parser/block_spec.rb +12 -0
  316. data/spec/lib/parser/break_spec.rb +17 -0
  317. data/spec/lib/parser/call_spec.rb +165 -0
  318. data/spec/lib/parser/class_spec.rb +35 -0
  319. data/spec/lib/parser/comments_spec.rb +11 -0
  320. data/spec/lib/parser/def_spec.rb +80 -0
  321. data/spec/lib/parser/if_spec.rb +26 -0
  322. data/spec/lib/parser/iter_spec.rb +59 -0
  323. data/spec/lib/parser/lambda_spec.rb +64 -0
  324. data/spec/lib/parser/literal_spec.rb +118 -0
  325. data/spec/lib/parser/masgn_spec.rb +37 -0
  326. data/spec/lib/parser/module_spec.rb +27 -0
  327. data/spec/lib/parser/not_spec.rb +21 -0
  328. data/spec/lib/parser/op_asgn1_spec.rb +23 -0
  329. data/spec/lib/parser/op_asgn2_spec.rb +23 -0
  330. data/spec/lib/parser/or_spec.rb +13 -0
  331. data/spec/lib/parser/return_spec.rb +17 -0
  332. data/spec/lib/parser/sclass_spec.rb +21 -0
  333. data/spec/lib/parser/string_spec.rb +276 -0
  334. data/spec/lib/parser/super_spec.rb +20 -0
  335. data/spec/lib/parser/unary_spec.rb +48 -0
  336. data/spec/lib/parser/undef_spec.rb +15 -0
  337. data/spec/lib/parser/unless_spec.rb +13 -0
  338. data/spec/lib/parser/variables_spec.rb +92 -0
  339. data/spec/lib/parser/while_spec.rb +15 -0
  340. data/spec/lib/parser/yield_spec.rb +20 -0
  341. data/spec/lib/path_reader_spec.rb +36 -0
  342. data/spec/lib/shared/path_finder_shared.rb +19 -0
  343. data/spec/lib/shared/path_reader_shared.rb +31 -0
  344. data/spec/lib/spec_helper.rb +9 -0
  345. data/spec/lib/sprockets/erb_spec.rb +38 -0
  346. data/spec/lib/sprockets/path_reader_spec.rb +41 -0
  347. data/spec/lib/sprockets/processor_spec.rb +67 -0
  348. data/spec/lib/sprockets/server_spec.rb +102 -0
  349. data/spec/lib/tilt/opal_spec.rb +37 -0
  350. data/spec/opal/compiler/irb_spec.rb +44 -0
  351. data/spec/opal/core/array/intersection_spec.rb +38 -0
  352. data/spec/opal/core/array/minus_spec.rb +38 -0
  353. data/spec/opal/core/array/select_spec.rb +14 -0
  354. data/spec/opal/core/array/set_range_to_array_spec.rb +7 -0
  355. data/spec/opal/core/array/union_spec.rb +38 -0
  356. data/spec/opal/core/array/uniq_spec.rb +49 -0
  357. data/spec/opal/core/date_spec.rb +177 -0
  358. data/spec/opal/core/enumerable/all_break_spec.rb +5 -0
  359. data/spec/opal/core/enumerable/any_break_spec.rb +5 -0
  360. data/spec/opal/core/enumerable/collect_break_spec.rb +13 -0
  361. data/spec/opal/core/enumerable/count_break_spec.rb +5 -0
  362. data/spec/opal/core/enumerable/detect_break_spec.rb +5 -0
  363. data/spec/opal/core/enumerable/drop_while_break_spec.rb +5 -0
  364. data/spec/opal/core/enumerable/each_slice_break.rb +6 -0
  365. data/spec/opal/core/enumerable/each_with_index_break_spec.rb +5 -0
  366. data/spec/opal/core/enumerable/each_with_object_break_spec.rb +5 -0
  367. data/spec/opal/core/enumerable/find_all_break_spec.rb +5 -0
  368. data/spec/opal/core/enumerable/find_index_break_spec.rb +5 -0
  369. data/spec/opal/core/enumerable/grep_break_spec.rb +5 -0
  370. data/spec/opal/core/enumerable/max_break_spec.rb +5 -0
  371. data/spec/opal/core/enumerable/max_by_break_spec.rb +5 -0
  372. data/spec/opal/core/enumerable/min_break_spec.rb +5 -0
  373. data/spec/opal/core/enumerable/min_by_break_spec.rb +5 -0
  374. data/spec/opal/core/enumerable/none_break_spec.rb +5 -0
  375. data/spec/opal/core/enumerable/one_break_spec.rb +5 -0
  376. data/spec/opal/core/enumerable/reduce_break_spec.rb +5 -0
  377. data/spec/opal/core/enumerable/take_while_break_spec.rb +5 -0
  378. data/spec/opal/core/exception_spec.rb +13 -0
  379. data/spec/opal/core/fixtures/class.rb +124 -0
  380. data/spec/opal/core/fixtures/class_variables.rb +0 -0
  381. data/spec/opal/core/fixtures/constants.rb +33 -0
  382. data/spec/opal/core/fixtures/require_tree_files/file 1.rb +1 -0
  383. data/spec/opal/core/fixtures/require_tree_files/file 2.rb +1 -0
  384. data/spec/opal/core/fixtures/require_tree_files/file 3.rb +1 -0
  385. data/spec/opal/core/fixtures/require_tree_files/file 4.rb +1 -0
  386. data/spec/opal/core/fixtures/require_tree_files/file 5.rb +1 -0
  387. data/spec/opal/core/fixtures/require_tree_files/nested/nested 1.rb +1 -0
  388. data/spec/opal/core/fixtures/require_tree_files/nested/nested 2.rb +1 -0
  389. data/spec/opal/core/fixtures/require_tree_files/other/other 1.rb +1 -0
  390. data/spec/opal/core/fixtures/require_tree_with_dot/file 1.rb +1 -0
  391. data/spec/opal/core/fixtures/require_tree_with_dot/file 2.rb +1 -0
  392. data/spec/opal/core/fixtures/require_tree_with_dot/file 3.rb +1 -0
  393. data/spec/opal/core/fixtures/require_tree_with_dot/index.rb +3 -0
  394. data/spec/opal/core/hash/has_value_spec.rb +13 -0
  395. data/spec/opal/core/hash/internals_spec.rb +332 -0
  396. data/spec/opal/core/kernel/Array_spec.rb +10 -0
  397. data/spec/opal/core/kernel/block_given_spec.rb +30 -0
  398. data/spec/opal/core/kernel/class_spec.rb +6 -0
  399. data/spec/opal/core/kernel/define_singleton_method_spec.rb +21 -0
  400. data/spec/opal/core/kernel/equal_value_spec.rb +12 -0
  401. data/spec/opal/core/kernel/extend_spec.rb +21 -0
  402. data/spec/opal/core/kernel/format_spec.rb +122 -0
  403. data/spec/opal/core/kernel/freeze_spec.rb +15 -0
  404. data/spec/opal/core/kernel/instance_eval_spec.rb +28 -0
  405. data/spec/opal/core/kernel/instance_variable_defined_spec.rb +15 -0
  406. data/spec/opal/core/kernel/instance_variable_get_spec.rb +14 -0
  407. data/spec/opal/core/kernel/instance_variable_set_spec.rb +10 -0
  408. data/spec/opal/core/kernel/loop_spec.rb +23 -0
  409. data/spec/opal/core/kernel/match_spec.rb +5 -0
  410. data/spec/opal/core/kernel/method_spec.rb +31 -0
  411. data/spec/opal/core/kernel/methods_spec.rb +25 -0
  412. data/spec/opal/core/kernel/nil_spec.rb +7 -0
  413. data/spec/opal/core/kernel/p_spec.rb +15 -0
  414. data/spec/opal/core/kernel/printf_spec.rb +11 -0
  415. data/spec/opal/core/kernel/proc_spec.rb +13 -0
  416. data/spec/opal/core/kernel/rand_spec.rb +23 -0
  417. data/spec/opal/core/kernel/require_tree_spec.rb +18 -0
  418. data/spec/opal/core/kernel/respond_to_spec.rb +41 -0
  419. data/spec/opal/core/kernel/send_spec.rb +56 -0
  420. data/spec/opal/core/kernel/sprintf_spec.rb +5 -0
  421. data/spec/opal/core/language/block_spec.rb +538 -0
  422. data/spec/opal/core/language/fixtures/array.rb +11 -0
  423. data/spec/opal/core/language/fixtures/block.rb +57 -0
  424. data/spec/opal/core/language/fixtures/break.rb +240 -0
  425. data/spec/opal/core/language/fixtures/ensure.rb +72 -0
  426. data/spec/opal/core/language/fixtures/literal_lambda.rb +7 -0
  427. data/spec/opal/core/language/fixtures/metaclass.rb +33 -0
  428. data/spec/opal/core/language/fixtures/module.rb +24 -0
  429. data/spec/opal/core/language/fixtures/next.rb +128 -0
  430. data/spec/opal/core/language/fixtures/return.rb +118 -0
  431. data/spec/opal/core/language/fixtures/send.rb +110 -0
  432. data/spec/opal/core/language/fixtures/send_1.9.rb +22 -0
  433. data/spec/opal/core/language/fixtures/super.rb +308 -0
  434. data/spec/opal/core/language/fixtures/variables.rb +58 -0
  435. data/spec/opal/core/language/fixtures/yield.rb +28 -0
  436. data/spec/opal/core/language/predefined_spec.rb +138 -0
  437. data/spec/opal/core/language/proc_spec.rb +263 -0
  438. data/spec/opal/core/language/regexp_spec.rb +20 -0
  439. data/spec/opal/core/language/send_spec.rb +225 -0
  440. data/spec/opal/core/language/string_spec.rb +44 -0
  441. data/spec/opal/core/language/variables_spec.rb +1366 -0
  442. data/spec/opal/core/language/versions/array_1.9.rb +39 -0
  443. data/spec/opal/core/language/versions/block_1.9.rb +0 -0
  444. data/spec/opal/core/language/versions/break_1.9.rb +0 -0
  445. data/spec/opal/core/language/versions/case_1.9.rb +20 -0
  446. data/spec/opal/core/language/versions/def_2_0_spec.rb +62 -0
  447. data/spec/opal/core/language/versions/hash_1.9.rb +18 -0
  448. data/spec/opal/core/language/versions/literal_lambda_1.9.rb +143 -0
  449. data/spec/opal/core/language/versions/not_1.9.rb +22 -0
  450. data/spec/opal/core/language/versions/send_1.9.rb +241 -0
  451. data/spec/opal/core/language/versions/symbol_1.9.rb +15 -0
  452. data/spec/opal/core/language/versions/variables_1.9.rb +8 -0
  453. data/spec/opal/core/language_spec.rb +23 -0
  454. data/spec/opal/core/method/to_proc_spec.rb +28 -0
  455. data/spec/opal/core/module/alias_method_spec.rb +28 -0
  456. data/spec/opal/core/module/ancestors_spec.rb +11 -0
  457. data/spec/opal/core/module/append_features_spec.rb +14 -0
  458. data/spec/opal/core/module/attr_accessor_spec.rb +26 -0
  459. data/spec/opal/core/module/const_defined_spec.rb +85 -0
  460. data/spec/opal/core/module/const_get_spec.rb +85 -0
  461. data/spec/opal/core/module/const_missing_spec.rb +17 -0
  462. data/spec/opal/core/module/const_set_spec.rb +64 -0
  463. data/spec/opal/core/module/constants_spec.rb +49 -0
  464. data/spec/opal/core/module/fixtures/classes.rb +434 -0
  465. data/spec/opal/core/module/method_defined_spec.rb +48 -0
  466. data/spec/opal/core/module/module_function_spec.rb +25 -0
  467. data/spec/opal/core/module/name_spec.rb +52 -0
  468. data/spec/opal/core/module/public_method_defined_spec.rb +18 -0
  469. data/spec/opal/core/module/remove_const_spec.rb +22 -0
  470. data/spec/opal/core/module/undef_method_spec.rb +66 -0
  471. data/spec/opal/core/numeric/bit_and_spec.rb +7 -0
  472. data/spec/opal/core/numeric/bit_or_spec.rb +8 -0
  473. data/spec/opal/core/numeric/bit_xor_spec.rb +6 -0
  474. data/spec/opal/core/numeric/ceil_spec.rb +8 -0
  475. data/spec/opal/core/numeric/chr_spec.rb +8 -0
  476. data/spec/opal/core/numeric/comparison_spec.rb +24 -0
  477. data/spec/opal/core/numeric/complement_spec.rb +8 -0
  478. data/spec/opal/core/numeric/divide_spec.rb +10 -0
  479. data/spec/opal/core/numeric/eql_spec.rb +9 -0
  480. data/spec/opal/core/numeric/exponent_spec.rb +33 -0
  481. data/spec/opal/core/numeric/floor_spec.rb +8 -0
  482. data/spec/opal/core/numeric/gt_spec.rb +11 -0
  483. data/spec/opal/core/numeric/gte_spec.rb +12 -0
  484. data/spec/opal/core/numeric/integer_spec.rb +9 -0
  485. data/spec/opal/core/numeric/left_shift_spec.rb +21 -0
  486. data/spec/opal/core/numeric/lt_spec.rb +11 -0
  487. data/spec/opal/core/numeric/lte_spec.rb +12 -0
  488. data/spec/opal/core/numeric/minus_spec.rb +8 -0
  489. data/spec/opal/core/numeric/modulo_spec.rb +19 -0
  490. data/spec/opal/core/numeric/multiply_spec.rb +9 -0
  491. data/spec/opal/core/numeric/next_spec.rb +9 -0
  492. data/spec/opal/core/numeric/ord_spec.rb +9 -0
  493. data/spec/opal/core/numeric/plus_spec.rb +8 -0
  494. data/spec/opal/core/numeric/pred_spec.rb +7 -0
  495. data/spec/opal/core/numeric/right_shift_spec.rb +25 -0
  496. data/spec/opal/core/numeric/step_spec.rb +11 -0
  497. data/spec/opal/core/numeric/succ_spec.rb +9 -0
  498. data/spec/opal/core/numeric/times_spec.rb +36 -0
  499. data/spec/opal/core/numeric/to_f_spec.rb +7 -0
  500. data/spec/opal/core/numeric/to_i_spec.rb +7 -0
  501. data/spec/opal/core/numeric/to_json_spec.rb +8 -0
  502. data/spec/opal/core/numeric/to_s_spec.rb +26 -0
  503. data/spec/opal/core/numeric/uminus_spec.rb +9 -0
  504. data/spec/opal/core/numeric/upto_spec.rb +19 -0
  505. data/spec/opal/core/numeric/zero_spec.rb +7 -0
  506. data/spec/opal/core/object_id_spec.rb +56 -0
  507. data/spec/opal/core/proc/call_spec.rb +21 -0
  508. data/spec/opal/core/proc/element_reference_spec.rb +21 -0
  509. data/spec/opal/core/proc/proc_tricks_spec.rb +7 -0
  510. data/spec/opal/core/runtime/begin_spec.rb +39 -0
  511. data/spec/opal/core/runtime/block_send_spec.rb +28 -0
  512. data/spec/opal/core/runtime/block_spec.rb +23 -0
  513. data/spec/opal/core/runtime/bridged_classes_spec.rb +111 -0
  514. data/spec/opal/core/runtime/constants_spec.rb +13 -0
  515. data/spec/opal/core/runtime/donate_spec.rb +53 -0
  516. data/spec/opal/core/runtime/eval_spec.rb +5 -0
  517. data/spec/opal/core/runtime/main_methods_spec.rb +27 -0
  518. data/spec/opal/core/runtime/method_missing_spec.rb +62 -0
  519. data/spec/opal/core/runtime/method_spec.rb +31 -0
  520. data/spec/opal/core/runtime/operator_call_spec.rb +13 -0
  521. data/spec/opal/core/runtime/paren_spec.rb +14 -0
  522. data/spec/opal/core/runtime/rescue_spec.rb +38 -0
  523. data/spec/opal/core/runtime/return_spec.rb +38 -0
  524. data/spec/opal/core/runtime/send_spec.rb +34 -0
  525. data/spec/opal/core/runtime/singleton_class_spec.rb +13 -0
  526. data/spec/opal/core/runtime/super_spec.rb +212 -0
  527. data/spec/opal/core/runtime/truthy_spec.rb +23 -0
  528. data/spec/opal/core/runtime/variables_spec.rb +20 -0
  529. data/spec/opal/core/runtime_spec.rb +58 -0
  530. data/spec/opal/core/source_map_spec.rb +15 -0
  531. data/spec/opal/core/string_spec.rb +11 -0
  532. data/spec/opal/stdlib/erb/erb_spec.rb +30 -0
  533. data/spec/opal/stdlib/erb/inline_block.opalerb +3 -0
  534. data/spec/opal/stdlib/erb/quoted.opalerb +1 -0
  535. data/spec/opal/stdlib/erb/simple.opalerb +1 -0
  536. data/spec/opal/stdlib/js_spec.rb +66 -0
  537. data/spec/opal/stdlib/json/ext_spec.rb +48 -0
  538. data/spec/opal/stdlib/json/parse_spec.rb +33 -0
  539. data/spec/opal/stdlib/native/alias_native_spec.rb +27 -0
  540. data/spec/opal/stdlib/native/each_spec.rb +13 -0
  541. data/spec/opal/stdlib/native/element_reference_spec.rb +16 -0
  542. data/spec/opal/stdlib/native/exposure_spec.rb +33 -0
  543. data/spec/opal/stdlib/native/ext_spec.rb +19 -0
  544. data/spec/opal/stdlib/native/initialize_spec.rb +17 -0
  545. data/spec/opal/stdlib/native/method_missing_spec.rb +51 -0
  546. data/spec/opal/stdlib/native/native_alias_spec.rb +19 -0
  547. data/spec/opal/stdlib/native/native_class_spec.rb +18 -0
  548. data/spec/opal/stdlib/native/native_module_spec.rb +13 -0
  549. data/spec/opal/stdlib/native/native_reader_spec.rb +22 -0
  550. data/spec/opal/stdlib/native/native_writer_spec.rb +30 -0
  551. data/spec/opal/stdlib/native/new_spec.rb +8 -0
  552. data/spec/opal/stdlib/promise/always_spec.rb +30 -0
  553. data/spec/opal/stdlib/promise/error_spec.rb +15 -0
  554. data/spec/opal/stdlib/promise/rescue_spec.rb +44 -0
  555. data/spec/opal/stdlib/promise/then_spec.rb +71 -0
  556. data/spec/opal/stdlib/promise/trace_spec.rb +52 -0
  557. data/spec/opal/stdlib/promise/value_spec.rb +15 -0
  558. data/spec/opal/stdlib/promise/when_spec.rb +34 -0
  559. data/spec/opal/stdlib/template/paths_spec.rb +10 -0
  560. data/spec/opal/stdlib/thread/mutex_spec.rb +40 -0
  561. data/spec/opal/stdlib/thread/thread_queue_spec.rb +32 -0
  562. data/spec/opal/stdlib/thread/thread_spec.rb +60 -0
  563. data/spec/rubyspecs +144 -0
  564. data/spec/spec_helper.rb +53 -0
  565. data/spec/support/mspec_rspec_adapter.rb +33 -0
  566. data/spec/support/parser_helpers.rb +37 -0
  567. data/stdlib/README.md +3 -0
  568. data/stdlib/base64.rb +152 -0
  569. data/stdlib/benchmark.rb +557 -0
  570. data/stdlib/buffer.rb +41 -0
  571. data/stdlib/buffer/array.rb +66 -0
  572. data/stdlib/buffer/view.rb +70 -0
  573. data/stdlib/date.rb +248 -0
  574. data/stdlib/delegate.rb +29 -0
  575. data/stdlib/dir.rb +1 -0
  576. data/stdlib/encoding.rb +170 -0
  577. data/stdlib/enumerator.rb +1 -0
  578. data/stdlib/erb.rb +16 -0
  579. data/stdlib/file.rb +1 -0
  580. data/stdlib/fileutils.rb +0 -0
  581. data/stdlib/forwardable.rb +71 -0
  582. data/stdlib/iconv.rb +0 -0
  583. data/stdlib/js.rb +56 -0
  584. data/stdlib/json.rb +190 -0
  585. data/stdlib/math.rb +370 -0
  586. data/stdlib/native.rb +530 -0
  587. data/stdlib/nodejs.rb +7 -0
  588. data/stdlib/nodejs/dir.rb +13 -0
  589. data/stdlib/nodejs/file.rb +98 -0
  590. data/stdlib/nodejs/fileutils.rb +26 -0
  591. data/stdlib/nodejs/io.rb +2 -0
  592. data/stdlib/nodejs/irb.rb +45 -0
  593. data/stdlib/nodejs/kernel.rb +33 -0
  594. data/stdlib/nodejs/node_modules/.bin/js-yaml +140 -0
  595. data/stdlib/nodejs/node_modules/glob/LICENSE +15 -0
  596. data/stdlib/nodejs/node_modules/glob/README.md +357 -0
  597. data/stdlib/nodejs/node_modules/glob/common.js +177 -0
  598. data/stdlib/nodejs/node_modules/glob/glob.js +649 -0
  599. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/.eslintrc +17 -0
  600. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/LICENSE +15 -0
  601. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/README.md +37 -0
  602. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/inflight.js +44 -0
  603. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE +15 -0
  604. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md +36 -0
  605. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +52 -0
  606. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +51 -0
  607. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js +33 -0
  608. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/package.json +61 -0
  609. data/stdlib/nodejs/node_modules/glob/node_modules/inflight/test.js +97 -0
  610. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  611. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/README.md +42 -0
  612. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  613. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  614. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/package.json +51 -0
  615. data/stdlib/nodejs/node_modules/glob/node_modules/inherits/test.js +25 -0
  616. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
  617. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/.travis.yml +4 -0
  618. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
  619. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/README.md +216 -0
  620. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/benchmark.js +15 -0
  621. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/browser.js +1181 -0
  622. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/minimatch.js +845 -0
  623. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +2 -0
  624. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml +3 -0
  625. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +121 -0
  626. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  627. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  628. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  629. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +4 -0
  630. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  631. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  632. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  633. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  634. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +73 -0
  635. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  636. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
  637. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/LICENSE +18 -0
  638. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +62 -0
  639. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  640. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +13 -0
  641. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +83 -0
  642. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  643. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +75 -0
  644. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js +32 -0
  645. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt +1075 -0
  646. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt +182 -0
  647. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js +9 -0
  648. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js +10 -0
  649. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh +24 -0
  650. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js +15 -0
  651. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js +16 -0
  652. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js +10 -0
  653. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js +13 -0
  654. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js +7 -0
  655. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js +50 -0
  656. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/package.json +60 -0
  657. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
  658. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/brace-expand.js +45 -0
  659. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
  660. data/stdlib/nodejs/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  661. data/stdlib/nodejs/node_modules/glob/node_modules/once/LICENSE +27 -0
  662. data/stdlib/nodejs/node_modules/glob/node_modules/once/README.md +51 -0
  663. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE +15 -0
  664. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  665. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +52 -0
  666. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  667. data/stdlib/nodejs/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  668. data/stdlib/nodejs/node_modules/glob/node_modules/once/once.js +21 -0
  669. data/stdlib/nodejs/node_modules/glob/node_modules/once/package.json +60 -0
  670. data/stdlib/nodejs/node_modules/glob/node_modules/once/test/once.js +23 -0
  671. data/stdlib/nodejs/node_modules/glob/package.json +72 -0
  672. data/stdlib/nodejs/node_modules/glob/sync.js +409 -0
  673. data/stdlib/nodejs/node_modules/js-yaml/HISTORY.md +277 -0
  674. data/stdlib/nodejs/node_modules/js-yaml/LICENSE +21 -0
  675. data/stdlib/nodejs/node_modules/js-yaml/README.md +288 -0
  676. data/stdlib/nodejs/node_modules/js-yaml/bin/js-yaml.js +140 -0
  677. data/stdlib/nodejs/node_modules/js-yaml/bower.json +23 -0
  678. data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.js +3666 -0
  679. data/stdlib/nodejs/node_modules/js-yaml/dist/js-yaml.min.js +3 -0
  680. data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.js +102 -0
  681. data/stdlib/nodejs/node_modules/js-yaml/examples/custom_types.yml +18 -0
  682. data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.js +31 -0
  683. data/stdlib/nodejs/node_modules/js-yaml/examples/dumper.json +22 -0
  684. data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.js +18 -0
  685. data/stdlib/nodejs/node_modules/js-yaml/examples/sample_document.yml +197 -0
  686. data/stdlib/nodejs/node_modules/js-yaml/index.js +7 -0
  687. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml.js +39 -0
  688. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/common.js +62 -0
  689. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/dumper.js +554 -0
  690. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/exception.js +25 -0
  691. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/loader.js +1581 -0
  692. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/mark.js +78 -0
  693. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema.js +103 -0
  694. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/core.js +18 -0
  695. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_full.js +25 -0
  696. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/default_safe.js +28 -0
  697. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/failsafe.js +17 -0
  698. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/schema/json.js +25 -0
  699. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type.js +61 -0
  700. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/binary.js +133 -0
  701. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/bool.js +37 -0
  702. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/float.js +110 -0
  703. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/int.js +183 -0
  704. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/function.js +85 -0
  705. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/regexp.js +84 -0
  706. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/js/undefined.js +27 -0
  707. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/map.js +8 -0
  708. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/merge.js +12 -0
  709. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/null.js +36 -0
  710. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/omap.js +56 -0
  711. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/pairs.js +61 -0
  712. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/seq.js +8 -0
  713. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/set.js +33 -0
  714. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/str.js +8 -0
  715. data/stdlib/nodejs/node_modules/js-yaml/lib/js-yaml/type/timestamp.js +98 -0
  716. data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esparse +117 -0
  717. data/stdlib/nodejs/node_modules/js-yaml/node_modules/.bin/esvalidate +177 -0
  718. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/HISTORY.md +115 -0
  719. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/LICENSE +21 -0
  720. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/README.md +239 -0
  721. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/arguments.js +36 -0
  722. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/choice.js +22 -0
  723. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/constants.js +59 -0
  724. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/help.js +13 -0
  725. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/nargs.js +33 -0
  726. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/parents.js +28 -0
  727. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/prefix_chars.js +23 -0
  728. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sub_commands.js +49 -0
  729. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/sum.js +35 -0
  730. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/examples/testformatters.js +270 -0
  731. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/index.js +1 -0
  732. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action.js +146 -0
  733. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append.js +55 -0
  734. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/append/constant.js +47 -0
  735. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/count.js +40 -0
  736. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/help.js +48 -0
  737. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store.js +50 -0
  738. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/constant.js +43 -0
  739. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/false.js +27 -0
  740. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/store/true.js +26 -0
  741. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/subparsers.js +148 -0
  742. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action/version.js +50 -0
  743. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/action_container.js +481 -0
  744. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argparse.js +14 -0
  745. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/error.js +50 -0
  746. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/exclusive.js +54 -0
  747. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument/group.js +75 -0
  748. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/argument_parser.js +1168 -0
  749. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/const.js +18 -0
  750. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/added_formatters.js +88 -0
  751. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/help/formatter.js +798 -0
  752. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/lib/namespace.js +77 -0
  753. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.npmignore +2 -0
  754. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/.travis.yml +8 -0
  755. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/README.markdown +825 -0
  756. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/bower.json +33 -0
  757. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/component.json +11 -0
  758. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/foo.js +10 -0
  759. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/gulpfile.js +26 -0
  760. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/lib/underscore.string.js +673 -0
  761. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/libpeerconnection.log +0 -0
  762. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore.string/package.json +107 -0
  763. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/LICENSE +23 -0
  764. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/README.md +22 -0
  765. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/package.json +69 -0
  766. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore-min.js +6 -0
  767. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/node_modules/underscore/underscore.js +1415 -0
  768. data/stdlib/nodejs/node_modules/js-yaml/node_modules/argparse/package.json +62 -0
  769. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/README.md +73 -0
  770. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esparse.js +117 -0
  771. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/bin/esvalidate.js +177 -0
  772. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/esprima.js +3908 -0
  773. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/package.json +69 -0
  774. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/compat.js +239 -0
  775. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/reflect.js +422 -0
  776. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/run.js +66 -0
  777. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/runner.js +387 -0
  778. data/stdlib/nodejs/node_modules/js-yaml/node_modules/esprima/test/test.js +20238 -0
  779. data/stdlib/nodejs/node_modules/js-yaml/package.json +83 -0
  780. data/stdlib/nodejs/package.json +6 -0
  781. data/stdlib/nodejs/require.rb +30 -0
  782. data/stdlib/nodejs/rubygems.rb +68 -0
  783. data/stdlib/nodejs/yaml.rb +11 -0
  784. data/stdlib/observer.rb +202 -0
  785. data/stdlib/opal-parser.rb +54 -0
  786. data/stdlib/opal-source-maps.rb +2 -0
  787. data/stdlib/ostruct.rb +69 -0
  788. data/stdlib/pathname.rb +55 -0
  789. data/stdlib/phantomjs.rb +3 -0
  790. data/stdlib/pp.rb +35 -0
  791. data/stdlib/promise.rb +427 -0
  792. data/stdlib/racc/parser.rb +215 -0
  793. data/stdlib/rbconfig.rb +18 -0
  794. data/stdlib/securerandom.rb +12 -0
  795. data/stdlib/set.rb +170 -0
  796. data/stdlib/singleton.rb +40 -0
  797. data/stdlib/source_map.rb +5 -0
  798. data/stdlib/source_map/map.rb +220 -0
  799. data/stdlib/source_map/mapping.rb +26 -0
  800. data/stdlib/source_map/offset.rb +88 -0
  801. data/stdlib/source_map/version.rb +3 -0
  802. data/stdlib/source_map/vlq.rb +98 -0
  803. data/stdlib/sourcemap.rb +1 -0
  804. data/stdlib/stringio.rb +181 -0
  805. data/stdlib/strscan.rb +166 -0
  806. data/stdlib/template.rb +46 -0
  807. data/stdlib/thread.rb +164 -0
  808. data/stdlib/time.rb +9 -0
  809. data/stdlib/yaml.rb +1 -0
  810. data/tasks/benchmarking.rake +88 -0
  811. data/tasks/building.rake +58 -0
  812. data/tasks/documenting.rake +37 -0
  813. data/tasks/github.rake +19 -0
  814. data/tasks/linting.rake +18 -0
  815. data/tasks/testing.rake +125 -0
  816. data/vendored-minitest/minitest.rb +780 -0
  817. data/vendored-minitest/minitest/assertions.rb +662 -0
  818. data/vendored-minitest/minitest/autorun.rb +12 -0
  819. data/vendored-minitest/minitest/benchmark.rb +426 -0
  820. data/vendored-minitest/minitest/expectations.rb +281 -0
  821. data/vendored-minitest/minitest/hell.rb +11 -0
  822. data/vendored-minitest/minitest/mock.rb +220 -0
  823. data/vendored-minitest/minitest/parallel.rb +65 -0
  824. data/vendored-minitest/minitest/pride.rb +4 -0
  825. data/vendored-minitest/minitest/pride_plugin.rb +142 -0
  826. data/vendored-minitest/minitest/spec.rb +310 -0
  827. data/vendored-minitest/minitest/test.rb +293 -0
  828. data/vendored-minitest/minitest/unit.rb +45 -0
  829. data/vendored-minitest/test/unit.rb +28 -0
  830. metadata +1058 -0
@@ -0,0 +1,3 @@
1
+ /* js-yaml 3.2.6 https://github.com/nodeca/js-yaml */
2
+ !function(e){if("object"==typeof exports&&"undefined"!=typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var t;"undefined"!=typeof window?t=window:"undefined"!=typeof global?t=global:"undefined"!=typeof self&&(t=self),t.jsyaml=e()}}(function(){return function e(t,n,i){function r(a,s){if(!n[a]){if(!t[a]){var u="function"==typeof require&&require;if(!s&&u)return u(a,!0);if(o)return o(a,!0);var c=new Error("Cannot find module '"+a+"'");throw c.code="MODULE_NOT_FOUND",c}var l=n[a]={exports:{}};t[a][0].call(l.exports,function(e){var n=t[a][1][e];return r(n?n:e)},l,l.exports,e,t,n,i)}return n[a].exports}for(var o="function"==typeof require&&require,a=0;a<i.length;a++)r(i[a]);return r}({1:[function(e,t){"use strict";function n(e){return function(){throw new Error("Function "+e+" is deprecated and cannot be used.")}}var i=e("./js-yaml/loader"),r=e("./js-yaml/dumper");t.exports.Type=e("./js-yaml/type"),t.exports.Schema=e("./js-yaml/schema"),t.exports.FAILSAFE_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.JSON_SCHEMA=e("./js-yaml/schema/json"),t.exports.CORE_SCHEMA=e("./js-yaml/schema/core"),t.exports.DEFAULT_SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_FULL_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.load=i.load,t.exports.loadAll=i.loadAll,t.exports.safeLoad=i.safeLoad,t.exports.safeLoadAll=i.safeLoadAll,t.exports.dump=r.dump,t.exports.safeDump=r.safeDump,t.exports.YAMLException=e("./js-yaml/exception"),t.exports.MINIMAL_SCHEMA=e("./js-yaml/schema/failsafe"),t.exports.SAFE_SCHEMA=e("./js-yaml/schema/default_safe"),t.exports.DEFAULT_SCHEMA=e("./js-yaml/schema/default_full"),t.exports.scan=n("scan"),t.exports.parse=n("parse"),t.exports.compose=n("compose"),t.exports.addConstructor=n("addConstructor")},{"./js-yaml/dumper":3,"./js-yaml/exception":4,"./js-yaml/loader":5,"./js-yaml/schema":7,"./js-yaml/schema/core":8,"./js-yaml/schema/default_full":9,"./js-yaml/schema/default_safe":10,"./js-yaml/schema/failsafe":11,"./js-yaml/schema/json":12,"./js-yaml/type":13}],2:[function(e,t){"use strict";function n(e){return void 0===e||null===e}function i(e){return"object"==typeof e&&null!==e}function r(e){return Array.isArray(e)?e:n(e)?[]:[e]}function o(e,t){var n,i,r,o;if(t)for(o=Object.keys(t),n=0,i=o.length;i>n;n+=1)r=o[n],e[r]=t[r];return e}function a(e,t){var n,i="";for(n=0;t>n;n+=1)i+=e;return i}function s(e){return 0===e&&Number.NEGATIVE_INFINITY===1/e}t.exports.isNothing=n,t.exports.isObject=i,t.exports.toArray=r,t.exports.repeat=a,t.exports.isNegativeZero=s,t.exports.extend=o},{}],3:[function(e,t){"use strict";function n(e,t){var n,i,r,o,a,s,u;if(null===t)return{};for(n={},i=Object.keys(t),r=0,o=i.length;o>r;r+=1)a=i[r],s=String(t[a]),"!!"===a.slice(0,2)&&(a="tag:yaml.org,2002:"+a.slice(2)),u=e.compiledTypeMap[a],u&&C.call(u.styleAliases,s)&&(s=u.styleAliases[s]),n[a]=s;return n}function i(e){var t,n,i;if(t=e.toString(16).toUpperCase(),255>=e)n="x",i=2;else if(65535>=e)n="u",i=4;else{if(!(4294967295>=e))throw new v("code point within a string may not be greater than 0xFFFFFFFF");n="U",i=8}return"\\"+n+x.repeat("0",i-t.length)+t}function r(e){this.schema=e.schema||A,this.indent=Math.max(1,e.indent||2),this.skipInvalid=e.skipInvalid||!1,this.flowLevel=x.isNothing(e.flowLevel)?-1:e.flowLevel,this.styleMap=n(this.schema,e.styles||null),this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function o(e,t){return"\n"+x.repeat(" ",e.indent*t)}function a(e,t){var n,i,r;for(n=0,i=e.implicitTypes.length;i>n;n+=1)if(r=e.implicitTypes[n],r.resolve(t))return!0;return!1}function s(e,t){var n,r,o,s,u,c;for(e.dump="",n=!1,r=0,c=t.charCodeAt(0)||0,-1!==Z.indexOf(t)?n=!0:0===t.length?n=!0:S===c||S===t.charCodeAt(t.length-1)?n=!0:(D===c||q===c)&&(n=!0),o=0,s=t.length;s>o;o+=1)u=t.charCodeAt(o),n||(k===u||j===u||I===u||L===u||R===u||H===u||B===u||V===u||F===u||_===u||M===u||O===u||G===u||Y===u||T===u||E===u||N===u||P===u||U===u||$===u)&&(n=!0),(W[u]||!(u>=32&&126>=u||133===u||u>=160&&55295>=u||u>=57344&&65533>=u||u>=65536&&1114111>=u))&&(e.dump+=t.slice(r,o),e.dump+=W[u]||i(u),r=o+1,n=!0);o>r&&(e.dump+=t.slice(r,o)),!n&&a(e,e.dump)&&(n=!0),n&&(e.dump='"'+e.dump+'"')}function u(e,t,n){var i,r,o="",a=e.tag;for(i=0,r=n.length;r>i;i+=1)d(e,t,n[i],!1,!1)&&(0!==i&&(o+=", "),o+=e.dump);e.tag=a,e.dump="["+o+"]"}function c(e,t,n,i){var r,a,s="",u=e.tag;for(r=0,a=n.length;a>r;r+=1)d(e,t+1,n[r],!0,!0)&&(i&&0===r||(s+=o(e,t)),s+="- "+e.dump);e.tag=u,e.dump=s||"[]"}function l(e,t,n){var i,r,o,a,s,u="",c=e.tag,l=Object.keys(n);for(i=0,r=l.length;r>i;i+=1)s="",0!==i&&(s+=", "),o=l[i],a=n[o],d(e,t,o,!1,!1)&&(e.dump.length>1024&&(s+="? "),s+=e.dump+": ",d(e,t,a,!1,!1)&&(s+=e.dump,u+=s));e.tag=c,e.dump="{"+u+"}"}function p(e,t,n,i){var r,a,s,u,c,l,p="",f=e.tag,h=Object.keys(n);for(r=0,a=h.length;a>r;r+=1)l="",i&&0===r||(l+=o(e,t)),s=h[r],u=n[s],d(e,t+1,s,!0,!0)&&(c=null!==e.tag&&"?"!==e.tag||e.dump&&e.dump.length>1024,c&&(l+=e.dump&&j===e.dump.charCodeAt(0)?"?":"? "),l+=e.dump,c&&(l+=o(e,t)),d(e,t+1,u,!0,c)&&(l+=e.dump&&j===e.dump.charCodeAt(0)?":":": ",l+=e.dump,p+=l));e.tag=f,e.dump=p||"{}"}function f(e,t,n){var i,r,o,a,s,u;for(r=n?e.explicitTypes:e.implicitTypes,o=0,a=r.length;a>o;o+=1)if(s=r[o],(s.instanceOf||s.predicate)&&(!s.instanceOf||"object"==typeof t&&t instanceof s.instanceOf)&&(!s.predicate||s.predicate(t))){if(e.tag=n?s.tag:"?",s.represent){if(u=e.styleMap[s.tag]||s.defaultStyle,"[object Function]"===w.call(s.represent))i=s.represent(t,u);else{if(!C.call(s.represent,u))throw new v("!<"+s.tag+'> tag resolver accepts not "'+u+'" style');i=s.represent[u](t,u)}e.dump=i}return!0}return!1}function d(e,t,n,i,r){e.tag=null,e.dump=n,f(e,n,!1)||f(e,n,!0);var o=w.call(e.dump);i&&(i=0>e.flowLevel||e.flowLevel>t),(null!==e.tag&&"?"!==e.tag||2!==e.indent&&t>0)&&(r=!1);var a,d,h="[object Object]"===o||"[object Array]"===o;if(h&&(a=e.duplicates.indexOf(n),d=-1!==a),d&&e.usedDuplicates[a])e.dump="*ref_"+a;else{if(h&&d&&!e.usedDuplicates[a]&&(e.usedDuplicates[a]=!0),"[object Object]"===o)i&&0!==Object.keys(e.dump).length?(p(e,t,e.dump,r),d&&(e.dump="&ref_"+a+(0===t?"\n":"")+e.dump)):(l(e,t,e.dump),d&&(e.dump="&ref_"+a+" "+e.dump));else if("[object Array]"===o)i&&0!==e.dump.length?(c(e,t,e.dump,r),d&&(e.dump="&ref_"+a+(0===t?"\n":"")+e.dump)):(u(e,t,e.dump),d&&(e.dump="&ref_"+a+" "+e.dump));else{if("[object String]"!==o){if(e.skipInvalid)return!1;throw new v("unacceptable kind of an object to dump "+o)}"?"!==e.tag&&s(e,e.dump)}null!==e.tag&&"?"!==e.tag&&(e.dump="!<"+e.tag+"> "+e.dump)}return!0}function h(e,t){var n,i,r=[],o=[];for(m(e,r,o),n=0,i=o.length;i>n;n+=1)t.duplicates.push(r[o[n]]);t.usedDuplicates=new Array(i)}function m(e,t,n){{var i,r,o;w.call(e)}if(null!==e&&"object"==typeof e)if(r=t.indexOf(e),-1!==r)-1===n.indexOf(r)&&n.push(r);else if(t.push(e),Array.isArray(e))for(r=0,o=e.length;o>r;r+=1)m(e[r],t,n);else for(i=Object.keys(e),r=0,o=i.length;o>r;r+=1)m(e[i[r]],t,n)}function g(e,t){t=t||{};var n=new r(t);return h(e,n),d(n,0,e,!0,!0)?n.dump+"\n":""}function y(e,t){return g(e,x.extend({schema:b},t))}var x=e("./common"),v=e("./exception"),A=e("./schema/default_full"),b=e("./schema/default_safe"),w=Object.prototype.toString,C=Object.prototype.hasOwnProperty,k=9,j=10,I=13,S=32,O=33,E=34,F=35,N=37,_=38,T=39,M=42,L=44,D=45,U=58,Y=62,q=63,P=64,R=91,H=93,$=96,B=123,G=124,V=125,W={};W[0]="\\0",W[7]="\\a",W[8]="\\b",W[9]="\\t",W[10]="\\n",W[11]="\\v",W[12]="\\f",W[13]="\\r",W[27]="\\e",W[34]='\\"',W[92]="\\\\",W[133]="\\N",W[160]="\\_",W[8232]="\\L",W[8233]="\\P";var Z=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"];t.exports.dump=g,t.exports.safeDump=y},{"./common":2,"./exception":4,"./schema/default_full":9,"./schema/default_safe":10}],4:[function(e,t){"use strict";function n(e,t){this.name="YAMLException",this.reason=e,this.mark=t,this.message=this.toString(!1)}n.prototype.toString=function(e){var t;return t="JS-YAML: "+(this.reason||"(unknown reason)"),!e&&this.mark&&(t+=" "+this.mark.toString()),t},t.exports=n},{}],5:[function(e,t){"use strict";function n(e){return 10===e||13===e}function i(e){return 9===e||32===e}function r(e){return 9===e||32===e||10===e||13===e}function o(e){return 44===e||91===e||93===e||123===e||125===e}function a(e){var t;return e>=48&&57>=e?e-48:(t=32|e,t>=97&&102>=t?t-97+10:-1)}function s(e){return 120===e?2:117===e?4:85===e?8:0}function u(e){return e>=48&&57>=e?e-48:-1}function c(e){return 48===e?"\x00":97===e?"":98===e?"\b":116===e?" ":9===e?" ":110===e?"\n":118===e?" ":102===e?"\f":114===e?"\r":101===e?"":32===e?" ":34===e?'"':47===e?"/":92===e?"\\":78===e?"…":95===e?" ":76===e?"\u2028":80===e?"\u2029":""}function l(e){return 65535>=e?String.fromCharCode(e):String.fromCharCode((e-65536>>10)+55296,(e-65536&1023)+56320)}function p(e,t){this.input=e,this.filename=t.filename||null,this.schema=t.schema||$,this.onWarning=t.onWarning||null,this.legacy=t.legacy||!1,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=e.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.documents=[]}function f(e,t){return new P(t,new R(e.filename,e.input,e.position,e.line,e.position-e.lineStart))}function d(e,t){throw f(e,t)}function h(e,t){var n=f(e,t);if(!e.onWarning)throw n;e.onWarning.call(null,n)}function m(e,t,n,i){var r,o,a,s;if(n>t){if(s=e.input.slice(t,n),i)for(r=0,o=s.length;o>r;r+=1)a=s.charCodeAt(r),9===a||a>=32&&1114111>=a||d(e,"expected valid JSON character");e.result+=s}}function g(e,t,n){var i,r,o,a;for(q.isObject(n)||d(e,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(n),o=0,a=i.length;a>o;o+=1)r=i[o],B.call(t,r)||(t[r]=n[r])}function y(e,t,n,i,r){var o,a;if(i=String(i),null===t&&(t={}),"tag:yaml.org,2002:merge"===n)if(Array.isArray(r))for(o=0,a=r.length;a>o;o+=1)g(e,t,r[o]);else g(e,t,r);else t[i]=r;return t}function x(e){var t;t=e.input.charCodeAt(e.position),10===t?e.position++:13===t?(e.position++,10===e.input.charCodeAt(e.position)&&e.position++):d(e,"a line break is expected"),e.line+=1,e.lineStart=e.position}function v(e,t,r){for(var o=0,a=e.input.charCodeAt(e.position);0!==a;){for(;i(a);)a=e.input.charCodeAt(++e.position);if(t&&35===a)do a=e.input.charCodeAt(++e.position);while(10!==a&&13!==a&&0!==a);if(!n(a))break;for(x(e),a=e.input.charCodeAt(e.position),o++,e.lineIndent=0;32===a;)e.lineIndent++,a=e.input.charCodeAt(++e.position)}return-1!==r&&0!==o&&e.lineIndent<r&&h(e,"deficient indentation"),o}function A(e){var t,n=e.position;return t=e.input.charCodeAt(n),45!==t&&46!==t||e.input.charCodeAt(n+1)!==t||e.input.charCodeAt(n+2)!==t||(n+=3,t=e.input.charCodeAt(n),0!==t&&!r(t))?!1:!0}function b(e,t){1===t?e.result+=" ":t>1&&(e.result+=q.repeat("\n",t-1))}function w(e,t,a){var s,u,c,l,p,f,d,h,g,y=e.kind,x=e.result;if(g=e.input.charCodeAt(e.position),r(g)||o(g)||35===g||38===g||42===g||33===g||124===g||62===g||39===g||34===g||37===g||64===g||96===g)return!1;if((63===g||45===g)&&(u=e.input.charCodeAt(e.position+1),r(u)||a&&o(u)))return!1;for(e.kind="scalar",e.result="",c=l=e.position,p=!1;0!==g;){if(58===g){if(u=e.input.charCodeAt(e.position+1),r(u)||a&&o(u))break}else if(35===g){if(s=e.input.charCodeAt(e.position-1),r(s))break}else{if(e.position===e.lineStart&&A(e)||a&&o(g))break;if(n(g)){if(f=e.line,d=e.lineStart,h=e.lineIndent,v(e,!1,-1),e.lineIndent>=t){p=!0,g=e.input.charCodeAt(e.position);continue}e.position=l,e.line=f,e.lineStart=d,e.lineIndent=h;break}}p&&(m(e,c,l,!1),b(e,e.line-f),c=l=e.position,p=!1),i(g)||(l=e.position+1),g=e.input.charCodeAt(++e.position)}return m(e,c,l,!1),e.result?!0:(e.kind=y,e.result=x,!1)}function C(e,t){var i,r,o;if(i=e.input.charCodeAt(e.position),39!==i)return!1;for(e.kind="scalar",e.result="",e.position++,r=o=e.position;0!==(i=e.input.charCodeAt(e.position));)if(39===i){if(m(e,r,e.position,!0),i=e.input.charCodeAt(++e.position),39!==i)return!0;r=o=e.position,e.position++}else n(i)?(m(e,r,o,!0),b(e,v(e,!1,t)),r=o=e.position):e.position===e.lineStart&&A(e)?d(e,"unexpected end of the document within a single quoted scalar"):(e.position++,o=e.position);d(e,"unexpected end of the stream within a single quoted scalar")}function k(e,t){var i,r,o,u,c,p;if(p=e.input.charCodeAt(e.position),34!==p)return!1;for(e.kind="scalar",e.result="",e.position++,i=r=e.position;0!==(p=e.input.charCodeAt(e.position));){if(34===p)return m(e,i,e.position,!0),e.position++,!0;if(92===p){if(m(e,i,e.position,!0),p=e.input.charCodeAt(++e.position),n(p))v(e,!1,t);else if(256>p&&it[p])e.result+=rt[p],e.position++;else if((c=s(p))>0){for(o=c,u=0;o>0;o--)p=e.input.charCodeAt(++e.position),(c=a(p))>=0?u=(u<<4)+c:d(e,"expected hexadecimal character");e.result+=l(u),e.position++}else d(e,"unknown escape sequence");i=r=e.position}else n(p)?(m(e,i,r,!0),b(e,v(e,!1,t)),i=r=e.position):e.position===e.lineStart&&A(e)?d(e,"unexpected end of the document within a double quoted scalar"):(e.position++,r=e.position)}d(e,"unexpected end of the stream within a double quoted scalar")}function j(e,t){var n,i,o,a,s,u,c,l,p,f,h,m=!0,g=e.tag,x=e.anchor;if(h=e.input.charCodeAt(e.position),91===h)a=93,c=!1,i=[];else{if(123!==h)return!1;a=125,c=!0,i={}}for(null!==e.anchor&&(e.anchorMap[e.anchor]=i),h=e.input.charCodeAt(++e.position);0!==h;){if(v(e,!0,t),h=e.input.charCodeAt(e.position),h===a)return e.position++,e.tag=g,e.anchor=x,e.kind=c?"mapping":"sequence",e.result=i,!0;m||d(e,"missed comma between flow collection entries"),p=l=f=null,s=u=!1,63===h&&(o=e.input.charCodeAt(e.position+1),r(o)&&(s=u=!0,e.position++,v(e,!0,t))),n=e.line,_(e,t,G,!1,!0),p=e.tag,l=e.result,v(e,!0,t),h=e.input.charCodeAt(e.position),!u&&e.line!==n||58!==h||(s=!0,h=e.input.charCodeAt(++e.position),v(e,!0,t),_(e,t,G,!1,!0),f=e.result),c?y(e,i,p,l,f):i.push(s?y(e,null,p,l,f):l),v(e,!0,t),h=e.input.charCodeAt(e.position),44===h?(m=!0,h=e.input.charCodeAt(++e.position)):m=!1}d(e,"unexpected end of the stream within a flow collection")}function I(e,t){var r,o,a,s,c=J,l=!1,p=t,f=0,h=!1;if(s=e.input.charCodeAt(e.position),124===s)o=!1;else{if(62!==s)return!1;o=!0}for(e.kind="scalar",e.result="";0!==s;)if(s=e.input.charCodeAt(++e.position),43===s||45===s)J===c?c=43===s?K:z:d(e,"repeat of a chomping mode identifier");else{if(!((a=u(s))>=0))break;0===a?d(e,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?d(e,"repeat of an indentation width identifier"):(p=t+a-1,l=!0)}if(i(s)){do s=e.input.charCodeAt(++e.position);while(i(s));if(35===s)do s=e.input.charCodeAt(++e.position);while(!n(s)&&0!==s)}for(;0!==s;){for(x(e),e.lineIndent=0,s=e.input.charCodeAt(e.position);(!l||e.lineIndent<p)&&32===s;)e.lineIndent++,s=e.input.charCodeAt(++e.position);if(!l&&e.lineIndent>p&&(p=e.lineIndent),n(s))f++;else{if(e.lineIndent<p){c===K?e.result+=q.repeat("\n",f):c===J&&l&&(e.result+="\n");break}for(o?i(s)?(h=!0,e.result+=q.repeat("\n",f+1)):h?(h=!1,e.result+=q.repeat("\n",f+1)):0===f?l&&(e.result+=" "):e.result+=q.repeat("\n",f):e.result+=l?q.repeat("\n",f+1):q.repeat("\n",f),l=!0,f=0,r=e.position;!n(s)&&0!==s;)s=e.input.charCodeAt(++e.position);m(e,r,e.position,!1)}}return!0}function S(e,t){var n,i,o,a=e.tag,s=e.anchor,u=[],c=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=u),o=e.input.charCodeAt(e.position);0!==o&&45===o&&(i=e.input.charCodeAt(e.position+1),r(i));)if(c=!0,e.position++,v(e,!0,-1)&&e.lineIndent<=t)u.push(null),o=e.input.charCodeAt(e.position);else if(n=e.line,_(e,t,W,!1,!0),u.push(e.result),v(e,!0,-1),o=e.input.charCodeAt(e.position),(e.line===n||e.lineIndent>t)&&0!==o)d(e,"bad indentation of a sequence entry");else if(e.lineIndent<t)break;return c?(e.tag=a,e.anchor=s,e.kind="sequence",e.result=u,!0):!1}function O(e,t,n){var o,a,s,u,c=e.tag,l=e.anchor,p={},f=null,h=null,m=null,g=!1,x=!1;for(null!==e.anchor&&(e.anchorMap[e.anchor]=p),u=e.input.charCodeAt(e.position);0!==u;){if(o=e.input.charCodeAt(e.position+1),s=e.line,63!==u&&58!==u||!r(o)){if(!_(e,n,V,!1,!0))break;if(e.line===s){for(u=e.input.charCodeAt(e.position);i(u);)u=e.input.charCodeAt(++e.position);if(58===u)u=e.input.charCodeAt(++e.position),r(u)||d(e,"a whitespace character is expected after the key-value separator within a block mapping"),g&&(y(e,p,f,h,null),f=h=m=null),x=!0,g=!1,a=!1,f=e.tag,h=e.result;else{if(!x)return e.tag=c,e.anchor=l,!0;d(e,"can not read an implicit mapping pair; a colon is missed")}}else{if(!x)return e.tag=c,e.anchor=l,!0;d(e,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===u?(g&&(y(e,p,f,h,null),f=h=m=null),x=!0,g=!0,a=!0):g?(g=!1,a=!0):d(e,"incomplete explicit mapping pair; a key node is missed"),e.position+=1,u=o;if((e.line===s||e.lineIndent>t)&&(_(e,t,Z,!0,a)&&(g?h=e.result:m=e.result),g||(y(e,p,f,h,m),f=h=m=null),v(e,!0,-1),u=e.input.charCodeAt(e.position)),e.lineIndent>t&&0!==u)d(e,"bad indentation of a mapping entry");else if(e.lineIndent<t)break}return g&&y(e,p,f,h,null),x&&(e.tag=c,e.anchor=l,e.kind="mapping",e.result=p),x}function E(e){var t,n,i,o,a=!1,s=!1;if(o=e.input.charCodeAt(e.position),33!==o)return!1;if(null!==e.tag&&d(e,"duplication of a tag property"),o=e.input.charCodeAt(++e.position),60===o?(a=!0,o=e.input.charCodeAt(++e.position)):33===o?(s=!0,n="!!",o=e.input.charCodeAt(++e.position)):n="!",t=e.position,a){do o=e.input.charCodeAt(++e.position);while(0!==o&&62!==o);e.position<e.length?(i=e.input.slice(t,e.position),o=e.input.charCodeAt(++e.position)):d(e,"unexpected end of the stream within a verbatim tag")}else{for(;0!==o&&!r(o);)33===o&&(s?d(e,"tag suffix cannot contain exclamation marks"):(n=e.input.slice(t-1,e.position+1),tt.test(n)||d(e,"named tag handle cannot contain such characters"),s=!0,t=e.position+1)),o=e.input.charCodeAt(++e.position);i=e.input.slice(t,e.position),et.test(i)&&d(e,"tag suffix cannot contain flow indicator characters")}return i&&!nt.test(i)&&d(e,"tag name cannot contain such characters: "+i),a?e.tag=i:B.call(e.tagMap,n)?e.tag=e.tagMap[n]+i:"!"===n?e.tag="!"+i:"!!"===n?e.tag="tag:yaml.org,2002:"+i:d(e,'undeclared tag handle "'+n+'"'),!0}function F(e){var t,n;if(n=e.input.charCodeAt(e.position),38!==n)return!1;for(null!==e.anchor&&d(e,"duplication of an anchor property"),n=e.input.charCodeAt(++e.position),t=e.position;0!==n&&!r(n)&&!o(n);)n=e.input.charCodeAt(++e.position);return e.position===t&&d(e,"name of an anchor node must contain at least one character"),e.anchor=e.input.slice(t,e.position),!0}function N(e){{var t,n,i;e.length,e.input}if(i=e.input.charCodeAt(e.position),42!==i)return!1;for(i=e.input.charCodeAt(++e.position),t=e.position;0!==i&&!r(i)&&!o(i);)i=e.input.charCodeAt(++e.position);return e.position===t&&d(e,"name of an alias node must contain at least one character"),n=e.input.slice(t,e.position),e.anchorMap.hasOwnProperty(n)||d(e,'unidentified alias "'+n+'"'),e.result=e.anchorMap[n],v(e,!0,-1),!0}function _(e,t,n,i,r){var o,a,s,u,c,l,p,f,m=1,g=!1,y=!1;if(e.tag=null,e.anchor=null,e.kind=null,e.result=null,o=a=s=Z===n||W===n,i&&v(e,!0,-1)&&(g=!0,e.lineIndent>t?m=1:e.lineIndent===t?m=0:e.lineIndent<t&&(m=-1)),1===m)for(;E(e)||F(e);)v(e,!0,-1)?(g=!0,s=o,e.lineIndent>t?m=1:e.lineIndent===t?m=0:e.lineIndent<t&&(m=-1)):s=!1;if(s&&(s=g||r),(1===m||Z===n)&&(p=G===n||V===n?t:t+1,f=e.position-e.lineStart,1===m?s&&(S(e,f)||O(e,f,p))||j(e,p)?y=!0:(a&&I(e,p)||C(e,p)||k(e,p)?y=!0:N(e)?(y=!0,(null!==e.tag||null!==e.anchor)&&d(e,"alias node should not have any properties")):w(e,p,G===n)&&(y=!0,null===e.tag&&(e.tag="?")),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):0===m&&(y=s&&S(e,f))),null!==e.tag&&"!"!==e.tag)if("?"===e.tag){for(u=0,c=e.implicitTypes.length;c>u;u+=1)if(l=e.implicitTypes[u],l.resolve(e.result)){e.result=l.construct(e.result),e.tag=l.tag,null!==e.anchor&&(e.anchorMap[e.anchor]=e.result);break}}else B.call(e.typeMap,e.tag)?(l=e.typeMap[e.tag],null!==e.result&&l.kind!==e.kind&&d(e,"unacceptable node kind for !<"+e.tag+'> tag; it should be "'+l.kind+'", not "'+e.kind+'"'),l.resolve(e.result)?(e.result=l.construct(e.result),null!==e.anchor&&(e.anchorMap[e.anchor]=e.result)):d(e,"cannot resolve a node with !<"+e.tag+"> explicit tag")):h(e,"unknown tag !<"+e.tag+">");return null!==e.tag||null!==e.anchor||y}function T(e){var t,o,a,s,u=e.position,c=!1;for(e.version=null,e.checkLineBreaks=e.legacy,e.tagMap={},e.anchorMap={};0!==(s=e.input.charCodeAt(e.position))&&(v(e,!0,-1),s=e.input.charCodeAt(e.position),!(e.lineIndent>0||37!==s));){for(c=!0,s=e.input.charCodeAt(++e.position),t=e.position;0!==s&&!r(s);)s=e.input.charCodeAt(++e.position);for(o=e.input.slice(t,e.position),a=[],o.length<1&&d(e,"directive name must not be less than one character in length");0!==s;){for(;i(s);)s=e.input.charCodeAt(++e.position);if(35===s){do s=e.input.charCodeAt(++e.position);while(0!==s&&!n(s));break}if(n(s))break;for(t=e.position;0!==s&&!r(s);)s=e.input.charCodeAt(++e.position);a.push(e.input.slice(t,e.position))}0!==s&&x(e),B.call(at,o)?at[o](e,o,a):h(e,'unknown document directive "'+o+'"')}return v(e,!0,-1),0===e.lineIndent&&45===e.input.charCodeAt(e.position)&&45===e.input.charCodeAt(e.position+1)&&45===e.input.charCodeAt(e.position+2)?(e.position+=3,v(e,!0,-1)):c&&d(e,"directives end mark is expected"),_(e,e.lineIndent-1,Z,!1,!0),v(e,!0,-1),e.checkLineBreaks&&X.test(e.input.slice(u,e.position))&&h(e,"non-ASCII line breaks are interpreted as content"),e.documents.push(e.result),e.position===e.lineStart&&A(e)?void(46===e.input.charCodeAt(e.position)&&(e.position+=3,v(e,!0,-1))):void(e.position<e.length-1&&d(e,"end of the stream or a document separator is expected"))}function M(e,t){e=String(e),t=t||{},0!==e.length&&10!==e.charCodeAt(e.length-1)&&13!==e.charCodeAt(e.length-1)&&(e+="\n");var n=new p(e,t);for(Q.test(n.input)&&d(n,"the stream contains non-printable characters"),n.input+="\x00";32===n.input.charCodeAt(n.position);)n.lineIndent+=1,n.position+=1;for(;n.position<n.length-1;)T(n);return n.documents}function L(e,t,n){var i,r,o=M(e,n);for(i=0,r=o.length;r>i;i+=1)t(o[i])}function D(e,t){var n=M(e,t);if(0===n.length)return void 0;if(1===n.length)return n[0];throw new P("expected a single document in the stream, but found more")}function U(e,t,n){L(e,t,q.extend({schema:H},n))}function Y(e,t){return D(e,q.extend({schema:H},t))}for(var q=e("./common"),P=e("./exception"),R=e("./mark"),H=e("./schema/default_safe"),$=e("./schema/default_full"),B=Object.prototype.hasOwnProperty,G=1,V=2,W=3,Z=4,J=1,z=2,K=3,Q=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uD800-\uDFFF\uFFFE\uFFFF]/,X=/[\x85\u2028\u2029]/,et=/[,\[\]\{\}]/,tt=/^(?:!|!!|![a-z\-]+!)$/i,nt=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i,it=new Array(256),rt=new Array(256),ot=0;256>ot;ot++)it[ot]=c(ot)?1:0,rt[ot]=c(ot);var at={YAML:function(e,t,n){var i,r,o;null!==e.version&&d(e,"duplication of %YAML directive"),1!==n.length&&d(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(n[0]),null===i&&d(e,"ill-formed argument of the YAML directive"),r=parseInt(i[1],10),o=parseInt(i[2],10),1!==r&&d(e,"unacceptable YAML version of the document"),e.version=n[0],e.checkLineBreaks=2>o,1!==o&&2!==o&&h(e,"unsupported YAML version of the document")},TAG:function(e,t,n){var i,r;2!==n.length&&d(e,"TAG directive accepts exactly two arguments"),i=n[0],r=n[1],tt.test(i)||d(e,"ill-formed tag handle (first argument) of the TAG directive"),B.call(e.tagMap,i)&&d(e,'there is a previously declared suffix for "'+i+'" tag handle'),nt.test(r)||d(e,"ill-formed tag prefix (second argument) of the TAG directive"),e.tagMap[i]=r}};t.exports.loadAll=L,t.exports.load=D,t.exports.safeLoadAll=U,t.exports.safeLoad=Y},{"./common":2,"./exception":4,"./mark":6,"./schema/default_full":9,"./schema/default_safe":10}],6:[function(e,t){"use strict";function n(e,t,n,i,r){this.name=e,this.buffer=t,this.position=n,this.line=i,this.column=r}var i=e("./common");n.prototype.getSnippet=function(e,t){var n,r,o,a,s;if(!this.buffer)return null;for(e=e||4,t=t||75,n="",r=this.position;r>0&&-1==="\x00\r\n…\u2028\u2029".indexOf(this.buffer.charAt(r-1));)if(r-=1,this.position-r>t/2-1){n=" ... ",r+=5;break}for(o="",a=this.position;a<this.buffer.length&&-1==="\x00\r\n…\u2028\u2029".indexOf(this.buffer.charAt(a));)if(a+=1,a-this.position>t/2-1){o=" ... ",a-=5;break}return s=this.buffer.slice(r,a),i.repeat(" ",e)+n+s+o+"\n"+i.repeat(" ",e+this.position-r+n.length)+"^"},n.prototype.toString=function(e){var t,n="";return this.name&&(n+='in "'+this.name+'" '),n+="at line "+(this.line+1)+", column "+(this.column+1),e||(t=this.getSnippet(),t&&(n+=":\n"+t)),n},t.exports=n},{"./common":2}],7:[function(e,t){"use strict";function n(e,t,i){var r=[];return e.include.forEach(function(e){i=n(e,t,i)}),e[t].forEach(function(e){i.forEach(function(t,n){t.tag===e.tag&&r.push(n)}),i.push(e)}),i.filter(function(e,t){return-1===r.indexOf(t)})}function i(){function e(e){i[e.tag]=e}var t,n,i={};for(t=0,n=arguments.length;n>t;t+=1)arguments[t].forEach(e);return i}function r(e){this.include=e.include||[],this.implicit=e.implicit||[],this.explicit=e.explicit||[],this.implicit.forEach(function(e){if(e.loadKind&&"scalar"!==e.loadKind)throw new a("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.")}),this.compiledImplicit=n(this,"implicit",[]),this.compiledExplicit=n(this,"explicit",[]),this.compiledTypeMap=i(this.compiledImplicit,this.compiledExplicit)}var o=e("./common"),a=e("./exception"),s=e("./type");r.DEFAULT=null,r.create=function(){var e,t;switch(arguments.length){case 1:e=r.DEFAULT,t=arguments[0];break;case 2:e=arguments[0],t=arguments[1];break;default:throw new a("Wrong number of arguments for Schema.create function")}if(e=o.toArray(e),t=o.toArray(t),!e.every(function(e){return e instanceof r}))throw new a("Specified list of super schemas (or a single Schema object) contains a non-Schema object.");if(!t.every(function(e){return e instanceof s}))throw new a("Specified list of YAML types (or a single Type object) contains a non-Type object.");return new r({include:e,explicit:t})},t.exports=r},{"./common":2,"./exception":4,"./type":13}],8:[function(e,t){"use strict";var n=e("../schema");t.exports=new n({include:[e("./json")]})},{"../schema":7,"./json":12}],9:[function(e,t){"use strict";var n=e("../schema");t.exports=n.DEFAULT=new n({include:[e("./default_safe")],explicit:[e("../type/js/undefined"),e("../type/js/regexp"),e("../type/js/function")]})},{"../schema":7,"../type/js/function":18,"../type/js/regexp":19,"../type/js/undefined":20,"./default_safe":10}],10:[function(e,t){"use strict";var n=e("../schema");t.exports=new n({include:[e("./core")],implicit:[e("../type/timestamp"),e("../type/merge")],explicit:[e("../type/binary"),e("../type/omap"),e("../type/pairs"),e("../type/set")]})},{"../schema":7,"../type/binary":14,"../type/merge":22,"../type/omap":24,"../type/pairs":25,"../type/set":27,"../type/timestamp":29,"./core":8}],11:[function(e,t){"use strict";var n=e("../schema");t.exports=new n({explicit:[e("../type/str"),e("../type/seq"),e("../type/map")]})},{"../schema":7,"../type/map":21,"../type/seq":26,"../type/str":28}],12:[function(e,t){"use strict";var n=e("../schema");t.exports=new n({include:[e("./failsafe")],implicit:[e("../type/null"),e("../type/bool"),e("../type/int"),e("../type/float")]})},{"../schema":7,"../type/bool":15,"../type/float":16,"../type/int":17,"../type/null":23,"./failsafe":11}],13:[function(e,t){"use strict";function n(e){var t={};return null!==e&&Object.keys(e).forEach(function(n){e[n].forEach(function(e){t[String(e)]=n})}),t}function i(e,t){if(t=t||{},Object.keys(t).forEach(function(t){if(-1===o.indexOf(t))throw new r('Unknown option "'+t+'" is met in definition of "'+e+'" YAML type.')}),this.tag=e,this.kind=t.kind||null,this.resolve=t.resolve||function(){return!0},this.construct=t.construct||function(e){return e},this.instanceOf=t.instanceOf||null,this.predicate=t.predicate||null,this.represent=t.represent||null,this.defaultStyle=t.defaultStyle||null,this.styleAliases=n(t.styleAliases||null),-1===a.indexOf(this.kind))throw new r('Unknown kind "'+this.kind+'" is specified for "'+e+'" YAML type.')}var r=e("./exception"),o=["kind","resolve","construct","instanceOf","predicate","represent","defaultStyle","styleAliases"],a=["scalar","sequence","mapping"];t.exports=i},{"./exception":4}],14:[function(e,t){"use strict";function n(e){if(null===e)return!1;var t,n,i=0,r=e.length,o=u;for(n=0;r>n;n++)if(t=o.indexOf(e.charAt(n)),!(t>64)){if(0>t)return!1;i+=6}return i%8===0}function i(e){var t,n,i=e.replace(/[\r\n=]/g,""),r=i.length,o=u,s=0,c=[];for(t=0;r>t;t++)t%4===0&&t&&(c.push(s>>16&255),c.push(s>>8&255),c.push(255&s)),s=s<<6|o.indexOf(i.charAt(t));return n=r%4*6,0===n?(c.push(s>>16&255),c.push(s>>8&255),c.push(255&s)):18===n?(c.push(s>>10&255),c.push(s>>2&255)):12===n&&c.push(s>>4&255),a?new a(c):c}function r(e){var t,n,i="",r=0,o=e.length,a=u;for(t=0;o>t;t++)t%3===0&&t&&(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]),r=(r<<8)+e[t];return n=o%3,0===n?(i+=a[r>>18&63],i+=a[r>>12&63],i+=a[r>>6&63],i+=a[63&r]):2===n?(i+=a[r>>10&63],i+=a[r>>4&63],i+=a[r<<2&63],i+=a[64]):1===n&&(i+=a[r>>2&63],i+=a[r<<4&63],i+=a[64],i+=a[64]),i}function o(e){return a&&a.isBuffer(e)}var a=e("buffer").Buffer,s=e("../type"),u="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";t.exports=new s("tag:yaml.org,2002:binary",{kind:"scalar",resolve:n,construct:i,predicate:o,represent:r})},{"../type":13,buffer:30}],15:[function(e,t){"use strict";function n(e){if(null===e)return!1;var t=e.length;return 4===t&&("true"===e||"True"===e||"TRUE"===e)||5===t&&("false"===e||"False"===e||"FALSE"===e)}function i(e){return"true"===e||"True"===e||"TRUE"===e}function r(e){return"[object Boolean]"===Object.prototype.toString.call(e)}var o=e("../type");t.exports=new o("tag:yaml.org,2002:bool",{kind:"scalar",resolve:n,construct:i,predicate:r,represent:{lowercase:function(e){return e?"true":"false"},uppercase:function(e){return e?"TRUE":"FALSE"},camelcase:function(e){return e?"True":"False"}},defaultStyle:"lowercase"})},{"../type":13}],16:[function(e,t){"use strict";function n(e){if(null===e)return!1;return u.test(e)?!0:!1}function i(e){var t,n,i,r;return t=e.replace(/_/g,"").toLowerCase(),n="-"===t[0]?-1:1,r=[],0<="+-".indexOf(t[0])&&(t=t.slice(1)),".inf"===t?1===n?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===t?0/0:0<=t.indexOf(":")?(t.split(":").forEach(function(e){r.unshift(parseFloat(e,10))}),t=0,i=1,r.forEach(function(e){t+=e*i,i*=60}),n*t):n*parseFloat(t,10)}function r(e,t){if(isNaN(e))switch(t){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===e)switch(t){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else{if(Number.NEGATIVE_INFINITY!==e)return a.isNegativeZero(e)?"-0.0":e.toString(10);switch(t){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}}}function o(e){return"[object Number]"===Object.prototype.toString.call(e)&&(0!==e%1||a.isNegativeZero(e))}var a=e("../common"),s=e("../type"),u=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)\\.[0-9_]*(?:[eE][-+][0-9]+)?|\\.[0-9_]+(?:[eE][-+][0-9]+)?|[-+]?[0-9][0-9_]*(?::[0-5]?[0-9])+\\.[0-9_]*|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");t.exports=new s("tag:yaml.org,2002:float",{kind:"scalar",resolve:n,construct:i,predicate:o,represent:r,defaultStyle:"lowercase"})},{"../common":2,"../type":13}],17:[function(e,t){"use strict";function n(e){return e>=48&&57>=e||e>=65&&70>=e||e>=97&&102>=e}function i(e){return e>=48&&55>=e}function r(e){return e>=48&&57>=e}function o(e){if(null===e)return!1;var t,o=e.length,a=0,s=!1;if(!o)return!1;if(t=e[a],("-"===t||"+"===t)&&(t=e[++a]),"0"===t){if(a+1===o)return!0;if(t=e[++a],"b"===t){for(a++;o>a;a++)if(t=e[a],"_"!==t){if("0"!==t&&"1"!==t)return!1;s=!0}return s}if("x"===t){for(a++;o>a;a++)if(t=e[a],"_"!==t){if(!n(e.charCodeAt(a)))return!1;
3
+ s=!0}return s}for(;o>a;a++)if(t=e[a],"_"!==t){if(!i(e.charCodeAt(a)))return!1;s=!0}return s}for(;o>a;a++)if(t=e[a],"_"!==t){if(":"===t)break;if(!r(e.charCodeAt(a)))return!1;s=!0}return s?":"!==t?!0:/^(:[0-5]?[0-9])+$/.test(e.slice(a)):!1}function a(e){var t,n,i=e,r=1,o=[];return-1!==i.indexOf("_")&&(i=i.replace(/_/g,"")),t=i[0],("-"===t||"+"===t)&&("-"===t&&(r=-1),i=i.slice(1),t=i[0]),"0"===i?0:"0"===t?"b"===i[1]?r*parseInt(i.slice(2),2):"x"===i[1]?r*parseInt(i,16):r*parseInt(i,8):-1!==i.indexOf(":")?(i.split(":").forEach(function(e){o.unshift(parseInt(e,10))}),i=0,n=1,o.forEach(function(e){i+=e*n,n*=60}),r*i):r*parseInt(i,10)}function s(e){return"[object Number]"===Object.prototype.toString.call(e)&&0===e%1&&!u.isNegativeZero(e)}var u=e("../common"),c=e("../type");t.exports=new c("tag:yaml.org,2002:int",{kind:"scalar",resolve:o,construct:a,predicate:s,represent:{binary:function(e){return"0b"+e.toString(2)},octal:function(e){return"0"+e.toString(8)},decimal:function(e){return e.toString(10)},hexadecimal:function(e){return"0x"+e.toString(16).toUpperCase()}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}})},{"../common":2,"../type":13}],18:[function(e,t){"use strict";function n(e){if(null===e)return!1;try{var t="("+e+")",n=a.parse(t,{range:!0});return"Program"!==n.type||1!==n.body.length||"ExpressionStatement"!==n.body[0].type||"FunctionExpression"!==n.body[0].expression.type?!1:!0}catch(i){return!1}}function i(e){var t,n="("+e+")",i=a.parse(n,{range:!0}),r=[];if("Program"!==i.type||1!==i.body.length||"ExpressionStatement"!==i.body[0].type||"FunctionExpression"!==i.body[0].expression.type)throw new Error("Failed to resolve function");return i.body[0].expression.params.forEach(function(e){r.push(e.name)}),t=i.body[0].expression.body.range,new Function(r,n.slice(t[0]+1,t[1]-1))}function r(e){return e.toString()}function o(e){return"[object Function]"===Object.prototype.toString.call(e)}var a;try{a=e("esprima")}catch(s){"undefined"!=typeof window&&(a=window.esprima)}var u=e("../../type");t.exports=new u("tag:yaml.org,2002:js/function",{kind:"scalar",resolve:n,construct:i,predicate:o,represent:r})},{"../../type":13,esprima:"esprima"}],19:[function(e,t){"use strict";function n(e){if(null===e)return!1;if(0===e.length)return!1;var t=e,n=/\/([gim]*)$/.exec(e),i="";if("/"===t[0]){if(n&&(i=n[1]),i.length>3)return!1;if("/"!==t[t.length-i.length-1])return!1;t=t.slice(1,t.length-i.length-1)}try{{new RegExp(t,i)}return!0}catch(r){return!1}}function i(e){var t=e,n=/\/([gim]*)$/.exec(e),i="";return"/"===t[0]&&(n&&(i=n[1]),t=t.slice(1,t.length-i.length-1)),new RegExp(t,i)}function r(e){var t="/"+e.source+"/";return e.global&&(t+="g"),e.multiline&&(t+="m"),e.ignoreCase&&(t+="i"),t}function o(e){return"[object RegExp]"===Object.prototype.toString.call(e)}var a=e("../../type");t.exports=new a("tag:yaml.org,2002:js/regexp",{kind:"scalar",resolve:n,construct:i,predicate:o,represent:r})},{"../../type":13}],20:[function(e,t){"use strict";function n(){return!0}function i(){return void 0}function r(){return""}function o(e){return"undefined"==typeof e}var a=e("../../type");t.exports=new a("tag:yaml.org,2002:js/undefined",{kind:"scalar",resolve:n,construct:i,predicate:o,represent:r})},{"../../type":13}],21:[function(e,t){"use strict";var n=e("../type");t.exports=new n("tag:yaml.org,2002:map",{kind:"mapping",construct:function(e){return null!==e?e:{}}})},{"../type":13}],22:[function(e,t){"use strict";function n(e){return"<<"===e||null===e}var i=e("../type");t.exports=new i("tag:yaml.org,2002:merge",{kind:"scalar",resolve:n})},{"../type":13}],23:[function(e,t){"use strict";function n(e){if(null===e)return!0;var t=e.length;return 1===t&&"~"===e||4===t&&("null"===e||"Null"===e||"NULL"===e)}function i(){return null}function r(e){return null===e}var o=e("../type");t.exports=new o("tag:yaml.org,2002:null",{kind:"scalar",resolve:n,construct:i,predicate:r,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"}},defaultStyle:"lowercase"})},{"../type":13}],24:[function(e,t){"use strict";function n(e){if(null===e)return!0;var t,n,i,r,s,u=[],c=e;for(t=0,n=c.length;n>t;t+=1){if(i=c[t],s=!1,"[object Object]"!==a.call(i))return!1;for(r in i)if(o.call(i,r)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==u.indexOf(r))return!1;u.push(r)}return!0}function i(e){return null!==e?e:[]}var r=e("../type"),o=Object.prototype.hasOwnProperty,a=Object.prototype.toString;t.exports=new r("tag:yaml.org,2002:omap",{kind:"sequence",resolve:n,construct:i})},{"../type":13}],25:[function(e,t){"use strict";function n(e){if(null===e)return!0;var t,n,i,r,a,s=e;for(a=new Array(s.length),t=0,n=s.length;n>t;t+=1){if(i=s[t],"[object Object]"!==o.call(i))return!1;if(r=Object.keys(i),1!==r.length)return!1;a[t]=[r[0],i[r[0]]]}return!0}function i(e){if(null===e)return[];var t,n,i,r,o,a=e;for(o=new Array(a.length),t=0,n=a.length;n>t;t+=1)i=a[t],r=Object.keys(i),o[t]=[r[0],i[r[0]]];return o}var r=e("../type"),o=Object.prototype.toString;t.exports=new r("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:n,construct:i})},{"../type":13}],26:[function(e,t){"use strict";var n=e("../type");t.exports=new n("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(e){return null!==e?e:[]}})},{"../type":13}],27:[function(e,t){"use strict";function n(e){if(null===e)return!0;var t,n=e;for(t in n)if(o.call(n,t)&&null!==n[t])return!1;return!0}function i(e){return null!==e?e:{}}var r=e("../type"),o=Object.prototype.hasOwnProperty;t.exports=new r("tag:yaml.org,2002:set",{kind:"mapping",resolve:n,construct:i})},{"../type":13}],28:[function(e,t){"use strict";var n=e("../type");t.exports=new n("tag:yaml.org,2002:str",{kind:"scalar",construct:function(e){return null!==e?e:""}})},{"../type":13}],29:[function(e,t){"use strict";function n(e){if(null===e)return!1;var t;return t=a.exec(e),null===t?!1:!0}function i(e){var t,n,i,r,o,s,u,c,l,p,f=0,d=null;if(t=a.exec(e),null===t)throw new Error("Date resolve error");if(n=+t[1],i=+t[2]-1,r=+t[3],!t[4])return new Date(Date.UTC(n,i,r));if(o=+t[4],s=+t[5],u=+t[6],t[7]){for(f=t[7].slice(0,3);f.length<3;)f+="0";f=+f}return t[9]&&(c=+t[10],l=+(t[11]||0),d=6e4*(60*c+l),"-"===t[9]&&(d=-d)),p=new Date(Date.UTC(n,i,r,o,s,u,f)),d&&p.setTime(p.getTime()-d),p}function r(e){return e.toISOString()}var o=e("../type"),a=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?)?$");t.exports=new o("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:n,construct:i,instanceOf:Date,represent:r})},{"../type":13}],30:[function(){},{}],"/":[function(e,t){"use strict";var n=e("./lib/js-yaml.js");t.exports=n},{"./lib/js-yaml.js":1}]},{},[])("/")});
@@ -0,0 +1,102 @@
1
+ 'use strict';
2
+
3
+
4
+ var fs = require('fs');
5
+ var path = require('path');
6
+ var util = require('util');
7
+ var yaml = require('../lib/js-yaml');
8
+
9
+
10
+ // Let's define a couple of classes.
11
+
12
+ function Point(x, y, z) {
13
+ this.klass = 'Point';
14
+ this.x = x;
15
+ this.y = y;
16
+ this.z = z;
17
+ }
18
+
19
+
20
+ function Space(height, width, points) {
21
+ if (points) {
22
+ if (!points.every(function (point) { return point instanceof Point; })) {
23
+ throw new Error('A non-Point inside a points array!');
24
+ }
25
+ }
26
+
27
+ this.klass = 'Space';
28
+ this.height = height;
29
+ this.width = width;
30
+ this.points = points;
31
+ }
32
+
33
+
34
+ // Then define YAML types to load and dump our Point/Space objects.
35
+
36
+ var PointYamlType = new yaml.Type('!point', {
37
+ // Loader must parse sequence nodes only for this type (i.e. arrays in JS terminology).
38
+ // Other available kinds are 'scalar' (string) and 'mapping' (object).
39
+ // http://www.yaml.org/spec/1.2/spec.html#kind//
40
+ kind: 'sequence',
41
+
42
+ // Loader must check if the input object is suitable for this type.
43
+ resolve: function (data) {
44
+ // `data` may be either:
45
+ // - Null in case of an "empty node" (http://www.yaml.org/spec/1.2/spec.html#id2786563)
46
+ // - Array since we specified `kind` to 'sequence'
47
+ return data !== null && data.length === 3;
48
+ },
49
+
50
+ // If a node is resolved, use it to create a Point instance.
51
+ construct: function (data) {
52
+ return new Point(data[0], data[1], data[2]);
53
+ },
54
+
55
+ // Dumper must process instances of Point by rules of this YAML type.
56
+ instanceOf: Point,
57
+
58
+ // Dumper must represent Point objects as three-element sequence in YAML.
59
+ represent: function (point) {
60
+ return [ point.x, point.y, point.z ];
61
+ }
62
+ });
63
+
64
+
65
+ var SpaceYamlType = new yaml.Type('!space', {
66
+ kind: 'mapping',
67
+ construct: function (data) {
68
+ data = data || {}; // in case of empty node
69
+ return new Space(data.height || 0, data.width || 0, data.points || []);
70
+ },
71
+ instanceOf: Space
72
+ // `represent` is omitted here. So, Space objects will be dumped as is.
73
+ // That is regular mapping with three key-value pairs but with !space tag.
74
+ });
75
+
76
+
77
+ // After our types are defined, it's time to join them into a schema.
78
+
79
+ var SPACE_SCHEMA = yaml.Schema.create([ SpaceYamlType, PointYamlType ]);
80
+
81
+
82
+ // And read a document using that schema.
83
+
84
+ fs.readFile(path.join(__dirname, 'custom_types.yml'), 'utf8', function (error, data) {
85
+ var loaded;
86
+
87
+ if (!error) {
88
+ loaded = yaml.load(data, { schema: SPACE_SCHEMA });
89
+ console.log(util.inspect(loaded, false, 20, true));
90
+ } else {
91
+ console.error(error.stack || error.message || String(error));
92
+ }
93
+ });
94
+
95
+
96
+ // There are some exports to play with this example interactively.
97
+
98
+ module.exports.Point = Point;
99
+ module.exports.Space = Space;
100
+ module.exports.PointYamlType = PointYamlType;
101
+ module.exports.SpaceYamlType = SpaceYamlType;
102
+ module.exports.SPACE_SCHEMA = SPACE_SCHEMA;
@@ -0,0 +1,18 @@
1
+ subject: Custom types in JS-YAML
2
+ spaces:
3
+ - !space
4
+ height: 1000
5
+ width: 1000
6
+ points:
7
+ - !point [ 10, 43, 23 ]
8
+ - !point [ 165, 0, 50 ]
9
+ - !point [ 100, 100, 100 ]
10
+
11
+ - !space
12
+ height: 64
13
+ width: 128
14
+ points:
15
+ - !point [ 12, 43, 0 ]
16
+ - !point [ 1, 4, 90 ]
17
+
18
+ - !space # An empty space
@@ -0,0 +1,31 @@
1
+ 'use strict';
2
+
3
+
4
+ var yaml = require('../lib/js-yaml');
5
+ var object = require('./dumper.json');
6
+
7
+
8
+ console.log(yaml.dump(object, {
9
+ flowLevel: 3,
10
+ styles: {
11
+ '!!int' : 'hexadecimal',
12
+ '!!null' : 'camelcase'
13
+ }
14
+ }));
15
+
16
+
17
+ // Output:
18
+ //==============================================================================
19
+ // name: Wizzard
20
+ // level: 0x11
21
+ // sanity: Null
22
+ // inventory:
23
+ // - name: Hat
24
+ // features: [magic, pointed]
25
+ // traits: {}
26
+ // - name: Staff
27
+ // features: []
28
+ // traits: {damage: 0xA}
29
+ // - name: Cloak
30
+ // features: [old]
31
+ // traits: {defence: 0x0, comfort: 0x3}
@@ -0,0 +1,22 @@
1
+ {
2
+ "name" : "Wizzard",
3
+ "level" : 17,
4
+ "sanity" : null,
5
+ "inventory" : [
6
+ {
7
+ "name" : "Hat",
8
+ "features" : [ "magic", "pointed" ],
9
+ "traits" : {}
10
+ },
11
+ {
12
+ "name" : "Staff",
13
+ "features" : [],
14
+ "traits" : { "damage" : 10 }
15
+ },
16
+ {
17
+ "name" : "Cloak",
18
+ "features" : [ "old" ],
19
+ "traits" : { "defence" : 0, "comfort" : 3 }
20
+ }
21
+ ]
22
+ }
@@ -0,0 +1,18 @@
1
+ 'use strict';
2
+
3
+
4
+ var fs = require('fs');
5
+ var path = require('path');
6
+ var util = require('util');
7
+ var yaml = require('../lib/js-yaml');
8
+
9
+
10
+ try {
11
+ var filename = path.join(__dirname, 'sample_document.yml'),
12
+ contents = fs.readFileSync(filename, 'utf8'),
13
+ data = yaml.load(contents);
14
+
15
+ console.log(util.inspect(data, false, 10, true));
16
+ } catch (err) {
17
+ console.log(err.stack || String(err));
18
+ }
@@ -0,0 +1,197 @@
1
+ ---
2
+ # Collection Types #############################################################
3
+ ################################################################################
4
+
5
+ # http://yaml.org/type/map.html -----------------------------------------------#
6
+
7
+ map:
8
+ # Unordered set of key: value pairs.
9
+ Block style: !!map
10
+ Clark : Evans
11
+ Ingy : döt Net
12
+ Oren : Ben-Kiki
13
+ Flow style: !!map { Clark: Evans, Ingy: döt Net, Oren: Ben-Kiki }
14
+
15
+ # http://yaml.org/type/omap.html ----------------------------------------------#
16
+
17
+ omap:
18
+ # Explicitly typed ordered map (dictionary).
19
+ Bestiary: !!omap
20
+ - aardvark: African pig-like ant eater. Ugly.
21
+ - anteater: South-American ant eater. Two species.
22
+ - anaconda: South-American constrictor snake. Scaly.
23
+ # Etc.
24
+ # Flow style
25
+ Numbers: !!omap [ one: 1, two: 2, three : 3 ]
26
+
27
+ # http://yaml.org/type/pairs.html ---------------------------------------------#
28
+
29
+ pairs:
30
+ # Explicitly typed pairs.
31
+ Block tasks: !!pairs
32
+ - meeting: with team.
33
+ - meeting: with boss.
34
+ - break: lunch.
35
+ - meeting: with client.
36
+ Flow tasks: !!pairs [ meeting: with team, meeting: with boss ]
37
+
38
+ # http://yaml.org/type/set.html -----------------------------------------------#
39
+
40
+ set:
41
+ # Explicitly typed set.
42
+ baseball players: !!set
43
+ ? Mark McGwire
44
+ ? Sammy Sosa
45
+ ? Ken Griffey
46
+ # Flow style
47
+ baseball teams: !!set { Boston Red Sox, Detroit Tigers, New York Yankees }
48
+
49
+ # http://yaml.org/type/seq.html -----------------------------------------------#
50
+
51
+ seq:
52
+ # Ordered sequence of nodes
53
+ Block style: !!seq
54
+ - Mercury # Rotates - no light/dark sides.
55
+ - Venus # Deadliest. Aptly named.
56
+ - Earth # Mostly dirt.
57
+ - Mars # Seems empty.
58
+ - Jupiter # The king.
59
+ - Saturn # Pretty.
60
+ - Uranus # Where the sun hardly shines.
61
+ - Neptune # Boring. No rings.
62
+ - Pluto # You call this a planet?
63
+ Flow style: !!seq [ Mercury, Venus, Earth, Mars, # Rocks
64
+ Jupiter, Saturn, Uranus, Neptune, # Gas
65
+ Pluto ] # Overrated
66
+
67
+
68
+ # Scalar Types #################################################################
69
+ ################################################################################
70
+
71
+ # http://yaml.org/type/binary.html --------------------------------------------#
72
+
73
+ binary:
74
+ canonical: !!binary "\
75
+ R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5\
76
+ OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+\
77
+ +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC\
78
+ AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs="
79
+ generic: !!binary |
80
+ R0lGODlhDAAMAIQAAP//9/X17unp5WZmZgAAAOfn515eXvPz7Y6OjuDg4J+fn5
81
+ OTk6enp56enmlpaWNjY6Ojo4SEhP/++f/++f/++f/++f/++f/++f/++f/++f/+
82
+ +f/++f/++f/++f/++f/++SH+Dk1hZGUgd2l0aCBHSU1QACwAAAAADAAMAAAFLC
83
+ AgjoEwnuNAFOhpEMTRiggcz4BNJHrv/zCFcLiwMWYNG84BwwEeECcgggoBADs=
84
+ description:
85
+ The binary value above is a tiny arrow encoded as a gif image.
86
+
87
+ # http://yaml.org/type/bool.html ----------------------------------------------#
88
+
89
+ bool:
90
+ - true
91
+ - True
92
+ - TRUE
93
+ - false
94
+ - False
95
+ - FALSE
96
+
97
+ # http://yaml.org/type/float.html ---------------------------------------------#
98
+
99
+ float:
100
+ canonical: 6.8523015e+5
101
+ exponentioal: 685.230_15e+03
102
+ fixed: 685_230.15
103
+ sexagesimal: 190:20:30.15
104
+ negative infinity: -.inf
105
+ not a number: .NaN
106
+
107
+ # http://yaml.org/type/int.html -----------------------------------------------#
108
+
109
+ int:
110
+ canonical: 685230
111
+ decimal: +685_230
112
+ octal: 02472256
113
+ hexadecimal: 0x_0A_74_AE
114
+ binary: 0b1010_0111_0100_1010_1110
115
+ sexagesimal: 190:20:30
116
+
117
+ # http://yaml.org/type/merge.html ---------------------------------------------#
118
+
119
+ merge:
120
+ - &CENTER { x: 1, y: 2 }
121
+ - &LEFT { x: 0, y: 2 }
122
+ - &BIG { r: 10 }
123
+ - &SMALL { r: 1 }
124
+
125
+ # All the following maps are equal:
126
+
127
+ - # Explicit keys
128
+ x: 1
129
+ y: 2
130
+ r: 10
131
+ label: nothing
132
+
133
+ - # Merge one map
134
+ << : *CENTER
135
+ r: 10
136
+ label: center
137
+
138
+ - # Merge multiple maps
139
+ << : [ *CENTER, *BIG ]
140
+ label: center/big
141
+
142
+ - # Override
143
+ << : [ *BIG, *LEFT, *SMALL ]
144
+ x: 1
145
+ label: big/left/small
146
+
147
+ # http://yaml.org/type/null.html ----------------------------------------------#
148
+
149
+ null:
150
+ # This mapping has four keys,
151
+ # one has a value.
152
+ empty:
153
+ canonical: ~
154
+ english: null
155
+ ~: null key
156
+ # This sequence has five
157
+ # entries, two have values.
158
+ sparse:
159
+ - ~
160
+ - 2nd entry
161
+ -
162
+ - 4th entry
163
+ - Null
164
+
165
+ # http://yaml.org/type/str.html -----------------------------------------------#
166
+
167
+ string: abcd
168
+
169
+ # http://yaml.org/type/timestamp.html -----------------------------------------#
170
+
171
+ timestamp:
172
+ canonical: 2001-12-15T02:59:43.1Z
173
+ valid iso8601: 2001-12-14t21:59:43.10-05:00
174
+ space separated: 2001-12-14 21:59:43.10 -5
175
+ no time zone (Z): 2001-12-15 2:59:43.10
176
+ date (00:00:00Z): 2002-12-14
177
+
178
+
179
+ # JavaScript Specific Types ####################################################
180
+ ################################################################################
181
+
182
+ # https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/RegExp
183
+
184
+ regexp:
185
+ simple: !!js/regexp foobar
186
+ modifiers: !!js/regexp /foobar/mi
187
+
188
+ # https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/undefined
189
+
190
+ undefined: !!js/undefined ~
191
+
192
+ # https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function
193
+
194
+ function: !!js/function >
195
+ function foobar() {
196
+ return 'Wow! JS-YAML Rocks!';
197
+ }
@@ -0,0 +1,7 @@
1
+ 'use strict';
2
+
3
+
4
+ var yaml = require('./lib/js-yaml.js');
5
+
6
+
7
+ module.exports = yaml;
@@ -0,0 +1,39 @@
1
+ 'use strict';
2
+
3
+
4
+ var loader = require('./js-yaml/loader');
5
+ var dumper = require('./js-yaml/dumper');
6
+
7
+
8
+ function deprecated(name) {
9
+ return function () {
10
+ throw new Error('Function ' + name + ' is deprecated and cannot be used.');
11
+ };
12
+ }
13
+
14
+
15
+ module.exports.Type = require('./js-yaml/type');
16
+ module.exports.Schema = require('./js-yaml/schema');
17
+ module.exports.FAILSAFE_SCHEMA = require('./js-yaml/schema/failsafe');
18
+ module.exports.JSON_SCHEMA = require('./js-yaml/schema/json');
19
+ module.exports.CORE_SCHEMA = require('./js-yaml/schema/core');
20
+ module.exports.DEFAULT_SAFE_SCHEMA = require('./js-yaml/schema/default_safe');
21
+ module.exports.DEFAULT_FULL_SCHEMA = require('./js-yaml/schema/default_full');
22
+ module.exports.load = loader.load;
23
+ module.exports.loadAll = loader.loadAll;
24
+ module.exports.safeLoad = loader.safeLoad;
25
+ module.exports.safeLoadAll = loader.safeLoadAll;
26
+ module.exports.dump = dumper.dump;
27
+ module.exports.safeDump = dumper.safeDump;
28
+ module.exports.YAMLException = require('./js-yaml/exception');
29
+
30
+ // Deprecared schema names from JS-YAML 2.0.x
31
+ module.exports.MINIMAL_SCHEMA = require('./js-yaml/schema/failsafe');
32
+ module.exports.SAFE_SCHEMA = require('./js-yaml/schema/default_safe');
33
+ module.exports.DEFAULT_SCHEMA = require('./js-yaml/schema/default_full');
34
+
35
+ // Deprecated functions from JS-YAML 1.x.x
36
+ module.exports.scan = deprecated('scan');
37
+ module.exports.parse = deprecated('parse');
38
+ module.exports.compose = deprecated('compose');
39
+ module.exports.addConstructor = deprecated('addConstructor');