discourse-ember-source 3.5.1.1 → 3.5.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (741) hide show
  1. checksums.yaml +4 -4
  2. data/lib/ember/version.rb +1 -1
  3. metadata +2 -740
  4. data/.gitignore +0 -9
  5. data/.travis.yml +0 -5
  6. data/Gemfile +0 -6
  7. data/LICENSE.txt +0 -21
  8. data/README +0 -18
  9. data/README.md +0 -39
  10. data/Rakefile +0 -27
  11. data/bin/console +0 -14
  12. data/bin/setup +0 -8
  13. data/discourse-ember-source-3.5.1.0.gem +0 -0
  14. data/dist/ember-all.debug.map +0 -1
  15. data/dist/ember-template-compiler.map +0 -1
  16. data/dist/ember-testing.map +0 -1
  17. data/dist/ember-tests.map +0 -1
  18. data/dist/ember-tests.prod.map +0 -1
  19. data/dist/ember.debug.map +0 -1
  20. data/dist/ember.min.map +0 -1
  21. data/dist/ember.prod.map +0 -1
  22. data/dist/es/@ember/application/globals-resolver.js +0 -425
  23. data/dist/es/@ember/application/index.js +0 -3
  24. data/dist/es/@ember/application/instance.js +0 -513
  25. data/dist/es/@ember/application/lib/application.js +0 -1139
  26. data/dist/es/@ember/application/lib/lazy_load.js +0 -69
  27. data/dist/es/@ember/application/lib/validate-type.js +0 -24
  28. data/dist/es/@ember/application/tests/application_instance_test.js +0 -230
  29. data/dist/es/@ember/application/tests/application_test.js +0 -470
  30. data/dist/es/@ember/application/tests/bootstrap-test.js +0 -28
  31. data/dist/es/@ember/application/tests/dependency_injection/custom_resolver_test.js +0 -32
  32. data/dist/es/@ember/application/tests/dependency_injection/default_resolver_test.js +0 -363
  33. data/dist/es/@ember/application/tests/dependency_injection/normalization_test.js +0 -70
  34. data/dist/es/@ember/application/tests/dependency_injection/to_string_test.js +0 -71
  35. data/dist/es/@ember/application/tests/dependency_injection_test.js +0 -93
  36. data/dist/es/@ember/application/tests/initializers_test.js +0 -391
  37. data/dist/es/@ember/application/tests/instance_initializers_test.js +0 -395
  38. data/dist/es/@ember/application/tests/lazy_load_test.js +0 -79
  39. data/dist/es/@ember/application/tests/logging_test.js +0 -179
  40. data/dist/es/@ember/application/tests/readiness_test.js +0 -138
  41. data/dist/es/@ember/application/tests/reset_test.js +0 -185
  42. data/dist/es/@ember/application/tests/visit_test.js +0 -783
  43. data/dist/es/@ember/canary-features/index.js +0 -76
  44. data/dist/es/@ember/controller/index.js +0 -50
  45. data/dist/es/@ember/controller/lib/controller_mixin.js +0 -42
  46. data/dist/es/@ember/controller/tests/controller_test.js +0 -209
  47. data/dist/es/@ember/debug/index.js +0 -264
  48. data/dist/es/@ember/debug/lib/deprecate.js +0 -198
  49. data/dist/es/@ember/debug/lib/handlers.js +0 -22
  50. data/dist/es/@ember/debug/lib/testing.js +0 -7
  51. data/dist/es/@ember/debug/lib/warn.js +0 -107
  52. data/dist/es/@ember/debug/tests/handlers-test.js +0 -144
  53. data/dist/es/@ember/debug/tests/main_test.js +0 -444
  54. data/dist/es/@ember/deprecated-features/index.js +0 -21
  55. data/dist/es/@ember/engine/index.js +0 -532
  56. data/dist/es/@ember/engine/instance.js +0 -228
  57. data/dist/es/@ember/engine/lib/engine-parent.js +0 -32
  58. data/dist/es/@ember/engine/tests/engine_initializers_test.js +0 -366
  59. data/dist/es/@ember/engine/tests/engine_instance_initializers_test.js +0 -409
  60. data/dist/es/@ember/engine/tests/engine_instance_test.js +0 -115
  61. data/dist/es/@ember/engine/tests/engine_parent_test.js +0 -20
  62. data/dist/es/@ember/engine/tests/engine_test.js +0 -121
  63. data/dist/es/@ember/error/index.js +0 -36
  64. data/dist/es/@ember/error/tests/index_test.js +0 -19
  65. data/dist/es/@ember/instrumentation/index.js +0 -240
  66. data/dist/es/@ember/instrumentation/tests/index-test.js +0 -214
  67. data/dist/es/@ember/map/index.js +0 -218
  68. data/dist/es/@ember/map/lib/ordered-set.js +0 -186
  69. data/dist/es/@ember/map/lib/utils.js +0 -29
  70. data/dist/es/@ember/map/tests/map_test.js +0 -578
  71. data/dist/es/@ember/map/with-default.js +0 -87
  72. data/dist/es/@ember/object/computed.js +0 -35
  73. data/dist/es/@ember/object/lib/computed/computed_macros.js +0 -742
  74. data/dist/es/@ember/object/lib/computed/reduce_computed_macros.js +0 -894
  75. data/dist/es/@ember/object/tests/computed/computed_macros_test.js +0 -533
  76. data/dist/es/@ember/object/tests/computed/reduce_computed_macros_test.js +0 -2243
  77. data/dist/es/@ember/polyfills/index.js +0 -3
  78. data/dist/es/@ember/polyfills/lib/assign.js +0 -43
  79. data/dist/es/@ember/polyfills/lib/merge.js +0 -35
  80. data/dist/es/@ember/polyfills/tests/assign_test.js +0 -64
  81. data/dist/es/@ember/runloop/index.js +0 -749
  82. data/dist/es/@ember/runloop/tests/debounce_test.js +0 -87
  83. data/dist/es/@ember/runloop/tests/later_test.js +0 -264
  84. data/dist/es/@ember/runloop/tests/next_test.js +0 -56
  85. data/dist/es/@ember/runloop/tests/once_test.js +0 -62
  86. data/dist/es/@ember/runloop/tests/onerror_test.js +0 -59
  87. data/dist/es/@ember/runloop/tests/run_bind_test.js +0 -59
  88. data/dist/es/@ember/runloop/tests/run_test.js +0 -28
  89. data/dist/es/@ember/runloop/tests/schedule_test.js +0 -86
  90. data/dist/es/@ember/runloop/tests/sync_test.js +0 -32
  91. data/dist/es/@ember/runloop/tests/unwind_test.js +0 -54
  92. data/dist/es/@ember/service/index.js +0 -57
  93. data/dist/es/@ember/string/index.js +0 -362
  94. data/dist/es/@ember/string/lib/string_registry.js +0 -13
  95. data/dist/es/@ember/string/tests/camelize_test.js +0 -53
  96. data/dist/es/@ember/string/tests/capitalize_test.js +0 -58
  97. data/dist/es/@ember/string/tests/classify_test.js +0 -79
  98. data/dist/es/@ember/string/tests/dasherize_test.js +0 -57
  99. data/dist/es/@ember/string/tests/decamelize_test.js +0 -51
  100. data/dist/es/@ember/string/tests/loc_test.js +0 -76
  101. data/dist/es/@ember/string/tests/underscore_test.js +0 -51
  102. data/dist/es/@ember/string/tests/w_test.js +0 -39
  103. data/dist/es/@glimmer/compiler.js +0 -1226
  104. data/dist/es/@glimmer/encoder.js +0 -39
  105. data/dist/es/@glimmer/low-level.js +0 -82
  106. data/dist/es/@glimmer/node.js +0 -112
  107. data/dist/es/@glimmer/opcode-compiler.js +0 -1999
  108. data/dist/es/@glimmer/program.js +0 -405
  109. data/dist/es/@glimmer/reference.js +0 -478
  110. data/dist/es/@glimmer/runtime.js +0 -4086
  111. data/dist/es/@glimmer/syntax.js +0 -1424
  112. data/dist/es/@glimmer/util.js +0 -189
  113. data/dist/es/@glimmer/vm.js +0 -27
  114. data/dist/es/@glimmer/wire-format.js +0 -56
  115. data/dist/es/backburner.js +0 -936
  116. data/dist/es/container/index.js +0 -8
  117. data/dist/es/container/lib/container.js +0 -437
  118. data/dist/es/container/lib/registry.js +0 -646
  119. data/dist/es/container/tests/container_test.js +0 -872
  120. data/dist/es/container/tests/owner_test.js +0 -20
  121. data/dist/es/container/tests/registry_test.js +0 -943
  122. data/dist/es/dag-map.js +0 -209
  123. data/dist/es/ember-browser-environment/index.js +0 -8
  124. data/dist/es/ember-browser-environment/lib/has-dom.js +0 -19
  125. data/dist/es/ember-console/index.js +0 -177
  126. data/dist/es/ember-environment/index.js +0 -3
  127. data/dist/es/ember-environment/lib/context.js +0 -20
  128. data/dist/es/ember-environment/lib/env.js +0 -185
  129. data/dist/es/ember-environment/lib/global.js +0 -14
  130. data/dist/es/ember-error-handling/index.js +0 -22
  131. data/dist/es/ember-extension-support/index.js +0 -2
  132. data/dist/es/ember-extension-support/lib/container_debug_adapter.js +0 -99
  133. data/dist/es/ember-extension-support/lib/data_adapter.js +0 -493
  134. data/dist/es/ember-extension-support/tests/container_debug_adapter_test.js +0 -73
  135. data/dist/es/ember-extension-support/tests/data_adapter_test.js +0 -301
  136. data/dist/es/ember-glimmer/index.js +0 -286
  137. data/dist/es/ember-glimmer/lib/compile-time-lookup.js +0 -37
  138. data/dist/es/ember-glimmer/lib/component-managers/abstract.js +0 -49
  139. data/dist/es/ember-glimmer/lib/component-managers/curly.js +0 -395
  140. data/dist/es/ember-glimmer/lib/component-managers/custom.js +0 -145
  141. data/dist/es/ember-glimmer/lib/component-managers/definition-state.js +0 -1
  142. data/dist/es/ember-glimmer/lib/component-managers/mount.js +0 -103
  143. data/dist/es/ember-glimmer/lib/component-managers/outlet.js +0 -114
  144. data/dist/es/ember-glimmer/lib/component-managers/render.js +0 -112
  145. data/dist/es/ember-glimmer/lib/component-managers/root.js +0 -74
  146. data/dist/es/ember-glimmer/lib/component-managers/template-only.js +0 -46
  147. data/dist/es/ember-glimmer/lib/component.js +0 -633
  148. data/dist/es/ember-glimmer/lib/components/checkbox.js +0 -57
  149. data/dist/es/ember-glimmer/lib/components/link-to.js +0 -777
  150. data/dist/es/ember-glimmer/lib/components/text_area.js +0 -236
  151. data/dist/es/ember-glimmer/lib/components/text_field.js +0 -145
  152. data/dist/es/ember-glimmer/lib/dom.js +0 -3
  153. data/dist/es/ember-glimmer/lib/environment.js +0 -102
  154. data/dist/es/ember-glimmer/lib/helper.js +0 -128
  155. data/dist/es/ember-glimmer/lib/helpers/-class.js +0 -23
  156. data/dist/es/ember-glimmer/lib/helpers/-html-safe.js +0 -9
  157. data/dist/es/ember-glimmer/lib/helpers/-input-type.js +0 -11
  158. data/dist/es/ember-glimmer/lib/helpers/-normalize-class.js +0 -22
  159. data/dist/es/ember-glimmer/lib/helpers/action.js +0 -360
  160. data/dist/es/ember-glimmer/lib/helpers/component.js +0 -135
  161. data/dist/es/ember-glimmer/lib/helpers/concat.js +0 -38
  162. data/dist/es/ember-glimmer/lib/helpers/each-in.js +0 -126
  163. data/dist/es/ember-glimmer/lib/helpers/get.js +0 -100
  164. data/dist/es/ember-glimmer/lib/helpers/hash.js +0 -44
  165. data/dist/es/ember-glimmer/lib/helpers/if-unless.js +0 -142
  166. data/dist/es/ember-glimmer/lib/helpers/loc.js +0 -40
  167. data/dist/es/ember-glimmer/lib/helpers/log.js +0 -25
  168. data/dist/es/ember-glimmer/lib/helpers/mut.js +0 -107
  169. data/dist/es/ember-glimmer/lib/helpers/query-param.js +0 -31
  170. data/dist/es/ember-glimmer/lib/helpers/readonly.js +0 -104
  171. data/dist/es/ember-glimmer/lib/helpers/unbound.js +0 -36
  172. data/dist/es/ember-glimmer/lib/modifiers/action.js +0 -185
  173. data/dist/es/ember-glimmer/lib/protocol-for-url.js +0 -48
  174. data/dist/es/ember-glimmer/lib/renderer.js +0 -371
  175. data/dist/es/ember-glimmer/lib/resolver.js +0 -290
  176. data/dist/es/ember-glimmer/lib/setup-registry.js +0 -77
  177. data/dist/es/ember-glimmer/lib/syntax.js +0 -73
  178. data/dist/es/ember-glimmer/lib/syntax/-text-area.js +0 -8
  179. data/dist/es/ember-glimmer/lib/syntax/input.js +0 -173
  180. data/dist/es/ember-glimmer/lib/syntax/let.js +0 -50
  181. data/dist/es/ember-glimmer/lib/syntax/mount.js +0 -101
  182. data/dist/es/ember-glimmer/lib/syntax/outlet.js +0 -120
  183. data/dist/es/ember-glimmer/lib/syntax/render.js +0 -140
  184. data/dist/es/ember-glimmer/lib/syntax/utils.js +0 -6
  185. data/dist/es/ember-glimmer/lib/template-compiler.js +0 -7
  186. data/dist/es/ember-glimmer/lib/template.js +0 -16
  187. data/dist/es/ember-glimmer/lib/template_registry.js +0 -18
  188. data/dist/es/ember-glimmer/lib/templates/component.js +0 -2
  189. data/dist/es/ember-glimmer/lib/templates/empty.js +0 -2
  190. data/dist/es/ember-glimmer/lib/templates/link-to.js +0 -2
  191. data/dist/es/ember-glimmer/lib/templates/outlet.js +0 -2
  192. data/dist/es/ember-glimmer/lib/templates/root.js +0 -2
  193. data/dist/es/ember-glimmer/lib/utils/bindings.js +0 -180
  194. data/dist/es/ember-glimmer/lib/utils/curly-component-state-bucket.js +0 -36
  195. data/dist/es/ember-glimmer/lib/utils/custom-component-manager.js +0 -20
  196. data/dist/es/ember-glimmer/lib/utils/debug-stack.js +0 -57
  197. data/dist/es/ember-glimmer/lib/utils/iterable.js +0 -358
  198. data/dist/es/ember-glimmer/lib/utils/outlet.js +0 -89
  199. data/dist/es/ember-glimmer/lib/utils/process-args.js +0 -40
  200. data/dist/es/ember-glimmer/lib/utils/references.js +0 -325
  201. data/dist/es/ember-glimmer/lib/utils/serialization-first-node-helpers.js +0 -1
  202. data/dist/es/ember-glimmer/lib/utils/string.js +0 -98
  203. data/dist/es/ember-glimmer/lib/utils/to-bool.js +0 -9
  204. data/dist/es/ember-glimmer/lib/views/outlet.js +0 -71
  205. data/dist/es/ember-glimmer/tests/integration/application/actions-test.js +0 -107
  206. data/dist/es/ember-glimmer/tests/integration/application/engine-test.js +0 -912
  207. data/dist/es/ember-glimmer/tests/integration/application/rendering-test.js +0 -530
  208. data/dist/es/ember-glimmer/tests/integration/components/angle-bracket-invocation-test.js +0 -852
  209. data/dist/es/ember-glimmer/tests/integration/components/append-test.js +0 -742
  210. data/dist/es/ember-glimmer/tests/integration/components/attribute-bindings-test.js +0 -999
  211. data/dist/es/ember-glimmer/tests/integration/components/attrs-lookup-test.js +0 -268
  212. data/dist/es/ember-glimmer/tests/integration/components/class-bindings-test.js +0 -849
  213. data/dist/es/ember-glimmer/tests/integration/components/contextual-components-test.js +0 -1493
  214. data/dist/es/ember-glimmer/tests/integration/components/curly-components-test.js +0 -3705
  215. data/dist/es/ember-glimmer/tests/integration/components/destroy-test.js +0 -33
  216. data/dist/es/ember-glimmer/tests/integration/components/dynamic-components-test.js +0 -896
  217. data/dist/es/ember-glimmer/tests/integration/components/error-handling-test.js +0 -164
  218. data/dist/es/ember-glimmer/tests/integration/components/fragment-components-test.js +0 -285
  219. data/dist/es/ember-glimmer/tests/integration/components/instrumentation-compile-test.js +0 -108
  220. data/dist/es/ember-glimmer/tests/integration/components/instrumentation-test.js +0 -157
  221. data/dist/es/ember-glimmer/tests/integration/components/life-cycle-test.js +0 -1653
  222. data/dist/es/ember-glimmer/tests/integration/components/link-to-test.js +0 -218
  223. data/dist/es/ember-glimmer/tests/integration/components/local-lookup-test.js +0 -414
  224. data/dist/es/ember-glimmer/tests/integration/components/namespaced-lookup-test.js +0 -185
  225. data/dist/es/ember-glimmer/tests/integration/components/render-to-element-test.js +0 -0
  226. data/dist/es/ember-glimmer/tests/integration/components/target-action-test.js +0 -779
  227. data/dist/es/ember-glimmer/tests/integration/components/template-only-components-test.js +0 -225
  228. data/dist/es/ember-glimmer/tests/integration/components/to-string-test.js +0 -27
  229. data/dist/es/ember-glimmer/tests/integration/components/utils-test.js +0 -401
  230. data/dist/es/ember-glimmer/tests/integration/components/web-component-fallback-test.js +0 -35
  231. data/dist/es/ember-glimmer/tests/integration/components/will-destroy-element-hook-test.js +0 -40
  232. data/dist/es/ember-glimmer/tests/integration/content-test.js +0 -1759
  233. data/dist/es/ember-glimmer/tests/integration/custom-component-manager-test.js +0 -508
  234. data/dist/es/ember-glimmer/tests/integration/event-dispatcher-test.js +0 -607
  235. data/dist/es/ember-glimmer/tests/integration/helpers/-class-test.js +0 -76
  236. data/dist/es/ember-glimmer/tests/integration/helpers/closure-action-test.js +0 -1240
  237. data/dist/es/ember-glimmer/tests/integration/helpers/concat-test.js +0 -106
  238. data/dist/es/ember-glimmer/tests/integration/helpers/custom-helper-test.js +0 -672
  239. data/dist/es/ember-glimmer/tests/integration/helpers/element-action-test.js +0 -1595
  240. data/dist/es/ember-glimmer/tests/integration/helpers/get-test.js +0 -618
  241. data/dist/es/ember-glimmer/tests/integration/helpers/hash-test.js +0 -188
  242. data/dist/es/ember-glimmer/tests/integration/helpers/if-unless-test.js +0 -149
  243. data/dist/es/ember-glimmer/tests/integration/helpers/input-test.js +0 -827
  244. data/dist/es/ember-glimmer/tests/integration/helpers/loc-test.js +0 -103
  245. data/dist/es/ember-glimmer/tests/integration/helpers/log-test.js +0 -61
  246. data/dist/es/ember-glimmer/tests/integration/helpers/mut-test.js +0 -580
  247. data/dist/es/ember-glimmer/tests/integration/helpers/partial-test.js +0 -386
  248. data/dist/es/ember-glimmer/tests/integration/helpers/readonly-test.js +0 -293
  249. data/dist/es/ember-glimmer/tests/integration/helpers/render-test.js +0 -522
  250. data/dist/es/ember-glimmer/tests/integration/helpers/text-area-test.js +0 -166
  251. data/dist/es/ember-glimmer/tests/integration/helpers/unbound-test.js +0 -650
  252. data/dist/es/ember-glimmer/tests/integration/helpers/yield-test.js +0 -275
  253. data/dist/es/ember-glimmer/tests/integration/input-test.js +0 -242
  254. data/dist/es/ember-glimmer/tests/integration/mount-test.js +0 -424
  255. data/dist/es/ember-glimmer/tests/integration/outlet-test.js +0 -318
  256. data/dist/es/ember-glimmer/tests/integration/refinements-test.js +0 -74
  257. data/dist/es/ember-glimmer/tests/integration/render-settled-test.js +0 -72
  258. data/dist/es/ember-glimmer/tests/integration/svg-test.js +0 -158
  259. data/dist/es/ember-glimmer/tests/integration/syntax/each-in-test.js +0 -697
  260. data/dist/es/ember-glimmer/tests/integration/syntax/each-test.js +0 -1251
  261. data/dist/es/ember-glimmer/tests/integration/syntax/experimental-syntax-test.js +0 -42
  262. data/dist/es/ember-glimmer/tests/integration/syntax/if-unless-test.js +0 -108
  263. data/dist/es/ember-glimmer/tests/integration/syntax/in-element-test.js +0 -119
  264. data/dist/es/ember-glimmer/tests/integration/syntax/let-test.js +0 -390
  265. data/dist/es/ember-glimmer/tests/integration/syntax/with-dynamic-var-test.js +0 -36
  266. data/dist/es/ember-glimmer/tests/integration/syntax/with-test.js +0 -422
  267. data/dist/es/ember-glimmer/tests/unit/outlet-test.js +0 -48
  268. data/dist/es/ember-glimmer/tests/unit/runtime-resolver-cache-test.js +0 -263
  269. data/dist/es/ember-glimmer/tests/unit/template-factory-test.js +0 -67
  270. data/dist/es/ember-glimmer/tests/unit/utils/debug-stack-test.js +0 -38
  271. data/dist/es/ember-glimmer/tests/utils/abstract-test-case.js +0 -1
  272. data/dist/es/ember-glimmer/tests/utils/helpers.js +0 -15
  273. data/dist/es/ember-glimmer/tests/utils/shared-conditional-tests.js +0 -965
  274. data/dist/es/ember-glimmer/tests/utils/string-test.js +0 -47
  275. data/dist/es/ember-glimmer/tests/utils/test-case.js +0 -6
  276. data/dist/es/ember-glimmer/tests/utils/test-helpers.js +0 -1
  277. data/dist/es/ember-meta/index.js +0 -1
  278. data/dist/es/ember-meta/lib/meta.js +0 -623
  279. data/dist/es/ember-meta/tests/meta_test.js +0 -169
  280. data/dist/es/ember-metal/index.js +0 -33
  281. data/dist/es/ember-metal/lib/alias.js +0 -80
  282. data/dist/es/ember-metal/lib/array.js +0 -55
  283. data/dist/es/ember-metal/lib/array_events.js +0 -65
  284. data/dist/es/ember-metal/lib/chains.js +0 -315
  285. data/dist/es/ember-metal/lib/change_event.js +0 -4
  286. data/dist/es/ember-metal/lib/computed.js +0 -526
  287. data/dist/es/ember-metal/lib/computed_cache.js +0 -58
  288. data/dist/es/ember-metal/lib/dependent_keys.js +0 -34
  289. data/dist/es/ember-metal/lib/deprecate_property.js +0 -34
  290. data/dist/es/ember-metal/lib/descriptor.js +0 -28
  291. data/dist/es/ember-metal/lib/each_proxy.js +0 -106
  292. data/dist/es/ember-metal/lib/each_proxy_events.js +0 -13
  293. data/dist/es/ember-metal/lib/events.js +0 -174
  294. data/dist/es/ember-metal/lib/expand_properties.js +0 -64
  295. data/dist/es/ember-metal/lib/get_properties.js +0 -45
  296. data/dist/es/ember-metal/lib/injected_property.js +0 -53
  297. data/dist/es/ember-metal/lib/is_blank.js +0 -34
  298. data/dist/es/ember-metal/lib/is_empty.js +0 -63
  299. data/dist/es/ember-metal/lib/is_none.js +0 -27
  300. data/dist/es/ember-metal/lib/is_present.js +0 -38
  301. data/dist/es/ember-metal/lib/libraries.js +0 -80
  302. data/dist/es/ember-metal/lib/mixin.js +0 -646
  303. data/dist/es/ember-metal/lib/namespace_search.js +0 -166
  304. data/dist/es/ember-metal/lib/observer.js +0 -34
  305. data/dist/es/ember-metal/lib/observer_set.js +0 -48
  306. data/dist/es/ember-metal/lib/path_cache.js +0 -5
  307. data/dist/es/ember-metal/lib/properties.js +0 -192
  308. data/dist/es/ember-metal/lib/property_events.js +0 -198
  309. data/dist/es/ember-metal/lib/property_get.js +0 -160
  310. data/dist/es/ember-metal/lib/property_set.js +0 -157
  311. data/dist/es/ember-metal/lib/set_properties.js +0 -43
  312. data/dist/es/ember-metal/lib/tags.js +0 -81
  313. data/dist/es/ember-metal/lib/tracked.js +0 -201
  314. data/dist/es/ember-metal/lib/transaction.js +0 -137
  315. data/dist/es/ember-metal/lib/watch_key.js +0 -113
  316. data/dist/es/ember-metal/lib/watch_path.js +0 -24
  317. data/dist/es/ember-metal/lib/watching.js +0 -54
  318. data/dist/es/ember-metal/tests/accessors/get_path_test.js +0 -82
  319. data/dist/es/ember-metal/tests/accessors/get_properties_test.js +0 -36
  320. data/dist/es/ember-metal/tests/accessors/get_test.js +0 -335
  321. data/dist/es/ember-metal/tests/accessors/mandatory_setters_test.js +0 -470
  322. data/dist/es/ember-metal/tests/accessors/set_path_test.js +0 -97
  323. data/dist/es/ember-metal/tests/accessors/set_test.js +0 -128
  324. data/dist/es/ember-metal/tests/alias_test.js +0 -167
  325. data/dist/es/ember-metal/tests/chains_test.js +0 -210
  326. data/dist/es/ember-metal/tests/computed_test.js +0 -1040
  327. data/dist/es/ember-metal/tests/descriptor_test.js +0 -368
  328. data/dist/es/ember-metal/tests/events_test.js +0 -210
  329. data/dist/es/ember-metal/tests/expand_properties_test.js +0 -119
  330. data/dist/es/ember-metal/tests/injected_property_test.js +0 -76
  331. data/dist/es/ember-metal/tests/is_blank_test.js +0 -29
  332. data/dist/es/ember-metal/tests/is_empty_test.js +0 -55
  333. data/dist/es/ember-metal/tests/is_none_test.js +0 -23
  334. data/dist/es/ember-metal/tests/is_present_test.js +0 -30
  335. data/dist/es/ember-metal/tests/libraries_test.js +0 -99
  336. data/dist/es/ember-metal/tests/main_test.js +0 -31
  337. data/dist/es/ember-metal/tests/mixin/alias_method_test.js +0 -91
  338. data/dist/es/ember-metal/tests/mixin/apply_test.js +0 -40
  339. data/dist/es/ember-metal/tests/mixin/computed_test.js +0 -166
  340. data/dist/es/ember-metal/tests/mixin/concatenated_properties_test.js +0 -117
  341. data/dist/es/ember-metal/tests/mixin/detect_test.js +0 -40
  342. data/dist/es/ember-metal/tests/mixin/introspection_test.js +0 -75
  343. data/dist/es/ember-metal/tests/mixin/merged_properties_test.js +0 -200
  344. data/dist/es/ember-metal/tests/mixin/method_test.js +0 -252
  345. data/dist/es/ember-metal/tests/mixin/observer_test.js +0 -202
  346. data/dist/es/ember-metal/tests/mixin/reopen_test.js +0 -53
  347. data/dist/es/ember-metal/tests/mixin/without_test.js +0 -22
  348. data/dist/es/ember-metal/tests/namespace_search_test.js +0 -16
  349. data/dist/es/ember-metal/tests/observer_test.js +0 -961
  350. data/dist/es/ember-metal/tests/performance_test.js +0 -81
  351. data/dist/es/ember-metal/tests/properties_test.js +0 -120
  352. data/dist/es/ember-metal/tests/property_did_change_hook.js +0 -73
  353. data/dist/es/ember-metal/tests/set_properties_test.js +0 -49
  354. data/dist/es/ember-metal/tests/tracked/computed_test.js +0 -67
  355. data/dist/es/ember-metal/tests/tracked/get_test.js +0 -86
  356. data/dist/es/ember-metal/tests/tracked/set_test.js +0 -44
  357. data/dist/es/ember-metal/tests/tracked/support.js +0 -37
  358. data/dist/es/ember-metal/tests/tracked/validation_test.js +0 -233
  359. data/dist/es/ember-metal/tests/watching/is_watching_test.js +0 -97
  360. data/dist/es/ember-metal/tests/watching/unwatch_test.js +0 -109
  361. data/dist/es/ember-metal/tests/watching/watch_test.js +0 -255
  362. data/dist/es/ember-owner/index.js +0 -66
  363. data/dist/es/ember-routing/index.js +0 -21
  364. data/dist/es/ember-routing/lib/ext/controller.js +0 -222
  365. data/dist/es/ember-routing/lib/location/api.js +0 -118
  366. data/dist/es/ember-routing/lib/location/auto_location.js +0 -323
  367. data/dist/es/ember-routing/lib/location/hash_location.js +0 -171
  368. data/dist/es/ember-routing/lib/location/history_location.js +0 -298
  369. data/dist/es/ember-routing/lib/location/none_location.js +0 -122
  370. data/dist/es/ember-routing/lib/location/util.js +0 -114
  371. data/dist/es/ember-routing/lib/services/router.js +0 -243
  372. data/dist/es/ember-routing/lib/services/routing.js +0 -101
  373. data/dist/es/ember-routing/lib/system/cache.js +0 -40
  374. data/dist/es/ember-routing/lib/system/controller_for.js +0 -14
  375. data/dist/es/ember-routing/lib/system/dsl.js +0 -208
  376. data/dist/es/ember-routing/lib/system/generate_controller.js +0 -54
  377. data/dist/es/ember-routing/lib/system/query_params.js +0 -6
  378. data/dist/es/ember-routing/lib/system/route.js +0 -2476
  379. data/dist/es/ember-routing/lib/system/router.js +0 -1607
  380. data/dist/es/ember-routing/lib/system/router_state.js +0 -26
  381. data/dist/es/ember-routing/lib/system/transition.js +0 -153
  382. data/dist/es/ember-routing/lib/utils.js +0 -230
  383. data/dist/es/ember-routing/tests/ext/controller_test.js +0 -85
  384. data/dist/es/ember-routing/tests/location/auto_location_test.js +0 -379
  385. data/dist/es/ember-routing/tests/location/hash_location_test.js +0 -207
  386. data/dist/es/ember-routing/tests/location/history_location_test.js +0 -322
  387. data/dist/es/ember-routing/tests/location/none_location_test.js +0 -88
  388. data/dist/es/ember-routing/tests/location/util_test.js +0 -159
  389. data/dist/es/ember-routing/tests/system/cache_test.js +0 -54
  390. data/dist/es/ember-routing/tests/system/controller_for_test.js +0 -75
  391. data/dist/es/ember-routing/tests/system/dsl_test.js +0 -413
  392. data/dist/es/ember-routing/tests/system/route_test.js +0 -587
  393. data/dist/es/ember-routing/tests/system/router_test.js +0 -287
  394. data/dist/es/ember-routing/tests/utils_test.js +0 -37
  395. data/dist/es/ember-runtime/.gitignore +0 -1
  396. data/dist/es/ember-runtime/README +0 -12
  397. data/dist/es/ember-runtime/index.js +0 -35
  398. data/dist/es/ember-runtime/lib/compare.js +0 -149
  399. data/dist/es/ember-runtime/lib/copy.js +0 -106
  400. data/dist/es/ember-runtime/lib/ext/function.js +0 -154
  401. data/dist/es/ember-runtime/lib/ext/rsvp.js +0 -59
  402. data/dist/es/ember-runtime/lib/is-equal.js +0 -60
  403. data/dist/es/ember-runtime/lib/mixins/-proxy.js +0 -109
  404. data/dist/es/ember-runtime/lib/mixins/action_handler.js +0 -222
  405. data/dist/es/ember-runtime/lib/mixins/array.js +0 -1661
  406. data/dist/es/ember-runtime/lib/mixins/comparable.js +0 -38
  407. data/dist/es/ember-runtime/lib/mixins/container_proxy.js +0 -154
  408. data/dist/es/ember-runtime/lib/mixins/copyable.js +0 -34
  409. data/dist/es/ember-runtime/lib/mixins/enumerable.js +0 -16
  410. data/dist/es/ember-runtime/lib/mixins/evented.js +0 -149
  411. data/dist/es/ember-runtime/lib/mixins/mutable_enumerable.js +0 -18
  412. data/dist/es/ember-runtime/lib/mixins/observable.js +0 -482
  413. data/dist/es/ember-runtime/lib/mixins/promise_proxy.js +0 -224
  414. data/dist/es/ember-runtime/lib/mixins/registry_proxy.js +0 -265
  415. data/dist/es/ember-runtime/lib/mixins/target_action_support.js +0 -172
  416. data/dist/es/ember-runtime/lib/system/array_proxy.js +0 -298
  417. data/dist/es/ember-runtime/lib/system/core_object.js +0 -1037
  418. data/dist/es/ember-runtime/lib/system/namespace.js +0 -69
  419. data/dist/es/ember-runtime/lib/system/object.js +0 -73
  420. data/dist/es/ember-runtime/lib/system/object_proxy.js +0 -81
  421. data/dist/es/ember-runtime/lib/type-of.js +0 -107
  422. data/dist/es/ember-runtime/tests/array/any-test.js +0 -55
  423. data/dist/es/ember-runtime/tests/array/compact-test.js +0 -12
  424. data/dist/es/ember-runtime/tests/array/every-test.js +0 -82
  425. data/dist/es/ember-runtime/tests/array/filter-test.js +0 -123
  426. data/dist/es/ember-runtime/tests/array/find-test.js +0 -86
  427. data/dist/es/ember-runtime/tests/array/firstObject-test.js +0 -27
  428. data/dist/es/ember-runtime/tests/array/forEach-test.js +0 -68
  429. data/dist/es/ember-runtime/tests/array/includes-test.js +0 -46
  430. data/dist/es/ember-runtime/tests/array/indexOf-test.js +0 -27
  431. data/dist/es/ember-runtime/tests/array/invoke-test.js +0 -60
  432. data/dist/es/ember-runtime/tests/array/isAny-test.js +0 -53
  433. data/dist/es/ember-runtime/tests/array/lastIndexOf-test.js +0 -78
  434. data/dist/es/ember-runtime/tests/array/lastObject-test.js +0 -31
  435. data/dist/es/ember-runtime/tests/array/map-test.js +0 -68
  436. data/dist/es/ember-runtime/tests/array/mapBy-test.js +0 -16
  437. data/dist/es/ember-runtime/tests/array/objectAt-test.js +0 -34
  438. data/dist/es/ember-runtime/tests/array/reduce-test.js +0 -24
  439. data/dist/es/ember-runtime/tests/array/reject-test.js +0 -134
  440. data/dist/es/ember-runtime/tests/array/sortBy-test.js +0 -23
  441. data/dist/es/ember-runtime/tests/array/toArray-test.js +0 -11
  442. data/dist/es/ember-runtime/tests/array/uniq-test.js +0 -27
  443. data/dist/es/ember-runtime/tests/array/uniqBy-test.js +0 -33
  444. data/dist/es/ember-runtime/tests/array/without-test.js +0 -39
  445. data/dist/es/ember-runtime/tests/copyable-array/copy-test.js +0 -12
  446. data/dist/es/ember-runtime/tests/core/compare_test.js +0 -89
  447. data/dist/es/ember-runtime/tests/core/copy_test.js +0 -47
  448. data/dist/es/ember-runtime/tests/core/isEqual_test.js +0 -65
  449. data/dist/es/ember-runtime/tests/core/is_array_test.js +0 -59
  450. data/dist/es/ember-runtime/tests/core/is_empty_test.js +0 -15
  451. data/dist/es/ember-runtime/tests/core/type_of_test.js +0 -54
  452. data/dist/es/ember-runtime/tests/ext/function_test.js +0 -121
  453. data/dist/es/ember-runtime/tests/ext/rsvp_test.js +0 -269
  454. data/dist/es/ember-runtime/tests/helpers/array.js +0 -336
  455. data/dist/es/ember-runtime/tests/inject_test.js +0 -51
  456. data/dist/es/ember-runtime/tests/legacy_1x/mixins/observable/chained_test.js +0 -63
  457. data/dist/es/ember-runtime/tests/legacy_1x/mixins/observable/observable_test.js +0 -892
  458. data/dist/es/ember-runtime/tests/legacy_1x/mixins/observable/propertyChanges_test.js +0 -142
  459. data/dist/es/ember-runtime/tests/legacy_1x/system/object/base_test.js +0 -98
  460. data/dist/es/ember-runtime/tests/legacy_1x/system/object/concatenated_test.js +0 -131
  461. data/dist/es/ember-runtime/tests/mixins/array_test.js +0 -400
  462. data/dist/es/ember-runtime/tests/mixins/comparable_test.js +0 -37
  463. data/dist/es/ember-runtime/tests/mixins/container_proxy_test.js +0 -48
  464. data/dist/es/ember-runtime/tests/mixins/enumerable_test.js +0 -17
  465. data/dist/es/ember-runtime/tests/mixins/evented_test.js +0 -23
  466. data/dist/es/ember-runtime/tests/mixins/mutable_enumerable_test.js +0 -17
  467. data/dist/es/ember-runtime/tests/mixins/observable_test.js +0 -137
  468. data/dist/es/ember-runtime/tests/mixins/promise_proxy_test.js +0 -593
  469. data/dist/es/ember-runtime/tests/mixins/target_action_support_test.js +0 -237
  470. data/dist/es/ember-runtime/tests/mutable-array/addObject-test.js +0 -76
  471. data/dist/es/ember-runtime/tests/mutable-array/clear-test.js +0 -64
  472. data/dist/es/ember-runtime/tests/mutable-array/insertAt-test.js +0 -216
  473. data/dist/es/ember-runtime/tests/mutable-array/popObject-test.js +0 -91
  474. data/dist/es/ember-runtime/tests/mutable-array/pushObject-test.js +0 -98
  475. data/dist/es/ember-runtime/tests/mutable-array/pushObjects-test.js +0 -12
  476. data/dist/es/ember-runtime/tests/mutable-array/removeAt-test.js +0 -187
  477. data/dist/es/ember-runtime/tests/mutable-array/removeObject-test.js +0 -77
  478. data/dist/es/ember-runtime/tests/mutable-array/removeObjects-test.js +0 -202
  479. data/dist/es/ember-runtime/tests/mutable-array/replace-test.js +0 -221
  480. data/dist/es/ember-runtime/tests/mutable-array/reverseObjects-test.js +0 -35
  481. data/dist/es/ember-runtime/tests/mutable-array/setObjects-test.js +0 -63
  482. data/dist/es/ember-runtime/tests/mutable-array/shiftObject-test.js +0 -105
  483. data/dist/es/ember-runtime/tests/mutable-array/unshiftObject-test.js +0 -99
  484. data/dist/es/ember-runtime/tests/mutable-array/unshiftObjects-test.js +0 -102
  485. data/dist/es/ember-runtime/tests/system/array_proxy/arranged_content_test.js +0 -275
  486. data/dist/es/ember-runtime/tests/system/array_proxy/array_observer_test.js +0 -51
  487. data/dist/es/ember-runtime/tests/system/array_proxy/content_change_test.js +0 -85
  488. data/dist/es/ember-runtime/tests/system/array_proxy/length_test.js +0 -201
  489. data/dist/es/ember-runtime/tests/system/array_proxy/watching_and_listening_test.js +0 -157
  490. data/dist/es/ember-runtime/tests/system/core_object_test.js +0 -114
  491. data/dist/es/ember-runtime/tests/system/namespace/base_test.js +0 -175
  492. data/dist/es/ember-runtime/tests/system/native_array/a_test.js +0 -16
  493. data/dist/es/ember-runtime/tests/system/native_array/copyable_suite_test.js +0 -19
  494. data/dist/es/ember-runtime/tests/system/native_array/replace_test.js +0 -17
  495. data/dist/es/ember-runtime/tests/system/object/computed_test.js +0 -352
  496. data/dist/es/ember-runtime/tests/system/object/create_test.js +0 -135
  497. data/dist/es/ember-runtime/tests/system/object/destroy_test.js +0 -146
  498. data/dist/es/ember-runtime/tests/system/object/detectInstance_test.js +0 -38
  499. data/dist/es/ember-runtime/tests/system/object/detect_test.js +0 -33
  500. data/dist/es/ember-runtime/tests/system/object/es-compatibility-test.js +0 -469
  501. data/dist/es/ember-runtime/tests/system/object/events_test.js +0 -156
  502. data/dist/es/ember-runtime/tests/system/object/extend_test.js +0 -153
  503. data/dist/es/ember-runtime/tests/system/object/observer_test.js +0 -216
  504. data/dist/es/ember-runtime/tests/system/object/reopenClass_test.js +0 -36
  505. data/dist/es/ember-runtime/tests/system/object/reopen_test.js +0 -48
  506. data/dist/es/ember-runtime/tests/system/object/strict-mode-test.js +0 -31
  507. data/dist/es/ember-runtime/tests/system/object/toString_test.js +0 -125
  508. data/dist/es/ember-runtime/tests/system/object_proxy_test.js +0 -314
  509. data/dist/es/ember-template-compiler/index.js +0 -26
  510. data/dist/es/ember-template-compiler/lib/compat.js +0 -16
  511. data/dist/es/ember-template-compiler/lib/plugins/assert-if-helper-without-arguments.js +0 -38
  512. data/dist/es/ember-template-compiler/lib/plugins/assert-input-helper-without-block.js +0 -20
  513. data/dist/es/ember-template-compiler/lib/plugins/assert-reserved-named-arguments.js +0 -26
  514. data/dist/es/ember-template-compiler/lib/plugins/assert-splattribute-expression.js +0 -27
  515. data/dist/es/ember-template-compiler/lib/plugins/deprecate-render-model.js +0 -38
  516. data/dist/es/ember-template-compiler/lib/plugins/deprecate-render.js +0 -41
  517. data/dist/es/ember-template-compiler/lib/plugins/deprecate-send-action.js +0 -42
  518. data/dist/es/ember-template-compiler/lib/plugins/index.js +0 -50
  519. data/dist/es/ember-template-compiler/lib/plugins/transform-action-syntax.js +0 -52
  520. data/dist/es/ember-template-compiler/lib/plugins/transform-angle-bracket-components.js +0 -10
  521. data/dist/es/ember-template-compiler/lib/plugins/transform-attrs-into-args.js +0 -62
  522. data/dist/es/ember-template-compiler/lib/plugins/transform-dot-component-invocation.js +0 -88
  523. data/dist/es/ember-template-compiler/lib/plugins/transform-each-in-into-each.js +0 -48
  524. data/dist/es/ember-template-compiler/lib/plugins/transform-has-block-syntax.js +0 -46
  525. data/dist/es/ember-template-compiler/lib/plugins/transform-in-element.js +0 -83
  526. data/dist/es/ember-template-compiler/lib/plugins/transform-inline-link-to.js +0 -31
  527. data/dist/es/ember-template-compiler/lib/plugins/transform-input-type-syntax.js +0 -52
  528. data/dist/es/ember-template-compiler/lib/plugins/transform-old-binding-syntax.js +0 -48
  529. data/dist/es/ember-template-compiler/lib/plugins/transform-old-class-binding-syntax.js +0 -102
  530. data/dist/es/ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings.js +0 -34
  531. data/dist/es/ember-template-compiler/lib/plugins/transform-top-level-components.js +0 -41
  532. data/dist/es/ember-template-compiler/lib/system/bootstrap.js +0 -44
  533. data/dist/es/ember-template-compiler/lib/system/calculate-location-display.js +0 -20
  534. data/dist/es/ember-template-compiler/lib/system/compile-options.js +0 -71
  535. data/dist/es/ember-template-compiler/lib/system/compile.js +0 -28
  536. data/dist/es/ember-template-compiler/lib/system/dasherize-component-name.js +0 -13
  537. data/dist/es/ember-template-compiler/lib/system/initializer.js +0 -22
  538. data/dist/es/ember-template-compiler/lib/system/precompile.js +0 -18
  539. data/dist/es/ember-template-compiler/tests/plugins/assert-if-helper-without-arguments-test.js +0 -51
  540. data/dist/es/ember-template-compiler/tests/plugins/assert-input-helper-without-block-test.js +0 -17
  541. data/dist/es/ember-template-compiler/tests/plugins/assert-reserved-named-arguments-test.js +0 -416
  542. data/dist/es/ember-template-compiler/tests/plugins/assert-splattribute-expression-test.js +0 -57
  543. data/dist/es/ember-template-compiler/tests/plugins/deprecate-render-model-test.js +0 -19
  544. data/dist/es/ember-template-compiler/tests/plugins/deprecate-render-test.js +0 -19
  545. data/dist/es/ember-template-compiler/tests/plugins/deprecate-send-action-test.js +0 -29
  546. data/dist/es/ember-template-compiler/tests/plugins/transform-dot-component-invocation-test.js +0 -27
  547. data/dist/es/ember-template-compiler/tests/plugins/transform-inline-link-to-test.js +0 -15
  548. data/dist/es/ember-template-compiler/tests/plugins/transform-input-type-syntax-test.js +0 -25
  549. data/dist/es/ember-template-compiler/tests/system/bootstrap-test.js +0 -155
  550. data/dist/es/ember-template-compiler/tests/system/compile_options_test.js +0 -115
  551. data/dist/es/ember-template-compiler/tests/system/dasherize-component-name-test.js +0 -19
  552. data/dist/es/ember-testing/index.js +0 -10
  553. data/dist/es/ember-testing/lib/adapters/adapter.js +0 -58
  554. data/dist/es/ember-testing/lib/adapters/qunit.js +0 -47
  555. data/dist/es/ember-testing/lib/events.js +0 -136
  556. data/dist/es/ember-testing/lib/ext/application.js +0 -191
  557. data/dist/es/ember-testing/lib/ext/rsvp.js +0 -19
  558. data/dist/es/ember-testing/lib/helpers.js +0 -30
  559. data/dist/es/ember-testing/lib/helpers/-is-form-control.js +0 -16
  560. data/dist/es/ember-testing/lib/helpers/and_then.js +0 -3
  561. data/dist/es/ember-testing/lib/helpers/click.js +0 -36
  562. data/dist/es/ember-testing/lib/helpers/current_path.js +0 -27
  563. data/dist/es/ember-testing/lib/helpers/current_route_name.js +0 -25
  564. data/dist/es/ember-testing/lib/helpers/current_url.js +0 -27
  565. data/dist/es/ember-testing/lib/helpers/fill_in.js +0 -46
  566. data/dist/es/ember-testing/lib/helpers/find.js +0 -41
  567. data/dist/es/ember-testing/lib/helpers/find_with_assert.js +0 -34
  568. data/dist/es/ember-testing/lib/helpers/key_event.js +0 -36
  569. data/dist/es/ember-testing/lib/helpers/pause_test.js +0 -65
  570. data/dist/es/ember-testing/lib/helpers/trigger_event.js +0 -62
  571. data/dist/es/ember-testing/lib/helpers/visit.js +0 -42
  572. data/dist/es/ember-testing/lib/helpers/wait.js +0 -72
  573. data/dist/es/ember-testing/lib/initializers.js +0 -17
  574. data/dist/es/ember-testing/lib/setup_for_testing.js +0 -44
  575. data/dist/es/ember-testing/lib/support.js +0 -62
  576. data/dist/es/ember-testing/lib/test.js +0 -70
  577. data/dist/es/ember-testing/lib/test/adapter.js +0 -33
  578. data/dist/es/ember-testing/lib/test/helpers.js +0 -125
  579. data/dist/es/ember-testing/lib/test/on_inject_helpers.js +0 -38
  580. data/dist/es/ember-testing/lib/test/pending_requests.js +0 -24
  581. data/dist/es/ember-testing/lib/test/promise.js +0 -79
  582. data/dist/es/ember-testing/lib/test/run.js +0 -9
  583. data/dist/es/ember-testing/lib/test/waiters.js +0 -117
  584. data/dist/es/ember-testing/tests/acceptance_test.js +0 -478
  585. data/dist/es/ember-testing/tests/adapters/adapter_test.js +0 -31
  586. data/dist/es/ember-testing/tests/adapters/qunit_test.js +0 -50
  587. data/dist/es/ember-testing/tests/adapters_test.js +0 -405
  588. data/dist/es/ember-testing/tests/ext/rsvp_test.js +0 -124
  589. data/dist/es/ember-testing/tests/helper_registration_test.js +0 -98
  590. data/dist/es/ember-testing/tests/helpers_test.js +0 -1228
  591. data/dist/es/ember-testing/tests/integration_test.js +0 -106
  592. data/dist/es/ember-testing/tests/reexports_test.js +0 -26
  593. data/dist/es/ember-testing/tests/test/waiters-test.js +0 -145
  594. data/dist/es/ember-utils/index.js +0 -28
  595. data/dist/es/ember-utils/lib/cache.js +0 -36
  596. data/dist/es/ember-utils/lib/dictionary.js +0 -11
  597. data/dist/es/ember-utils/lib/guid.js +0 -120
  598. data/dist/es/ember-utils/lib/inspect.js +0 -112
  599. data/dist/es/ember-utils/lib/intern.js +0 -49
  600. data/dist/es/ember-utils/lib/invoke.js +0 -53
  601. data/dist/es/ember-utils/lib/is_proxy.js +0 -14
  602. data/dist/es/ember-utils/lib/lookup-descriptor.js +0 -11
  603. data/dist/es/ember-utils/lib/make-array.js +0 -7
  604. data/dist/es/ember-utils/lib/name.js +0 -9
  605. data/dist/es/ember-utils/lib/proxy-utils.js +0 -1
  606. data/dist/es/ember-utils/lib/spec.js +0 -14
  607. data/dist/es/ember-utils/lib/super.js +0 -83
  608. data/dist/es/ember-utils/lib/symbol-utils.js +0 -8
  609. data/dist/es/ember-utils/lib/symbol.js +0 -15
  610. data/dist/es/ember-utils/lib/to-string.js +0 -35
  611. data/dist/es/ember-utils/lib/weak_set.js +0 -18
  612. data/dist/es/ember-utils/tests/cache_test.js +0 -77
  613. data/dist/es/ember-utils/tests/can_invoke_test.js +0 -46
  614. data/dist/es/ember-utils/tests/checkHasSuper_test.js +0 -17
  615. data/dist/es/ember-utils/tests/generate_guid_test.js +0 -13
  616. data/dist/es/ember-utils/tests/guid_for_test.js +0 -101
  617. data/dist/es/ember-utils/tests/inspect_test.js +0 -146
  618. data/dist/es/ember-utils/tests/is_proxy_test.js +0 -18
  619. data/dist/es/ember-utils/tests/make_array_test.js +0 -41
  620. data/dist/es/ember-utils/tests/to-string-test.js +0 -32
  621. data/dist/es/ember-utils/tests/try_invoke_test.js +0 -48
  622. data/dist/es/ember-views/index.js +0 -28
  623. data/dist/es/ember-views/lib/compat/attrs.js +0 -3
  624. data/dist/es/ember-views/lib/compat/fallback-view-registry.js +0 -3
  625. data/dist/es/ember-views/lib/component_lookup.js +0 -27
  626. data/dist/es/ember-views/lib/mixins/action_support.js +0 -189
  627. data/dist/es/ember-views/lib/mixins/child_views_support.js +0 -27
  628. data/dist/es/ember-views/lib/mixins/class_names_support.js +0 -102
  629. data/dist/es/ember-views/lib/mixins/text_support.js +0 -333
  630. data/dist/es/ember-views/lib/mixins/view_state_support.js +0 -19
  631. data/dist/es/ember-views/lib/mixins/view_support.js +0 -452
  632. data/dist/es/ember-views/lib/system/action_manager.js +0 -14
  633. data/dist/es/ember-views/lib/system/event_dispatcher.js +0 -454
  634. data/dist/es/ember-views/lib/system/jquery.js +0 -29
  635. data/dist/es/ember-views/lib/system/jquery_event_deprecation.js +0 -61
  636. data/dist/es/ember-views/lib/system/lookup_partial.js +0 -55
  637. data/dist/es/ember-views/lib/system/utils.js +0 -201
  638. data/dist/es/ember-views/lib/utils/lookup-component.js +0 -58
  639. data/dist/es/ember-views/lib/views/core_view.js +0 -83
  640. data/dist/es/ember-views/lib/views/states.js +0 -48
  641. data/dist/es/ember-views/lib/views/states/default.js +0 -17
  642. data/dist/es/ember-views/lib/views/states/destroying.js +0 -16
  643. data/dist/es/ember-views/lib/views/states/has_element.js +0 -31
  644. data/dist/es/ember-views/lib/views/states/in_dom.js +0 -28
  645. data/dist/es/ember-views/lib/views/states/pre_render.js +0 -3
  646. data/dist/es/ember/index.js +0 -645
  647. data/dist/es/ember/tests/application_lifecycle_test.js +0 -188
  648. data/dist/es/ember/tests/component_context_test.js +0 -255
  649. data/dist/es/ember/tests/component_registration_test.js +0 -252
  650. data/dist/es/ember/tests/controller_test.js +0 -44
  651. data/dist/es/ember/tests/error_handler_test.js +0 -581
  652. data/dist/es/ember/tests/helpers/helper_registration_test.js +0 -103
  653. data/dist/es/ember/tests/helpers/link_to_test.js +0 -2103
  654. data/dist/es/ember/tests/helpers/link_to_test/link_to_transitioning_classes_test.js +0 -342
  655. data/dist/es/ember/tests/helpers/link_to_test/link_to_with_query_params_test.js +0 -694
  656. data/dist/es/ember/tests/homepage_example_test.js +0 -47
  657. data/dist/es/ember/tests/integration/multiple-app-test.js +0 -101
  658. data/dist/es/ember/tests/production_build_test.js +0 -34
  659. data/dist/es/ember/tests/reexports_test.js +0 -307
  660. data/dist/es/ember/tests/routing/decoupled_basic_test.js +0 -4506
  661. data/dist/es/ember/tests/routing/query_params_test.js +0 -1579
  662. data/dist/es/ember/tests/routing/query_params_test/model_dependent_state_with_query_params_test.js +0 -1117
  663. data/dist/es/ember/tests/routing/query_params_test/overlapping_query_params_test.js +0 -185
  664. data/dist/es/ember/tests/routing/query_params_test/query_param_async_get_handler_test.js +0 -327
  665. data/dist/es/ember/tests/routing/query_params_test/query_params_paramless_link_to_test.js +0 -37
  666. data/dist/es/ember/tests/routing/query_params_test/shared_state_test.js +0 -84
  667. data/dist/es/ember/tests/routing/router_map_test.js +0 -46
  668. data/dist/es/ember/tests/routing/router_service_test/basic_test.js +0 -95
  669. data/dist/es/ember/tests/routing/router_service_test/currenturl_lifecycle_test.js +0 -149
  670. data/dist/es/ember/tests/routing/router_service_test/isActive_test.js +0 -113
  671. data/dist/es/ember/tests/routing/router_service_test/replaceWith_test.js +0 -144
  672. data/dist/es/ember/tests/routing/router_service_test/transitionTo_test.js +0 -370
  673. data/dist/es/ember/tests/routing/router_service_test/urlFor_test.js +0 -307
  674. data/dist/es/ember/tests/routing/substates_test.js +0 -1110
  675. data/dist/es/ember/tests/routing/toplevel_dom_test.js +0 -37
  676. data/dist/es/ember/tests/service_injection_test.js +0 -278
  677. data/dist/es/ember/tests/view_instrumentation_test.js +0 -47
  678. data/dist/es/ember/version.js +0 -1
  679. data/dist/es/handlebars.js +0 -1268
  680. data/dist/es/internal-test-helpers/index.js +0 -31
  681. data/dist/es/internal-test-helpers/lib/.gitkeep +0 -0
  682. data/dist/es/internal-test-helpers/lib/apply-mixins.js +0 -37
  683. data/dist/es/internal-test-helpers/lib/browser-detect.js +0 -4
  684. data/dist/es/internal-test-helpers/lib/build-owner.js +0 -49
  685. data/dist/es/internal-test-helpers/lib/confirm-export.js +0 -45
  686. data/dist/es/internal-test-helpers/lib/ember-dev/assertion.js +0 -87
  687. data/dist/es/internal-test-helpers/lib/ember-dev/containers.js +0 -34
  688. data/dist/es/internal-test-helpers/lib/ember-dev/debug.js +0 -47
  689. data/dist/es/internal-test-helpers/lib/ember-dev/deprecation.js +0 -71
  690. data/dist/es/internal-test-helpers/lib/ember-dev/index.js +0 -19
  691. data/dist/es/internal-test-helpers/lib/ember-dev/method-call-tracker.js +0 -127
  692. data/dist/es/internal-test-helpers/lib/ember-dev/namespaces.js +0 -34
  693. data/dist/es/internal-test-helpers/lib/ember-dev/run-loop.js +0 -28
  694. data/dist/es/internal-test-helpers/lib/ember-dev/setup-qunit.js +0 -26
  695. data/dist/es/internal-test-helpers/lib/ember-dev/utils.js +0 -33
  696. data/dist/es/internal-test-helpers/lib/ember-dev/warning.js +0 -71
  697. data/dist/es/internal-test-helpers/lib/equal-inner-html.js +0 -37
  698. data/dist/es/internal-test-helpers/lib/equal-tokens.js +0 -53
  699. data/dist/es/internal-test-helpers/lib/factory.js +0 -65
  700. data/dist/es/internal-test-helpers/lib/get-all-property-names.js +0 -12
  701. data/dist/es/internal-test-helpers/lib/get-text-of.js +0 -3
  702. data/dist/es/internal-test-helpers/lib/matchers.js +0 -167
  703. data/dist/es/internal-test-helpers/lib/module-for.js +0 -89
  704. data/dist/es/internal-test-helpers/lib/registry-check.js +0 -28
  705. data/dist/es/internal-test-helpers/lib/run.js +0 -11
  706. data/dist/es/internal-test-helpers/lib/strip.js +0 -12
  707. data/dist/es/internal-test-helpers/lib/system/synthetic-events.js +0 -183
  708. data/dist/es/internal-test-helpers/lib/test-cases/abstract-application.js +0 -70
  709. data/dist/es/internal-test-helpers/lib/test-cases/abstract-rendering.js +0 -203
  710. data/dist/es/internal-test-helpers/lib/test-cases/abstract.js +0 -222
  711. data/dist/es/internal-test-helpers/lib/test-cases/application.js +0 -39
  712. data/dist/es/internal-test-helpers/lib/test-cases/autoboot-application.js +0 -34
  713. data/dist/es/internal-test-helpers/lib/test-cases/default-resolver-application.js +0 -43
  714. data/dist/es/internal-test-helpers/lib/test-cases/node-query.js +0 -120
  715. data/dist/es/internal-test-helpers/lib/test-cases/query-param.js +0 -124
  716. data/dist/es/internal-test-helpers/lib/test-cases/rendering.js +0 -14
  717. data/dist/es/internal-test-helpers/lib/test-cases/router.js +0 -26
  718. data/dist/es/internal-test-helpers/lib/test-cases/test-resolver-application.js +0 -40
  719. data/dist/es/internal-test-helpers/lib/test-resolver.js +0 -86
  720. data/dist/es/internal-test-helpers/tests/index-test.js +0 -10
  721. data/dist/es/route-recognizer.js +0 -685
  722. data/dist/es/router.js +0 -2454
  723. data/dist/es/rsvp.js +0 -2394
  724. data/dist/es/simple-html-tokenizer.js +0 -638
  725. data/dist/jquery/jquery.js +0 -10364
  726. data/dist/node/app-boot-test.js +0 -146
  727. data/dist/node/build-info-test.js +0 -177
  728. data/dist/node/component-rendering-test.js +0 -34
  729. data/dist/node/helpers/app-module.js +0 -198
  730. data/dist/node/helpers/assert-html-matches.js +0 -25
  731. data/dist/node/helpers/build-owner.js +0 -28
  732. data/dist/node/helpers/component-module.js +0 -137
  733. data/dist/node/sourcemap-test.js +0 -27
  734. data/dist/node/template-compiler-test.js +0 -45
  735. data/dist/node/visit-test.js +0 -349
  736. data/dist/qunit/qunit.css +0 -436
  737. data/dist/qunit/qunit.js +0 -5188
  738. data/dist/tests/index.html +0 -254
  739. data/ember-source.gemspec +0 -28
  740. data/node_modules/.yarn-integrity +0 -10
  741. data/yarn.lock +0 -4
@@ -1,37 +0,0 @@
1
- import { ENV } from 'ember-environment';
2
- import { moduleFor, ApplicationTestCase } from 'internal-test-helpers';
3
-
4
- moduleFor(
5
- 'Top Level DOM Structure',
6
- class extends ApplicationTestCase {
7
- constructor() {
8
- super(...arguments);
9
- this._APPLICATION_TEMPLATE_WRAPPER = ENV._APPLICATION_TEMPLATE_WRAPPER;
10
- }
11
-
12
- teardown() {
13
- super.teardown();
14
- ENV._APPLICATION_TEMPLATE_WRAPPER = this._APPLICATION_TEMPLATE_WRAPPER;
15
- }
16
-
17
- ['@test topmost template with wrapper']() {
18
- ENV._APPLICATION_TEMPLATE_WRAPPER = true;
19
-
20
- this.addTemplate('application', 'hello world');
21
-
22
- return this.visit('/').then(() => {
23
- this.assertComponentElement(this.element, { content: 'hello world' });
24
- });
25
- }
26
-
27
- ['@test topmost template without wrapper']() {
28
- ENV._APPLICATION_TEMPLATE_WRAPPER = false;
29
-
30
- this.addTemplate('application', 'hello world');
31
-
32
- return this.visit('/').then(() => {
33
- this.assertInnerHTML('hello world');
34
- });
35
- }
36
- }
37
- );
@@ -1,278 +0,0 @@
1
- import { getOwner } from 'ember-owner';
2
- import Controller from '@ember/controller';
3
- import Service, { inject as injectService } from '@ember/service';
4
- import { _ProxyMixin } from 'ember-runtime';
5
- import { moduleFor, ApplicationTestCase } from 'internal-test-helpers';
6
- import { computed } from 'ember-metal';
7
- import { EMBER_MODULE_UNIFICATION } from '@ember/canary-features';
8
-
9
- moduleFor(
10
- 'Service Injection',
11
- class extends ApplicationTestCase {
12
- ['@test Service can be injected and is resolved'](assert) {
13
- this.add(
14
- 'controller:application',
15
- Controller.extend({
16
- myService: injectService('my-service'),
17
- })
18
- );
19
- let MyService = Service.extend();
20
- this.add('service:my-service', MyService);
21
- this.addTemplate('application', '');
22
-
23
- this.visit('/').then(() => {
24
- let controller = this.applicationInstance.lookup('controller:application');
25
- assert.ok(controller.get('myService') instanceof MyService);
26
- });
27
- }
28
-
29
- ['@test Service can be an object proxy and access owner in init GH#16484'](assert) {
30
- let serviceOwner;
31
-
32
- this.add(
33
- 'controller:application',
34
- Controller.extend({
35
- myService: injectService('my-service'),
36
- })
37
- );
38
- let MyService = Service.extend(_ProxyMixin, {
39
- init() {
40
- this._super(...arguments);
41
-
42
- serviceOwner = getOwner(this);
43
- },
44
- });
45
- this.add('service:my-service', MyService);
46
- this.addTemplate('application', '');
47
-
48
- this.visit('/').then(instance => {
49
- let controller = this.applicationInstance.lookup('controller:application');
50
- assert.ok(controller.get('myService') instanceof MyService);
51
- assert.equal(serviceOwner, instance, 'should be able to `getOwner` in init');
52
- });
53
- }
54
- }
55
- );
56
-
57
- moduleFor(
58
- 'Service Injection with ES5 Getters',
59
- class extends ApplicationTestCase {
60
- ['@test Service can be injected and is resolved without calling `get`'](assert) {
61
- this.add(
62
- 'controller:application',
63
- Controller.extend({
64
- myService: injectService('my-service'),
65
- })
66
- );
67
- let MyService = Service.extend({
68
- name: computed(function() {
69
- return 'The service name';
70
- }),
71
- });
72
- this.add('service:my-service', MyService);
73
- this.addTemplate('application', '');
74
-
75
- this.visit('/').then(() => {
76
- let controller = this.applicationInstance.lookup('controller:application');
77
- assert.ok(controller.myService instanceof MyService);
78
- assert.equal(controller.myService.name, 'The service name', 'service property accessible');
79
- });
80
- }
81
- }
82
- );
83
-
84
- if (EMBER_MODULE_UNIFICATION) {
85
- moduleFor(
86
- 'Service Injection (MU)',
87
- class extends ApplicationTestCase {
88
- ['@test Service can be injected with source and is resolved'](assert) {
89
- let source = 'controller:src/ui/routes/application/controller';
90
- this.add(
91
- 'controller:application',
92
- Controller.extend({
93
- myService: injectService('my-service', { source }),
94
- })
95
- );
96
- let MyService = Service.extend();
97
- this.add(
98
- {
99
- specifier: 'service:my-service',
100
- source,
101
- },
102
- MyService
103
- );
104
-
105
- return this.visit('/').then(() => {
106
- let controller = this.applicationInstance.lookup('controller:application');
107
-
108
- assert.ok(controller.get('myService') instanceof MyService);
109
- });
110
- }
111
-
112
- ['@test Services can be injected with same name, different source, and resolve different instances'](
113
- assert
114
- ) {
115
- // This test implies that there is a file src/ui/routes/route-a/-services/my-service
116
- let routeASource = 'controller:src/ui/routes/route-a/controller';
117
- // This test implies that there is a file src/ui/routes/route-b/-services/my-service
118
- let routeBSource = 'controller:src/ui/routes/route-b/controller';
119
-
120
- this.add(
121
- 'controller:route-a',
122
- Controller.extend({
123
- myService: injectService('my-service', { source: routeASource }),
124
- })
125
- );
126
-
127
- this.add(
128
- 'controller:route-b',
129
- Controller.extend({
130
- myService: injectService('my-service', { source: routeBSource }),
131
- })
132
- );
133
-
134
- let LocalLookupService = Service.extend();
135
- this.add(
136
- {
137
- specifier: 'service:my-service',
138
- source: routeASource,
139
- },
140
- LocalLookupService
141
- );
142
-
143
- let MyService = Service.extend();
144
- this.add(
145
- {
146
- specifier: 'service:my-service',
147
- source: routeBSource,
148
- },
149
- MyService
150
- );
151
-
152
- return this.visit('/').then(() => {
153
- let controllerA = this.applicationInstance.lookup('controller:route-a');
154
- let serviceFromControllerA = controllerA.get('myService');
155
- assert.ok(
156
- serviceFromControllerA instanceof LocalLookupService,
157
- 'local lookup service is returned'
158
- );
159
-
160
- let controllerB = this.applicationInstance.lookup('controller:route-b');
161
- let serviceFromControllerB = controllerB.get('myService');
162
- assert.ok(serviceFromControllerB instanceof MyService, 'global service is returned');
163
-
164
- assert.notStrictEqual(serviceFromControllerA, serviceFromControllerB);
165
- });
166
- }
167
-
168
- ['@test Services can be injected with same name, different source, but same resolution result, and share an instance'](
169
- assert
170
- ) {
171
- let routeASource = 'controller:src/ui/routes/route-a/controller';
172
- let routeBSource = 'controller:src/ui/routes/route-b/controller';
173
-
174
- this.add(
175
- 'controller:route-a',
176
- Controller.extend({
177
- myService: injectService('my-service', { source: routeASource }),
178
- })
179
- );
180
-
181
- this.add(
182
- 'controller:route-b',
183
- Controller.extend({
184
- myService: injectService('my-service', { source: routeBSource }),
185
- })
186
- );
187
-
188
- let MyService = Service.extend();
189
- this.add(
190
- {
191
- specifier: 'service:my-service',
192
- },
193
- MyService
194
- );
195
-
196
- return this.visit('/').then(() => {
197
- let controllerA = this.applicationInstance.lookup('controller:route-a');
198
- let serviceFromControllerA = controllerA.get('myService');
199
- assert.ok(serviceFromControllerA instanceof MyService);
200
-
201
- let controllerB = this.applicationInstance.lookup('controller:route-b');
202
- assert.strictEqual(serviceFromControllerA, controllerB.get('myService'));
203
- });
204
- }
205
-
206
- /*
207
- * This test demonstrates a failure in the caching system of ember's
208
- * container around singletons and and local lookup. The local lookup
209
- * is cached and the global injection is then looked up incorrectly.
210
- *
211
- * The paractical rules of Ember's module unification config are such
212
- * that services cannot be locally looked up, thus this case is really
213
- * just a demonstration of what could go wrong if we permit arbitrary
214
- * configuration (such as a singleton type that has local lookup).
215
- */
216
- ['@test Services can be injected with same name, one with source one without, and share an instance'](
217
- assert
218
- ) {
219
- let routeASource = 'controller:src/ui/routes/route-a/controller';
220
- this.add(
221
- 'controller:route-a',
222
- Controller.extend({
223
- myService: injectService('my-service', { source: routeASource }),
224
- })
225
- );
226
-
227
- this.add(
228
- 'controller:route-b',
229
- Controller.extend({
230
- myService: injectService('my-service'),
231
- })
232
- );
233
-
234
- let MyService = Service.extend();
235
- this.add(
236
- {
237
- specifier: 'service:my-service',
238
- },
239
- MyService
240
- );
241
-
242
- return this.visit('/').then(() => {
243
- let controllerA = this.applicationInstance.lookup('controller:route-a');
244
- let serviceFromControllerA = controllerA.get('myService');
245
- assert.ok(serviceFromControllerA instanceof MyService, 'global service is returned');
246
-
247
- let controllerB = this.applicationInstance.lookup('controller:route-b');
248
- let serviceFromControllerB = controllerB.get('myService');
249
- assert.ok(serviceFromControllerB instanceof MyService, 'global service is returned');
250
-
251
- assert.strictEqual(serviceFromControllerA, serviceFromControllerB);
252
- });
253
- }
254
-
255
- ['@test Service with namespace can be injected and is resolved'](assert) {
256
- this.add(
257
- 'controller:application',
258
- Controller.extend({
259
- myService: injectService('my-namespace::my-service'),
260
- })
261
- );
262
- let MyService = Service.extend();
263
- this.add(
264
- {
265
- specifier: 'service:my-service',
266
- namespace: 'my-namespace',
267
- },
268
- MyService
269
- );
270
-
271
- this.visit('/').then(() => {
272
- let controller = this.applicationInstance.lookup('controller:application');
273
- assert.ok(controller.get('myService') instanceof MyService);
274
- });
275
- }
276
- }
277
- );
278
- }
@@ -1,47 +0,0 @@
1
- import { subscribe, reset } from '@ember/instrumentation';
2
- import { moduleFor, ApplicationTestCase } from 'internal-test-helpers';
3
-
4
- moduleFor(
5
- 'View Instrumentation',
6
- class extends ApplicationTestCase {
7
- constructor() {
8
- super();
9
- this.addTemplate('application', `{{outlet}}`);
10
- this.addTemplate('index', `<h1>Index</h1>`);
11
- this.addTemplate('posts', `<h1>Posts</h1>`);
12
-
13
- this.router.map(function() {
14
- this.route('posts');
15
- });
16
- }
17
- teardown() {
18
- reset();
19
- super.teardown();
20
- }
21
-
22
- ['@test Nodes without view instances are instrumented'](assert) {
23
- let called = false;
24
-
25
- subscribe('render', {
26
- before() {
27
- called = true;
28
- },
29
- after() {},
30
- });
31
-
32
- return this.visit('/')
33
- .then(() => {
34
- assert.equal(this.textValue(), 'Index', 'It rendered the correct template');
35
-
36
- assert.ok(called, 'Instrumentation called on first render');
37
- called = false;
38
-
39
- return this.visit('/posts');
40
- })
41
- .then(() => {
42
- assert.equal(this.textValue(), 'Posts', 'It rendered the correct template');
43
- assert.ok(called, 'Instrumentation called on transition to non-view backed route');
44
- });
45
- }
46
- }
47
- );
@@ -1 +0,0 @@
1
- export default "3.5.1";
@@ -1,1268 +0,0 @@
1
- // File ignored in coverage tests via setting in .istanbul.yml
2
- /* Jison generated parser */
3
- var handlebars = (function(){
4
- var parser = {trace: function trace() { },
5
- yy: {},
6
- symbols_: {"error":2,"root":3,"program":4,"EOF":5,"program_repetition0":6,"statement":7,"mustache":8,"block":9,"rawBlock":10,"partial":11,"partialBlock":12,"content":13,"COMMENT":14,"CONTENT":15,"openRawBlock":16,"rawBlock_repetition_plus0":17,"END_RAW_BLOCK":18,"OPEN_RAW_BLOCK":19,"helperName":20,"openRawBlock_repetition0":21,"openRawBlock_option0":22,"CLOSE_RAW_BLOCK":23,"openBlock":24,"block_option0":25,"closeBlock":26,"openInverse":27,"block_option1":28,"OPEN_BLOCK":29,"openBlock_repetition0":30,"openBlock_option0":31,"openBlock_option1":32,"CLOSE":33,"OPEN_INVERSE":34,"openInverse_repetition0":35,"openInverse_option0":36,"openInverse_option1":37,"openInverseChain":38,"OPEN_INVERSE_CHAIN":39,"openInverseChain_repetition0":40,"openInverseChain_option0":41,"openInverseChain_option1":42,"inverseAndProgram":43,"INVERSE":44,"inverseChain":45,"inverseChain_option0":46,"OPEN_ENDBLOCK":47,"OPEN":48,"mustache_repetition0":49,"mustache_option0":50,"OPEN_UNESCAPED":51,"mustache_repetition1":52,"mustache_option1":53,"CLOSE_UNESCAPED":54,"OPEN_PARTIAL":55,"partialName":56,"partial_repetition0":57,"partial_option0":58,"openPartialBlock":59,"OPEN_PARTIAL_BLOCK":60,"openPartialBlock_repetition0":61,"openPartialBlock_option0":62,"param":63,"sexpr":64,"OPEN_SEXPR":65,"sexpr_repetition0":66,"sexpr_option0":67,"CLOSE_SEXPR":68,"hash":69,"hash_repetition_plus0":70,"hashSegment":71,"ID":72,"EQUALS":73,"blockParams":74,"OPEN_BLOCK_PARAMS":75,"blockParams_repetition_plus0":76,"CLOSE_BLOCK_PARAMS":77,"path":78,"dataName":79,"STRING":80,"NUMBER":81,"BOOLEAN":82,"UNDEFINED":83,"NULL":84,"DATA":85,"pathSegments":86,"SEP":87,"$accept":0,"$end":1},
7
- terminals_: {2:"error",5:"EOF",14:"COMMENT",15:"CONTENT",18:"END_RAW_BLOCK",19:"OPEN_RAW_BLOCK",23:"CLOSE_RAW_BLOCK",29:"OPEN_BLOCK",33:"CLOSE",34:"OPEN_INVERSE",39:"OPEN_INVERSE_CHAIN",44:"INVERSE",47:"OPEN_ENDBLOCK",48:"OPEN",51:"OPEN_UNESCAPED",54:"CLOSE_UNESCAPED",55:"OPEN_PARTIAL",60:"OPEN_PARTIAL_BLOCK",65:"OPEN_SEXPR",68:"CLOSE_SEXPR",72:"ID",73:"EQUALS",75:"OPEN_BLOCK_PARAMS",77:"CLOSE_BLOCK_PARAMS",80:"STRING",81:"NUMBER",82:"BOOLEAN",83:"UNDEFINED",84:"NULL",85:"DATA",87:"SEP"},
8
- productions_: [0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[13,1],[10,3],[16,5],[9,4],[9,4],[24,6],[27,6],[38,6],[43,2],[45,3],[45,1],[26,3],[8,5],[8,5],[11,5],[12,3],[59,5],[63,1],[63,1],[64,5],[69,1],[71,3],[74,3],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[20,1],[56,1],[56,1],[79,2],[78,1],[86,3],[86,1],[6,0],[6,2],[17,1],[17,2],[21,0],[21,2],[22,0],[22,1],[25,0],[25,1],[28,0],[28,1],[30,0],[30,2],[31,0],[31,1],[32,0],[32,1],[35,0],[35,2],[36,0],[36,1],[37,0],[37,1],[40,0],[40,2],[41,0],[41,1],[42,0],[42,1],[46,0],[46,1],[49,0],[49,2],[50,0],[50,1],[52,0],[52,2],[53,0],[53,1],[57,0],[57,2],[58,0],[58,1],[61,0],[61,2],[62,0],[62,1],[66,0],[66,2],[67,0],[67,1],[70,1],[70,2],[76,1],[76,2]],
9
- performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$
10
- /**/) {
11
-
12
- var $0 = $$.length - 1;
13
- switch (yystate) {
14
- case 1: return $$[$0-1];
15
- break;
16
- case 2:this.$ = yy.prepareProgram($$[$0]);
17
- break;
18
- case 3:this.$ = $$[$0];
19
- break;
20
- case 4:this.$ = $$[$0];
21
- break;
22
- case 5:this.$ = $$[$0];
23
- break;
24
- case 6:this.$ = $$[$0];
25
- break;
26
- case 7:this.$ = $$[$0];
27
- break;
28
- case 8:this.$ = $$[$0];
29
- break;
30
- case 9:
31
- this.$ = {
32
- type: 'CommentStatement',
33
- value: yy.stripComment($$[$0]),
34
- strip: yy.stripFlags($$[$0], $$[$0]),
35
- loc: yy.locInfo(this._$)
36
- };
37
-
38
- break;
39
- case 10:
40
- this.$ = {
41
- type: 'ContentStatement',
42
- original: $$[$0],
43
- value: $$[$0],
44
- loc: yy.locInfo(this._$)
45
- };
46
-
47
- break;
48
- case 11:this.$ = yy.prepareRawBlock($$[$0-2], $$[$0-1], $$[$0], this._$);
49
- break;
50
- case 12:this.$ = { path: $$[$0-3], params: $$[$0-2], hash: $$[$0-1] };
51
- break;
52
- case 13:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], false, this._$);
53
- break;
54
- case 14:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], true, this._$);
55
- break;
56
- case 15:this.$ = { open: $$[$0-5], path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
57
- break;
58
- case 16:this.$ = { path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
59
- break;
60
- case 17:this.$ = { path: $$[$0-4], params: $$[$0-3], hash: $$[$0-2], blockParams: $$[$0-1], strip: yy.stripFlags($$[$0-5], $$[$0]) };
61
- break;
62
- case 18:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]), program: $$[$0] };
63
- break;
64
- case 19:
65
- var inverse = yy.prepareBlock($$[$0-2], $$[$0-1], $$[$0], $$[$0], false, this._$),
66
- program = yy.prepareProgram([inverse], $$[$0-1].loc);
67
- program.chained = true;
68
-
69
- this.$ = { strip: $$[$0-2].strip, program: program, chain: true };
70
-
71
- break;
72
- case 20:this.$ = $$[$0];
73
- break;
74
- case 21:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-2], $$[$0])};
75
- break;
76
- case 22:this.$ = yy.prepareMustache($$[$0-3], $$[$0-2], $$[$0-1], $$[$0-4], yy.stripFlags($$[$0-4], $$[$0]), this._$);
77
- break;
78
- case 23:this.$ = yy.prepareMustache($$[$0-3], $$[$0-2], $$[$0-1], $$[$0-4], yy.stripFlags($$[$0-4], $$[$0]), this._$);
79
- break;
80
- case 24:
81
- this.$ = {
82
- type: 'PartialStatement',
83
- name: $$[$0-3],
84
- params: $$[$0-2],
85
- hash: $$[$0-1],
86
- indent: '',
87
- strip: yy.stripFlags($$[$0-4], $$[$0]),
88
- loc: yy.locInfo(this._$)
89
- };
90
-
91
- break;
92
- case 25:this.$ = yy.preparePartialBlock($$[$0-2], $$[$0-1], $$[$0], this._$);
93
- break;
94
- case 26:this.$ = { path: $$[$0-3], params: $$[$0-2], hash: $$[$0-1], strip: yy.stripFlags($$[$0-4], $$[$0]) };
95
- break;
96
- case 27:this.$ = $$[$0];
97
- break;
98
- case 28:this.$ = $$[$0];
99
- break;
100
- case 29:
101
- this.$ = {
102
- type: 'SubExpression',
103
- path: $$[$0-3],
104
- params: $$[$0-2],
105
- hash: $$[$0-1],
106
- loc: yy.locInfo(this._$)
107
- };
108
-
109
- break;
110
- case 30:this.$ = {type: 'Hash', pairs: $$[$0], loc: yy.locInfo(this._$)};
111
- break;
112
- case 31:this.$ = {type: 'HashPair', key: yy.id($$[$0-2]), value: $$[$0], loc: yy.locInfo(this._$)};
113
- break;
114
- case 32:this.$ = yy.id($$[$0-1]);
115
- break;
116
- case 33:this.$ = $$[$0];
117
- break;
118
- case 34:this.$ = $$[$0];
119
- break;
120
- case 35:this.$ = {type: 'StringLiteral', value: $$[$0], original: $$[$0], loc: yy.locInfo(this._$)};
121
- break;
122
- case 36:this.$ = {type: 'NumberLiteral', value: Number($$[$0]), original: Number($$[$0]), loc: yy.locInfo(this._$)};
123
- break;
124
- case 37:this.$ = {type: 'BooleanLiteral', value: $$[$0] === 'true', original: $$[$0] === 'true', loc: yy.locInfo(this._$)};
125
- break;
126
- case 38:this.$ = {type: 'UndefinedLiteral', original: undefined, value: undefined, loc: yy.locInfo(this._$)};
127
- break;
128
- case 39:this.$ = {type: 'NullLiteral', original: null, value: null, loc: yy.locInfo(this._$)};
129
- break;
130
- case 40:this.$ = $$[$0];
131
- break;
132
- case 41:this.$ = $$[$0];
133
- break;
134
- case 42:this.$ = yy.preparePath(true, $$[$0], this._$);
135
- break;
136
- case 43:this.$ = yy.preparePath(false, $$[$0], this._$);
137
- break;
138
- case 44: $$[$0-2].push({part: yy.id($$[$0]), original: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2];
139
- break;
140
- case 45:this.$ = [{part: yy.id($$[$0]), original: $$[$0]}];
141
- break;
142
- case 46:this.$ = [];
143
- break;
144
- case 47:$$[$0-1].push($$[$0]);
145
- break;
146
- case 48:this.$ = [$$[$0]];
147
- break;
148
- case 49:$$[$0-1].push($$[$0]);
149
- break;
150
- case 50:this.$ = [];
151
- break;
152
- case 51:$$[$0-1].push($$[$0]);
153
- break;
154
- case 58:this.$ = [];
155
- break;
156
- case 59:$$[$0-1].push($$[$0]);
157
- break;
158
- case 64:this.$ = [];
159
- break;
160
- case 65:$$[$0-1].push($$[$0]);
161
- break;
162
- case 70:this.$ = [];
163
- break;
164
- case 71:$$[$0-1].push($$[$0]);
165
- break;
166
- case 78:this.$ = [];
167
- break;
168
- case 79:$$[$0-1].push($$[$0]);
169
- break;
170
- case 82:this.$ = [];
171
- break;
172
- case 83:$$[$0-1].push($$[$0]);
173
- break;
174
- case 86:this.$ = [];
175
- break;
176
- case 87:$$[$0-1].push($$[$0]);
177
- break;
178
- case 90:this.$ = [];
179
- break;
180
- case 91:$$[$0-1].push($$[$0]);
181
- break;
182
- case 94:this.$ = [];
183
- break;
184
- case 95:$$[$0-1].push($$[$0]);
185
- break;
186
- case 98:this.$ = [$$[$0]];
187
- break;
188
- case 99:$$[$0-1].push($$[$0]);
189
- break;
190
- case 100:this.$ = [$$[$0]];
191
- break;
192
- case 101:$$[$0-1].push($$[$0]);
193
- break;
194
- }
195
- },
196
- table: [{3:1,4:2,5:[2,46],6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:10,13:11,14:[1,12],15:[1,20],16:17,19:[1,23],24:15,27:16,29:[1,21],34:[1,22],39:[2,2],44:[2,2],47:[2,2],48:[1,13],51:[1,14],55:[1,18],59:19,60:[1,24]},{1:[2,1]},{5:[2,47],14:[2,47],15:[2,47],19:[2,47],29:[2,47],34:[2,47],39:[2,47],44:[2,47],47:[2,47],48:[2,47],51:[2,47],55:[2,47],60:[2,47]},{5:[2,3],14:[2,3],15:[2,3],19:[2,3],29:[2,3],34:[2,3],39:[2,3],44:[2,3],47:[2,3],48:[2,3],51:[2,3],55:[2,3],60:[2,3]},{5:[2,4],14:[2,4],15:[2,4],19:[2,4],29:[2,4],34:[2,4],39:[2,4],44:[2,4],47:[2,4],48:[2,4],51:[2,4],55:[2,4],60:[2,4]},{5:[2,5],14:[2,5],15:[2,5],19:[2,5],29:[2,5],34:[2,5],39:[2,5],44:[2,5],47:[2,5],48:[2,5],51:[2,5],55:[2,5],60:[2,5]},{5:[2,6],14:[2,6],15:[2,6],19:[2,6],29:[2,6],34:[2,6],39:[2,6],44:[2,6],47:[2,6],48:[2,6],51:[2,6],55:[2,6],60:[2,6]},{5:[2,7],14:[2,7],15:[2,7],19:[2,7],29:[2,7],34:[2,7],39:[2,7],44:[2,7],47:[2,7],48:[2,7],51:[2,7],55:[2,7],60:[2,7]},{5:[2,8],14:[2,8],15:[2,8],19:[2,8],29:[2,8],34:[2,8],39:[2,8],44:[2,8],47:[2,8],48:[2,8],51:[2,8],55:[2,8],60:[2,8]},{5:[2,9],14:[2,9],15:[2,9],19:[2,9],29:[2,9],34:[2,9],39:[2,9],44:[2,9],47:[2,9],48:[2,9],51:[2,9],55:[2,9],60:[2,9]},{20:25,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:36,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:37,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{4:38,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{13:40,15:[1,20],17:39},{20:42,56:41,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:45,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{5:[2,10],14:[2,10],15:[2,10],18:[2,10],19:[2,10],29:[2,10],34:[2,10],39:[2,10],44:[2,10],47:[2,10],48:[2,10],51:[2,10],55:[2,10],60:[2,10]},{20:46,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:47,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:48,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:42,56:49,64:43,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[2,78],49:50,65:[2,78],72:[2,78],80:[2,78],81:[2,78],82:[2,78],83:[2,78],84:[2,78],85:[2,78]},{23:[2,33],33:[2,33],54:[2,33],65:[2,33],68:[2,33],72:[2,33],75:[2,33],80:[2,33],81:[2,33],82:[2,33],83:[2,33],84:[2,33],85:[2,33]},{23:[2,34],33:[2,34],54:[2,34],65:[2,34],68:[2,34],72:[2,34],75:[2,34],80:[2,34],81:[2,34],82:[2,34],83:[2,34],84:[2,34],85:[2,34]},{23:[2,35],33:[2,35],54:[2,35],65:[2,35],68:[2,35],72:[2,35],75:[2,35],80:[2,35],81:[2,35],82:[2,35],83:[2,35],84:[2,35],85:[2,35]},{23:[2,36],33:[2,36],54:[2,36],65:[2,36],68:[2,36],72:[2,36],75:[2,36],80:[2,36],81:[2,36],82:[2,36],83:[2,36],84:[2,36],85:[2,36]},{23:[2,37],33:[2,37],54:[2,37],65:[2,37],68:[2,37],72:[2,37],75:[2,37],80:[2,37],81:[2,37],82:[2,37],83:[2,37],84:[2,37],85:[2,37]},{23:[2,38],33:[2,38],54:[2,38],65:[2,38],68:[2,38],72:[2,38],75:[2,38],80:[2,38],81:[2,38],82:[2,38],83:[2,38],84:[2,38],85:[2,38]},{23:[2,39],33:[2,39],54:[2,39],65:[2,39],68:[2,39],72:[2,39],75:[2,39],80:[2,39],81:[2,39],82:[2,39],83:[2,39],84:[2,39],85:[2,39]},{23:[2,43],33:[2,43],54:[2,43],65:[2,43],68:[2,43],72:[2,43],75:[2,43],80:[2,43],81:[2,43],82:[2,43],83:[2,43],84:[2,43],85:[2,43],87:[1,51]},{72:[1,35],86:52},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{52:53,54:[2,82],65:[2,82],72:[2,82],80:[2,82],81:[2,82],82:[2,82],83:[2,82],84:[2,82],85:[2,82]},{25:54,38:56,39:[1,58],43:57,44:[1,59],45:55,47:[2,54]},{28:60,43:61,44:[1,59],47:[2,56]},{13:63,15:[1,20],18:[1,62]},{15:[2,48],18:[2,48]},{33:[2,86],57:64,65:[2,86],72:[2,86],80:[2,86],81:[2,86],82:[2,86],83:[2,86],84:[2,86],85:[2,86]},{33:[2,40],65:[2,40],72:[2,40],80:[2,40],81:[2,40],82:[2,40],83:[2,40],84:[2,40],85:[2,40]},{33:[2,41],65:[2,41],72:[2,41],80:[2,41],81:[2,41],82:[2,41],83:[2,41],84:[2,41],85:[2,41]},{20:65,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:66,47:[1,67]},{30:68,33:[2,58],65:[2,58],72:[2,58],75:[2,58],80:[2,58],81:[2,58],82:[2,58],83:[2,58],84:[2,58],85:[2,58]},{33:[2,64],35:69,65:[2,64],72:[2,64],75:[2,64],80:[2,64],81:[2,64],82:[2,64],83:[2,64],84:[2,64],85:[2,64]},{21:70,23:[2,50],65:[2,50],72:[2,50],80:[2,50],81:[2,50],82:[2,50],83:[2,50],84:[2,50],85:[2,50]},{33:[2,90],61:71,65:[2,90],72:[2,90],80:[2,90],81:[2,90],82:[2,90],83:[2,90],84:[2,90],85:[2,90]},{20:75,33:[2,80],50:72,63:73,64:76,65:[1,44],69:74,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{72:[1,80]},{23:[2,42],33:[2,42],54:[2,42],65:[2,42],68:[2,42],72:[2,42],75:[2,42],80:[2,42],81:[2,42],82:[2,42],83:[2,42],84:[2,42],85:[2,42],87:[1,51]},{20:75,53:81,54:[2,84],63:82,64:76,65:[1,44],69:83,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{26:84,47:[1,67]},{47:[2,55]},{4:85,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],39:[2,46],44:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{47:[2,20]},{20:86,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{4:87,6:3,14:[2,46],15:[2,46],19:[2,46],29:[2,46],34:[2,46],47:[2,46],48:[2,46],51:[2,46],55:[2,46],60:[2,46]},{26:88,47:[1,67]},{47:[2,57]},{5:[2,11],14:[2,11],15:[2,11],19:[2,11],29:[2,11],34:[2,11],39:[2,11],44:[2,11],47:[2,11],48:[2,11],51:[2,11],55:[2,11],60:[2,11]},{15:[2,49],18:[2,49]},{20:75,33:[2,88],58:89,63:90,64:76,65:[1,44],69:91,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{65:[2,94],66:92,68:[2,94],72:[2,94],80:[2,94],81:[2,94],82:[2,94],83:[2,94],84:[2,94],85:[2,94]},{5:[2,25],14:[2,25],15:[2,25],19:[2,25],29:[2,25],34:[2,25],39:[2,25],44:[2,25],47:[2,25],48:[2,25],51:[2,25],55:[2,25],60:[2,25]},{20:93,72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,31:94,33:[2,60],63:95,64:76,65:[1,44],69:96,70:77,71:78,72:[1,79],75:[2,60],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,66],36:97,63:98,64:76,65:[1,44],69:99,70:77,71:78,72:[1,79],75:[2,66],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,22:100,23:[2,52],63:101,64:76,65:[1,44],69:102,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{20:75,33:[2,92],62:103,63:104,64:76,65:[1,44],69:105,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,106]},{33:[2,79],65:[2,79],72:[2,79],80:[2,79],81:[2,79],82:[2,79],83:[2,79],84:[2,79],85:[2,79]},{33:[2,81]},{23:[2,27],33:[2,27],54:[2,27],65:[2,27],68:[2,27],72:[2,27],75:[2,27],80:[2,27],81:[2,27],82:[2,27],83:[2,27],84:[2,27],85:[2,27]},{23:[2,28],33:[2,28],54:[2,28],65:[2,28],68:[2,28],72:[2,28],75:[2,28],80:[2,28],81:[2,28],82:[2,28],83:[2,28],84:[2,28],85:[2,28]},{23:[2,30],33:[2,30],54:[2,30],68:[2,30],71:107,72:[1,108],75:[2,30]},{23:[2,98],33:[2,98],54:[2,98],68:[2,98],72:[2,98],75:[2,98]},{23:[2,45],33:[2,45],54:[2,45],65:[2,45],68:[2,45],72:[2,45],73:[1,109],75:[2,45],80:[2,45],81:[2,45],82:[2,45],83:[2,45],84:[2,45],85:[2,45],87:[2,45]},{23:[2,44],33:[2,44],54:[2,44],65:[2,44],68:[2,44],72:[2,44],75:[2,44],80:[2,44],81:[2,44],82:[2,44],83:[2,44],84:[2,44],85:[2,44],87:[2,44]},{54:[1,110]},{54:[2,83],65:[2,83],72:[2,83],80:[2,83],81:[2,83],82:[2,83],83:[2,83],84:[2,83],85:[2,83]},{54:[2,85]},{5:[2,13],14:[2,13],15:[2,13],19:[2,13],29:[2,13],34:[2,13],39:[2,13],44:[2,13],47:[2,13],48:[2,13],51:[2,13],55:[2,13],60:[2,13]},{38:56,39:[1,58],43:57,44:[1,59],45:112,46:111,47:[2,76]},{33:[2,70],40:113,65:[2,70],72:[2,70],75:[2,70],80:[2,70],81:[2,70],82:[2,70],83:[2,70],84:[2,70],85:[2,70]},{47:[2,18]},{5:[2,14],14:[2,14],15:[2,14],19:[2,14],29:[2,14],34:[2,14],39:[2,14],44:[2,14],47:[2,14],48:[2,14],51:[2,14],55:[2,14],60:[2,14]},{33:[1,114]},{33:[2,87],65:[2,87],72:[2,87],80:[2,87],81:[2,87],82:[2,87],83:[2,87],84:[2,87],85:[2,87]},{33:[2,89]},{20:75,63:116,64:76,65:[1,44],67:115,68:[2,96],69:117,70:77,71:78,72:[1,79],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{33:[1,118]},{32:119,33:[2,62],74:120,75:[1,121]},{33:[2,59],65:[2,59],72:[2,59],75:[2,59],80:[2,59],81:[2,59],82:[2,59],83:[2,59],84:[2,59],85:[2,59]},{33:[2,61],75:[2,61]},{33:[2,68],37:122,74:123,75:[1,121]},{33:[2,65],65:[2,65],72:[2,65],75:[2,65],80:[2,65],81:[2,65],82:[2,65],83:[2,65],84:[2,65],85:[2,65]},{33:[2,67],75:[2,67]},{23:[1,124]},{23:[2,51],65:[2,51],72:[2,51],80:[2,51],81:[2,51],82:[2,51],83:[2,51],84:[2,51],85:[2,51]},{23:[2,53]},{33:[1,125]},{33:[2,91],65:[2,91],72:[2,91],80:[2,91],81:[2,91],82:[2,91],83:[2,91],84:[2,91],85:[2,91]},{33:[2,93]},{5:[2,22],14:[2,22],15:[2,22],19:[2,22],29:[2,22],34:[2,22],39:[2,22],44:[2,22],47:[2,22],48:[2,22],51:[2,22],55:[2,22],60:[2,22]},{23:[2,99],33:[2,99],54:[2,99],68:[2,99],72:[2,99],75:[2,99]},{73:[1,109]},{20:75,63:126,64:76,65:[1,44],72:[1,35],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,23],14:[2,23],15:[2,23],19:[2,23],29:[2,23],34:[2,23],39:[2,23],44:[2,23],47:[2,23],48:[2,23],51:[2,23],55:[2,23],60:[2,23]},{47:[2,19]},{47:[2,77]},{20:75,33:[2,72],41:127,63:128,64:76,65:[1,44],69:129,70:77,71:78,72:[1,79],75:[2,72],78:26,79:27,80:[1,28],81:[1,29],82:[1,30],83:[1,31],84:[1,32],85:[1,34],86:33},{5:[2,24],14:[2,24],15:[2,24],19:[2,24],29:[2,24],34:[2,24],39:[2,24],44:[2,24],47:[2,24],48:[2,24],51:[2,24],55:[2,24],60:[2,24]},{68:[1,130]},{65:[2,95],68:[2,95],72:[2,95],80:[2,95],81:[2,95],82:[2,95],83:[2,95],84:[2,95],85:[2,95]},{68:[2,97]},{5:[2,21],14:[2,21],15:[2,21],19:[2,21],29:[2,21],34:[2,21],39:[2,21],44:[2,21],47:[2,21],48:[2,21],51:[2,21],55:[2,21],60:[2,21]},{33:[1,131]},{33:[2,63]},{72:[1,133],76:132},{33:[1,134]},{33:[2,69]},{15:[2,12]},{14:[2,26],15:[2,26],19:[2,26],29:[2,26],34:[2,26],47:[2,26],48:[2,26],51:[2,26],55:[2,26],60:[2,26]},{23:[2,31],33:[2,31],54:[2,31],68:[2,31],72:[2,31],75:[2,31]},{33:[2,74],42:135,74:136,75:[1,121]},{33:[2,71],65:[2,71],72:[2,71],75:[2,71],80:[2,71],81:[2,71],82:[2,71],83:[2,71],84:[2,71],85:[2,71]},{33:[2,73],75:[2,73]},{23:[2,29],33:[2,29],54:[2,29],65:[2,29],68:[2,29],72:[2,29],75:[2,29],80:[2,29],81:[2,29],82:[2,29],83:[2,29],84:[2,29],85:[2,29]},{14:[2,15],15:[2,15],19:[2,15],29:[2,15],34:[2,15],39:[2,15],44:[2,15],47:[2,15],48:[2,15],51:[2,15],55:[2,15],60:[2,15]},{72:[1,138],77:[1,137]},{72:[2,100],77:[2,100]},{14:[2,16],15:[2,16],19:[2,16],29:[2,16],34:[2,16],44:[2,16],47:[2,16],48:[2,16],51:[2,16],55:[2,16],60:[2,16]},{33:[1,139]},{33:[2,75]},{33:[2,32]},{72:[2,101],77:[2,101]},{14:[2,17],15:[2,17],19:[2,17],29:[2,17],34:[2,17],39:[2,17],44:[2,17],47:[2,17],48:[2,17],51:[2,17],55:[2,17],60:[2,17]}],
197
- defaultActions: {4:[2,1],55:[2,55],57:[2,20],61:[2,57],74:[2,81],83:[2,85],87:[2,18],91:[2,89],102:[2,53],105:[2,93],111:[2,19],112:[2,77],117:[2,97],120:[2,63],123:[2,69],124:[2,12],136:[2,75],137:[2,32]},
198
- parseError: function parseError(str, hash) {
199
- throw new Error(str);
200
- },
201
- parse: function parse(input) {
202
- var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0;
203
- this.lexer.setInput(input);
204
- this.lexer.yy = this.yy;
205
- this.yy.lexer = this.lexer;
206
- this.yy.parser = this;
207
- if (typeof this.lexer.yylloc == "undefined")
208
- this.lexer.yylloc = {};
209
- var yyloc = this.lexer.yylloc;
210
- lstack.push(yyloc);
211
- var ranges = this.lexer.options && this.lexer.options.ranges;
212
- if (typeof this.yy.parseError === "function")
213
- this.parseError = this.yy.parseError;
214
- function lex() {
215
- var token;
216
- token = self.lexer.lex() || 1;
217
- if (typeof token !== "number") {
218
- token = self.symbols_[token] || token;
219
- }
220
- return token;
221
- }
222
- var symbol, preErrorSymbol, state, action, r, yyval = {}, p, len, newState, expected;
223
- while (true) {
224
- state = stack[stack.length - 1];
225
- if (this.defaultActions[state]) {
226
- action = this.defaultActions[state];
227
- } else {
228
- if (symbol === null || typeof symbol == "undefined") {
229
- symbol = lex();
230
- }
231
- action = table[state] && table[state][symbol];
232
- }
233
- if (typeof action === "undefined" || !action.length || !action[0]) {
234
- var errStr = "";
235
- if (!recovering) {
236
- expected = [];
237
- for (p in table[state])
238
- if (this.terminals_[p] && p > 2) {
239
- expected.push("'" + this.terminals_[p] + "'");
240
- }
241
- if (this.lexer.showPosition) {
242
- errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
243
- } else {
244
- errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'");
245
- }
246
- this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected});
247
- }
248
- }
249
- if (action[0] instanceof Array && action.length > 1) {
250
- throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);
251
- }
252
- switch (action[0]) {
253
- case 1:
254
- stack.push(symbol);
255
- vstack.push(this.lexer.yytext);
256
- lstack.push(this.lexer.yylloc);
257
- stack.push(action[1]);
258
- symbol = null;
259
- if (!preErrorSymbol) {
260
- yyleng = this.lexer.yyleng;
261
- yytext = this.lexer.yytext;
262
- yylineno = this.lexer.yylineno;
263
- yyloc = this.lexer.yylloc;
264
- if (recovering > 0)
265
- recovering--;
266
- } else {
267
- symbol = preErrorSymbol;
268
- preErrorSymbol = null;
269
- }
270
- break;
271
- case 2:
272
- len = this.productions_[action[1]][1];
273
- yyval.$ = vstack[vstack.length - len];
274
- yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column};
275
- if (ranges) {
276
- yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];
277
- }
278
- r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);
279
- if (typeof r !== "undefined") {
280
- return r;
281
- }
282
- if (len) {
283
- stack = stack.slice(0, -1 * len * 2);
284
- vstack = vstack.slice(0, -1 * len);
285
- lstack = lstack.slice(0, -1 * len);
286
- }
287
- stack.push(this.productions_[action[1]][0]);
288
- vstack.push(yyval.$);
289
- lstack.push(yyval._$);
290
- newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
291
- stack.push(newState);
292
- break;
293
- case 3:
294
- return true;
295
- }
296
- }
297
- return true;
298
- }
299
- };
300
- /* Jison generated lexer */
301
- var lexer = (function(){
302
- var lexer = ({EOF:1,
303
- parseError:function parseError(str, hash) {
304
- if (this.yy.parser) {
305
- this.yy.parser.parseError(str, hash);
306
- } else {
307
- throw new Error(str);
308
- }
309
- },
310
- setInput:function (input) {
311
- this._input = input;
312
- this._more = this._less = this.done = false;
313
- this.yylineno = this.yyleng = 0;
314
- this.yytext = this.matched = this.match = '';
315
- this.conditionStack = ['INITIAL'];
316
- this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0};
317
- if (this.options.ranges) this.yylloc.range = [0,0];
318
- this.offset = 0;
319
- return this;
320
- },
321
- input:function () {
322
- var ch = this._input[0];
323
- this.yytext += ch;
324
- this.yyleng++;
325
- this.offset++;
326
- this.match += ch;
327
- this.matched += ch;
328
- var lines = ch.match(/(?:\r\n?|\n).*/g);
329
- if (lines) {
330
- this.yylineno++;
331
- this.yylloc.last_line++;
332
- } else {
333
- this.yylloc.last_column++;
334
- }
335
- if (this.options.ranges) this.yylloc.range[1]++;
336
-
337
- this._input = this._input.slice(1);
338
- return ch;
339
- },
340
- unput:function (ch) {
341
- var len = ch.length;
342
- var lines = ch.split(/(?:\r\n?|\n)/g);
343
-
344
- this._input = ch + this._input;
345
- this.yytext = this.yytext.substr(0, this.yytext.length-len-1);
346
- //this.yyleng -= len;
347
- this.offset -= len;
348
- var oldLines = this.match.split(/(?:\r\n?|\n)/g);
349
- this.match = this.match.substr(0, this.match.length-1);
350
- this.matched = this.matched.substr(0, this.matched.length-1);
351
-
352
- if (lines.length-1) this.yylineno -= lines.length-1;
353
- var r = this.yylloc.range;
354
-
355
- this.yylloc = {first_line: this.yylloc.first_line,
356
- last_line: this.yylineno+1,
357
- first_column: this.yylloc.first_column,
358
- last_column: lines ?
359
- (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length:
360
- this.yylloc.first_column - len
361
- };
362
-
363
- if (this.options.ranges) {
364
- this.yylloc.range = [r[0], r[0] + this.yyleng - len];
365
- }
366
- return this;
367
- },
368
- more:function () {
369
- this._more = true;
370
- return this;
371
- },
372
- less:function (n) {
373
- this.unput(this.match.slice(n));
374
- },
375
- pastInput:function () {
376
- var past = this.matched.substr(0, this.matched.length - this.match.length);
377
- return (past.length > 20 ? '...':'') + past.substr(-20).replace(/\n/g, "");
378
- },
379
- upcomingInput:function () {
380
- var next = this.match;
381
- if (next.length < 20) {
382
- next += this._input.substr(0, 20-next.length);
383
- }
384
- return (next.substr(0,20)+(next.length > 20 ? '...':'')).replace(/\n/g, "");
385
- },
386
- showPosition:function () {
387
- var pre = this.pastInput();
388
- var c = new Array(pre.length + 1).join("-");
389
- return pre + this.upcomingInput() + "\n" + c+"^";
390
- },
391
- next:function () {
392
- if (this.done) {
393
- return this.EOF;
394
- }
395
- if (!this._input) this.done = true;
396
-
397
- var token,
398
- match,
399
- tempMatch,
400
- index,
401
- lines;
402
- if (!this._more) {
403
- this.yytext = '';
404
- this.match = '';
405
- }
406
- var rules = this._currentRules();
407
- for (var i=0;i < rules.length; i++) {
408
- tempMatch = this._input.match(this.rules[rules[i]]);
409
- if (tempMatch && (!match || tempMatch[0].length > match[0].length)) {
410
- match = tempMatch;
411
- index = i;
412
- if (!this.options.flex) break;
413
- }
414
- }
415
- if (match) {
416
- lines = match[0].match(/(?:\r\n?|\n).*/g);
417
- if (lines) this.yylineno += lines.length;
418
- this.yylloc = {first_line: this.yylloc.last_line,
419
- last_line: this.yylineno+1,
420
- first_column: this.yylloc.last_column,
421
- last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length};
422
- this.yytext += match[0];
423
- this.match += match[0];
424
- this.matches = match;
425
- this.yyleng = this.yytext.length;
426
- if (this.options.ranges) {
427
- this.yylloc.range = [this.offset, this.offset += this.yyleng];
428
- }
429
- this._more = false;
430
- this._input = this._input.slice(match[0].length);
431
- this.matched += match[0];
432
- token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]);
433
- if (this.done && this._input) this.done = false;
434
- if (token) return token;
435
- else return;
436
- }
437
- if (this._input === "") {
438
- return this.EOF;
439
- } else {
440
- return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(),
441
- {text: "", token: null, line: this.yylineno});
442
- }
443
- },
444
- lex:function lex() {
445
- var r = this.next();
446
- if (typeof r !== 'undefined') {
447
- return r;
448
- } else {
449
- return this.lex();
450
- }
451
- },
452
- begin:function begin(condition) {
453
- this.conditionStack.push(condition);
454
- },
455
- popState:function popState() {
456
- return this.conditionStack.pop();
457
- },
458
- _currentRules:function _currentRules() {
459
- return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;
460
- },
461
- topState:function () {
462
- return this.conditionStack[this.conditionStack.length-2];
463
- },
464
- pushState:function begin(condition) {
465
- this.begin(condition);
466
- }});
467
- lexer.options = {};
468
- lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START
469
- /**/) {
470
-
471
-
472
- function strip(start, end) {
473
- return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end);
474
- }
475
- switch($avoiding_name_collisions) {
476
- case 0:
477
- if(yy_.yytext.slice(-2) === "\\\\") {
478
- strip(0,1);
479
- this.begin("mu");
480
- } else if(yy_.yytext.slice(-1) === "\\") {
481
- strip(0,1);
482
- this.begin("emu");
483
- } else {
484
- this.begin("mu");
485
- }
486
- if(yy_.yytext) return 15;
487
-
488
- break;
489
- case 1:return 15;
490
- break;
491
- case 2:
492
- this.popState();
493
- return 15;
494
-
495
- break;
496
- case 3:this.begin('raw'); return 15;
497
- break;
498
- case 4:
499
- this.popState();
500
- // Should be using `this.topState()` below, but it currently
501
- // returns the second top instead of the first top. Opened an
502
- // issue about it at https://github.com/zaach/jison/issues/291
503
- if (this.conditionStack[this.conditionStack.length-1] === 'raw') {
504
- return 15;
505
- } else {
506
- yy_.yytext = yy_.yytext.substr(5, yy_.yyleng-9);
507
- return 'END_RAW_BLOCK';
508
- }
509
-
510
- break;
511
- case 5: return 15;
512
- break;
513
- case 6:
514
- this.popState();
515
- return 14;
516
-
517
- break;
518
- case 7:return 65;
519
- break;
520
- case 8:return 68;
521
- break;
522
- case 9: return 19;
523
- break;
524
- case 10:
525
- this.popState();
526
- this.begin('raw');
527
- return 23;
528
-
529
- break;
530
- case 11:return 55;
531
- break;
532
- case 12:return 60;
533
- break;
534
- case 13:return 29;
535
- break;
536
- case 14:return 47;
537
- break;
538
- case 15:this.popState(); return 44;
539
- break;
540
- case 16:this.popState(); return 44;
541
- break;
542
- case 17:return 34;
543
- break;
544
- case 18:return 39;
545
- break;
546
- case 19:return 51;
547
- break;
548
- case 20:return 48;
549
- break;
550
- case 21:
551
- this.unput(yy_.yytext);
552
- this.popState();
553
- this.begin('com');
554
-
555
- break;
556
- case 22:
557
- this.popState();
558
- return 14;
559
-
560
- break;
561
- case 23:return 48;
562
- break;
563
- case 24:return 73;
564
- break;
565
- case 25:return 72;
566
- break;
567
- case 26:return 72;
568
- break;
569
- case 27:return 87;
570
- break;
571
- case 28:// ignore whitespace
572
- break;
573
- case 29:this.popState(); return 54;
574
- break;
575
- case 30:this.popState(); return 33;
576
- break;
577
- case 31:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 80;
578
- break;
579
- case 32:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 80;
580
- break;
581
- case 33:return 85;
582
- break;
583
- case 34:return 82;
584
- break;
585
- case 35:return 82;
586
- break;
587
- case 36:return 83;
588
- break;
589
- case 37:return 84;
590
- break;
591
- case 38:return 81;
592
- break;
593
- case 39:return 75;
594
- break;
595
- case 40:return 77;
596
- break;
597
- case 41:return 72;
598
- break;
599
- case 42:yy_.yytext = yy_.yytext.replace(/\\([\\\]])/g,'$1'); return 72;
600
- break;
601
- case 43:return 'INVALID';
602
- break;
603
- case 44:return 5;
604
- break;
605
- }
606
- };
607
- lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/];
608
- lexer.conditions = {"mu":{"rules":[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[6],"inclusive":false},"raw":{"rules":[3,4,5],"inclusive":false},"INITIAL":{"rules":[0,1,44],"inclusive":true}};
609
- return lexer;})();
610
- parser.lexer = lexer;
611
- function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser;
612
- return new Parser;
613
- })();
614
-
615
- const errorProps = ['description', 'fileName', 'lineNumber', 'message', 'name', 'number', 'stack'];
616
-
617
- function Exception(message, node) {
618
- let loc = node && node.loc,
619
- line,
620
- column;
621
- if (loc) {
622
- line = loc.start.line;
623
- column = loc.start.column;
624
-
625
- message += ' - ' + line + ':' + column;
626
- }
627
-
628
- let tmp = Error.prototype.constructor.call(this, message);
629
-
630
- // Unfortunately errors are not enumerable in Chrome (at least), so `for prop in tmp` doesn't work.
631
- for (let idx = 0; idx < errorProps.length; idx++) {
632
- this[errorProps[idx]] = tmp[errorProps[idx]];
633
- }
634
-
635
- /* istanbul ignore else */
636
- if (Error.captureStackTrace) {
637
- Error.captureStackTrace(this, Exception);
638
- }
639
-
640
- try {
641
- if (loc) {
642
- this.lineNumber = line;
643
-
644
- // Work around issue under safari where we can't directly set the column value
645
- /* istanbul ignore next */
646
- if (Object.defineProperty) {
647
- Object.defineProperty(this, 'column', {
648
- value: column,
649
- enumerable: true
650
- });
651
- } else {
652
- this.column = column;
653
- }
654
- }
655
- } catch (nop) {
656
- /* Ignore if the browser is very particular */
657
- }
658
- }
659
-
660
- Exception.prototype = new Error();
661
-
662
- function Visitor() {
663
- this.parents = [];
664
- }
665
-
666
- Visitor.prototype = {
667
- constructor: Visitor,
668
- mutating: false,
669
-
670
- // Visits a given value. If mutating, will replace the value if necessary.
671
- acceptKey: function(node, name) {
672
- let value = this.accept(node[name]);
673
- if (this.mutating) {
674
- // Hacky sanity check: This may have a few false positives for type for the helper
675
- // methods but will generally do the right thing without a lot of overhead.
676
- if (value && !Visitor.prototype[value.type]) {
677
- throw new Exception('Unexpected node type "' + value.type + '" found when accepting ' + name + ' on ' + node.type);
678
- }
679
- node[name] = value;
680
- }
681
- },
682
-
683
- // Performs an accept operation with added sanity check to ensure
684
- // required keys are not removed.
685
- acceptRequired: function(node, name) {
686
- this.acceptKey(node, name);
687
-
688
- if (!node[name]) {
689
- throw new Exception(node.type + ' requires ' + name);
690
- }
691
- },
692
-
693
- // Traverses a given array. If mutating, empty respnses will be removed
694
- // for child elements.
695
- acceptArray: function(array) {
696
- for (let i = 0, l = array.length; i < l; i++) {
697
- this.acceptKey(array, i);
698
-
699
- if (!array[i]) {
700
- array.splice(i, 1);
701
- i--;
702
- l--;
703
- }
704
- }
705
- },
706
-
707
- accept: function(object) {
708
- if (!object) {
709
- return;
710
- }
711
-
712
- /* istanbul ignore next: Sanity code */
713
- if (!this[object.type]) {
714
- throw new Exception('Unknown type: ' + object.type, object);
715
- }
716
-
717
- if (this.current) {
718
- this.parents.unshift(this.current);
719
- }
720
- this.current = object;
721
-
722
- let ret = this[object.type](object);
723
-
724
- this.current = this.parents.shift();
725
-
726
- if (!this.mutating || ret) {
727
- return ret;
728
- } else if (ret !== false) {
729
- return object;
730
- }
731
- },
732
-
733
- Program: function(program) {
734
- this.acceptArray(program.body);
735
- },
736
-
737
- MustacheStatement: visitSubExpression,
738
- Decorator: visitSubExpression,
739
-
740
- BlockStatement: visitBlock,
741
- DecoratorBlock: visitBlock,
742
-
743
- PartialStatement: visitPartial,
744
- PartialBlockStatement: function(partial) {
745
- visitPartial.call(this, partial);
746
-
747
- this.acceptKey(partial, 'program');
748
- },
749
-
750
- ContentStatement: function(/* content */) {},
751
- CommentStatement: function(/* comment */) {},
752
-
753
- SubExpression: visitSubExpression,
754
-
755
- PathExpression: function(/* path */) {},
756
-
757
- StringLiteral: function(/* string */) {},
758
- NumberLiteral: function(/* number */) {},
759
- BooleanLiteral: function(/* bool */) {},
760
- UndefinedLiteral: function(/* literal */) {},
761
- NullLiteral: function(/* literal */) {},
762
-
763
- Hash: function(hash) {
764
- this.acceptArray(hash.pairs);
765
- },
766
- HashPair: function(pair) {
767
- this.acceptRequired(pair, 'value');
768
- }
769
- };
770
-
771
- function visitSubExpression(mustache) {
772
- this.acceptRequired(mustache, 'path');
773
- this.acceptArray(mustache.params);
774
- this.acceptKey(mustache, 'hash');
775
- }
776
- function visitBlock(block) {
777
- visitSubExpression.call(this, block);
778
-
779
- this.acceptKey(block, 'program');
780
- this.acceptKey(block, 'inverse');
781
- }
782
- function visitPartial(partial) {
783
- this.acceptRequired(partial, 'name');
784
- this.acceptArray(partial.params);
785
- this.acceptKey(partial, 'hash');
786
- }
787
-
788
- function WhitespaceControl(options = {}) {
789
- this.options = options;
790
- }
791
- WhitespaceControl.prototype = new Visitor();
792
-
793
- WhitespaceControl.prototype.Program = function(program) {
794
- const doStandalone = !this.options.ignoreStandalone;
795
-
796
- let isRoot = !this.isRootSeen;
797
- this.isRootSeen = true;
798
-
799
- let body = program.body;
800
- for (let i = 0, l = body.length; i < l; i++) {
801
- let current = body[i],
802
- strip = this.accept(current);
803
-
804
- if (!strip) {
805
- continue;
806
- }
807
-
808
- let _isPrevWhitespace = isPrevWhitespace(body, i, isRoot),
809
- _isNextWhitespace = isNextWhitespace(body, i, isRoot),
810
-
811
- openStandalone = strip.openStandalone && _isPrevWhitespace,
812
- closeStandalone = strip.closeStandalone && _isNextWhitespace,
813
- inlineStandalone = strip.inlineStandalone && _isPrevWhitespace && _isNextWhitespace;
814
-
815
- if (strip.close) {
816
- omitRight(body, i, true);
817
- }
818
- if (strip.open) {
819
- omitLeft(body, i, true);
820
- }
821
-
822
- if (doStandalone && inlineStandalone) {
823
- omitRight(body, i);
824
-
825
- if (omitLeft(body, i)) {
826
- // If we are on a standalone node, save the indent info for partials
827
- if (current.type === 'PartialStatement') {
828
- // Pull out the whitespace from the final line
829
- current.indent = (/([ \t]+$)/).exec(body[i - 1].original)[1];
830
- }
831
- }
832
- }
833
- if (doStandalone && openStandalone) {
834
- omitRight((current.program || current.inverse).body);
835
-
836
- // Strip out the previous content node if it's whitespace only
837
- omitLeft(body, i);
838
- }
839
- if (doStandalone && closeStandalone) {
840
- // Always strip the next node
841
- omitRight(body, i);
842
-
843
- omitLeft((current.inverse || current.program).body);
844
- }
845
- }
846
-
847
- return program;
848
- };
849
-
850
- WhitespaceControl.prototype.BlockStatement =
851
- WhitespaceControl.prototype.DecoratorBlock =
852
- WhitespaceControl.prototype.PartialBlockStatement = function(block) {
853
- this.accept(block.program);
854
- this.accept(block.inverse);
855
-
856
- // Find the inverse program that is involed with whitespace stripping.
857
- let program = block.program || block.inverse,
858
- inverse = block.program && block.inverse,
859
- firstInverse = inverse,
860
- lastInverse = inverse;
861
-
862
- if (inverse && inverse.chained) {
863
- firstInverse = inverse.body[0].program;
864
-
865
- // Walk the inverse chain to find the last inverse that is actually in the chain.
866
- while (lastInverse.chained) {
867
- lastInverse = lastInverse.body[lastInverse.body.length - 1].program;
868
- }
869
- }
870
-
871
- let strip = {
872
- open: block.openStrip.open,
873
- close: block.closeStrip.close,
874
-
875
- // Determine the standalone candiacy. Basically flag our content as being possibly standalone
876
- // so our parent can determine if we actually are standalone
877
- openStandalone: isNextWhitespace(program.body),
878
- closeStandalone: isPrevWhitespace((firstInverse || program).body)
879
- };
880
-
881
- if (block.openStrip.close) {
882
- omitRight(program.body, null, true);
883
- }
884
-
885
- if (inverse) {
886
- let inverseStrip = block.inverseStrip;
887
-
888
- if (inverseStrip.open) {
889
- omitLeft(program.body, null, true);
890
- }
891
-
892
- if (inverseStrip.close) {
893
- omitRight(firstInverse.body, null, true);
894
- }
895
- if (block.closeStrip.open) {
896
- omitLeft(lastInverse.body, null, true);
897
- }
898
-
899
- // Find standalone else statments
900
- if (!this.options.ignoreStandalone
901
- && isPrevWhitespace(program.body)
902
- && isNextWhitespace(firstInverse.body)) {
903
- omitLeft(program.body);
904
- omitRight(firstInverse.body);
905
- }
906
- } else if (block.closeStrip.open) {
907
- omitLeft(program.body, null, true);
908
- }
909
-
910
- return strip;
911
- };
912
-
913
- WhitespaceControl.prototype.Decorator =
914
- WhitespaceControl.prototype.MustacheStatement = function(mustache) {
915
- return mustache.strip;
916
- };
917
-
918
- WhitespaceControl.prototype.PartialStatement =
919
- WhitespaceControl.prototype.CommentStatement = function(node) {
920
- /* istanbul ignore next */
921
- let strip = node.strip || {};
922
- return {
923
- inlineStandalone: true,
924
- open: strip.open,
925
- close: strip.close
926
- };
927
- };
928
-
929
-
930
- function isPrevWhitespace(body, i, isRoot) {
931
- if (i === undefined) {
932
- i = body.length;
933
- }
934
-
935
- // Nodes that end with newlines are considered whitespace (but are special
936
- // cased for strip operations)
937
- let prev = body[i - 1],
938
- sibling = body[i - 2];
939
- if (!prev) {
940
- return isRoot;
941
- }
942
-
943
- if (prev.type === 'ContentStatement') {
944
- return (sibling || !isRoot ? (/\r?\n\s*?$/) : (/(^|\r?\n)\s*?$/)).test(prev.original);
945
- }
946
- }
947
- function isNextWhitespace(body, i, isRoot) {
948
- if (i === undefined) {
949
- i = -1;
950
- }
951
-
952
- let next = body[i + 1],
953
- sibling = body[i + 2];
954
- if (!next) {
955
- return isRoot;
956
- }
957
-
958
- if (next.type === 'ContentStatement') {
959
- return (sibling || !isRoot ? (/^\s*?\r?\n/) : (/^\s*?(\r?\n|$)/)).test(next.original);
960
- }
961
- }
962
-
963
- // Marks the node to the right of the position as omitted.
964
- // I.e. {{foo}}' ' will mark the ' ' node as omitted.
965
- //
966
- // If i is undefined, then the first child will be marked as such.
967
- //
968
- // If mulitple is truthy then all whitespace will be stripped out until non-whitespace
969
- // content is met.
970
- function omitRight(body, i, multiple) {
971
- let current = body[i == null ? 0 : i + 1];
972
- if (!current || current.type !== 'ContentStatement' || (!multiple && current.rightStripped)) {
973
- return;
974
- }
975
-
976
- let original = current.value;
977
- current.value = current.value.replace(multiple ? (/^\s+/) : (/^[ \t]*\r?\n?/), '');
978
- current.rightStripped = current.value !== original;
979
- }
980
-
981
- // Marks the node to the left of the position as omitted.
982
- // I.e. ' '{{foo}} will mark the ' ' node as omitted.
983
- //
984
- // If i is undefined then the last child will be marked as such.
985
- //
986
- // If mulitple is truthy then all whitespace will be stripped out until non-whitespace
987
- // content is met.
988
- function omitLeft(body, i, multiple) {
989
- let current = body[i == null ? body.length - 1 : i - 1];
990
- if (!current || current.type !== 'ContentStatement' || (!multiple && current.leftStripped)) {
991
- return;
992
- }
993
-
994
- // We omit the last node if it's whitespace only and not preceeded by a non-content node.
995
- let original = current.value;
996
- current.value = current.value.replace(multiple ? (/\s+$/) : (/[ \t]+$/), '');
997
- current.leftStripped = current.value !== original;
998
- return current.leftStripped;
999
- }
1000
-
1001
- function validateClose(open, close) {
1002
- close = close.path ? close.path.original : close;
1003
-
1004
- if (open.path.original !== close) {
1005
- let errorNode = {loc: open.path.loc};
1006
-
1007
- throw new Exception(open.path.original + " doesn't match " + close, errorNode);
1008
- }
1009
- }
1010
-
1011
- function SourceLocation(source, locInfo) {
1012
- this.source = source;
1013
- this.start = {
1014
- line: locInfo.first_line,
1015
- column: locInfo.first_column
1016
- };
1017
- this.end = {
1018
- line: locInfo.last_line,
1019
- column: locInfo.last_column
1020
- };
1021
- }
1022
-
1023
- function id(token) {
1024
- if (/^\[.*\]$/.test(token)) {
1025
- return token.substr(1, token.length - 2);
1026
- } else {
1027
- return token;
1028
- }
1029
- }
1030
-
1031
- function stripFlags(open, close) {
1032
- return {
1033
- open: open.charAt(2) === '~',
1034
- close: close.charAt(close.length - 3) === '~'
1035
- };
1036
- }
1037
-
1038
- function stripComment(comment) {
1039
- return comment.replace(/^\{\{~?\!-?-?/, '')
1040
- .replace(/-?-?~?\}\}$/, '');
1041
- }
1042
-
1043
- function preparePath(data, parts, loc) {
1044
- loc = this.locInfo(loc);
1045
-
1046
- let original = data ? '@' : '',
1047
- dig = [],
1048
- depth = 0;
1049
-
1050
- for (let i = 0, l = parts.length; i < l; i++) {
1051
- let part = parts[i].part,
1052
- // If we have [] syntax then we do not treat path references as operators,
1053
- // i.e. foo.[this] resolves to approximately context.foo['this']
1054
- isLiteral = parts[i].original !== part;
1055
- original += (parts[i].separator || '') + part;
1056
-
1057
- if (!isLiteral && (part === '..' || part === '.' || part === 'this')) {
1058
- if (dig.length > 0) {
1059
- throw new Exception('Invalid path: ' + original, {loc});
1060
- } else if (part === '..') {
1061
- depth++;
1062
- }
1063
- } else {
1064
- dig.push(part);
1065
- }
1066
- }
1067
-
1068
- return {
1069
- type: 'PathExpression',
1070
- data,
1071
- depth,
1072
- parts: dig,
1073
- original,
1074
- loc
1075
- };
1076
- }
1077
-
1078
- function prepareMustache(path, params, hash, open, strip, locInfo) {
1079
- // Must use charAt to support IE pre-10
1080
- let escapeFlag = open.charAt(3) || open.charAt(2),
1081
- escaped = escapeFlag !== '{' && escapeFlag !== '&';
1082
-
1083
- let decorator = (/\*/.test(open));
1084
- return {
1085
- type: decorator ? 'Decorator' : 'MustacheStatement',
1086
- path,
1087
- params,
1088
- hash,
1089
- escaped,
1090
- strip,
1091
- loc: this.locInfo(locInfo)
1092
- };
1093
- }
1094
-
1095
- function prepareRawBlock(openRawBlock, contents, close, locInfo) {
1096
- validateClose(openRawBlock, close);
1097
-
1098
- locInfo = this.locInfo(locInfo);
1099
- let program = {
1100
- type: 'Program',
1101
- body: contents,
1102
- strip: {},
1103
- loc: locInfo
1104
- };
1105
-
1106
- return {
1107
- type: 'BlockStatement',
1108
- path: openRawBlock.path,
1109
- params: openRawBlock.params,
1110
- hash: openRawBlock.hash,
1111
- program,
1112
- openStrip: {},
1113
- inverseStrip: {},
1114
- closeStrip: {},
1115
- loc: locInfo
1116
- };
1117
- }
1118
-
1119
- function prepareBlock(openBlock, program, inverseAndProgram, close, inverted, locInfo) {
1120
- if (close && close.path) {
1121
- validateClose(openBlock, close);
1122
- }
1123
-
1124
- let decorator = (/\*/.test(openBlock.open));
1125
-
1126
- program.blockParams = openBlock.blockParams;
1127
-
1128
- let inverse,
1129
- inverseStrip;
1130
-
1131
- if (inverseAndProgram) {
1132
- if (decorator) {
1133
- throw new Exception('Unexpected inverse block on decorator', inverseAndProgram);
1134
- }
1135
-
1136
- if (inverseAndProgram.chain) {
1137
- inverseAndProgram.program.body[0].closeStrip = close.strip;
1138
- }
1139
-
1140
- inverseStrip = inverseAndProgram.strip;
1141
- inverse = inverseAndProgram.program;
1142
- }
1143
-
1144
- if (inverted) {
1145
- inverted = inverse;
1146
- inverse = program;
1147
- program = inverted;
1148
- }
1149
-
1150
- return {
1151
- type: decorator ? 'DecoratorBlock' : 'BlockStatement',
1152
- path: openBlock.path,
1153
- params: openBlock.params,
1154
- hash: openBlock.hash,
1155
- program,
1156
- inverse,
1157
- openStrip: openBlock.strip,
1158
- inverseStrip,
1159
- closeStrip: close && close.strip,
1160
- loc: this.locInfo(locInfo)
1161
- };
1162
- }
1163
-
1164
- function prepareProgram(statements, loc) {
1165
- if (!loc && statements.length) {
1166
- const firstLoc = statements[0].loc,
1167
- lastLoc = statements[statements.length - 1].loc;
1168
-
1169
- /* istanbul ignore else */
1170
- if (firstLoc && lastLoc) {
1171
- loc = {
1172
- source: firstLoc.source,
1173
- start: {
1174
- line: firstLoc.start.line,
1175
- column: firstLoc.start.column
1176
- },
1177
- end: {
1178
- line: lastLoc.end.line,
1179
- column: lastLoc.end.column
1180
- }
1181
- };
1182
- }
1183
- }
1184
-
1185
- return {
1186
- type: 'Program',
1187
- body: statements,
1188
- strip: {},
1189
- loc: loc
1190
- };
1191
- }
1192
-
1193
-
1194
- function preparePartialBlock(open, program, close, locInfo) {
1195
- validateClose(open, close);
1196
-
1197
- return {
1198
- type: 'PartialBlockStatement',
1199
- name: open.path,
1200
- params: open.params,
1201
- hash: open.hash,
1202
- program,
1203
- openStrip: open.strip,
1204
- closeStrip: close && close.strip,
1205
- loc: this.locInfo(locInfo)
1206
- };
1207
- }
1208
-
1209
- var Helpers = /*#__PURE__*/Object.freeze({
1210
- SourceLocation: SourceLocation,
1211
- id: id,
1212
- stripFlags: stripFlags,
1213
- stripComment: stripComment,
1214
- preparePath: preparePath,
1215
- prepareMustache: prepareMustache,
1216
- prepareRawBlock: prepareRawBlock,
1217
- prepareBlock: prepareBlock,
1218
- prepareProgram: prepareProgram,
1219
- preparePartialBlock: preparePartialBlock
1220
- });
1221
-
1222
- function extend(obj/* , ...source */) {
1223
- for (let i = 1; i < arguments.length; i++) {
1224
- for (let key in arguments[i]) {
1225
- if (Object.prototype.hasOwnProperty.call(arguments[i], key)) {
1226
- obj[key] = arguments[i][key];
1227
- }
1228
- }
1229
- }
1230
-
1231
- return obj;
1232
- }
1233
-
1234
- let toString = Object.prototype.toString;
1235
-
1236
- // Sourced from lodash
1237
- // https://github.com/bestiejs/lodash/blob/master/LICENSE.txt
1238
- /* eslint-disable func-style */
1239
- let isFunction = function(value) {
1240
- return typeof value === 'function';
1241
- };
1242
- // fallback for older versions of Chrome and Safari
1243
- /* istanbul ignore next */
1244
- if (isFunction(/x/)) {
1245
- isFunction = function(value) {
1246
- return typeof value === 'function' && toString.call(value) === '[object Function]';
1247
- };
1248
- }
1249
-
1250
- let yy = {};
1251
- extend(yy, Helpers);
1252
-
1253
- function parse(input, options) {
1254
- // Just return if an already-compiled AST was passed in.
1255
- if (input.type === 'Program') { return input; }
1256
-
1257
- handlebars.yy = yy;
1258
-
1259
- // Altering the shared object here, but this is ok as parser is a sync operation
1260
- yy.locInfo = function(locInfo) {
1261
- return new yy.SourceLocation(options && options.srcName, locInfo);
1262
- };
1263
-
1264
- let strip = new WhitespaceControl(options);
1265
- return strip.accept(handlebars.parse(input));
1266
- }
1267
-
1268
- export { handlebars as parser, parse };