ember-source 7.4.0-alpha.1 → 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-DniR8eF2.js → arguments-LEaMCStR.js} +7 -3
  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-BCD_vyHq.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-zsePWrJL.js → get-fzmvcT9R.js} +3 -3
  77. package/dist/dev/packages/shared-chunks/{hash-BFu91gtE.js → hash-D1O4fZ99.js} +3 -3
  78. package/dist/dev/packages/shared-chunks/{index-Bv9SQpEx.js → index-D8La4_AP.js} +12 -12
  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-CgF42joE.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-0cVb-rLf.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-CVIjn2C-.js → on-Dfya_9b_.js} +3 -3
  88. package/dist/dev/packages/shared-chunks/{outlet-BO5-QFmm.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-D_Rawf-r.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-Ci8Af2Bz.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-CCYATlEH.js → arguments-xjTAZ6VE.js} +7 -3
  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-CdvJuTyW.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-CEjFJzGs.js → get-B1Vq9Mmk.js} +3 -3
  178. package/dist/prod/packages/shared-chunks/{hash-BitfXhCx.js → hash-pP7ZP_NN.js} +3 -3
  179. package/dist/prod/packages/shared-chunks/{index-D8cl-pfl.js → index-Dncpaycf.js} +12 -12
  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-4JGJYH7Z.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-Dn5s9qVZ.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-ov4KAucw.js → on-BFt-Sx9A.js} +3 -3
  189. package/dist/prod/packages/shared-chunks/{outlet-BWnaVOrA.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-BAVl5E6X.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-DeyoFe6Q.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 +855 -507
  202. package/lib/browsers.cjs +33 -33
  203. package/package.json +4 -3
  204. package/types/stable/@ember/-internals/deprecations/index.d.ts +30 -0
  205. package/types/stable/@ember/-internals/glimmer/index.d.ts +1 -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
package/lib/browsers.cjs CHANGED
@@ -1,11 +1,11 @@
1
1
  module.exports = [
2
2
  'Chrome >= 109',
3
- 'Edge >= 128',
4
- 'Firefox >= 115',
5
- 'iOS >= 15.6',
6
- 'Safari >= 15.6',
7
- 'ChromeAndroid >= 130',
8
- 'FirefoxAndroid >= 130',
3
+ 'Edge >= 149',
4
+ 'Firefox >= 121',
5
+ 'iOS >= 16.6',
6
+ 'Safari >= 18.5',
7
+ 'ChromeAndroid >= 151',
8
+ 'FirefoxAndroid >= 153',
9
9
  ];
10
10
 
11
11
  /*
@@ -15,33 +15,33 @@ module.exports = [
15
15
  `npx browserslist '>0.25%, Firefox ESR, last 1 Chrome version, last 1 Firefox version, last 1 Edge version, last 1 FirefoxAndroid version, last 1 ChromeAndroid version, not dead'`
16
16
 
17
17
  And then filtering out unsupported browsers.
18
-
19
- and_chr 130
20
- and_ff 130
21
- chrome 130
22
- chrome 129
23
- chrome 128
24
- chrome 127
25
- chrome 126
26
- chrome 125
27
- chrome 124
18
+
19
+ and_chr 151
20
+ and_ff 153
21
+ chrome 151
22
+ chrome 150
23
+ chrome 149
24
+ chrome 148
25
+ chrome 145
26
+ chrome 142
27
+ chrome 131
28
+ chrome 120
29
+ chrome 119
28
30
  chrome 109
29
- edge 130
30
- edge 129
31
- edge 128
32
- firefox 132
33
- firefox 130
34
- firefox 129
35
- firefox 128
36
- firefox 115
37
- ios_saf 18.0
38
- ios_saf 17.6-17.7
39
- ios_saf 17.5
40
- ios_saf 17.4
31
+ edge 151
32
+ edge 150
33
+ edge 149
34
+ firefox 154
35
+ firefox 153
36
+ firefox 152
37
+ firefox 140
38
+ firefox 121
39
+ ios_saf 26.5
40
+ ios_saf 26.4
41
+ ios_saf 26.3
42
+ ios_saf 26.2
43
+ ios_saf 18.5-18.7
41
44
  ios_saf 16.6-16.7
42
- ios_saf 16.1
43
- ios_saf 15.6-15.8
44
- safari 17.6
45
- safari 17.5
46
- safari 16.6
45
+ safari 26.5
46
+ safari 18.5-18.7
47
47
  */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "ember-source",
3
- "version": "7.4.0-alpha.1",
3
+ "version": "7.4.0-beta.1",
4
4
  "description": "A JavaScript framework for creating ambitious web applications",
5
5
  "keywords": [
6
6
  "ember-addon"
@@ -222,6 +222,7 @@
222
222
  "@ember/-internals/views/lib/mixins/action_support.js": "ember-source/@ember/-internals/views/lib/mixins/action_support.js",
223
223
  "@ember/-internals/views/lib/system/event_dispatcher.js": "ember-source/@ember/-internals/views/lib/system/event_dispatcher.js",
224
224
  "@ember/-internals/views/lib/system/utils.js": "ember-source/@ember/-internals/views/lib/system/utils.js",
225
+ "@ember/-internals/views/lib/views/core-view-utils.js": "ember-source/@ember/-internals/views/lib/views/core-view-utils.js",
225
226
  "@ember/-internals/views/lib/views/core_view.js": "ember-source/@ember/-internals/views/lib/views/core_view.js",
226
227
  "@ember/-internals/views/lib/views/states.js": "ember-source/@ember/-internals/views/lib/views/states.js",
227
228
  "@ember/application/index.js": "ember-source/@ember/application/index.js",
@@ -374,9 +375,9 @@
374
375
  "rsvp/index.js": "ember-source/rsvp/index.js"
375
376
  }
376
377
  },
377
- "_originalVersion": "7.4.0-alpha.1",
378
+ "_originalVersion": "7.4.0-beta.1",
378
379
  "_versionPreviouslyCalculated": true,
379
380
  "publishConfig": {
380
- "tag": "alpha"
381
+ "tag": "beta"
381
382
  }
382
383
  }
@@ -33,6 +33,36 @@ declare module '@ember/-internals/deprecations' {
33
33
  isEnabled: boolean;
34
34
  isRemoved: boolean;
35
35
  };
36
+ DEPRECATE_EVENTED: {
37
+ options: DeprecationOptions;
38
+ test: boolean;
39
+ isEnabled: boolean;
40
+ isRemoved: boolean;
41
+ };
42
+ DEPRECATE_MIXINS: {
43
+ options: DeprecationOptions;
44
+ test: boolean;
45
+ isEnabled: boolean;
46
+ isRemoved: boolean;
47
+ };
48
+ DEPRECATE_ARRAY_PROXY: {
49
+ options: DeprecationOptions;
50
+ test: boolean;
51
+ isEnabled: boolean;
52
+ isRemoved: boolean;
53
+ };
54
+ DEPRECATE_OBJECT_PROXY: {
55
+ options: DeprecationOptions;
56
+ test: boolean;
57
+ isEnabled: boolean;
58
+ isRemoved: boolean;
59
+ };
60
+ DEPRECATE_PROMISE_PROXY_MIXIN: {
61
+ options: DeprecationOptions;
62
+ test: boolean;
63
+ isEnabled: boolean;
64
+ isRemoved: boolean;
65
+ };
36
66
  };
37
67
  export function deprecateUntil(message: string, deprecation: DeprecationObject): void;
38
68
  export {};
@@ -104,7 +104,7 @@ declare module '@ember/-internals/glimmer' {
104
104
 
105
105
  ## Looking for template keywords and helpers?
106
106
 
107
- See [@ember/helper](../modules/@ember%2Fhelper).
107
+ See [@ember/helper](../../modules/@ember%2Fhelper).
108
108
 
109
109
  @class Ember.Templates.helpers
110
110
  @public
@@ -0,0 +1,22 @@
1
+ declare module '@ember/-internals/metal/lib/evented-methods' {
2
+ export function eventedOn(
3
+ obj: object,
4
+ name: string,
5
+ target: object | Function | null,
6
+ method?: Function | PropertyKey
7
+ ): void;
8
+ export function eventedOne(
9
+ obj: object,
10
+ name: string,
11
+ target: object | Function | null,
12
+ method?: Function | PropertyKey
13
+ ): void;
14
+ export function eventedTrigger(obj: object, name: string, args: any[]): void;
15
+ export function eventedOff(
16
+ obj: object,
17
+ name: string,
18
+ target: object | Function | null,
19
+ method?: string | Function
20
+ ): void;
21
+ export function eventedHas(obj: object, name: string): boolean;
22
+ }
@@ -99,6 +99,7 @@ declare module '@ember/-internals/metal/lib/events' {
99
99
 
100
100
  @method on
101
101
  @static
102
+ @deprecated Use native JavaScript events or a dedicated event library instead.
102
103
  @for @ember/object/evented
103
104
  @param {String} eventNames*
104
105
  @param {Function} func
@@ -0,0 +1,13 @@
1
+ declare module '@ember/-internals/utils/lib/internal-mixin-create' {
2
+ /**
3
+ Key for the internal Mixin constructor.
4
+
5
+ Ember's own internals are built on mixins, so they need a way to construct
6
+ one without triggering the mixin deprecation that `Mixin.create` emits. This
7
+ is deliberately a Symbol so that it does not show up as a discoverable
8
+ property name and cannot be reached by name from application code.
9
+
10
+ @private
11
+ */
12
+ export const INTERNAL_MIXIN_CREATE: unique symbol;
13
+ }
@@ -2,6 +2,7 @@ declare module '@ember/-internals/views' {
2
2
  export { addChildView, isSimpleClick, getViewBounds, getViewClientRects, getViewBoundingClientRect, getRootViews, getChildViews, getViewId, getElementView, getViewElement, setElementView, setViewElement, clearElementView, clearViewElement, constructStyleDeprecationMessage, } from "@ember/-internals/views/lib/system/utils";
3
3
  export { default as EventDispatcher } from "@ember/-internals/views/lib/system/event_dispatcher";
4
4
  export { default as CoreView } from "@ember/-internals/views/lib/views/core_view";
5
+ export { sendCoreViewEvent, hasCoreViewListener } from "@ember/-internals/views/lib/views/core-view-utils";
5
6
  export { default as ActionSupport } from "@ember/-internals/views/lib/mixins/action_support";
6
7
  export { MUTABLE_CELL } from "@ember/-internals/views/lib/compat/attrs";
7
8
  export { default as ViewStates } from "@ember/-internals/views/lib/views/states";
@@ -0,0 +1,5 @@
1
+ declare module '@ember/-internals/views/lib/views/core-view-utils' {
2
+ import type CoreView from "@ember/-internals/views/lib/views/core_view";
3
+ export function sendCoreViewEvent(view: CoreView, name: string, args?: any[]): any;
4
+ export function hasCoreViewListener(view: CoreView, name: string): boolean;
5
+ }
@@ -1,7 +1,6 @@
1
1
  declare module '@ember/-internals/views/lib/views/core_view' {
2
2
  import type { Renderer, View } from "@ember/-internals/glimmer/lib/renderer";
3
3
  import ActionHandler from "@ember/-internals/runtime/lib/mixins/action_handler";
4
- import Evented from "@ember/object/evented";
5
4
  import type { ViewState } from "@ember/-internals/views/lib/views/states";
6
5
  import states from "@ember/-internals/views/lib/views/states";
7
6
  /**
@@ -20,7 +19,7 @@ declare module '@ember/-internals/views/lib/views/core_view' {
20
19
  @uses Ember.ActionHandler
21
20
  @private
22
21
  */
23
- interface CoreView extends Evented, ActionHandler, View {
22
+ interface CoreView extends ActionHandler, View {
24
23
  }
25
24
  const CoreView_base: Readonly<typeof import("@ember/object").default> & (new (owner?: import("@ember/owner").default) => import("@ember/object").default) & import("@ember/object/mixin").default;
26
25
  class CoreView extends CoreView_base {
@@ -28,8 +27,6 @@ declare module '@ember/-internals/views/lib/views/core_view' {
28
27
  _states: typeof states;
29
28
  _state: keyof typeof states;
30
29
  _currentState: ViewState;
31
- _superTrigger?: Evented["trigger"];
32
- _superHas?: Evented["has"];
33
30
  /**
34
31
  If the view is currently inserted into the DOM of a parent view, this
35
32
  property will point to the parent of the view.
@@ -43,6 +40,10 @@ declare module '@ember/-internals/views/lib/views/core_view' {
43
40
  init(properties: object | undefined): void;
44
41
  renderer: Renderer;
45
42
  instrumentDetails(hash: Record<string, unknown>): Record<string, unknown>;
43
+ on<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
44
+ on(name: string, method: ((...args: any[]) => void) | string): this;
45
+ one<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
46
+ one(name: string, method: string | ((...args: any[]) => void)): this;
46
47
  /**
47
48
  Override the default event firing from `Evented` to
48
49
  also call methods with the given name.
@@ -51,8 +52,10 @@ declare module '@ember/-internals/views/lib/views/core_view' {
51
52
  @param name {String}
52
53
  @private
53
54
  */
54
- _trigger(name: string, ...args: any[]): any;
55
- _has(name: string): boolean;
55
+ trigger(name: string, ...args: any[]): any;
56
+ off<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
57
+ off(name: string, method: string | ((...args: any[]) => void)): this;
58
+ has(name: string): boolean;
56
59
  static isViewFactory: boolean;
57
60
  }
58
61
  export default CoreView;
@@ -68,6 +68,7 @@ declare module '@ember/array/proxy' {
68
68
  @extends EmberObject
69
69
  @uses MutableArray
70
70
  @public
71
+ @deprecated Use a tracked array or a native `Proxy` instead.
71
72
  */
72
73
  interface ArrayProxy<T> extends MutableArray<T> {
73
74
  /**
@@ -43,6 +43,7 @@ declare module '@ember/object/evented' {
43
43
 
44
44
  @class Evented
45
45
  @public
46
+ @deprecated Use native JavaScript events or a dedicated event library instead.
46
47
  */
47
48
  interface Evented {
48
49
  /**
@@ -60,6 +61,7 @@ declare module '@ember/object/evented' {
60
61
  parameter is used the callback method becomes the third argument.
61
62
 
62
63
  @method on
64
+ @deprecated Use native JavaScript events or a dedicated event library instead.
63
65
  @param {String} name The name of the event
64
66
  @param {Object} [target] The "this" binding for the callback
65
67
  @param {Function|String} method A function or the name of a function to be called on `target`
@@ -78,6 +80,7 @@ declare module '@ember/object/evented' {
78
80
  becomes the third argument.
79
81
 
80
82
  @method one
83
+ @deprecated Use native JavaScript events or a dedicated event library instead.
81
84
  @param {String} name The name of the event
82
85
  @param {Object} [target] The "this" binding for the callback
83
86
  @param {Function|String} method A function or the name of a function to be called on `target`
@@ -102,6 +105,7 @@ declare module '@ember/object/evented' {
102
105
  ```
103
106
 
104
107
  @method trigger
108
+ @deprecated Use native JavaScript events or a dedicated event library instead.
105
109
  @param {String} name The name of the event
106
110
  @param {Object...} args Optional arguments to pass on
107
111
  @public
@@ -111,6 +115,7 @@ declare module '@ember/object/evented' {
111
115
  Cancels subscription for given name, target, and method.
112
116
 
113
117
  @method off
118
+ @deprecated Use native JavaScript events or a dedicated event library instead.
114
119
  @param {String} name The name of the event
115
120
  @param {Object} target The target of the subscription
116
121
  @param {Function|String} method The function or the name of a function of the subscription
@@ -123,6 +128,7 @@ declare module '@ember/object/evented' {
123
128
  Checks to see if object has any subscriptions for named event.
124
129
 
125
130
  @method has
131
+ @deprecated Use native JavaScript events or a dedicated event library instead.
126
132
  @param {String} name The name of the event
127
133
  @return {Boolean} does the object have a subscription for event
128
134
  @public
@@ -1,3 +1,28 @@
1
1
  declare module '@ember/object/events' {
2
- export { addListener, removeListener, sendEvent } from "@ember/-internals/metal/lib/events";
2
+ import { sendEvent as originalSendEvent } from "@ember/-internals/metal/lib/events";
3
+ export function addListener<Target>(
4
+ obj: object,
5
+ eventName: string,
6
+ target: Target,
7
+ method: PropertyKey | ((this: Target, ...args: any[]) => void),
8
+ once?: boolean,
9
+ sync?: boolean
10
+ ): void;
11
+ export function addListener(
12
+ obj: object,
13
+ eventName: string,
14
+ method: PropertyKey | ((...args: any[]) => void)
15
+ ): void;
16
+ export function removeListener<Target>(
17
+ obj: object,
18
+ eventName: string,
19
+ target: Target,
20
+ method: PropertyKey | ((this: Target, ...args: any[]) => void)
21
+ ): void;
22
+ export function removeListener(
23
+ obj: object,
24
+ eventName: string,
25
+ method: PropertyKey | ((...args: any[]) => void)
26
+ ): void;
27
+ export const sendEvent: (...args: Parameters<typeof originalSendEvent>) => boolean;
3
28
  }
@@ -3,6 +3,7 @@ declare module '@ember/object/mixin' {
3
3
  @module @ember/object/mixin
4
4
  */
5
5
  import { INIT_FACTORY } from "@ember/-internals/container/lib/container";
6
+ import { INTERNAL_MIXIN_CREATE } from "@ember/-internals/utils/lib/internal-mixin-create";
6
7
  export function applyMixin(
7
8
  obj: Record<string, any>,
8
9
  mixins: Array<Mixin | Record<string, unknown>>,
@@ -125,6 +126,8 @@ declare module '@ember/object/mixin' {
125
126
  */
126
127
  static create<M extends typeof Mixin>(...args: any[]): InstanceType<M>;
127
128
  /** @internal */
129
+ static [INTERNAL_MIXIN_CREATE]<M extends typeof Mixin>(...args: any[]): InstanceType<M>;
130
+ /** @internal */
128
131
  static mixins(obj: object): Mixin[];
129
132
  /**
130
133
  @method reopen
@@ -62,6 +62,7 @@ declare module '@ember/object/promise-proxy-mixin' {
62
62
 
63
63
  @class PromiseProxyMixin
64
64
  @public
65
+ @deprecated Use native `async`/`await` and promises directly instead.
65
66
  */
66
67
  interface PromiseProxyMixin<T> {
67
68
  /**
@@ -80,6 +80,7 @@ declare module '@ember/object/proxy' {
80
80
  @extends EmberObject
81
81
  @uses Ember.ProxyMixin
82
82
  @public
83
+ @deprecated Use tracked properties or a native `Proxy` instead.
83
84
  */
84
85
  interface ObjectProxy<Content = unknown> extends _ProxyMixin<Content> {
85
86
  get<K extends keyof Content>(keyName: K): Content[K];
@@ -96,6 +97,7 @@ declare module '@ember/object/proxy' {
96
97
  setProperties<T extends Record<string, unknown>>(hash: T): T;
97
98
  }
98
99
  class ObjectProxy<Content = unknown> extends FrameworkObject {
100
+ init(properties: object | undefined): void;
99
101
  }
100
102
  export default ObjectProxy;
101
103
  }
@@ -2,7 +2,6 @@ declare module '@ember/routing/route' {
2
2
  import type Owner from "@ember/owner";
3
3
  import type { default as BucketCache } from "@ember/routing/lib/cache";
4
4
  import EmberObject from "@ember/object";
5
- import Evented from "@ember/object/evented";
6
5
  import ActionHandler from "@ember/-internals/runtime/lib/mixins/action_handler";
7
6
  import type { AnyFn } from "@ember/-internals/utility-types";
8
7
  import Controller from "@ember/controller";
@@ -45,7 +44,7 @@ declare module '@ember/routing/route' {
45
44
  @since 1.0.0
46
45
  @public
47
46
  */
48
- interface Route<Model = unknown> extends IRoute<Model>, ActionHandler, Evented {
47
+ interface Route<Model = unknown> extends IRoute<Model>, ActionHandler {
49
48
  /**
50
49
  The `willTransition` action is fired at the beginning of any
51
50
  attempted transition with a `Transition` object as the sole
@@ -582,6 +581,14 @@ declare module '@ember/routing/route' {
582
581
  @method exit
583
582
  */
584
583
  exit(transition?: Transition): void;
584
+ on<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
585
+ on(name: string, method: ((...args: any[]) => void) | string): this;
586
+ one<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
587
+ one(name: string, method: string | ((...args: any[]) => void)): this;
588
+ trigger(name: string, ...args: any[]): void;
589
+ off<Target>(name: string, target: Target, method: string | ((this: Target, ...args: any[]) => void)): this;
590
+ off(name: string, method: string | ((...args: any[]) => void)): this;
591
+ has(name: string): boolean;
585
592
  /**
586
593
  @private
587
594
 
@@ -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
+ }