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,645 @@
1
+ import '../@ember/debug/index.js';
2
+ import calculateLocationDisplay from '../@ember/template-compiler/lib/system/calculate-location-display.js';
3
+ import { isPath, trackLocals, isStringLiteral } from '../@ember/template-compiler/lib/plugins/utils.js';
4
+ import { assert } from '../@ember/debug/lib/assert.js';
5
+
6
+ const Char = {
7
+ NBSP: 0xa0,
8
+ QUOT: 0x22,
9
+ LT: 0x3c,
10
+ GT: 0x3e,
11
+ AMP: 0x26
12
+ };
13
+
14
+ // \x26 is ampersand, \xa0 is non-breaking space
15
+ const ATTR_VALUE_REGEX_TEST = /["\x26\xa0]/u;
16
+ const ATTR_VALUE_REGEX_REPLACE = new RegExp(ATTR_VALUE_REGEX_TEST.source, 'gu');
17
+ const TEXT_REGEX_TEST = /[&<>\xa0]/u;
18
+ const TEXT_REGEX_REPLACE = new RegExp(TEXT_REGEX_TEST.source, 'gu');
19
+ function attrValueReplacer(char) {
20
+ switch (char.charCodeAt(0)) {
21
+ case Char.NBSP:
22
+ return '&nbsp;';
23
+ case Char.QUOT:
24
+ return '&quot;';
25
+ case Char.AMP:
26
+ return '&amp;';
27
+ default:
28
+ return char;
29
+ }
30
+ }
31
+ function textReplacer(char) {
32
+ switch (char.charCodeAt(0)) {
33
+ case Char.NBSP:
34
+ return '&nbsp;';
35
+ case Char.AMP:
36
+ return '&amp;';
37
+ case Char.LT:
38
+ return '&lt;';
39
+ case Char.GT:
40
+ return '&gt;';
41
+ default:
42
+ return char;
43
+ }
44
+ }
45
+ function escapeAttrValue(attrValue) {
46
+ if (ATTR_VALUE_REGEX_TEST.test(attrValue)) {
47
+ return attrValue.replace(ATTR_VALUE_REGEX_REPLACE, attrValueReplacer);
48
+ }
49
+ return attrValue;
50
+ }
51
+ function escapeText(text) {
52
+ if (TEXT_REGEX_TEST.test(text)) {
53
+ return text.replace(TEXT_REGEX_REPLACE, textReplacer);
54
+ }
55
+ return text;
56
+ }
57
+ function sortByLoc(a, b) {
58
+ // If either is invisible, don't try to order them
59
+ if (a.loc.isInvisible || b.loc.isInvisible) {
60
+ return 0;
61
+ }
62
+ if (a.loc.startPosition.line < b.loc.startPosition.line) {
63
+ return -1;
64
+ }
65
+ if (a.loc.startPosition.line === b.loc.startPosition.line && a.loc.startPosition.column < b.loc.startPosition.column) {
66
+ return -1;
67
+ }
68
+ if (a.loc.startPosition.line === b.loc.startPosition.line && a.loc.startPosition.column === b.loc.startPosition.column) {
69
+ return 0;
70
+ }
71
+ return 1;
72
+ }
73
+
74
+ const voidMap = new Set(['area', 'base', 'br', 'col', 'command', 'embed', 'hr', 'img', 'input', 'keygen', 'link', 'meta', 'param', 'source', 'track', 'wbr']);
75
+ const NON_WHITESPACE = /^\S/u;
76
+ /**
77
+ * Examples when true:
78
+ * - link
79
+ * - liNK
80
+ *
81
+ * Examples when false:
82
+ * - Link (component)
83
+ */
84
+ function isVoidTag(tag) {
85
+ return voidMap.has(tag.toLowerCase()) && tag[0]?.toLowerCase() === tag[0];
86
+ }
87
+ class Printer {
88
+ buffer = '';
89
+ options;
90
+ constructor(options) {
91
+ this.options = options;
92
+ }
93
+
94
+ /*
95
+ This is used by _all_ methods on this Printer class that add to `this.buffer`,
96
+ it allows consumers of the printer to use alternate string representations for
97
+ a given node.
98
+ The primary use case for this are things like source -> source codemod utilities.
99
+ For example, ember-template-recast attempts to always preserve the original string
100
+ formatting in each AST node if no modifications are made to it.
101
+ */
102
+ handledByOverride(node, ensureLeadingWhitespace = false) {
103
+ if (this.options.override !== undefined) {
104
+ let result = this.options.override(node, this.options);
105
+ if (typeof result === 'string') {
106
+ if (ensureLeadingWhitespace && NON_WHITESPACE.test(result)) {
107
+ result = ` ${result}`;
108
+ }
109
+ this.buffer += result;
110
+ return true;
111
+ }
112
+ }
113
+ return false;
114
+ }
115
+ Node(node) {
116
+ switch (node.type) {
117
+ case 'MustacheStatement':
118
+ case 'BlockStatement':
119
+ case 'MustacheCommentStatement':
120
+ case 'CommentStatement':
121
+ case 'TextNode':
122
+ case 'ElementNode':
123
+ case 'AttrNode':
124
+ case 'Block':
125
+ case 'Template':
126
+ return this.TopLevelStatement(node);
127
+ case 'StringLiteral':
128
+ case 'BooleanLiteral':
129
+ case 'NumberLiteral':
130
+ case 'UndefinedLiteral':
131
+ case 'NullLiteral':
132
+ case 'PathExpression':
133
+ case 'SubExpression':
134
+ return this.Expression(node);
135
+ case 'ConcatStatement':
136
+ // should have an AttrNode parent
137
+ return this.ConcatStatement(node);
138
+ case 'Hash':
139
+ return this.Hash(node);
140
+ case 'HashPair':
141
+ return this.HashPair(node);
142
+ case 'ElementModifierStatement':
143
+ return this.ElementModifierStatement(node);
144
+ }
145
+ }
146
+ Expression(expression) {
147
+ switch (expression.type) {
148
+ case 'StringLiteral':
149
+ case 'BooleanLiteral':
150
+ case 'NumberLiteral':
151
+ case 'UndefinedLiteral':
152
+ case 'NullLiteral':
153
+ return this.Literal(expression);
154
+ case 'PathExpression':
155
+ return this.PathExpression(expression);
156
+ case 'SubExpression':
157
+ return this.SubExpression(expression);
158
+ }
159
+ }
160
+ Literal(literal) {
161
+ switch (literal.type) {
162
+ case 'StringLiteral':
163
+ return this.StringLiteral(literal);
164
+ case 'BooleanLiteral':
165
+ return this.BooleanLiteral(literal);
166
+ case 'NumberLiteral':
167
+ return this.NumberLiteral(literal);
168
+ case 'UndefinedLiteral':
169
+ return this.UndefinedLiteral(literal);
170
+ case 'NullLiteral':
171
+ return this.NullLiteral(literal);
172
+ }
173
+ }
174
+ TopLevelStatement(statement) {
175
+ switch (statement.type) {
176
+ case 'MustacheStatement':
177
+ return this.MustacheStatement(statement);
178
+ case 'BlockStatement':
179
+ return this.BlockStatement(statement);
180
+ case 'MustacheCommentStatement':
181
+ return this.MustacheCommentStatement(statement);
182
+ case 'CommentStatement':
183
+ return this.CommentStatement(statement);
184
+ case 'TextNode':
185
+ return this.TextNode(statement);
186
+ case 'ElementNode':
187
+ return this.ElementNode(statement);
188
+ case 'Block':
189
+ return this.Block(statement);
190
+ case 'Template':
191
+ return this.Template(statement);
192
+ case 'AttrNode':
193
+ // should have element
194
+ return this.AttrNode(statement);
195
+ }
196
+ }
197
+ Template(template) {
198
+ this.TopLevelStatements(template.body);
199
+ }
200
+ Block(block) {
201
+ /*
202
+ When processing a template like:
203
+ ```hbs
204
+ {{#if whatever}}
205
+ whatever
206
+ {{else if somethingElse}}
207
+ something else
208
+ {{else}}
209
+ fallback
210
+ {{/if}}
211
+ ```
212
+ The AST still _effectively_ looks like:
213
+ ```hbs
214
+ {{#if whatever}}
215
+ whatever
216
+ {{else}}{{#if somethingElse}}
217
+ something else
218
+ {{else}}
219
+ fallback
220
+ {{/if}}{{/if}}
221
+ ```
222
+ The only way we can tell if that is the case is by checking for
223
+ `block.chained`, but unfortunately when the actual statements are
224
+ processed the `block.body[0]` node (which will always be a
225
+ `BlockStatement`) has no clue that its ancestor `Block` node was
226
+ chained.
227
+ This "forwards" the `chained` setting so that we can check
228
+ it later when processing the `BlockStatement`.
229
+ */
230
+ if (block.chained) {
231
+ let firstChild = block.body[0];
232
+ firstChild.chained = true;
233
+ }
234
+ if (this.handledByOverride(block)) {
235
+ return;
236
+ }
237
+ this.TopLevelStatements(block.body);
238
+ }
239
+ TopLevelStatements(statements) {
240
+ statements.forEach(statement => this.TopLevelStatement(statement));
241
+ }
242
+ ElementNode(el) {
243
+ if (this.handledByOverride(el)) {
244
+ return;
245
+ }
246
+ this.OpenElementNode(el);
247
+ this.TopLevelStatements(el.children);
248
+ this.CloseElementNode(el);
249
+ }
250
+ OpenElementNode(el) {
251
+ this.buffer += `<${el.tag}`;
252
+ const parts = [...el.attributes, ...el.modifiers, ...el.comments].sort(sortByLoc);
253
+ for (const part of parts) {
254
+ this.buffer += ' ';
255
+ switch (part.type) {
256
+ case 'AttrNode':
257
+ this.AttrNode(part);
258
+ break;
259
+ case 'ElementModifierStatement':
260
+ this.ElementModifierStatement(part);
261
+ break;
262
+ case 'MustacheCommentStatement':
263
+ this.MustacheCommentStatement(part);
264
+ break;
265
+ }
266
+ }
267
+ if (el.blockParams.length) {
268
+ this.BlockParams(el.blockParams);
269
+ }
270
+ if (el.selfClosing) {
271
+ this.buffer += ' /';
272
+ }
273
+ this.buffer += '>';
274
+ }
275
+ CloseElementNode(el) {
276
+ if (el.selfClosing || isVoidTag(el.tag)) {
277
+ return;
278
+ }
279
+ this.buffer += `</${el.tag}>`;
280
+ }
281
+ AttrNode(attr) {
282
+ if (this.handledByOverride(attr)) {
283
+ return;
284
+ }
285
+ let {
286
+ name,
287
+ value
288
+ } = attr;
289
+ this.buffer += name;
290
+ const isAttribute = !name.startsWith('@');
291
+ const shouldElideValue = isAttribute && value.type == 'TextNode' && value.chars.length === 0;
292
+ if (!shouldElideValue) {
293
+ this.buffer += '=';
294
+ this.AttrNodeValue(value);
295
+ }
296
+ }
297
+ AttrNodeValue(value) {
298
+ if (value.type === 'TextNode') {
299
+ let quote = '"';
300
+ if (this.options.entityEncoding === 'raw') {
301
+ if (value.chars.includes('"') && !value.chars.includes("'")) {
302
+ quote = "'";
303
+ }
304
+ }
305
+ this.buffer += quote;
306
+ this.TextNode(value, quote);
307
+ this.buffer += quote;
308
+ } else {
309
+ this.Node(value);
310
+ }
311
+ }
312
+ TextNode(text, isInAttr) {
313
+ if (this.handledByOverride(text)) {
314
+ return;
315
+ }
316
+ if (this.options.entityEncoding === 'raw') {
317
+ if (isInAttr && text.chars.includes(isInAttr)) {
318
+ this.buffer += escapeAttrValue(text.chars);
319
+ } else {
320
+ this.buffer += text.chars;
321
+ }
322
+ } else if (isInAttr) {
323
+ this.buffer += escapeAttrValue(text.chars);
324
+ } else {
325
+ this.buffer += escapeText(text.chars);
326
+ }
327
+ }
328
+ MustacheStatement(mustache) {
329
+ if (this.handledByOverride(mustache)) {
330
+ return;
331
+ }
332
+ this.buffer += mustache.trusting ? '{{{' : '{{';
333
+ if (mustache.strip.open) {
334
+ this.buffer += '~';
335
+ }
336
+ this.Expression(mustache.path);
337
+ this.Params(mustache.params);
338
+ this.Hash(mustache.hash);
339
+ if (mustache.strip.close) {
340
+ this.buffer += '~';
341
+ }
342
+ this.buffer += mustache.trusting ? '}}}' : '}}';
343
+ }
344
+ BlockStatement(block) {
345
+ if (this.handledByOverride(block)) {
346
+ return;
347
+ }
348
+ if (block.chained) {
349
+ this.buffer += block.inverseStrip.open ? '{{~' : '{{';
350
+ this.buffer += 'else ';
351
+ } else {
352
+ this.buffer += block.openStrip.open ? '{{~#' : '{{#';
353
+ }
354
+ this.Expression(block.path);
355
+ this.Params(block.params);
356
+ this.Hash(block.hash);
357
+ if (block.program.blockParams.length) {
358
+ this.BlockParams(block.program.blockParams);
359
+ }
360
+ if (block.chained) {
361
+ this.buffer += block.inverseStrip.close ? '~}}' : '}}';
362
+ } else {
363
+ this.buffer += block.openStrip.close ? '~}}' : '}}';
364
+ }
365
+ this.Block(block.program);
366
+ if (block.inverse) {
367
+ if (!block.inverse.chained) {
368
+ this.buffer += block.inverseStrip.open ? '{{~' : '{{';
369
+ this.buffer += 'else';
370
+ this.buffer += block.inverseStrip.close ? '~}}' : '}}';
371
+ }
372
+ this.Block(block.inverse);
373
+ }
374
+ if (!block.chained) {
375
+ this.buffer += block.closeStrip.open ? '{{~/' : '{{/';
376
+ this.Expression(block.path);
377
+ this.buffer += block.closeStrip.close ? '~}}' : '}}';
378
+ }
379
+ }
380
+ BlockParams(blockParams) {
381
+ this.buffer += ` as |${blockParams.join(' ')}|`;
382
+ }
383
+ ConcatStatement(concat) {
384
+ if (this.handledByOverride(concat)) {
385
+ return;
386
+ }
387
+ this.buffer += '"';
388
+ concat.parts.forEach(part => {
389
+ if (part.type === 'TextNode') {
390
+ this.TextNode(part, '"');
391
+ } else {
392
+ this.Node(part);
393
+ }
394
+ });
395
+ this.buffer += '"';
396
+ }
397
+ MustacheCommentStatement(comment) {
398
+ if (this.handledByOverride(comment)) {
399
+ return;
400
+ }
401
+ this.buffer += `{{!--${comment.value}--}}`;
402
+ }
403
+ ElementModifierStatement(mod) {
404
+ if (this.handledByOverride(mod)) {
405
+ return;
406
+ }
407
+ this.buffer += '{{';
408
+ this.Expression(mod.path);
409
+ this.Params(mod.params);
410
+ this.Hash(mod.hash);
411
+ this.buffer += '}}';
412
+ }
413
+ CommentStatement(comment) {
414
+ if (this.handledByOverride(comment)) {
415
+ return;
416
+ }
417
+ this.buffer += `<!--${comment.value}-->`;
418
+ }
419
+ PathExpression(path) {
420
+ if (this.handledByOverride(path)) {
421
+ return;
422
+ }
423
+ this.buffer += path.original;
424
+ }
425
+ SubExpression(sexp) {
426
+ if (this.handledByOverride(sexp)) {
427
+ return;
428
+ }
429
+ this.buffer += '(';
430
+ this.Expression(sexp.path);
431
+ this.Params(sexp.params);
432
+ this.Hash(sexp.hash);
433
+ this.buffer += ')';
434
+ }
435
+ Params(params) {
436
+ // TODO: implement a top level Params AST node (just like the Hash object)
437
+ // so that this can also be overridden
438
+ if (params.length) {
439
+ params.forEach(param => {
440
+ this.buffer += ' ';
441
+ this.Expression(param);
442
+ });
443
+ }
444
+ }
445
+ Hash(hash) {
446
+ if (this.handledByOverride(hash, true)) {
447
+ return;
448
+ }
449
+ hash.pairs.forEach(pair => {
450
+ this.buffer += ' ';
451
+ this.HashPair(pair);
452
+ });
453
+ }
454
+ HashPair(pair) {
455
+ if (this.handledByOverride(pair)) {
456
+ return;
457
+ }
458
+ this.buffer += pair.key;
459
+ this.buffer += '=';
460
+ this.Node(pair.value);
461
+ }
462
+ StringLiteral(str) {
463
+ if (this.handledByOverride(str)) {
464
+ return;
465
+ }
466
+ this.buffer += JSON.stringify(str.value);
467
+ }
468
+ BooleanLiteral(bool) {
469
+ if (this.handledByOverride(bool)) {
470
+ return;
471
+ }
472
+ this.buffer += String(bool.value);
473
+ }
474
+ NumberLiteral(number) {
475
+ if (this.handledByOverride(number)) {
476
+ return;
477
+ }
478
+ this.buffer += String(number.value);
479
+ }
480
+ UndefinedLiteral(node) {
481
+ if (this.handledByOverride(node)) {
482
+ return;
483
+ }
484
+ this.buffer += 'undefined';
485
+ }
486
+ NullLiteral(node) {
487
+ if (this.handledByOverride(node)) {
488
+ return;
489
+ }
490
+ this.buffer += 'null';
491
+ }
492
+ print(node) {
493
+ let {
494
+ options
495
+ } = this;
496
+ if (options.override) {
497
+ let result = options.override(node, options);
498
+ if (result !== undefined) {
499
+ return result;
500
+ }
501
+ }
502
+ this.buffer = '';
503
+ this.Node(node);
504
+ return this.buffer;
505
+ }
506
+ }
507
+
508
+ function build(ast, options = {
509
+ entityEncoding: 'transformed'
510
+ }) {
511
+ // eslint-disable-next-line @typescript-eslint/no-unnecessary-condition -- JS users
512
+ if (!ast) {
513
+ return '';
514
+ }
515
+ let printer = new Printer(options);
516
+ return printer.print(ast);
517
+ }
518
+
519
+ /**
520
+ @module ember
521
+ */
522
+
523
+ /**
524
+ A Glimmer2 AST transformation that replaces all instances of
525
+
526
+ ```handlebars
527
+ {{helper "..." ...}}
528
+ ```
529
+
530
+ with
531
+
532
+ ```handlebars
533
+ {{helper (-resolve "helper:...") ...}}
534
+ ```
535
+
536
+ and
537
+
538
+ ```handlebars
539
+ {{helper ... ...}}
540
+ ```
541
+
542
+ with
543
+
544
+ ```handlebars
545
+ {{helper (-disallow-dynamic-resolution ...) ...}}
546
+ ```
547
+
548
+ and
549
+
550
+ ```handlebars
551
+ {{modifier "..." ...}}
552
+ ```
553
+
554
+ with
555
+
556
+ ```handlebars
557
+ {{modifier (-resolve "modifier:...") ...}}
558
+ ```
559
+ and
560
+
561
+ ```handlebars
562
+ {{modifier ... ...}}
563
+ ```
564
+
565
+ with
566
+
567
+ ```handlebars
568
+ {{modifier (-disallow-dynamic-resolution ...) ...}}
569
+ ```
570
+
571
+ @private
572
+ @class TransformResolutions
573
+ */
574
+
575
+ const TARGETS = Object.freeze(['helper', 'modifier']);
576
+ function transformResolutions(env) {
577
+ let {
578
+ builders: b
579
+ } = env.syntax;
580
+ let moduleName = env.meta?.moduleName;
581
+ let {
582
+ hasLocal,
583
+ node: tracker
584
+ } = trackLocals(env);
585
+ let seen;
586
+ return {
587
+ name: 'transform-resolutions',
588
+ visitor: {
589
+ Template: {
590
+ enter() {
591
+ seen = new Set();
592
+ },
593
+ exit() {
594
+ seen = undefined;
595
+ }
596
+ },
597
+ Block: tracker,
598
+ ElementNode: {
599
+ keys: {
600
+ children: tracker
601
+ }
602
+ },
603
+ MustacheStatement(node) {
604
+ (!(seen) && assert('[BUG] seen set should be available', seen));
605
+ if (seen.has(node)) {
606
+ return;
607
+ }
608
+ if (isPath(node.path) && !isLocalVariable(node.path, hasLocal) && TARGETS.indexOf(node.path.original) !== -1) {
609
+ let result = b.mustache(node.path, transformParams(b, node.params, node.path.original, moduleName, node.loc), node.hash, node.trusting, node.loc, node.strip);
610
+
611
+ // Avoid double/infinite-processing
612
+ seen.add(result);
613
+ return result;
614
+ }
615
+ },
616
+ SubExpression(node) {
617
+ (!(seen) && assert('[BUG] seen set should be available', seen));
618
+ if (seen.has(node)) {
619
+ return;
620
+ }
621
+ if (isPath(node.path) && !isLocalVariable(node.path, hasLocal) && TARGETS.indexOf(node.path.original) !== -1) {
622
+ let result = b.sexpr(node.path, transformParams(b, node.params, node.path.original, moduleName, node.loc), node.hash, node.loc);
623
+
624
+ // Avoid double/infinite-processing
625
+ seen.add(result);
626
+ return result;
627
+ }
628
+ }
629
+ }
630
+ };
631
+ }
632
+ function isLocalVariable(node, hasLocal) {
633
+ return !(node.head.type === 'ThisHead') && node.tail.length === 1 && hasLocal(node.head.original);
634
+ }
635
+ function transformParams(b, params, type, moduleName, loc) {
636
+ let [first, ...rest] = params;
637
+ (!(first) && assert(`The ${type} keyword requires at least one positional arguments ${calculateLocationDisplay(moduleName, loc)}`, first));
638
+ if (isStringLiteral(first)) {
639
+ return [b.sexpr(b.path('-resolve', first.loc), [b.string(`${type}:${first.value}`)], undefined, first.loc), ...rest];
640
+ } else {
641
+ return [b.sexpr(b.path('-disallow-dynamic-resolution', first.loc), [first], b.hash([b.pair('type', b.string(type), first.loc), b.pair('loc', b.string(calculateLocationDisplay(moduleName, loc)), first.loc), b.pair('original', b.string(build(first)))]), first.loc), ...rest];
642
+ }
643
+ }
644
+
645
+ export { Printer as P, build as b, isVoidTag as i, transformResolutions as t, voidMap as v };
@@ -0,0 +1,32 @@
1
+ import { c as createConstRef } from './reference-BoPB2LfI.js';
2
+ import { i as internalHelper } from './internal-helper-Dsl9_7H_.js';
3
+
4
+ /**
5
+ @module ember
6
+ */
7
+
8
+ const uniqueId = internalHelper(() => {
9
+ // SAFETY: glimmer-vm should change the signature of createUnboundRef to use a generic
10
+ // so that the type param to `Reference<?>` can infer from the first argument.
11
+ //
12
+ // NOTE: constRef is an optimization so we don't let the VM create extra wrappers,
13
+ // tracking frames, etc.
14
+ return createConstRef(uniqueId$1(), 'unique-id');
15
+ });
16
+
17
+ // From https://gist.github.com/selfish/fef2c0ba6cdfe07af76e64cecd74888b
18
+ //
19
+ // This code should be reasonably fast, and provide a unique value every time
20
+ // it's called, which is what we need here. It produces a string formatted as a
21
+ // standard UUID, which avoids accidentally turning Ember-specific
22
+ // implementation details into an intimate API. It also ensures that the UUID
23
+ // always starts with a letter, to avoid creating invalid IDs with a numeric
24
+ // digit at the start.
25
+ function uniqueId$1() {
26
+ // @ts-expect-error this one-liner abuses weird JavaScript semantics that
27
+ // TypeScript (legitimately) doesn't like, but they're nonetheless valid and
28
+ // specced.
29
+ return ([3e7] + -1e3 + -4e3 + -2e3 + -1e11).replace(/[0-3]/g, a => (a * 4 ^ Math.random() * 16 >> (a & 2)).toString(16));
30
+ }
31
+
32
+ export { uniqueId as a, uniqueId$1 as u };