ember-source 6.12.0 → 7.0.0-alpha.1

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 (597) hide show
  1. package/blueprints/initializer-test/files/__root__/__testType__/__path__/__name__-test.ts +2 -2
  2. package/blueprints/instance-initializer-test/files/__root__/__testType__/__path__/__name__-test.ts +3 -3
  3. package/build-metadata.json +3 -3
  4. package/dist/{packages/shared-chunks/registry-XY5cfmbH.js → dev/packages/@ember/-internals/container/index.js} +28 -27
  5. package/dist/{packages → dev/packages}/@ember/-internals/deprecations/index.js +5 -16
  6. package/dist/{packages/shared-chunks/env-DEd6hPbj.js → dev/packages/@ember/-internals/environment/index.js} +31 -53
  7. package/dist/dev/packages/@ember/-internals/glimmer/index.js +42 -0
  8. package/dist/{packages → dev/packages}/@ember/-internals/meta/lib/meta.js +37 -38
  9. package/dist/dev/packages/@ember/-internals/metal/index.js +63 -0
  10. package/dist/{packages → dev/packages}/@ember/-internals/routing/index.js +7 -8
  11. package/dist/{packages → dev/packages}/@ember/-internals/runtime/lib/ext/rsvp.js +1 -2
  12. package/dist/{packages → dev/packages}/@ember/-internals/runtime/lib/mixins/-proxy.js +14 -15
  13. package/dist/{packages → dev/packages}/@ember/-internals/runtime/lib/mixins/action_handler.js +21 -9
  14. package/dist/{packages → dev/packages}/@ember/-internals/runtime/lib/mixins/registry_proxy.js +11 -2
  15. package/dist/{packages → dev/packages}/@ember/-internals/runtime/lib/mixins/target_action_support.js +22 -9
  16. package/dist/{packages → dev/packages}/@ember/-internals/string/index.js +1 -2
  17. package/dist/dev/packages/@ember/-internals/utils/index.js +34 -0
  18. package/dist/{packages → dev/packages}/@ember/-internals/views/lib/compat/fallback-view-registry.js +1 -2
  19. package/dist/{packages → dev/packages}/@ember/-internals/views/lib/mixins/action_support.js +16 -10
  20. package/dist/{packages → dev/packages}/@ember/-internals/views/lib/system/event_dispatcher.js +19 -20
  21. package/dist/{packages → dev/packages}/@ember/-internals/views/lib/system/utils.js +7 -23
  22. package/dist/{packages → dev/packages}/@ember/-internals/views/lib/views/core_view.js +6 -7
  23. package/dist/{packages → dev/packages}/@ember/-internals/views/lib/views/states.js +3 -4
  24. package/dist/{packages → dev/packages}/@ember/application/index.js +50 -121
  25. package/dist/{packages → dev/packages}/@ember/application/instance.js +17 -17
  26. package/dist/{packages → dev/packages}/@ember/application/namespace.js +27 -9
  27. package/dist/{packages → dev/packages}/@ember/array/index.js +34 -25
  28. package/dist/{packages → dev/packages}/@ember/array/proxy.js +19 -20
  29. package/dist/{packages → dev/packages}/@ember/canary-features/index.js +1 -1
  30. package/dist/dev/packages/@ember/component/helper.js +14 -0
  31. package/dist/{packages → dev/packages}/@ember/component/index.js +12 -12
  32. package/dist/{packages → dev/packages}/@ember/component/template-only.js +6 -6
  33. package/dist/{packages → dev/packages}/@ember/controller/index.js +7 -9
  34. package/dist/{packages → dev/packages}/@ember/debug/container-debug-adapter.js +6 -7
  35. package/dist/{packages → dev/packages}/@ember/debug/data-adapter.js +6 -7
  36. package/dist/{packages → dev/packages}/@ember/debug/index.js +4 -11
  37. package/dist/{packages → dev/packages}/@ember/debug/lib/assert.js +1 -3
  38. package/dist/{packages → dev/packages}/@ember/debug/lib/deprecate.js +7 -3
  39. package/dist/{packages → dev/packages}/@ember/debug/lib/handlers.js +1 -3
  40. package/dist/{packages → dev/packages}/@ember/debug/lib/warn.js +1 -2
  41. package/dist/{packages → dev/packages}/@ember/engine/index.js +22 -22
  42. package/dist/dev/packages/@ember/engine/instance.js +200 -0
  43. package/dist/{packages → dev/packages}/@ember/helper/index.js +12 -11
  44. package/dist/{packages → dev/packages}/@ember/instrumentation/index.js +3 -8
  45. package/dist/dev/packages/@ember/modifier/index.js +23 -0
  46. package/dist/{packages → dev/packages}/@ember/modifier/on.js +6 -6
  47. package/dist/dev/packages/@ember/object/-internals.js +49 -0
  48. package/dist/{packages → dev/packages}/@ember/object/compat.js +11 -12
  49. package/dist/{packages → dev/packages}/@ember/object/computed.js +7 -8
  50. package/dist/{packages → dev/packages}/@ember/object/core.js +28 -29
  51. package/dist/{packages → dev/packages}/@ember/object/evented.js +7 -8
  52. package/dist/dev/packages/@ember/object/events.js +11 -0
  53. package/dist/{packages → dev/packages}/@ember/object/index.js +18 -19
  54. package/dist/{packages → dev/packages}/@ember/object/internals.js +1 -1
  55. package/dist/{packages → dev/packages}/@ember/object/lib/computed/computed_macros.js +30 -27
  56. package/dist/{packages → dev/packages}/@ember/object/lib/computed/reduce_computed_macros.js +36 -37
  57. package/dist/{packages → dev/packages}/@ember/object/mixin.js +15 -23
  58. package/dist/dev/packages/@ember/object/observable.js +181 -0
  59. package/dist/dev/packages/@ember/object/observers.js +11 -0
  60. package/dist/{packages → dev/packages}/@ember/object/promise-proxy-mixin.js +7 -8
  61. package/dist/dev/packages/@ember/renderer/index.js +14 -0
  62. package/dist/dev/packages/@ember/routing/-internals.js +22 -0
  63. package/dist/{packages → dev/packages}/@ember/routing/hash-location.js +1 -1
  64. package/dist/{packages → dev/packages}/@ember/routing/history-location.js +9 -25
  65. package/dist/dev/packages/@ember/routing/index.js +14 -0
  66. package/dist/{packages → dev/packages}/@ember/routing/lib/dsl.js +5 -6
  67. package/dist/{packages → dev/packages}/@ember/routing/lib/generate_controller.js +22 -10
  68. package/dist/{packages → dev/packages}/@ember/routing/lib/location-utils.js +3 -16
  69. package/dist/{packages → dev/packages}/@ember/routing/lib/routing-service.js +19 -9
  70. package/dist/{packages → dev/packages}/@ember/routing/lib/utils.js +12 -13
  71. package/dist/{packages → dev/packages}/@ember/routing/none-location.js +2 -4
  72. package/dist/{packages → dev/packages}/@ember/routing/route.js +38 -39
  73. package/dist/{packages → dev/packages}/@ember/routing/router-service.js +13 -14
  74. package/dist/{packages → dev/packages}/@ember/routing/router.js +63 -71
  75. package/dist/{packages → dev/packages}/@ember/runloop/index.js +9 -8
  76. package/dist/{packages → dev/packages}/@ember/service/index.js +6 -7
  77. package/dist/dev/packages/@ember/template/index.js +14 -0
  78. package/dist/{packages → dev/packages}/@ember/template-compilation/index.js +3 -3
  79. package/dist/dev/packages/@ember/template-compiler/index.js +2 -0
  80. package/dist/{packages → dev/packages}/@ember/template-compiler/lib/compile-options.js +11 -6
  81. package/dist/{packages → dev/packages}/@ember/template-compiler/lib/dasherize-component-name.js +1 -2
  82. package/dist/dev/packages/@ember/template-compiler/lib/plugins/allowed-globals.js +56 -0
  83. package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/assert-against-attrs.js +19 -3
  84. package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/assert-against-named-outlets.js +11 -2
  85. package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/assert-input-helper-without-block.js +1 -2
  86. package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/assert-reserved-named-arguments.js +3 -4
  87. package/dist/dev/packages/@ember/template-compiler/lib/plugins/index.js +40 -0
  88. package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/transform-each-track-array.js +21 -2
  89. package/dist/dev/packages/@ember/template-compiler/lib/plugins/transform-in-element.js +50 -0
  90. package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/transform-resolutions.js +2 -3
  91. package/dist/dev/packages/@ember/template-compiler/lib/template.js +248 -0
  92. package/dist/dev/packages/@ember/template-factory/index.js +8 -0
  93. package/dist/dev/packages/@ember/test/index.js +18 -0
  94. package/dist/{packages → dev/packages}/@ember/utils/lib/compare.js +5 -6
  95. package/dist/{packages → dev/packages}/@ember/utils/lib/is_empty.js +6 -7
  96. package/dist/{packages → dev/packages}/@glimmer/destroyable/index.js +21 -16
  97. package/dist/{packages/shared-chunks/encoder-CT1wqYMF.js → dev/packages/@glimmer/encoder/index.js} +3 -4
  98. package/dist/{packages → dev/packages}/@glimmer/global-context/index.js +6 -5
  99. package/dist/{packages/shared-chunks/api-1B_9SjFR.js → dev/packages/@glimmer/manager/index.js} +17 -14
  100. package/dist/dev/packages/@glimmer/node/index.js +40 -0
  101. package/dist/{packages → dev/packages}/@glimmer/opcode-compiler/index.js +5 -6
  102. package/dist/dev/packages/@glimmer/program/index.js +12 -0
  103. package/dist/dev/packages/@glimmer/reference/index.js +208 -0
  104. package/dist/dev/packages/@glimmer/runtime/index.js +11 -0
  105. package/dist/dev/packages/@glimmer/tracking/index.js +137 -0
  106. package/dist/dev/packages/@glimmer/tracking/primitives/cache/index.js +11 -0
  107. package/dist/{packages → dev/packages}/@glimmer/util/index.js +2 -3
  108. package/dist/{packages → dev/packages}/@glimmer/validator/index.js +304 -372
  109. package/dist/{packages → dev/packages}/@glimmer/vm/index.js +1 -1
  110. package/dist/{packages → dev/packages}/ember/version.js +2 -2
  111. package/dist/dev/packages/ember-template-compiler/index.js +109 -0
  112. package/dist/{packages → dev/packages}/ember-testing/index.js +1 -3
  113. package/dist/dev/packages/ember-testing/lib/public-api.js +2 -0
  114. package/dist/dev/packages/ember-testing/lib/test/pending_requests.js +10 -0
  115. package/dist/dev/packages/ember-testing/lib/test.js +25 -0
  116. package/dist/{packages/shared-chunks/router-DSi8WnDi.js → dev/packages/router_js/index.js} +120 -58
  117. package/dist/{packages/shared-chunks/alias-BEMS3qgG.js → dev/packages/shared-chunks/alias-CSC0WIbj.js} +4 -5
  118. package/dist/{packages/shared-chunks/api-CkUl6KyJ.js → dev/packages/shared-chunks/api-BqXkkT0p.js} +14 -16
  119. package/dist/{packages/shared-chunks/args-proxy-B91L3LRK.js → dev/packages/shared-chunks/args-proxy-DgXMc9b5.js} +7 -8
  120. package/dist/{packages/shared-chunks/array-BqYCCatg.js → dev/packages/shared-chunks/array-D8PfjQHi.js} +3 -4
  121. package/dist/dev/packages/shared-chunks/capabilities-O_xc7Yqk.js +34 -0
  122. package/dist/{packages/shared-chunks/collections-B8me-ZlQ.js → dev/packages/shared-chunks/collections-D_nY_0UJ.js} +1 -2
  123. package/dist/{packages/@ember/template-compiler/lib/template.js → dev/packages/shared-chunks/compiler-CNj62pww.js} +22 -243
  124. package/dist/{packages/shared-chunks/constants-oDhF27qL.js → dev/packages/shared-chunks/constants-eoaL3OJQ.js} +9 -9
  125. package/dist/{packages/shared-chunks/debug-to-string-BsFOvUtQ.js → dev/packages/shared-chunks/debug-to-string-CFb7h0lY.js} +1 -3
  126. package/dist/{packages/shared-chunks/dynamic-CuBsUXX8.js → dev/packages/shared-chunks/dynamic-CFg3dljk.js} +108 -134
  127. package/dist/{packages/shared-chunks/element-builder-BuVym8EM.js → dev/packages/shared-chunks/element-builder-BOxP8emt.js} +4 -5
  128. package/dist/{packages/shared-chunks/flags-BsZlvEeR.js → dev/packages/shared-chunks/flags-B9qxc-pB.js} +1 -1
  129. package/dist/{packages/shared-chunks/capabilities-DHiXCCuB.js → dev/packages/shared-chunks/fragment-Cc5k9Oy4.js} +2 -33
  130. package/dist/{packages/shared-chunks/index-ByyoGpfz.js → dev/packages/shared-chunks/index-PxU6E7q8.js} +658 -214
  131. package/dist/{packages/shared-chunks/index-CQkjwqTv.js → dev/packages/shared-chunks/index-Q7JnrdBn.js} +20 -19
  132. package/dist/dev/packages/shared-chunks/invoke-DxRPE05O.js +67 -0
  133. package/dist/{packages/shared-chunks/is_proxy-C2q5rUMp.js → dev/packages/shared-chunks/is_proxy-B0smdQy8.js} +1 -1
  134. package/dist/{packages/shared-chunks/mandatory-setter-DLKyVs4Q.js → dev/packages/shared-chunks/mandatory-setter-DHZe7-kW.js} +47 -48
  135. package/dist/{packages/shared-chunks/name-DVtQREj6.js → dev/packages/shared-chunks/name-Z7dpqvzn.js} +1 -1
  136. package/dist/{packages/shared-chunks/namespace_search-ClQOZuFA.js → dev/packages/shared-chunks/namespace_search-uT8odThF.js} +3 -4
  137. package/dist/{packages/shared-chunks/observers-DhgQ6ba5.js → dev/packages/shared-chunks/observers-Bj9qLVau.js} +231 -87
  138. package/dist/{packages/shared-chunks/program-CcLlGnAU.js → dev/packages/shared-chunks/program-DfV0v8aa.js} +4 -6
  139. package/dist/{packages/shared-chunks/program-context-CZJnCFdo.js → dev/packages/shared-chunks/program-context-BRjCC_BA.js} +2 -2
  140. package/dist/{packages/shared-chunks/property_set-DrZnfGQ7.js → dev/packages/shared-chunks/property_set-DaoZXGM5.js} +11 -16
  141. package/dist/dev/packages/shared-chunks/public-api-C3KlJmEr.js +10 -0
  142. package/dist/{packages/shared-chunks/reference-B6HMX4y0.js → dev/packages/shared-chunks/reference-C3TKDRnP.js} +11 -12
  143. package/dist/{packages/@glimmer/runtime/index.js → dev/packages/shared-chunks/rehydrate-builder-DPImr9e9.js} +8 -16
  144. package/dist/{packages/shared-chunks/render-DTOhhssy.js → dev/packages/shared-chunks/render-sg8BuFaE.js} +16 -23
  145. package/dist/{packages/shared-chunks/serialize-builder-DEgRJgNQ.js → dev/packages/shared-chunks/serialize-builder-b_gSYCSS.js} +7 -7
  146. package/dist/{packages/shared-chunks/set_properties-Dag9Xz6u.js → dev/packages/shared-chunks/set_properties-kVGzZL_a.js} +2 -2
  147. package/dist/{packages/shared-chunks/setup-registry-Bbj8WQen.js → dev/packages/shared-chunks/setup-registry-DGdDOxrk.js} +12 -12
  148. package/dist/{packages/shared-chunks/simple-cast-BXTrayoV.js → dev/packages/shared-chunks/simple-cast-DCvJLSin.js} +1 -1
  149. package/dist/{packages/shared-chunks/template-CMHIG4cn.js → dev/packages/shared-chunks/template-kM-7TTcc.js} +3 -4
  150. package/dist/dev/packages/shared-chunks/to-string-C7M8LBLH.js +36 -0
  151. package/dist/{packages/shared-chunks/transform-resolutions-vHYYonpB.js → dev/packages/shared-chunks/transform-resolutions-fXGQKGsL.js} +331 -288
  152. package/dist/{packages/shared-chunks/unrecognized-url-error-BBMMZhBN.js → dev/packages/shared-chunks/unrecognized-url-error-B3wUTorp.js} +103 -39
  153. package/dist/prod/packages/@ember/-internals/browser-environment/index.js +2 -0
  154. package/dist/prod/packages/@ember/-internals/container/index.js +697 -0
  155. package/dist/prod/packages/@ember/-internals/deprecations/index.js +114 -0
  156. package/dist/prod/packages/@ember/-internals/environment/index.js +171 -0
  157. package/dist/prod/packages/@ember/-internals/error-handling/index.js +26 -0
  158. package/dist/prod/packages/@ember/-internals/glimmer/index.js +39 -0
  159. package/dist/prod/packages/@ember/-internals/meta/index.js +1 -0
  160. package/dist/prod/packages/@ember/-internals/meta/lib/meta.js +455 -0
  161. package/dist/prod/packages/@ember/-internals/metal/index.js +61 -0
  162. package/dist/prod/packages/@ember/-internals/owner/index.js +252 -0
  163. package/dist/prod/packages/@ember/-internals/routing/index.js +14 -0
  164. package/dist/prod/packages/@ember/-internals/runtime/index.js +9 -0
  165. package/dist/prod/packages/@ember/-internals/runtime/lib/ext/rsvp.js +51 -0
  166. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +89 -0
  167. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +187 -0
  168. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/comparable.js +37 -0
  169. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/container_proxy.js +44 -0
  170. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +42 -0
  171. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +142 -0
  172. package/dist/prod/packages/@ember/-internals/string/index.js +93 -0
  173. package/dist/prod/packages/@ember/-internals/utility-types/index.js +12 -0
  174. package/dist/prod/packages/@ember/-internals/utils/index.js +75 -0
  175. package/dist/prod/packages/@ember/-internals/views/index.js +7 -0
  176. package/dist/prod/packages/@ember/-internals/views/lib/compat/attrs.js +3 -0
  177. package/dist/prod/packages/@ember/-internals/views/lib/compat/fallback-view-registry.js +7 -0
  178. package/dist/prod/packages/@ember/-internals/views/lib/component_lookup.js +14 -0
  179. package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +35 -0
  180. package/dist/prod/packages/@ember/-internals/views/lib/system/event_dispatcher.js +227 -0
  181. package/dist/prod/packages/@ember/-internals/views/lib/system/utils.js +172 -0
  182. package/dist/prod/packages/@ember/-internals/views/lib/views/core_view.js +87 -0
  183. package/dist/prod/packages/@ember/-internals/views/lib/views/states.js +83 -0
  184. package/dist/prod/packages/@ember/application/index.js +899 -0
  185. package/dist/prod/packages/@ember/application/instance.js +438 -0
  186. package/dist/prod/packages/@ember/application/namespace.js +68 -0
  187. package/dist/prod/packages/@ember/array/-internals.js +9 -0
  188. package/dist/prod/packages/@ember/array/index.js +591 -0
  189. package/dist/prod/packages/@ember/array/lib/make-array.js +42 -0
  190. package/dist/prod/packages/@ember/array/make.js +1 -0
  191. package/dist/prod/packages/@ember/array/mutable.js +1 -0
  192. package/dist/prod/packages/@ember/array/proxy.js +267 -0
  193. package/dist/prod/packages/@ember/canary-features/index.js +67 -0
  194. package/dist/prod/packages/@ember/component/helper.js +12 -0
  195. package/dist/prod/packages/@ember/component/index.js +32 -0
  196. package/dist/prod/packages/@ember/component/template-only.js +39 -0
  197. package/dist/prod/packages/@ember/controller/index.js +177 -0
  198. package/dist/prod/packages/@ember/debug/container-debug-adapter.js +117 -0
  199. package/dist/prod/packages/@ember/debug/data-adapter.js +553 -0
  200. package/dist/prod/packages/@ember/debug/index.js +30 -0
  201. package/dist/prod/packages/@ember/debug/lib/assert.js +7 -0
  202. package/dist/prod/packages/@ember/debug/lib/capture-render-tree.js +28 -0
  203. package/dist/prod/packages/@ember/debug/lib/deprecate.js +56 -0
  204. package/dist/prod/packages/@ember/debug/lib/handlers.js +5 -0
  205. package/dist/prod/packages/@ember/debug/lib/inspect.js +120 -0
  206. package/dist/prod/packages/@ember/debug/lib/testing.js +9 -0
  207. package/dist/prod/packages/@ember/debug/lib/warn.js +6 -0
  208. package/dist/prod/packages/@ember/deprecated-features/index.js +7 -0
  209. package/dist/prod/packages/@ember/destroyable/index.js +251 -0
  210. package/dist/prod/packages/@ember/engine/index.js +450 -0
  211. package/dist/{packages → prod/packages}/@ember/engine/instance.js +24 -10
  212. package/dist/prod/packages/@ember/engine/lib/engine-parent.js +33 -0
  213. package/dist/prod/packages/@ember/engine/parent.js +1 -0
  214. package/dist/prod/packages/@ember/enumerable/index.js +20 -0
  215. package/dist/prod/packages/@ember/enumerable/mutable.js +22 -0
  216. package/dist/prod/packages/@ember/helper/index.js +489 -0
  217. package/dist/prod/packages/@ember/instrumentation/index.js +242 -0
  218. package/dist/prod/packages/@ember/modifier/index.js +21 -0
  219. package/dist/prod/packages/@ember/modifier/on.js +20 -0
  220. package/dist/prod/packages/@ember/object/-internals.js +28 -0
  221. package/dist/prod/packages/@ember/object/compat.js +128 -0
  222. package/dist/prod/packages/@ember/object/computed.js +10 -0
  223. package/dist/prod/packages/@ember/object/core.js +781 -0
  224. package/dist/prod/packages/@ember/object/evented.js +76 -0
  225. package/dist/prod/packages/@ember/object/events.js +6 -0
  226. package/dist/prod/packages/@ember/object/index.js +205 -0
  227. package/dist/prod/packages/@ember/object/internals.js +8 -0
  228. package/dist/prod/packages/@ember/object/lib/computed/computed_macros.js +776 -0
  229. package/dist/prod/packages/@ember/object/lib/computed/reduce_computed_macros.js +1032 -0
  230. package/dist/prod/packages/@ember/object/mixin.js +560 -0
  231. package/dist/{packages → prod/packages}/@ember/object/observable.js +80 -15
  232. package/dist/prod/packages/@ember/object/observers.js +6 -0
  233. package/dist/prod/packages/@ember/object/promise-proxy-mixin.js +138 -0
  234. package/dist/prod/packages/@ember/object/proxy.js +98 -0
  235. package/dist/prod/packages/@ember/owner/index.js +88 -0
  236. package/dist/prod/packages/@ember/reactive/collections.js +1 -0
  237. package/dist/prod/packages/@ember/reactive/index.js +12 -0
  238. package/dist/prod/packages/@ember/renderer/index.js +12 -0
  239. package/dist/prod/packages/@ember/routing/hash-location.js +153 -0
  240. package/dist/prod/packages/@ember/routing/history-location.js +250 -0
  241. package/dist/prod/packages/@ember/routing/index.js +12 -0
  242. package/dist/prod/packages/@ember/routing/lib/cache.js +37 -0
  243. package/dist/prod/packages/@ember/routing/lib/controller_for.js +16 -0
  244. package/dist/prod/packages/@ember/routing/lib/dsl.js +178 -0
  245. package/dist/prod/packages/@ember/routing/lib/generate_controller.js +62 -0
  246. package/dist/prod/packages/@ember/routing/lib/location-utils.js +48 -0
  247. package/dist/prod/packages/@ember/routing/lib/query_params.js +9 -0
  248. package/dist/prod/packages/@ember/routing/lib/router_state.js +26 -0
  249. package/dist/prod/packages/@ember/routing/lib/routing-service.js +125 -0
  250. package/dist/prod/packages/@ember/routing/lib/utils.js +236 -0
  251. package/dist/prod/packages/@ember/routing/none-location.js +120 -0
  252. package/dist/prod/packages/@ember/routing/route.js +1604 -0
  253. package/dist/prod/packages/@ember/routing/router-service.js +640 -0
  254. package/dist/prod/packages/@ember/routing/router.js +1335 -0
  255. package/dist/prod/packages/@ember/runloop/index.js +736 -0
  256. package/dist/prod/packages/@ember/service/index.js +124 -0
  257. package/dist/prod/packages/@ember/template/index.js +12 -0
  258. package/dist/prod/packages/@ember/template-compilation/index.js +20 -0
  259. package/dist/prod/packages/@ember/template-compiler/-internal-primitives.js +1 -0
  260. package/dist/prod/packages/@ember/template-compiler/-internal-utils.js +1 -0
  261. package/dist/prod/packages/@ember/template-compiler/index.js +2 -0
  262. package/dist/prod/packages/@ember/template-compiler/lib/-internal/primitives.js +1 -0
  263. package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +103 -0
  264. package/dist/prod/packages/@ember/template-compiler/lib/dasherize-component-name.js +21 -0
  265. package/dist/prod/packages/@ember/template-compiler/lib/plugins/allowed-globals.js +56 -0
  266. package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-against-attrs.js +49 -0
  267. package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-against-named-outlets.js +34 -0
  268. package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-input-helper-without-block.js +22 -0
  269. package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-reserved-named-arguments.js +37 -0
  270. package/dist/{packages → prod/packages}/@ember/template-compiler/lib/plugins/index.js +1 -1
  271. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-action-syntax.js +65 -0
  272. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-each-in-into-each.js +51 -0
  273. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-each-track-array.js +50 -0
  274. package/dist/{packages → prod/packages}/@ember/template-compiler/lib/plugins/transform-in-element.js +20 -6
  275. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings.js +37 -0
  276. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-resolutions.js +4 -0
  277. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-wrap-mount-and-outlet.js +57 -0
  278. package/dist/prod/packages/@ember/template-compiler/lib/plugins/utils.js +55 -0
  279. package/dist/prod/packages/@ember/template-compiler/lib/public-api.js +1 -0
  280. package/dist/prod/packages/@ember/template-compiler/lib/runtime.js +1 -0
  281. package/dist/prod/packages/@ember/template-compiler/lib/system/calculate-location-display.js +28 -0
  282. package/dist/prod/packages/@ember/template-compiler/lib/template.js +245 -0
  283. package/dist/prod/packages/@ember/template-factory/index.js +5 -0
  284. package/dist/prod/packages/@ember/test/adapter.js +2 -0
  285. package/dist/prod/packages/@ember/test/index.js +18 -0
  286. package/dist/prod/packages/@ember/utils/index.js +7 -0
  287. package/dist/prod/packages/@ember/utils/lib/compare.js +159 -0
  288. package/dist/prod/packages/@ember/utils/lib/is-equal.js +60 -0
  289. package/dist/prod/packages/@ember/utils/lib/is_blank.js +36 -0
  290. package/dist/prod/packages/@ember/utils/lib/is_empty.js +67 -0
  291. package/dist/prod/packages/@ember/utils/lib/is_none.js +28 -0
  292. package/dist/prod/packages/@ember/utils/lib/is_present.js +39 -0
  293. package/dist/prod/packages/@ember/utils/lib/type-of.js +110 -0
  294. package/dist/prod/packages/@ember/version/index.js +1 -0
  295. package/dist/prod/packages/@glimmer/destroyable/index.js +128 -0
  296. package/dist/prod/packages/@glimmer/encoder/index.js +28 -0
  297. package/dist/prod/packages/@glimmer/env/index.js +4 -0
  298. package/dist/prod/packages/@glimmer/global-context/index.js +138 -0
  299. package/dist/prod/packages/@glimmer/manager/index.js +293 -0
  300. package/dist/{packages/shared-chunks/node-dom-helper-BYL7Plyj.js → prod/packages/@glimmer/node/index.js} +10 -12
  301. package/dist/prod/packages/@glimmer/opcode-compiler/index.js +40 -0
  302. package/dist/prod/packages/@glimmer/owner/index.js +19 -0
  303. package/dist/prod/packages/@glimmer/program/index.js +12 -0
  304. package/dist/{packages/shared-chunks/iterable-BKS7az3P.js → prod/packages/@glimmer/reference/index.js} +13 -12
  305. package/dist/prod/packages/@glimmer/runtime/index.js +9 -0
  306. package/dist/prod/packages/@glimmer/tracking/index.js +115 -0
  307. package/dist/prod/packages/@glimmer/tracking/primitives/cache/index.js +6 -0
  308. package/dist/prod/packages/@glimmer/util/index.js +129 -0
  309. package/dist/prod/packages/@glimmer/validator/index.js +1027 -0
  310. package/dist/prod/packages/@glimmer/vm/index.js +15 -0
  311. package/dist/prod/packages/@glimmer/wire-format/index.js +102 -0
  312. package/dist/prod/packages/@simple-dom/document/index.js +355 -0
  313. package/dist/prod/packages/backburner.js/index.js +939 -0
  314. package/dist/prod/packages/dag-map/index.js +202 -0
  315. package/dist/prod/packages/ember/version.js +4 -0
  316. package/dist/prod/packages/ember-template-compiler/index.js +100 -0
  317. package/dist/prod/packages/ember-testing/index.js +6 -0
  318. package/dist/prod/packages/ember-testing/lib/adapters/adapter.js +49 -0
  319. package/dist/prod/packages/ember-testing/lib/public-api.js +2 -0
  320. package/dist/prod/packages/ember-testing/lib/test/adapter.js +32 -0
  321. package/dist/prod/packages/ember-testing/lib/test/pending_requests.js +10 -0
  322. package/dist/prod/packages/ember-testing/lib/test/waiters.js +128 -0
  323. package/dist/prod/packages/ember-testing/lib/test.js +25 -0
  324. package/dist/prod/packages/route-recognizer/index.js +671 -0
  325. package/dist/prod/packages/router_js/index.js +1527 -0
  326. package/dist/prod/packages/rsvp/index.js +1 -0
  327. package/dist/prod/packages/shared-chunks/alias-BkT-0B1G.js +81 -0
  328. package/dist/prod/packages/shared-chunks/api-Co-k4HVs.js +200 -0
  329. package/dist/prod/packages/shared-chunks/args-proxy-Dl0A0YWI.js +131 -0
  330. package/dist/prod/packages/shared-chunks/array-EwekEvId.js +117 -0
  331. package/dist/prod/packages/shared-chunks/array-utils-CZQxrdD3.js +45 -0
  332. package/dist/prod/packages/shared-chunks/assert-CUCJBR2C.js +19 -0
  333. package/dist/prod/packages/shared-chunks/cache-qDyqAcpg.js +35 -0
  334. package/dist/prod/packages/shared-chunks/capabilities-DGmQ_mz4.js +26 -0
  335. package/dist/prod/packages/shared-chunks/chunk-3SQBS3Y5-Cj4eryg1.js +121 -0
  336. package/dist/prod/packages/shared-chunks/collections-GpG8lT2g.js +75 -0
  337. package/dist/prod/packages/shared-chunks/compiler-Ddfo5StE.js +6806 -0
  338. package/dist/prod/packages/shared-chunks/computed_cache-DmYKevAP.js +12 -0
  339. package/dist/prod/packages/shared-chunks/constants-b-2IVErl.js +210 -0
  340. package/dist/prod/packages/shared-chunks/debug-brand-B1TWjOCH.js +12 -0
  341. package/dist/prod/packages/shared-chunks/decorator-BdDDBUd2.js +123 -0
  342. package/dist/prod/packages/shared-chunks/dictionary-gc5gpyOG.js +13 -0
  343. package/dist/prod/packages/shared-chunks/element-builder-CiLTrXD6.js +776 -0
  344. package/dist/prod/packages/shared-chunks/flags-B9qxc-pB.js +24 -0
  345. package/dist/prod/packages/shared-chunks/fragment-EpVz5Xuc.js +910 -0
  346. package/dist/prod/packages/shared-chunks/get-debug-name-BDxIL2Y1.js +3 -0
  347. package/dist/prod/packages/shared-chunks/has-dom-DdQORPzI.js +4 -0
  348. package/dist/prod/packages/shared-chunks/index-CSVCFS_p.js +1904 -0
  349. package/dist/prod/packages/shared-chunks/index-Cc8WmrB-.js +21 -0
  350. package/dist/prod/packages/shared-chunks/index-DZLHQAlb.js +5842 -0
  351. package/dist/prod/packages/shared-chunks/injected_property-DL3vQoFA.js +58 -0
  352. package/dist/prod/packages/shared-chunks/invoke-DxL00a1D.js +53 -0
  353. package/dist/prod/packages/shared-chunks/is_proxy-Cr1qlMv_.js +16 -0
  354. package/dist/prod/packages/shared-chunks/lookup-descriptor-CwcVgaLv.js +13 -0
  355. package/dist/prod/packages/shared-chunks/name-C68GLLO3.js +11 -0
  356. package/dist/prod/packages/shared-chunks/namespace_search-Aog9nySA.js +1070 -0
  357. package/dist/prod/packages/shared-chunks/object-utils-AijlD-JH.js +12 -0
  358. package/dist/prod/packages/shared-chunks/observers-R1ZklwWy.js +714 -0
  359. package/dist/prod/packages/shared-chunks/on-CrTl7JQU.js +3329 -0
  360. package/dist/prod/packages/shared-chunks/program-B7SJZ5NF.js +176 -0
  361. package/dist/prod/packages/shared-chunks/program-context-C-JdYXRA.js +146 -0
  362. package/dist/prod/packages/shared-chunks/property_set-O080KTKZ.js +99 -0
  363. package/dist/prod/packages/shared-chunks/public-api-C3KlJmEr.js +10 -0
  364. package/dist/prod/packages/shared-chunks/reference-BNqcwZWH.js +151 -0
  365. package/dist/prod/packages/shared-chunks/registers-ylirb0dq.js +35 -0
  366. package/dist/prod/packages/shared-chunks/rehydrate-builder-CSn1aIO1.js +459 -0
  367. package/dist/prod/packages/shared-chunks/render-C1ZnScKH.js +1464 -0
  368. package/dist/prod/packages/shared-chunks/rsvp-CnCSY930.js +2306 -0
  369. package/dist/prod/packages/shared-chunks/serialize-builder-CVQ3q8rJ.js +124 -0
  370. package/dist/prod/packages/shared-chunks/set_properties-CjsDTRey.js +101 -0
  371. package/dist/prod/packages/shared-chunks/setup-registry-CMNYh2jY.js +53 -0
  372. package/dist/prod/packages/shared-chunks/simple-cast-DCvJLSin.js +33 -0
  373. package/dist/prod/packages/shared-chunks/super-Cm_a_cLQ.js +275 -0
  374. package/dist/prod/packages/shared-chunks/template-Dc_cBOoX.js +19 -0
  375. package/dist/prod/packages/shared-chunks/tracked-ChVNBE2f.js +131 -0
  376. package/dist/prod/packages/shared-chunks/transform-resolutions-C7wq_Q_c.js +6939 -0
  377. package/dist/prod/packages/shared-chunks/unrecognized-url-error-DDBwfzdm.js +537 -0
  378. package/docs/data.json +3009 -2358
  379. package/lib/index.js +157 -279
  380. package/package.json +30 -58
  381. package/types/stable/@ember/-internals/deprecations/index.d.ts +0 -6
  382. package/types/stable/@ember/-internals/environment/index.d.ts +0 -1
  383. package/types/stable/@ember/-internals/environment/lib/env.d.ts +0 -3
  384. package/types/stable/@ember/-internals/glimmer/lib/component-managers/curly.d.ts +3 -6
  385. package/types/stable/@ember/-internals/glimmer/lib/component-managers/root.d.ts +1 -2
  386. package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +22 -29
  387. package/types/stable/@ember/-internals/glimmer/lib/renderer.d.ts +2 -2
  388. package/types/stable/@ember/-internals/glimmer/lib/resolver.d.ts +0 -2
  389. package/types/stable/@ember/-internals/glimmer/lib/utils/bindings.d.ts +0 -1
  390. package/types/stable/@ember/-internals/meta/lib/meta.d.ts +1 -1
  391. package/types/stable/@ember/-internals/metal/lib/alias.d.ts +0 -11
  392. package/types/stable/@ember/-internals/metal/lib/decorator.d.ts +0 -1
  393. package/types/stable/@ember/-internals/metal/lib/each_proxy_events.d.ts +0 -1
  394. package/types/stable/@ember/-internals/metal/lib/observer.d.ts +0 -2
  395. package/types/stable/@ember/-internals/metal/lib/property_get.d.ts +4 -10
  396. package/types/stable/@ember/-internals/utils/index.d.ts +0 -1
  397. package/types/stable/@ember/-internals/views/lib/system/utils.d.ts +3 -15
  398. package/types/stable/@ember/application/index.d.ts +2 -63
  399. package/types/stable/@ember/routing/history-location.d.ts +0 -1
  400. package/types/stable/@ember/routing/lib/location-utils.d.ts +1 -2
  401. package/types/stable/@ember/routing/none-location.d.ts +1 -2
  402. package/types/stable/@ember/template-compiler/index.d.ts +1 -0
  403. package/types/stable/@ember/template-compiler/lib/plugins/allowed-globals.d.ts +26 -0
  404. package/types/stable/@ember/test/index.d.ts +0 -3
  405. package/types/stable/@glimmer/interfaces/lib/compile/wire-format/api.d.ts +1 -1
  406. package/types/stable/@glimmer/interfaces/lib/template.d.ts +1 -1
  407. package/types/stable/@glimmer/program/lib/program.d.ts +0 -1
  408. package/types/stable/@glimmer/validator/lib/collections/map.d.ts +1 -1
  409. package/types/stable/@handlebars/parser/types/ast.d.ts +148 -0
  410. package/types/stable/@handlebars/parser/types/index.d.ts +13 -0
  411. package/types/stable/ember-template-compiler/index.d.ts +0 -2
  412. package/types/stable/ember-template-compiler/lib/public-api.d.ts +0 -1
  413. package/types/stable/ember-testing/lib/public-api.d.ts +0 -6
  414. package/types/stable/ember-testing/lib/test/pending_requests.d.ts +0 -3
  415. package/types/stable/ember-testing/lib/test.d.ts +0 -23
  416. package/types/stable/index.d.ts +15 -32
  417. package/types/stable/router_js/index.d.ts +7 -0
  418. package/types/stable/router_js/lib/core.d.ts +9 -0
  419. package/types/stable/router_js/lib/route-info.d.ts +107 -0
  420. package/types/stable/router_js/lib/router.d.ts +245 -0
  421. package/types/stable/router_js/lib/transition-aborted-error.d.ts +15 -0
  422. package/types/stable/router_js/lib/transition-intent/named-transition-intent.d.ts +23 -0
  423. package/types/stable/router_js/lib/transition-intent/url-transition-intent.d.ts +12 -0
  424. package/types/stable/router_js/lib/transition-intent.d.ts +13 -0
  425. package/types/stable/router_js/lib/transition-state.d.ts +25 -0
  426. package/types/stable/router_js/lib/transition.d.ts +241 -0
  427. package/types/stable/router_js/lib/unrecognized-url-error.d.ts +11 -0
  428. package/types/stable/router_js/lib/utils.d.ts +41 -0
  429. package/dist/ember-template-compiler.js +0 -20631
  430. package/dist/ember-template-compiler.js.map +0 -1
  431. package/dist/ember-testing.js +0 -1351
  432. package/dist/ember-testing.js.map +0 -1
  433. package/dist/ember.debug.js +0 -52306
  434. package/dist/ember.debug.js.map +0 -1
  435. package/dist/ember.prod.js +0 -49369
  436. package/dist/ember.prod.js.map +0 -1
  437. package/dist/packages/@ember/-internals/container/index.js +0 -1
  438. package/dist/packages/@ember/-internals/environment/index.js +0 -1
  439. package/dist/packages/@ember/-internals/glimmer/index.js +0 -18
  440. package/dist/packages/@ember/-internals/metal/index.js +0 -51
  441. package/dist/packages/@ember/-internals/utils/index.js +0 -7
  442. package/dist/packages/@ember/application/lib/lazy_load.js +0 -68
  443. package/dist/packages/@ember/component/helper.js +0 -14
  444. package/dist/packages/@ember/modifier/index.js +0 -23
  445. package/dist/packages/@ember/object/-internals.js +0 -35
  446. package/dist/packages/@ember/object/events.js +0 -12
  447. package/dist/packages/@ember/object/observers.js +0 -12
  448. package/dist/packages/@ember/renderer/index.js +0 -14
  449. package/dist/packages/@ember/routing/index.js +0 -14
  450. package/dist/packages/@ember/template/index.js +0 -14
  451. package/dist/packages/@ember/template-factory/index.js +0 -8
  452. package/dist/packages/@ember/test/index.js +0 -27
  453. package/dist/packages/@glimmer/encoder/index.js +0 -1
  454. package/dist/packages/@glimmer/manager/index.js +0 -5
  455. package/dist/packages/@glimmer/node/index.js +0 -2
  456. package/dist/packages/@glimmer/program/index.js +0 -3
  457. package/dist/packages/@glimmer/reference/index.js +0 -2
  458. package/dist/packages/@glimmer/tracking/index.js +0 -48
  459. package/dist/packages/@glimmer/tracking/primitives/cache/index.js +0 -12
  460. package/dist/packages/ember/barrel.js +0 -511
  461. package/dist/packages/ember/index.js +0 -20
  462. package/dist/packages/ember-template-compiler/index.js +0 -17135
  463. package/dist/packages/ember-testing/lib/adapters/qunit.js +0 -53
  464. package/dist/packages/ember-testing/lib/ext/application.js +0 -174
  465. package/dist/packages/ember-testing/lib/ext/rsvp.js +0 -17
  466. package/dist/packages/ember-testing/lib/helpers/and_then.js +0 -11
  467. package/dist/packages/ember-testing/lib/helpers/current_path.js +0 -32
  468. package/dist/packages/ember-testing/lib/helpers/current_route_name.js +0 -32
  469. package/dist/packages/ember-testing/lib/helpers/current_url.js +0 -29
  470. package/dist/packages/ember-testing/lib/helpers/pause_test.js +0 -76
  471. package/dist/packages/ember-testing/lib/helpers/visit.js +0 -51
  472. package/dist/packages/ember-testing/lib/helpers/wait.js +0 -55
  473. package/dist/packages/ember-testing/lib/helpers.js +0 -17
  474. package/dist/packages/ember-testing/lib/initializers.js +0 -56
  475. package/dist/packages/ember-testing/lib/public-api.js +0 -8
  476. package/dist/packages/ember-testing/lib/setup_for_testing.js +0 -31
  477. package/dist/packages/ember-testing/lib/test/helpers.js +0 -133
  478. package/dist/packages/ember-testing/lib/test/on_inject_helpers.js +0 -39
  479. package/dist/packages/ember-testing/lib/test/pending_requests.js +0 -22
  480. package/dist/packages/ember-testing/lib/test/promise.js +0 -83
  481. package/dist/packages/ember-testing/lib/test/run.js +0 -11
  482. package/dist/packages/ember-testing/lib/test.js +0 -68
  483. package/dist/packages/router_js/index.js +0 -2
  484. package/dist/packages/shared-chunks/helpers-C1rIkuSd.js +0 -11
  485. package/dist/packages/shared-chunks/invoke-BjRgvK2V.js +0 -27
  486. package/dist/packages/shared-chunks/public-api-BQsJemZG.js +0 -20
  487. package/dist/packages/shared-chunks/template_registry-DigcUg9m.js +0 -24
  488. package/dist/packages/shared-chunks/to-string-CqD7_vQ4.js +0 -60
  489. package/types/stable/@ember/-internals/environment/lib/global.d.ts +0 -4
  490. package/types/stable/@ember/-internals/glimmer/lib/modifiers/internal.d.ts +0 -34
  491. package/types/stable/@ember/-internals/glimmer/lib/syntax/utils.d.ts +0 -5
  492. package/types/stable/@ember/-internals/glimmer/lib/templates/empty.d.ts +0 -4
  493. package/types/stable/@ember/-internals/glimmer/lib/utils/debug-render-message.d.ts +0 -4
  494. package/types/stable/@ember/-internals/metal/lib/dependent_keys.d.ts +0 -3
  495. package/types/stable/@ember/-internals/utils/lib/symbol.d.ts +0 -5
  496. package/types/stable/@ember/application/lib/lazy_load.d.ts +0 -38
  497. package/types/stable/@ember/template-compiler/lib/public-types.d.ts +0 -3
  498. package/types/stable/ember/barrel.d.ts +0 -358
  499. package/types/stable/ember/index.d.ts +0 -358
  500. package/types/stable/ember-template-compiler/lib/system/bootstrap.d.ts +0 -26
  501. package/types/stable/ember-template-compiler/lib/system/initializer.d.ts +0 -3
  502. package/types/stable/ember-testing/lib/adapters/qunit.d.ts +0 -22
  503. package/types/stable/ember-testing/lib/ext/application.d.ts +0 -12
  504. package/types/stable/ember-testing/lib/ext/rsvp.d.ts +0 -4
  505. package/types/stable/ember-testing/lib/helpers/and_then.d.ts +0 -4
  506. package/types/stable/ember-testing/lib/helpers/current_path.d.ts +0 -22
  507. package/types/stable/ember-testing/lib/helpers/current_route_name.d.ts +0 -21
  508. package/types/stable/ember-testing/lib/helpers/current_url.d.ts +0 -22
  509. package/types/stable/ember-testing/lib/helpers/pause_test.d.ts +0 -52
  510. package/types/stable/ember-testing/lib/helpers/visit.d.ts +0 -22
  511. package/types/stable/ember-testing/lib/helpers/wait.d.ts +0 -34
  512. package/types/stable/ember-testing/lib/helpers.d.ts +0 -3
  513. package/types/stable/ember-testing/lib/initializers.d.ts +0 -3
  514. package/types/stable/ember-testing/lib/setup_for_testing.d.ts +0 -15
  515. package/types/stable/ember-testing/lib/test/helpers.d.ts +0 -116
  516. package/types/stable/ember-testing/lib/test/on_inject_helpers.d.ts +0 -33
  517. package/types/stable/ember-testing/lib/test/promise.d.ts +0 -37
  518. package/types/stable/ember-testing/lib/test/run.d.ts +0 -3
  519. package/types/stable/loader/lib/index.d.ts +0 -4
  520. package/types/stable/require.d.ts +0 -4
  521. /package/dist/{packages → dev/packages}/@ember/-internals/browser-environment/index.js +0 -0
  522. /package/dist/{packages → dev/packages}/@ember/-internals/error-handling/index.js +0 -0
  523. /package/dist/{packages → dev/packages}/@ember/-internals/meta/index.js +0 -0
  524. /package/dist/{packages → dev/packages}/@ember/-internals/owner/index.js +0 -0
  525. /package/dist/{packages → dev/packages}/@ember/-internals/runtime/index.js +0 -0
  526. /package/dist/{packages → dev/packages}/@ember/-internals/runtime/lib/mixins/comparable.js +0 -0
  527. /package/dist/{packages → dev/packages}/@ember/-internals/runtime/lib/mixins/container_proxy.js +0 -0
  528. /package/dist/{packages → dev/packages}/@ember/-internals/utility-types/index.js +0 -0
  529. /package/dist/{packages → dev/packages}/@ember/-internals/views/index.js +0 -0
  530. /package/dist/{packages → dev/packages}/@ember/-internals/views/lib/compat/attrs.js +0 -0
  531. /package/dist/{packages → dev/packages}/@ember/-internals/views/lib/component_lookup.js +0 -0
  532. /package/dist/{packages → dev/packages}/@ember/array/-internals.js +0 -0
  533. /package/dist/{packages → dev/packages}/@ember/array/lib/make-array.js +0 -0
  534. /package/dist/{packages → dev/packages}/@ember/array/make.js +0 -0
  535. /package/dist/{packages → dev/packages}/@ember/array/mutable.js +0 -0
  536. /package/dist/{packages → dev/packages}/@ember/debug/lib/capture-render-tree.js +0 -0
  537. /package/dist/{packages → dev/packages}/@ember/debug/lib/inspect.js +0 -0
  538. /package/dist/{packages → dev/packages}/@ember/debug/lib/testing.js +0 -0
  539. /package/dist/{packages → dev/packages}/@ember/deprecated-features/index.js +0 -0
  540. /package/dist/{packages → dev/packages}/@ember/destroyable/index.js +0 -0
  541. /package/dist/{packages → dev/packages}/@ember/engine/lib/engine-parent.js +0 -0
  542. /package/dist/{packages → dev/packages}/@ember/engine/parent.js +0 -0
  543. /package/dist/{packages → dev/packages}/@ember/enumerable/index.js +0 -0
  544. /package/dist/{packages → dev/packages}/@ember/enumerable/mutable.js +0 -0
  545. /package/dist/{packages → dev/packages}/@ember/object/proxy.js +0 -0
  546. /package/dist/{packages → dev/packages}/@ember/owner/index.js +0 -0
  547. /package/dist/{packages → dev/packages}/@ember/reactive/collections.js +0 -0
  548. /package/dist/{packages → dev/packages}/@ember/reactive/index.js +0 -0
  549. /package/dist/{packages → dev/packages}/@ember/routing/lib/cache.js +0 -0
  550. /package/dist/{packages → dev/packages}/@ember/routing/lib/controller_for.js +0 -0
  551. /package/dist/{packages → dev/packages}/@ember/routing/lib/query_params.js +0 -0
  552. /package/dist/{packages → dev/packages}/@ember/routing/lib/router_state.js +0 -0
  553. /package/dist/{packages → dev/packages}/@ember/template-compiler/-internal-primitives.js +0 -0
  554. /package/dist/{packages → dev/packages}/@ember/template-compiler/-internal-utils.js +0 -0
  555. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/-internal/primitives.js +0 -0
  556. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/transform-action-syntax.js +0 -0
  557. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/transform-each-in-into-each.js +0 -0
  558. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings.js +0 -0
  559. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/transform-wrap-mount-and-outlet.js +0 -0
  560. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/plugins/utils.js +0 -0
  561. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/public-api.js +0 -0
  562. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/runtime.js +0 -0
  563. /package/dist/{packages → dev/packages}/@ember/template-compiler/lib/system/calculate-location-display.js +0 -0
  564. /package/dist/{packages → dev/packages}/@ember/template-compiler/runtime.js +0 -0
  565. /package/dist/{packages → dev/packages}/@ember/test/adapter.js +0 -0
  566. /package/dist/{packages → dev/packages}/@ember/utils/index.js +0 -0
  567. /package/dist/{packages → dev/packages}/@ember/utils/lib/is-equal.js +0 -0
  568. /package/dist/{packages → dev/packages}/@ember/utils/lib/is_blank.js +0 -0
  569. /package/dist/{packages → dev/packages}/@ember/utils/lib/is_none.js +0 -0
  570. /package/dist/{packages → dev/packages}/@ember/utils/lib/is_present.js +0 -0
  571. /package/dist/{packages → dev/packages}/@ember/utils/lib/type-of.js +0 -0
  572. /package/dist/{packages → dev/packages}/@ember/version/index.js +0 -0
  573. /package/dist/{packages → dev/packages}/@glimmer/env/index.js +0 -0
  574. /package/dist/{packages → dev/packages}/@glimmer/owner/index.js +0 -0
  575. /package/dist/{packages → dev/packages}/@glimmer/wire-format/index.js +0 -0
  576. /package/dist/{packages → dev/packages}/@simple-dom/document/index.js +0 -0
  577. /package/dist/{packages → dev/packages}/backburner.js/index.js +0 -0
  578. /package/dist/{packages → dev/packages}/dag-map/index.js +0 -0
  579. /package/dist/{packages → dev/packages}/ember-testing/lib/adapters/adapter.js +0 -0
  580. /package/dist/{packages → dev/packages}/ember-testing/lib/test/adapter.js +0 -0
  581. /package/dist/{packages → dev/packages}/ember-testing/lib/test/waiters.js +0 -0
  582. /package/dist/{packages → dev/packages}/route-recognizer/index.js +0 -0
  583. /package/dist/{packages → dev/packages}/rsvp/index.js +0 -0
  584. /package/dist/{packages → dev/packages}/shared-chunks/array-utils-CZQxrdD3.js +0 -0
  585. /package/dist/{packages → dev/packages}/shared-chunks/assert-CUCJBR2C.js +0 -0
  586. /package/dist/{packages → dev/packages}/shared-chunks/cache-qDyqAcpg.js +0 -0
  587. /package/dist/{packages → dev/packages}/shared-chunks/chunk-3SQBS3Y5-Cj4eryg1.js +0 -0
  588. /package/dist/{packages → dev/packages}/shared-chunks/computed_cache-DmYKevAP.js +0 -0
  589. /package/dist/{packages → dev/packages}/shared-chunks/debug-brand-B1TWjOCH.js +0 -0
  590. /package/dist/{packages → dev/packages}/shared-chunks/dictionary-gc5gpyOG.js +0 -0
  591. /package/dist/{packages → dev/packages}/shared-chunks/index-BGP1rw3B.js +0 -0
  592. /package/dist/{packages → dev/packages}/shared-chunks/object-utils-AijlD-JH.js +0 -0
  593. /package/dist/{packages → dev/packages}/shared-chunks/present-B1rrjAVM.js +0 -0
  594. /package/dist/{packages → dev/packages}/shared-chunks/registers-ylirb0dq.js +0 -0
  595. /package/dist/{packages → dev/packages}/shared-chunks/rsvp-CnCSY930.js +0 -0
  596. /package/dist/{packages → prod/packages}/@ember/routing/-internals.js +0 -0
  597. /package/dist/{packages/@ember/template-compiler/index.js → prod/packages/@ember/template-compiler/runtime.js} +0 -0
@@ -0,0 +1,939 @@
1
+ const SET_TIMEOUT = setTimeout;
2
+ const NOOP = () => {};
3
+ function buildNext(flush) {
4
+ // Using "promises first" here to:
5
+ //
6
+ // 1) Ensure more consistent experience on browsers that
7
+ // have differently queued microtasks (separate queues for
8
+ // MutationObserver vs Promises).
9
+ // 2) Ensure better debugging experiences (it shows up in Chrome
10
+ // call stack as "Promise.then (async)") which is more consistent
11
+ // with user expectations
12
+ //
13
+ // When Promise is unavailable use MutationObserver (mostly so that we
14
+ // still get microtasks on IE11), and when neither MutationObserver and
15
+ // Promise are present use a plain old setTimeout.
16
+ if (typeof Promise === 'function') {
17
+ const autorunPromise = Promise.resolve();
18
+ return () => autorunPromise.then(flush);
19
+ } else if (typeof MutationObserver === 'function') {
20
+ let iterations = 0;
21
+ let observer = new MutationObserver(flush);
22
+ let node = document.createTextNode('');
23
+ observer.observe(node, {
24
+ characterData: true
25
+ });
26
+ return () => {
27
+ iterations = ++iterations % 2;
28
+ node.data = '' + iterations;
29
+ return iterations;
30
+ };
31
+ } else {
32
+ return () => SET_TIMEOUT(flush, 0);
33
+ }
34
+ }
35
+ function buildPlatform(flush) {
36
+ let clearNext = NOOP;
37
+ return {
38
+ setTimeout(fn, ms) {
39
+ return setTimeout(fn, ms);
40
+ },
41
+ clearTimeout(timerId) {
42
+ return clearTimeout(timerId);
43
+ },
44
+ now() {
45
+ return Date.now();
46
+ },
47
+ next: buildNext(flush),
48
+ clearNext
49
+ };
50
+ }
51
+ const NUMBER = /\d+/;
52
+ const TIMERS_OFFSET = 6;
53
+ function isCoercableNumber(suspect) {
54
+ let type = typeof suspect;
55
+ return type === 'number' && suspect === suspect || type === 'string' && NUMBER.test(suspect);
56
+ }
57
+ function getOnError(options) {
58
+ return options.onError || options.onErrorTarget && options.onErrorTarget[options.onErrorMethod];
59
+ }
60
+ function findItem(target, method, collection) {
61
+ let index = -1;
62
+ for (let i = 0, l = collection.length; i < l; i += 4) {
63
+ if (collection[i] === target && collection[i + 1] === method) {
64
+ index = i;
65
+ break;
66
+ }
67
+ }
68
+ return index;
69
+ }
70
+ function findTimerItem(target, method, collection) {
71
+ let index = -1;
72
+ for (let i = 2, l = collection.length; i < l; i += 6) {
73
+ if (collection[i] === target && collection[i + 1] === method) {
74
+ index = i - 2;
75
+ break;
76
+ }
77
+ }
78
+ return index;
79
+ }
80
+ function getQueueItems(items, queueItemLength, queueItemPositionOffset = 0) {
81
+ let queueItems = [];
82
+ for (let i = 0; i < items.length; i += queueItemLength) {
83
+ let maybeError = items[i + 3 /* stack */ + queueItemPositionOffset];
84
+ let queueItem = {
85
+ target: items[i + 0 /* target */ + queueItemPositionOffset],
86
+ method: items[i + 1 /* method */ + queueItemPositionOffset],
87
+ args: items[i + 2 /* args */ + queueItemPositionOffset],
88
+ stack: maybeError !== undefined && 'stack' in maybeError ? maybeError.stack : ''
89
+ };
90
+ queueItems.push(queueItem);
91
+ }
92
+ return queueItems;
93
+ }
94
+ function binarySearch(time, timers) {
95
+ let start = 0;
96
+ let end = timers.length - TIMERS_OFFSET;
97
+ let middle;
98
+ let l;
99
+ while (start < end) {
100
+ // since timers is an array of pairs 'l' will always
101
+ // be an integer
102
+ l = (end - start) / TIMERS_OFFSET;
103
+ // compensate for the index in case even number
104
+ // of pairs inside timers
105
+ middle = start + l - l % TIMERS_OFFSET;
106
+ if (time >= timers[middle]) {
107
+ start = middle + TIMERS_OFFSET;
108
+ } else {
109
+ end = middle;
110
+ }
111
+ }
112
+ return time >= timers[start] ? start + TIMERS_OFFSET : start;
113
+ }
114
+ const QUEUE_ITEM_LENGTH = 4;
115
+ class Queue {
116
+ constructor(name, options = {}, globalOptions = {}) {
117
+ this._queueBeingFlushed = [];
118
+ this.targetQueues = new Map();
119
+ this.index = 0;
120
+ this._queue = [];
121
+ this.name = name;
122
+ this.options = options;
123
+ this.globalOptions = globalOptions;
124
+ }
125
+ stackFor(index) {
126
+ if (index < this._queue.length) {
127
+ let entry = this._queue[index * 3 + QUEUE_ITEM_LENGTH];
128
+ if (entry) {
129
+ return entry.stack;
130
+ } else {
131
+ return null;
132
+ }
133
+ }
134
+ }
135
+ flush(sync) {
136
+ let {
137
+ before,
138
+ after
139
+ } = this.options;
140
+ let target;
141
+ let method;
142
+ let args;
143
+ let errorRecordedForStack;
144
+ this.targetQueues.clear();
145
+ if (this._queueBeingFlushed.length === 0) {
146
+ this._queueBeingFlushed = this._queue;
147
+ this._queue = [];
148
+ }
149
+ if (before !== undefined) {
150
+ before();
151
+ }
152
+ let invoke;
153
+ let queueItems = this._queueBeingFlushed;
154
+ if (queueItems.length > 0) {
155
+ let onError = getOnError(this.globalOptions);
156
+ invoke = onError ? this.invokeWithOnError : this.invoke;
157
+ for (let i = this.index; i < queueItems.length; i += QUEUE_ITEM_LENGTH) {
158
+ this.index += QUEUE_ITEM_LENGTH;
159
+ method = queueItems[i + 1];
160
+ // method could have been nullified / canceled during flush
161
+ if (method !== null) {
162
+ //
163
+ // ** Attention intrepid developer **
164
+ //
165
+ // To find out the stack of this task when it was scheduled onto
166
+ // the run loop, add the following to your app.js:
167
+ //
168
+ // Ember.run.backburner.DEBUG = true; // NOTE: This slows your app, don't leave it on in production.
169
+ //
170
+ // Once that is in place, when you are at a breakpoint and navigate
171
+ // here in the stack explorer, you can look at `errorRecordedForStack.stack`,
172
+ // which will be the captured stack when this job was scheduled.
173
+ //
174
+ // One possible long-term solution is the following Chrome issue:
175
+ // https://bugs.chromium.org/p/chromium/issues/detail?id=332624
176
+ //
177
+ target = queueItems[i];
178
+ args = queueItems[i + 2];
179
+ errorRecordedForStack = queueItems[i + 3]; // Debugging assistance
180
+ invoke(target, method, args, onError, errorRecordedForStack);
181
+ }
182
+ if (this.index !== this._queueBeingFlushed.length && this.globalOptions.mustYield && this.globalOptions.mustYield()) {
183
+ return 1 /* Pause */;
184
+ }
185
+ }
186
+ }
187
+ if (after !== undefined) {
188
+ after();
189
+ }
190
+ this._queueBeingFlushed.length = 0;
191
+ this.index = 0;
192
+ if (sync !== false && this._queue.length > 0) {
193
+ // check if new items have been added
194
+ this.flush(true);
195
+ }
196
+ }
197
+ hasWork() {
198
+ return this._queueBeingFlushed.length > 0 || this._queue.length > 0;
199
+ }
200
+ cancel({
201
+ target,
202
+ method
203
+ }) {
204
+ let queue = this._queue;
205
+ let targetQueueMap = this.targetQueues.get(target);
206
+ if (targetQueueMap !== undefined) {
207
+ targetQueueMap.delete(method);
208
+ }
209
+ let index = findItem(target, method, queue);
210
+ if (index > -1) {
211
+ queue[index + 1] = null;
212
+ return true;
213
+ }
214
+ // if not found in current queue
215
+ // could be in the queue that is being flushed
216
+ queue = this._queueBeingFlushed;
217
+ index = findItem(target, method, queue);
218
+ if (index > -1) {
219
+ queue[index + 1] = null;
220
+ return true;
221
+ }
222
+ return false;
223
+ }
224
+ push(target, method, args, stack) {
225
+ this._queue.push(target, method, args, stack);
226
+ return {
227
+ queue: this,
228
+ target,
229
+ method
230
+ };
231
+ }
232
+ pushUnique(target, method, args, stack) {
233
+ let localQueueMap = this.targetQueues.get(target);
234
+ if (localQueueMap === undefined) {
235
+ localQueueMap = new Map();
236
+ this.targetQueues.set(target, localQueueMap);
237
+ }
238
+ let index = localQueueMap.get(method);
239
+ if (index === undefined) {
240
+ let queueIndex = this._queue.push(target, method, args, stack) - QUEUE_ITEM_LENGTH;
241
+ localQueueMap.set(method, queueIndex);
242
+ } else {
243
+ let queue = this._queue;
244
+ queue[index + 2] = args; // replace args
245
+ queue[index + 3] = stack; // replace stack
246
+ }
247
+ return {
248
+ queue: this,
249
+ target,
250
+ method
251
+ };
252
+ }
253
+ _getDebugInfo(debugEnabled) {
254
+ if (debugEnabled) {
255
+ let debugInfo = getQueueItems(this._queue, QUEUE_ITEM_LENGTH);
256
+ return debugInfo;
257
+ }
258
+ return undefined;
259
+ }
260
+ invoke(target, method, args /*, onError, errorRecordedForStack */) {
261
+ if (args === undefined) {
262
+ method.call(target);
263
+ } else {
264
+ method.apply(target, args);
265
+ }
266
+ }
267
+ invokeWithOnError(target, method, args, onError, errorRecordedForStack) {
268
+ try {
269
+ if (args === undefined) {
270
+ method.call(target);
271
+ } else {
272
+ method.apply(target, args);
273
+ }
274
+ } catch (error) {
275
+ onError(error, errorRecordedForStack);
276
+ }
277
+ }
278
+ }
279
+ class DeferredActionQueues {
280
+ constructor(queueNames = [], options) {
281
+ this.queues = {};
282
+ this.queueNameIndex = 0;
283
+ this.queueNames = queueNames;
284
+ queueNames.reduce(function (queues, queueName) {
285
+ queues[queueName] = new Queue(queueName, options[queueName], options);
286
+ return queues;
287
+ }, this.queues);
288
+ }
289
+ /**
290
+ * @method schedule
291
+ * @param {String} queueName
292
+ * @param {Any} target
293
+ * @param {Any} method
294
+ * @param {Any} args
295
+ * @param {Boolean} onceFlag
296
+ * @param {Any} stack
297
+ * @return queue
298
+ */
299
+ schedule(queueName, target, method, args, onceFlag, stack) {
300
+ let queues = this.queues;
301
+ let queue = queues[queueName];
302
+ if (queue === undefined) {
303
+ throw new Error(`You attempted to schedule an action in a queue (${queueName}) that doesn\'t exist`);
304
+ }
305
+ if (method === undefined || method === null) {
306
+ throw new Error(`You attempted to schedule an action in a queue (${queueName}) for a method that doesn\'t exist`);
307
+ }
308
+ this.queueNameIndex = 0;
309
+ if (onceFlag) {
310
+ return queue.pushUnique(target, method, args, stack);
311
+ } else {
312
+ return queue.push(target, method, args, stack);
313
+ }
314
+ }
315
+ /**
316
+ * DeferredActionQueues.flush() calls Queue.flush()
317
+ *
318
+ * @method flush
319
+ * @param {Boolean} fromAutorun
320
+ */
321
+ flush(fromAutorun = false) {
322
+ let queue;
323
+ let queueName;
324
+ let numberOfQueues = this.queueNames.length;
325
+ while (this.queueNameIndex < numberOfQueues) {
326
+ queueName = this.queueNames[this.queueNameIndex];
327
+ queue = this.queues[queueName];
328
+ if (queue.hasWork() === false) {
329
+ this.queueNameIndex++;
330
+ if (fromAutorun && this.queueNameIndex < numberOfQueues) {
331
+ return 1 /* Pause */;
332
+ }
333
+ } else {
334
+ if (queue.flush(false /* async */) === 1 /* Pause */) {
335
+ return 1 /* Pause */;
336
+ }
337
+ }
338
+ }
339
+ }
340
+ /**
341
+ * Returns debug information for the current queues.
342
+ *
343
+ * @method _getDebugInfo
344
+ * @param {Boolean} debugEnabled
345
+ * @returns {IDebugInfo | undefined}
346
+ */
347
+ _getDebugInfo(debugEnabled) {
348
+ if (debugEnabled) {
349
+ let debugInfo = {};
350
+ let queue;
351
+ let queueName;
352
+ let numberOfQueues = this.queueNames.length;
353
+ let i = 0;
354
+ while (i < numberOfQueues) {
355
+ queueName = this.queueNames[i];
356
+ queue = this.queues[queueName];
357
+ debugInfo[queueName] = queue._getDebugInfo(debugEnabled);
358
+ i++;
359
+ }
360
+ return debugInfo;
361
+ }
362
+ return;
363
+ }
364
+ }
365
+ function iteratorDrain(fn) {
366
+ let iterator = fn();
367
+ let result = iterator.next();
368
+ while (result.done === false) {
369
+ result.value();
370
+ result = iterator.next();
371
+ }
372
+ }
373
+ const noop = function () {};
374
+ const DISABLE_SCHEDULE = Object.freeze([]);
375
+ function parseArgs() {
376
+ let length = arguments.length;
377
+ let args;
378
+ let method;
379
+ let target;
380
+ if (length === 0) ;else if (length === 1) {
381
+ target = null;
382
+ method = arguments[0];
383
+ } else {
384
+ let argsIndex = 2;
385
+ let methodOrTarget = arguments[0];
386
+ let methodOrArgs = arguments[1];
387
+ let type = typeof methodOrArgs;
388
+ if (type === 'function') {
389
+ target = methodOrTarget;
390
+ method = methodOrArgs;
391
+ } else if (methodOrTarget !== null && type === 'string' && methodOrArgs in methodOrTarget) {
392
+ target = methodOrTarget;
393
+ method = target[methodOrArgs];
394
+ } else if (typeof methodOrTarget === 'function') {
395
+ argsIndex = 1;
396
+ target = null;
397
+ method = methodOrTarget;
398
+ }
399
+ if (length > argsIndex) {
400
+ let len = length - argsIndex;
401
+ args = new Array(len);
402
+ for (let i = 0; i < len; i++) {
403
+ args[i] = arguments[i + argsIndex];
404
+ }
405
+ }
406
+ }
407
+ return [target, method, args];
408
+ }
409
+ function parseTimerArgs() {
410
+ let [target, method, args] = parseArgs(...arguments);
411
+ let wait = 0;
412
+ let length = args !== undefined ? args.length : 0;
413
+ if (length > 0) {
414
+ let last = args[length - 1];
415
+ if (isCoercableNumber(last)) {
416
+ wait = parseInt(args.pop(), 10);
417
+ }
418
+ }
419
+ return [target, method, args, wait];
420
+ }
421
+ function parseDebounceArgs() {
422
+ let target;
423
+ let method;
424
+ let isImmediate;
425
+ let args;
426
+ let wait;
427
+ if (arguments.length === 2) {
428
+ method = arguments[0];
429
+ wait = arguments[1];
430
+ target = null;
431
+ } else {
432
+ [target, method, args] = parseArgs(...arguments);
433
+ if (args === undefined) {
434
+ wait = 0;
435
+ } else {
436
+ wait = args.pop();
437
+ if (!isCoercableNumber(wait)) {
438
+ isImmediate = wait === true;
439
+ wait = args.pop();
440
+ }
441
+ }
442
+ }
443
+ wait = parseInt(wait, 10);
444
+ return [target, method, args, wait, isImmediate];
445
+ }
446
+ let UUID = 0;
447
+ let beginCount = 0;
448
+ let endCount = 0;
449
+ let beginEventCount = 0;
450
+ let endEventCount = 0;
451
+ let runCount = 0;
452
+ let joinCount = 0;
453
+ let deferCount = 0;
454
+ let scheduleCount = 0;
455
+ let scheduleIterableCount = 0;
456
+ let deferOnceCount = 0;
457
+ let scheduleOnceCount = 0;
458
+ let setTimeoutCount = 0;
459
+ let laterCount = 0;
460
+ let throttleCount = 0;
461
+ let debounceCount = 0;
462
+ let cancelTimersCount = 0;
463
+ let cancelCount = 0;
464
+ let autorunsCreatedCount = 0;
465
+ let autorunsCompletedCount = 0;
466
+ let deferredActionQueuesCreatedCount = 0;
467
+ let nestedDeferredActionQueuesCreated = 0;
468
+ class Backburner {
469
+ constructor(queueNames, options) {
470
+ this.DEBUG = false;
471
+ this.currentInstance = null;
472
+ this.instanceStack = [];
473
+ this._eventCallbacks = {
474
+ end: [],
475
+ begin: []
476
+ };
477
+ this._timerTimeoutId = null;
478
+ this._timers = [];
479
+ this._autorun = false;
480
+ this._autorunStack = null;
481
+ this.queueNames = queueNames;
482
+ this.options = options || {};
483
+ if (typeof this.options.defaultQueue === 'string') {
484
+ this._defaultQueue = this.options.defaultQueue;
485
+ } else {
486
+ this._defaultQueue = this.queueNames[0];
487
+ }
488
+ this._onBegin = this.options.onBegin || noop;
489
+ this._onEnd = this.options.onEnd || noop;
490
+ this._boundRunExpiredTimers = this._runExpiredTimers.bind(this);
491
+ this._boundAutorunEnd = () => {
492
+ autorunsCompletedCount++;
493
+ // if the autorun was already flushed, do nothing
494
+ if (this._autorun === false) {
495
+ return;
496
+ }
497
+ this._autorun = false;
498
+ this._autorunStack = null;
499
+ this._end(true /* fromAutorun */);
500
+ };
501
+ let builder = this.options._buildPlatform || buildPlatform;
502
+ this._platform = builder(this._boundAutorunEnd);
503
+ }
504
+ get counters() {
505
+ return {
506
+ begin: beginCount,
507
+ end: endCount,
508
+ events: {
509
+ begin: beginEventCount,
510
+ end: endEventCount
511
+ },
512
+ autoruns: {
513
+ created: autorunsCreatedCount,
514
+ completed: autorunsCompletedCount
515
+ },
516
+ run: runCount,
517
+ join: joinCount,
518
+ defer: deferCount,
519
+ schedule: scheduleCount,
520
+ scheduleIterable: scheduleIterableCount,
521
+ deferOnce: deferOnceCount,
522
+ scheduleOnce: scheduleOnceCount,
523
+ setTimeout: setTimeoutCount,
524
+ later: laterCount,
525
+ throttle: throttleCount,
526
+ debounce: debounceCount,
527
+ cancelTimers: cancelTimersCount,
528
+ cancel: cancelCount,
529
+ loops: {
530
+ total: deferredActionQueuesCreatedCount,
531
+ nested: nestedDeferredActionQueuesCreated
532
+ }
533
+ };
534
+ }
535
+ get defaultQueue() {
536
+ return this._defaultQueue;
537
+ }
538
+ /*
539
+ @method begin
540
+ @return instantiated class DeferredActionQueues
541
+ */
542
+ begin() {
543
+ beginCount++;
544
+ let options = this.options;
545
+ let previousInstance = this.currentInstance;
546
+ let current;
547
+ if (this._autorun !== false) {
548
+ current = previousInstance;
549
+ this._cancelAutorun();
550
+ } else {
551
+ if (previousInstance !== null) {
552
+ nestedDeferredActionQueuesCreated++;
553
+ this.instanceStack.push(previousInstance);
554
+ }
555
+ deferredActionQueuesCreatedCount++;
556
+ current = this.currentInstance = new DeferredActionQueues(this.queueNames, options);
557
+ beginEventCount++;
558
+ this._trigger('begin', current, previousInstance);
559
+ }
560
+ this._onBegin(current, previousInstance);
561
+ return current;
562
+ }
563
+ end() {
564
+ endCount++;
565
+ this._end(false);
566
+ }
567
+ on(eventName, callback) {
568
+ if (typeof callback !== 'function') {
569
+ throw new TypeError(`Callback must be a function`);
570
+ }
571
+ let callbacks = this._eventCallbacks[eventName];
572
+ if (callbacks !== undefined) {
573
+ callbacks.push(callback);
574
+ } else {
575
+ throw new TypeError(`Cannot on() event ${eventName} because it does not exist`);
576
+ }
577
+ }
578
+ off(eventName, callback) {
579
+ let callbacks = this._eventCallbacks[eventName];
580
+ if (!eventName || callbacks === undefined) {
581
+ throw new TypeError(`Cannot off() event ${eventName} because it does not exist`);
582
+ }
583
+ let callbackFound = false;
584
+ if (callback) {
585
+ for (let i = 0; i < callbacks.length; i++) {
586
+ if (callbacks[i] === callback) {
587
+ callbackFound = true;
588
+ callbacks.splice(i, 1);
589
+ i--;
590
+ }
591
+ }
592
+ }
593
+ if (!callbackFound) {
594
+ throw new TypeError(`Cannot off() callback that does not exist`);
595
+ }
596
+ }
597
+ run() {
598
+ runCount++;
599
+ let [target, method, args] = parseArgs(...arguments);
600
+ return this._run(target, method, args);
601
+ }
602
+ join() {
603
+ joinCount++;
604
+ let [target, method, args] = parseArgs(...arguments);
605
+ return this._join(target, method, args);
606
+ }
607
+ /**
608
+ * @deprecated please use schedule instead.
609
+ */
610
+ defer(queueName, target, method, ...args) {
611
+ deferCount++;
612
+ return this.schedule(queueName, target, method, ...args);
613
+ }
614
+ schedule(queueName, ..._args) {
615
+ scheduleCount++;
616
+ let [target, method, args] = parseArgs(..._args);
617
+ let stack = this.DEBUG ? new Error() : undefined;
618
+ return this._ensureInstance().schedule(queueName, target, method, args, false, stack);
619
+ }
620
+ /*
621
+ Defer the passed iterable of functions to run inside the specified queue.
622
+ @method scheduleIterable
623
+ @param {String} queueName
624
+ @param {Iterable} an iterable of functions to execute
625
+ @return method result
626
+ */
627
+ scheduleIterable(queueName, iterable) {
628
+ scheduleIterableCount++;
629
+ let stack = this.DEBUG ? new Error() : undefined;
630
+ return this._ensureInstance().schedule(queueName, null, iteratorDrain, [iterable], false, stack);
631
+ }
632
+ /**
633
+ * @deprecated please use scheduleOnce instead.
634
+ */
635
+ deferOnce(queueName, target, method, ...args) {
636
+ deferOnceCount++;
637
+ return this.scheduleOnce(queueName, target, method, ...args);
638
+ }
639
+ scheduleOnce(queueName, ..._args) {
640
+ scheduleOnceCount++;
641
+ let [target, method, args] = parseArgs(..._args);
642
+ let stack = this.DEBUG ? new Error() : undefined;
643
+ return this._ensureInstance().schedule(queueName, target, method, args, true, stack);
644
+ }
645
+ setTimeout() {
646
+ setTimeoutCount++;
647
+ return this.later(...arguments);
648
+ }
649
+ later() {
650
+ laterCount++;
651
+ let [target, method, args, wait] = parseTimerArgs(...arguments);
652
+ return this._later(target, method, args, wait);
653
+ }
654
+ throttle() {
655
+ throttleCount++;
656
+ let [target, method, args, wait, isImmediate = true] = parseDebounceArgs(...arguments);
657
+ let index = findTimerItem(target, method, this._timers);
658
+ let timerId;
659
+ if (index === -1) {
660
+ timerId = this._later(target, method, isImmediate ? DISABLE_SCHEDULE : args, wait);
661
+ if (isImmediate) {
662
+ this._join(target, method, args);
663
+ }
664
+ } else {
665
+ timerId = this._timers[index + 1];
666
+ let argIndex = index + 4;
667
+ if (this._timers[argIndex] !== DISABLE_SCHEDULE) {
668
+ this._timers[argIndex] = args;
669
+ }
670
+ }
671
+ return timerId;
672
+ }
673
+ debounce() {
674
+ debounceCount++;
675
+ let [target, method, args, wait, isImmediate = false] = parseDebounceArgs(...arguments);
676
+ let _timers = this._timers;
677
+ let index = findTimerItem(target, method, _timers);
678
+ let timerId;
679
+ if (index === -1) {
680
+ timerId = this._later(target, method, isImmediate ? DISABLE_SCHEDULE : args, wait);
681
+ if (isImmediate) {
682
+ this._join(target, method, args);
683
+ }
684
+ } else {
685
+ let executeAt = this._platform.now() + wait;
686
+ let argIndex = index + 4;
687
+ if (_timers[argIndex] === DISABLE_SCHEDULE) {
688
+ args = DISABLE_SCHEDULE;
689
+ }
690
+ timerId = _timers[index + 1];
691
+ let i = binarySearch(executeAt, _timers);
692
+ if (index + TIMERS_OFFSET === i) {
693
+ _timers[index] = executeAt;
694
+ _timers[argIndex] = args;
695
+ } else {
696
+ let stack = this._timers[index + 5];
697
+ this._timers.splice(i, 0, executeAt, timerId, target, method, args, stack);
698
+ this._timers.splice(index, TIMERS_OFFSET);
699
+ }
700
+ if (index === 0) {
701
+ this._reinstallTimerTimeout();
702
+ }
703
+ }
704
+ return timerId;
705
+ }
706
+ cancelTimers() {
707
+ cancelTimersCount++;
708
+ this._clearTimerTimeout();
709
+ this._timers = [];
710
+ this._cancelAutorun();
711
+ }
712
+ hasTimers() {
713
+ return this._timers.length > 0 || this._autorun;
714
+ }
715
+ cancel(timer) {
716
+ cancelCount++;
717
+ if (timer === null || timer === undefined) {
718
+ return false;
719
+ }
720
+ let timerType = typeof timer;
721
+ if (timerType === 'number') {
722
+ // we're cancelling a setTimeout or throttle or debounce
723
+ return this._cancelLaterTimer(timer);
724
+ } else if (timerType === 'object' && timer.queue && timer.method) {
725
+ // we're cancelling a deferOnce
726
+ return timer.queue.cancel(timer);
727
+ }
728
+ return false;
729
+ }
730
+ ensureInstance() {
731
+ this._ensureInstance();
732
+ }
733
+ /**
734
+ * Returns debug information related to the current instance of Backburner
735
+ *
736
+ * @method getDebugInfo
737
+ * @returns {Object | undefined} Will return and Object containing debug information if
738
+ * the DEBUG flag is set to true on the current instance of Backburner, else undefined.
739
+ */
740
+ getDebugInfo() {
741
+ if (this.DEBUG) {
742
+ return {
743
+ autorun: this._autorunStack,
744
+ counters: this.counters,
745
+ timers: getQueueItems(this._timers, TIMERS_OFFSET, 2),
746
+ instanceStack: [this.currentInstance, ...this.instanceStack].map(deferredActionQueue => deferredActionQueue && deferredActionQueue._getDebugInfo(this.DEBUG))
747
+ };
748
+ }
749
+ return undefined;
750
+ }
751
+ _end(fromAutorun) {
752
+ let currentInstance = this.currentInstance;
753
+ let nextInstance = null;
754
+ if (currentInstance === null) {
755
+ throw new Error(`end called without begin`);
756
+ }
757
+ // Prevent double-finally bug in Safari 6.0.2 and iOS 6
758
+ // This bug appears to be resolved in Safari 6.0.5 and iOS 7
759
+ let finallyAlreadyCalled = false;
760
+ let result;
761
+ try {
762
+ result = currentInstance.flush(fromAutorun);
763
+ } finally {
764
+ if (!finallyAlreadyCalled) {
765
+ finallyAlreadyCalled = true;
766
+ if (result === 1 /* Pause */) {
767
+ const plannedNextQueue = this.queueNames[currentInstance.queueNameIndex];
768
+ this._scheduleAutorun(plannedNextQueue);
769
+ } else {
770
+ this.currentInstance = null;
771
+ if (this.instanceStack.length > 0) {
772
+ nextInstance = this.instanceStack.pop();
773
+ this.currentInstance = nextInstance;
774
+ }
775
+ this._trigger('end', currentInstance, nextInstance);
776
+ this._onEnd(currentInstance, nextInstance);
777
+ }
778
+ }
779
+ }
780
+ }
781
+ _join(target, method, args) {
782
+ if (this.currentInstance === null) {
783
+ return this._run(target, method, args);
784
+ }
785
+ if (target === undefined && args === undefined) {
786
+ return method();
787
+ } else {
788
+ return method.apply(target, args);
789
+ }
790
+ }
791
+ _run(target, method, args) {
792
+ let onError = getOnError(this.options);
793
+ this.begin();
794
+ if (onError) {
795
+ try {
796
+ return method.apply(target, args);
797
+ } catch (error) {
798
+ onError(error);
799
+ } finally {
800
+ this.end();
801
+ }
802
+ } else {
803
+ try {
804
+ return method.apply(target, args);
805
+ } finally {
806
+ this.end();
807
+ }
808
+ }
809
+ }
810
+ _cancelAutorun() {
811
+ if (this._autorun) {
812
+ this._platform.clearNext();
813
+ this._autorun = false;
814
+ this._autorunStack = null;
815
+ }
816
+ }
817
+ _later(target, method, args, wait) {
818
+ let stack = this.DEBUG ? new Error() : undefined;
819
+ let executeAt = this._platform.now() + wait;
820
+ let id = UUID++;
821
+ if (this._timers.length === 0) {
822
+ this._timers.push(executeAt, id, target, method, args, stack);
823
+ this._installTimerTimeout();
824
+ } else {
825
+ // find position to insert
826
+ let i = binarySearch(executeAt, this._timers);
827
+ this._timers.splice(i, 0, executeAt, id, target, method, args, stack);
828
+ // always reinstall since it could be out of sync
829
+ this._reinstallTimerTimeout();
830
+ }
831
+ return id;
832
+ }
833
+ _cancelLaterTimer(timer) {
834
+ for (let i = 1; i < this._timers.length; i += TIMERS_OFFSET) {
835
+ if (this._timers[i] === timer) {
836
+ this._timers.splice(i - 1, TIMERS_OFFSET);
837
+ if (i === 1) {
838
+ this._reinstallTimerTimeout();
839
+ }
840
+ return true;
841
+ }
842
+ }
843
+ return false;
844
+ }
845
+ /**
846
+ Trigger an event. Supports up to two arguments. Designed around
847
+ triggering transition events from one run loop instance to the
848
+ next, which requires an argument for the instance and then
849
+ an argument for the next instance.
850
+ @private
851
+ @method _trigger
852
+ @param {String} eventName
853
+ @param {any} arg1
854
+ @param {any} arg2
855
+ */
856
+ _trigger(eventName, arg1, arg2) {
857
+ let callbacks = this._eventCallbacks[eventName];
858
+ if (callbacks !== undefined) {
859
+ for (let i = 0; i < callbacks.length; i++) {
860
+ callbacks[i](arg1, arg2);
861
+ }
862
+ }
863
+ }
864
+ _runExpiredTimers() {
865
+ this._timerTimeoutId = null;
866
+ if (this._timers.length > 0) {
867
+ this.begin();
868
+ this._scheduleExpiredTimers();
869
+ this.end();
870
+ }
871
+ }
872
+ _scheduleExpiredTimers() {
873
+ let timers = this._timers;
874
+ let i = 0;
875
+ let l = timers.length;
876
+ let defaultQueue = this._defaultQueue;
877
+ let n = this._platform.now();
878
+ for (; i < l; i += TIMERS_OFFSET) {
879
+ let executeAt = timers[i];
880
+ if (executeAt > n) {
881
+ break;
882
+ }
883
+ let args = timers[i + 4];
884
+ if (args !== DISABLE_SCHEDULE) {
885
+ let target = timers[i + 2];
886
+ let method = timers[i + 3];
887
+ let stack = timers[i + 5];
888
+ this.currentInstance.schedule(defaultQueue, target, method, args, false, stack);
889
+ }
890
+ }
891
+ timers.splice(0, i);
892
+ this._installTimerTimeout();
893
+ }
894
+ _reinstallTimerTimeout() {
895
+ this._clearTimerTimeout();
896
+ this._installTimerTimeout();
897
+ }
898
+ _clearTimerTimeout() {
899
+ if (this._timerTimeoutId === null) {
900
+ return;
901
+ }
902
+ this._platform.clearTimeout(this._timerTimeoutId);
903
+ this._timerTimeoutId = null;
904
+ }
905
+ _installTimerTimeout() {
906
+ if (this._timers.length === 0) {
907
+ return;
908
+ }
909
+ let minExpiresAt = this._timers[0];
910
+ let n = this._platform.now();
911
+ let wait = Math.max(0, minExpiresAt - n);
912
+ this._timerTimeoutId = this._platform.setTimeout(this._boundRunExpiredTimers, wait);
913
+ }
914
+ _ensureInstance() {
915
+ let currentInstance = this.currentInstance;
916
+ if (currentInstance === null) {
917
+ this._autorunStack = this.DEBUG ? new Error() : undefined;
918
+ currentInstance = this.begin();
919
+ this._scheduleAutorun(this.queueNames[0]);
920
+ }
921
+ return currentInstance;
922
+ }
923
+ _scheduleAutorun(plannedNextQueue) {
924
+ autorunsCreatedCount++;
925
+ const next = this._platform.next;
926
+ const flush = this.options.flush;
927
+ if (flush) {
928
+ flush(plannedNextQueue, next);
929
+ } else {
930
+ next();
931
+ }
932
+ this._autorun = true;
933
+ }
934
+ }
935
+ Backburner.Queue = Queue;
936
+ Backburner.buildPlatform = buildPlatform;
937
+ Backburner.buildNext = buildNext;
938
+
939
+ export { buildPlatform, Backburner as default };