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,484 @@
1
+ declare module '@ember/-internals/metal/lib/computed.d.ts' {
2
+ import type { Meta } from '@ember/-internals/meta';
3
+ import type { ExtendedMethodDecorator, DecoratorPropertyDescriptor } from './decorator';
4
+ import { ComputedDescriptor } from './decorator';
5
+ export type ComputedPropertyGetterFunction = (this: any, key: string) => unknown;
6
+ export type ComputedPropertySetterFunction = (this: any, key: string, newVal: unknown, oldVal: unknown) => unknown;
7
+ export interface ComputedPropertyGetterObj {
8
+ get(this: any, key: string): unknown;
9
+ }
10
+ export interface ComputedPropertySetterObj {
11
+ set(this: any, key: string, value: unknown): unknown;
12
+ }
13
+ export type ComputedPropertyObj = ComputedPropertyGetterObj | ComputedPropertySetterObj | (ComputedPropertyGetterObj & ComputedPropertySetterObj);
14
+ export type ComputedPropertyGetter = ComputedPropertyGetterFunction | ComputedPropertyGetterObj;
15
+ export type ComputedPropertySetter = ComputedPropertySetterFunction | ComputedPropertySetterObj;
16
+ export type ComputedPropertyCallback = ComputedPropertyGetterFunction | ComputedPropertyObj;
17
+ /**
18
+ `@computed` is a decorator that turns a JavaScript getter and setter into a
19
+ computed property, which is a _cached, trackable value_. By default the getter
20
+ will only be called once and the result will be cached. You can specify
21
+ various properties that your computed property depends on. This will force the
22
+ cached result to be cleared if the dependencies are modified, and lazily recomputed the next time something asks for it.
23
+
24
+ In the following example we decorate a getter - `fullName` - by calling
25
+ `computed` with the property dependencies (`firstName` and `lastName`) as
26
+ arguments. The `fullName` getter will be called once (regardless of how many
27
+ times it is accessed) as long as its dependencies do not change. Once
28
+ `firstName` or `lastName` are updated any future calls to `fullName` will
29
+ incorporate the new values, and any watchers of the value such as templates
30
+ will be updated:
31
+
32
+ ```javascript
33
+ import { computed, set } from '@ember/object';
34
+
35
+ class Person {
36
+ constructor(firstName, lastName) {
37
+ set(this, 'firstName', firstName);
38
+ set(this, 'lastName', lastName);
39
+ }
40
+
41
+ @computed('firstName', 'lastName')
42
+ get fullName() {
43
+ return `${this.firstName} ${this.lastName}`;
44
+ }
45
+ });
46
+
47
+ let tom = new Person('Tom', 'Dale');
48
+
49
+ tom.fullName; // 'Tom Dale'
50
+ ```
51
+
52
+ You can also provide a setter, which will be used when updating the computed
53
+ property. Ember's `set` function must be used to update the property
54
+ since it will also notify observers of the property:
55
+
56
+ ```javascript
57
+ import { computed, set } from '@ember/object';
58
+
59
+ class Person {
60
+ constructor(firstName, lastName) {
61
+ set(this, 'firstName', firstName);
62
+ set(this, 'lastName', lastName);
63
+ }
64
+
65
+ @computed('firstName', 'lastName')
66
+ get fullName() {
67
+ return `${this.firstName} ${this.lastName}`;
68
+ }
69
+
70
+ set fullName(value) {
71
+ let [firstName, lastName] = value.split(' ');
72
+
73
+ set(this, 'firstName', firstName);
74
+ set(this, 'lastName', lastName);
75
+ }
76
+ });
77
+
78
+ let person = new Person();
79
+
80
+ set(person, 'fullName', 'Peter Wagenet');
81
+ person.firstName; // 'Peter'
82
+ person.lastName; // 'Wagenet'
83
+ ```
84
+
85
+ You can also pass a getter function or object with `get` and `set` functions
86
+ as the last argument to the computed decorator. This allows you to define
87
+ computed property _macros_:
88
+
89
+ ```js
90
+ import { computed } from '@ember/object';
91
+
92
+ function join(...keys) {
93
+ return computed(...keys, function() {
94
+ return keys.map(key => this[key]).join(' ');
95
+ });
96
+ }
97
+
98
+ class Person {
99
+ @join('firstName', 'lastName')
100
+ fullName;
101
+ }
102
+ ```
103
+
104
+ Note that when defined this way, getters and setters receive the _key_ of the
105
+ property they are decorating as the first argument. Setters receive the value
106
+ they are setting to as the second argument instead. Additionally, setters must
107
+ _return_ the value that should be cached:
108
+
109
+ ```javascript
110
+ import { computed, set } from '@ember/object';
111
+
112
+ function fullNameMacro(firstNameKey, lastNameKey) {
113
+ return computed(firstNameKey, lastNameKey, {
114
+ get() {
115
+ return `${this[firstNameKey]} ${this[lastNameKey]}`;
116
+ }
117
+
118
+ set(key, value) {
119
+ let [firstName, lastName] = value.split(' ');
120
+
121
+ set(this, firstNameKey, firstName);
122
+ set(this, lastNameKey, lastName);
123
+
124
+ return value;
125
+ }
126
+ });
127
+ }
128
+
129
+ class Person {
130
+ constructor(firstName, lastName) {
131
+ set(this, 'firstName', firstName);
132
+ set(this, 'lastName', lastName);
133
+ }
134
+
135
+ @fullNameMacro('firstName', 'lastName') fullName;
136
+ });
137
+
138
+ let person = new Person();
139
+
140
+ set(person, 'fullName', 'Peter Wagenet');
141
+ person.firstName; // 'Peter'
142
+ person.lastName; // 'Wagenet'
143
+ ```
144
+
145
+ Computed properties can also be used in classic classes. To do this, we
146
+ provide the getter and setter as the last argument like we would for a macro,
147
+ and we assign it to a property on the class definition. This is an _anonymous_
148
+ computed macro:
149
+
150
+ ```javascript
151
+ import EmberObject, { computed, set } from '@ember/object';
152
+
153
+ let Person = EmberObject.extend({
154
+ // these will be supplied by `create`
155
+ firstName: null,
156
+ lastName: null,
157
+
158
+ fullName: computed('firstName', 'lastName', {
159
+ get() {
160
+ return `${this.firstName} ${this.lastName}`;
161
+ }
162
+
163
+ set(key, value) {
164
+ let [firstName, lastName] = value.split(' ');
165
+
166
+ set(this, 'firstName', firstName);
167
+ set(this, 'lastName', lastName);
168
+
169
+ return value;
170
+ }
171
+ })
172
+ });
173
+
174
+ let tom = Person.create({
175
+ firstName: 'Tom',
176
+ lastName: 'Dale'
177
+ });
178
+
179
+ tom.get('fullName') // 'Tom Dale'
180
+ ```
181
+
182
+ You can overwrite computed property without setters with a normal property (no
183
+ longer computed) that won't change if dependencies change. You can also mark
184
+ computed property as `.readOnly()` and block all attempts to set it.
185
+
186
+ ```javascript
187
+ import { computed, set } from '@ember/object';
188
+
189
+ class Person {
190
+ constructor(firstName, lastName) {
191
+ set(this, 'firstName', firstName);
192
+ set(this, 'lastName', lastName);
193
+ }
194
+
195
+ @computed('firstName', 'lastName').readOnly()
196
+ get fullName() {
197
+ return `${this.firstName} ${this.lastName}`;
198
+ }
199
+ });
200
+
201
+ let person = new Person();
202
+ person.set('fullName', 'Peter Wagenet'); // Uncaught Error: Cannot set read-only property "fullName" on object: <(...):emberXXX>
203
+ ```
204
+
205
+ Additional resources:
206
+ - [Decorators RFC](https://github.com/emberjs/rfcs/blob/master/text/0408-decorators.md)
207
+ - [New CP syntax RFC](https://github.com/emberjs/rfcs/blob/master/text/0011-improved-cp-syntax.md)
208
+ - [New computed syntax explained in "Ember 1.12 released" ](https://emberjs.com/blog/2015/05/13/ember-1-12-released.html#toc_new-computed-syntax)
209
+
210
+ @class ComputedProperty
211
+ @public
212
+ */
213
+ export class ComputedProperty extends ComputedDescriptor {
214
+ _readOnly: boolean;
215
+ protected _hasConfig: boolean;
216
+ _getter?: ComputedPropertyGetterFunction;
217
+ _setter?: ComputedPropertySetterFunction;
218
+ constructor(args: Array<string | ComputedPropertyCallback>);
219
+ setup(obj: object, keyName: string, propertyDesc: DecoratorPropertyDescriptor, meta: Meta): void;
220
+ _property(...passedArgs: string[]): void;
221
+ get(obj: object, keyName: string): unknown;
222
+ set(obj: object, keyName: string, value: unknown): unknown;
223
+ _throwReadOnlyError(obj: object, keyName: string): never;
224
+ _set(obj: object, keyName: string, value: unknown, meta: Meta): unknown;
225
+ teardown(obj: object, keyName: string, meta: Meta): void;
226
+ }
227
+ export type ComputedDecorator = ExtendedMethodDecorator & PropertyDecorator & ComputedDecoratorImpl;
228
+ class ComputedDecoratorImpl extends Function {
229
+ /**
230
+ Call on a computed property to set it into read-only mode. When in this
231
+ mode the computed property will throw an error when set.
232
+
233
+ Example:
234
+
235
+ ```javascript
236
+ import { computed, set } from '@ember/object';
237
+
238
+ class Person {
239
+ @computed().readOnly()
240
+ get guid() {
241
+ return 'guid-guid-guid';
242
+ }
243
+ }
244
+
245
+ let person = new Person();
246
+ set(person, 'guid', 'new-guid'); // will throw an exception
247
+ ```
248
+
249
+ Classic Class Example:
250
+
251
+ ```javascript
252
+ import EmberObject, { computed } from '@ember/object';
253
+
254
+ let Person = EmberObject.extend({
255
+ guid: computed(function() {
256
+ return 'guid-guid-guid';
257
+ }).readOnly()
258
+ });
259
+
260
+ let person = Person.create();
261
+ person.set('guid', 'new-guid'); // will throw an exception
262
+ ```
263
+
264
+ @method readOnly
265
+ @return {ComputedProperty} this
266
+ @chainable
267
+ @public
268
+ */
269
+ readOnly(this: ExtendedMethodDecorator): ExtendedMethodDecorator;
270
+ /**
271
+ In some cases, you may want to annotate computed properties with additional
272
+ metadata about how they function or what values they operate on. For example,
273
+ computed property functions may close over variables that are then no longer
274
+ available for introspection. You can pass a hash of these values to a
275
+ computed property.
276
+
277
+ Example:
278
+
279
+ ```javascript
280
+ import { computed } from '@ember/object';
281
+ import Person from 'my-app/utils/person';
282
+
283
+ class Store {
284
+ @computed().meta({ type: Person })
285
+ get person() {
286
+ let personId = this.personId;
287
+ return Person.create({ id: personId });
288
+ }
289
+ }
290
+ ```
291
+
292
+ Classic Class Example:
293
+
294
+ ```javascript
295
+ import { computed } from '@ember/object';
296
+ import Person from 'my-app/utils/person';
297
+
298
+ const Store = EmberObject.extend({
299
+ person: computed(function() {
300
+ let personId = this.get('personId');
301
+ return Person.create({ id: personId });
302
+ }).meta({ type: Person })
303
+ });
304
+ ```
305
+
306
+ The hash that you pass to the `meta()` function will be saved on the
307
+ computed property descriptor under the `_meta` key. Ember runtime
308
+ exposes a public API for retrieving these values from classes,
309
+ via the `metaForProperty()` function.
310
+
311
+ @method meta
312
+ @param {Object} meta
313
+ @chainable
314
+ @public
315
+ */
316
+ meta(this: ExtendedMethodDecorator, meta?: unknown): unknown;
317
+ /** @internal */
318
+ get _getter(): ComputedPropertyGetterFunction | undefined;
319
+ /** @internal */
320
+ set enumerable(value: boolean);
321
+ }
322
+ type ComputedDecoratorKeysAndConfig = [...keys: string[], config: ComputedPropertyCallback];
323
+ /**
324
+ This helper returns a new property descriptor that wraps the passed
325
+ computed property function. You can use this helper to define properties with
326
+ native decorator syntax, mixins, or via `defineProperty()`.
327
+
328
+ Example:
329
+
330
+ ```js
331
+ import { computed, set } from '@ember/object';
332
+
333
+ class Person {
334
+ constructor() {
335
+ this.firstName = 'Betty';
336
+ this.lastName = 'Jones';
337
+ },
338
+
339
+ @computed('firstName', 'lastName')
340
+ get fullName() {
341
+ return `${this.firstName} ${this.lastName}`;
342
+ }
343
+ }
344
+
345
+ let client = new Person();
346
+
347
+ client.fullName; // 'Betty Jones'
348
+
349
+ set(client, 'lastName', 'Fuller');
350
+ client.fullName; // 'Betty Fuller'
351
+ ```
352
+
353
+ Classic Class Example:
354
+
355
+ ```js
356
+ import EmberObject, { computed } from '@ember/object';
357
+
358
+ let Person = EmberObject.extend({
359
+ init() {
360
+ this._super(...arguments);
361
+
362
+ this.firstName = 'Betty';
363
+ this.lastName = 'Jones';
364
+ },
365
+
366
+ fullName: computed('firstName', 'lastName', function() {
367
+ return `${this.get('firstName')} ${this.get('lastName')}`;
368
+ })
369
+ });
370
+
371
+ let client = Person.create();
372
+
373
+ client.get('fullName'); // 'Betty Jones'
374
+
375
+ client.set('lastName', 'Fuller');
376
+ client.get('fullName'); // 'Betty Fuller'
377
+ ```
378
+
379
+ You can also provide a setter, either directly on the class using native class
380
+ syntax, or by passing a hash with `get` and `set` functions.
381
+
382
+ Example:
383
+
384
+ ```js
385
+ import { computed, set } from '@ember/object';
386
+
387
+ class Person {
388
+ constructor() {
389
+ this.firstName = 'Betty';
390
+ this.lastName = 'Jones';
391
+ },
392
+
393
+ @computed('firstName', 'lastName')
394
+ get fullName() {
395
+ return `${this.firstName} ${this.lastName}`;
396
+ }
397
+
398
+ set fullName(value) {
399
+ let [firstName, lastName] = value.split(/\s+/);
400
+
401
+ set(this, 'firstName', firstName);
402
+ set(this, 'lastName', lastName);
403
+
404
+ return value;
405
+ }
406
+ }
407
+
408
+ let client = new Person();
409
+
410
+ client.fullName; // 'Betty Jones'
411
+
412
+ set(client, 'lastName', 'Fuller');
413
+ client.fullName; // 'Betty Fuller'
414
+ ```
415
+
416
+ Classic Class Example:
417
+
418
+ ```js
419
+ import EmberObject, { computed } from '@ember/object';
420
+
421
+ let Person = EmberObject.extend({
422
+ init() {
423
+ this._super(...arguments);
424
+
425
+ this.firstName = 'Betty';
426
+ this.lastName = 'Jones';
427
+ },
428
+
429
+ fullName: computed('firstName', 'lastName', {
430
+ get(key) {
431
+ return `${this.get('firstName')} ${this.get('lastName')}`;
432
+ },
433
+ set(key, value) {
434
+ let [firstName, lastName] = value.split(/\s+/);
435
+ this.setProperties({ firstName, lastName });
436
+ return value;
437
+ }
438
+ })
439
+ });
440
+
441
+ let client = Person.create();
442
+ client.get('firstName'); // 'Betty'
443
+
444
+ client.set('fullName', 'Carroll Fuller');
445
+ client.get('firstName'); // 'Carroll'
446
+ ```
447
+
448
+ When passed as an argument, the `set` function should accept two parameters,
449
+ `key` and `value`. The value returned from `set` will be the new value of the
450
+ property.
451
+
452
+ _Note: This is the preferred way to define computed properties when writing third-party
453
+ libraries that depend on or use Ember, since there is no guarantee that the user
454
+ will have [prototype Extensions](https://guides.emberjs.com/release/configuring-ember/disabling-prototype-extensions/) enabled._
455
+
456
+ @method computed
457
+ @for @ember/object
458
+ @static
459
+ @param {String} [dependentKeys*] Optional dependent keys that trigger this computed property.
460
+ @param {Function} func The computed property function.
461
+ @return {ComputedDecorator} property decorator instance
462
+ @public
463
+ */
464
+ export function computed(target: object, propertyName: string, descriptor: DecoratorPropertyDescriptor): DecoratorPropertyDescriptor | void;
465
+ export function computed(...dependentKeys: string[]): ComputedDecorator;
466
+ export function computed(...args: ComputedDecoratorKeysAndConfig): ComputedDecorator;
467
+ export function computed(callback: ComputedPropertyCallback): ComputedDecorator;
468
+ export function autoComputed(...config: [ComputedPropertyObj | ComputedPropertyGetterFunction]): ComputedDecorator;
469
+ /**
470
+ Allows checking if a given property on an object is a computed property. For the most part,
471
+ this doesn't matter (you would normally just access the property directly and use its value),
472
+ but for some tooling specific scenarios (e.g. the ember-inspector) it is important to
473
+ differentiate if a property is a computed property or a "normal" property.
474
+
475
+ This will work on either a class's prototype or an instance itself.
476
+
477
+ @static
478
+ @method isComputed
479
+ @for @ember/debug
480
+ @private
481
+ */
482
+ export function isComputed(obj: object, key: string): boolean;
483
+ export default computed;
484
+ }
@@ -0,0 +1,3 @@
1
+ declare module '@ember/-internals/metal/lib/computed_cache.d.ts' {
2
+ export function getCachedValueFor(obj: object, key: string): unknown;
3
+ }
@@ -0,0 +1,64 @@
1
+ declare module '@ember/-internals/metal/lib/decorator.d.ts' {
2
+ import type { Meta } from '@ember/-internals/meta';
3
+ export type DecoratorPropertyDescriptor = (PropertyDescriptor & {
4
+ initializer?: any;
5
+ }) | undefined;
6
+ export type ExtendedMethodDecorator = (target: object, key: string, desc: DecoratorPropertyDescriptor, maybeMeta?: Meta, isClassicDecorator?: boolean) => DecoratorPropertyDescriptor;
7
+ export type ElementDescriptor = [
8
+ target: object,
9
+ propertyName: string,
10
+ descriptor?: DecoratorPropertyDescriptor
11
+ ];
12
+ export function isElementDescriptor(args: unknown[]): args is ElementDescriptor;
13
+ export function nativeDescDecorator(propertyDesc: PropertyDescriptor): () => PropertyDescriptor;
14
+ /**
15
+ Objects of this type can implement an interface to respond to requests to
16
+ get and set. The default implementation handles simple properties.
17
+
18
+ @class Descriptor
19
+ @private
20
+ */
21
+ export abstract class ComputedDescriptor {
22
+ enumerable: boolean;
23
+ configurable: boolean;
24
+ _dependentKeys?: string[];
25
+ _meta: any;
26
+ setup(_obj: object, keyName: string, _propertyDesc: DecoratorPropertyDescriptor | undefined, meta: Meta): void;
27
+ teardown(_obj: object, keyName: string, meta: Meta): void;
28
+ abstract get(obj: object, keyName: string): any | null | undefined;
29
+ abstract set(obj: object, keyName: string, value: any | null | undefined): any | null | undefined;
30
+ }
31
+ export let COMPUTED_GETTERS: WeakSet<() => unknown>;
32
+ export const COMPUTED_SETTERS: WeakSet<object>;
33
+ export function makeComputedDecorator(desc: ComputedDescriptor, DecoratorClass: {
34
+ prototype: object;
35
+ }): ExtendedMethodDecorator;
36
+ /**
37
+ Returns the CP descriptor associated with `obj` and `keyName`, if any.
38
+
39
+ @method descriptorForProperty
40
+ @param {Object} obj the object to check
41
+ @param {String} keyName the key to check
42
+ @return {Descriptor}
43
+ @private
44
+ */
45
+ export function descriptorForProperty(obj: object, keyName: string, _meta?: Meta | null): any;
46
+ export function descriptorForDecorator(dec: Function): ComputedDescriptor | true | undefined;
47
+ /**
48
+ Check whether a value is a decorator
49
+
50
+ @method isClassicDecorator
51
+ @param {any} possibleDesc the value to check
52
+ @return {boolean}
53
+ @private
54
+ */
55
+ export function isClassicDecorator(dec: unknown): dec is ExtendedMethodDecorator;
56
+ /**
57
+ Set a value as a decorator
58
+
59
+ @method setClassicDecorator
60
+ @param {function} decorator the value to mark as a decorator
61
+ @private
62
+ */
63
+ export function setClassicDecorator(dec: ExtendedMethodDecorator, value?: ComputedDescriptor | true): void;
64
+ }
@@ -0,0 +1,2 @@
1
+ declare module '@ember/-internals/metal/lib/dependent_keys.d.ts' {
2
+ }
@@ -0,0 +1,18 @@
1
+ declare module '@ember/-internals/metal/lib/deprecate_property.d.ts' {
2
+ /**
3
+ @module ember
4
+ */
5
+ import type { DeprecationOptions } from '@ember/debug';
6
+ /**
7
+ Used internally to allow changing properties in a backwards compatible way, and print a helpful
8
+ deprecation warning.
9
+
10
+ @method deprecateProperty
11
+ @param {Object} object The object to add the deprecated property to.
12
+ @param {String} deprecatedKey The property to add (and print deprecation warnings upon accessing).
13
+ @param {String} newKey The property that will be aliased.
14
+ @private
15
+ @since 1.7.0
16
+ */
17
+ export function deprecateProperty(object: object, deprecatedKey: string, newKey: string, options?: DeprecationOptions): void;
18
+ }
@@ -0,0 +1,5 @@
1
+ declare module '@ember/-internals/metal/lib/each_proxy_events.d.ts' {
2
+ export const EACH_PROXIES: WeakMap<object, any>;
3
+ export function eachProxyArrayWillChange(array: any, idx: number, removedCnt: number, addedCnt: number): void;
4
+ export function eachProxyArrayDidChange(array: any, idx: number, removedCnt: number, addedCnt: number): void;
5
+ }
@@ -0,0 +1,91 @@
1
+ declare module '@ember/-internals/metal/lib/events.d.ts' {
2
+ /**
3
+ @module @ember/object
4
+ */
5
+ import type { Meta } from '@ember/-internals/meta';
6
+ import type { AnyFn } from '@ember/-internals/utility-types';
7
+ /**
8
+ Add an event listener
9
+
10
+ @method addListener
11
+ @static
12
+ @for @ember/object/events
13
+ @param obj
14
+ @param {String} eventName
15
+ @param {Object|Function} target A target object or a function
16
+ @param {Function|String} method A function or the name of a function to be called on `target`
17
+ @param {Boolean} once A flag whether a function should only be called once
18
+ @public
19
+ */
20
+ export function addListener(obj: object, eventName: string, target: object | Function | null, method?: Function | PropertyKey, once?: boolean, sync?: boolean): void;
21
+ /**
22
+ Remove an event listener
23
+
24
+ Arguments should match those passed to `addListener`.
25
+
26
+ @method removeListener
27
+ @static
28
+ @for @ember/object/events
29
+ @param obj
30
+ @param {String} eventName
31
+ @param {Object|Function} target A target object or a function
32
+ @param {Function|String} method A function or the name of a function to be called on `target`
33
+ @public
34
+ */
35
+ export function removeListener(obj: object, eventName: string, targetOrFunction: object | Function | null, functionOrName?: string | Function): void;
36
+ /**
37
+ Send an event. The execution of suspended listeners
38
+ is skipped, and once listeners are removed. A listener without
39
+ a target is executed on the passed object. If an array of actions
40
+ is not passed, the actions stored on the passed object are invoked.
41
+
42
+ @method sendEvent
43
+ @static
44
+ @for @ember/object/events
45
+ @param obj
46
+ @param {String} eventName
47
+ @param {Array} params Optional parameters for each listener.
48
+ @return {Boolean} if the event was delivered to one or more actions
49
+ @public
50
+ */
51
+ export function sendEvent(obj: object, eventName: string, params?: any[], actions?: any[], _meta?: Meta | null): boolean;
52
+ /**
53
+ @public
54
+ @method hasListeners
55
+ @static
56
+ @for @ember/object/events
57
+ @param obj
58
+ @param {String} eventName
59
+ @return {Boolean} if `obj` has listeners for event `eventName`
60
+ */
61
+ export function hasListeners(obj: object, eventName: string): boolean;
62
+ /**
63
+ Define a property as a function that should be executed when
64
+ a specified event or events are triggered.
65
+
66
+ ``` javascript
67
+ import EmberObject from '@ember/object';
68
+ import { on } from '@ember/object/evented';
69
+ import { sendEvent } from '@ember/object/events';
70
+
71
+ let Job = EmberObject.extend({
72
+ logCompleted: on('completed', function() {
73
+ console.log('Job completed!');
74
+ })
75
+ });
76
+
77
+ let job = Job.create();
78
+
79
+ sendEvent(job, 'completed'); // Logs 'Job completed!'
80
+ ```
81
+
82
+ @method on
83
+ @static
84
+ @for @ember/object/evented
85
+ @param {String} eventNames*
86
+ @param {Function} func
87
+ @return {Function} the listener function, passed as last argument to on(...)
88
+ @public
89
+ */
90
+ export function on<T extends AnyFn>(...args: [...eventNames: string[], func: T]): T;
91
+ }