ember-source 4.8.0-alpha.5 → 4.8.0-beta.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 (244) hide show
  1. package/CHANGELOG.md +11 -2
  2. package/blueprints/helper/files/__root__/{__collection__ → helpers}/__name__.ts +0 -0
  3. package/blueprints/helper/index.js +0 -15
  4. package/blueprints/helper-test/index.js +0 -3
  5. package/blueprints/helper-test/mocha-0.12-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
  6. package/blueprints/helper-test/mocha-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
  7. package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.ts +0 -0
  8. package/blueprints/helper-test/qunit-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
  9. package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.ts +0 -0
  10. package/blueprints-js/helper/files/__root__/{__collection__ → helpers}/__name__.js +0 -0
  11. package/blueprints-js/helper-test/mocha-0.12-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
  12. package/blueprints-js/helper-test/mocha-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
  13. package/blueprints-js/helper-test/mocha-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
  14. package/blueprints-js/helper-test/qunit-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
  15. package/blueprints-js/helper-test/qunit-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
  16. package/build-metadata.json +3 -3
  17. package/dist/dependencies/router_js.js +1 -1
  18. package/dist/ember-template-compiler.js +675 -18
  19. package/dist/ember-template-compiler.map +1 -1
  20. package/dist/ember-testing.js +11 -11
  21. package/dist/ember-testing.map +1 -1
  22. package/dist/ember.debug.js +19576 -20510
  23. package/dist/ember.debug.map +1 -1
  24. package/dist/header/license.js +1 -1
  25. package/dist/packages/@ember/-internals/glimmer/index.js +4 -2
  26. package/dist/packages/@ember/-internals/metal/index.js +214 -1094
  27. package/dist/packages/@ember/-internals/routing/index.js +1 -17
  28. package/dist/packages/@ember/-internals/runtime/index.js +3 -16
  29. package/dist/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +2 -1
  30. package/dist/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +4 -3
  31. package/dist/packages/@ember/-internals/runtime/lib/mixins/comparable.js +1 -1
  32. package/dist/packages/@ember/-internals/runtime/lib/mixins/container_proxy.js +1 -1
  33. package/dist/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +1 -8
  34. package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +2 -1
  35. package/dist/packages/@ember/-internals/utils/index.js +3 -3
  36. package/dist/packages/@ember/-internals/views/lib/component_lookup.js +1 -1
  37. package/dist/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -1
  38. package/dist/packages/@ember/-internals/views/lib/mixins/child_views_support.js +2 -1
  39. package/dist/packages/@ember/-internals/views/lib/mixins/class_names_support.js +2 -1
  40. package/dist/packages/@ember/-internals/views/lib/mixins/view_state_support.js +1 -1
  41. package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +2 -1
  42. package/dist/packages/@ember/-internals/views/lib/system/event_dispatcher.js +1 -1
  43. package/dist/packages/@ember/-internals/views/lib/views/core_view.js +3 -1
  44. package/dist/packages/@ember/application/index.js +876 -2
  45. package/dist/packages/@ember/application/instance.js +2 -2
  46. package/dist/packages/@ember/application/namespace.js +70 -1
  47. package/dist/packages/@ember/array/index.js +1503 -2
  48. package/dist/packages/@ember/array/mutable.js +1 -1
  49. package/dist/packages/@ember/array/proxy.js +307 -1
  50. package/dist/packages/@ember/canary-features/index.js +2 -2
  51. package/dist/packages/@ember/controller/index.js +260 -3
  52. package/dist/packages/@ember/debug/container-debug-adapter.js +99 -1
  53. package/dist/packages/@ember/debug/data-adapter.js +574 -1
  54. package/dist/packages/@ember/engine/index.js +5 -5
  55. package/dist/packages/@ember/engine/instance.js +4 -4
  56. package/dist/packages/@ember/enumerable/index.js +3 -1
  57. package/dist/packages/@ember/enumerable/mutable.js +4 -0
  58. package/dist/packages/@ember/{-internals/runtime/lib/system/object.js → object/-internals.js} +4 -17
  59. package/dist/packages/@ember/object/core.js +731 -1
  60. package/dist/packages/@ember/object/evented.js +93 -2
  61. package/dist/packages/@ember/object/index.js +76 -4
  62. package/dist/packages/@ember/object/internals.js +3 -2
  63. package/dist/packages/@ember/object/lib/computed/computed_macros.js +3 -1
  64. package/dist/packages/@ember/object/lib/computed/reduce_computed_macros.js +4 -3
  65. package/dist/packages/@ember/object/mixin.js +659 -1
  66. package/dist/packages/@ember/object/observable.js +341 -1
  67. package/dist/packages/@ember/object/promise-proxy-mixin.js +150 -1
  68. package/dist/packages/@ember/object/proxy.js +10 -1
  69. package/dist/packages/@ember/routing/-internals.js +7 -0
  70. package/dist/packages/@ember/routing/auto-location.js +249 -1
  71. package/dist/packages/@ember/routing/hash-location.js +169 -1
  72. package/dist/packages/@ember/routing/history-location.js +289 -1
  73. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/cache.js +0 -0
  74. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/controller_for.js +0 -0
  75. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/dsl.js +0 -0
  76. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/engines.js +0 -0
  77. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/generate_controller.js +0 -0
  78. package/dist/packages/@ember/{-internals/routing/lib/location/util.js → routing/lib/location-utils.js} +0 -0
  79. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/query_params.js +0 -0
  80. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/route-info.js +0 -0
  81. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/router_state.js +1 -1
  82. package/dist/packages/@ember/{-internals/routing/lib/services/routing.js → routing/lib/routing-service.js} +2 -2
  83. package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/transition.js +0 -0
  84. package/dist/packages/@ember/{-internals/routing → routing}/lib/utils.js +0 -0
  85. package/dist/packages/@ember/routing/location.js +104 -1
  86. package/dist/packages/@ember/routing/none-location.js +123 -1
  87. package/dist/packages/@ember/routing/route.js +1700 -1
  88. package/dist/packages/@ember/routing/router-service.js +510 -1
  89. package/dist/packages/@ember/routing/router.js +1666 -1
  90. package/dist/packages/@ember/service/index.js +1 -1
  91. package/dist/packages/@ember/utils/index.js +7 -2
  92. package/dist/packages/@ember/{-internals/runtime → utils}/lib/compare.js +2 -2
  93. package/dist/packages/@ember/{-internals/runtime → utils}/lib/is-equal.js +0 -0
  94. package/dist/packages/@ember/utils/lib/is_blank.js +35 -0
  95. package/dist/packages/@ember/utils/lib/is_empty.js +68 -0
  96. package/dist/packages/@ember/utils/lib/is_none.js +27 -0
  97. package/dist/packages/@ember/utils/lib/is_present.js +38 -0
  98. package/dist/packages/@ember/{-internals/runtime → utils}/lib/type-of.js +2 -2
  99. package/dist/packages/ember/index.js +47 -28
  100. package/dist/packages/ember/version.js +1 -1
  101. package/dist/packages/ember-testing/lib/adapters/adapter.js +1 -1
  102. package/dist/packages/ember-testing/lib/helpers/current_path.js +2 -2
  103. package/dist/packages/ember-testing/lib/helpers/current_route_name.js +2 -2
  104. package/dist/packages/ember-testing/lib/helpers/current_url.js +1 -1
  105. package/docs/data.json +9428 -9189
  106. package/package.json +23 -8
  107. package/types/preview/@ember/-internals/resolver.d.ts +35 -0
  108. package/types/preview/@ember/application/-private/event-dispatcher.d.ts +18 -0
  109. package/types/preview/@ember/application/-private/registry.d.ts +15 -0
  110. package/types/preview/@ember/application/deprecations.d.ts +24 -0
  111. package/types/preview/@ember/application/index.d.ts +153 -0
  112. package/types/preview/@ember/application/instance.d.ts +9 -0
  113. package/types/preview/@ember/application/tsconfig.json +3 -0
  114. package/types/preview/@ember/application/types.d.ts +29 -0
  115. package/types/preview/@ember/array/-private/enumerable.d.ts +13 -0
  116. package/types/preview/@ember/array/-private/mutable-enumerable.d.ts +13 -0
  117. package/types/preview/@ember/array/-private/native-array.d.ts +23 -0
  118. package/types/preview/@ember/array/index.d.ts +243 -0
  119. package/types/preview/@ember/array/mutable.d.ts +94 -0
  120. package/types/preview/@ember/array/proxy.d.ts +29 -0
  121. package/types/preview/@ember/array/tsconfig.json +3 -0
  122. package/types/preview/@ember/component/-private/class-names-support.d.ts +27 -0
  123. package/types/preview/@ember/component/-private/core-view.d.ts +14 -0
  124. package/types/preview/@ember/component/-private/glimmer-interfaces.d.ts +45 -0
  125. package/types/preview/@ember/component/-private/signature-utils.d.ts +107 -0
  126. package/types/preview/@ember/component/-private/view-mixin.d.ts +59 -0
  127. package/types/preview/@ember/component/helper.d.ts +122 -0
  128. package/types/preview/@ember/component/index.d.ts +132 -0
  129. package/types/preview/@ember/component/template-only.d.ts +47 -0
  130. package/types/preview/@ember/component/tsconfig.json +3 -0
  131. package/types/preview/@ember/controller/index.d.ts +48 -0
  132. package/types/preview/@ember/controller/tsconfig.json +3 -0
  133. package/types/preview/@ember/debug/container-debug-adapter.d.ts +13 -0
  134. package/types/preview/@ember/debug/data-adapter.d.ts +64 -0
  135. package/types/preview/@ember/debug/index.d.ts +98 -0
  136. package/types/preview/@ember/debug/tsconfig.json +3 -0
  137. package/types/preview/@ember/destroyable/index.d.ts +23 -0
  138. package/types/preview/@ember/destroyable/tsconfig.json +3 -0
  139. package/types/preview/@ember/engine/-private/container-proxy-mixin.d.ts +17 -0
  140. package/types/preview/@ember/engine/-private/registry-proxy-mixin.d.ts +54 -0
  141. package/types/preview/@ember/engine/-private/types/initializer.d.ts +8 -0
  142. package/types/preview/@ember/engine/index.d.ts +45 -0
  143. package/types/preview/@ember/engine/instance.d.ts +24 -0
  144. package/types/preview/@ember/engine/tsconfig.json +3 -0
  145. package/types/preview/@ember/error/index.d.ts +6 -0
  146. package/types/preview/@ember/error/tsconfig.json +3 -0
  147. package/types/preview/@ember/helper/index.d.ts +49 -0
  148. package/types/preview/@ember/helper/tsconfig.json +3 -0
  149. package/types/preview/@ember/modifier/index.d.ts +33 -0
  150. package/types/preview/@ember/modifier/tsconfig.json +3 -0
  151. package/types/preview/@ember/object/-private/action-handler.d.ts +31 -0
  152. package/types/preview/@ember/object/-private/types.d.ts +63 -0
  153. package/types/preview/@ember/object/compat.d.ts +9 -0
  154. package/types/preview/@ember/object/computed.d.ts +263 -0
  155. package/types/preview/@ember/object/core.d.ts +89 -0
  156. package/types/preview/@ember/object/evented.d.ts +45 -0
  157. package/types/preview/@ember/object/events.d.ts +47 -0
  158. package/types/preview/@ember/object/index.d.ts +126 -0
  159. package/types/preview/@ember/object/internals.d.ts +17 -0
  160. package/types/preview/@ember/object/mixin.d.ts +19 -0
  161. package/types/preview/@ember/object/observable.d.ts +89 -0
  162. package/types/preview/@ember/object/observers.d.ts +34 -0
  163. package/types/preview/@ember/object/promise-proxy-mixin.d.ts +37 -0
  164. package/types/preview/@ember/object/proxy.d.ts +27 -0
  165. package/types/preview/@ember/object/tsconfig.json +3 -0
  166. package/types/preview/@ember/owner/index.d.ts +102 -0
  167. package/types/preview/@ember/owner/tsconfig.json +3 -0
  168. package/types/preview/@ember/polyfills/index.d.ts +23 -0
  169. package/types/preview/@ember/polyfills/tsconfig.json +3 -0
  170. package/types/preview/@ember/polyfills/types.d.ts +6 -0
  171. package/types/preview/@ember/routing/-private/router-dsl.d.ts +20 -0
  172. package/types/preview/@ember/routing/auto-location.d.ts +8 -0
  173. package/types/preview/@ember/routing/hash-location.d.ts +10 -0
  174. package/types/preview/@ember/routing/history-location.d.ts +9 -0
  175. package/types/preview/@ember/routing/index.d.ts +20 -0
  176. package/types/preview/@ember/routing/none-location.d.ts +11 -0
  177. package/types/preview/@ember/routing/route-info.d.ts +74 -0
  178. package/types/preview/@ember/routing/route.d.ts +533 -0
  179. package/types/preview/@ember/routing/router-service.d.ts +351 -0
  180. package/types/preview/@ember/routing/router.d.ts +49 -0
  181. package/types/preview/@ember/routing/transition.d.ts +126 -0
  182. package/types/preview/@ember/routing/tsconfig.json +3 -0
  183. package/types/preview/@ember/routing/types.d.ts +15 -0
  184. package/types/preview/@ember/runloop/-private/backburner.d.ts +43 -0
  185. package/types/preview/@ember/runloop/-private/types.d.ts +9 -0
  186. package/types/preview/@ember/runloop/index.d.ts +175 -0
  187. package/types/preview/@ember/runloop/tsconfig.json +3 -0
  188. package/types/preview/@ember/runloop/types.d.ts +5 -0
  189. package/types/preview/@ember/service/index.d.ts +25 -0
  190. package/types/preview/@ember/service/tsconfig.json +3 -0
  191. package/types/preview/@ember/string/index.d.ts +9 -0
  192. package/types/preview/@ember/string/tsconfig.json +3 -0
  193. package/types/preview/@ember/template/-private/handlebars.d.ts +7 -0
  194. package/types/preview/@ember/template/index.d.ts +5 -0
  195. package/types/preview/@ember/template/tsconfig.json +3 -0
  196. package/types/preview/@ember/test/adapter.d.ts +22 -0
  197. package/types/preview/@ember/test/index.d.ts +49 -0
  198. package/types/preview/@ember/test/tsconfig.json +3 -0
  199. package/types/preview/@ember/utils/-private/types.d.ts +39 -0
  200. package/types/preview/@ember/utils/index.d.ts +42 -0
  201. package/types/preview/@ember/utils/tsconfig.json +3 -0
  202. package/types/preview/ember/-private/type-utils.d.ts +54 -0
  203. package/types/preview/ember/index.d.ts +381 -0
  204. package/types/preview/ember/tsconfig.json +3 -0
  205. package/types/preview/index.d.ts +120 -0
  206. package/types/preview/tsconfig.json +6 -0
  207. package/blueprints/helper/mu-files/__root__/__collection__/__name__.js +0 -7
  208. package/blueprints-js/helper/mu-files/__root__/__collection__/__name__.js +0 -7
  209. package/dist/packages/@ember/-internals/extension-support/index.js +0 -2
  210. package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +0 -96
  211. package/dist/packages/@ember/-internals/extension-support/lib/data_adapter.js +0 -576
  212. package/dist/packages/@ember/-internals/routing/lib/ext/controller.js +0 -224
  213. package/dist/packages/@ember/-internals/routing/lib/location/api.js +0 -104
  214. package/dist/packages/@ember/-internals/routing/lib/location/auto_location.js +0 -250
  215. package/dist/packages/@ember/-internals/routing/lib/location/hash_location.js +0 -170
  216. package/dist/packages/@ember/-internals/routing/lib/location/history_location.js +0 -290
  217. package/dist/packages/@ember/-internals/routing/lib/location/none_location.js +0 -124
  218. package/dist/packages/@ember/-internals/routing/lib/services/router.js +0 -506
  219. package/dist/packages/@ember/-internals/routing/lib/system/route.js +0 -1696
  220. package/dist/packages/@ember/-internals/routing/lib/system/router.js +0 -1662
  221. package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +0 -1501
  222. package/dist/packages/@ember/-internals/runtime/lib/mixins/enumerable.js +0 -3
  223. package/dist/packages/@ember/-internals/runtime/lib/mixins/evented.js +0 -91
  224. package/dist/packages/@ember/-internals/runtime/lib/mixins/mutable_enumerable.js +0 -4
  225. package/dist/packages/@ember/-internals/runtime/lib/mixins/observable.js +0 -339
  226. package/dist/packages/@ember/-internals/runtime/lib/mixins/promise_proxy.js +0 -149
  227. package/dist/packages/@ember/-internals/runtime/lib/system/array_proxy.js +0 -305
  228. package/dist/packages/@ember/-internals/runtime/lib/system/core_object.js +0 -730
  229. package/dist/packages/@ember/-internals/runtime/lib/system/namespace.js +0 -69
  230. package/dist/packages/@ember/-internals/runtime/lib/system/object_proxy.js +0 -7
  231. package/dist/packages/@ember/application/lib/application.js +0 -870
  232. package/dist/packages/@ember/controller/lib/controller_mixin.js +0 -42
  233. package/dist/packages/@ember/runloop/type-tests.ts/begin-end.test.js +0 -5
  234. package/dist/packages/@ember/runloop/type-tests.ts/bind.test.js +0 -59
  235. package/dist/packages/@ember/runloop/type-tests.ts/cancel.test.js +0 -5
  236. package/dist/packages/@ember/runloop/type-tests.ts/debounce.test.js +0 -77
  237. package/dist/packages/@ember/runloop/type-tests.ts/join.test.js +0 -38
  238. package/dist/packages/@ember/runloop/type-tests.ts/later.test.js +0 -38
  239. package/dist/packages/@ember/runloop/type-tests.ts/next.test.js +0 -38
  240. package/dist/packages/@ember/runloop/type-tests.ts/once.test.js +0 -38
  241. package/dist/packages/@ember/runloop/type-tests.ts/run.test.js +0 -38
  242. package/dist/packages/@ember/runloop/type-tests.ts/schedule-once.test.js +0 -39
  243. package/dist/packages/@ember/runloop/type-tests.ts/schedule.test.js +0 -39
  244. package/dist/packages/@ember/runloop/type-tests.ts/throttle.test.js +0 -77
@@ -0,0 +1,351 @@
1
+ declare module '@ember/routing/router-service' {
2
+ import RouteInfo, { RouteInfoWithAttributes } from '@ember/routing/route-info';
3
+ import Transition from '@ember/routing/transition';
4
+ import Service from '@ember/service';
5
+
6
+ type RouteModel = object | string | number;
7
+
8
+ // https://emberjs.com/api/ember/release/classes/RouterService
9
+ /**
10
+ * The Router service is the public API that provides component/view layer access to the router.
11
+ */
12
+ export default class RouterService extends Service {
13
+ //
14
+ /**
15
+ * A `RouteInfo` that represents the current leaf route.
16
+ * It is guaranteed to change whenever a route transition happens
17
+ * (even when that transition only changes parameters and doesn't change the active route)
18
+ */
19
+ readonly currentRoute: RouteInfo;
20
+ /**
21
+ * Name of the current route.
22
+ * This property represent the logical name of the route,
23
+ * which is comma separated.
24
+ * For the following router:
25
+ * ```app/router.js
26
+ * Router.map(function() {
27
+ * this.route('about');
28
+ * this.route('blog', function () {
29
+ * this.route('post', { path: ':post_id' });
30
+ * });
31
+ * });
32
+ * ```
33
+ * It will return:
34
+ * * `index` when you visit `/`
35
+ * * `about` when you visit `/about`
36
+ * * `blog.index` when you visit `/blog`
37
+ * * `blog.post` when you visit `/blog/some-post-id`
38
+ */
39
+ readonly currentRouteName: string;
40
+ //
41
+ /**
42
+ * Current URL for the application.
43
+ * This property represent the URL path for this route.
44
+ * For the following router:
45
+ * ```app/router.js
46
+ * Router.map(function() {
47
+ * this.route('about');
48
+ * this.route('blog', function () {
49
+ * this.route('post', { path: ':post_id' });
50
+ * });
51
+ * });
52
+ * ```
53
+ * It will return:
54
+ * * `/` when you visit `/`
55
+ * * `/about` when you visit `/about`
56
+ * * `/blog` when you visit `/blog`
57
+ * * `/blog/some-post-id` when you visit `/blog/some-post-id`
58
+ */
59
+ readonly currentURL: string;
60
+
61
+ /**
62
+ * The `rootURL` property represents the URL of the root of
63
+ * the application, '/' by default.
64
+ * This prefix is assumed on all routes defined on this app.
65
+ * If you change the `rootURL` in your environment configuration
66
+ * like so:
67
+ * ```config/environment.js
68
+ * 'use strict';
69
+ * module.exports = function(environment) {
70
+ * let ENV = {
71
+ * modulePrefix: 'router-service',
72
+ * environment,
73
+ * rootURL: '/my-root',
74
+ * …
75
+ * }
76
+ * ]
77
+ * ```
78
+ * This property will return `/my-root`.
79
+ */
80
+ readonly rootURL: string;
81
+
82
+ /**
83
+ * Determines whether a route is active.
84
+ *
85
+ * @param routeName the name of the route
86
+ * @param models the model(s) or identifier(s) to be used while
87
+ * transitioning to the route
88
+ * @param options optional hash with a queryParams property containing a
89
+ * mapping of query parameters
90
+ */
91
+ isActive(routeName: string, options?: { queryParams: object }): boolean;
92
+ isActive(routeName: string, models: RouteModel, options?: { queryParams: object }): boolean;
93
+ isActive(
94
+ routeName: string,
95
+ modelsA: RouteModel,
96
+ modelsB: RouteModel,
97
+ options?: { queryParams: object }
98
+ ): boolean;
99
+ isActive(
100
+ routeName: string,
101
+ modelsA: RouteModel,
102
+ modelsB: RouteModel,
103
+ modelsC: RouteModel,
104
+ options?: { queryParams: object }
105
+ ): boolean;
106
+ isActive(
107
+ routeName: string,
108
+ modelsA: RouteModel,
109
+ modelsB: RouteModel,
110
+ modelsC: RouteModel,
111
+ modelsD: RouteModel,
112
+ options?: { queryParams: object }
113
+ ): boolean;
114
+
115
+ // https://emberjs.com/api/ember/4.0/classes/RouterService/methods/isActive?anchor=replaceWith
116
+ /**
117
+ * Transition into another route while replacing the current URL, if
118
+ * possible. The route may be either a single route or route path.
119
+ *
120
+ * @param routeNameOrUrl the name of the route or a URL
121
+ * @param models the model(s) or identifier(s) to be used while
122
+ * transitioning to the route.
123
+ * @param options optional hash with a queryParams property
124
+ * containing a mapping of query parameters
125
+ * @returns the Transition object associated with this attempted transition
126
+ */
127
+ replaceWith(routeNameOrUrl: string, options?: { queryParams: object }): Transition;
128
+ replaceWith(
129
+ routeNameOrUrl: string,
130
+ models: RouteModel,
131
+ options?: { queryParams: object }
132
+ ): Transition;
133
+ replaceWith(
134
+ routeNameOrUrl: string,
135
+ modelsA: RouteModel,
136
+ modelsB: RouteModel,
137
+ options?: { queryParams: object }
138
+ ): Transition;
139
+ replaceWith(
140
+ routeNameOrUrl: string,
141
+ modelsA: RouteModel,
142
+ modelsB: RouteModel,
143
+ modelsC: RouteModel,
144
+ options?: { queryParams: object }
145
+ ): Transition;
146
+ replaceWith(
147
+ routeNameOrUrl: string,
148
+ modelsA: RouteModel,
149
+ modelsB: RouteModel,
150
+ modelsC: RouteModel,
151
+ modelsD: RouteModel,
152
+ options?: { queryParams: object }
153
+ ): Transition;
154
+
155
+ // https://emberjs.com/api/ember/release/classes/RouterService/methods/isActive?anchor=transitionTo
156
+ /**
157
+ * Transition the application into another route. The route may
158
+ * be either a single route or route path:
159
+ *
160
+ * See [transitionTo](https://api.emberjs.com/ember/release/classes/Route/methods/transitionTo?anchor=transitionTo) for more info.
161
+ *
162
+ * Calling `transitionTo` from the Router service will cause default query parameter values to be included in the URL.
163
+ * This behavior is different from calling `transitionTo` on a route or `transitionToRoute` on a controller.
164
+ * See the [Router Service RFC](https://github.com/emberjs/rfcs/blob/master/text/0095-router-service.md#query-parameter-semantics) for more info.
165
+ *
166
+ * In the following example we use the Router service to navigate to a route with a
167
+ * specific model from a Component.
168
+ *
169
+ * ```app/components/example.js
170
+ * import Component from '@glimmer/component';
171
+ * import { action } from '@ember/object';
172
+ * import { inject as service } from '@ember/service';
173
+ *
174
+ * export default class extends Component {
175
+ * @service router;
176
+ *
177
+ * @action
178
+ * goToComments(post) {
179
+ * this.router.transitionTo('comments', post);
180
+ * }
181
+ * }
182
+ * ```
183
+ *
184
+ * @param routeNameOrUrl the name of the route or a URL
185
+ * @param models the model(s) or identifier(s) to be used while
186
+ * transitioning to the route.
187
+ * @param options optional hash with a queryParams property
188
+ * containing a mapping of query parameters. May be
189
+ * supplied as the only parameter to trigger a
190
+ * query-parameter-only transition.
191
+ * @returns the Transition object associated with this attempted transition
192
+ */
193
+ transitionTo(routeNameOrUrl: string, options?: { queryParams: object }): Transition;
194
+ transitionTo(
195
+ routeNameOrUrl: string,
196
+ models: RouteModel,
197
+ options?: { queryParams: object }
198
+ ): Transition;
199
+ transitionTo(
200
+ routeNameOrUrl: string,
201
+ modelsA: RouteModel,
202
+ modelsB: RouteModel,
203
+ options?: { queryParams: object }
204
+ ): Transition;
205
+ transitionTo(
206
+ routeNameOrUrl: string,
207
+ modelsA: RouteModel,
208
+ modelsB: RouteModel,
209
+ modelsC: RouteModel,
210
+ options?: { queryParams: object }
211
+ ): Transition;
212
+ transitionTo(
213
+ routeNameOrUrl: string,
214
+ modelsA: RouteModel,
215
+ modelsB: RouteModel,
216
+ modelsC: RouteModel,
217
+ modelsD: RouteModel,
218
+ options?: { queryParams: object }
219
+ ): Transition;
220
+ transitionTo(options: { queryParams: object }): Transition;
221
+
222
+ // https://emberjs.com/api/ember/4.3.0/classes/RouterService/methods/isActive?anchor=urlFor
223
+ /**
224
+ * Generate a URL based on the supplied route name.
225
+ *
226
+ * @param routeName the name of the route or a URL
227
+ * @param models the model(s) or identifier(s) to be used while
228
+ * transitioning to the route.
229
+ * @param options optional hash with a queryParams property containing
230
+ * a mapping of query parameters
231
+ * @returns the string representing the generated URL
232
+ */
233
+ urlFor(
234
+ routeName: string,
235
+ ...args: RouteModel[] | [...RouteModel[], { queryParams: object }]
236
+ ): string;
237
+
238
+ // https://api.emberjs.com/ember/3.6/classes/RouterService/events/routeDidChange?anchor=routeDidChange
239
+ /**
240
+ * Register a callback for an event.
241
+ *
242
+ * The `routeWillChange` event is fired at the beginning of any attempted transition with a `Transition` object as the sole argument.
243
+ * This action can be used for aborting, redirecting, or decorating the transition from the currently active routes.
244
+ *
245
+ * The `routeDidChange` event only fires once a transition has settled.
246
+ * This includes aborts and error substates.
247
+ * Like the `routeWillChange` event it recieves a `Transition` as the sole argument.
248
+ *
249
+ * @param name the name of the event
250
+ * @param callback the callback to execute
251
+ */
252
+ on(
253
+ name: 'routeDidChange' | 'routeWillChange',
254
+ callback: (transition: Transition) => void
255
+ ): RouterService;
256
+
257
+ // https://api.emberjs.com/ember/3.28/classes/Evented/methods/off?anchor=off
258
+ /**
259
+ * Removes a callback for an event.
260
+ *
261
+ * The `routeWillChange` event is fired at the beginning of any attempted transition with a `Transition` object as the sole argument.
262
+ * This action can be used for aborting, redirecting, or decorating the transition from the currently active routes.
263
+ *
264
+ * The `routeDidChange` event only fires once a transition has settled.
265
+ * This includes aborts and error substates.
266
+ *
267
+ * @param name the name of the event 'routeWillChange' | 'routeDidChange'
268
+ * @param callback the callback to remove
269
+ */
270
+ off(
271
+ name: 'routeDidChange' | 'routeWillChange',
272
+ callback: (transition: Transition) => void
273
+ ): RouterService;
274
+
275
+ /**
276
+ * https://api.emberjs.com/ember/3.28/classes/Evented/methods/off?anchor=has
277
+ *
278
+ * Checks to see if object has any subscriptions for named event.
279
+ *
280
+ * @param name
281
+ */
282
+ has(name: string): boolean;
283
+
284
+ /**
285
+ * https://api.emberjs.com/ember/3.28/classes/Evented/methods/off?anchor=one
286
+ *
287
+ * Subscribes a function to a named event and then cancels the subscription after the first time the
288
+ * event is triggered. It is good to use one when you only care about the first time an event has taken place.
289
+ *
290
+ * @param name the name of the event
291
+ * @param callback the callback to execute
292
+ */
293
+ one(
294
+ name: 'routeDidChange' | 'routeWillChange',
295
+ callback: (transition: Transition) => void
296
+ ): RouterService;
297
+
298
+ /**
299
+ * https://api.emberjs.com/ember/3.28/classes/Evented/methods/off?anchor=trigger
300
+ *
301
+ * Triggers a named event for the object.
302
+ * Any additional arguments will be passed as parameters to the functions that are subscribed to the event.
303
+ *
304
+ * @param name the name of the event
305
+ * @param args arguments to pass to the event
306
+ */
307
+ trigger(name: string, args: any): void;
308
+
309
+ /**
310
+ * Takes a string URL and returns a `RouteInfo` for the leafmost route represented
311
+ * by the URL. Returns `null` if the URL is not recognized. This method expects to
312
+ * receive the actual URL as seen by the browser including the app's `rootURL`.
313
+ * See [RouteInfo](/ember/release/classes/RouteInfo) for more info.
314
+ * In the following example `recognize` is used to verify if a path belongs to our
315
+ * application before transitioning to it.
316
+ * ```
317
+ * import Component from '@ember/component';
318
+ * import { inject as service } from '@ember/service';
319
+ * export default class extends Component {
320
+ * @service router;
321
+ * path = '/';
322
+ * click() {
323
+ * if (this.router.recognize(this.path)) {
324
+ * this.router.transitionTo(this.path);
325
+ * }
326
+ * }
327
+ * }
328
+ * ```
329
+ */
330
+ recognize(url: string): RouteInfo;
331
+
332
+ /**
333
+ * Takes a string URL and returns a promise that resolves to a
334
+ * `RouteInfoWithAttributes` for the leafmost route represented by the URL.
335
+ * The promise rejects if the URL is not recognized or an unhandled exception
336
+ * is encountered. This method expects to receive the actual URL as seen by
337
+ * the browser including the app's `rootURL`.
338
+ */
339
+ recognizeAndLoad(url: string): RouteInfoWithAttributes;
340
+
341
+ /**
342
+ * Refreshes all currently active routes, doing a full transition.
343
+ * If a route name is provided and refers to a currently active route,
344
+ * it will refresh only that route and its descendents.
345
+ * Returns a promise that will be resolved once the refresh is complete.
346
+ * All resetController, beforeModel, model, afterModel, redirect, and setupController
347
+ * hooks will be called again. You will get new data from the model hook.
348
+ */
349
+ refresh(pivotRouteName?: string): Transition;
350
+ }
351
+ }
@@ -0,0 +1,49 @@
1
+ declare module '@ember/routing/router' {
2
+ import EmberObject from '@ember/object';
3
+ import Evented from '@ember/object/evented';
4
+ import RouterDSL from '@ember/routing/-private/router-dsl';
5
+ import Transition from '@ember/routing/transition';
6
+
7
+ /**
8
+ * The `Ember.Router` class manages the application state and URLs. Refer to
9
+ * the [routing guide](http://emberjs.com/guides/routing/) for documentation.
10
+ */
11
+ export default class Router extends EmberObject {
12
+ /**
13
+ * The `Router.map` function allows you to define mappings from URLs to routes
14
+ * in your application. These mappings are defined within the
15
+ * supplied callback function using `this.route`.
16
+ */
17
+ static map(callback: (this: RouterDSL) => void): void;
18
+ /**
19
+ * The `location` property determines the type of URL's that your
20
+ * application will use.
21
+ *
22
+ * @note the `'auto'` location is [deprecated](https://deprecations.emberjs.com/v4.x/#toc_deprecate-auto-location).
23
+ */
24
+ location: 'history' | 'hash' | 'none' | 'auto';
25
+ /**
26
+ * Represents the URL of the root of the application, often '/'. This prefix is
27
+ * assumed on all routes defined on this router.
28
+ */
29
+ rootURL: string;
30
+ /**
31
+ * Transition the application into another route. The route may
32
+ * be either a single route or route path:
33
+ */
34
+ transitionTo(name: string, options?: {}): Transition;
35
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
36
+ transitionTo(name: string, ...models: any[]): Transition;
37
+ transitionTo(name: string, options: {}): Transition;
38
+ }
39
+
40
+ export default interface RouterService extends Evented {}
41
+ }
42
+
43
+ declare module '@ember/service' {
44
+ import RouterService from '@ember/routing/router-service';
45
+
46
+ interface Registry {
47
+ router: RouterService;
48
+ }
49
+ }
@@ -0,0 +1,126 @@
1
+ declare module '@ember/routing/transition' {
2
+ import RouteInfo, { RouteInfoWithAttributes } from '@ember/routing/route-info';
3
+
4
+ /**
5
+ * A Transition is a thennable (a promise-like object) that represents an
6
+ * attempt to transition to another route. It can be aborted, either explicitly
7
+ * via `abort` or by attempting another transition while a previous one is still
8
+ * underway. An aborted transition can also be `retry()`d later.
9
+ *
10
+ * @note This is a non-user-constructible type. The only legal way to get a
11
+ * transition is using one of the public API methods on routes, controllers,
12
+ * the router service, etc.
13
+ */
14
+ export default interface Transition<T = unknown> extends Partial<Promise<T>> {
15
+ /**
16
+ * Custom state can be stored on a Transition's `data` object.
17
+ * This can be useful for decorating a Transition within an earlier hook and shared with a later hook.
18
+ * Properties set on `data` will be copied to new transitions generated by calling `retry` on this transition.
19
+ */
20
+ data: Record<string, unknown>;
21
+ /**
22
+ * This property is a `RouteInfo` object that represents where transition originated from.
23
+ * It's important to note that a `RouteInfo` is a linked list and this property is simply the head node of the list.
24
+ * In the case of an initial render, `from` will be set to `null`.
25
+ */
26
+ readonly from: RouteInfoWithAttributes | null;
27
+ /**
28
+ * The Transition's internal promise.
29
+ * Calling `.then` on this property is that same as calling `.then` on the Transition object itself,
30
+ * but this property is exposed for when you want to pass around a Transition's promise,
31
+ * but not the Transition object itself, since Transition object can be externally `abort`ed,
32
+ * while the promise cannot.
33
+ */
34
+ readonly promise: Promise<T>;
35
+ /**
36
+ * This property is a `RouteInfo` object that represents where the router is transitioning to.
37
+ * It's important to note that a `RouteInfo` is a linked list and this property is simply the leafmost route.
38
+ */
39
+ readonly to: RouteInfo | RouteInfoWithAttributes;
40
+ /**
41
+ * Aborts the Transition. Note you can also implicitly abort a transition
42
+ * by initiating another transition while a previous one is underway.
43
+ */
44
+ abort(): Transition<T>;
45
+ /**
46
+ * Forwards to the internal `promise` property which you can use in situations where you want to pass around a thennable,
47
+ * but not the Transition itself.
48
+ *
49
+ * @param onRejection
50
+ * @param label optional string for labeling the promise. Useful for tooling.
51
+ */
52
+ catch<TResult = never>(
53
+ onRejected?: (reason: unknown) => TResult | PromiseLike<TResult>,
54
+ label?: string
55
+ ): Promise<TResult | T>;
56
+ /**
57
+ * Forwards to the internal `promise` property which you can use in situations where you want to pass around a thennable,
58
+ * but not the Transition itself.
59
+ *
60
+ * @param onFinally
61
+ * @param label optional string for labeling the promise. Useful for tooling.
62
+ */
63
+ finally(onFinally?: () => void, label?: string): Promise<T>;
64
+ /**
65
+ * Transitions are aborted and their promises rejected when redirects occur;
66
+ * this method returns a promise that will follow any redirects that occur and
67
+ * fulfill with the value fulfilled by any redirecting transitions that occur.
68
+ *
69
+ * @return a promise that fulfills with the same value that the final redirecting transition fulfills with
70
+ */
71
+ followRedirects(): Promise<T>;
72
+ /**
73
+ * Sets the URL-changing method to be employed at the end of a successful transition.
74
+ * By default, a new Transition will just use `updateURL`,
75
+ * but passing 'replace' to this method will cause the URL to update using 'replaceWith' instead.
76
+ * Omitting a parameter will disable the URL change,
77
+ * allowing for transitions that don't update the URL at completion
78
+ * (this is also used for handleURL, since the URL has already changed before the transition took place).
79
+ *
80
+ * @param method the type of URL-changing method to use at the end of a transition. Accepted values are 'replace',
81
+ * falsy values, or any other non-falsy value (which is interpreted as an updateURL transition).
82
+ * @return This transition
83
+ */
84
+ method(method?: string): Transition<T>;
85
+ /**
86
+ * Retries a previously-aborted transition (making sure to abort the
87
+ * transition if it's still active). Returns a new transition that
88
+ * represents the new attempt to transition.
89
+ */
90
+ retry(): Transition<T>;
91
+ /**
92
+ * A standard promise hook that resolves if the transition succeeds and rejects if it fails/redirects/aborts.
93
+ *
94
+ * Forwards to the internal `promise` property which you can use in situations where you want to pass around a thennable,
95
+ * but not the Transition itself.
96
+ *
97
+ * @param onFulfilled
98
+ * @param onRejected
99
+ * @param label label optional string for labeling the promise. Useful for tooling.
100
+ */
101
+ then<TResult1 = T, TResult2 = never>(
102
+ onfulfilled?: (value: T) => TResult1 | PromiseLike<TResult1>,
103
+ onrejected?: (reason: unknown) => TResult2 | PromiseLike<TResult2>,
104
+ label?: string
105
+ ): Promise<TResult1 | TResult2>;
106
+ /**
107
+ * Fires an event on the current list of resolved/resolving handlers within this transition.
108
+ * Useful for firing events on route hierarchies that haven't fully been entered yet.
109
+ *
110
+ * @param ignoreFailure a boolean specifying whether unhandled events throw an error
111
+ * @param name the name of the event to fire
112
+ */
113
+ send(ignoreFailure: boolean, name: string): void;
114
+ /**
115
+ * Fires an event on the current list of resolved/resolving handlers within this transition.
116
+ * Useful for firing events on route hierarchies that haven't fully been entered yet.
117
+ * Note: This method is also aliased as `send`
118
+ *
119
+ * @alias send
120
+ *
121
+ * @param ignoreFailure a boolean specifying whether unhandled events throw an error
122
+ * @param name the name of the event to fire
123
+ */
124
+ trigger(ignoreFailure: boolean, name: string): void;
125
+ }
126
+ }
@@ -0,0 +1,3 @@
1
+ {
2
+ "extends": "../../tsconfig.json"
3
+ }
@@ -0,0 +1,15 @@
1
+ declare module '@ember/routing/types' {
2
+ export interface RenderOptions {
3
+ into?: string | undefined;
4
+ controller?: string | undefined;
5
+ model?: unknown;
6
+ outlet?: string | undefined;
7
+ view?: string | undefined;
8
+ }
9
+
10
+ export interface RouteQueryParam {
11
+ refreshModel?: boolean | undefined;
12
+ replace?: boolean | undefined;
13
+ as?: string | undefined;
14
+ }
15
+ }
@@ -0,0 +1,43 @@
1
+ declare module '@ember/runloop/-private/backburner' {
2
+ import { EmberMethod, EmberMethodParams } from 'ember/-private/type-utils';
3
+
4
+ export interface QueueItem {
5
+ method: string;
6
+ target: object;
7
+ args: object[];
8
+ stack: string | undefined;
9
+ }
10
+
11
+ export interface DeferredActionQueues {
12
+ [index: string]: unknown;
13
+ queues: object;
14
+ schedule<T, M extends EmberMethod<T>>(
15
+ ...args: [
16
+ queueName: string,
17
+ target: T,
18
+ method: M,
19
+ ...methodArgs: EmberMethodParams<T, M>,
20
+ onceFlag: boolean,
21
+ stack: unknown
22
+ ]
23
+ ): any;
24
+ flush(fromAutorun: boolean): any;
25
+ }
26
+
27
+ export interface DebugInfo {
28
+ autorun: Error | undefined | null;
29
+ counters: object;
30
+ timers: QueueItem[];
31
+ instanceStack: DeferredActionQueues[];
32
+ }
33
+
34
+ export interface Backburner {
35
+ join(...args: any[]): void;
36
+ on(...args: any[]): void;
37
+ scheduleOnce(...args: any[]): void;
38
+ schedule(queueName: string, target: object | null, method: () => void | string): void;
39
+ ensureInstance(): void;
40
+ DEBUG: boolean;
41
+ getDebugInfo(): DebugInfo;
42
+ }
43
+ }
@@ -0,0 +1,9 @@
1
+ declare module '@ember/runloop/-private/types' {
2
+ export type EmberRunQueues =
3
+ | 'sync'
4
+ | 'actions'
5
+ | 'routerTransitions'
6
+ | 'render'
7
+ | 'afterRender'
8
+ | 'destroy';
9
+ }