ember-source 7.3.0 → 7.4.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 (227) hide show
  1. package/build-metadata.json +3 -3
  2. package/dist/dev/packages/@ember/-internals/deprecations/index.js +45 -0
  3. package/dist/dev/packages/@ember/-internals/glimmer/index.js +9 -9
  4. package/dist/dev/packages/@ember/-internals/metal/index.js +12 -12
  5. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +6 -6
  6. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +2 -2
  7. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/comparable.js +2 -2
  8. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/container_proxy.js +2 -2
  9. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +2 -2
  10. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -3
  11. package/dist/dev/packages/@ember/-internals/views/index.js +1 -0
  12. package/dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -2
  13. package/dist/dev/packages/@ember/-internals/views/lib/system/event_dispatcher.js +1 -1
  14. package/dist/dev/packages/@ember/-internals/views/lib/views/core-view-utils.js +14 -0
  15. package/dist/dev/packages/@ember/-internals/views/lib/views/core_view.js +25 -21
  16. package/dist/dev/packages/@ember/-internals/views/lib/views/states.js +5 -2
  17. package/dist/dev/packages/@ember/application/index.js +1 -1
  18. package/dist/dev/packages/@ember/application/instance.js +16 -13
  19. package/dist/dev/packages/@ember/application/namespace.js +1 -1
  20. package/dist/dev/packages/@ember/array/index.js +8 -8
  21. package/dist/dev/packages/@ember/array/proxy.js +8 -5
  22. package/dist/dev/packages/@ember/component/helper.js +2 -2
  23. package/dist/dev/packages/@ember/component/index.js +7 -7
  24. package/dist/dev/packages/@ember/component/template-only.js +1 -1
  25. package/dist/dev/packages/@ember/controller/index.js +4 -4
  26. package/dist/dev/packages/@ember/engine/index.js +2 -2
  27. package/dist/dev/packages/@ember/enumerable/index.js +2 -2
  28. package/dist/dev/packages/@ember/enumerable/mutable.js +2 -2
  29. package/dist/dev/packages/@ember/helper/index.js +8 -8
  30. package/dist/dev/packages/@ember/modifier/index.js +2 -2
  31. package/dist/dev/packages/@ember/modifier/on.js +1 -1
  32. package/dist/dev/packages/@ember/object/-internals.js +1 -1
  33. package/dist/dev/packages/@ember/object/computed.js +2 -2
  34. package/dist/dev/packages/@ember/object/core.js +7 -7
  35. package/dist/dev/packages/@ember/object/evented.js +3 -71
  36. package/dist/dev/packages/@ember/object/events.js +17 -1
  37. package/dist/dev/packages/@ember/object/index.js +4 -4
  38. package/dist/dev/packages/@ember/object/lib/computed/computed_macros.js +3 -3
  39. package/dist/dev/packages/@ember/object/lib/computed/reduce_computed_macros.js +1 -1
  40. package/dist/dev/packages/@ember/object/mixin.js +11 -592
  41. package/dist/dev/packages/@ember/object/observable.js +7 -7
  42. package/dist/dev/packages/@ember/object/observers.js +1 -1
  43. package/dist/dev/packages/@ember/object/promise-proxy-mixin.js +10 -4
  44. package/dist/dev/packages/@ember/object/proxy.js +8 -1
  45. package/dist/dev/packages/@ember/renderer/index.js +1 -1
  46. package/dist/dev/packages/@ember/routing/index.js +1 -1
  47. package/dist/dev/packages/@ember/routing/lib/routing-service.js +2 -2
  48. package/dist/dev/packages/@ember/routing/route.js +34 -9
  49. package/dist/dev/packages/@ember/routing/router-service.js +71 -6
  50. package/dist/dev/packages/@ember/routing/router.js +32 -6
  51. package/dist/dev/packages/@ember/runloop/index.js +1 -1
  52. package/dist/dev/packages/@ember/service/index.js +1 -1
  53. package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +3 -3
  54. package/dist/dev/packages/@glimmer/destroyable/index.js +43 -14
  55. package/dist/dev/packages/@glimmer/manager/index.js +3 -3
  56. package/dist/dev/packages/@glimmer/node/index.js +2 -2
  57. package/dist/dev/packages/@glimmer/program/index.js +1 -1
  58. package/dist/dev/packages/@glimmer/reference/index.js +2 -2
  59. package/dist/dev/packages/@glimmer/runtime/index.js +11 -11
  60. package/dist/dev/packages/@glimmer/tracking/index.js +1 -1
  61. package/dist/dev/packages/ember/version.js +1 -1
  62. package/dist/dev/packages/shared-chunks/{alias-3DBxvoim.js → alias-CSzPOqZC.js} +3 -3
  63. package/dist/dev/packages/shared-chunks/{api-BlZDPg1n.js → api-B0N4oLJG.js} +3 -3
  64. package/dist/dev/packages/shared-chunks/{api-Dz70AUL_.js → api-CK8FxDZV.js} +2 -0
  65. package/dist/dev/packages/shared-chunks/{api-DuLOZMO_.js → api-PyzZqscb.js} +2 -2
  66. package/dist/dev/packages/shared-chunks/{args-proxy-CS5Brs3_.js → args-proxy-C39f5UPF.js} +1 -1
  67. package/dist/dev/packages/shared-chunks/{arguments-BVmnQtAM.js → arguments-LEaMCStR.js} +2 -2
  68. package/dist/dev/packages/shared-chunks/{array-DvaweI_T.js → array-CxZAmpTY.js} +2 -2
  69. package/dist/dev/packages/shared-chunks/{chain-tags-uWSImHzB.js → chain-tags-uYrtCZq1.js} +1 -1
  70. package/dist/dev/packages/shared-chunks/{computed-DGxbeUbf.js → computed-CXIM4Sjc.js} +3 -3
  71. package/dist/dev/packages/shared-chunks/{curly-qZIwixUW.js → curly-DbGgDeux.js} +18 -17
  72. package/dist/dev/packages/shared-chunks/destroyable-key-BsfVBM7f.js +12 -0
  73. package/dist/dev/packages/shared-chunks/{element-Cgoi4ldD.js → element-DLh78jeJ.js} +3 -3
  74. package/dist/dev/packages/shared-chunks/evented-cAr_RO4u.js +100 -0
  75. package/dist/dev/packages/shared-chunks/{events-6aFVjD4k.js → events-e_Do73jh.js} +3 -0
  76. package/dist/dev/packages/shared-chunks/{get-BVBR6Afa.js → get-fzmvcT9R.js} +3 -3
  77. package/dist/dev/packages/shared-chunks/{hash-BcOgEgJg.js → hash-D1O4fZ99.js} +3 -3
  78. package/dist/dev/packages/shared-chunks/{index-COgCjiy-.js → index-D8La4_AP.js} +37 -13
  79. package/dist/dev/packages/shared-chunks/{injected_property-DbXd6Gax.js → injected_property-DyyWscn-.js} +1 -1
  80. package/dist/dev/packages/shared-chunks/{internal-DTOXyEGM.js → internal-CZjbPyX3.js} +2 -2
  81. package/dist/dev/packages/shared-chunks/{internal-helper-CKrni0b_.js → internal-helper-BkRVvV7p.js} +1 -1
  82. package/dist/dev/packages/shared-chunks/{invoke-BzXY_4h3.js → invoke-BPNErlhO.js} +2 -2
  83. package/dist/dev/packages/shared-chunks/mixin-M88Ghbyw.js +612 -0
  84. package/dist/dev/packages/shared-chunks/{namespace_search-BfvzEQzN.js → namespace_search-TFdmjK_a.js} +1 -1
  85. package/dist/dev/packages/shared-chunks/{not-CmLRAsFE.js → not-DNpbxEvj.js} +2 -2
  86. package/dist/dev/packages/shared-chunks/{observers-DMlX2nCi.js → observers-BsxKjjpC.js} +2 -2
  87. package/dist/dev/packages/shared-chunks/{on-DXmOUOBH.js → on-Dfya_9b_.js} +3 -3
  88. package/dist/dev/packages/shared-chunks/{outlet-D6v6ZBvX.js → outlet-wIOlGMfN.js} +3 -3
  89. package/dist/dev/packages/shared-chunks/{property_set-DezUwDX4.js → property_set-CxxTalOq.js} +1 -1
  90. package/dist/dev/packages/shared-chunks/{reference-BqOLhKFy.js → reference-De0V3Vxp.js} +2 -0
  91. package/dist/dev/packages/shared-chunks/{rehydrate-builder-CsnkZkur.js → rehydrate-builder-B3wE1O5a.js} +1 -1
  92. package/dist/dev/packages/shared-chunks/{render-B5RULomD.js → render-CNXCIKfb.js} +16 -5
  93. package/dist/dev/packages/shared-chunks/{serialize-builder-D1oAeiyl.js → serialize-builder-v4amW_JS.js} +1 -1
  94. package/dist/{prod/packages/shared-chunks/set_properties-DYiBfzdk.js → dev/packages/shared-chunks/set_properties-KoN0q2wj.js} +2 -2
  95. package/dist/dev/packages/shared-chunks/{setup-registry-CVtsD0q2.js → setup-registry-BPb25ZxQ.js} +16 -15
  96. package/dist/dev/packages/shared-chunks/{template-only-Cu639ICT.js → template-only-DHdQevpG.js} +2 -2
  97. package/dist/dev/packages/shared-chunks/{textarea-DvS6Xmdh.js → textarea-Obtv2iCY.js} +3 -3
  98. package/dist/dev/packages/shared-chunks/{tracked-57EW14Ny.js → tracked-CLY9ttD5.js} +1 -1
  99. package/dist/dev/packages/shared-chunks/{unique-id-Csxuh1I7.js → unique-id-CdB2MG3m.js} +2 -2
  100. package/dist/prod/packages/@ember/-internals/deprecations/index.js +45 -0
  101. package/dist/prod/packages/@ember/-internals/glimmer/index.js +9 -9
  102. package/dist/prod/packages/@ember/-internals/metal/index.js +13 -13
  103. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +6 -6
  104. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +2 -2
  105. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/comparable.js +2 -2
  106. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/container_proxy.js +2 -2
  107. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +2 -2
  108. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -3
  109. package/dist/prod/packages/@ember/-internals/views/index.js +1 -0
  110. package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -2
  111. package/dist/prod/packages/@ember/-internals/views/lib/system/event_dispatcher.js +1 -1
  112. package/dist/prod/packages/@ember/-internals/views/lib/views/core-view-utils.js +14 -0
  113. package/dist/prod/packages/@ember/-internals/views/lib/views/core_view.js +25 -21
  114. package/dist/prod/packages/@ember/-internals/views/lib/views/states.js +5 -2
  115. package/dist/prod/packages/@ember/application/index.js +1 -1
  116. package/dist/prod/packages/@ember/application/instance.js +14 -12
  117. package/dist/prod/packages/@ember/application/namespace.js +1 -1
  118. package/dist/prod/packages/@ember/array/index.js +8 -8
  119. package/dist/prod/packages/@ember/array/proxy.js +8 -5
  120. package/dist/prod/packages/@ember/component/helper.js +2 -2
  121. package/dist/prod/packages/@ember/component/index.js +8 -8
  122. package/dist/prod/packages/@ember/component/template-only.js +1 -1
  123. package/dist/prod/packages/@ember/controller/index.js +4 -4
  124. package/dist/prod/packages/@ember/engine/index.js +2 -2
  125. package/dist/prod/packages/@ember/enumerable/index.js +2 -2
  126. package/dist/prod/packages/@ember/enumerable/mutable.js +2 -2
  127. package/dist/prod/packages/@ember/helper/index.js +8 -8
  128. package/dist/prod/packages/@ember/modifier/index.js +2 -2
  129. package/dist/prod/packages/@ember/modifier/on.js +1 -1
  130. package/dist/prod/packages/@ember/object/-internals.js +1 -0
  131. package/dist/prod/packages/@ember/object/compat.js +1 -1
  132. package/dist/prod/packages/@ember/object/computed.js +2 -2
  133. package/dist/prod/packages/@ember/object/core.js +7 -7
  134. package/dist/prod/packages/@ember/object/evented.js +3 -71
  135. package/dist/prod/packages/@ember/object/events.js +17 -1
  136. package/dist/prod/packages/@ember/object/index.js +5 -5
  137. package/dist/prod/packages/@ember/object/internals.js +1 -0
  138. package/dist/prod/packages/@ember/object/lib/computed/computed_macros.js +3 -3
  139. package/dist/prod/packages/@ember/object/lib/computed/reduce_computed_macros.js +1 -1
  140. package/dist/prod/packages/@ember/object/mixin.js +9 -557
  141. package/dist/prod/packages/@ember/object/observable.js +7 -7
  142. package/dist/prod/packages/@ember/object/observers.js +1 -1
  143. package/dist/prod/packages/@ember/object/promise-proxy-mixin.js +10 -4
  144. package/dist/prod/packages/@ember/object/proxy.js +8 -1
  145. package/dist/prod/packages/@ember/renderer/index.js +1 -1
  146. package/dist/prod/packages/@ember/routing/index.js +1 -1
  147. package/dist/prod/packages/@ember/routing/lib/routing-service.js +2 -2
  148. package/dist/prod/packages/@ember/routing/route.js +35 -10
  149. package/dist/prod/packages/@ember/routing/router-service.js +71 -6
  150. package/dist/prod/packages/@ember/routing/router.js +32 -6
  151. package/dist/prod/packages/@ember/runloop/index.js +1 -1
  152. package/dist/prod/packages/@ember/service/index.js +1 -1
  153. package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +3 -3
  154. package/dist/prod/packages/@glimmer/destroyable/index.js +37 -11
  155. package/dist/prod/packages/@glimmer/manager/index.js +3 -3
  156. package/dist/prod/packages/@glimmer/node/index.js +2 -2
  157. package/dist/prod/packages/@glimmer/program/index.js +1 -1
  158. package/dist/prod/packages/@glimmer/reference/index.js +2 -2
  159. package/dist/prod/packages/@glimmer/runtime/index.js +11 -11
  160. package/dist/prod/packages/@glimmer/tracking/index.js +1 -1
  161. package/dist/prod/packages/ember/version.js +1 -1
  162. package/dist/prod/packages/shared-chunks/{alias-IFzw6sv_.js → alias-DvgufSYq.js} +4 -4
  163. package/dist/prod/packages/shared-chunks/{api-DzOa0Acr.js → api-B3M8aF1d.js} +2 -0
  164. package/dist/prod/packages/shared-chunks/{api-B_poQGXS.js → api-CoUjEXgs.js} +3 -3
  165. package/dist/prod/packages/shared-chunks/{api-DlJKfm_f.js → api-DJnXAjon.js} +2 -2
  166. package/dist/prod/packages/shared-chunks/{args-proxy-CCoFtYLS.js → args-proxy-BHODnDyt.js} +1 -1
  167. package/dist/prod/packages/shared-chunks/{arguments-Carzx7C4.js → arguments-xjTAZ6VE.js} +2 -2
  168. package/dist/prod/packages/shared-chunks/{array-CnXdmzOG.js → array-CK__rqeu.js} +2 -2
  169. package/dist/prod/packages/shared-chunks/{chain-tags-B2J7DsxO.js → chain-tags-BlsXEpE-.js} +1 -1
  170. package/dist/prod/packages/shared-chunks/{computed-BNdMwGhH.js → computed-ZvOk7SJQ.js} +4 -4
  171. package/dist/prod/packages/shared-chunks/{curly-xbTtts9R.js → curly-Bg--Dj0X.js} +18 -17
  172. package/dist/prod/packages/shared-chunks/{decorator-9ikVwsjY.js → decorator-DcvVDSJV.js} +1 -1
  173. package/dist/prod/packages/shared-chunks/destroyable-key-BsfVBM7f.js +12 -0
  174. package/dist/prod/packages/shared-chunks/{element-BmBjPjkQ.js → element-CZnh4CbF.js} +3 -3
  175. package/dist/prod/packages/shared-chunks/evented-DYsL5t87.js +100 -0
  176. package/dist/prod/packages/shared-chunks/{events-DYrYz3V8.js → events-3Q5Qvo6Q.js} +3 -0
  177. package/dist/prod/packages/shared-chunks/{get-ZhOO_1qS.js → get-B1Vq9Mmk.js} +3 -3
  178. package/dist/prod/packages/shared-chunks/{hash-b373B4IL.js → hash-pP7ZP_NN.js} +3 -3
  179. package/dist/prod/packages/shared-chunks/{index-B-2NDHmt.js → index-Dncpaycf.js} +37 -13
  180. package/dist/prod/packages/shared-chunks/{injected_property-DqQ0XV7k.js → injected_property-4vB_6fM8.js} +2 -2
  181. package/dist/prod/packages/shared-chunks/{internal-BQ7zHrqS.js → internal-D1sloI2P.js} +2 -2
  182. package/dist/prod/packages/shared-chunks/{internal-helper-Bz1lpDXr.js → internal-helper-Becm19An.js} +1 -1
  183. package/dist/prod/packages/shared-chunks/{invoke-B-r9UQVH.js → invoke-BqNxG81o.js} +2 -2
  184. package/dist/prod/packages/shared-chunks/mixin-AGmJaAAY.js +576 -0
  185. package/dist/prod/packages/shared-chunks/{namespace_search-BfvzEQzN.js → namespace_search-TFdmjK_a.js} +1 -1
  186. package/dist/prod/packages/shared-chunks/{not-DOTpWiG3.js → not-BRssU6nS.js} +2 -2
  187. package/dist/prod/packages/shared-chunks/{observers-BmobpXAF.js → observers-B1wiwQeH.js} +2 -2
  188. package/dist/prod/packages/shared-chunks/{on-B-5KCq9L.js → on-BFt-Sx9A.js} +3 -3
  189. package/dist/prod/packages/shared-chunks/{outlet-DDxtxFLV.js → outlet-bc38zkd8.js} +3 -3
  190. package/dist/prod/packages/shared-chunks/{property_set-BmAQ0MGK.js → property_set-CVmdjPdh.js} +2 -2
  191. package/dist/prod/packages/shared-chunks/{reference-CG0yPgLy.js → reference-CccCE8mJ.js} +2 -0
  192. package/dist/prod/packages/shared-chunks/{rehydrate-builder-n_8RCUj9.js → rehydrate-builder-B9bh-2Dy.js} +1 -1
  193. package/dist/prod/packages/shared-chunks/{render-OqKpH1Pf.js → render-C_iak8Db.js} +16 -5
  194. package/dist/prod/packages/shared-chunks/{serialize-builder-CsG9WHVw.js → serialize-builder-Du-432zt.js} +1 -1
  195. package/dist/{dev/packages/shared-chunks/set_properties-BzM_irwA.js → prod/packages/shared-chunks/set_properties-BObIgkE-.js} +2 -2
  196. package/dist/prod/packages/shared-chunks/{setup-registry-CRFWTdVC.js → setup-registry-Czh4z4t2.js} +16 -15
  197. package/dist/prod/packages/shared-chunks/{template-only-DKNcKM5b.js → template-only-CWsfnbVm.js} +2 -2
  198. package/dist/prod/packages/shared-chunks/{textarea-B-sssXGa.js → textarea-DbUSajBD.js} +3 -3
  199. package/dist/prod/packages/shared-chunks/{tracked-DvOpYI0o.js → tracked-z77O-F0O.js} +2 -2
  200. package/dist/prod/packages/shared-chunks/{unique-id-BJb1p8EG.js → unique-id-DNqsbhfh.js} +2 -2
  201. package/docs/data.json +856 -508
  202. package/lib/browsers.cjs +33 -33
  203. package/package.json +56 -48
  204. package/types/stable/@ember/-internals/deprecations/index.d.ts +30 -0
  205. package/types/stable/@ember/-internals/glimmer/lib/helpers/each-in.d.ts +25 -1
  206. package/types/stable/@ember/-internals/metal/lib/evented-methods.d.ts +22 -0
  207. package/types/stable/@ember/-internals/metal/lib/events.d.ts +1 -0
  208. package/types/stable/@ember/-internals/utils/lib/internal-mixin-create.d.ts +13 -0
  209. package/types/stable/@ember/-internals/views/index.d.ts +1 -0
  210. package/types/stable/@ember/-internals/views/lib/views/core-view-utils.d.ts +5 -0
  211. package/types/stable/@ember/-internals/views/lib/views/core_view.d.ts +9 -6
  212. package/types/stable/@ember/array/proxy.d.ts +1 -0
  213. package/types/stable/@ember/object/evented.d.ts +6 -0
  214. package/types/stable/@ember/object/events.d.ts +26 -1
  215. package/types/stable/@ember/object/mixin.d.ts +3 -0
  216. package/types/stable/@ember/object/promise-proxy-mixin.d.ts +1 -0
  217. package/types/stable/@ember/object/proxy.d.ts +2 -0
  218. package/types/stable/@ember/routing/route.d.ts +9 -2
  219. package/types/stable/@ember/routing/router-service.d.ts +54 -6
  220. package/types/stable/@ember/routing/router.d.ts +9 -8
  221. package/types/stable/@glimmer/destroyable/index.d.ts +1 -0
  222. package/types/stable/@glimmer/runtime/lib/vm/element-builder.d.ts +2 -0
  223. package/types/stable/@glimmer/runtime/lib/vm/render-result.d.ts +2 -0
  224. package/types/stable/@glimmer/runtime/lib/vm/update.d.ts +2 -0
  225. package/types/stable/@glimmer/syntax/lib/keywords.d.ts +2 -2
  226. package/types/stable/@glimmer/util/lib/destroyable-key.d.ts +15 -0
  227. package/types/stable/index.d.ts +4 -0
@@ -1,5 +1,4 @@
1
1
  declare module '@ember/routing/router-service' {
2
- import Evented from "@ember/object/evented";
3
2
  import Service from "@ember/service";
4
3
  import type { ModelFor, Transition } from "router_js";
5
4
  import type Route from "@ember/routing/route";
@@ -7,6 +6,7 @@ declare module '@ember/routing/router-service' {
7
6
  import type { RouteInfo, RouteInfoWithAttributes } from "@ember/routing/lib/route-info";
8
7
  import type { RouteArgs, RouteOptions } from "@ember/routing/lib/utils";
9
8
  export const ROUTER: unique symbol;
9
+ type EventName = "routeWillChange" | "routeDidChange";
10
10
  /**
11
11
  The Router service is the public API that provides access to the router.
12
12
 
@@ -38,12 +38,60 @@ declare module '@ember/routing/router-service' {
38
38
  @extends Service
39
39
  @class RouterService
40
40
  */
41
- interface RouterService extends Evented {
42
- on(eventName: "routeWillChange" | "routeDidChange", callback: (transition: Transition) => void): this;
43
- }
44
- const RouterService_base: Readonly<typeof Service> & (new (owner?: import("@ember/owner").default) => Service) & import("@ember/object/mixin").default;
45
- class RouterService extends RouterService_base {
41
+ class RouterService extends Service {
46
42
  [ROUTER]?: EmberRouter;
43
+ /**
44
+ Subscribes to a named event with given function.
45
+
46
+ @method on
47
+ @param {String} name The name of the event
48
+ @param {Object} [target] The "this" binding for the callback
49
+ @param {Function|String} method A function or the name of a function to be called on `target`
50
+ @return this
51
+ */
52
+ on(name: "routeWillChange" | "routeDidChange", callback: (transition: Transition) => void): this;
53
+ on<Target>(name: EventName, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
54
+ on(name: EventName, method: ((...args: any[]) => void) | string): this;
55
+ /**
56
+ Subscribes a function to a named event and then cancels the subscription
57
+ after the first time the event is triggered.
58
+
59
+ @method one
60
+ @param {String} name The name of the event
61
+ @param {Object} [target] The "this" binding for the callback
62
+ @param {Function|String} method A function or the name of a function to be called on `target`
63
+ @return this
64
+ */
65
+ one<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
66
+ one(name: string, method: string | ((...args: any[]) => void)): this;
67
+ /**
68
+ Triggers a named event for the object.
69
+
70
+ @method trigger
71
+ @param {String} name The name of the event
72
+ @param {Object...} args Optional arguments to pass on
73
+ @return {boolean} true if listeners were notified, false otherwise
74
+ */
75
+ trigger(name: string, ...args: any[]): boolean;
76
+ /**
77
+ Cancels subscription for given name, target, and method.
78
+
79
+ @method off
80
+ @param {String} name The name of the event
81
+ @param {Object} target The target of the subscription
82
+ @param {Function|String} method The function or the name of a function of the subscription
83
+ @return this
84
+ */
85
+ off<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
86
+ off(name: string, method: string | ((...args: any[]) => void)): this;
87
+ /**
88
+ Checks to see if object has any subscriptions for named event.
89
+
90
+ @method has
91
+ @param {String} name The name of the event
92
+ @return {Boolean} does the object have a subscription for event
93
+ */
94
+ has(name: string): boolean;
47
95
  get _router(): EmberRouter;
48
96
  willDestroy(): void;
49
97
  /**
@@ -8,7 +8,6 @@ declare module '@ember/routing/router' {
8
8
  import type { default as EmberLocation, Registry as LocationRegistry } from "@ember/routing/location";
9
9
  import type RouterService from "@ember/routing/router-service";
10
10
  import EmberObject from "@ember/object";
11
- import Evented from "@ember/object/evented";
12
11
  import { type QueryParamMeta, type default as Route } from "@ember/routing/route";
13
12
  import type { InternalRouteInfo, ModelFor, RouteInfo, RouteInfoWithAttributes, Transition, TransitionState } from "router_js";
14
13
  import Router from "router_js";
@@ -40,7 +39,6 @@ declare module '@ember/routing/router' {
40
39
  serializedDefaultValue: string | null | undefined;
41
40
  controllerName: string;
42
41
  }
43
- const EmberRouter_base: Readonly<typeof EmberObject> & (new (owner?: Owner) => EmberObject) & import("@ember/object/mixin").default;
44
42
  /**
45
43
  The `EmberRouter` class manages the application state and URLs. Refer to
46
44
  the [routing guide](https://guides.emberjs.com/release/routing/) for documentation.
@@ -50,7 +48,7 @@ declare module '@ember/routing/router' {
50
48
  @uses Evented
51
49
  @public
52
50
  */
53
- class EmberRouter extends EmberRouter_base implements Evented {
51
+ class EmberRouter extends EmberObject {
54
52
  /**
55
53
  Represents the URL of the root of the application, often '/'. This prefix is
56
54
  assumed on all routes defined on this router.
@@ -100,11 +98,14 @@ declare module '@ember/routing/router' {
100
98
  _routerService: RouterService;
101
99
  _slowTransitionTimer: Timer | null;
102
100
  private namespace;
103
- on: (name: string, method: ((...args: any[]) => void) | string) => this;
104
- one: (name: string, method: string | ((...args: any[]) => void)) => this;
105
- trigger: (name: string, ...args: any[]) => unknown;
106
- off: (name: string, method: string | ((...args: any[]) => void)) => this;
107
- has: (name: string) => boolean;
101
+ on<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
102
+ on(name: string, method: ((...args: any[]) => void) | string): this;
103
+ one<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
104
+ one(name: string, method: string | ((...args: any[]) => void)): this;
105
+ trigger(name: string, ...args: any[]): void;
106
+ off<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
107
+ off(name: string, method: string | ((...args: any[]) => void)): this;
108
+ has(name: string): boolean;
108
109
  private static dslCallbacks?;
109
110
  /**
110
111
  The `Router.map` function allows you to define mappings from URLs to routes
@@ -1,5 +1,6 @@
1
1
  declare module '@glimmer/destroyable' {
2
2
  import type { Destroyable, Destructor } from "@glimmer/interfaces";
3
+ export { DESTROYABLE_META_KEY } from "@glimmer/util/lib/destroyable-key";
3
4
  export function associateDestroyableChild<T extends Destroyable>(parent: Destroyable, child: T): T;
4
5
  export function registerDestructor<T extends Destroyable>(destroyable: T, destructor: Destructor<T>, eager?: boolean): Destructor<T>;
5
6
  export function unregisterDestructor<T extends Destroyable>(destroyable: T, destructor: Destructor<T>, eager?: boolean): void;
@@ -1,5 +1,6 @@
1
1
  declare module '@glimmer/runtime/lib/vm/element-builder' {
2
2
  import type { AppendingBlock, AttrNamespace, Bounds, Cursor, ElementOperations, Environment, GlimmerTreeChanges, GlimmerTreeConstruction, Maybe, ModifierInstance, Nullable, ResettableBlock, SimpleComment, SimpleDocumentFragment, SimpleElement, SimpleNode, SimpleText, TreeBuilder } from "@glimmer/interfaces";
3
+ import { DESTROYABLE_META_KEY } from "@glimmer/util/lib/destroyable-key";
3
4
  import { StackImpl as Stack } from "@glimmer/util/lib/collections";
4
5
  import type { DynamicAttribute } from "@glimmer/runtime/lib/vm/attributes/dynamic";
5
6
  import { CursorImpl } from "@glimmer/runtime/lib/bounds";
@@ -92,6 +93,7 @@ declare module '@glimmer/runtime/lib/vm/element-builder' {
92
93
  first: () => Nullable<SimpleNode>;
93
94
  last: () => Nullable<SimpleNode>;
94
95
  };
96
+ [DESTROYABLE_META_KEY]: object | undefined;
95
97
  protected first: Nullable<FirstNode>;
96
98
  protected last: Nullable<LastNode>;
97
99
  protected nesting: number;
@@ -1,10 +1,12 @@
1
1
  declare module '@glimmer/runtime/lib/vm/render-result' {
2
2
  import type { AppendingBlock, Environment, RenderResult, SimpleElement, SimpleNode, UpdatingOpcode } from "@glimmer/interfaces";
3
+ import { DESTROYABLE_META_KEY } from "@glimmer/util/lib/destroyable-key";
3
4
  export default class RenderResultImpl implements RenderResult {
4
5
  env: Environment;
5
6
  private updating;
6
7
  private bounds;
7
8
  readonly drop: object;
9
+ [DESTROYABLE_META_KEY]: object | undefined;
8
10
  constructor(env: Environment, updating: UpdatingOpcode[], bounds: AppendingBlock, drop: object);
9
11
  rerender({ alwaysRevalidate }?: {
10
12
  alwaysRevalidate?: false;
@@ -2,6 +2,7 @@ declare module '@glimmer/runtime/lib/vm/update' {
2
2
  import type { AppendingBlock, Bounds, DynamicScope, Environment, EvaluationContext, ExceptionHandler, GlimmerTreeChanges, Nullable, ResettableBlock, Scope, UpdatingOpcode, UpdatingVM as IUpdatingVM } from "@glimmer/interfaces";
3
3
  import type { OpaqueIterator } from "@glimmer/reference/lib/iterable";
4
4
  import type { Reference } from "@glimmer/reference/lib/reference";
5
+ import { DESTROYABLE_META_KEY } from "@glimmer/util/lib/destroyable-key";
5
6
  import type { Closure } from "@glimmer/runtime/lib/vm/append";
6
7
  import type { AppendingBlockList } from "@glimmer/runtime/lib/vm/element-builder";
7
8
  export class UpdatingVM implements IUpdatingVM {
@@ -28,6 +29,7 @@ declare module '@glimmer/runtime/lib/vm/update' {
28
29
  export abstract class BlockOpcode implements UpdatingOpcode, Bounds {
29
30
  protected state: Closure;
30
31
  protected context: EvaluationContext;
32
+ [DESTROYABLE_META_KEY]: object | undefined;
31
33
  children: UpdatingOpcode[];
32
34
  protected readonly bounds: AppendingBlock;
33
35
  constructor(state: Closure, context: EvaluationContext, bounds: AppendingBlock, children: UpdatingOpcode[]);
@@ -8,7 +8,7 @@ declare module '@glimmer/syntax/lib/keywords' {
8
8
  * language, and where their valid usages are.
9
9
  */
10
10
  export const KEYWORDS_TYPES: {
11
- action: ("Modifier" | "Call")[];
11
+ action: ("Call" | "Modifier")[];
12
12
  component: ("Block" | "Call" | "Append")[];
13
13
  debugger: "Append"[];
14
14
  "each-in": "Block"[];
@@ -20,7 +20,7 @@ declare module '@glimmer/syntax/lib/keywords' {
20
20
  "in-element": "Block"[];
21
21
  let: "Block"[];
22
22
  log: ("Call" | "Append")[];
23
- modifier: ("Modifier" | "Call")[];
23
+ modifier: ("Call" | "Modifier")[];
24
24
  mount: "Append"[];
25
25
  mut: ("Call" | "Append")[];
26
26
  outlet: "Append"[];
@@ -0,0 +1,15 @@
1
+ declare module '@glimmer/util/lib/destroyable-key' {
2
+ /**
3
+ * Classes Glimmer constructs itself declare this slot, so that
4
+ * `@glimmer/destroyable` can hold their meta directly rather than in its
5
+ * `WeakMap`. It lives here so packages below `@glimmer/destroyable` can declare
6
+ * the slot without depending on it.
7
+ *
8
+ * Never write this onto an object Glimmer did not construct. Destroyables are
9
+ * public through `@ember/destroyable` and can be any object a user hands in.
10
+ */
11
+ export const DESTROYABLE_META_KEY: unique symbol;
12
+ export interface HasDestroyableMetaSlot {
13
+ [DESTROYABLE_META_KEY]?: object | undefined;
14
+ }
15
+ }
@@ -115,6 +115,7 @@
115
115
  /// <reference path="./@glimmer/util/lib/is-serialization-first-node.d.ts" />
116
116
  /// <reference path="./@glimmer/util/lib/intern.d.ts" />
117
117
  /// <reference path="./@glimmer/util/lib/dom.d.ts" />
118
+ /// <reference path="./@glimmer/util/lib/destroyable-key.d.ts" />
118
119
  /// <reference path="./@glimmer/util/lib/debug-steps.d.ts" />
119
120
  /// <reference path="./@glimmer/util/lib/collections.d.ts" />
120
121
  /// <reference path="./@glimmer/util/lib/array-utils.d.ts" />
@@ -496,6 +497,7 @@
496
497
  /// <reference path="./@ember/-internals/views/index.d.ts" />
497
498
  /// <reference path="./@ember/-internals/views/lib/views/states.d.ts" />
498
499
  /// <reference path="./@ember/-internals/views/lib/views/core_view.d.ts" />
500
+ /// <reference path="./@ember/-internals/views/lib/views/core-view-utils.d.ts" />
499
501
  /// <reference path="./@ember/-internals/views/lib/system/utils.d.ts" />
500
502
  /// <reference path="./@ember/-internals/views/lib/system/event_dispatcher.d.ts" />
501
503
  /// <reference path="./@ember/-internals/views/lib/mixins/action_support.d.ts" />
@@ -510,6 +512,7 @@
510
512
  /// <reference path="./@ember/-internals/utils/lib/lookup-descriptor.d.ts" />
511
513
  /// <reference path="./@ember/-internals/utils/lib/is_proxy.d.ts" />
512
514
  /// <reference path="./@ember/-internals/utils/lib/invoke.d.ts" />
515
+ /// <reference path="./@ember/-internals/utils/lib/internal-mixin-create.d.ts" />
513
516
  /// <reference path="./@ember/-internals/utils/lib/intern.d.ts" />
514
517
  /// <reference path="./@ember/-internals/utils/lib/guid.d.ts" />
515
518
  /// <reference path="./@ember/-internals/utils/lib/get-debug-name.d.ts" />
@@ -544,6 +547,7 @@
544
547
  /// <reference path="./@ember/-internals/metal/lib/get_properties.d.ts" />
545
548
  /// <reference path="./@ember/-internals/metal/lib/expand_properties.d.ts" />
546
549
  /// <reference path="./@ember/-internals/metal/lib/events.d.ts" />
550
+ /// <reference path="./@ember/-internals/metal/lib/evented-methods.d.ts" />
547
551
  /// <reference path="./@ember/-internals/metal/lib/each_proxy_events.d.ts" />
548
552
  /// <reference path="./@ember/-internals/metal/lib/deprecate_property.d.ts" />
549
553
  /// <reference path="./@ember/-internals/metal/lib/decorator.d.ts" />