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,588 @@
1
+ declare module '@ember/routing/router-service.d.ts' {
2
+ import Evented from '@ember/object/evented';
3
+ import Service from '@ember/service';
4
+ import type { ModelFor, Transition } from 'router_js';
5
+ import type Route from '@ember/routing/route';
6
+ import EmberRouter from '@ember/routing/router';
7
+ import { RouteInfo, RouteInfoWithAttributes } from '@ember/routing/-internals';
8
+ import type { RouteArgs, RouteOptions } from './lib/utils';
9
+ export const ROUTER: unique symbol;
10
+ /**
11
+ The Router service is the public API that provides access to the router.
12
+
13
+ The immediate benefit of the Router service is that you can inject it into components,
14
+ giving them a friendly way to initiate transitions and ask questions about the current
15
+ global router state.
16
+
17
+ In this example, the Router service is injected into a component to initiate a transition
18
+ to a dedicated route:
19
+
20
+ ```app/components/example.js
21
+ import Component from '@glimmer/component';
22
+ import { action } from '@ember/object';
23
+ import { service } from '@ember/service';
24
+
25
+ export default class ExampleComponent extends Component {
26
+ @service router;
27
+
28
+ @action
29
+ next() {
30
+ this.router.transitionTo('other.route');
31
+ }
32
+ }
33
+ ```
34
+
35
+ Like any service, it can also be injected into helpers, routes, etc.
36
+
37
+ @public
38
+ @extends Service
39
+ @class RouterService
40
+ */
41
+ interface RouterService<R extends Route> extends Evented {
42
+ }
43
+ const RouterService_base: Readonly<typeof Service> & (new (owner?: import("@ember/-internals/owner").default | undefined) => Service);
44
+ class RouterService<R extends Route> extends RouterService_base {
45
+ [ROUTER]?: EmberRouter<R>;
46
+ get _router(): EmberRouter<R>;
47
+ willDestroy(): void;
48
+ /**
49
+ Transition the application into another route. The route may
50
+ be either a single route or route path:
51
+
52
+ Calling `transitionTo` from the Router service will cause default query parameter values to be included in the URL.
53
+ This behavior is different from calling `transitionTo` on a route or `transitionToRoute` on a controller.
54
+ See the [Router Service RFC](https://github.com/emberjs/rfcs/blob/master/text/0095-router-service.md#query-parameter-semantics) for more info.
55
+
56
+ In the following example we use the Router service to navigate to a route with a
57
+ specific model from a Component in the first action, and in the second we trigger
58
+ a query-params only transition.
59
+
60
+ ```app/components/example.js
61
+ import Component from '@glimmer/component';
62
+ import { action } from '@ember/object';
63
+ import { service } from '@ember/service';
64
+
65
+ export default class extends Component {
66
+ @service router;
67
+
68
+ @action
69
+ goToComments(post) {
70
+ this.router.transitionTo('comments', post);
71
+ }
72
+
73
+ @action
74
+ fetchMoreComments(latestComment) {
75
+ this.router.transitionTo({
76
+ queryParams: { commentsAfter: latestComment }
77
+ });
78
+ }
79
+ }
80
+ ```
81
+
82
+ @method transitionTo
83
+ @param {String} [routeNameOrUrl] the name of the route or a URL
84
+ @param {...Object} [models] the model(s) or identifier(s) to be used while
85
+ transitioning to the route.
86
+ @param {Object} [options] optional hash with a queryParams property
87
+ containing a mapping of query parameters. May be supplied as the only
88
+ parameter to trigger a query-parameter-only transition.
89
+ @return {Transition} the transition object associated with this
90
+ attempted transition
91
+ @public
92
+ */
93
+ transitionTo(...args: RouteArgs<R>): Transition;
94
+ /**
95
+ Similar to `transitionTo`, but instead of adding the destination to the browser's URL history,
96
+ it replaces the entry for the current route.
97
+ When the user clicks the "back" button in the browser, there will be fewer steps.
98
+ This is most commonly used to manage redirects in a way that does not cause confusing additions
99
+ to the user's browsing history.
100
+
101
+ Calling `replaceWith` from the Router service will cause default query parameter values to be included in the URL.
102
+ This behavior is different from calling `replaceWith` on a route.
103
+ See the [Router Service RFC](https://github.com/emberjs/rfcs/blob/master/text/0095-router-service.md#query-parameter-semantics) for more info.
104
+
105
+ Usage example:
106
+
107
+ ```app/routes/application.js
108
+ import Route from '@ember/routing/route';
109
+
110
+ export default class extends Route {
111
+ beforeModel() {
112
+ if (!authorized()){
113
+ this.replaceWith('unauthorized');
114
+ }
115
+ }
116
+ });
117
+ ```
118
+
119
+ @method replaceWith
120
+ @param {String} routeNameOrUrl the name of the route or a URL of the desired destination
121
+ @param {...Object} models the model(s) or identifier(s) to be used while
122
+ transitioning to the route i.e. an object of params to pass to the destination route
123
+ @param {Object} [options] optional hash with a queryParams property
124
+ containing a mapping of query parameters
125
+ @return {Transition} the transition object associated with this
126
+ attempted transition
127
+ @public
128
+ */
129
+ replaceWith(...args: RouteArgs<R>): Transition;
130
+ /**
131
+ Generate a URL based on the supplied route name and optionally a model. The
132
+ URL is returned as a string that can be used for any purpose.
133
+
134
+ In this example, the URL for the `author.books` route for a given author
135
+ is copied to the clipboard.
136
+
137
+ ```app/templates/application.hbs
138
+ <CopyLink @author={{hash id="tomster" name="Tomster"}} />
139
+ ```
140
+
141
+ ```app/components/copy-link.js
142
+ import Component from '@glimmer/component';
143
+ import { service } from '@ember/service';
144
+ import { action } from '@ember/object';
145
+
146
+ export default class CopyLinkComponent extends Component {
147
+ @service router;
148
+ @service clipboard;
149
+
150
+ @action
151
+ copyBooksURL() {
152
+ if (this.author) {
153
+ const url = this.router.urlFor('author.books', this.args.author);
154
+ this.clipboard.set(url);
155
+ // Clipboard now has /author/tomster/books
156
+ }
157
+ }
158
+ }
159
+ ```
160
+
161
+ Just like with `transitionTo` and `replaceWith`, `urlFor` can also handle
162
+ query parameters.
163
+
164
+ ```app/templates/application.hbs
165
+ <CopyLink @author={{hash id="tomster" name="Tomster"}} />
166
+ ```
167
+
168
+ ```app/components/copy-link.js
169
+ import Component from '@glimmer/component';
170
+ import { service } from '@ember/service';
171
+ import { action } from '@ember/object';
172
+
173
+ export default class CopyLinkComponent extends Component {
174
+ @service router;
175
+ @service clipboard;
176
+
177
+ @action
178
+ copyOnlyEmberBooksURL() {
179
+ if (this.author) {
180
+ const url = this.router.urlFor('author.books', this.author, {
181
+ queryParams: { filter: 'emberjs' }
182
+ });
183
+ this.clipboard.set(url);
184
+ // Clipboard now has /author/tomster/books?filter=emberjs
185
+ }
186
+ }
187
+ }
188
+ ```
189
+
190
+ @method urlFor
191
+ @param {String} routeName the name of the route
192
+ @param {...Object} models the model(s) for the route.
193
+ @param {Object} [options] optional hash with a queryParams property
194
+ containing a mapping of query parameters
195
+ @return {String} the string representing the generated URL
196
+ @public
197
+ */
198
+ urlFor(routeName: string, ...args: ModelFor<R>[] | [...ModelFor<R>[], RouteOptions]): string;
199
+ /**
200
+ Returns `true` if `routeName/models/queryParams` is the active route, where `models` and `queryParams` are optional.
201
+ See [model](api/ember/release/classes/Route/methods/model?anchor=model) and
202
+ [queryParams](/api/ember/3.7/classes/Route/properties/queryParams?anchor=queryParams) for more information about these arguments.
203
+
204
+ In the following example, `isActive` will return `true` if the current route is `/posts`.
205
+
206
+ ```app/components/posts.js
207
+ import Component from '@glimmer/component';
208
+ import { service } from '@ember/service';
209
+
210
+ export default class extends Component {
211
+ @service router;
212
+
213
+ displayComments() {
214
+ return this.router.isActive('posts');
215
+ }
216
+ });
217
+ ```
218
+
219
+ The next example includes a dynamic segment, and will return `true` if the current route is `/posts/1`,
220
+ assuming the post has an id of 1:
221
+
222
+ ```app/components/posts.js
223
+ import Component from '@glimmer/component';
224
+ import { service } from '@ember/service';
225
+
226
+ export default class extends Component {
227
+ @service router;
228
+
229
+ displayComments(post) {
230
+ return this.router.isActive('posts', post.id);
231
+ }
232
+ });
233
+ ```
234
+
235
+ Where `post.id` is the id of a specific post, which is represented in the route as /posts/[post.id].
236
+ If `post.id` is equal to 1, then isActive will return true if the current route is /posts/1, and false if the route is anything else.
237
+
238
+ @method isActive
239
+ @param {String} routeName the name of the route
240
+ @param {...Object} models the model(s) or identifier(s) to be used when determining the active route.
241
+ @param {Object} [options] optional hash with a queryParams property
242
+ containing a mapping of query parameters
243
+ @return {boolean} true if the provided routeName/models/queryParams are active
244
+ @public
245
+ */
246
+ isActive(...args: RouteArgs<R>): boolean;
247
+ /**
248
+ Takes a string URL and returns a `RouteInfo` for the leafmost route represented
249
+ by the URL. Returns `null` if the URL is not recognized. This method expects to
250
+ receive the actual URL as seen by the browser including the app's `rootURL`.
251
+
252
+ See [RouteInfo](/ember/release/classes/RouteInfo) for more info.
253
+
254
+ In the following example `recognize` is used to verify if a path belongs to our
255
+ application before transitioning to it.
256
+
257
+ ```
258
+ import Component from '@ember/component';
259
+ import { service } from '@ember/service';
260
+
261
+ export default class extends Component {
262
+ @service router;
263
+ path = '/';
264
+
265
+ click() {
266
+ if (this.router.recognize(this.path)) {
267
+ this.router.transitionTo(this.path);
268
+ }
269
+ }
270
+ }
271
+ ```
272
+
273
+ @method recognize
274
+ @param {String} url
275
+ @return {RouteInfo | null}
276
+ @public
277
+ */
278
+ recognize(url: string): RouteInfo | null;
279
+ /**
280
+ Takes a string URL and returns a promise that resolves to a
281
+ `RouteInfoWithAttributes` for the leafmost route represented by the URL.
282
+ The promise rejects if the URL is not recognized or an unhandled exception
283
+ is encountered. This method expects to receive the actual URL as seen by
284
+ the browser including the app's `rootURL`.
285
+
286
+ @method recognizeAndLoad
287
+ @param {String} url
288
+ @return {RouteInfo}
289
+ @public
290
+ */
291
+ recognizeAndLoad(url: string): Promise<RouteInfoWithAttributes>;
292
+ /**
293
+ You can register a listener for events emitted by this service with `.on()`:
294
+
295
+ ```app/routes/contact-form.js
296
+ import Route from '@ember/routing';
297
+ import { service } from '@ember/service';
298
+
299
+ export default class extends Route {
300
+ @service router;
301
+
302
+ activate() {
303
+ this.router.on('routeWillChange', (transition) => {
304
+ if (!transition.to.find(route => route.name === this.routeName)) {
305
+ alert("Please save or cancel your changes.");
306
+ transition.abort();
307
+ }
308
+ })
309
+ }
310
+ }
311
+ ```
312
+
313
+ @method on
314
+ @param {String} eventName
315
+ @param {Function} callback
316
+ @public
317
+ */
318
+ /**
319
+ You can unregister a listener for events emitted by this service with `.off()`:
320
+
321
+ ```app/routes/contact-form.js
322
+ import Route from '@ember/routing';
323
+ import { service } from '@ember/service';
324
+
325
+ export default class ContactFormRoute extends Route {
326
+ @service router;
327
+
328
+ callback = (transition) => {
329
+ if (!transition.to.find(route => route.name === this.routeName)) {
330
+ alert('Please save or cancel your changes.');
331
+ transition.abort();
332
+ }
333
+ };
334
+
335
+ activate() {
336
+ this.router.on('routeWillChange', this.callback);
337
+ }
338
+
339
+ deactivate() {
340
+ this.router.off('routeWillChange', this.callback);
341
+ }
342
+ }
343
+ ```
344
+
345
+ @method off
346
+ @param {String} eventName
347
+ @param {Function} callback
348
+ @public
349
+ */
350
+ /**
351
+ The `routeWillChange` event is fired at the beginning of any
352
+ attempted transition with a `Transition` object as the sole
353
+ argument. This action can be used for aborting, redirecting,
354
+ or decorating the transition from the currently active routes.
355
+
356
+ A good example is preventing navigation when a form is
357
+ half-filled out:
358
+
359
+ ```app/routes/contact-form.js
360
+ import Route from '@ember/routing';
361
+ import { service } from '@ember/service';
362
+
363
+ export default class extends Route {
364
+ @service router;
365
+
366
+ activate() {
367
+ this.router.on('routeWillChange', (transition) => {
368
+ if (!transition.to.find(route => route.name === this.routeName)) {
369
+ alert("Please save or cancel your changes.");
370
+ transition.abort();
371
+ }
372
+ })
373
+ }
374
+ }
375
+ ```
376
+
377
+ The `routeWillChange` event fires whenever a new route is chosen as the desired target of a transition. This includes `transitionTo`, `replaceWith`, all redirection for any reason including error handling, and abort. Aborting implies changing the desired target back to where you already were. Once a transition has completed, `routeDidChange` fires.
378
+
379
+ @event routeWillChange
380
+ @param {Transition} transition
381
+ @public
382
+ */
383
+ /**
384
+ The `routeDidChange` event only fires once a transition has settled.
385
+ This includes aborts and error substates. Like the `routeWillChange` event
386
+ it receives a Transition as the sole argument.
387
+
388
+ A good example is sending some analytics when the route has transitioned:
389
+
390
+ ```app/routes/contact-form.js
391
+ import Route from '@ember/routing';
392
+ import { service } from '@ember/service';
393
+
394
+ export default class extends Route {
395
+ @service router;
396
+
397
+ activate() {
398
+ this.router.on('routeDidChange', (transition) => {
399
+ ga.send('pageView', {
400
+ current: transition.to.name,
401
+ from: transition.from.name
402
+ });
403
+ })
404
+ }
405
+ }
406
+ ```
407
+
408
+ `routeDidChange` will be called after any `Route`'s
409
+ [didTransition](/ember/release/classes/Route/events/didTransition?anchor=didTransition)
410
+ action has been fired.
411
+ The updates of properties
412
+ [currentURL](/ember/release/classes/RouterService/properties/currentURL?anchor=currentURL),
413
+ [currentRouteName](/ember/release/classes/RouterService/properties/currentURL?anchor=currentRouteName)
414
+ and
415
+ [currentRoute](/ember/release/classes/RouterService/properties/currentURL?anchor=currentRoute)
416
+ are completed at the time `routeDidChange` is called.
417
+
418
+ @event routeDidChange
419
+ @param {Transition} transition
420
+ @public
421
+ */
422
+ /**
423
+ * Refreshes all currently active routes, doing a full transition.
424
+ * If a route name is provided and refers to a currently active route,
425
+ * it will refresh only that route and its descendents.
426
+ * Returns a promise that will be resolved once the refresh is complete.
427
+ * All resetController, beforeModel, model, afterModel, redirect, and setupController
428
+ * hooks will be called again. You will get new data from the model hook.
429
+ *
430
+ * @method refresh
431
+ * @param {String} [routeName] the route to refresh (along with all child routes)
432
+ * @return Transition
433
+ * @public
434
+ */
435
+ refresh(pivotRouteName?: string): Transition;
436
+ /**
437
+ Name of the current route.
438
+
439
+ This property represents the logical name of the route,
440
+ which is dot separated.
441
+ For the following router:
442
+
443
+ ```app/router.js
444
+ Router.map(function() {
445
+ this.route('about');
446
+ this.route('blog', function () {
447
+ this.route('post', { path: ':post_id' });
448
+ });
449
+ });
450
+ ```
451
+
452
+ It will return:
453
+
454
+ * `index` when you visit `/`
455
+ * `about` when you visit `/about`
456
+ * `blog.index` when you visit `/blog`
457
+ * `blog.post` when you visit `/blog/some-post-id`
458
+
459
+ @property currentRouteName
460
+ @type {String | null}
461
+ @public
462
+ */
463
+ readonly currentRouteName: this['_router']['currentRouteName'];
464
+ /**
465
+ Current URL for the application.
466
+
467
+ This property represents the URL path for this route.
468
+ For the following router:
469
+
470
+ ```app/router.js
471
+ Router.map(function() {
472
+ this.route('about');
473
+ this.route('blog', function () {
474
+ this.route('post', { path: ':post_id' });
475
+ });
476
+ });
477
+ ```
478
+
479
+ It will return:
480
+
481
+ * `/` when you visit `/`
482
+ * `/about` when you visit `/about`
483
+ * `/blog` when you visit `/blog`
484
+ * `/blog/some-post-id` when you visit `/blog/some-post-id`
485
+
486
+ @property currentURL
487
+ @type String
488
+ @public
489
+ */
490
+ readonly currentURL: this['_router']['currentURL'];
491
+ /**
492
+ The `location` property returns what implementation of the `location` API
493
+ your application is using, which determines what type of URL is being used.
494
+
495
+ See [Location](/ember/release/classes/Location) for more information.
496
+
497
+ To force a particular `location` API implementation to be used in your
498
+ application you can set a location type on your `config/environment`.
499
+ For example, to set the `history` type:
500
+
501
+ ```config/environment.js
502
+ 'use strict';
503
+
504
+ module.exports = function(environment) {
505
+ let ENV = {
506
+ modulePrefix: 'router-service',
507
+ environment,
508
+ rootURL: '/',
509
+ locationType: 'history',
510
+ ...
511
+ }
512
+ }
513
+ ```
514
+
515
+ The following location types are available by default:
516
+ `auto`, `hash`, `history`, `none`.
517
+
518
+ See [HashLocation](/ember/release/classes/HashLocation).
519
+ See [HistoryLocation](/ember/release/classes/HistoryLocation).
520
+ See [NoneLocation](/ember/release/classes/NoneLocation).
521
+ See [AutoLocation](/ember/release/classes/AutoLocation).
522
+
523
+ @property location
524
+ @default 'hash'
525
+ @see {Location}
526
+ @public
527
+ */
528
+ readonly location: this['_router']['location'];
529
+ /**
530
+ The `rootURL` property represents the URL of the root of
531
+ the application, '/' by default.
532
+ This prefix is assumed on all routes defined on this app.
533
+
534
+ If you change the `rootURL` in your environment configuration
535
+ like so:
536
+
537
+ ```config/environment.js
538
+ 'use strict';
539
+
540
+ module.exports = function(environment) {
541
+ let ENV = {
542
+ modulePrefix: 'router-service',
543
+ environment,
544
+ rootURL: '/my-root',
545
+
546
+ }
547
+ ]
548
+ ```
549
+
550
+ This property will return `/my-root`.
551
+
552
+ @property rootURL
553
+ @default '/'
554
+ @public
555
+ */
556
+ readonly rootURL: this['_router']['rootURL'];
557
+ /**
558
+ The `currentRoute` property contains metadata about the current leaf route.
559
+ It returns a `RouteInfo` object that has information like the route name,
560
+ params, query params and more.
561
+
562
+ See [RouteInfo](/ember/release/classes/RouteInfo) for more info.
563
+
564
+ This property is guaranteed to change whenever a route transition
565
+ happens (even when that transition only changes parameters
566
+ and doesn't change the active route).
567
+
568
+ Usage example:
569
+ ```app/components/header.js
570
+ import Component from '@glimmer/component';
571
+ import { service } from '@ember/service';
572
+ import { notEmpty } from '@ember/object/computed';
573
+
574
+ export default class extends Component {
575
+ @service router;
576
+
577
+ @notEmpty('router.currentRoute.child') isChildRoute;
578
+ });
579
+ ```
580
+
581
+ @property currentRoute
582
+ @type RouteInfo
583
+ @public
584
+ */
585
+ readonly currentRoute: this['_router']['currentRoute'];
586
+ }
587
+ export { RouterService as default, RouteInfo, RouteInfoWithAttributes };
588
+ }