ember-source 4.10.0-beta.2 → 4.11.0-alpha.2

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 (361) hide show
  1. package/CHANGELOG.md +5 -1
  2. package/build-metadata.json +3 -3
  3. package/dist/ember-template-compiler.js +147 -172
  4. package/dist/ember-template-compiler.map +1 -1
  5. package/dist/ember-testing.js +129 -6
  6. package/dist/ember-testing.map +1 -1
  7. package/dist/ember.debug.js +334 -314
  8. package/dist/ember.debug.map +1 -1
  9. package/dist/header/license.js +1 -1
  10. package/dist/packages/@ember/-internals/glimmer/index.js +60 -59
  11. package/dist/packages/@ember/-internals/metal/index.js +6 -6
  12. package/dist/packages/@ember/-internals/{utils/types.js → utility-types/index.js} +0 -0
  13. package/dist/packages/@ember/-internals/utils/index.js +3 -137
  14. package/dist/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -2
  15. package/dist/packages/@ember/-internals/views/lib/views/states/default.js +1 -2
  16. package/dist/packages/@ember/-internals/views/lib/views/states/destroying.js +2 -3
  17. package/dist/packages/@ember/-internals/views/lib/views/states/in_dom.js +1 -2
  18. package/dist/packages/@ember/array/-internals.js +8 -0
  19. package/dist/packages/@ember/array/index.js +2 -2
  20. package/dist/packages/@ember/array/lib/make-array.js +10 -0
  21. package/dist/packages/@ember/canary-features/index.js +0 -4
  22. package/dist/packages/@ember/debug/data-adapter.js +16 -16
  23. package/dist/packages/@ember/debug/index.js +2 -3
  24. package/dist/packages/@ember/debug/lib/inspect.js +117 -0
  25. package/dist/packages/@ember/engine/instance.js +1 -2
  26. package/dist/packages/@ember/instrumentation/index.js +2 -8
  27. package/dist/packages/@ember/object/core.js +2 -1
  28. package/dist/packages/@ember/object/mixin.js +11 -2
  29. package/dist/packages/@ember/object/promise-proxy-mixin.js +1 -2
  30. package/dist/packages/@ember/owner/index.js +2 -2
  31. package/dist/packages/@ember/routing/lib/utils.js +1 -2
  32. package/dist/packages/@ember/routing/router.js +36 -37
  33. package/dist/packages/ember/index.js +3 -3
  34. package/dist/packages/ember/version.js +1 -1
  35. package/dist/packages/ember-testing/lib/adapters/qunit.js +1 -1
  36. package/docs/data.json +252 -253
  37. package/package.json +19 -19
  38. package/types/preview/@ember/controller/index.d.ts +1 -1
  39. package/types/preview/@ember/engine/-private/container-proxy-mixin.d.ts +1 -1
  40. package/types/preview/@ember/engine/-private/registry-proxy-mixin.d.ts +1 -1
  41. package/types/preview/@ember/error/index.d.ts +2 -2
  42. package/types/preview/ember/index.d.ts +1 -1
  43. package/types/preview/index.d.ts +0 -2
  44. package/types/publish.mjs +314 -294
  45. package/types/stable/@ember/-internals/bootstrap/index.d.ts +3 -0
  46. package/types/stable/@ember/-internals/browser-environment/index.d.ts +9 -0
  47. package/types/stable/@ember/-internals/browser-environment/lib/has-dom.d.ts +4 -0
  48. package/types/stable/@ember/-internals/container/index.d.ts +4 -0
  49. package/types/stable/@ember/-internals/container/lib/container.d.ts +164 -0
  50. package/types/stable/@ember/-internals/container/lib/registry.d.ts +292 -0
  51. package/types/stable/@ember/-internals/environment/index.d.ts +5 -0
  52. package/types/stable/@ember/-internals/environment/lib/context.d.ts +10 -0
  53. package/types/stable/@ember/-internals/environment/lib/env.d.ts +153 -0
  54. package/types/stable/@ember/-internals/environment/lib/global.d.ts +4 -0
  55. package/types/stable/@ember/-internals/error-handling/index.d.ts +9 -0
  56. package/types/stable/@ember/-internals/glimmer/index.d.ts +456 -0
  57. package/types/stable/@ember/-internals/glimmer/lib/component-managers/curly.d.ts +47 -0
  58. package/types/stable/@ember/-internals/glimmer/lib/component-managers/mount.d.ts +41 -0
  59. package/types/stable/@ember/-internals/glimmer/lib/component-managers/outlet.d.ts +51 -0
  60. package/types/stable/@ember/-internals/glimmer/lib/component-managers/root.d.ts +23 -0
  61. package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +840 -0
  62. package/types/stable/@ember/-internals/glimmer/lib/components/abstract-input.d.ts +37 -0
  63. package/types/stable/@ember/-internals/glimmer/lib/components/input.d.ts +4 -0
  64. package/types/stable/@ember/-internals/glimmer/lib/components/internal.d.ts +48 -0
  65. package/types/stable/@ember/-internals/glimmer/lib/components/link-to.d.ts +4 -0
  66. package/types/stable/@ember/-internals/glimmer/lib/components/textarea.d.ts +4 -0
  67. package/types/stable/@ember/-internals/glimmer/lib/dom.d.ts +4 -0
  68. package/types/stable/@ember/-internals/glimmer/lib/environment.d.ts +11 -0
  69. package/types/stable/@ember/-internals/glimmer/lib/glimmer-component-docs.d.ts +387 -0
  70. package/types/stable/@ember/-internals/glimmer/lib/glimmer-tracking-docs.d.ts +249 -0
  71. package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +160 -0
  72. package/types/stable/@ember/-internals/glimmer/lib/helpers/-disallow-dynamic-resolution.d.ts +4 -0
  73. package/types/stable/@ember/-internals/glimmer/lib/helpers/-in-element-null-check.d.ts +4 -0
  74. package/types/stable/@ember/-internals/glimmer/lib/helpers/-normalize-class.d.ts +4 -0
  75. package/types/stable/@ember/-internals/glimmer/lib/helpers/-resolve.d.ts +4 -0
  76. package/types/stable/@ember/-internals/glimmer/lib/helpers/-track-array.d.ts +9 -0
  77. package/types/stable/@ember/-internals/glimmer/lib/helpers/action.d.ts +268 -0
  78. package/types/stable/@ember/-internals/glimmer/lib/helpers/array.d.ts +40 -0
  79. package/types/stable/@ember/-internals/glimmer/lib/helpers/component.d.ts +148 -0
  80. package/types/stable/@ember/-internals/glimmer/lib/helpers/concat.d.ts +27 -0
  81. package/types/stable/@ember/-internals/glimmer/lib/helpers/each-in.d.ts +160 -0
  82. package/types/stable/@ember/-internals/glimmer/lib/helpers/fn.d.ts +72 -0
  83. package/types/stable/@ember/-internals/glimmer/lib/helpers/get.d.ts +99 -0
  84. package/types/stable/@ember/-internals/glimmer/lib/helpers/hash.d.ts +43 -0
  85. package/types/stable/@ember/-internals/glimmer/lib/helpers/helper.d.ts +42 -0
  86. package/types/stable/@ember/-internals/glimmer/lib/helpers/if-unless.d.ts +181 -0
  87. package/types/stable/@ember/-internals/glimmer/lib/helpers/internal-helper.d.ts +5 -0
  88. package/types/stable/@ember/-internals/glimmer/lib/helpers/log.d.ts +18 -0
  89. package/types/stable/@ember/-internals/glimmer/lib/helpers/modifier.d.ts +41 -0
  90. package/types/stable/@ember/-internals/glimmer/lib/helpers/mut.d.ts +77 -0
  91. package/types/stable/@ember/-internals/glimmer/lib/helpers/page-title.d.ts +19 -0
  92. package/types/stable/@ember/-internals/glimmer/lib/helpers/readonly.d.ts +119 -0
  93. package/types/stable/@ember/-internals/glimmer/lib/helpers/unbound.d.ts +34 -0
  94. package/types/stable/@ember/-internals/glimmer/lib/helpers/unique-id.d.ts +7 -0
  95. package/types/stable/@ember/-internals/glimmer/lib/modifiers/action.d.ts +30 -0
  96. package/types/stable/@ember/-internals/glimmer/lib/modifiers/internal.d.ts +33 -0
  97. package/types/stable/@ember/-internals/glimmer/lib/modifiers/on.d.ts +94 -0
  98. package/types/stable/@ember/-internals/glimmer/lib/renderer.d.ts +96 -0
  99. package/types/stable/@ember/-internals/glimmer/lib/resolver.d.ts +16 -0
  100. package/types/stable/@ember/-internals/glimmer/lib/setup-registry.d.ts +5 -0
  101. package/types/stable/@ember/-internals/glimmer/lib/syntax/in-element.d.ts +46 -0
  102. package/types/stable/@ember/-internals/glimmer/lib/syntax/let.d.ts +54 -0
  103. package/types/stable/@ember/-internals/glimmer/lib/syntax/mount.d.ts +43 -0
  104. package/types/stable/@ember/-internals/glimmer/lib/syntax/outlet.d.ts +27 -0
  105. package/types/stable/@ember/-internals/glimmer/lib/syntax/utils.d.ts +4 -0
  106. package/types/stable/@ember/-internals/glimmer/lib/template.d.ts +6 -0
  107. package/types/stable/@ember/-internals/glimmer/lib/template_registry.d.ts +11 -0
  108. package/types/stable/@ember/-internals/glimmer/lib/utils/bindings.d.ts +10 -0
  109. package/types/stable/@ember/-internals/glimmer/lib/utils/curly-component-state-bucket.d.ts +31 -0
  110. package/types/stable/@ember/-internals/glimmer/lib/utils/debug-render-message.d.ts +4 -0
  111. package/types/stable/@ember/-internals/glimmer/lib/utils/iterator.d.ts +5 -0
  112. package/types/stable/@ember/-internals/glimmer/lib/utils/managers.d.ts +19 -0
  113. package/types/stable/@ember/-internals/glimmer/lib/utils/outlet.d.ts +51 -0
  114. package/types/stable/@ember/-internals/glimmer/lib/utils/process-args.d.ts +4 -0
  115. package/types/stable/@ember/-internals/glimmer/lib/utils/serialization-first-node-helpers.d.ts +3 -0
  116. package/types/stable/@ember/-internals/glimmer/lib/utils/string.d.ts +61 -0
  117. package/types/stable/@ember/-internals/glimmer/lib/utils/to-bool.d.ts +3 -0
  118. package/types/stable/@ember/-internals/glimmer/lib/views/outlet.d.ts +34 -0
  119. package/types/stable/@ember/-internals/meta/index.d.ts +3 -0
  120. package/types/stable/@ember/-internals/meta/lib/meta.d.ts +174 -0
  121. package/types/stable/@ember/-internals/metal/index.d.ts +26 -0
  122. package/types/stable/@ember/-internals/metal/lib/alias.d.ts +22 -0
  123. package/types/stable/@ember/-internals/metal/lib/array.d.ts +18 -0
  124. package/types/stable/@ember/-internals/metal/lib/array_events.d.ts +6 -0
  125. package/types/stable/@ember/-internals/metal/lib/cache.d.ts +121 -0
  126. package/types/stable/@ember/-internals/metal/lib/cached.d.ts +3 -0
  127. package/types/stable/@ember/-internals/metal/lib/chain-tags.d.ts +8 -0
  128. package/types/stable/@ember/-internals/metal/lib/change_event.d.ts +3 -0
  129. package/types/stable/@ember/-internals/metal/lib/computed.d.ts +484 -0
  130. package/types/stable/@ember/-internals/metal/lib/computed_cache.d.ts +3 -0
  131. package/types/stable/@ember/-internals/metal/lib/decorator.d.ts +64 -0
  132. package/types/stable/@ember/-internals/metal/lib/dependent_keys.d.ts +2 -0
  133. package/types/stable/@ember/-internals/metal/lib/deprecate_property.d.ts +18 -0
  134. package/types/stable/@ember/-internals/metal/lib/each_proxy_events.d.ts +5 -0
  135. package/types/stable/@ember/-internals/metal/lib/events.d.ts +91 -0
  136. package/types/stable/@ember/-internals/metal/lib/expand_properties.d.ts +33 -0
  137. package/types/stable/@ember/-internals/metal/lib/get_properties.d.ts +36 -0
  138. package/types/stable/@ember/-internals/metal/lib/injected_property.d.ts +25 -0
  139. package/types/stable/@ember/-internals/metal/lib/libraries.d.ts +31 -0
  140. package/types/stable/@ember/-internals/metal/lib/namespace_search.d.ts +19 -0
  141. package/types/stable/@ember/-internals/metal/lib/observer.d.ts +54 -0
  142. package/types/stable/@ember/-internals/metal/lib/path_cache.d.ts +3 -0
  143. package/types/stable/@ember/-internals/metal/lib/properties.d.ts +58 -0
  144. package/types/stable/@ember/-internals/metal/lib/property_events.d.ts +59 -0
  145. package/types/stable/@ember/-internals/metal/lib/property_get.d.ts +44 -0
  146. package/types/stable/@ember/-internals/metal/lib/property_set.d.ts +52 -0
  147. package/types/stable/@ember/-internals/metal/lib/set_properties.d.ts +32 -0
  148. package/types/stable/@ember/-internals/metal/lib/tags.d.ts +7 -0
  149. package/types/stable/@ember/-internals/metal/lib/tracked.d.ts +78 -0
  150. package/types/stable/@ember/-internals/overrides/index.d.ts +3 -0
  151. package/types/stable/@ember/-internals/owner/index.d.ts +646 -0
  152. package/types/stable/@ember/-internals/routing/index.d.ts +3 -0
  153. package/types/stable/@ember/-internals/runtime/index.d.ts +11 -0
  154. package/types/stable/@ember/-internals/runtime/lib/ext/rsvp.d.ts +5 -0
  155. package/types/stable/@ember/-internals/runtime/lib/mixins/-proxy.d.ts +34 -0
  156. package/types/stable/@ember/-internals/runtime/lib/mixins/action_handler.d.ts +23 -0
  157. package/types/stable/@ember/-internals/runtime/lib/mixins/comparable.d.ts +22 -0
  158. package/types/stable/@ember/-internals/runtime/lib/mixins/container_proxy.d.ts +22 -0
  159. package/types/stable/@ember/-internals/runtime/lib/mixins/registry_proxy.d.ts +22 -0
  160. package/types/stable/@ember/-internals/runtime/lib/mixins/target_action_support.d.ts +29 -0
  161. package/types/stable/@ember/-internals/utility-types/index.d.ts +10 -0
  162. package/types/stable/@ember/-internals/utils/index.d.ts +16 -0
  163. package/types/stable/@ember/-internals/utils/lib/cache.d.ts +14 -0
  164. package/types/stable/@ember/-internals/utils/lib/dictionary.d.ts +7 -0
  165. package/types/stable/@ember/-internals/utils/lib/get-debug-name.d.ts +4 -0
  166. package/types/stable/@ember/-internals/utils/lib/guid.d.ts +60 -0
  167. package/types/stable/@ember/-internals/utils/lib/intern.d.ts +42 -0
  168. package/types/stable/@ember/-internals/utils/lib/invoke.d.ts +24 -0
  169. package/types/stable/@ember/-internals/utils/lib/is_proxy.d.ts +5 -0
  170. package/types/stable/@ember/-internals/utils/lib/lookup-descriptor.d.ts +3 -0
  171. package/types/stable/@ember/-internals/utils/lib/mandatory-setter.d.ts +6 -0
  172. package/types/stable/@ember/-internals/utils/lib/name.d.ts +4 -0
  173. package/types/stable/@ember/-internals/utils/lib/spec.d.ts +14 -0
  174. package/types/stable/@ember/-internals/utils/lib/super.d.ts +31 -0
  175. package/types/stable/@ember/-internals/utils/lib/symbol.d.ts +5 -0
  176. package/types/stable/@ember/-internals/utils/lib/to-string.d.ts +3 -0
  177. package/types/stable/@ember/-internals/views/index.d.ts +13 -0
  178. package/types/stable/@ember/-internals/views/lib/compat/attrs.d.ts +3 -0
  179. package/types/stable/@ember/-internals/views/lib/compat/fallback-view-registry.d.ts +6 -0
  180. package/types/stable/@ember/-internals/views/lib/component_lookup.d.ts +5 -0
  181. package/types/stable/@ember/-internals/views/lib/mixins/action_support.d.ts +13 -0
  182. package/types/stable/@ember/-internals/views/lib/mixins/child_views_support.d.ts +13 -0
  183. package/types/stable/@ember/-internals/views/lib/mixins/class_names_support.d.ts +14 -0
  184. package/types/stable/@ember/-internals/views/lib/mixins/view_state_support.d.ts +13 -0
  185. package/types/stable/@ember/-internals/views/lib/mixins/view_support.d.ts +25 -0
  186. package/types/stable/@ember/-internals/views/lib/system/action_manager.d.ts +11 -0
  187. package/types/stable/@ember/-internals/views/lib/system/event_dispatcher.d.ts +117 -0
  188. package/types/stable/@ember/-internals/views/lib/system/utils.d.ts +94 -0
  189. package/types/stable/@ember/-internals/views/lib/views/core_view.d.ts +60 -0
  190. package/types/stable/@ember/-internals/views/lib/views/states/default.d.ts +5 -0
  191. package/types/stable/@ember/-internals/views/lib/views/states/destroying.d.ts +5 -0
  192. package/types/stable/@ember/-internals/views/lib/views/states/has_element.d.ts +5 -0
  193. package/types/stable/@ember/-internals/views/lib/views/states/in_dom.d.ts +5 -0
  194. package/types/stable/@ember/-internals/views/lib/views/states/pre_render.d.ts +11 -0
  195. package/types/stable/@ember/-internals/views/lib/views/states.d.ts +25 -0
  196. package/types/stable/@ember/application/index.d.ts +814 -0
  197. package/types/stable/@ember/application/instance.d.ts +288 -0
  198. package/types/stable/@ember/application/lib/lazy_load.d.ts +38 -0
  199. package/types/stable/@ember/application/namespace.d.ts +38 -0
  200. package/types/stable/@ember/array/-internals.d.ts +5 -0
  201. package/types/stable/@ember/array/index.d.ts +1457 -0
  202. package/types/stable/@ember/array/lib/make-array.d.ts +34 -0
  203. package/types/stable/@ember/array/mutable.d.ts +3 -0
  204. package/types/stable/@ember/array/proxy.d.ts +158 -0
  205. package/types/stable/@ember/canary-features/index.d.ts +49 -0
  206. package/types/stable/@ember/component/helper.d.ts +3 -0
  207. package/types/stable/@ember/component/index.d.ts +5 -0
  208. package/types/stable/@ember/component/template-only.d.ts +33 -0
  209. package/types/stable/@ember/controller/index.d.ts +277 -0
  210. package/types/stable/@ember/debug/container-debug-adapter.d.ts +73 -0
  211. package/types/stable/@ember/debug/data-adapter.d.ts +325 -0
  212. package/types/stable/@ember/debug/index.d.ts +52 -0
  213. package/types/stable/@ember/debug/lib/capture-render-tree.d.ts +21 -0
  214. package/types/stable/@ember/debug/lib/deprecate.d.ts +72 -0
  215. package/types/stable/@ember/debug/lib/handlers.d.ts +14 -0
  216. package/types/stable/@ember/debug/lib/inspect.d.ts +20 -0
  217. package/types/stable/@ember/debug/lib/testing.d.ts +4 -0
  218. package/types/stable/@ember/debug/lib/warn.d.ts +14 -0
  219. package/types/stable/@ember/deprecated-features/index.d.ts +3 -0
  220. package/types/stable/@ember/destroyable/index.d.ts +237 -0
  221. package/types/stable/@ember/engine/index.d.ts +347 -0
  222. package/types/stable/@ember/engine/instance.d.ts +127 -0
  223. package/types/stable/@ember/engine/lib/engine-parent.d.ts +27 -0
  224. package/types/stable/@ember/enumerable/index.d.ts +19 -0
  225. package/types/stable/@ember/enumerable/mutable.d.ts +21 -0
  226. package/types/stable/@ember/error/index.d.ts +15 -0
  227. package/types/stable/@ember/helper/index.d.ts +314 -0
  228. package/types/stable/@ember/instrumentation/index.d.ts +127 -0
  229. package/types/stable/@ember/modifier/index.d.ts +5 -0
  230. package/types/stable/@ember/object/-internals.d.ts +9 -0
  231. package/types/stable/@ember/object/compat.d.ts +90 -0
  232. package/types/stable/@ember/object/computed.d.ts +5 -0
  233. package/types/stable/@ember/object/core.d.ts +638 -0
  234. package/types/stable/@ember/object/evented.d.ts +134 -0
  235. package/types/stable/@ember/object/events.d.ts +3 -0
  236. package/types/stable/@ember/object/index.d.ts +60 -0
  237. package/types/stable/@ember/object/internals.d.ts +3 -0
  238. package/types/stable/@ember/object/lib/computed/computed_macros.d.ts +644 -0
  239. package/types/stable/@ember/object/lib/computed/reduce_computed_macros.d.ts +791 -0
  240. package/types/stable/@ember/object/mixin.d.ts +157 -0
  241. package/types/stable/@ember/object/observable.d.ts +383 -0
  242. package/types/stable/@ember/object/observers.d.ts +3 -0
  243. package/types/stable/@ember/object/promise-proxy-mixin.d.ts +167 -0
  244. package/types/stable/@ember/object/proxy.d.ts +88 -0
  245. package/types/stable/@ember/owner/index.d.ts +80 -0
  246. package/types/stable/@ember/polyfills/index.d.ts +4 -0
  247. package/types/stable/@ember/polyfills/lib/assign.d.ts +9 -0
  248. package/types/stable/@ember/renderer/index.d.ts +28 -0
  249. package/types/stable/@ember/routing/-internals.d.ts +11 -0
  250. package/types/stable/@ember/routing/auto-location.d.ts +149 -0
  251. package/types/stable/@ember/routing/hash-location.d.ts +113 -0
  252. package/types/stable/@ember/routing/history-location.d.ts +143 -0
  253. package/types/stable/@ember/routing/index.d.ts +3 -0
  254. package/types/stable/@ember/routing/lib/cache.d.ts +16 -0
  255. package/types/stable/@ember/routing/lib/controller_for.d.ts +15 -0
  256. package/types/stable/@ember/routing/lib/dsl.d.ts +52 -0
  257. package/types/stable/@ember/routing/lib/engines.d.ts +14 -0
  258. package/types/stable/@ember/routing/lib/generate_controller.d.ts +25 -0
  259. package/types/stable/@ember/routing/lib/location-utils.d.ts +31 -0
  260. package/types/stable/@ember/routing/lib/query_params.d.ts +7 -0
  261. package/types/stable/@ember/routing/lib/route-info.d.ts +3 -0
  262. package/types/stable/@ember/routing/lib/router_state.d.ts +13 -0
  263. package/types/stable/@ember/routing/lib/routing-service.d.ts +35 -0
  264. package/types/stable/@ember/routing/lib/utils.d.ts +36 -0
  265. package/types/stable/@ember/routing/location.d.ts +108 -0
  266. package/types/stable/@ember/routing/none-location.d.ts +83 -0
  267. package/types/stable/@ember/routing/route-info.d.ts +125 -0
  268. package/types/stable/@ember/routing/route.d.ts +1456 -0
  269. package/types/stable/@ember/routing/router-service.d.ts +588 -0
  270. package/types/stable/@ember/routing/router.d.ts +431 -0
  271. package/types/stable/@ember/routing/transition.d.ts +180 -0
  272. package/types/stable/@ember/runloop/index.d.ts +657 -0
  273. package/types/stable/@ember/service/index.d.ts +82 -0
  274. package/types/stable/@ember/string/index.d.ts +152 -0
  275. package/types/stable/@ember/string/lib/string_registry.d.ts +9 -0
  276. package/types/stable/@ember/template/index.d.ts +3 -0
  277. package/types/stable/@ember/template-compilation/index.d.ts +4 -0
  278. package/types/stable/@ember/template-factory/index.d.ts +3 -0
  279. package/types/stable/@ember/test/adapter.d.ts +4 -0
  280. package/types/stable/@ember/test/index.d.ts +8 -0
  281. package/types/stable/@ember/utils/index.d.ts +9 -0
  282. package/types/stable/@ember/utils/lib/compare.d.ts +54 -0
  283. package/types/stable/@ember/utils/lib/is-equal.d.ts +52 -0
  284. package/types/stable/@ember/utils/lib/is_blank.d.ts +32 -0
  285. package/types/stable/@ember/utils/lib/is_empty.d.ts +38 -0
  286. package/types/stable/@ember/utils/lib/is_none.d.ts +26 -0
  287. package/types/stable/@ember/utils/lib/is_present.d.ts +35 -0
  288. package/types/stable/@ember/utils/lib/type-of.d.ts +68 -0
  289. package/types/stable/@ember/version/index.d.ts +3 -0
  290. package/types/stable/@glimmer/tracking/index.d.ts +203 -0
  291. package/types/stable/@glimmer/tracking/primitives/cache.d.ts +3 -0
  292. package/types/stable/ember/index.d.ts +376 -0
  293. package/types/stable/ember-template-compiler/index.d.ts +21 -0
  294. package/types/stable/ember-template-compiler/lib/plugins/assert-against-attrs.d.ts +20 -0
  295. package/types/stable/ember-template-compiler/lib/plugins/assert-against-named-outlets.d.ts +14 -0
  296. package/types/stable/ember-template-compiler/lib/plugins/assert-input-helper-without-block.d.ts +5 -0
  297. package/types/stable/ember-template-compiler/lib/plugins/assert-reserved-named-arguments.d.ts +5 -0
  298. package/types/stable/ember-template-compiler/lib/plugins/assert-splattribute-expression.d.ts +5 -0
  299. package/types/stable/ember-template-compiler/lib/plugins/index.d.ts +5 -0
  300. package/types/stable/ember-template-compiler/lib/plugins/transform-action-syntax.d.ts +28 -0
  301. package/types/stable/ember-template-compiler/lib/plugins/transform-each-in-into-each.d.ts +24 -0
  302. package/types/stable/ember-template-compiler/lib/plugins/transform-each-track-array.d.ts +24 -0
  303. package/types/stable/ember-template-compiler/lib/plugins/transform-in-element.d.ts +22 -0
  304. package/types/stable/ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings.d.ts +4 -0
  305. package/types/stable/ember-template-compiler/lib/plugins/transform-resolutions.d.ts +5 -0
  306. package/types/stable/ember-template-compiler/lib/plugins/transform-wrap-mount-and-outlet.d.ts +36 -0
  307. package/types/stable/ember-template-compiler/lib/plugins/utils.d.ts +13 -0
  308. package/types/stable/ember-template-compiler/lib/system/bootstrap.d.ts +26 -0
  309. package/types/stable/ember-template-compiler/lib/system/calculate-location-display.d.ts +4 -0
  310. package/types/stable/ember-template-compiler/lib/system/compile-options.d.ts +6 -0
  311. package/types/stable/ember-template-compiler/lib/system/compile.d.ts +13 -0
  312. package/types/stable/ember-template-compiler/lib/system/dasherize-component-name.d.ts +5 -0
  313. package/types/stable/ember-template-compiler/lib/system/initializer.d.ts +3 -0
  314. package/types/stable/ember-template-compiler/lib/system/precompile.d.ts +17 -0
  315. package/types/stable/ember-testing/index.d.ts +10 -0
  316. package/types/stable/ember-testing/lib/adapters/adapter.d.ts +20 -0
  317. package/types/stable/ember-testing/lib/adapters/qunit.d.ts +19 -0
  318. package/types/stable/ember-testing/lib/ext/application.d.ts +12 -0
  319. package/types/stable/ember-testing/lib/ext/rsvp.d.ts +4 -0
  320. package/types/stable/ember-testing/lib/helpers/and_then.d.ts +4 -0
  321. package/types/stable/ember-testing/lib/helpers/current_path.d.ts +22 -0
  322. package/types/stable/ember-testing/lib/helpers/current_route_name.d.ts +21 -0
  323. package/types/stable/ember-testing/lib/helpers/current_url.d.ts +22 -0
  324. package/types/stable/ember-testing/lib/helpers/pause_test.d.ts +53 -0
  325. package/types/stable/ember-testing/lib/helpers/visit.d.ts +22 -0
  326. package/types/stable/ember-testing/lib/helpers/wait.d.ts +34 -0
  327. package/types/stable/ember-testing/lib/helpers.d.ts +3 -0
  328. package/types/stable/ember-testing/lib/initializers.d.ts +3 -0
  329. package/types/stable/ember-testing/lib/setup_for_testing.d.ts +15 -0
  330. package/types/stable/ember-testing/lib/test/adapter.d.ts +7 -0
  331. package/types/stable/ember-testing/lib/test/helpers.d.ts +115 -0
  332. package/types/stable/ember-testing/lib/test/on_inject_helpers.d.ts +33 -0
  333. package/types/stable/ember-testing/lib/test/pending_requests.d.ts +6 -0
  334. package/types/stable/ember-testing/lib/test/promise.d.ts +38 -0
  335. package/types/stable/ember-testing/lib/test/run.d.ts +3 -0
  336. package/types/stable/ember-testing/lib/test/waiters.d.ts +67 -0
  337. package/types/stable/ember-testing/lib/test.d.ts +47 -0
  338. package/types/stable/index.d.ts +47 -0
  339. package/types/preview/@ember/application/tsconfig.json +0 -3
  340. package/types/preview/@ember/array/tsconfig.json +0 -3
  341. package/types/preview/@ember/component/tsconfig.json +0 -3
  342. package/types/preview/@ember/controller/tsconfig.json +0 -3
  343. package/types/preview/@ember/debug/tsconfig.json +0 -3
  344. package/types/preview/@ember/destroyable/tsconfig.json +0 -3
  345. package/types/preview/@ember/engine/tsconfig.json +0 -3
  346. package/types/preview/@ember/error/tsconfig.json +0 -3
  347. package/types/preview/@ember/helper/tsconfig.json +0 -3
  348. package/types/preview/@ember/modifier/tsconfig.json +0 -3
  349. package/types/preview/@ember/object/tsconfig.json +0 -3
  350. package/types/preview/@ember/owner/index.d.ts +0 -423
  351. package/types/preview/@ember/owner/tsconfig.json +0 -3
  352. package/types/preview/@ember/polyfills/tsconfig.json +0 -3
  353. package/types/preview/@ember/routing/tsconfig.json +0 -3
  354. package/types/preview/@ember/runloop/tsconfig.json +0 -3
  355. package/types/preview/@ember/service/tsconfig.json +0 -3
  356. package/types/preview/@ember/string/tsconfig.json +0 -3
  357. package/types/preview/@ember/template/tsconfig.json +0 -3
  358. package/types/preview/@ember/test/tsconfig.json +0 -3
  359. package/types/preview/@ember/utils/tsconfig.json +0 -3
  360. package/types/preview/ember/tsconfig.json +0 -3
  361. package/types/preview/tsconfig.json +0 -6
@@ -0,0 +1,37 @@
1
+ declare module '@ember/-internals/glimmer/lib/components/abstract-input.d.ts' {
2
+ import type { Reference } from '@glimmer/reference';
3
+ import type { EventListener } from './internal';
4
+ import InternalComponent from './internal';
5
+ type VirtualEventListener = (value: string, event: Event) => void;
6
+ export function valueFrom(reference?: Reference<unknown>): Value;
7
+ interface Value {
8
+ get(): unknown;
9
+ set(value: unknown): void;
10
+ }
11
+ export default abstract class AbstractInput extends InternalComponent {
12
+ validateArguments(): void;
13
+ private _value;
14
+ get value(): unknown;
15
+ set value(value: unknown);
16
+ valueDidChange(event: Event): void;
17
+ /**
18
+ * The `change` and `input` actions need to be overridden in the `Input`
19
+ * subclass. Unfortunately, some ember-source builds currently uses babel
20
+ * loose mode to transpile its classes. Having the `@action` decorator on the
21
+ * super class creates a getter on the prototype, and when the subclass
22
+ * overrides the method, the loose mode transpilation would emit something
23
+ * like `Subclass.prototype['change'] = function change() { ... }`, which
24
+ * fails because `prototype['change']` is getter-only/readonly. The correct
25
+ * solution is to use `Object.defineProperty(prototype, 'change', ...)` but
26
+ * that requires disabling loose mode. For now, the workaround is to add the
27
+ * decorator only on the subclass. This is more of a configuration issue on
28
+ * our own builds and doesn't really affect apps.
29
+ */
30
+ change(event: Event): void;
31
+ input(event: Event): void;
32
+ keyUp(event: KeyboardEvent): void;
33
+ protected listenerFor(name: string): EventListener;
34
+ protected isVirtualEventListener(name: string, _listener: Function): _listener is VirtualEventListener;
35
+ }
36
+ export {};
37
+ }
@@ -0,0 +1,4 @@
1
+ declare module '@ember/-internals/glimmer/lib/components/input.d.ts' {
2
+ const _default: import("./internal").OpaqueInternalComponentConstructor;
3
+ export default _default;
4
+ }
@@ -0,0 +1,48 @@
1
+ declare module '@ember/-internals/glimmer/lib/components/internal.d.ts' {
2
+ import type { InternalOwner } from '@ember/-internals/owner';
3
+ import type { CapturedArguments, TemplateFactory } from '@glimmer/interfaces';
4
+ export type EventListener = (event: Event) => void;
5
+ export default class InternalComponent {
6
+ protected owner: InternalOwner;
7
+ protected readonly args: CapturedArguments;
8
+ protected readonly caller: unknown;
9
+ static toString(): string;
10
+ constructor(owner: InternalOwner, args: CapturedArguments, caller: unknown);
11
+ /**
12
+ * The default HTML id attribute. We don't really _need_ one, this is just
13
+ * added for compatibility as it's hard to tell if people rely on it being
14
+ * present, and it doens't really hurt.
15
+ *
16
+ * However, don't rely on this internally, like passing it to `getElementId`.
17
+ * This can be (and often is) overriden by passing an `id` attribute on the
18
+ * invocation, which shadows this default id via `...attributes`.
19
+ */
20
+ get id(): string;
21
+ /**
22
+ * The default HTML class attribute. Similar to the above, we don't _need_
23
+ * them, they are just added for compatibility as it's similarly hard to tell
24
+ * if people rely on it in their CSS etc, and it doens't really hurt.
25
+ */
26
+ get class(): string;
27
+ protected validateArguments(): void;
28
+ protected named(name: string): unknown;
29
+ protected positional(index: number): unknown;
30
+ protected listenerFor(name: string): EventListener;
31
+ protected isSupportedArgument(_name: string): boolean;
32
+ protected onUnsupportedArgument(_name: string): void;
33
+ toString(): string;
34
+ }
35
+ export interface InternalComponentConstructor<T extends InternalComponent = InternalComponent> {
36
+ new (owner: InternalOwner, args: CapturedArguments, caller: unknown): T;
37
+ prototype: T;
38
+ toString(): string;
39
+ }
40
+ const OPAQUE_INTERNAL_COMPONENT_CONSTRUCTOR: unique symbol;
41
+ export interface OpaqueInternalComponentConstructor {
42
+ create(): never;
43
+ toString(): string;
44
+ [OPAQUE_INTERNAL_COMPONENT_CONSTRUCTOR]: true;
45
+ }
46
+ export function opaquify(constructor: InternalComponentConstructor, template: TemplateFactory): OpaqueInternalComponentConstructor;
47
+ export {};
48
+ }
@@ -0,0 +1,4 @@
1
+ declare module '@ember/-internals/glimmer/lib/components/link-to.d.ts' {
2
+ const _default: import("./internal").OpaqueInternalComponentConstructor;
3
+ export default _default;
4
+ }
@@ -0,0 +1,4 @@
1
+ declare module '@ember/-internals/glimmer/lib/components/textarea.d.ts' {
2
+ const _default: import("./internal").OpaqueInternalComponentConstructor;
3
+ export default _default;
4
+ }
@@ -0,0 +1,4 @@
1
+ declare module '@ember/-internals/glimmer/lib/dom.d.ts' {
2
+ export { DOMChanges, DOMTreeConstruction, clientBuilder, rehydrationBuilder, } from '@glimmer/runtime';
3
+ export { NodeDOMTreeConstruction, serializeBuilder } from '@glimmer/node';
4
+ }
@@ -0,0 +1,11 @@
1
+ declare module '@ember/-internals/glimmer/lib/environment.d.ts' {
2
+ import type { InternalOwner } from '@ember/-internals/owner';
3
+ import type { EnvironmentDelegate } from '@glimmer/runtime';
4
+ export class EmberEnvironmentDelegate implements EnvironmentDelegate {
5
+ owner: InternalOwner;
6
+ isInteractive: boolean;
7
+ enableDebugTooling: boolean;
8
+ constructor(owner: InternalOwner, isInteractive: boolean);
9
+ onTransactionCommit(): void;
10
+ }
11
+ }
@@ -0,0 +1,387 @@
1
+ declare module '@ember/-internals/glimmer/lib/glimmer-component-docs.d.ts' {
2
+ /**
3
+ A component is a reusable UI element that consists of a `.hbs` template and an
4
+ optional JavaScript class that defines its behavior. For example, someone
5
+ might make a `button` in the template and handle the click behavior in the
6
+ JavaScript file that shares the same name as the template.
7
+
8
+ Components are broken down into two categories:
9
+
10
+ - Components _without_ JavaScript, that are based only on a template. These
11
+ are called Template-only or TO components.
12
+ - Components _with_ JavaScript, which consist of a template and a backing
13
+ class.
14
+
15
+ Ember ships with two types of JavaScript classes for components:
16
+
17
+ 1. Glimmer components, imported from `@glimmer/component`, which are the
18
+ default components for Ember Octane (3.15) and more recent editions.
19
+ 2. Classic components, imported from `@ember/component`, which were the
20
+ default for older editions of Ember (pre 3.15).
21
+
22
+ Below is the documentation for Template-only and Glimmer components. If you
23
+ are looking for the API documentation for Classic components, it is
24
+ [available here](/ember/release/classes/Component). The source code for
25
+ Glimmer components can be found in [`@glimmer/component`](https://github.com/glimmerjs/glimmer.js/tree/master/packages/%40glimmer/component).
26
+
27
+ ## Defining a Template-only Component
28
+
29
+ The simplest way to create a component is to create a template file in
30
+ `app/templates/components`. For example, if you name a template
31
+ `app/templates/components/person-profile.hbs`:
32
+
33
+ ```app/templates/components/person-profile.hbs
34
+ <h1>{{@person.name}}</h1>
35
+ <img src={{@person.avatar}}>
36
+ <p class='signature'>{{@person.signature}}</p>
37
+ ```
38
+
39
+ You will be able to use `<PersonProfile />` to invoke this component elsewhere
40
+ in your application:
41
+
42
+ ```app/templates/application.hbs
43
+ <PersonProfile @person={{this.currentUser}} />
44
+ ```
45
+
46
+ Note that component names are capitalized here in order to distinguish them
47
+ from regular HTML elements, but they are dasherized in the file system.
48
+
49
+ While the angle bracket invocation form is generally preferred, it is also
50
+ possible to invoke the same component with the `{{person-profile}}` syntax:
51
+
52
+ ```app/templates/application.hbs
53
+ {{person-profile person=this.currentUser}}
54
+ ```
55
+
56
+ Note that with this syntax, you use dashes in the component name and
57
+ arguments are passed without the `@` sign.
58
+
59
+ In both cases, Ember will render the content of the component template we
60
+ created above. The end result will be something like this:
61
+
62
+ ```html
63
+ <h1>Tomster</h1>
64
+ <img src="https://emberjs.com/tomster.jpg">
65
+ <p class='signature'>Out of office this week</p>
66
+ ```
67
+
68
+ ## File System Nesting
69
+
70
+ Components can be nested inside sub-folders for logical groupping. For
71
+ example, if we placed our template in
72
+ `app/templates/components/person/short-profile.hbs`, we can invoke it as
73
+ `<Person::ShortProfile />`:
74
+
75
+ ```app/templates/application.hbs
76
+ <Person::ShortProfile @person={{this.currentUser}} />
77
+ ```
78
+
79
+ Or equivalently, `{{person/short-profile}}`:
80
+
81
+ ```app/templates/application.hbs
82
+ {{person/short-profile person=this.currentUser}}
83
+ ```
84
+
85
+ ## Using Blocks
86
+
87
+ You can use `yield` inside a template to include the **contents** of any block
88
+ attached to the component. For instance, if we added a `{{yield}}` to our
89
+ component like so:
90
+
91
+ ```app/templates/components/person-profile.hbs
92
+ <h1>{{@person.name}}</h1>
93
+ {{yield}}
94
+ ```
95
+
96
+ We could then invoke it like this:
97
+
98
+ ```handlebars
99
+ <PersonProfile @person={{this.currentUser}}>
100
+ <p>Admin mode</p>
101
+ </PersonProfile>
102
+ ```
103
+
104
+ or with curly syntax like this:
105
+
106
+ ```handlebars
107
+ {{#person-profile person=this.currentUser}}
108
+ <p>Admin mode</p>
109
+ {{/person-profile}}
110
+ ```
111
+
112
+ And the content passed in between the brackets of the component would be
113
+ rendered in the same place as the `{{yield}}` within it, replacing it.
114
+
115
+ Blocks are executed in their original context, meaning they have access to the
116
+ scope and any in-scope variables where they were defined.
117
+
118
+ ### Passing parameters to blocks
119
+
120
+ You can also pass positional parameters to `{{yield}}`, which are then made
121
+ available in the block:
122
+
123
+ ```app/templates/components/person-profile.hbs
124
+ <h1>{{@person.name}}</h1>
125
+ {{yield @person.signature}}
126
+ ```
127
+
128
+ We can then use this value in the block like so:
129
+
130
+ ```handlebars
131
+ <PersonProfile @person={{this.currentUser}} as |signature|>
132
+ {{signature}}
133
+ </PersonProfile>
134
+ ```
135
+
136
+ ### Passing multiple blocks
137
+
138
+ You can pass multiple blocks to a component by giving them names, and
139
+ specifying which block you are yielding to with `{{yield}}`. For instance, if
140
+ we wanted to add a way for users to customize the title of our
141
+ `<PersonProfile>` component, we could add a named block inside of the header:
142
+
143
+ ```app/templates/components/person-profile.hbs
144
+ <h1>{{yield to="title"}}</h1>
145
+ {{yield}}
146
+ ```
147
+
148
+ This component could then be invoked like so:
149
+
150
+ ```handlebars
151
+ <PersonProfile @person={{this.currentUser}}>
152
+ <:title>{{this.currentUser.name}}</:title>
153
+ <:default>{{this.currentUser.signature}}</:default>
154
+ </PersonProfile>
155
+ ```
156
+
157
+ When passing named blocks, you must name every block, including the `default`
158
+ block, which is the block that is defined if you do not pass a `to` parameter
159
+ to `{{yield}}`. Whenever you invoke a component without passing explicitly
160
+ named blocks, the passed block is considered the `default` block.
161
+
162
+ ### Passing parameters to named blocks
163
+
164
+ You can also pass parameters to named blocks:
165
+
166
+ ```app/templates/components/person-profile.hbs
167
+ <h1>{{yield @person.name to="title"}}</h1>
168
+ {{yield @person.signature}}
169
+ ```
170
+
171
+ These parameters can then be used like so:
172
+
173
+ ```handlebars
174
+ <PersonProfile @person={{this.currentUser}}>
175
+ <:title as |name|>{{name}}</:title>
176
+ <:default as |signature|>{{signature}}</:default>
177
+ </PersonProfile>
178
+ ```
179
+
180
+ ### Checking to see if a block exists
181
+
182
+ You can also check to see if a block exists using the `(has-block)` keyword,
183
+ and conditionally use it, or provide a default template instead.
184
+
185
+ ```app/templates/components/person-profile.hbs
186
+ <h1>
187
+ {{#if (has-block "title")}}
188
+ {{yield @person.name to="title"}}
189
+ {{else}}
190
+ {{@person.name}}
191
+ {{/if}}
192
+ </h1>
193
+
194
+ {{#if (has-block)}}
195
+ {{yield @person.signature}}
196
+ {{else}}
197
+ {{@person.signature}}
198
+ {{/if}}
199
+ ```
200
+
201
+ With this template, we can then optionally pass in one block, both blocks, or
202
+ none at all:
203
+
204
+ ```handlebars
205
+ {{! passing both blocks }}
206
+ <PersonProfile @person={{this.currentUser}}>
207
+ <:title as |name|>{{name}}</:title>
208
+ <:default as |signature|>{{signature}}</:default>
209
+ </PersonProfile>
210
+
211
+ {{! passing just the title block }}
212
+ <PersonProfile @person={{this.currentUser}}>
213
+ <:title as |name|>{{name}}</:title>
214
+ </PersonProfile>
215
+
216
+ {{! passing just the default block }}
217
+ <PersonProfile @person={{this.currentUser}} as |signature|>
218
+ {{signature}}
219
+ </PersonProfile>
220
+
221
+ {{! not passing any blocks }}
222
+ <PersonProfile @person={{this.currentUser}}/>
223
+ ```
224
+
225
+ ### Checking to see if a block has parameters
226
+
227
+ We can also check if a block receives parameters using the `(has-block-params)`
228
+ keyword, and conditionally yield different values if so.
229
+
230
+ ```app/templates/components/person-profile.hbs
231
+ {{#if (has-block-params)}}
232
+ {{yield @person.signature}}
233
+ {{else}}
234
+ {{yield}}
235
+ {{/if}}
236
+ ```
237
+
238
+ ## Customizing Components With JavaScript
239
+
240
+ To add JavaScript to a component, create a JavaScript file in the same
241
+ location as the template file, with the same name, and export a subclass
242
+ of `Component` as the default value. For example, to add Javascript to the
243
+ `PersonProfile` component which we defined above, we would create
244
+ `app/components/person-profile.js` and export our class as the default, like
245
+ so:
246
+
247
+ ```app/components/person-profile.js
248
+ import Component from '@glimmer/component';
249
+
250
+ export default class PersonProfileComponent extends Component {
251
+ get displayName() {
252
+ let { title, firstName, lastName } = this.args.person;
253
+
254
+ if (title) {
255
+ return `${title} ${lastName}`;
256
+ } else {
257
+ return `${firstName} ${lastName}`;
258
+ }
259
+ })
260
+ }
261
+ ```
262
+
263
+ You can add your own properties, methods, and lifecycle hooks to this
264
+ subclass to customize its behavior, and you can reference the instance of the
265
+ class in your template using `{{this}}`. For instance, we could access the
266
+ `displayName` property of our `PersonProfile` component instance in the
267
+ template like this:
268
+
269
+ ```app/templates/components/person-profile.hbs
270
+ <h1>{{this.displayName}}</h1>
271
+ {{yield}}
272
+ ```
273
+
274
+ ## `constructor`
275
+
276
+ params: `owner` object and `args` object
277
+
278
+ Constructs a new component and assigns itself the passed properties. The
279
+ constructor is run whenever a new instance of the component is created, and
280
+ can be used to setup the initial state of the component.
281
+
282
+ ```javascript
283
+ import Component from '@glimmer/component';
284
+
285
+ export default class SomeComponent extends Component {
286
+ constructor(owner, args) {
287
+ super(owner, args);
288
+
289
+ if (this.args.displayMode === 'list') {
290
+ this.items = [];
291
+ }
292
+ }
293
+ }
294
+ ```
295
+
296
+ Service injections and arguments are available in the constructor.
297
+
298
+ ```javascript
299
+ import Component from '@glimmer/component';
300
+ import { service } from '@ember/service';
301
+
302
+ export default class SomeComponent extends Component {
303
+ @service myAnimations;
304
+
305
+ constructor(owner, args) {
306
+ super(owner, args);
307
+
308
+ if (this.args.fadeIn === true) {
309
+ this.myAnimations.register(this, 'fade-in');
310
+ }
311
+ }
312
+ }
313
+ ```
314
+
315
+ ## `willDestroy`
316
+
317
+ `willDestroy` is called after the component has been removed from the DOM, but
318
+ before the component is fully destroyed. This lifecycle hook can be used to
319
+ cleanup the component and any related state.
320
+
321
+ ```javascript
322
+ import Component from '@glimmer/component';
323
+ import { service } from '@ember/service';
324
+
325
+ export default class SomeComponent extends Component {
326
+ @service myAnimations;
327
+
328
+ willDestroy() {
329
+ super.willDestroy(...arguments);
330
+
331
+ this.myAnimations.unregister(this);
332
+ }
333
+ }
334
+ ```
335
+
336
+ ## `args`
337
+
338
+ The `args` property of Glimmer components is an object that contains the
339
+ _arguments_ that are passed to the component. For instance, the
340
+ following component usage:
341
+
342
+ ```handlebars
343
+ <SomeComponent @fadeIn={{true}} />
344
+ ```
345
+
346
+ Would result in the following `args` object to be passed to the component:
347
+
348
+ ```javascript
349
+ { fadeIn: true }
350
+ ```
351
+
352
+ `args` can be accessed at any point in the component lifecycle, including
353
+ `constructor` and `willDestroy`. They are also automatically marked as tracked
354
+ properties, and they can be depended on as computed property dependencies:
355
+
356
+ ```javascript
357
+ import Component from '@glimmer/component';
358
+ import { computed } from '@ember/object';
359
+
360
+ export default class SomeComponent extends Component {
361
+
362
+ @computed('args.someValue')
363
+ get computedGetter() {
364
+ // updates whenever args.someValue updates
365
+ return this.args.someValue;
366
+ }
367
+
368
+ get standardGetter() {
369
+ // updates whenever args.anotherValue updates (Ember 3.13+)
370
+ return this.args.anotherValue;
371
+ }
372
+ }
373
+ ```
374
+
375
+ ## `isDestroying`
376
+
377
+ A boolean flag to tell if the component is in the process of destroying. This is set to
378
+ true before `willDestroy` is called.
379
+
380
+ ## `isDestroyed`
381
+ A boolean to tell if the component has been fully destroyed. This is set to true
382
+ after `willDestroy` is called.
383
+
384
+ @module @glimmer/component
385
+ @public
386
+ */
387
+ }