ember-source 6.12.0 → 7.0.0-beta.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
@@ -1,12 +1,11 @@
1
- import '../../shared-chunks/debug-to-string-BsFOvUtQ.js';
1
+ import '../../shared-chunks/debug-to-string-CFb7h0lY.js';
2
2
  import { g as getLast, b as asPresentArray } from '../../shared-chunks/present-B1rrjAVM.js';
3
- import { isDevelopingApp } from '@embroider/macros';
4
3
  import { assert, scheduleRevalidate } from '../global-context/index.js';
5
4
 
6
5
  /* eslint-disable @typescript-eslint/no-non-null-assertion -- @fixme */
7
6
 
8
7
  const debug = {};
9
- if (isDevelopingApp()) {
8
+ {
10
9
  let CONSUMED_TAGS = null;
11
10
  const TRANSACTION_STACK = [];
12
11
 
@@ -164,6 +163,8 @@ function unwrap(val) {
164
163
  return val;
165
164
  }
166
165
 
166
+ //////////
167
+
167
168
  const CONSTANT = 0;
168
169
  const INITIAL = 1;
169
170
  const VOLATILE = NaN;
@@ -218,7 +219,7 @@ const TYPE = Symbol('TAG_TYPE');
218
219
 
219
220
  // this is basically a const
220
221
  let ALLOW_CYCLES;
221
- if (isDevelopingApp()) {
222
+ {
222
223
  ALLOW_CYCLES = new WeakMap();
223
224
  }
224
225
  function allowsCycles(tag) {
@@ -257,7 +258,7 @@ class MonomorphicTagImpl {
257
258
  lastChecked
258
259
  } = this;
259
260
  if (this.isUpdating) {
260
- if (isDevelopingApp() && !allowsCycles(this)) {
261
+ if (!allowsCycles(this)) {
261
262
  throw new Error('Cycles in tags are not allowed');
262
263
  }
263
264
  this.lastChecked = ++$REVISION;
@@ -296,7 +297,7 @@ class MonomorphicTagImpl {
296
297
  static updateTag(_tag, _subtag) {
297
298
  // catch bug by non-TS users
298
299
 
299
- if (isDevelopingApp() && _tag[TYPE] !== UPDATABLE_TAG_ID) {
300
+ if (_tag[TYPE] !== UPDATABLE_TAG_ID) {
300
301
  throw new Error('Attempted to update a tag that was not updatable');
301
302
  }
302
303
 
@@ -329,13 +330,12 @@ class MonomorphicTagImpl {
329
330
  }
330
331
  }
331
332
  static dirtyTag(tag, disableConsumptionAssertion) {
332
- if (isDevelopingApp() &&
333
- // catch bug by non-TS users
333
+ if (// catch bug by non-TS users
334
334
 
335
335
  !(tag[TYPE] === UPDATABLE_TAG_ID || tag[TYPE] === DIRYTABLE_TAG_ID)) {
336
336
  throw new Error('Attempted to dirty a tag that was not dirtyable');
337
337
  }
338
- if (isDevelopingApp() && disableConsumptionAssertion !== true) {
338
+ if (disableConsumptionAssertion !== true) {
339
339
  // Usually by this point, we've already asserted with better error information,
340
340
  // but this is our last line of defense.
341
341
  unwrap(debug.assertTagNotConsumed)(tag);
@@ -408,13 +408,16 @@ valueForTag(tag1);
408
408
  DIRTY_TAG(tag3);
409
409
  valueForTag(tag1);
410
410
 
411
+ /**
412
+ * An object that that tracks @tracked properties that were consumed.
413
+ */
411
414
  class Tracker {
412
415
  tags = new Set();
413
416
  last = null;
414
417
  add(tag) {
415
418
  if (tag === CONSTANT_TAG) return;
416
419
  this.tags.add(tag);
417
- if (isDevelopingApp()) {
420
+ {
418
421
  unwrap(debug.markTagAsConsumed)(tag);
419
422
  }
420
423
  this.last = tag;
@@ -451,13 +454,13 @@ const OPEN_TRACK_FRAMES = [];
451
454
  function beginTrackFrame(debuggingContext) {
452
455
  OPEN_TRACK_FRAMES.push(CURRENT_TRACKER);
453
456
  CURRENT_TRACKER = new Tracker();
454
- if (isDevelopingApp()) {
457
+ {
455
458
  unwrap(debug.beginTrackingTransaction)(debuggingContext);
456
459
  }
457
460
  }
458
461
  function endTrackFrame() {
459
462
  let current = CURRENT_TRACKER;
460
- if (isDevelopingApp()) {
463
+ {
461
464
  if (OPEN_TRACK_FRAMES.length === 0) {
462
465
  throw new Error('attempted to close a tracking frame, but one was not open');
463
466
  }
@@ -471,7 +474,7 @@ function beginUntrackFrame() {
471
474
  CURRENT_TRACKER = null;
472
475
  }
473
476
  function endUntrackFrame() {
474
- if (isDevelopingApp() && OPEN_TRACK_FRAMES.length === 0) {
477
+ if (OPEN_TRACK_FRAMES.length === 0) {
475
478
  throw new Error('attempted to close a tracking frame, but one was not open');
476
479
  }
477
480
  CURRENT_TRACKER = OPEN_TRACK_FRAMES.pop() || null;
@@ -483,7 +486,7 @@ function resetTracking() {
483
486
  OPEN_TRACK_FRAMES.pop();
484
487
  }
485
488
  CURRENT_TRACKER = null;
486
- if (isDevelopingApp()) {
489
+ {
487
490
  return unwrap(debug.resetTrackingTransaction)();
488
491
  }
489
492
  }
@@ -504,7 +507,7 @@ const TAG = Symbol('TAG');
504
507
  const SNAPSHOT = Symbol('SNAPSHOT');
505
508
  const DEBUG_LABEL = Symbol('DEBUG_LABEL');
506
509
  function createCache(fn, debuggingLabel) {
507
- if (isDevelopingApp() && !(typeof fn === 'function')) {
510
+ if (!(typeof fn === 'function')) {
508
511
  throw new Error(`createCache() must be passed a function as its first parameter. Called with: ${String(fn)}`);
509
512
  }
510
513
  let cache = {
@@ -513,7 +516,7 @@ function createCache(fn, debuggingLabel) {
513
516
  [TAG]: undefined,
514
517
  [SNAPSHOT]: -1
515
518
  };
516
- if (isDevelopingApp()) {
519
+ {
517
520
  cache[DEBUG_LABEL] = debuggingLabel;
518
521
  }
519
522
  return cache;
@@ -545,7 +548,7 @@ function isConst(cache) {
545
548
  return isConstTag(tag);
546
549
  }
547
550
  function assertCache(value, fnName) {
548
- if (isDevelopingApp() && !(typeof value === 'object' && FN in value)) {
551
+ if (!(typeof value === 'object' && FN in value)) {
549
552
  throw new Error(`${fnName}() can only be used on an instance of a cache created with createCache(). Called with: ${String(
550
553
  // eslint-disable-next-line @typescript-eslint/no-base-to-string -- @fixme
551
554
  value)}`);
@@ -554,7 +557,7 @@ function assertCache(value, fnName) {
554
557
 
555
558
  // replace this with `expect` when we can
556
559
  function assertTag(tag, cache) {
557
- if (isDevelopingApp() && tag === undefined) {
560
+ if (tag === undefined) {
558
561
  throw new Error(`isConst() can only be used on a cache once getValue() has been called at least once. Called with cache function:\n\n${String(cache[FN])}`);
559
562
  }
560
563
  }
@@ -738,13 +741,19 @@ function trackedArray(data, options) {
738
741
  });
739
742
  }
740
743
 
741
- class TrackedMap {
742
- #options;
743
- #collection = createUpdatableTag();
744
- #storages = new Map();
745
- #vals;
746
- #storageFor(key) {
747
- const storages = this.#storages;
744
+ /* eslint-disable @typescript-eslint/no-explicit-any */
745
+ // Using a Proxy-based approach so that any new methods added to the Map
746
+ // interface (like getOrInsert, getOrInsertComputed, etc.) are automatically
747
+ // supported without needing to manually re-implement each one.
748
+
749
+ function trackedMap(data, options) {
750
+ const equals = options?.equals ?? Object.is;
751
+ // TypeScript doesn't correctly resolve the overloads for calling the `Map`
752
+ // constructor for the no-value constructor. This resolves that.
753
+ const target = data instanceof Map ? new Map(data.entries()) : new Map(data ?? []);
754
+ const collection = createUpdatableTag();
755
+ const storages = new Map();
756
+ function storageFor(key) {
748
757
  let storage = storages.get(key);
749
758
  if (storage === undefined) {
750
759
  storage = createUpdatableTag();
@@ -752,134 +761,78 @@ class TrackedMap {
752
761
  }
753
762
  return storage;
754
763
  }
755
- #dirtyStorageFor(key) {
756
- const storage = this.#storages.get(key);
764
+ function dirtyStorageFor(key) {
765
+ const storage = storages.get(key);
757
766
  if (storage) {
758
767
  DIRTY_TAG(storage);
759
768
  }
760
769
  }
761
- constructor(existing, options) {
762
- // TypeScript doesn't correctly resolve the overloads for calling the `Map`
763
- // constructor for the no-value constructor. This resolves that.
764
- this.#vals = existing instanceof Map ? new Map(existing.entries()) : new Map(existing);
765
- this.#options = options;
766
- }
767
- get(key) {
768
- consumeTag(this.#storageFor(key));
769
- return this.#vals.get(key);
770
- }
771
- has(key) {
772
- consumeTag(this.#storageFor(key));
773
- return this.#vals.has(key);
774
- }
775
-
776
- // **** ALL GETTERS ****
777
- entries() {
778
- consumeTag(this.#collection);
779
- return this.#vals.entries();
780
- }
781
- getOrInsert(key, defaultValue) {
782
- consumeTag(this.#storageFor(key));
783
-
784
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
785
- // @ts-ignore -- older versions of TS don't yet have this method
786
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
787
- return this.#vals.getOrInsert(key, defaultValue);
788
- }
789
- getOrInsertComputed(key, creator) {
790
- consumeTag(this.#storageFor(key));
791
-
792
- // eslint-disable-next-line @typescript-eslint/ban-ts-comment
793
- // @ts-ignore -- older versions of TS don't yet have this method
794
- // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-call
795
- return this.#vals.getOrInsertComputed(key, creator);
796
- }
797
- keys() {
798
- consumeTag(this.#collection);
799
- return this.#vals.keys();
800
- }
801
- values() {
802
- consumeTag(this.#collection);
803
- return this.#vals.values();
804
- }
805
- forEach(fn) {
806
- consumeTag(this.#collection);
807
- this.#vals.forEach(fn);
808
- }
809
- get size() {
810
- consumeTag(this.#collection);
811
- return this.#vals.size;
812
- }
770
+ const proxy = new Proxy(target, {
771
+ get(target, prop, receiver) {
772
+ if (prop === 'set') {
773
+ return function (key, value) {
774
+ const hasExisting = target.has(key);
775
+ if (hasExisting) {
776
+ const isUnchanged = equals(target.get(key), value);
777
+ if (isUnchanged) return proxy;
778
+ }
779
+ dirtyStorageFor(key);
780
+ DIRTY_TAG(collection);
781
+ target.set(key, value);
782
+ return proxy;
783
+ };
784
+ }
785
+ if (prop === 'delete') {
786
+ return function (key) {
787
+ if (!target.has(key)) return false;
788
+ dirtyStorageFor(key);
789
+ DIRTY_TAG(collection);
790
+ storages.delete(key);
791
+ return target.delete(key);
792
+ };
793
+ }
794
+ if (prop === 'clear') {
795
+ return function () {
796
+ if (target.size === 0) return;
797
+ storages.forEach(s => DIRTY_TAG(s));
798
+ storages.clear();
799
+ DIRTY_TAG(collection);
800
+ target.clear();
801
+ };
802
+ }
803
+ if (prop === 'get') {
804
+ return function (key) {
805
+ consumeTag(storageFor(key));
806
+ return target.get(key);
807
+ };
808
+ }
809
+ if (prop === 'has') {
810
+ return function (key) {
811
+ consumeTag(storageFor(key));
812
+ return target.has(key);
813
+ };
814
+ }
815
+ if (prop === 'size') {
816
+ consumeTag(collection);
817
+ return target.size;
818
+ }
813
819
 
814
- /**
815
- * When iterating:
816
- * - we entangle with the collection (as we iterate over the whole thing
817
- * - for each individual item, we entangle with the item as well
818
- */
819
- [Symbol.iterator]() {
820
- let keys = this.keys();
821
- // eslint-disable-next-line @typescript-eslint/no-this-alias
822
- let self = this;
823
- return {
824
- next() {
825
- let next = keys.next();
826
- let currentKey = next.value;
827
- if (next.done) {
828
- return {
829
- value: [undefined, undefined],
830
- done: true
831
- };
832
- }
820
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
821
+ const value = Reflect.get(target, prop, receiver);
822
+ if (typeof value === 'function') {
823
+ return function (...args) {
824
+ consumeTag(collection);
833
825
 
834
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
835
- return {
836
- value: [currentKey, self.get(currentKey)],
837
- done: false
826
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
827
+ return value.apply(target, args);
838
828
  };
839
829
  }
840
- };
841
- }
842
- get [Symbol.toStringTag]() {
843
- return this.#vals[Symbol.toStringTag];
844
- }
845
- set(key, value) {
846
- let existing = this.#vals.get(key);
847
- if (existing) {
848
- let isUnchanged = this.#options.equals(existing, value);
849
- if (isUnchanged) {
850
- return this;
851
- }
852
- }
853
- this.#dirtyStorageFor(key);
854
- if (!existing) {
855
- DIRTY_TAG(this.#collection);
856
- }
857
- this.#vals.set(key, value);
858
- return this;
859
- }
860
- delete(key) {
861
- if (!this.#vals.has(key)) return true;
862
- this.#dirtyStorageFor(key);
863
- DIRTY_TAG(this.#collection);
864
- this.#storages.delete(key);
865
- return this.#vals.delete(key);
866
- }
867
- clear() {
868
- if (this.#vals.size === 0) return;
869
- this.#storages.forEach(s => DIRTY_TAG(s));
870
- this.#storages.clear();
871
- DIRTY_TAG(this.#collection);
872
- this.#vals.clear();
873
- }
874
- }
875
830
 
876
- // So instanceof works
877
- Object.setPrototypeOf(TrackedMap.prototype, Map.prototype);
878
- function trackedMap(data, options) {
879
- return new TrackedMap(data ?? [], {
880
- equals: options?.equals ?? Object.is,
881
- description: options?.description
831
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
832
+ return value;
833
+ }
882
834
  });
835
+ return proxy;
883
836
  }
884
837
 
885
838
  class TrackedObject {
@@ -975,13 +928,17 @@ function trackedObject(data, options) {
975
928
  });
976
929
  }
977
930
 
978
- class TrackedSet {
979
- #options;
980
- #collection = createUpdatableTag();
981
- #storages = new Map();
982
- #vals;
983
- #storageFor(key) {
984
- const storages = this.#storages;
931
+ /* eslint-disable @typescript-eslint/no-explicit-any */
932
+ // Using a Proxy-based approach so that any new methods added to the Set
933
+ // interface are automatically supported without needing to manually
934
+ // re-implement each one.
935
+
936
+ function trackedSet(data, options) {
937
+ const equals = options?.equals ?? Object.is;
938
+ const target = new Set(data ?? []);
939
+ const collection = createUpdatableTag();
940
+ const storages = new Map();
941
+ function storageFor(key) {
985
942
  let storage = storages.get(key);
986
943
  if (storage === undefined) {
987
944
  storage = createUpdatableTag();
@@ -989,263 +946,238 @@ class TrackedSet {
989
946
  }
990
947
  return storage;
991
948
  }
992
- #dirtyStorageFor(key) {
993
- const storage = this.#storages.get(key);
949
+ function dirtyStorageFor(key) {
950
+ const storage = storages.get(key);
994
951
  if (storage) {
995
952
  DIRTY_TAG(storage);
996
953
  }
997
954
  }
998
- constructor(existing, options) {
999
- this.#vals = new Set(existing);
1000
- this.#options = options;
1001
- }
955
+ const proxy = new Proxy(target, {
956
+ get(target, prop, receiver) {
957
+ if (prop === 'add') {
958
+ return function (value) {
959
+ if (target.has(value)) {
960
+ const isUnchanged = equals(value, value);
961
+ if (isUnchanged) return proxy;
962
+ } else {
963
+ DIRTY_TAG(collection);
964
+ }
965
+ dirtyStorageFor(value);
966
+ target.add(value);
967
+ return proxy;
968
+ };
969
+ }
970
+ if (prop === 'delete') {
971
+ return function (value) {
972
+ if (!target.has(value)) return false;
973
+ dirtyStorageFor(value);
974
+ DIRTY_TAG(collection);
975
+ storages.delete(value);
976
+ return target.delete(value);
977
+ };
978
+ }
979
+ if (prop === 'clear') {
980
+ return function () {
981
+ if (target.size === 0) return;
982
+ storages.forEach(s => DIRTY_TAG(s));
983
+ DIRTY_TAG(collection);
984
+ storages.clear();
985
+ target.clear();
986
+ };
987
+ }
988
+ if (prop === 'has') {
989
+ return function (value) {
990
+ consumeTag(storageFor(value));
991
+ return target.has(value);
992
+ };
993
+ }
994
+ if (prop === 'size') {
995
+ consumeTag(collection);
996
+ return target.size;
997
+ }
1002
998
 
1003
- // **** KEY GETTERS ****
1004
- has(value) {
1005
- consumeTag(this.#storageFor(value));
1006
- return this.#vals.has(value);
1007
- }
999
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
1000
+ const value = Reflect.get(target, prop, receiver);
1001
+ if (typeof value === 'function') {
1002
+ return function (...args) {
1003
+ consumeTag(collection);
1008
1004
 
1009
- // **** ALL GETTERS ****
1010
- entries() {
1011
- consumeTag(this.#collection);
1012
- return this.#vals.entries();
1013
- }
1014
- keys() {
1015
- consumeTag(this.#collection);
1016
- return this.#vals.keys();
1017
- }
1018
- values() {
1019
- consumeTag(this.#collection);
1020
- return this.#vals.values();
1021
- }
1022
- union(other) {
1023
- consumeTag(this.#collection);
1024
- return this.#vals.union(other);
1025
- }
1026
- intersection(other) {
1027
- consumeTag(this.#collection);
1028
- return this.#vals.intersection(other);
1029
- }
1030
- difference(other) {
1031
- consumeTag(this.#collection);
1032
- return this.#vals.difference(other);
1033
- }
1034
- symmetricDifference(other) {
1035
- consumeTag(this.#collection);
1036
- return this.#vals.symmetricDifference(other);
1037
- }
1038
- isSubsetOf(other) {
1039
- consumeTag(this.#collection);
1040
- return this.#vals.isSubsetOf(other);
1041
- }
1042
- isSupersetOf(other) {
1043
- consumeTag(this.#collection);
1044
- return this.#vals.isSupersetOf(other);
1045
- }
1046
- isDisjointFrom(other) {
1047
- consumeTag(this.#collection);
1048
- return this.#vals.isDisjointFrom(other);
1049
- }
1050
- forEach(fn) {
1051
- consumeTag(this.#collection);
1052
- this.#vals.forEach(fn);
1053
- }
1054
- get size() {
1055
- consumeTag(this.#collection);
1056
- return this.#vals.size;
1057
- }
1058
- [Symbol.iterator]() {
1059
- consumeTag(this.#collection);
1060
- return this.#vals[Symbol.iterator]();
1061
- }
1062
- get [Symbol.toStringTag]() {
1063
- return this.#vals[Symbol.toStringTag];
1064
- }
1065
- add(value) {
1066
- if (this.#vals.has(value)) {
1067
- let isUnchanged = this.#options.equals(value, value);
1068
- if (isUnchanged) return this;
1069
- } else {
1070
- DIRTY_TAG(this.#collection);
1071
- }
1072
- this.#dirtyStorageFor(value);
1073
- this.#vals.add(value);
1074
- return this;
1075
- }
1076
- delete(value) {
1077
- if (!this.#vals.has(value)) return true;
1078
- this.#dirtyStorageFor(value);
1079
- DIRTY_TAG(this.#collection);
1080
- this.#storages.delete(value);
1081
- return this.#vals.delete(value);
1082
- }
1083
-
1084
- // **** ALL SETTERS ****
1085
- clear() {
1086
- if (this.#vals.size === 0) return;
1087
- this.#storages.forEach(s => DIRTY_TAG(s));
1088
- DIRTY_TAG(this.#collection);
1089
- this.#storages.clear();
1090
- this.#vals.clear();
1091
- }
1092
- }
1005
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
1006
+ return value.apply(target, args);
1007
+ };
1008
+ }
1093
1009
 
1094
- // So instanceof works
1095
- Object.setPrototypeOf(TrackedSet.prototype, Set.prototype);
1096
- function trackedSet(data, options) {
1097
- return new TrackedSet(data ?? [], {
1098
- equals: options?.equals ?? Object.is,
1099
- description: options?.description
1010
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
1011
+ return value;
1012
+ }
1100
1013
  });
1014
+ return proxy;
1101
1015
  }
1102
1016
 
1103
- class TrackedWeakMap {
1104
- #options;
1105
- #storages = new WeakMap();
1106
- #vals;
1107
- #storageFor(key) {
1108
- let storage = this.#storages.get(key);
1017
+ // Using a Proxy-based approach so that any new methods added to the WeakMap
1018
+ // interface (like getOrInsert, getOrInsertComputed, etc.) are automatically
1019
+ // supported without needing to manually re-implement each one.
1020
+
1021
+ function trackedWeakMap(data, options) {
1022
+ const equals = options?.equals ?? Object.is;
1023
+ const existing = data ?? [];
1024
+ /**
1025
+ * SAFETY: note that when passing in an existing weak map, we can't
1026
+ * clone it as it is not iterable and not a supported type of structuredClone
1027
+ */
1028
+ const target = existing instanceof WeakMap ? existing : new WeakMap(existing);
1029
+ const storages = new WeakMap();
1030
+ function storageFor(key) {
1031
+ let storage = storages.get(key);
1109
1032
  if (storage === undefined) {
1110
1033
  storage = createUpdatableTag();
1111
- this.#storages.set(key, storage);
1034
+ storages.set(key, storage);
1112
1035
  }
1113
1036
  return storage;
1114
1037
  }
1115
- #dirtyStorageFor(key) {
1116
- const storage = this.#storages.get(key);
1038
+ function dirtyStorageFor(key) {
1039
+ const storage = storages.get(key);
1117
1040
  if (storage) {
1118
1041
  DIRTY_TAG(storage);
1119
1042
  }
1120
1043
  }
1121
- constructor(existing, options) {
1122
- /**
1123
- * SAFETY: note that wehn passing in an existing weak map, we can't
1124
- * clone it as it is not iterable and not a supported type of structuredClone
1125
- */
1126
- this.#vals = existing instanceof WeakMap ? existing : new WeakMap(existing);
1127
- this.#options = options;
1128
- }
1129
- get(key) {
1130
- consumeTag(this.#storageFor(key));
1131
- return this.#vals.get(key);
1132
- }
1133
- has(key) {
1134
- consumeTag(this.#storageFor(key));
1135
- return this.#vals.has(key);
1136
- }
1137
- set(key, value) {
1138
- let existing = this.#vals.get(key);
1139
- if (existing) {
1140
- let isUnchanged = this.#options.equals(existing, value);
1141
- if (isUnchanged) {
1142
- return this;
1044
+ const proxy = new Proxy(target, {
1045
+ get(target, prop, receiver) {
1046
+ if (prop === 'set') {
1047
+ return function (key, value) {
1048
+ const hasExisting = target.has(key);
1049
+ if (hasExisting) {
1050
+ const isUnchanged = equals(target.get(key), value);
1051
+ if (isUnchanged) return proxy;
1052
+ }
1053
+ dirtyStorageFor(key);
1054
+ target.set(key, value);
1055
+ return proxy;
1056
+ };
1057
+ }
1058
+ if (prop === 'delete') {
1059
+ return function (key) {
1060
+ if (!target.has(key)) return false;
1061
+ dirtyStorageFor(key);
1062
+ storages.delete(key);
1063
+ return target.delete(key);
1064
+ };
1065
+ }
1066
+ if (prop === 'get') {
1067
+ return function (key) {
1068
+ consumeTag(storageFor(key));
1069
+ return target.get(key);
1070
+ };
1071
+ }
1072
+ if (prop === 'has') {
1073
+ return function (key) {
1074
+ consumeTag(storageFor(key));
1075
+ return target.has(key);
1076
+ };
1143
1077
  }
1144
- }
1145
- this.#dirtyStorageFor(key);
1146
- this.#vals.set(key, value);
1147
- return this;
1148
- }
1149
- delete(key) {
1150
- if (!this.#vals.has(key)) return true;
1151
- this.#dirtyStorageFor(key);
1152
- this.#storages.delete(key);
1153
- return this.#vals.delete(key);
1154
- }
1155
- get [Symbol.toStringTag]() {
1156
- return this.#vals[Symbol.toStringTag];
1157
- }
1158
- }
1159
1078
 
1160
- // So instanceof works
1161
- Object.setPrototypeOf(TrackedWeakMap.prototype, WeakMap.prototype);
1162
- function trackedWeakMap(data, options) {
1163
- return new TrackedWeakMap(data ?? [], {
1164
- equals: options?.equals ?? Object.is,
1165
- description: options?.description
1079
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
1080
+ const value = Reflect.get(target, prop, receiver);
1081
+ if (typeof value === 'function') {
1082
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
1083
+ return value.bind(target);
1084
+ }
1085
+
1086
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
1087
+ return value;
1088
+ }
1166
1089
  });
1090
+ return proxy;
1167
1091
  }
1168
1092
 
1169
- class TrackedWeakSet {
1170
- #options;
1171
- #storages = new WeakMap();
1172
- #vals;
1173
- #storageFor(key) {
1174
- let storage = this.#storages.get(key);
1093
+ // Using a Proxy-based approach so that any new methods added to the WeakSet
1094
+ // interface are automatically supported without needing to manually
1095
+ // re-implement each one.
1096
+
1097
+ /**
1098
+ * NOTE: we cannot pass a WeakSet because WeakSets are not iterable
1099
+ */
1100
+ /**
1101
+ * Creates an instanceof WeakSet from an optional list of entries
1102
+ *
1103
+ */
1104
+ function trackedWeakSet(data, options) {
1105
+ const equals = options?.equals ?? Object.is;
1106
+ const target = new WeakSet(data ?? []);
1107
+ const storages = new WeakMap();
1108
+ function storageFor(key) {
1109
+ let storage = storages.get(key);
1175
1110
  if (storage === undefined) {
1176
1111
  storage = createUpdatableTag();
1177
- this.#storages.set(key, storage);
1112
+ storages.set(key, storage);
1178
1113
  }
1179
1114
  return storage;
1180
1115
  }
1181
- #dirtyStorageFor(key) {
1182
- const storage = this.#storages.get(key);
1116
+ function dirtyStorageFor(key) {
1117
+ const storage = storages.get(key);
1183
1118
  if (storage) {
1184
1119
  DIRTY_TAG(storage);
1185
1120
  }
1186
1121
  }
1187
- constructor(values, options) {
1188
- this.#options = options;
1189
- this.#vals = new WeakSet(values);
1190
- }
1191
- has(value) {
1192
- consumeTag(this.#storageFor(value));
1193
- return this.#vals.has(value);
1194
- }
1195
- add(value) {
1196
- /**
1197
- * In a WeakSet, there is no `.get()`, but if there was,
1198
- * we could assume it's the same value as what we passed.
1199
- *
1200
- * So for a WeakSet, if we try to add something that already exists
1201
- * we no-op.
1202
- *
1203
- * WeakSet already does this internally for us,
1204
- * but we want the ability for the reactive behavior to reflect the same behavior.
1205
- *
1206
- * i.e.: doing weakSet.add(value) should never dirty with the defaults
1207
- * if the `value` is already in the weakSet
1208
- */
1209
- if (this.#vals.has(value)) {
1210
- /**
1211
- * This looks a little silly, where a always will === b,
1212
- * but see the note above.
1213
- */
1214
- let isUnchanged = this.#options.equals(value, value);
1215
- if (isUnchanged) return this;
1216
- }
1122
+ const proxy = new Proxy(target, {
1123
+ get(target, prop, receiver) {
1124
+ if (prop === 'add') {
1125
+ return function (value) {
1126
+ /**
1127
+ * In a WeakSet, there is no `.get()`, but if there was,
1128
+ * we could assume it's the same value as what we passed.
1129
+ *
1130
+ * So for a WeakSet, if we try to add something that already exists
1131
+ * we no-op.
1132
+ *
1133
+ * WeakSet already does this internally for us,
1134
+ * but we want the ability for the reactive behavior to reflect the same behavior.
1135
+ *
1136
+ * i.e.: doing weakSet.add(value) should never dirty with the defaults
1137
+ * if the `value` is already in the weakSet
1138
+ */
1139
+ if (target.has(value)) {
1140
+ /**
1141
+ * This looks a little silly, where a always will === b,
1142
+ * but see the note above.
1143
+ */
1144
+ const isUnchanged = equals(value, value);
1145
+ if (isUnchanged) return proxy;
1146
+ }
1217
1147
 
1218
- // Add to vals first to get better error message
1219
- this.#vals.add(value);
1220
- this.#dirtyStorageFor(value);
1221
- return this;
1222
- }
1223
- delete(value) {
1224
- if (!this.#vals.has(value)) return true;
1225
- this.#dirtyStorageFor(value);
1226
- this.#storages.delete(value);
1227
- return this.#vals.delete(value);
1228
- }
1229
- get [Symbol.toStringTag]() {
1230
- return this.#vals[Symbol.toStringTag];
1231
- }
1232
- }
1148
+ // Add to vals first to get better error message
1149
+ target.add(value);
1150
+ dirtyStorageFor(value);
1151
+ return proxy;
1152
+ };
1153
+ }
1154
+ if (prop === 'delete') {
1155
+ return function (value) {
1156
+ if (!target.has(value)) return false;
1157
+ dirtyStorageFor(value);
1158
+ storages.delete(value);
1159
+ return target.delete(value);
1160
+ };
1161
+ }
1162
+ if (prop === 'has') {
1163
+ return function (value) {
1164
+ consumeTag(storageFor(value));
1165
+ return target.has(value);
1166
+ };
1167
+ }
1233
1168
 
1234
- // So instanceof works
1235
- Object.setPrototypeOf(TrackedWeakSet.prototype, WeakSet.prototype);
1169
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
1170
+ const value = Reflect.get(target, prop, receiver);
1171
+ if (typeof value === 'function') {
1172
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return, @typescript-eslint/no-unsafe-member-access, @typescript-eslint/no-unsafe-call
1173
+ return value.bind(target);
1174
+ }
1236
1175
 
1237
- /**
1238
- * NOTE: we cannot pass a WeakSet because WeakSets are not iterable
1239
- */
1240
- /**
1241
- * Creates an instanceof WeakSet from an optional list of entries
1242
- *
1243
- */
1244
- function trackedWeakSet(data, options) {
1245
- return new TrackedWeakSet(data ?? [], {
1246
- equals: options?.equals ?? Object.is,
1247
- description: options?.description
1176
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
1177
+ return value;
1178
+ }
1248
1179
  });
1180
+ return proxy;
1249
1181
  }
1250
1182
 
1251
1183
  function isObjectLike(u) {
@@ -1256,7 +1188,7 @@ function isObjectLike(u) {
1256
1188
 
1257
1189
  const TRACKED_TAGS = new WeakMap();
1258
1190
  function dirtyTagFor(obj, key, meta) {
1259
- if (isDevelopingApp() && !isObjectLike(obj)) {
1191
+ if (!isObjectLike(obj)) {
1260
1192
  throw new Error(`BUG: Can't update a tag for a primitive`);
1261
1193
  }
1262
1194
  let tags = meta === undefined ? TRACKED_TAGS.get(obj) : meta;
@@ -1267,7 +1199,7 @@ function dirtyTagFor(obj, key, meta) {
1267
1199
  // Dirty the tag for the specific property if it exists
1268
1200
  let propertyTag = tags.get(key);
1269
1201
  if (propertyTag !== undefined) {
1270
- if (isDevelopingApp()) {
1202
+ {
1271
1203
  unwrap(debug.assertTagNotConsumed)(propertyTag, obj, key);
1272
1204
  }
1273
1205
  DIRTY_TAG(propertyTag, true);