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,157 @@
1
+ declare module '@ember/object/mixin.d.ts' {
2
+ /**
3
+ @module @ember/object/mixin
4
+ */
5
+ import { INIT_FACTORY } from '@ember/-internals/container';
6
+ export function applyMixin(obj: Record<string, any>, mixins: Array<Mixin | Record<string, unknown>>, _hideKeys?: boolean): Record<string, any>;
7
+ /**
8
+ @method mixin
9
+ @param obj
10
+ @param mixins*
11
+ @return obj
12
+ @private
13
+ */
14
+ export function mixin(obj: object, ...args: any[]): object;
15
+ /**
16
+ The `Mixin` class allows you to create mixins, whose properties can be
17
+ added to other classes. For instance,
18
+
19
+ ```javascript
20
+ import Mixin from '@ember/object/mixin';
21
+
22
+ const EditableMixin = Mixin.create({
23
+ edit() {
24
+ console.log('starting to edit');
25
+ this.set('isEditing', true);
26
+ },
27
+ isEditing: false
28
+ });
29
+ ```
30
+
31
+ ```javascript
32
+ import EmberObject from '@ember/object';
33
+ import EditableMixin from '../mixins/editable';
34
+
35
+ // Mix mixins into classes by passing them as the first arguments to
36
+ // `.extend.`
37
+ const Comment = EmberObject.extend(EditableMixin, {
38
+ post: null
39
+ });
40
+
41
+ let comment = Comment.create({
42
+ post: somePost
43
+ });
44
+
45
+ comment.edit(); // outputs 'starting to edit'
46
+ ```
47
+
48
+ Note that Mixins are created with `Mixin.create`, not
49
+ `Mixin.extend`.
50
+
51
+ Note that mixins extend a constructor's prototype so arrays and object literals
52
+ defined as properties will be shared amongst objects that implement the mixin.
53
+ If you want to define a property in a mixin that is not shared, you can define
54
+ it either as a computed property or have it be created on initialization of the object.
55
+
56
+ ```javascript
57
+ // filters array will be shared amongst any object implementing mixin
58
+ import Mixin from '@ember/object/mixin';
59
+ import { A } from '@ember/array';
60
+
61
+ const FilterableMixin = Mixin.create({
62
+ filters: A()
63
+ });
64
+ ```
65
+
66
+ ```javascript
67
+ import Mixin from '@ember/object/mixin';
68
+ import { A } from '@ember/array';
69
+ import { computed } from '@ember/object';
70
+
71
+ // filters will be a separate array for every object implementing the mixin
72
+ const FilterableMixin = Mixin.create({
73
+ filters: computed(function() {
74
+ return A();
75
+ })
76
+ });
77
+ ```
78
+
79
+ ```javascript
80
+ import Mixin from '@ember/object/mixin';
81
+ import { A } from '@ember/array';
82
+
83
+ // filters will be created as a separate array during the object's initialization
84
+ const Filterable = Mixin.create({
85
+ filters: null,
86
+
87
+ init() {
88
+ this._super(...arguments);
89
+ this.set("filters", A());
90
+ }
91
+ });
92
+ ```
93
+
94
+ @class Mixin
95
+ @public
96
+ */
97
+ export default class Mixin {
98
+ /** @internal */
99
+ static _disableDebugSeal?: boolean;
100
+ /** @internal */
101
+ mixins: Mixin[] | undefined;
102
+ /** @internal */
103
+ properties: {
104
+ [key: string]: any;
105
+ } | undefined;
106
+ /** @internal */
107
+ ownerConstructor: any;
108
+ /** @internal */
109
+ _without: any[] | undefined;
110
+ [INIT_FACTORY]?: null;
111
+ /** @internal */
112
+ constructor(mixins: Mixin[] | undefined, properties?: {
113
+ [key: string]: any;
114
+ });
115
+ /**
116
+ @method create
117
+ @for @ember/object/mixin
118
+ @static
119
+ @param arguments*
120
+ @public
121
+ */
122
+ static create(...args: any[]): Mixin;
123
+ /** @internal */
124
+ static mixins(obj: object): Mixin[];
125
+ /**
126
+ @method reopen
127
+ @param arguments*
128
+ @private
129
+ @internal
130
+ */
131
+ reopen(...args: any[]): this | undefined;
132
+ /**
133
+ @method apply
134
+ @param obj
135
+ @return applied object
136
+ @private
137
+ @internal
138
+ */
139
+ apply(obj: object, _hideKeys?: boolean): Record<string, any>;
140
+ /** @internal */
141
+ applyPartial(obj: object): Record<string, any>;
142
+ /**
143
+ @method detect
144
+ @param obj
145
+ @return {Boolean}
146
+ @private
147
+ @internal
148
+ */
149
+ detect(obj: any): boolean;
150
+ /** @internal */
151
+ without(...args: any[]): Mixin;
152
+ /** @internal */
153
+ keys(): Set<string>;
154
+ /** @internal */
155
+ toString(): string;
156
+ }
157
+ }
@@ -0,0 +1,383 @@
1
+ declare module '@ember/object/observable.d.ts' {
2
+ /**
3
+ @module @ember/object/observable
4
+ */
5
+ import Mixin from '@ember/object/mixin';
6
+ export type ObserverMethod<Target, Sender> = keyof Target | ((this: Target, sender: Sender, key: string, value: any, rev: number) => void);
7
+ /**
8
+ ## Overview
9
+
10
+ This mixin provides properties and property observing functionality, core
11
+ features of the Ember object model.
12
+
13
+ Properties and observers allow one object to observe changes to a
14
+ property on another object. This is one of the fundamental ways that
15
+ models, controllers and views communicate with each other in an Ember
16
+ application.
17
+
18
+ Any object that has this mixin applied can be used in observer
19
+ operations. That includes `EmberObject` and most objects you will
20
+ interact with as you write your Ember application.
21
+
22
+ Note that you will not generally apply this mixin to classes yourself,
23
+ but you will use the features provided by this module frequently, so it
24
+ is important to understand how to use it.
25
+
26
+ ## Using `get()` and `set()`
27
+
28
+ Because of Ember's support for bindings and observers, you will always
29
+ access properties using the get method, and set properties using the
30
+ set method. This allows the observing objects to be notified and
31
+ computed properties to be handled properly.
32
+
33
+ More documentation about `get` and `set` are below.
34
+
35
+ ## Observing Property Changes
36
+
37
+ You typically observe property changes simply by using the `observer`
38
+ function in classes that you write.
39
+
40
+ For example:
41
+
42
+ ```javascript
43
+ import { observer } from '@ember/object';
44
+ import EmberObject from '@ember/object';
45
+
46
+ EmberObject.extend({
47
+ valueObserver: observer('value', function(sender, key, value, rev) {
48
+ // Executes whenever the "value" property changes
49
+ // See the addObserver method for more information about the callback arguments
50
+ })
51
+ });
52
+ ```
53
+
54
+ Although this is the most common way to add an observer, this capability
55
+ is actually built into the `EmberObject` class on top of two methods
56
+ defined in this mixin: `addObserver` and `removeObserver`. You can use
57
+ these two methods to add and remove observers yourself if you need to
58
+ do so at runtime.
59
+
60
+ To add an observer for a property, call:
61
+
62
+ ```javascript
63
+ object.addObserver('propertyKey', targetObject, targetAction)
64
+ ```
65
+
66
+ This will call the `targetAction` method on the `targetObject` whenever
67
+ the value of the `propertyKey` changes.
68
+
69
+ Note that if `propertyKey` is a computed property, the observer will be
70
+ called when any of the property dependencies are changed, even if the
71
+ resulting value of the computed property is unchanged. This is necessary
72
+ because computed properties are not computed until `get` is called.
73
+
74
+ @class Observable
75
+ @public
76
+ */
77
+ interface Observable {
78
+ /**
79
+ Retrieves the value of a property from the object.
80
+
81
+ This method is usually similar to using `object[keyName]` or `object.keyName`,
82
+ however it supports both computed properties and the unknownProperty
83
+ handler.
84
+
85
+ Because `get` unifies the syntax for accessing all these kinds
86
+ of properties, it can make many refactorings easier, such as replacing a
87
+ simple property with a computed property, or vice versa.
88
+
89
+ ### Computed Properties
90
+
91
+ Computed properties are methods defined with the `property` modifier
92
+ declared at the end, such as:
93
+
94
+ ```javascript
95
+ import { computed } from '@ember/object';
96
+
97
+ fullName: computed('firstName', 'lastName', function() {
98
+ return this.get('firstName') + ' ' + this.get('lastName');
99
+ })
100
+ ```
101
+
102
+ When you call `get` on a computed property, the function will be
103
+ called and the return value will be returned instead of the function
104
+ itself.
105
+
106
+ ### Unknown Properties
107
+
108
+ Likewise, if you try to call `get` on a property whose value is
109
+ `undefined`, the `unknownProperty()` method will be called on the object.
110
+ If this method returns any value other than `undefined`, it will be returned
111
+ instead. This allows you to implement "virtual" properties that are
112
+ not defined upfront.
113
+
114
+ @method get
115
+ @param {String} keyName The property to retrieve
116
+ @return {Object} The property value or undefined.
117
+ @public
118
+ */
119
+ get(key: string): unknown;
120
+ /**
121
+ To get the values of multiple properties at once, call `getProperties`
122
+ with a list of strings or an array:
123
+
124
+ ```javascript
125
+ record.getProperties('firstName', 'lastName', 'zipCode');
126
+ // { firstName: 'John', lastName: 'Doe', zipCode: '10011' }
127
+ ```
128
+
129
+ is equivalent to:
130
+
131
+ ```javascript
132
+ record.getProperties(['firstName', 'lastName', 'zipCode']);
133
+ // { firstName: 'John', lastName: 'Doe', zipCode: '10011' }
134
+ ```
135
+
136
+ @method getProperties
137
+ @param {String...|Array} list of keys to get
138
+ @return {Object}
139
+ @public
140
+ */
141
+ getProperties<L extends string[]>(list: L): {
142
+ [Key in L[number]]: unknown;
143
+ };
144
+ getProperties<L extends string[]>(...list: L): {
145
+ [Key in L[number]]: unknown;
146
+ };
147
+ /**
148
+ Sets the provided key or path to the value.
149
+
150
+ ```javascript
151
+ record.set("key", value);
152
+ ```
153
+
154
+ This method is generally very similar to calling `object["key"] = value` or
155
+ `object.key = value`, except that it provides support for computed
156
+ properties, the `setUnknownProperty()` method and property observers.
157
+
158
+ ### Computed Properties
159
+
160
+ If you try to set a value on a key that has a computed property handler
161
+ defined (see the `get()` method for an example), then `set()` will call
162
+ that method, passing both the value and key instead of simply changing
163
+ the value itself. This is useful for those times when you need to
164
+ implement a property that is composed of one or more member
165
+ properties.
166
+
167
+ ### Unknown Properties
168
+
169
+ If you try to set a value on a key that is undefined in the target
170
+ object, then the `setUnknownProperty()` handler will be called instead. This
171
+ gives you an opportunity to implement complex "virtual" properties that
172
+ are not predefined on the object. If `setUnknownProperty()` returns
173
+ undefined, then `set()` will simply set the value on the object.
174
+
175
+ ### Property Observers
176
+
177
+ In addition to changing the property, `set()` will also register a property
178
+ change with the object. Unless you have placed this call inside of a
179
+ `beginPropertyChanges()` and `endPropertyChanges(),` any "local" observers
180
+ (i.e. observer methods declared on the same object), will be called
181
+ immediately. Any "remote" observers (i.e. observer methods declared on
182
+ another object) will be placed in a queue and called at a later time in a
183
+ coalesced manner.
184
+
185
+ @method set
186
+ @param {String} keyName The property to set
187
+ @param {Object} value The value to set or `null`.
188
+ @return {Object} The passed value
189
+ @public
190
+ */
191
+ set<T>(key: string, value: T): T;
192
+ /**
193
+ Sets a list of properties at once. These properties are set inside
194
+ a single `beginPropertyChanges` and `endPropertyChanges` batch, so
195
+ observers will be buffered.
196
+
197
+ ```javascript
198
+ record.setProperties({ firstName: 'Charles', lastName: 'Jolley' });
199
+ ```
200
+
201
+ @method setProperties
202
+ @param {Object} hash the hash of keys and values to set
203
+ @return {Object} The passed in hash
204
+ @public
205
+ */
206
+ setProperties<T extends Record<string, any>>(hash: T): T;
207
+ /**
208
+ Convenience method to call `propertyWillChange` and `propertyDidChange` in
209
+ succession.
210
+
211
+ Notify the observer system that a property has just changed.
212
+
213
+ Sometimes you need to change a value directly or indirectly without
214
+ actually calling `get()` or `set()` on it. In this case, you can use this
215
+ method instead. Calling this method will notify all observers that the
216
+ property has potentially changed value.
217
+
218
+ @method notifyPropertyChange
219
+ @param {String} keyName The property key to be notified about.
220
+ @return {Observable}
221
+ @public
222
+ */
223
+ notifyPropertyChange(keyName: string): this;
224
+ /**
225
+ Adds an observer on a property.
226
+
227
+ This is the core method used to register an observer for a property.
228
+
229
+ Once you call this method, any time the key's value is set, your observer
230
+ will be notified. Note that the observers are triggered any time the
231
+ value is set, regardless of whether it has actually changed. Your
232
+ observer should be prepared to handle that.
233
+
234
+ There are two common invocation patterns for `.addObserver()`:
235
+
236
+ - Passing two arguments:
237
+ - the name of the property to observe (as a string)
238
+ - the function to invoke (an actual function)
239
+ - Passing three arguments:
240
+ - the name of the property to observe (as a string)
241
+ - the target object (will be used to look up and invoke a
242
+ function on)
243
+ - the name of the function to invoke on the target object
244
+ (as a string).
245
+
246
+ ```app/components/my-component.js
247
+ import Component from '@ember/component';
248
+
249
+ export default Component.extend({
250
+ init() {
251
+ this._super(...arguments);
252
+
253
+ // the following are equivalent:
254
+
255
+ // using three arguments
256
+ this.addObserver('foo', this, 'fooDidChange');
257
+
258
+ // using two arguments
259
+ this.addObserver('foo', (...args) => {
260
+ this.fooDidChange(...args);
261
+ });
262
+ },
263
+
264
+ fooDidChange() {
265
+ // your custom logic code
266
+ }
267
+ });
268
+ ```
269
+
270
+ ### Observer Methods
271
+
272
+ Observer methods have the following signature:
273
+
274
+ ```app/components/my-component.js
275
+ import Component from '@ember/component';
276
+
277
+ export default Component.extend({
278
+ init() {
279
+ this._super(...arguments);
280
+ this.addObserver('foo', this, 'fooDidChange');
281
+ },
282
+
283
+ fooDidChange(sender, key, value, rev) {
284
+ // your code
285
+ }
286
+ });
287
+ ```
288
+
289
+ The `sender` is the object that changed. The `key` is the property that
290
+ changes. The `value` property is currently reserved and unused. The `rev`
291
+ is the last property revision of the object when it changed, which you can
292
+ use to detect if the key value has really changed or not.
293
+
294
+ Usually you will not need the value or revision parameters at
295
+ the end. In this case, it is common to write observer methods that take
296
+ only a sender and key value as parameters or, if you aren't interested in
297
+ any of these values, to write an observer that has no parameters at all.
298
+
299
+ @method addObserver
300
+ @param {String} key The key to observe
301
+ @param {Object} target The target object to invoke
302
+ @param {String|Function} method The method to invoke
303
+ @param {Boolean} sync Whether the observer is sync or not
304
+ @return {Observable}
305
+ @public
306
+ */
307
+ addObserver<Target>(key: keyof this, target: Target, method: ObserverMethod<Target, this>): this;
308
+ addObserver(key: keyof this, method: ObserverMethod<this, this>): this;
309
+ /**
310
+ Remove an observer you have previously registered on this object. Pass
311
+ the same key, target, and method you passed to `addObserver()` and your
312
+ target will no longer receive notifications.
313
+
314
+ @method removeObserver
315
+ @param {String} key The key to observe
316
+ @param {Object} target The target object to invoke
317
+ @param {String|Function} method The method to invoke
318
+ @param {Boolean} sync Whether the observer is async or not
319
+ @return {Observable}
320
+ @public
321
+ */
322
+ removeObserver<Target>(key: keyof this, target: Target, method: ObserverMethod<Target, this>): this;
323
+ removeObserver(key: keyof this, method: ObserverMethod<this, this>): this;
324
+ /**
325
+ Set the value of a property to the current value plus some amount.
326
+
327
+ ```javascript
328
+ person.incrementProperty('age');
329
+ team.incrementProperty('score', 2);
330
+ ```
331
+
332
+ @method incrementProperty
333
+ @param {String} keyName The name of the property to increment
334
+ @param {Number} increment The amount to increment by. Defaults to 1
335
+ @return {Number} The new property value
336
+ @public
337
+ */
338
+ incrementProperty(keyName: keyof this, increment?: number): number;
339
+ /**
340
+ Set the value of a property to the current value minus some amount.
341
+
342
+ ```javascript
343
+ player.decrementProperty('lives');
344
+ orc.decrementProperty('health', 5);
345
+ ```
346
+
347
+ @method decrementProperty
348
+ @param {String} keyName The name of the property to decrement
349
+ @param {Number} decrement The amount to decrement by. Defaults to 1
350
+ @return {Number} The new property value
351
+ @public
352
+ */
353
+ decrementProperty(keyName: keyof this, decrement?: number): number;
354
+ /**
355
+ Set the value of a boolean property to the opposite of its
356
+ current value.
357
+
358
+ ```javascript
359
+ starship.toggleProperty('warpDriveEngaged');
360
+ ```
361
+
362
+ @method toggleProperty
363
+ @param {String} keyName The name of the property to toggle
364
+ @return {Boolean} The new property value
365
+ @public
366
+ */
367
+ toggleProperty(keyName: keyof this): boolean;
368
+ /**
369
+ Returns the cached value of a computed property, if it exists.
370
+ This allows you to inspect the value of a computed property
371
+ without accidentally invoking it if it is intended to be
372
+ generated lazily.
373
+
374
+ @method cacheFor
375
+ @param {String} keyName
376
+ @return {Object} The cached value of the computed property, if any
377
+ @public
378
+ */
379
+ cacheFor<K extends keyof this>(key: K): unknown;
380
+ }
381
+ const Observable: Mixin;
382
+ export default Observable;
383
+ }
@@ -0,0 +1,3 @@
1
+ declare module '@ember/object/observers.d.ts' {
2
+ export { addObserver, removeObserver } from '@ember/-internals/metal';
3
+ }
@@ -0,0 +1,167 @@
1
+ declare module '@ember/object/promise-proxy-mixin.d.ts' {
2
+ import Mixin from '@ember/object/mixin';
3
+ /**
4
+ A low level mixin making ObjectProxy promise-aware.
5
+
6
+ ```javascript
7
+ import { resolve } from 'rsvp';
8
+ import $ from 'jquery';
9
+ import ObjectProxy from '@ember/object/proxy';
10
+ import PromiseProxyMixin from '@ember/object/promise-proxy-mixin';
11
+
12
+ let ObjectPromiseProxy = ObjectProxy.extend(PromiseProxyMixin);
13
+
14
+ let proxy = ObjectPromiseProxy.create({
15
+ promise: resolve($.getJSON('/some/remote/data.json'))
16
+ });
17
+
18
+ proxy.then(function(json){
19
+ // the json
20
+ }, function(reason) {
21
+ // the reason why you have no json
22
+ });
23
+ ```
24
+
25
+ the proxy has bindable attributes which
26
+ track the promises life cycle
27
+
28
+ ```javascript
29
+ proxy.get('isPending') //=> true
30
+ proxy.get('isSettled') //=> false
31
+ proxy.get('isRejected') //=> false
32
+ proxy.get('isFulfilled') //=> false
33
+ ```
34
+
35
+ When the $.getJSON completes, and the promise is fulfilled
36
+ with json, the life cycle attributes will update accordingly.
37
+ Note that $.getJSON doesn't return an ECMA specified promise,
38
+ it is useful to wrap this with an `RSVP.resolve` so that it behaves
39
+ as a spec compliant promise.
40
+
41
+ ```javascript
42
+ proxy.get('isPending') //=> false
43
+ proxy.get('isSettled') //=> true
44
+ proxy.get('isRejected') //=> false
45
+ proxy.get('isFulfilled') //=> true
46
+ ```
47
+
48
+ As the proxy is an ObjectProxy, and the json now its content,
49
+ all the json properties will be available directly from the proxy.
50
+
51
+ ```javascript
52
+ // Assuming the following json:
53
+ {
54
+ firstName: 'Stefan',
55
+ lastName: 'Penner'
56
+ }
57
+
58
+ // both properties will accessible on the proxy
59
+ proxy.get('firstName') //=> 'Stefan'
60
+ proxy.get('lastName') //=> 'Penner'
61
+ ```
62
+
63
+ @class PromiseProxyMixin
64
+ @public
65
+ */
66
+ interface PromiseProxyMixin<T> {
67
+ /**
68
+ If the proxied promise is rejected this will contain the reason
69
+ provided.
70
+
71
+ @property reason
72
+ @default null
73
+ @public
74
+ */
75
+ reason: unknown;
76
+ /**
77
+ Once the proxied promise has settled this will become `false`.
78
+
79
+ @property isPending
80
+ @default true
81
+ @public
82
+ */
83
+ readonly isPending: boolean;
84
+ /**
85
+ Once the proxied promise has settled this will become `true`.
86
+
87
+ @property isSettled
88
+ @default false
89
+ @public
90
+ */
91
+ readonly isSettled: boolean;
92
+ /**
93
+ Will become `true` if the proxied promise is rejected.
94
+
95
+ @property isRejected
96
+ @default false
97
+ @public
98
+ */
99
+ isRejected: boolean;
100
+ /**
101
+ Will become `true` if the proxied promise is fulfilled.
102
+
103
+ @property isFulfilled
104
+ @default false
105
+ @public
106
+ */
107
+ isFulfilled: boolean;
108
+ /**
109
+ The promise whose fulfillment value is being proxied by this object.
110
+
111
+ This property must be specified upon creation, and should not be
112
+ changed once created.
113
+
114
+ Example:
115
+
116
+ ```javascript
117
+ import ObjectProxy from '@ember/object/proxy';
118
+ import PromiseProxyMixin from '@ember/object/promise-proxy-mixin';
119
+
120
+ ObjectProxy.extend(PromiseProxyMixin).create({
121
+ promise: <thenable>
122
+ });
123
+ ```
124
+
125
+ @property promise
126
+ @public
127
+ */
128
+ promise: Promise<T>;
129
+ /**
130
+ An alias to the proxied promise's `then`.
131
+
132
+ See RSVP.Promise.then.
133
+
134
+ @method then
135
+ @param {Function} callback
136
+ @return {RSVP.Promise}
137
+ @public
138
+ */
139
+ then: this['promise']['then'];
140
+ /**
141
+ An alias to the proxied promise's `catch`.
142
+
143
+ See RSVP.Promise.catch.
144
+
145
+ @method catch
146
+ @param {Function} callback
147
+ @return {RSVP.Promise}
148
+ @since 1.3.0
149
+ @public
150
+ */
151
+ catch: this['promise']['catch'];
152
+ /**
153
+ An alias to the proxied promise's `finally`.
154
+
155
+ See RSVP.Promise.finally.
156
+
157
+ @method finally
158
+ @param {Function} callback
159
+ @return {RSVP.Promise}
160
+ @since 1.3.0
161
+ @public
162
+ */
163
+ finally: this['promise']['finally'];
164
+ }
165
+ const PromiseProxyMixin: Mixin;
166
+ export default PromiseProxyMixin;
167
+ }