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.
- package/CHANGELOG.md +11 -2
- package/blueprints/helper/files/__root__/{__collection__ → helpers}/__name__.ts +0 -0
- package/blueprints/helper/index.js +0 -15
- package/blueprints/helper-test/index.js +0 -3
- package/blueprints/helper-test/mocha-0.12-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints/helper-test/mocha-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints/helper-test/mocha-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.ts +0 -0
- package/blueprints/helper-test/qunit-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints/helper-test/qunit-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.ts +0 -0
- package/blueprints-js/helper/files/__root__/{__collection__ → helpers}/__name__.js +0 -0
- package/blueprints-js/helper-test/mocha-0.12-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints-js/helper-test/mocha-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints-js/helper-test/mocha-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints-js/helper-test/qunit-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/blueprints-js/helper-test/qunit-rfc-232-files/__root__/__testType__/{__collection__ → helpers}/__name__-test.js +0 -0
- package/build-metadata.json +3 -3
- package/dist/dependencies/router_js.js +1 -1
- package/dist/ember-template-compiler.js +675 -18
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +11 -11
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +19576 -20510
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/glimmer/index.js +4 -2
- package/dist/packages/@ember/-internals/metal/index.js +214 -1094
- package/dist/packages/@ember/-internals/routing/index.js +1 -17
- package/dist/packages/@ember/-internals/runtime/index.js +3 -16
- package/dist/packages/@ember/-internals/runtime/lib/mixins/-proxy.js +2 -1
- package/dist/packages/@ember/-internals/runtime/lib/mixins/action_handler.js +4 -3
- package/dist/packages/@ember/-internals/runtime/lib/mixins/comparable.js +1 -1
- package/dist/packages/@ember/-internals/runtime/lib/mixins/container_proxy.js +1 -1
- package/dist/packages/@ember/-internals/runtime/lib/mixins/registry_proxy.js +1 -8
- package/dist/packages/@ember/-internals/runtime/lib/mixins/target_action_support.js +2 -1
- package/dist/packages/@ember/-internals/utils/index.js +3 -3
- package/dist/packages/@ember/-internals/views/lib/component_lookup.js +1 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/action_support.js +2 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/child_views_support.js +2 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/class_names_support.js +2 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/view_state_support.js +1 -1
- package/dist/packages/@ember/-internals/views/lib/mixins/view_support.js +2 -1
- package/dist/packages/@ember/-internals/views/lib/system/event_dispatcher.js +1 -1
- package/dist/packages/@ember/-internals/views/lib/views/core_view.js +3 -1
- package/dist/packages/@ember/application/index.js +876 -2
- package/dist/packages/@ember/application/instance.js +2 -2
- package/dist/packages/@ember/application/namespace.js +70 -1
- package/dist/packages/@ember/array/index.js +1503 -2
- package/dist/packages/@ember/array/mutable.js +1 -1
- package/dist/packages/@ember/array/proxy.js +307 -1
- package/dist/packages/@ember/canary-features/index.js +2 -2
- package/dist/packages/@ember/controller/index.js +260 -3
- package/dist/packages/@ember/debug/container-debug-adapter.js +99 -1
- package/dist/packages/@ember/debug/data-adapter.js +574 -1
- package/dist/packages/@ember/engine/index.js +5 -5
- package/dist/packages/@ember/engine/instance.js +4 -4
- package/dist/packages/@ember/enumerable/index.js +3 -1
- package/dist/packages/@ember/enumerable/mutable.js +4 -0
- package/dist/packages/@ember/{-internals/runtime/lib/system/object.js → object/-internals.js} +4 -17
- package/dist/packages/@ember/object/core.js +731 -1
- package/dist/packages/@ember/object/evented.js +93 -2
- package/dist/packages/@ember/object/index.js +76 -4
- package/dist/packages/@ember/object/internals.js +3 -2
- package/dist/packages/@ember/object/lib/computed/computed_macros.js +3 -1
- package/dist/packages/@ember/object/lib/computed/reduce_computed_macros.js +4 -3
- package/dist/packages/@ember/object/mixin.js +659 -1
- package/dist/packages/@ember/object/observable.js +341 -1
- package/dist/packages/@ember/object/promise-proxy-mixin.js +150 -1
- package/dist/packages/@ember/object/proxy.js +10 -1
- package/dist/packages/@ember/routing/-internals.js +7 -0
- package/dist/packages/@ember/routing/auto-location.js +249 -1
- package/dist/packages/@ember/routing/hash-location.js +169 -1
- package/dist/packages/@ember/routing/history-location.js +289 -1
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/cache.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/controller_for.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/dsl.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/engines.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/generate_controller.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/location/util.js → routing/lib/location-utils.js} +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/query_params.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/route-info.js +0 -0
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/router_state.js +1 -1
- package/dist/packages/@ember/{-internals/routing/lib/services/routing.js → routing/lib/routing-service.js} +2 -2
- package/dist/packages/@ember/{-internals/routing/lib/system → routing/lib}/transition.js +0 -0
- package/dist/packages/@ember/{-internals/routing → routing}/lib/utils.js +0 -0
- package/dist/packages/@ember/routing/location.js +104 -1
- package/dist/packages/@ember/routing/none-location.js +123 -1
- package/dist/packages/@ember/routing/route.js +1700 -1
- package/dist/packages/@ember/routing/router-service.js +510 -1
- package/dist/packages/@ember/routing/router.js +1666 -1
- package/dist/packages/@ember/service/index.js +1 -1
- package/dist/packages/@ember/utils/index.js +7 -2
- package/dist/packages/@ember/{-internals/runtime → utils}/lib/compare.js +2 -2
- package/dist/packages/@ember/{-internals/runtime → utils}/lib/is-equal.js +0 -0
- package/dist/packages/@ember/utils/lib/is_blank.js +35 -0
- package/dist/packages/@ember/utils/lib/is_empty.js +68 -0
- package/dist/packages/@ember/utils/lib/is_none.js +27 -0
- package/dist/packages/@ember/utils/lib/is_present.js +38 -0
- package/dist/packages/@ember/{-internals/runtime → utils}/lib/type-of.js +2 -2
- package/dist/packages/ember/index.js +47 -28
- package/dist/packages/ember/version.js +1 -1
- package/dist/packages/ember-testing/lib/adapters/adapter.js +1 -1
- package/dist/packages/ember-testing/lib/helpers/current_path.js +2 -2
- package/dist/packages/ember-testing/lib/helpers/current_route_name.js +2 -2
- package/dist/packages/ember-testing/lib/helpers/current_url.js +1 -1
- package/docs/data.json +9428 -9189
- package/package.json +23 -8
- package/types/preview/@ember/-internals/resolver.d.ts +35 -0
- package/types/preview/@ember/application/-private/event-dispatcher.d.ts +18 -0
- package/types/preview/@ember/application/-private/registry.d.ts +15 -0
- package/types/preview/@ember/application/deprecations.d.ts +24 -0
- package/types/preview/@ember/application/index.d.ts +153 -0
- package/types/preview/@ember/application/instance.d.ts +9 -0
- package/types/preview/@ember/application/tsconfig.json +3 -0
- package/types/preview/@ember/application/types.d.ts +29 -0
- package/types/preview/@ember/array/-private/enumerable.d.ts +13 -0
- package/types/preview/@ember/array/-private/mutable-enumerable.d.ts +13 -0
- package/types/preview/@ember/array/-private/native-array.d.ts +23 -0
- package/types/preview/@ember/array/index.d.ts +243 -0
- package/types/preview/@ember/array/mutable.d.ts +94 -0
- package/types/preview/@ember/array/proxy.d.ts +29 -0
- package/types/preview/@ember/array/tsconfig.json +3 -0
- package/types/preview/@ember/component/-private/class-names-support.d.ts +27 -0
- package/types/preview/@ember/component/-private/core-view.d.ts +14 -0
- package/types/preview/@ember/component/-private/glimmer-interfaces.d.ts +45 -0
- package/types/preview/@ember/component/-private/signature-utils.d.ts +107 -0
- package/types/preview/@ember/component/-private/view-mixin.d.ts +59 -0
- package/types/preview/@ember/component/helper.d.ts +122 -0
- package/types/preview/@ember/component/index.d.ts +132 -0
- package/types/preview/@ember/component/template-only.d.ts +47 -0
- package/types/preview/@ember/component/tsconfig.json +3 -0
- package/types/preview/@ember/controller/index.d.ts +48 -0
- package/types/preview/@ember/controller/tsconfig.json +3 -0
- package/types/preview/@ember/debug/container-debug-adapter.d.ts +13 -0
- package/types/preview/@ember/debug/data-adapter.d.ts +64 -0
- package/types/preview/@ember/debug/index.d.ts +98 -0
- package/types/preview/@ember/debug/tsconfig.json +3 -0
- package/types/preview/@ember/destroyable/index.d.ts +23 -0
- package/types/preview/@ember/destroyable/tsconfig.json +3 -0
- package/types/preview/@ember/engine/-private/container-proxy-mixin.d.ts +17 -0
- package/types/preview/@ember/engine/-private/registry-proxy-mixin.d.ts +54 -0
- package/types/preview/@ember/engine/-private/types/initializer.d.ts +8 -0
- package/types/preview/@ember/engine/index.d.ts +45 -0
- package/types/preview/@ember/engine/instance.d.ts +24 -0
- package/types/preview/@ember/engine/tsconfig.json +3 -0
- package/types/preview/@ember/error/index.d.ts +6 -0
- package/types/preview/@ember/error/tsconfig.json +3 -0
- package/types/preview/@ember/helper/index.d.ts +49 -0
- package/types/preview/@ember/helper/tsconfig.json +3 -0
- package/types/preview/@ember/modifier/index.d.ts +33 -0
- package/types/preview/@ember/modifier/tsconfig.json +3 -0
- package/types/preview/@ember/object/-private/action-handler.d.ts +31 -0
- package/types/preview/@ember/object/-private/types.d.ts +63 -0
- package/types/preview/@ember/object/compat.d.ts +9 -0
- package/types/preview/@ember/object/computed.d.ts +263 -0
- package/types/preview/@ember/object/core.d.ts +89 -0
- package/types/preview/@ember/object/evented.d.ts +45 -0
- package/types/preview/@ember/object/events.d.ts +47 -0
- package/types/preview/@ember/object/index.d.ts +126 -0
- package/types/preview/@ember/object/internals.d.ts +17 -0
- package/types/preview/@ember/object/mixin.d.ts +19 -0
- package/types/preview/@ember/object/observable.d.ts +89 -0
- package/types/preview/@ember/object/observers.d.ts +34 -0
- package/types/preview/@ember/object/promise-proxy-mixin.d.ts +37 -0
- package/types/preview/@ember/object/proxy.d.ts +27 -0
- package/types/preview/@ember/object/tsconfig.json +3 -0
- package/types/preview/@ember/owner/index.d.ts +102 -0
- package/types/preview/@ember/owner/tsconfig.json +3 -0
- package/types/preview/@ember/polyfills/index.d.ts +23 -0
- package/types/preview/@ember/polyfills/tsconfig.json +3 -0
- package/types/preview/@ember/polyfills/types.d.ts +6 -0
- package/types/preview/@ember/routing/-private/router-dsl.d.ts +20 -0
- package/types/preview/@ember/routing/auto-location.d.ts +8 -0
- package/types/preview/@ember/routing/hash-location.d.ts +10 -0
- package/types/preview/@ember/routing/history-location.d.ts +9 -0
- package/types/preview/@ember/routing/index.d.ts +20 -0
- package/types/preview/@ember/routing/none-location.d.ts +11 -0
- package/types/preview/@ember/routing/route-info.d.ts +74 -0
- package/types/preview/@ember/routing/route.d.ts +533 -0
- package/types/preview/@ember/routing/router-service.d.ts +351 -0
- package/types/preview/@ember/routing/router.d.ts +49 -0
- package/types/preview/@ember/routing/transition.d.ts +126 -0
- package/types/preview/@ember/routing/tsconfig.json +3 -0
- package/types/preview/@ember/routing/types.d.ts +15 -0
- package/types/preview/@ember/runloop/-private/backburner.d.ts +43 -0
- package/types/preview/@ember/runloop/-private/types.d.ts +9 -0
- package/types/preview/@ember/runloop/index.d.ts +175 -0
- package/types/preview/@ember/runloop/tsconfig.json +3 -0
- package/types/preview/@ember/runloop/types.d.ts +5 -0
- package/types/preview/@ember/service/index.d.ts +25 -0
- package/types/preview/@ember/service/tsconfig.json +3 -0
- package/types/preview/@ember/string/index.d.ts +9 -0
- package/types/preview/@ember/string/tsconfig.json +3 -0
- package/types/preview/@ember/template/-private/handlebars.d.ts +7 -0
- package/types/preview/@ember/template/index.d.ts +5 -0
- package/types/preview/@ember/template/tsconfig.json +3 -0
- package/types/preview/@ember/test/adapter.d.ts +22 -0
- package/types/preview/@ember/test/index.d.ts +49 -0
- package/types/preview/@ember/test/tsconfig.json +3 -0
- package/types/preview/@ember/utils/-private/types.d.ts +39 -0
- package/types/preview/@ember/utils/index.d.ts +42 -0
- package/types/preview/@ember/utils/tsconfig.json +3 -0
- package/types/preview/ember/-private/type-utils.d.ts +54 -0
- package/types/preview/ember/index.d.ts +381 -0
- package/types/preview/ember/tsconfig.json +3 -0
- package/types/preview/index.d.ts +120 -0
- package/types/preview/tsconfig.json +6 -0
- package/blueprints/helper/mu-files/__root__/__collection__/__name__.js +0 -7
- package/blueprints-js/helper/mu-files/__root__/__collection__/__name__.js +0 -7
- package/dist/packages/@ember/-internals/extension-support/index.js +0 -2
- package/dist/packages/@ember/-internals/extension-support/lib/container_debug_adapter.js +0 -96
- package/dist/packages/@ember/-internals/extension-support/lib/data_adapter.js +0 -576
- package/dist/packages/@ember/-internals/routing/lib/ext/controller.js +0 -224
- package/dist/packages/@ember/-internals/routing/lib/location/api.js +0 -104
- package/dist/packages/@ember/-internals/routing/lib/location/auto_location.js +0 -250
- package/dist/packages/@ember/-internals/routing/lib/location/hash_location.js +0 -170
- package/dist/packages/@ember/-internals/routing/lib/location/history_location.js +0 -290
- package/dist/packages/@ember/-internals/routing/lib/location/none_location.js +0 -124
- package/dist/packages/@ember/-internals/routing/lib/services/router.js +0 -506
- package/dist/packages/@ember/-internals/routing/lib/system/route.js +0 -1696
- package/dist/packages/@ember/-internals/routing/lib/system/router.js +0 -1662
- package/dist/packages/@ember/-internals/runtime/lib/mixins/array.js +0 -1501
- package/dist/packages/@ember/-internals/runtime/lib/mixins/enumerable.js +0 -3
- package/dist/packages/@ember/-internals/runtime/lib/mixins/evented.js +0 -91
- package/dist/packages/@ember/-internals/runtime/lib/mixins/mutable_enumerable.js +0 -4
- package/dist/packages/@ember/-internals/runtime/lib/mixins/observable.js +0 -339
- package/dist/packages/@ember/-internals/runtime/lib/mixins/promise_proxy.js +0 -149
- package/dist/packages/@ember/-internals/runtime/lib/system/array_proxy.js +0 -305
- package/dist/packages/@ember/-internals/runtime/lib/system/core_object.js +0 -730
- package/dist/packages/@ember/-internals/runtime/lib/system/namespace.js +0 -69
- package/dist/packages/@ember/-internals/runtime/lib/system/object_proxy.js +0 -7
- package/dist/packages/@ember/application/lib/application.js +0 -870
- package/dist/packages/@ember/controller/lib/controller_mixin.js +0 -42
- package/dist/packages/@ember/runloop/type-tests.ts/begin-end.test.js +0 -5
- package/dist/packages/@ember/runloop/type-tests.ts/bind.test.js +0 -59
- package/dist/packages/@ember/runloop/type-tests.ts/cancel.test.js +0 -5
- package/dist/packages/@ember/runloop/type-tests.ts/debounce.test.js +0 -77
- package/dist/packages/@ember/runloop/type-tests.ts/join.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/later.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/next.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/once.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/run.test.js +0 -38
- package/dist/packages/@ember/runloop/type-tests.ts/schedule-once.test.js +0 -39
- package/dist/packages/@ember/runloop/type-tests.ts/schedule.test.js +0 -39
- package/dist/packages/@ember/runloop/type-tests.ts/throttle.test.js +0 -77
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
declare module '@ember/runloop' {
|
|
2
|
+
import {
|
|
3
|
+
EmberMethod,
|
|
4
|
+
EmberMethodParams,
|
|
5
|
+
AnyFn,
|
|
6
|
+
EmberMethodReturn,
|
|
7
|
+
} from 'ember/-private/type-utils';
|
|
8
|
+
import { EmberRunQueues } from '@ember/runloop/-private/types';
|
|
9
|
+
import { EmberRunTimer } from '@ember/runloop/types';
|
|
10
|
+
import '@ember/runloop/-private/backburner';
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Runs the passed target and method inside of a RunLoop, ensuring any
|
|
14
|
+
* deferred actions including bindings and views updates are flushed at the
|
|
15
|
+
* end.
|
|
16
|
+
*/
|
|
17
|
+
export function run<M extends AnyFn>(method: M): ReturnType<M>;
|
|
18
|
+
export function run<T, M extends EmberMethod<T>>(
|
|
19
|
+
target: T,
|
|
20
|
+
method: M,
|
|
21
|
+
...args: EmberMethodParams<T, M>
|
|
22
|
+
): EmberMethodReturn<T, M>;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* If no run-loop is present, it creates a new one. If a run loop is
|
|
26
|
+
* present it will queue itself to run on the existing run-loops action
|
|
27
|
+
* queue.
|
|
28
|
+
*/
|
|
29
|
+
export function join<M extends AnyFn>(
|
|
30
|
+
method: M,
|
|
31
|
+
...args: Parameters<M>
|
|
32
|
+
): ReturnType<M> | undefined;
|
|
33
|
+
export function join<T, M extends EmberMethod<T>>(
|
|
34
|
+
target: T,
|
|
35
|
+
method: M,
|
|
36
|
+
...args: EmberMethodParams<T, M>
|
|
37
|
+
): EmberMethodReturn<T, M> | undefined;
|
|
38
|
+
|
|
39
|
+
/**
|
|
40
|
+
* Allows you to specify which context to call the specified function in while
|
|
41
|
+
* adding the execution of that function to the Ember run loop. This ability
|
|
42
|
+
* makes this method a great way to asynchronously integrate third-party libraries
|
|
43
|
+
* into your Ember application.
|
|
44
|
+
*/
|
|
45
|
+
// NOTE: it would be nice to make this curry arguments, which is how it actually
|
|
46
|
+
// works, but that is a *lot* of type shenanigans, and also diverges from the
|
|
47
|
+
// `Function.prototype.bind` implementation. We should track the latter, despite
|
|
48
|
+
// the loss of safety, because it makes interop cleaner.
|
|
49
|
+
export function bind<T, M extends EmberMethod<T>>(
|
|
50
|
+
target: T,
|
|
51
|
+
method: M,
|
|
52
|
+
...args: any[]
|
|
53
|
+
): (...args: any[]) => EmberMethodReturn<T, M>;
|
|
54
|
+
|
|
55
|
+
/**
|
|
56
|
+
* Begins a new RunLoop. Any deferred actions invoked after the begin will
|
|
57
|
+
* be buffered until you invoke a matching call to `run.end()`. This is
|
|
58
|
+
* a lower-level way to use a RunLoop instead of using `run()`.
|
|
59
|
+
*/
|
|
60
|
+
export function begin(): void;
|
|
61
|
+
|
|
62
|
+
/**
|
|
63
|
+
* Ends a RunLoop. This must be called sometime after you call
|
|
64
|
+
* `run.begin()` to flush any deferred actions. This is a lower-level way
|
|
65
|
+
* to use a RunLoop instead of using `run()`.
|
|
66
|
+
*/
|
|
67
|
+
export function end(): void;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Adds the passed target/method and any optional arguments to the named
|
|
71
|
+
* queue to be executed at the end of the RunLoop. If you have not already
|
|
72
|
+
* started a RunLoop when calling this method one will be started for you
|
|
73
|
+
* automatically.
|
|
74
|
+
*/
|
|
75
|
+
export function schedule<T, M extends EmberMethod<T>>(
|
|
76
|
+
queue: EmberRunQueues,
|
|
77
|
+
target: T,
|
|
78
|
+
method: M,
|
|
79
|
+
...args: EmberMethodParams<T, M>
|
|
80
|
+
): EmberRunTimer;
|
|
81
|
+
export function schedule<M extends AnyFn>(
|
|
82
|
+
queue: EmberRunQueues,
|
|
83
|
+
method: M,
|
|
84
|
+
...args: Parameters<M>
|
|
85
|
+
): EmberRunTimer;
|
|
86
|
+
|
|
87
|
+
/**
|
|
88
|
+
* Invokes the passed target/method and optional arguments after a specified
|
|
89
|
+
* period of time. The last parameter of this method must always be a number
|
|
90
|
+
* of milliseconds.
|
|
91
|
+
*/
|
|
92
|
+
export function later(method: AnyFn, wait: number): EmberRunTimer;
|
|
93
|
+
export function later<T, M extends EmberMethod<T>>(
|
|
94
|
+
...args: [target: T, method: M, ...args: EmberMethodParams<T, M>, wait: number]
|
|
95
|
+
): EmberRunTimer;
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* Schedule a function to run one time during the current RunLoop. This is equivalent
|
|
99
|
+
* to calling `scheduleOnce` with the "actions" queue.
|
|
100
|
+
*/
|
|
101
|
+
export function once<T, M extends EmberMethod<T>>(
|
|
102
|
+
target: T,
|
|
103
|
+
method: M,
|
|
104
|
+
...args: EmberMethodParams<T, M>
|
|
105
|
+
): EmberRunTimer;
|
|
106
|
+
|
|
107
|
+
export function once<T, M extends keyof T>(
|
|
108
|
+
target: T,
|
|
109
|
+
method: M,
|
|
110
|
+
...args: EmberMethodParams<T, M>
|
|
111
|
+
): EmberRunTimer;
|
|
112
|
+
|
|
113
|
+
/**
|
|
114
|
+
* Schedules a function to run one time in a given queue of the current RunLoop.
|
|
115
|
+
* Calling this method with the same queue/target/method combination will have
|
|
116
|
+
* no effect (past the initial call).
|
|
117
|
+
*/
|
|
118
|
+
export function scheduleOnce<T, M extends EmberMethod<T>>(
|
|
119
|
+
queue: EmberRunQueues,
|
|
120
|
+
target: T,
|
|
121
|
+
method: M,
|
|
122
|
+
...args: EmberMethodParams<T, M>
|
|
123
|
+
): EmberRunTimer;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Schedules an item to run from within a separate run loop, after
|
|
127
|
+
* control has been returned to the system. This is equivalent to calling
|
|
128
|
+
* `run.later` with a wait time of 1ms.
|
|
129
|
+
*/
|
|
130
|
+
export function next<T, M extends EmberMethod<T>>(
|
|
131
|
+
target: T,
|
|
132
|
+
method: M,
|
|
133
|
+
...args: EmberMethodParams<T, M>
|
|
134
|
+
): EmberRunTimer;
|
|
135
|
+
export function next<M extends AnyFn>(method: M, ...args: Parameters<M>): EmberRunTimer;
|
|
136
|
+
|
|
137
|
+
/**
|
|
138
|
+
* Cancels a scheduled item. Must be a value returned by `run.later()`,
|
|
139
|
+
* `run.once()`, `run.scheduleOnce()`, `run.next()`, `run.debounce()`, or
|
|
140
|
+
* `run.throttle()`.
|
|
141
|
+
*/
|
|
142
|
+
export function cancel(timer?: EmberRunTimer): boolean;
|
|
143
|
+
|
|
144
|
+
/**
|
|
145
|
+
* Delay calling the target method until the debounce period has elapsed
|
|
146
|
+
* with no additional debounce calls. If `debounce` is called again before
|
|
147
|
+
* the specified time has elapsed, the timer is reset and the entire period
|
|
148
|
+
* must pass again before the target method is called.
|
|
149
|
+
*/
|
|
150
|
+
export function debounce(method: AnyFn, wait: number, immediate?: boolean): EmberRunTimer;
|
|
151
|
+
export function debounce<Target, M extends EmberMethod<Target>>(
|
|
152
|
+
...args: [
|
|
153
|
+
target: Target,
|
|
154
|
+
method: M,
|
|
155
|
+
...args: EmberMethodParams<Target, M>,
|
|
156
|
+
wait: number,
|
|
157
|
+
immediate?: boolean
|
|
158
|
+
]
|
|
159
|
+
): EmberRunTimer;
|
|
160
|
+
|
|
161
|
+
/**
|
|
162
|
+
* Ensure that the target method is never called more frequently than
|
|
163
|
+
* the specified spacing period. The target method is called immediately.
|
|
164
|
+
*/
|
|
165
|
+
export function throttle(method: AnyFn, spacing: number, immediate?: boolean): EmberRunTimer;
|
|
166
|
+
export function throttle<T, M extends EmberMethod<T>>(
|
|
167
|
+
...args: [
|
|
168
|
+
target: T,
|
|
169
|
+
method: M,
|
|
170
|
+
...methodArgs: EmberMethodParams<T, M>,
|
|
171
|
+
spacing: number,
|
|
172
|
+
immediate?: boolean
|
|
173
|
+
]
|
|
174
|
+
): EmberRunTimer;
|
|
175
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
declare module '@ember/service' {
|
|
2
|
+
import EmberObject from '@ember/object';
|
|
3
|
+
import type { BasicComputedProperty } from '@ember/object/computed';
|
|
4
|
+
|
|
5
|
+
export default class Service extends EmberObject {}
|
|
6
|
+
/**
|
|
7
|
+
* Creates a property that lazily looks up a service in the container. There
|
|
8
|
+
* are no restrictions as to what objects a service can be injected into.
|
|
9
|
+
*/
|
|
10
|
+
export function inject(): Service; // @inject() foo, foo: inject()
|
|
11
|
+
export function inject(target: object, propertyKey: string | symbol): void; // @inject foo
|
|
12
|
+
export function inject<K extends keyof Registry>(name: K): Registry[K] & BasicComputedProperty; // @inject('store') foo @inject() foo
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Creates a property that lazily looks up a service in the container. There
|
|
16
|
+
* are no restrictions as to what objects a service can be injected into.
|
|
17
|
+
*/
|
|
18
|
+
export function service(): Service; // @service() foo, foo: service()
|
|
19
|
+
export function service(target: object, propertyKey: string | symbol): void; // @service foo
|
|
20
|
+
export function service<K extends keyof Registry>(name: K): Registry[K] & BasicComputedProperty; // @service('store') foo @service() foo
|
|
21
|
+
|
|
22
|
+
// A type registry for Ember `Service`s. Meant to be declaration-merged so
|
|
23
|
+
// string lookups resolve to the correct type.
|
|
24
|
+
interface Registry {}
|
|
25
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
declare module '@ember/string' {
|
|
2
|
+
export function camelize(str: string): string;
|
|
3
|
+
export function capitalize(str: string): string;
|
|
4
|
+
export function classify(str: string): string;
|
|
5
|
+
export function dasherize(str: string): string;
|
|
6
|
+
export function decamelize(str: string): string;
|
|
7
|
+
export function underscore(str: string): string;
|
|
8
|
+
export function w(str: string): string[];
|
|
9
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
declare module '@ember/test/adapter' {
|
|
2
|
+
/**
|
|
3
|
+
* The primary purpose of this class is to create hooks that can be implemented
|
|
4
|
+
* by an adapter for various test frameworks.
|
|
5
|
+
*/
|
|
6
|
+
export default class Adapter {
|
|
7
|
+
/**
|
|
8
|
+
* This callback will be called whenever an async operation is about to start.
|
|
9
|
+
*/
|
|
10
|
+
asyncStart(): unknown;
|
|
11
|
+
/**
|
|
12
|
+
* This callback will be called whenever an async operation has completed.
|
|
13
|
+
*/
|
|
14
|
+
asyncEnd(): unknown;
|
|
15
|
+
/**
|
|
16
|
+
* Override this method with your testing framework's false assertion.
|
|
17
|
+
* This function is called whenever an exception occurs causing the testing
|
|
18
|
+
* promise to fail.
|
|
19
|
+
*/
|
|
20
|
+
exception(error: string): unknown;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
declare module '@ember/test' {
|
|
2
|
+
import Application from '@ember/application';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* `registerHelper` is used to register a test helper that will be injected
|
|
6
|
+
* when `App.injectTestHelpers` is called.
|
|
7
|
+
*/
|
|
8
|
+
export function registerHelper(
|
|
9
|
+
name: string,
|
|
10
|
+
helperMethod: (app: Application, ...args: any[]) => unknown,
|
|
11
|
+
options?: object
|
|
12
|
+
): unknown;
|
|
13
|
+
/**
|
|
14
|
+
* `registerAsyncHelper` is used to register an async test helper that will be injected
|
|
15
|
+
* when `App.injectTestHelpers` is called.
|
|
16
|
+
*/
|
|
17
|
+
export function registerAsyncHelper(
|
|
18
|
+
name: string,
|
|
19
|
+
helperMethod: (app: Application, ...args: any[]) => unknown
|
|
20
|
+
): void;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* Remove a previously added helper method.
|
|
24
|
+
*/
|
|
25
|
+
export function unregisterHelper(name: string): void;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* This allows ember-testing to play nicely with other asynchronous
|
|
29
|
+
* events, such as an application that is waiting for a CSS3
|
|
30
|
+
* transition or an IndexDB transaction. The waiter runs periodically
|
|
31
|
+
* after each async helper (i.e. `click`, `andThen`, `visit`, etc) has executed,
|
|
32
|
+
* until the returning result is truthy. After the waiters finish, the next async helper
|
|
33
|
+
* is executed and the process repeats.
|
|
34
|
+
*/
|
|
35
|
+
export function registerWaiter(callback: () => boolean): unknown;
|
|
36
|
+
export function registerWaiter<Context>(
|
|
37
|
+
context: Context,
|
|
38
|
+
callback: (this: Context) => boolean
|
|
39
|
+
): unknown;
|
|
40
|
+
/**
|
|
41
|
+
* `unregisterWaiter` is used to unregister a callback that was
|
|
42
|
+
* registered with `registerWaiter`.
|
|
43
|
+
*/
|
|
44
|
+
export function unregisterWaiter(callback: () => boolean): unknown;
|
|
45
|
+
export function unregisterWaiter<Context>(
|
|
46
|
+
context: Context,
|
|
47
|
+
callback: (this: Context) => boolean
|
|
48
|
+
): unknown;
|
|
49
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
declare module '@ember/utils/-private/types' {
|
|
2
|
+
import type { AnyFn } from 'ember/-private/type-utils';
|
|
3
|
+
import NativeArray from '@ember/array/-private/native-array';
|
|
4
|
+
|
|
5
|
+
// prettier-ignore
|
|
6
|
+
type _KeysOfType<Key extends keyof TypeLookup, Type> =
|
|
7
|
+
// Checks non-`const` versions, and correctly resolves those types
|
|
8
|
+
// constructed via e.g. the `Number` constructor.
|
|
9
|
+
TypeLookup[Key] extends Type ? Key :
|
|
10
|
+
// Checks `const` versions, e.g. handling strict function types when also
|
|
11
|
+
// using a const-valued function like `const x = () => 4 as const`.
|
|
12
|
+
Type extends TypeLookup[Key] ? Key : never;
|
|
13
|
+
|
|
14
|
+
// prettier-ignore
|
|
15
|
+
type KeysOfType<Type> =
|
|
16
|
+
{ [Key in keyof TypeLookup]: _KeysOfType<Key, Type> }[keyof TypeLookup];
|
|
17
|
+
|
|
18
|
+
// Since `TypeLookup` resolves all *other* types, including `null` and
|
|
19
|
+
// `undefined`, we can assume that if the type does *not* resolve from
|
|
20
|
+
// `KeysOfType`, it is safe to treat it as 'object'.
|
|
21
|
+
export type TypeOf<T> = KeysOfType<T> extends never ? 'object' : KeysOfType<T>;
|
|
22
|
+
|
|
23
|
+
export interface TypeLookup {
|
|
24
|
+
string: string;
|
|
25
|
+
number: number;
|
|
26
|
+
boolean: boolean;
|
|
27
|
+
regexp: RegExp;
|
|
28
|
+
function: AnyFn;
|
|
29
|
+
array: Array<unknown> | NativeArray<unknown>;
|
|
30
|
+
error: Error;
|
|
31
|
+
filelist: FileList;
|
|
32
|
+
date: Date;
|
|
33
|
+
null: null;
|
|
34
|
+
undefined: undefined;
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
// Don't export anything but the required type util
|
|
38
|
+
export {};
|
|
39
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
declare module '@ember/utils' {
|
|
2
|
+
import { TypeOf } from '@ember/utils/-private/types';
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Compares two javascript values and returns:
|
|
6
|
+
*/
|
|
7
|
+
export function compare(v: unknown, w: unknown): number;
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* A value is blank if it is empty or a whitespace string.
|
|
11
|
+
*/
|
|
12
|
+
export function isBlank(obj?: unknown): boolean;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Verifies that a value is `null` or an empty string, empty array,
|
|
16
|
+
* or empty function.
|
|
17
|
+
*/
|
|
18
|
+
export function isEmpty(obj?: unknown): boolean;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* Compares two objects, returning true if they are equal.
|
|
22
|
+
*/
|
|
23
|
+
export function isEqual(a: unknown, b: unknown): boolean;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Returns true if the passed value is null or undefined. This avoids errors
|
|
27
|
+
* from JSLint complaining about use of ==, which can be technically
|
|
28
|
+
* confusing.
|
|
29
|
+
*/
|
|
30
|
+
export function isNone(obj?: unknown): obj is null | undefined;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* A value is present if it not `isBlank`.
|
|
34
|
+
*/
|
|
35
|
+
export function isPresent(obj?: unknown): boolean;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* Returns a consistent type for the passed object.
|
|
39
|
+
*/
|
|
40
|
+
export function typeOf<T>(value: T): TypeOf<T>;
|
|
41
|
+
export function typeOf(): 'undefined';
|
|
42
|
+
}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
declare module 'ember/-private/type-utils' {
|
|
2
|
+
// These are utility types used throughout the Ember type definitions. They
|
|
3
|
+
// should *never* be used in end user code.
|
|
4
|
+
|
|
5
|
+
/** A safe-ish type representing any function. */
|
|
6
|
+
export type AnyFn = (...args: any[]) => unknown;
|
|
7
|
+
|
|
8
|
+
export type AnyMethod<Target> = (this: Target, ...args: any[]) => unknown;
|
|
9
|
+
|
|
10
|
+
export type MethodsOf<O> = {
|
|
11
|
+
[K in keyof O]: O[K] extends AnyFn ? O[K] : never;
|
|
12
|
+
};
|
|
13
|
+
|
|
14
|
+
// Not just `keyof MethodsOf<O>` because that doesn't correctly exclude all the
|
|
15
|
+
// `never` fields.
|
|
16
|
+
export type MethodNamesOf<O> = {
|
|
17
|
+
[K in keyof O]: O[K] extends AnyFn ? K : never;
|
|
18
|
+
}[keyof O];
|
|
19
|
+
|
|
20
|
+
export type MethodParams<T, M extends MethodNamesOf<T>> = Parameters<MethodsOf<T>[M]>;
|
|
21
|
+
|
|
22
|
+
export type MethodReturns<T, M extends MethodNamesOf<T>> = ReturnType<MethodsOf<T>[M]>;
|
|
23
|
+
|
|
24
|
+
// prettier-ignore
|
|
25
|
+
/** Get the return value of a method string name or a function. */
|
|
26
|
+
export type EmberMethodParams<T, M extends EmberMethod<T>> =
|
|
27
|
+
M extends AnyMethod<T> ? Parameters<M> :
|
|
28
|
+
M extends keyof T ? T[M] extends AnyMethod<T> ? Parameters<MethodsOf<T>[M]> : never :
|
|
29
|
+
never;
|
|
30
|
+
|
|
31
|
+
// prettier-ignore
|
|
32
|
+
/** Get the return value of a method string name or a function. */
|
|
33
|
+
export type EmberMethodReturn<T, M extends EmberMethod<T>> =
|
|
34
|
+
M extends AnyMethod<T> ? ReturnType<M> :
|
|
35
|
+
M extends keyof T ? T[M] extends AnyMethod<T> ? ReturnType<MethodsOf<T>[M]> : never :
|
|
36
|
+
never;
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* A type utility for Ember's common name-of-object-on-target-or-function
|
|
40
|
+
* pattern for e.g. event handlers.
|
|
41
|
+
*/
|
|
42
|
+
export type EmberMethod<Target> = AnyMethod<Target> | keyof Target;
|
|
43
|
+
|
|
44
|
+
// A way of representing non-user-constructible types. You can conveniently use
|
|
45
|
+
// this by doing `interface Type extends Data<'some-type-name'> { ... }` for
|
|
46
|
+
// simple types, and/or you can type-parameterize it as makes sense for your use
|
|
47
|
+
// case (see e.g. `@ember/component/helper`'s use with functional helpers).
|
|
48
|
+
const Data: unique symbol;
|
|
49
|
+
export class Opaque<Data> {
|
|
50
|
+
private declare [Data]: Data;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
export {};
|
|
54
|
+
}
|