ember-source 7.1.0-alpha.4 → 7.1.0-alpha.5

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 (481) hide show
  1. package/build-metadata.json +3 -3
  2. package/dist/dev/packages/@ember/-internals/container/index.js +4 -401
  3. package/dist/dev/packages/@ember/-internals/deprecations/index.js +1 -1
  4. package/dist/dev/packages/@ember/-internals/environment/index.js +3 -161
  5. package/dist/dev/packages/@ember/-internals/glimmer/index.js +14 -15
  6. package/dist/dev/packages/@ember/-internals/meta/lib/meta.js +0 -1
  7. package/dist/dev/packages/@ember/-internals/metal/index.js +18 -9
  8. package/dist/dev/packages/@ember/-internals/routing/index.js +1 -10
  9. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +10 -12
  10. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +1 -10
  11. package/dist/dev/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -10
  12. package/dist/dev/packages/@ember/-internals/string/index.js +0 -1
  13. package/dist/dev/packages/@ember/-internals/utils/index.js +8 -3
  14. package/dist/dev/packages/@ember/-internals/views/lib/compat/fallback-view-registry.js +0 -1
  15. package/dist/dev/packages/@ember/-internals/views/lib/mixins/action_support.js +3 -12
  16. package/dist/dev/packages/@ember/-internals/views/lib/system/event_dispatcher.js +2 -11
  17. package/dist/dev/packages/@ember/-internals/views/lib/system/utils.js +1 -1
  18. package/dist/dev/packages/@ember/-internals/views/lib/views/core_view.js +1 -18
  19. package/dist/dev/packages/@ember/-internals/views/lib/views/states.js +1 -1
  20. package/dist/dev/packages/@ember/application/index.js +5 -28
  21. package/dist/dev/packages/@ember/application/instance.js +3 -22
  22. package/dist/dev/packages/@ember/application/namespace.js +4 -11
  23. package/dist/dev/packages/@ember/array/index.js +7 -15
  24. package/dist/dev/packages/@ember/array/proxy.js +10 -14
  25. package/dist/dev/packages/@ember/canary-features/index.js +1 -1
  26. package/dist/dev/packages/@ember/component/helper.js +1 -14
  27. package/dist/dev/packages/@ember/component/index.js +1355 -16
  28. package/dist/dev/packages/@ember/component/template-only.js +1 -9
  29. package/dist/dev/packages/@ember/controller/index.js +3 -19
  30. package/dist/dev/packages/@ember/debug/container-debug-adapter.js +0 -19
  31. package/dist/dev/packages/@ember/debug/data-adapter.js +4 -11
  32. package/dist/dev/packages/@ember/debug/index.js +1 -1
  33. package/dist/dev/packages/@ember/debug/lib/deprecate.js +1 -1
  34. package/dist/dev/packages/@ember/engine/index.js +3 -29
  35. package/dist/dev/packages/@ember/engine/instance.js +3 -8
  36. package/dist/dev/packages/@ember/helper/index.js +169 -21
  37. package/dist/dev/packages/@ember/instrumentation/index.js +1 -1
  38. package/dist/dev/packages/@ember/modifier/index.js +2 -16
  39. package/dist/dev/packages/@ember/modifier/on.js +1 -9
  40. package/dist/dev/packages/@ember/object/-internals.js +3 -11
  41. package/dist/dev/packages/@ember/object/compat.js +3 -10
  42. package/dist/dev/packages/@ember/object/computed.js +2 -12
  43. package/dist/dev/packages/@ember/object/core.js +10 -18
  44. package/dist/dev/packages/@ember/object/evented.js +2 -12
  45. package/dist/dev/packages/@ember/object/events.js +1 -11
  46. package/dist/dev/packages/@ember/object/index.js +10 -14
  47. package/dist/dev/packages/@ember/object/internals.js +1 -1
  48. package/dist/dev/packages/@ember/object/lib/computed/computed_macros.js +6 -23
  49. package/dist/dev/packages/@ember/object/lib/computed/reduce_computed_macros.js +3 -12
  50. package/dist/dev/packages/@ember/object/mixin.js +7 -10
  51. package/dist/dev/packages/@ember/object/observable.js +8 -12
  52. package/dist/dev/packages/@ember/object/observers.js +1 -11
  53. package/dist/dev/packages/@ember/object/promise-proxy-mixin.js +3 -13
  54. package/dist/dev/packages/@ember/object/proxy.js +0 -7
  55. package/dist/dev/packages/@ember/reactive/collections.js +589 -1
  56. package/dist/dev/packages/@ember/renderer/index.js +1 -14
  57. package/dist/dev/packages/@ember/routing/-internals.js +1 -10
  58. package/dist/dev/packages/@ember/routing/index.js +614 -14
  59. package/dist/dev/packages/@ember/routing/lib/generate_controller.js +2 -11
  60. package/dist/dev/packages/@ember/routing/lib/routing-service.js +7 -17
  61. package/dist/dev/packages/@ember/routing/lib/utils.js +2 -11
  62. package/dist/dev/packages/@ember/routing/route.js +12 -23
  63. package/dist/dev/packages/@ember/routing/router-service.js +8 -17
  64. package/dist/dev/packages/@ember/routing/router.js +5 -21
  65. package/dist/dev/packages/@ember/runloop/index.js +1 -10
  66. package/dist/dev/packages/@ember/service/index.js +1 -11
  67. package/dist/dev/packages/@ember/template/index.js +1 -14
  68. package/dist/dev/packages/@ember/template-compiler/lib/compile-options.js +12 -15
  69. package/dist/dev/packages/@ember/template-compiler/lib/dasherize-component-name.js +0 -1
  70. package/dist/dev/packages/@ember/template-compiler/lib/plugins/auto-import-builtins.js +13 -60
  71. package/dist/dev/packages/@ember/template-compiler/lib/plugins/index.js +1 -1
  72. package/dist/dev/packages/@ember/template-compiler/lib/plugins/transform-resolutions.js +1 -3
  73. package/dist/dev/packages/@ember/template-compiler/lib/template.js +2 -10
  74. package/dist/dev/packages/@ember/template-factory/index.js +1 -8
  75. package/dist/dev/packages/@ember/utils/lib/compare.js +0 -7
  76. package/dist/dev/packages/@ember/utils/lib/is_empty.js +1 -12
  77. package/dist/dev/packages/@glimmer/manager/index.js +4 -314
  78. package/dist/dev/packages/@glimmer/node/index.js +3 -11
  79. package/dist/dev/packages/@glimmer/opcode-compiler/index.js +5 -7
  80. package/dist/dev/packages/@glimmer/program/index.js +194 -3
  81. package/dist/dev/packages/@glimmer/reference/index.js +4 -5
  82. package/dist/dev/packages/@glimmer/runtime/index.js +17 -10
  83. package/dist/dev/packages/@glimmer/tracking/index.js +2 -11
  84. package/dist/dev/packages/@glimmer/tracking/primitives/cache/index.js +1 -11
  85. package/dist/dev/packages/@glimmer/util/index.js +1 -2
  86. package/dist/dev/packages/@glimmer/validator/index.js +4 -1253
  87. package/dist/dev/packages/@glimmer/vm/index.js +1 -1
  88. package/dist/dev/packages/@glimmer/wire-format/index.js +3 -65
  89. package/dist/dev/packages/ember/version.js +1 -1
  90. package/dist/dev/packages/ember-template-compiler/index.js +7 -7
  91. package/dist/dev/packages/shared-chunks/{alias-CSC0WIbj.js → alias-ZcMQckQV.js} +8 -4
  92. package/dist/dev/packages/shared-chunks/api-AYt3zE12.js +310 -0
  93. package/dist/dev/packages/shared-chunks/{api-BQMslHhq.js → api-WvJPuo9z.js} +4 -5
  94. package/dist/dev/packages/shared-chunks/{args-proxy-DgXMc9b5.js → args-proxy-BNLuRFlO.js} +2 -4
  95. package/dist/dev/packages/shared-chunks/{array-D8PfjQHi.js → array-Bh_kUjzy.js} +2 -1
  96. package/dist/dev/packages/shared-chunks/cache-B7dqAS38.js +596 -0
  97. package/dist/dev/packages/shared-chunks/{capabilities-O_xc7Yqk.js → capabilities-CZkuOqqC.js} +0 -5
  98. package/dist/dev/packages/shared-chunks/chain-tags-D6tuFUj_.js +190 -0
  99. package/dist/dev/packages/shared-chunks/{collections-D_nY_0UJ.js → collections-DPkjqeA3.js} +0 -1
  100. package/dist/dev/packages/shared-chunks/{compiler-D1leQ3Gl.js → compiler-CXB_8GdR.js} +7043 -234
  101. package/dist/dev/packages/shared-chunks/computed-CJnghmXC.js +980 -0
  102. package/dist/dev/packages/shared-chunks/container-BzzHmCNj.js +404 -0
  103. package/dist/dev/packages/shared-chunks/curly-CvC8E_4-.js +617 -0
  104. package/dist/dev/packages/shared-chunks/{fragment-Cc5k9Oy4.js → curried-BVwSNqpf.js} +5 -288
  105. package/dist/dev/packages/shared-chunks/decorator-B5Uh5NFI.js +135 -0
  106. package/dist/dev/packages/shared-chunks/element-C-QcIABg.js +109 -0
  107. package/dist/dev/packages/shared-chunks/element-builder-kHVx0F__.js +812 -0
  108. package/dist/dev/packages/shared-chunks/env-g-kaAFLN.js +161 -0
  109. package/dist/dev/packages/shared-chunks/events-6aFVjD4k.js +180 -0
  110. package/dist/dev/packages/shared-chunks/get-CpJjYeJO.js +138 -0
  111. package/dist/dev/packages/shared-chunks/get-debug-name-CSniHBsn.js +45 -0
  112. package/dist/dev/packages/shared-chunks/get_properties-CIm8IAtP.js +55 -0
  113. package/dist/dev/packages/shared-chunks/guid-Cbq2sNV_.js +123 -0
  114. package/dist/dev/packages/shared-chunks/hash-D3BENmhU.js +192 -0
  115. package/dist/dev/packages/shared-chunks/helper-DlC4YesW.js +314 -0
  116. package/dist/dev/packages/shared-chunks/index-CTxkmV78.js +2500 -0
  117. package/dist/dev/packages/shared-chunks/index-D-xTBV4B.js +220 -0
  118. package/dist/dev/packages/shared-chunks/{index-BUPd6pkm.js → index-DmGmwWPJ.js} +29 -29
  119. package/dist/dev/packages/shared-chunks/injected_property-B4T-FzZZ.js +70 -0
  120. package/dist/dev/packages/shared-chunks/intern-zquhAEIg.js +51 -0
  121. package/dist/dev/packages/shared-chunks/internal-CbQSKXEm.js +140 -0
  122. package/dist/dev/packages/shared-chunks/internal-helper-Dsl9_7H_.js +7 -0
  123. package/dist/dev/packages/shared-chunks/{neq-DujMPv1k.js → invoke-B6j6DdDz.js} +4 -32
  124. package/dist/{prod/packages/shared-chunks/is_proxy-Cr1qlMv_.js → dev/packages/shared-chunks/is_proxy-Bzg0d4m4.js} +1 -1
  125. package/dist/dev/packages/shared-chunks/libraries-CHBwbR72.js +79 -0
  126. package/dist/dev/packages/shared-chunks/mandatory-setter-BpbAMTzV.js +107 -0
  127. package/dist/dev/packages/shared-chunks/meta-BmRXesrk.js +46 -0
  128. package/dist/{prod/packages/shared-chunks/name-C68GLLO3.js → dev/packages/shared-chunks/name-Clp4Vsod.js} +1 -1
  129. package/dist/dev/packages/shared-chunks/{namespace_search-uT8odThF.js → namespace_search-BfvzEQzN.js} +1 -2
  130. package/dist/dev/packages/shared-chunks/normalize-CKySQVU7.js +84 -0
  131. package/dist/dev/packages/shared-chunks/observers-C2DurkLG.js +199 -0
  132. package/dist/dev/packages/shared-chunks/on-D8QwT-eN.js +253 -0
  133. package/dist/dev/packages/shared-chunks/opcode-metadata-9iSW5JGP.js +285 -0
  134. package/dist/dev/packages/shared-chunks/opcodes-CplRyHl_.js +50 -0
  135. package/dist/dev/packages/shared-chunks/or-DBU9Ge4r.js +118 -0
  136. package/dist/{prod/packages/shared-chunks/program-B7SJZ5NF.js → dev/packages/shared-chunks/program-DzAfcWFj.js} +1 -1
  137. package/dist/{prod/packages/shared-chunks/program-context-DFiwaPMR.js → dev/packages/shared-chunks/program-context-CqcQMsfa.js} +3 -3
  138. package/dist/dev/packages/shared-chunks/property_get-CIBS9umw.js +139 -0
  139. package/dist/dev/packages/shared-chunks/{property_set-DaoZXGM5.js → property_set-D3PKyisF.js} +4 -2
  140. package/dist/dev/packages/shared-chunks/props-fiqxqhAH.js +85 -0
  141. package/dist/dev/packages/shared-chunks/{reference-C3TKDRnP.js → reference-BoPB2LfI.js} +3 -4
  142. package/dist/dev/packages/shared-chunks/{registers-ylirb0dq.js → registers-DoamZwaG.js} +1 -1
  143. package/dist/{prod/packages/shared-chunks/rehydrate-builder-D3t52iGR.js → dev/packages/shared-chunks/rehydrate-builder-DdzXTaJk.js} +7 -4
  144. package/dist/dev/packages/shared-chunks/{render-DCchifOK.js → render-DDdabL30.js} +510 -15
  145. package/dist/{prod/packages/shared-chunks/serialize-builder-iXiRs1Pg.js → dev/packages/shared-chunks/serialize-builder-B3u9Wr3n.js} +2 -7
  146. package/dist/dev/packages/shared-chunks/set_properties-BghuuGJx.js +48 -0
  147. package/dist/dev/packages/shared-chunks/{setup-registry-DxchCIL2.js → setup-registry-XxD0xvgf.js} +34 -14
  148. package/dist/dev/packages/shared-chunks/spec-BXl1reqK.js +16 -0
  149. package/dist/dev/packages/shared-chunks/super-BBBjgF69.js +91 -0
  150. package/dist/dev/packages/shared-chunks/template-BRrQR6KS.js +16 -0
  151. package/dist/dev/packages/shared-chunks/template-only-Yluyu0DY.js +78 -0
  152. package/dist/dev/packages/shared-chunks/textarea-C0Us0PNJ.js +468 -0
  153. package/dist/dev/packages/shared-chunks/tracked-CKE4wnE6.js +148 -0
  154. package/dist/dev/packages/shared-chunks/tracked-data-CGnA4ytZ.js +31 -0
  155. package/dist/dev/packages/shared-chunks/transform-resolutions-h1ik8gqW.js +645 -0
  156. package/dist/dev/packages/shared-chunks/unique-id-A83bjEE-.js +32 -0
  157. package/dist/{prod/packages/shared-chunks/on-CersD7PL.js → dev/packages/shared-chunks/untouchable-this-cH6_N2LJ.js} +215 -1397
  158. package/dist/dev/packages/shared-chunks/well-known-_EVO9RaV.js +17 -0
  159. package/dist/prod/packages/@ember/-internals/container/index.js +5 -315
  160. package/dist/prod/packages/@ember/-internals/deprecations/index.js +1 -1
  161. package/dist/prod/packages/@ember/-internals/environment/index.js +3 -158
  162. package/dist/prod/packages/@ember/-internals/glimmer/index.js +14 -13
  163. package/dist/prod/packages/@ember/-internals/meta/lib/meta.js +1 -2
  164. package/dist/prod/packages/@ember/-internals/metal/index.js +19 -13
  165. package/dist/prod/packages/@ember/-internals/routing/index.js +2 -6
  166. package/dist/prod/packages/@ember/-internals/runtime/lib/ext/rsvp.js +1 -1
  167. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +10 -10
  168. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +2 -6
  169. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +1 -1
  170. package/dist/prod/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +3 -6
  171. package/dist/prod/packages/@ember/-internals/string/index.js +0 -2
  172. package/dist/prod/packages/@ember/-internals/utils/index.js +33 -30
  173. package/dist/prod/packages/@ember/-internals/views/lib/compat/fallback-view-registry.js +0 -2
  174. package/dist/prod/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -6
  175. package/dist/prod/packages/@ember/-internals/views/lib/system/event_dispatcher.js +3 -7
  176. package/dist/prod/packages/@ember/-internals/views/lib/system/utils.js +2 -2
  177. package/dist/prod/packages/@ember/-internals/views/lib/views/core_view.js +1 -14
  178. package/dist/prod/packages/@ember/-internals/views/lib/views/states.js +1 -2
  179. package/dist/prod/packages/@ember/application/index.js +5 -24
  180. package/dist/prod/packages/@ember/application/instance.js +6 -18
  181. package/dist/prod/packages/@ember/application/namespace.js +5 -8
  182. package/dist/prod/packages/@ember/array/index.js +8 -12
  183. package/dist/prod/packages/@ember/array/proxy.js +10 -10
  184. package/dist/prod/packages/@ember/canary-features/index.js +1 -1
  185. package/dist/prod/packages/@ember/component/helper.js +1 -12
  186. package/dist/prod/packages/@ember/component/index.js +1292 -15
  187. package/dist/prod/packages/@ember/component/template-only.js +1 -6
  188. package/dist/prod/packages/@ember/controller/index.js +3 -16
  189. package/dist/prod/packages/@ember/debug/container-debug-adapter.js +1 -15
  190. package/dist/prod/packages/@ember/debug/data-adapter.js +5 -7
  191. package/dist/prod/packages/@ember/debug/index.js +1 -1
  192. package/dist/prod/packages/@ember/debug/lib/deprecate.js +1 -1
  193. package/dist/prod/packages/@ember/engine/index.js +4 -25
  194. package/dist/prod/packages/@ember/engine/instance.js +4 -9
  195. package/dist/prod/packages/@ember/helper/index.js +169 -19
  196. package/dist/prod/packages/@ember/instrumentation/index.js +1 -1
  197. package/dist/prod/packages/@ember/modifier/index.js +2 -14
  198. package/dist/prod/packages/@ember/modifier/on.js +1 -6
  199. package/dist/prod/packages/@ember/object/-internals.js +3 -6
  200. package/dist/prod/packages/@ember/object/compat.js +4 -7
  201. package/dist/prod/packages/@ember/object/computed.js +2 -8
  202. package/dist/prod/packages/@ember/object/core.js +9 -15
  203. package/dist/prod/packages/@ember/object/evented.js +2 -7
  204. package/dist/prod/packages/@ember/object/events.js +1 -6
  205. package/dist/prod/packages/@ember/object/index.js +10 -12
  206. package/dist/prod/packages/@ember/object/internals.js +3 -6
  207. package/dist/prod/packages/@ember/object/lib/computed/computed_macros.js +6 -20
  208. package/dist/prod/packages/@ember/object/lib/computed/reduce_computed_macros.js +3 -9
  209. package/dist/prod/packages/@ember/object/mixin.js +7 -9
  210. package/dist/prod/packages/@ember/object/observable.js +8 -9
  211. package/dist/prod/packages/@ember/object/observers.js +1 -6
  212. package/dist/prod/packages/@ember/object/promise-proxy-mixin.js +3 -9
  213. package/dist/prod/packages/@ember/object/proxy.js +0 -7
  214. package/dist/prod/packages/@ember/reactive/collections.js +589 -1
  215. package/dist/prod/packages/@ember/renderer/index.js +1 -12
  216. package/dist/prod/packages/@ember/routing/history-location.js +1 -1
  217. package/dist/prod/packages/@ember/routing/index.js +581 -12
  218. package/dist/prod/packages/@ember/routing/lib/dsl.js +1 -1
  219. package/dist/prod/packages/@ember/routing/lib/generate_controller.js +2 -6
  220. package/dist/prod/packages/@ember/routing/lib/routing-service.js +5 -14
  221. package/dist/prod/packages/@ember/routing/lib/utils.js +2 -6
  222. package/dist/prod/packages/@ember/routing/none-location.js +1 -1
  223. package/dist/prod/packages/@ember/routing/route.js +12 -21
  224. package/dist/prod/packages/@ember/routing/router-service.js +6 -14
  225. package/dist/prod/packages/@ember/routing/router.js +5 -17
  226. package/dist/prod/packages/@ember/runloop/index.js +2 -6
  227. package/dist/prod/packages/@ember/service/index.js +1 -7
  228. package/dist/prod/packages/@ember/template/index.js +1 -12
  229. package/dist/prod/packages/@ember/template-compiler/lib/compile-options.js +13 -14
  230. package/dist/prod/packages/@ember/template-compiler/lib/dasherize-component-name.js +0 -2
  231. package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-against-attrs.js +1 -1
  232. package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-against-named-outlets.js +1 -1
  233. package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-input-helper-without-block.js +1 -1
  234. package/dist/prod/packages/@ember/template-compiler/lib/plugins/assert-reserved-named-arguments.js +1 -1
  235. package/dist/prod/packages/@ember/template-compiler/lib/plugins/auto-import-builtins.js +13 -60
  236. package/dist/prod/packages/@ember/template-compiler/lib/plugins/index.js +1 -1
  237. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-each-track-array.js +1 -1
  238. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-in-element.js +1 -1
  239. package/dist/prod/packages/@ember/template-compiler/lib/plugins/transform-resolutions.js +127 -4
  240. package/dist/prod/packages/@ember/template-compiler/lib/template.js +2 -7
  241. package/dist/prod/packages/@ember/template-factory/index.js +1 -5
  242. package/dist/prod/packages/@ember/utils/lib/compare.js +1 -8
  243. package/dist/prod/packages/@ember/utils/lib/is_empty.js +1 -7
  244. package/dist/prod/packages/@glimmer/manager/index.js +4 -292
  245. package/dist/prod/packages/@glimmer/node/index.js +3 -8
  246. package/dist/prod/packages/@glimmer/opcode-compiler/index.js +5 -5
  247. package/dist/prod/packages/@glimmer/program/index.js +194 -3
  248. package/dist/prod/packages/@glimmer/reference/index.js +4 -4
  249. package/dist/prod/packages/@glimmer/runtime/index.js +16 -8
  250. package/dist/prod/packages/@glimmer/tracking/index.js +2 -7
  251. package/dist/prod/packages/@glimmer/tracking/primitives/cache/index.js +1 -6
  252. package/dist/prod/packages/@glimmer/util/index.js +2 -2
  253. package/dist/prod/packages/@glimmer/validator/index.js +5 -1016
  254. package/dist/prod/packages/@glimmer/vm/index.js +1 -1
  255. package/dist/prod/packages/@glimmer/wire-format/index.js +3 -65
  256. package/dist/prod/packages/ember/version.js +1 -1
  257. package/dist/prod/packages/ember-template-compiler/index.js +5 -7
  258. package/dist/prod/packages/shared-chunks/{alias-BLBQkche.js → alias-CLuFeKoV.js} +8 -6
  259. package/dist/prod/packages/shared-chunks/api-CM1trl_4.js +289 -0
  260. package/dist/prod/packages/shared-chunks/{api-B5UrgITK.js → api-zh_k31vb.js} +4 -5
  261. package/dist/prod/packages/shared-chunks/{args-proxy-Dl0A0YWI.js → args-proxy-BDXbXCF9.js} +2 -2
  262. package/dist/prod/packages/shared-chunks/{array-kVQfzrQn.js → array-DHdr4__s.js} +3 -3
  263. package/dist/prod/packages/shared-chunks/assert-CUCJBR2C.js +19 -0
  264. package/dist/prod/packages/shared-chunks/cache-BIlOoPA7.js +371 -0
  265. package/dist/prod/packages/shared-chunks/{capabilities-DXA-L0iT.js → capabilities-_5e35539.js} +0 -3
  266. package/dist/prod/packages/shared-chunks/chain-tags-BJqcuCM1.js +179 -0
  267. package/dist/prod/packages/shared-chunks/{compiler-Bbki2GT_.js → compiler-DjQtTQGk.js} +7045 -193
  268. package/dist/prod/packages/shared-chunks/{namespace_search-Dcdalhj6.js → computed-2Udcmflw.js} +109 -239
  269. package/dist/prod/packages/shared-chunks/container-D5NwW5Fd.js +316 -0
  270. package/dist/prod/packages/shared-chunks/curly-BsqvV8G0.js +546 -0
  271. package/dist/prod/packages/shared-chunks/{fragment-D7nBU9ae.js → curried-BVwSNqpf.js} +6 -303
  272. package/dist/prod/packages/shared-chunks/debug-render-tree-BLtnOSbb.js +2049 -0
  273. package/dist/prod/packages/shared-chunks/{decorator-BdDDBUd2.js → decorator-DBCISop4.js} +1 -1
  274. package/dist/prod/packages/shared-chunks/element-BjFr0tO0.js +101 -0
  275. package/dist/prod/packages/shared-chunks/{element-builder-CzXb9l1W.js → element-builder-BPjq0rxK.js} +109 -88
  276. package/dist/prod/packages/shared-chunks/env-DXxsTFkM.js +158 -0
  277. package/dist/prod/packages/shared-chunks/events-970OxD6Q.js +175 -0
  278. package/dist/prod/packages/shared-chunks/get-D5wxdTkY.js +138 -0
  279. package/dist/prod/packages/shared-chunks/get_properties-BcAC5sGx.js +55 -0
  280. package/dist/prod/packages/shared-chunks/guid-Cbq2sNV_.js +123 -0
  281. package/dist/prod/packages/shared-chunks/hash-DcUe-meU.js +192 -0
  282. package/dist/prod/packages/shared-chunks/helper-Da672z4a.js +299 -0
  283. package/dist/prod/packages/shared-chunks/{index-CjaDF9kC.js → index--2U-v2nf.js} +18 -10
  284. package/dist/prod/packages/shared-chunks/index-D-xTBV4B.js +220 -0
  285. package/dist/prod/packages/shared-chunks/index-D87qoERP.js +2322 -0
  286. package/dist/prod/packages/shared-chunks/{injected_property-CTVs5FPh.js → injected_property-D9B-fPiH.js} +3 -3
  287. package/dist/prod/packages/shared-chunks/intern-zquhAEIg.js +51 -0
  288. package/dist/prod/packages/shared-chunks/internal-DidurjJB.js +137 -0
  289. package/dist/prod/packages/shared-chunks/internal-helper-DIbr1RgC.js +7 -0
  290. package/dist/prod/packages/shared-chunks/{neq-BqdovTuC.js → invoke-Dr_CRwA_.js} +4 -24
  291. package/dist/{dev/packages/shared-chunks/is_proxy-B0smdQy8.js → prod/packages/shared-chunks/is_proxy-Bzg0d4m4.js} +1 -1
  292. package/dist/prod/packages/shared-chunks/libraries-DaXpIDYN.js +60 -0
  293. package/dist/prod/packages/shared-chunks/meta-B9mldqPL.js +36 -0
  294. package/dist/{dev/packages/shared-chunks/name-Z7dpqvzn.js → prod/packages/shared-chunks/name-Clp4Vsod.js} +1 -1
  295. package/dist/prod/packages/shared-chunks/namespace_search-BfvzEQzN.js +134 -0
  296. package/dist/prod/packages/shared-chunks/normalize-D9jDJVGg.js +84 -0
  297. package/dist/prod/packages/shared-chunks/observers-Co4JALkS.js +199 -0
  298. package/dist/prod/packages/shared-chunks/on-C3ZQiUUD.js +228 -0
  299. package/dist/prod/packages/shared-chunks/opcode-metadata-9iSW5JGP.js +285 -0
  300. package/dist/prod/packages/shared-chunks/opcodes-CplRyHl_.js +50 -0
  301. package/dist/prod/packages/shared-chunks/or-oTVMuHc8.js +91 -0
  302. package/dist/{dev/packages/shared-chunks/program-DfV0v8aa.js → prod/packages/shared-chunks/program-B7CWdS8W.js} +1 -2
  303. package/dist/{dev/packages/shared-chunks/program-context-sJz0oHOA.js → prod/packages/shared-chunks/program-context-CGMN-aQM.js} +3 -3
  304. package/dist/prod/packages/shared-chunks/property_get-hWJ0nGhW.js +122 -0
  305. package/dist/prod/packages/shared-chunks/{property_set-B2sZxeCw.js → property_set-Dj5-ScWk.js} +4 -5
  306. package/dist/prod/packages/shared-chunks/props-fiqxqhAH.js +85 -0
  307. package/dist/prod/packages/shared-chunks/{reference-BNqcwZWH.js → reference-BshxG6wn.js} +3 -3
  308. package/dist/prod/packages/shared-chunks/{registers-ylirb0dq.js → registers-DoamZwaG.js} +1 -1
  309. package/dist/{dev/packages/shared-chunks/rehydrate-builder-BRH0p0wA.js → prod/packages/shared-chunks/rehydrate-builder-BKg2X6Lo.js} +7 -7
  310. package/dist/prod/packages/shared-chunks/{render-D78XHdek.js → render-nx5-PsDW.js} +487 -12
  311. package/dist/{dev/packages/shared-chunks/serialize-builder-DiO7Ak9_.js → prod/packages/shared-chunks/serialize-builder-BGbC30SN.js} +2 -10
  312. package/dist/prod/packages/shared-chunks/set_properties-oPyURk67.js +48 -0
  313. package/dist/prod/packages/shared-chunks/{setup-registry-Cs-7NIJU.js → setup-registry-TiaKLj5k.js} +35 -13
  314. package/dist/prod/packages/shared-chunks/spec-BXl1reqK.js +16 -0
  315. package/dist/prod/packages/shared-chunks/super-BBBjgF69.js +91 -0
  316. package/dist/prod/packages/shared-chunks/template-BRrQR6KS.js +16 -0
  317. package/dist/prod/packages/shared-chunks/template-only-BtLl0uH0.js +78 -0
  318. package/dist/prod/packages/shared-chunks/textarea-CPKZ1c_O.js +455 -0
  319. package/dist/prod/packages/shared-chunks/{tracked-Cl5l4v8b.js → tracked-CffAABMz.js} +6 -4
  320. package/dist/prod/packages/shared-chunks/tracked-data-C83f5V5S.js +31 -0
  321. package/dist/prod/packages/shared-chunks/unique-id-CfHImDRV.js +32 -0
  322. package/dist/prod/packages/shared-chunks/well-known-_EVO9RaV.js +17 -0
  323. package/docs/data.json +1263 -1029
  324. package/package.json +1 -1
  325. package/types/stable/@ember/-internals/container/lib/registry.d.ts +1 -1
  326. package/types/stable/@ember/-internals/deprecations/index.d.ts +1 -1
  327. package/types/stable/@ember/-internals/glimmer/index.d.ts +1 -1
  328. package/types/stable/@ember/-internals/glimmer/lib/component-managers/curly.d.ts +1 -1
  329. package/types/stable/@ember/-internals/glimmer/lib/component-managers/mount.d.ts +1 -1
  330. package/types/stable/@ember/-internals/glimmer/lib/component-managers/outlet.d.ts +1 -1
  331. package/types/stable/@ember/-internals/glimmer/lib/component-managers/route-template.d.ts +2 -2
  332. package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +9 -7
  333. package/types/stable/@ember/-internals/glimmer/lib/components/abstract-input.d.ts +1 -1
  334. package/types/stable/@ember/-internals/glimmer/lib/dom.d.ts +6 -2
  335. package/types/stable/@ember/-internals/glimmer/lib/environment.d.ts +1 -1
  336. package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +1 -1
  337. package/types/stable/@ember/-internals/glimmer/lib/renderer.d.ts +3 -3
  338. package/types/stable/@ember/-internals/glimmer/lib/setup-registry.d.ts +1 -1
  339. package/types/stable/@ember/-internals/glimmer/lib/utils/bindings.d.ts +1 -1
  340. package/types/stable/@ember/-internals/glimmer/lib/utils/curly-component-state-bucket.d.ts +3 -2
  341. package/types/stable/@ember/-internals/glimmer/lib/utils/iterator.d.ts +1 -1
  342. package/types/stable/@ember/-internals/glimmer/lib/utils/managers.d.ts +2 -1
  343. package/types/stable/@ember/-internals/glimmer/lib/utils/serialization-first-node-helpers.d.ts +1 -1
  344. package/types/stable/@ember/-internals/glimmer/lib/utils/string.d.ts +1 -1
  345. package/types/stable/@ember/-internals/meta/lib/meta.d.ts +3 -2
  346. package/types/stable/@ember/-internals/metal/lib/cache.d.ts +1 -1
  347. package/types/stable/@ember/-internals/metal/lib/chain-tags.d.ts +3 -2
  348. package/types/stable/@ember/-internals/metal/lib/computed.d.ts +1 -1
  349. package/types/stable/@ember/-internals/metal/lib/decorator.d.ts +1 -1
  350. package/types/stable/@ember/-internals/metal/lib/deprecate_property.d.ts +1 -1
  351. package/types/stable/@ember/-internals/metal/lib/events.d.ts +1 -1
  352. package/types/stable/@ember/-internals/metal/lib/observer.d.ts +1 -1
  353. package/types/stable/@ember/-internals/metal/lib/properties.d.ts +1 -1
  354. package/types/stable/@ember/-internals/metal/lib/property_events.d.ts +1 -1
  355. package/types/stable/@ember/-internals/metal/lib/tags.d.ts +2 -1
  356. package/types/stable/@ember/-internals/runtime/lib/mixins/container_proxy.d.ts +1 -1
  357. package/types/stable/@ember/-internals/runtime/lib/mixins/registry_proxy.d.ts +1 -1
  358. package/types/stable/@ember/-internals/utils/lib/is_proxy.d.ts +1 -1
  359. package/types/stable/@ember/-internals/utils/lib/mandatory-setter.d.ts +1 -1
  360. package/types/stable/@ember/-internals/views/lib/system/utils.d.ts +1 -1
  361. package/types/stable/@ember/-internals/views/lib/views/core_view.d.ts +2 -2
  362. package/types/stable/@ember/-internals/views/lib/views/states.d.ts +1 -1
  363. package/types/stable/@ember/application/index.d.ts +5 -4
  364. package/types/stable/@ember/application/instance.d.ts +4 -3
  365. package/types/stable/@ember/application/namespace.d.ts +1 -1
  366. package/types/stable/@ember/array/proxy.d.ts +4 -3
  367. package/types/stable/@ember/component/helper.d.ts +1 -1
  368. package/types/stable/@ember/component/index.d.ts +6 -3
  369. package/types/stable/@ember/controller/index.d.ts +2 -2
  370. package/types/stable/@ember/debug/container-debug-adapter.d.ts +1 -1
  371. package/types/stable/@ember/engine/index.d.ts +3 -3
  372. package/types/stable/@ember/engine/instance.d.ts +4 -3
  373. package/types/stable/@ember/helper/index.d.ts +177 -5
  374. package/types/stable/@ember/modifier/index.d.ts +1 -1
  375. package/types/stable/@ember/object/-internals.d.ts +2 -2
  376. package/types/stable/@ember/object/compat.d.ts +2 -2
  377. package/types/stable/@ember/object/computed.d.ts +3 -1
  378. package/types/stable/@ember/object/evented.d.ts +1 -1
  379. package/types/stable/@ember/object/events.d.ts +1 -1
  380. package/types/stable/@ember/object/index.d.ts +8 -2
  381. package/types/stable/@ember/object/lib/computed/computed_macros.d.ts +1 -1
  382. package/types/stable/@ember/object/mixin.d.ts +1 -1
  383. package/types/stable/@ember/object/observers.d.ts +1 -1
  384. package/types/stable/@ember/object/proxy.d.ts +1 -1
  385. package/types/stable/@ember/reactive/collections.d.ts +6 -6
  386. package/types/stable/@ember/renderer/index.d.ts +2 -2
  387. package/types/stable/@ember/routing/index.d.ts +1 -1
  388. package/types/stable/@ember/routing/lib/controller_for.d.ts +2 -2
  389. package/types/stable/@ember/routing/route.d.ts +2 -2
  390. package/types/stable/@ember/routing/router.d.ts +2 -2
  391. package/types/stable/@ember/service/index.d.ts +1 -1
  392. package/types/stable/@ember/template/index.d.ts +1 -1
  393. package/types/stable/@ember/template-compiler/lib/dasherize-component-name.d.ts +1 -1
  394. package/types/stable/@ember/template-compiler/lib/plugins/assert-against-attrs.d.ts +1 -1
  395. package/types/stable/@ember/template-compiler/lib/plugins/assert-against-named-outlets.d.ts +1 -1
  396. package/types/stable/@ember/template-compiler/lib/plugins/assert-input-helper-without-block.d.ts +1 -1
  397. package/types/stable/@ember/template-compiler/lib/plugins/assert-reserved-named-arguments.d.ts +1 -1
  398. package/types/stable/@ember/template-compiler/lib/plugins/auto-import-builtins.d.ts +1 -4
  399. package/types/stable/@ember/template-compiler/lib/plugins/transform-action-syntax.d.ts +1 -1
  400. package/types/stable/@ember/template-compiler/lib/plugins/transform-each-in-into-each.d.ts +1 -1
  401. package/types/stable/@ember/template-compiler/lib/plugins/transform-each-track-array.d.ts +1 -1
  402. package/types/stable/@ember/template-compiler/lib/plugins/transform-in-element.d.ts +1 -1
  403. package/types/stable/@ember/template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings.d.ts +1 -1
  404. package/types/stable/@ember/template-compiler/lib/plugins/transform-resolutions.d.ts +1 -1
  405. package/types/stable/@ember/template-compiler/lib/plugins/transform-wrap-mount-and-outlet.d.ts +1 -1
  406. package/types/stable/@ember/template-compiler/lib/plugins/utils.d.ts +1 -1
  407. package/types/stable/@ember/template-compiler/lib/system/calculate-location-display.d.ts +1 -1
  408. package/types/stable/@ember/template-compiler/lib/types.d.ts +2 -1
  409. package/types/stable/@ember/template-factory/index.d.ts +1 -1
  410. package/types/stable/@glimmer/compiler/lib/builder/builder-interface.d.ts +2 -2
  411. package/types/stable/@glimmer/compiler/lib/builder/builder.d.ts +2 -2
  412. package/types/stable/@glimmer/compiler/lib/compiler.d.ts +1 -1
  413. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/context.d.ts +2 -1
  414. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/index.d.ts +2 -1
  415. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/keywords/impl.d.ts +2 -1
  416. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/keywords/utils/curry.d.ts +1 -1
  417. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/keywords/utils/dynamic-vars.d.ts +1 -1
  418. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/keywords/utils/has-block.d.ts +2 -1
  419. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/keywords/utils/if-unless.d.ts +1 -1
  420. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/keywords/utils/log.d.ts +1 -1
  421. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/visitors/element/classified.d.ts +1 -1
  422. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/visitors/element/component.d.ts +1 -1
  423. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/visitors/element/simple-element.d.ts +2 -1
  424. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/visitors/expressions.d.ts +1 -1
  425. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/visitors/statements.d.ts +1 -1
  426. package/types/stable/@glimmer/compiler/lib/passes/1-normalization/visitors/strict-mode.d.ts +1 -1
  427. package/types/stable/@glimmer/compiler/lib/passes/2-encoding/expressions.d.ts +1 -1
  428. package/types/stable/@glimmer/compiler/lib/passes/2-encoding/mir.d.ts +3 -1
  429. package/types/stable/@glimmer/compiler/lib/shared/result.d.ts +1 -1
  430. package/types/stable/@glimmer/manager/lib/public/component.d.ts +1 -1
  431. package/types/stable/@glimmer/manager/lib/util/args-proxy.d.ts +1 -1
  432. package/types/stable/@glimmer/manager/lib/util/capabilities.d.ts +1 -1
  433. package/types/stable/@glimmer/node/lib/node-dom-helper.d.ts +1 -1
  434. package/types/stable/@glimmer/opcode-compiler/lib/opcode-builder/helpers/components.d.ts +1 -1
  435. package/types/stable/@glimmer/runtime/index.d.ts +7 -4
  436. package/types/stable/@glimmer/runtime/lib/compiled/expressions/concat.d.ts +1 -1
  437. package/types/stable/@glimmer/runtime/lib/compiled/opcodes/-debug-strip.d.ts +4 -3
  438. package/types/stable/@glimmer/runtime/lib/compiled/opcodes/component.d.ts +1 -1
  439. package/types/stable/@glimmer/runtime/lib/compiled/opcodes/dom.d.ts +2 -2
  440. package/types/stable/@glimmer/runtime/lib/compiled/opcodes/vm.d.ts +2 -2
  441. package/types/stable/@glimmer/runtime/lib/component/template-only.d.ts +1 -1
  442. package/types/stable/@glimmer/runtime/lib/curried-value.d.ts +1 -1
  443. package/types/stable/@glimmer/runtime/lib/helpers/and.d.ts +3 -0
  444. package/types/stable/@glimmer/runtime/lib/helpers/gt.d.ts +8 -0
  445. package/types/stable/@glimmer/runtime/lib/helpers/gte.d.ts +8 -0
  446. package/types/stable/@glimmer/runtime/lib/helpers/invoke.d.ts +1 -1
  447. package/types/stable/@glimmer/runtime/lib/helpers/lt.d.ts +8 -0
  448. package/types/stable/@glimmer/runtime/lib/helpers/lte.d.ts +8 -0
  449. package/types/stable/@glimmer/runtime/lib/helpers/not.d.ts +3 -0
  450. package/types/stable/@glimmer/runtime/lib/helpers/or.d.ts +3 -0
  451. package/types/stable/@glimmer/runtime/lib/opcodes.d.ts +2 -2
  452. package/types/stable/@glimmer/runtime/lib/references/class-list.d.ts +1 -1
  453. package/types/stable/@glimmer/runtime/lib/references/curry-value.d.ts +1 -1
  454. package/types/stable/@glimmer/runtime/lib/render.d.ts +1 -1
  455. package/types/stable/@glimmer/runtime/lib/scope.d.ts +1 -1
  456. package/types/stable/@glimmer/runtime/lib/vm/append.d.ts +3 -2
  457. package/types/stable/@glimmer/runtime/lib/vm/arguments.d.ts +2 -2
  458. package/types/stable/@glimmer/runtime/lib/vm/content/text.d.ts +1 -1
  459. package/types/stable/@glimmer/runtime/lib/vm/element-builder.d.ts +1 -1
  460. package/types/stable/@glimmer/runtime/lib/vm/low-level.d.ts +2 -1
  461. package/types/stable/@glimmer/runtime/lib/vm/rehydrate-builder.d.ts +1 -1
  462. package/types/stable/@glimmer/runtime/lib/vm/update.d.ts +2 -1
  463. package/types/stable/@glimmer/syntax/lib/keywords.d.ts +2 -2
  464. package/types/stable/@glimmer/tracking/index.d.ts +2 -1
  465. package/types/stable/@glimmer/tracking/primitives/cache.d.ts +1 -1
  466. package/types/stable/index.d.ts +7 -0
  467. package/dist/dev/packages/shared-chunks/constants-BbdWMvgs.js +0 -213
  468. package/dist/dev/packages/shared-chunks/dynamic-CgX8M02_.js +0 -3823
  469. package/dist/dev/packages/shared-chunks/element-builder-BpJIoi99.js +0 -404
  470. package/dist/dev/packages/shared-chunks/index-RzG0Jvjx.js +0 -6306
  471. package/dist/dev/packages/shared-chunks/mandatory-setter-DHZe7-kW.js +0 -425
  472. package/dist/dev/packages/shared-chunks/observers-Bj9qLVau.js +0 -2062
  473. package/dist/dev/packages/shared-chunks/set_properties-kVGzZL_a.js +0 -100
  474. package/dist/dev/packages/shared-chunks/transform-resolutions-D-YtZ0_g.js +0 -7458
  475. package/dist/prod/packages/shared-chunks/constants-DThhT5fu.js +0 -210
  476. package/dist/prod/packages/shared-chunks/index-r-Dz_hzt.js +0 -5931
  477. package/dist/prod/packages/shared-chunks/observers-tZ2aOzr4.js +0 -714
  478. package/dist/prod/packages/shared-chunks/set_properties-C1T46IiN.js +0 -101
  479. package/dist/prod/packages/shared-chunks/super-Cm_a_cLQ.js +0 -275
  480. package/dist/prod/packages/shared-chunks/transform-resolutions-DR4GLmR2.js +0 -6936
  481. package/dist/prod/packages/shared-chunks/{collections-GpG8lT2g.js → collections-C3Y8z_9v.js} +9 -9
@@ -0,0 +1,371 @@
1
+ import { scheduleRevalidate } from '../@glimmer/global-context/index.js';
2
+
3
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
4
+
5
+ function unwrap(val) {
6
+ if (val === null || val === undefined) throw new Error(`Expected value to be present`);
7
+ return val;
8
+ }
9
+
10
+ //////////
11
+
12
+ const CONSTANT = 0;
13
+ const INITIAL = 1;
14
+ const VOLATILE = NaN;
15
+ let $REVISION = INITIAL;
16
+ function bump() {
17
+ $REVISION++;
18
+ }
19
+
20
+ //////////
21
+
22
+ const DIRYTABLE_TAG_ID = 0;
23
+ const UPDATABLE_TAG_ID = 1;
24
+ const COMBINATOR_TAG_ID = 2;
25
+ const CONSTANT_TAG_ID = 3;
26
+
27
+ //////////
28
+
29
+ const COMPUTE = Symbol('TAG_COMPUTE');
30
+ Reflect.set(globalThis, 'COMPUTE_SYMBOL', COMPUTE);
31
+
32
+ //////////
33
+
34
+ /**
35
+ * `value` receives a tag and returns an opaque Revision based on that tag. This
36
+ * snapshot can then later be passed to `validate` with the same tag to
37
+ * determine if the tag has changed at all since the time that `value` was
38
+ * called.
39
+ *
40
+ * @param tag
41
+ */
42
+ function valueForTag(tag) {
43
+ return tag[COMPUTE]();
44
+ }
45
+
46
+ /**
47
+ * `validate` receives a tag and a snapshot from a previous call to `value` with
48
+ * the same tag, and determines if the tag is still valid compared to the
49
+ * snapshot. If the tag's state has changed at all since then, `validate` will
50
+ * return false, otherwise it will return true. This is used to determine if a
51
+ * calculation related to the tags should be rerun.
52
+ *
53
+ * @param tag
54
+ * @param snapshot
55
+ */
56
+ function validateTag(tag, snapshot) {
57
+ return snapshot >= tag[COMPUTE]();
58
+ }
59
+
60
+ //////////
61
+
62
+ const TYPE = Symbol('TAG_TYPE');
63
+
64
+ // this is basically a const
65
+ let ALLOW_CYCLES;
66
+ class MonomorphicTagImpl {
67
+ static combine(tags) {
68
+ switch (tags.length) {
69
+ case 0:
70
+ return CONSTANT_TAG;
71
+ case 1:
72
+ return tags[0];
73
+ default:
74
+ {
75
+ let tag = new MonomorphicTagImpl(COMBINATOR_TAG_ID);
76
+ tag.subtag = tags;
77
+ return tag;
78
+ }
79
+ }
80
+ }
81
+ revision = INITIAL;
82
+ lastChecked = INITIAL;
83
+ lastValue = INITIAL;
84
+ isUpdating = false;
85
+ subtag = null;
86
+ subtagBufferCache = null;
87
+ constructor(type) {
88
+ this[TYPE] = type;
89
+ }
90
+ [COMPUTE]() {
91
+ let {
92
+ lastChecked
93
+ } = this;
94
+ if (this.isUpdating) {
95
+ this.lastChecked = ++$REVISION;
96
+ } else if (lastChecked !== $REVISION) {
97
+ this.isUpdating = true;
98
+ this.lastChecked = $REVISION;
99
+ try {
100
+ let {
101
+ subtag,
102
+ revision
103
+ } = this;
104
+ if (subtag !== null) {
105
+ if (Array.isArray(subtag)) {
106
+ for (const tag of subtag) {
107
+ let value = tag[COMPUTE]();
108
+ revision = Math.max(value, revision);
109
+ }
110
+ } else {
111
+ let subtagValue = subtag[COMPUTE]();
112
+ if (subtagValue === this.subtagBufferCache) {
113
+ revision = Math.max(revision, this.lastValue);
114
+ } else {
115
+ // Clear the temporary buffer cache
116
+ this.subtagBufferCache = null;
117
+ revision = Math.max(revision, subtagValue);
118
+ }
119
+ }
120
+ }
121
+ this.lastValue = revision;
122
+ } finally {
123
+ this.isUpdating = false;
124
+ }
125
+ }
126
+ return this.lastValue;
127
+ }
128
+ static updateTag(_tag, _subtag) {
129
+
130
+ // TODO: TS 3.7 should allow us to do this via assertion
131
+ let tag = _tag;
132
+ let subtag = _subtag;
133
+ if (subtag === CONSTANT_TAG) {
134
+ tag.subtag = null;
135
+ } else {
136
+ // There are two different possibilities when updating a subtag:
137
+ //
138
+ // 1. subtag[COMPUTE]() <= tag[COMPUTE]();
139
+ // 2. subtag[COMPUTE]() > tag[COMPUTE]();
140
+ //
141
+ // The first possibility is completely fine within our caching model, but
142
+ // the second possibility presents a problem. If the parent tag has
143
+ // already been read, then it's value is cached and will not update to
144
+ // reflect the subtag's greater value. Next time the cache is busted, the
145
+ // subtag's value _will_ be read, and it's value will be _greater_ than
146
+ // the saved snapshot of the parent, causing the resulting calculation to
147
+ // be rerun erroneously.
148
+ //
149
+ // In order to prevent this, when we first update to a new subtag we store
150
+ // its computed value, and then check against that computed value on
151
+ // subsequent updates. If its value hasn't changed, then we return the
152
+ // parent's previous value. Once the subtag changes for the first time,
153
+ // we clear the cache and everything is finally in sync with the parent.
154
+ tag.subtagBufferCache = subtag[COMPUTE]();
155
+ tag.subtag = subtag;
156
+ }
157
+ }
158
+ static dirtyTag(tag, disableConsumptionAssertion) {
159
+ tag.revision = ++$REVISION;
160
+ scheduleRevalidate();
161
+ }
162
+ }
163
+ const DIRTY_TAG = MonomorphicTagImpl.dirtyTag;
164
+ const UPDATE_TAG = MonomorphicTagImpl.updateTag;
165
+
166
+ //////////
167
+
168
+ function createTag() {
169
+ return new MonomorphicTagImpl(DIRYTABLE_TAG_ID);
170
+ }
171
+ function createUpdatableTag() {
172
+ return new MonomorphicTagImpl(UPDATABLE_TAG_ID);
173
+ }
174
+
175
+ //////////
176
+
177
+ const CONSTANT_TAG = new MonomorphicTagImpl(CONSTANT_TAG_ID);
178
+ function isConstTag(tag) {
179
+ return tag === CONSTANT_TAG;
180
+ }
181
+
182
+ //////////
183
+
184
+ const VOLATILE_TAG_ID = 100;
185
+ class VolatileTag {
186
+ [TYPE] = VOLATILE_TAG_ID;
187
+ [COMPUTE]() {
188
+ return VOLATILE;
189
+ }
190
+ }
191
+ const VOLATILE_TAG = new VolatileTag();
192
+
193
+ //////////
194
+
195
+ const CURRENT_TAG_ID = 101;
196
+ class CurrentTag {
197
+ [TYPE] = CURRENT_TAG_ID;
198
+ [COMPUTE]() {
199
+ return $REVISION;
200
+ }
201
+ }
202
+ const CURRENT_TAG = new CurrentTag();
203
+
204
+ //////////
205
+
206
+ const combine = MonomorphicTagImpl.combine;
207
+
208
+ // Warm
209
+
210
+ let tag1 = createUpdatableTag();
211
+ let tag2 = createUpdatableTag();
212
+ let tag3 = createUpdatableTag();
213
+ valueForTag(tag1);
214
+ DIRTY_TAG(tag1);
215
+ valueForTag(tag1);
216
+ UPDATE_TAG(tag1, combine([tag2, tag3]));
217
+ valueForTag(tag1);
218
+ DIRTY_TAG(tag2);
219
+ valueForTag(tag1);
220
+ DIRTY_TAG(tag3);
221
+ valueForTag(tag1);
222
+ UPDATE_TAG(tag1, tag3);
223
+ valueForTag(tag1);
224
+ DIRTY_TAG(tag3);
225
+ valueForTag(tag1);
226
+
227
+ /**
228
+ * An object that that tracks @tracked properties that were consumed.
229
+ */
230
+ class Tracker {
231
+ tags = new Set();
232
+ last = null;
233
+ add(tag) {
234
+ if (tag === CONSTANT_TAG) return;
235
+ this.tags.add(tag);
236
+ this.last = tag;
237
+ }
238
+ combine() {
239
+ let {
240
+ tags
241
+ } = this;
242
+ if (tags.size === 0) {
243
+ return CONSTANT_TAG;
244
+ } else if (tags.size === 1) {
245
+ return this.last;
246
+ } else {
247
+ return combine(Array.from(this.tags));
248
+ }
249
+ }
250
+ }
251
+
252
+ /**
253
+ * Whenever a tracked computed property is entered, the current tracker is
254
+ * saved off and a new tracker is replaced.
255
+ *
256
+ * Any tracked properties consumed are added to the current tracker.
257
+ *
258
+ * When a tracked computed property is exited, the tracker's tags are
259
+ * combined and added to the parent tracker.
260
+ *
261
+ * The consequence is that each tracked computed property has a tag
262
+ * that corresponds to the tracked properties consumed inside of
263
+ * itself, including child tracked computed properties.
264
+ */
265
+ let CURRENT_TRACKER = null;
266
+ const OPEN_TRACK_FRAMES = [];
267
+ function beginTrackFrame(debuggingContext) {
268
+ OPEN_TRACK_FRAMES.push(CURRENT_TRACKER);
269
+ CURRENT_TRACKER = new Tracker();
270
+ }
271
+ function endTrackFrame() {
272
+ let current = CURRENT_TRACKER;
273
+ CURRENT_TRACKER = OPEN_TRACK_FRAMES.pop() || null;
274
+ return unwrap(current).combine();
275
+ }
276
+ function beginUntrackFrame() {
277
+ OPEN_TRACK_FRAMES.push(CURRENT_TRACKER);
278
+ CURRENT_TRACKER = null;
279
+ }
280
+ function endUntrackFrame() {
281
+ CURRENT_TRACKER = OPEN_TRACK_FRAMES.pop() || null;
282
+ }
283
+
284
+ // This function is only for handling errors and resetting to a valid state
285
+ function resetTracking() {
286
+ while (OPEN_TRACK_FRAMES.length > 0) {
287
+ OPEN_TRACK_FRAMES.pop();
288
+ }
289
+ CURRENT_TRACKER = null;
290
+ }
291
+ function isTracking() {
292
+ return CURRENT_TRACKER !== null;
293
+ }
294
+ function consumeTag(tag) {
295
+ if (CURRENT_TRACKER !== null) {
296
+ CURRENT_TRACKER.add(tag);
297
+ }
298
+ }
299
+
300
+ // public interface
301
+
302
+ const FN = Symbol('FN');
303
+ const LAST_VALUE = Symbol('LAST_VALUE');
304
+ const TAG = Symbol('TAG');
305
+ const SNAPSHOT = Symbol('SNAPSHOT');
306
+ function createCache(fn, debuggingLabel) {
307
+ let cache = {
308
+ [FN]: fn,
309
+ [LAST_VALUE]: undefined,
310
+ [TAG]: undefined,
311
+ [SNAPSHOT]: -1
312
+ };
313
+ return cache;
314
+ }
315
+ function getValue(cache) {
316
+ let fn = cache[FN];
317
+ let tag = cache[TAG];
318
+ let snapshot = cache[SNAPSHOT];
319
+ if (tag === undefined || !validateTag(tag, snapshot)) {
320
+ beginTrackFrame();
321
+ try {
322
+ cache[LAST_VALUE] = fn();
323
+ } finally {
324
+ tag = endTrackFrame();
325
+ cache[TAG] = tag;
326
+ cache[SNAPSHOT] = valueForTag(tag);
327
+ consumeTag(tag);
328
+ }
329
+ } else {
330
+ consumeTag(tag);
331
+ }
332
+ return cache[LAST_VALUE];
333
+ }
334
+ function isConst(cache) {
335
+ let tag = cache[TAG];
336
+ return isConstTag(tag);
337
+ }
338
+
339
+ //////////
340
+
341
+ // Legacy tracking APIs
342
+
343
+ // track() shouldn't be necessary at all in the VM once the autotracking
344
+ // refactors are merged, and we should generally be moving away from it. It may
345
+ // be necessary in Ember for a while longer, but I think we'll be able to drop
346
+ // it in favor of cache sooner rather than later.
347
+ function track(block, debugLabel) {
348
+ beginTrackFrame();
349
+ let tag;
350
+ try {
351
+ block();
352
+ } finally {
353
+ tag = endTrackFrame();
354
+ }
355
+ return tag;
356
+ }
357
+
358
+ // untrack() is currently mainly used to handle places that were previously not
359
+ // tracked, and that tracking now would cause backtracking rerender assertions.
360
+ // I think once we move everyone forward onto modern APIs, we'll probably be
361
+ // able to remove it, but I'm not sure yet.
362
+ function untrack(callback) {
363
+ beginUntrackFrame();
364
+ try {
365
+ return callback();
366
+ } finally {
367
+ endUntrackFrame();
368
+ }
369
+ }
370
+
371
+ export { ALLOW_CYCLES as A, CONSTANT_TAG as C, DIRTY_TAG as D, INITIAL as I, UPDATE_TAG as U, VOLATILE as V, consumeTag as a, createCache as b, createUpdatableTag as c, valueForTag as d, combine as e, COMPUTE as f, getValue as g, CONSTANT as h, CURRENT_TAG as i, CurrentTag as j, VOLATILE_TAG as k, VolatileTag as l, beginTrackFrame as m, beginUntrackFrame as n, bump as o, createTag as p, endTrackFrame as q, endUntrackFrame as r, isConst as s, track as t, untrack as u, validateTag as v, isConstTag as w, isTracking as x, resetTracking as y };
@@ -1,6 +1,3 @@
1
- import './fragment-D7nBU9ae.js';
2
- import '../@glimmer/validator/index.js';
3
- import './reference-BNqcwZWH.js';
4
1
  import { I as InternalComponentCapabilities } from './flags-B9qxc-pB.js';
5
2
 
6
3
  function buildCapabilities(capabilities) {
@@ -0,0 +1,179 @@
1
+ import { peekMeta, meta } from '../@ember/-internals/meta/lib/meta.js';
2
+ import { i as isObject } from './spec-BXl1reqK.js';
3
+ import './env-DXxsTFkM.js';
4
+ import { C as CONSTANT_TAG, e as combine, v as validateTag, c as createUpdatableTag, U as UPDATE_TAG } from './cache-BIlOoPA7.js';
5
+ import { t as tagFor, d as dirtyTagFor, a as tagMetaFor } from './meta-B9mldqPL.js';
6
+ import { g as getCustomTagFor } from './args-proxy-BDXbXCF9.js';
7
+
8
+ function objectAt(array, index) {
9
+ if (Array.isArray(array)) {
10
+ return array[index];
11
+ } else {
12
+ return array.objectAt(index);
13
+ }
14
+ }
15
+
16
+ /////////
17
+
18
+ // This is exported for `@tracked`, but should otherwise be avoided. Use `tagForObject`.
19
+ const SELF_TAG = Symbol('SELF_TAG');
20
+ function tagForProperty(obj, propertyKey, addMandatorySetter = false, meta) {
21
+ let customTagFor = getCustomTagFor(obj);
22
+ if (customTagFor !== undefined) {
23
+ return customTagFor(obj, propertyKey, addMandatorySetter);
24
+ }
25
+ let tag = tagFor(obj, propertyKey, meta);
26
+ return tag;
27
+ }
28
+ function tagForObject(obj) {
29
+ if (isObject(obj)) {
30
+ return tagFor(obj, SELF_TAG);
31
+ }
32
+ return CONSTANT_TAG;
33
+ }
34
+ function markObjectAsDirty(obj, propertyKey) {
35
+ dirtyTagFor(obj, propertyKey);
36
+ dirtyTagFor(obj, SELF_TAG);
37
+ }
38
+
39
+ const CHAIN_PASS_THROUGH = new WeakSet();
40
+ function finishLazyChains(meta, key, value) {
41
+ let lazyTags = meta.readableLazyChainsFor(key);
42
+ if (lazyTags === undefined) {
43
+ return;
44
+ }
45
+ if (isObject(value)) {
46
+ for (let [tag, deps] of lazyTags) {
47
+ UPDATE_TAG(tag, getChainTagsForKey(value, deps, tagMetaFor(value), peekMeta(value)));
48
+ }
49
+ }
50
+ lazyTags.length = 0;
51
+ }
52
+ function getChainTagsForKeys(obj, keys, tagMeta, meta) {
53
+ let tags = [];
54
+ for (let key of keys) {
55
+ getChainTags(tags, obj, key, tagMeta, meta);
56
+ }
57
+ return combine(tags);
58
+ }
59
+ function getChainTagsForKey(obj, key, tagMeta, meta) {
60
+ return combine(getChainTags([], obj, key, tagMeta, meta));
61
+ }
62
+ function getChainTags(chainTags, obj, path, tagMeta, meta$1) {
63
+ let current = obj;
64
+ let currentTagMeta = tagMeta;
65
+ let currentMeta = meta$1;
66
+ let pathLength = path.length;
67
+ let segmentEnd = -1;
68
+ // prevent closures
69
+ let segment, descriptor;
70
+ while (true) {
71
+ let lastSegmentEnd = segmentEnd + 1;
72
+ segmentEnd = path.indexOf('.', lastSegmentEnd);
73
+ if (segmentEnd === -1) {
74
+ segmentEnd = pathLength;
75
+ }
76
+ segment = path.slice(lastSegmentEnd, segmentEnd);
77
+
78
+ // If the segment is an @each, we can process it and then break
79
+ if (segment === '@each' && segmentEnd !== pathLength) {
80
+ lastSegmentEnd = segmentEnd + 1;
81
+ segmentEnd = path.indexOf('.', lastSegmentEnd);
82
+ let arrLength = current.length;
83
+ if (typeof arrLength !== 'number' ||
84
+ // TODO: should the second test be `isEmberArray` instead?
85
+ !(Array.isArray(current) || 'objectAt' in current)) {
86
+ // If the current object isn't an array, there's nothing else to do,
87
+ // we don't watch individual properties. Break out of the loop.
88
+ break;
89
+ } else if (arrLength === 0) {
90
+ // Fast path for empty arrays
91
+ chainTags.push(tagForProperty(current, '[]'));
92
+ break;
93
+ }
94
+ if (segmentEnd === -1) {
95
+ segment = path.slice(lastSegmentEnd);
96
+ } else {
97
+ // Deprecated, remove once we turn the deprecation into an assertion
98
+ segment = path.slice(lastSegmentEnd, segmentEnd);
99
+ }
100
+
101
+ // Push the tags for each item's property
102
+ for (let i = 0; i < arrLength; i++) {
103
+ let item = objectAt(current, i);
104
+ if (item) {
105
+ chainTags.push(tagForProperty(item, segment, true));
106
+ currentMeta = peekMeta(item);
107
+ descriptor = currentMeta !== null ? currentMeta.peekDescriptors(segment) : undefined;
108
+
109
+ // If the key is an alias, we need to bootstrap it
110
+ if (descriptor !== undefined && typeof descriptor.altKey === 'string') {
111
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
112
+ item[segment];
113
+ }
114
+ }
115
+ }
116
+
117
+ // Push the tag for the array length itself
118
+ chainTags.push(tagForProperty(current, '[]', true, currentTagMeta));
119
+ break;
120
+ }
121
+ let propertyTag = tagForProperty(current, segment, true, currentTagMeta);
122
+ descriptor = currentMeta !== null ? currentMeta.peekDescriptors(segment) : undefined;
123
+ chainTags.push(propertyTag);
124
+
125
+ // If we're at the end of the path, processing the last segment, and it's
126
+ // not an alias, we should _not_ get the last value, since we already have
127
+ // its tag. There's no reason to access it and do more work.
128
+ if (segmentEnd === pathLength) {
129
+ // If the key was an alias, we should always get the next value in order to
130
+ // bootstrap the alias. This is because aliases, unlike other CPs, should
131
+ // always be in sync with the aliased value.
132
+ if (CHAIN_PASS_THROUGH.has(descriptor)) {
133
+ // eslint-disable-next-line @typescript-eslint/no-unused-expressions
134
+ current[segment];
135
+ }
136
+ break;
137
+ }
138
+ if (descriptor === undefined) {
139
+ // If the descriptor is undefined, then its a normal property, so we should
140
+ // lookup the value to chain off of like normal.
141
+
142
+ if (!(segment in current) && typeof current.unknownProperty === 'function') {
143
+ current = current.unknownProperty(segment);
144
+ } else {
145
+ current = current[segment];
146
+ }
147
+ } else if (CHAIN_PASS_THROUGH.has(descriptor)) {
148
+ current = current[segment];
149
+ } else {
150
+ // If the descriptor is defined, then its a normal CP (not an alias, which
151
+ // would have been handled earlier). We get the last revision to check if
152
+ // the CP is still valid, and if so we use the cached value. If not, then
153
+ // we create a lazy chain lookup, and the next time the CP is calculated,
154
+ // it will update that lazy chain.
155
+ let instanceMeta = currentMeta.source === current ? currentMeta : meta(current);
156
+ let lastRevision = instanceMeta.revisionFor(segment);
157
+ if (lastRevision !== undefined && validateTag(propertyTag, lastRevision)) {
158
+ current = instanceMeta.valueFor(segment);
159
+ } else {
160
+ // use metaFor here to ensure we have the meta for the instance
161
+ let lazyChains = instanceMeta.writableLazyChainsFor(segment);
162
+ let rest = path.substring(segmentEnd + 1);
163
+ let placeholderTag = createUpdatableTag();
164
+ lazyChains.push([placeholderTag, rest]);
165
+ chainTags.push(placeholderTag);
166
+ break;
167
+ }
168
+ }
169
+ if (!isObject(current)) {
170
+ // we've hit the end of the chain for now, break out
171
+ break;
172
+ }
173
+ currentTagMeta = tagMetaFor(current);
174
+ currentMeta = peekMeta(current);
175
+ }
176
+ return chainTags;
177
+ }
178
+
179
+ export { CHAIN_PASS_THROUGH as C, SELF_TAG as S, tagForProperty as a, getChainTagsForKeys as b, finishLazyChains as f, getChainTagsForKey as g, markObjectAsDirty as m, objectAt as o, tagForObject as t };