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.
- package/CHANGELOG.md +5 -1
- package/build-metadata.json +3 -3
- package/dist/ember-template-compiler.js +147 -172
- package/dist/ember-template-compiler.map +1 -1
- package/dist/ember-testing.js +129 -6
- package/dist/ember-testing.map +1 -1
- package/dist/ember.debug.js +334 -314
- package/dist/ember.debug.map +1 -1
- package/dist/header/license.js +1 -1
- package/dist/packages/@ember/-internals/glimmer/index.js +60 -59
- package/dist/packages/@ember/-internals/metal/index.js +6 -6
- package/dist/packages/@ember/-internals/{utils/types.js → utility-types/index.js} +0 -0
- package/dist/packages/@ember/-internals/utils/index.js +3 -137
- package/dist/packages/@ember/-internals/views/lib/mixins/action_support.js +1 -2
- package/dist/packages/@ember/-internals/views/lib/views/states/default.js +1 -2
- package/dist/packages/@ember/-internals/views/lib/views/states/destroying.js +2 -3
- package/dist/packages/@ember/-internals/views/lib/views/states/in_dom.js +1 -2
- package/dist/packages/@ember/array/-internals.js +8 -0
- package/dist/packages/@ember/array/index.js +2 -2
- package/dist/packages/@ember/array/lib/make-array.js +10 -0
- package/dist/packages/@ember/canary-features/index.js +0 -4
- package/dist/packages/@ember/debug/data-adapter.js +16 -16
- package/dist/packages/@ember/debug/index.js +2 -3
- package/dist/packages/@ember/debug/lib/inspect.js +117 -0
- package/dist/packages/@ember/engine/instance.js +1 -2
- package/dist/packages/@ember/instrumentation/index.js +2 -8
- package/dist/packages/@ember/object/core.js +2 -1
- package/dist/packages/@ember/object/mixin.js +11 -2
- package/dist/packages/@ember/object/promise-proxy-mixin.js +1 -2
- package/dist/packages/@ember/owner/index.js +2 -2
- package/dist/packages/@ember/routing/lib/utils.js +1 -2
- package/dist/packages/@ember/routing/router.js +36 -37
- package/dist/packages/ember/index.js +3 -3
- package/dist/packages/ember/version.js +1 -1
- package/dist/packages/ember-testing/lib/adapters/qunit.js +1 -1
- package/docs/data.json +252 -253
- package/package.json +19 -19
- package/types/preview/@ember/controller/index.d.ts +1 -1
- package/types/preview/@ember/engine/-private/container-proxy-mixin.d.ts +1 -1
- package/types/preview/@ember/engine/-private/registry-proxy-mixin.d.ts +1 -1
- package/types/preview/@ember/error/index.d.ts +2 -2
- package/types/preview/ember/index.d.ts +1 -1
- package/types/preview/index.d.ts +0 -2
- package/types/publish.mjs +314 -294
- package/types/stable/@ember/-internals/bootstrap/index.d.ts +3 -0
- package/types/stable/@ember/-internals/browser-environment/index.d.ts +9 -0
- package/types/stable/@ember/-internals/browser-environment/lib/has-dom.d.ts +4 -0
- package/types/stable/@ember/-internals/container/index.d.ts +4 -0
- package/types/stable/@ember/-internals/container/lib/container.d.ts +164 -0
- package/types/stable/@ember/-internals/container/lib/registry.d.ts +292 -0
- package/types/stable/@ember/-internals/environment/index.d.ts +5 -0
- package/types/stable/@ember/-internals/environment/lib/context.d.ts +10 -0
- package/types/stable/@ember/-internals/environment/lib/env.d.ts +153 -0
- package/types/stable/@ember/-internals/environment/lib/global.d.ts +4 -0
- package/types/stable/@ember/-internals/error-handling/index.d.ts +9 -0
- package/types/stable/@ember/-internals/glimmer/index.d.ts +456 -0
- package/types/stable/@ember/-internals/glimmer/lib/component-managers/curly.d.ts +47 -0
- package/types/stable/@ember/-internals/glimmer/lib/component-managers/mount.d.ts +41 -0
- package/types/stable/@ember/-internals/glimmer/lib/component-managers/outlet.d.ts +51 -0
- package/types/stable/@ember/-internals/glimmer/lib/component-managers/root.d.ts +23 -0
- package/types/stable/@ember/-internals/glimmer/lib/component.d.ts +840 -0
- package/types/stable/@ember/-internals/glimmer/lib/components/abstract-input.d.ts +37 -0
- package/types/stable/@ember/-internals/glimmer/lib/components/input.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/components/internal.d.ts +48 -0
- package/types/stable/@ember/-internals/glimmer/lib/components/link-to.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/components/textarea.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/dom.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/environment.d.ts +11 -0
- package/types/stable/@ember/-internals/glimmer/lib/glimmer-component-docs.d.ts +387 -0
- package/types/stable/@ember/-internals/glimmer/lib/glimmer-tracking-docs.d.ts +249 -0
- package/types/stable/@ember/-internals/glimmer/lib/helper.d.ts +160 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/-disallow-dynamic-resolution.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/-in-element-null-check.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/-normalize-class.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/-resolve.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/-track-array.d.ts +9 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/action.d.ts +268 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/array.d.ts +40 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/component.d.ts +148 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/concat.d.ts +27 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/each-in.d.ts +160 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/fn.d.ts +72 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/get.d.ts +99 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/hash.d.ts +43 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/helper.d.ts +42 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/if-unless.d.ts +181 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/internal-helper.d.ts +5 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/log.d.ts +18 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/modifier.d.ts +41 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/mut.d.ts +77 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/page-title.d.ts +19 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/readonly.d.ts +119 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/unbound.d.ts +34 -0
- package/types/stable/@ember/-internals/glimmer/lib/helpers/unique-id.d.ts +7 -0
- package/types/stable/@ember/-internals/glimmer/lib/modifiers/action.d.ts +30 -0
- package/types/stable/@ember/-internals/glimmer/lib/modifiers/internal.d.ts +33 -0
- package/types/stable/@ember/-internals/glimmer/lib/modifiers/on.d.ts +94 -0
- package/types/stable/@ember/-internals/glimmer/lib/renderer.d.ts +96 -0
- package/types/stable/@ember/-internals/glimmer/lib/resolver.d.ts +16 -0
- package/types/stable/@ember/-internals/glimmer/lib/setup-registry.d.ts +5 -0
- package/types/stable/@ember/-internals/glimmer/lib/syntax/in-element.d.ts +46 -0
- package/types/stable/@ember/-internals/glimmer/lib/syntax/let.d.ts +54 -0
- package/types/stable/@ember/-internals/glimmer/lib/syntax/mount.d.ts +43 -0
- package/types/stable/@ember/-internals/glimmer/lib/syntax/outlet.d.ts +27 -0
- package/types/stable/@ember/-internals/glimmer/lib/syntax/utils.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/template.d.ts +6 -0
- package/types/stable/@ember/-internals/glimmer/lib/template_registry.d.ts +11 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/bindings.d.ts +10 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/curly-component-state-bucket.d.ts +31 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/debug-render-message.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/iterator.d.ts +5 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/managers.d.ts +19 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/outlet.d.ts +51 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/process-args.d.ts +4 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/serialization-first-node-helpers.d.ts +3 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/string.d.ts +61 -0
- package/types/stable/@ember/-internals/glimmer/lib/utils/to-bool.d.ts +3 -0
- package/types/stable/@ember/-internals/glimmer/lib/views/outlet.d.ts +34 -0
- package/types/stable/@ember/-internals/meta/index.d.ts +3 -0
- package/types/stable/@ember/-internals/meta/lib/meta.d.ts +174 -0
- package/types/stable/@ember/-internals/metal/index.d.ts +26 -0
- package/types/stable/@ember/-internals/metal/lib/alias.d.ts +22 -0
- package/types/stable/@ember/-internals/metal/lib/array.d.ts +18 -0
- package/types/stable/@ember/-internals/metal/lib/array_events.d.ts +6 -0
- package/types/stable/@ember/-internals/metal/lib/cache.d.ts +121 -0
- package/types/stable/@ember/-internals/metal/lib/cached.d.ts +3 -0
- package/types/stable/@ember/-internals/metal/lib/chain-tags.d.ts +8 -0
- package/types/stable/@ember/-internals/metal/lib/change_event.d.ts +3 -0
- package/types/stable/@ember/-internals/metal/lib/computed.d.ts +484 -0
- package/types/stable/@ember/-internals/metal/lib/computed_cache.d.ts +3 -0
- package/types/stable/@ember/-internals/metal/lib/decorator.d.ts +64 -0
- package/types/stable/@ember/-internals/metal/lib/dependent_keys.d.ts +2 -0
- package/types/stable/@ember/-internals/metal/lib/deprecate_property.d.ts +18 -0
- package/types/stable/@ember/-internals/metal/lib/each_proxy_events.d.ts +5 -0
- package/types/stable/@ember/-internals/metal/lib/events.d.ts +91 -0
- package/types/stable/@ember/-internals/metal/lib/expand_properties.d.ts +33 -0
- package/types/stable/@ember/-internals/metal/lib/get_properties.d.ts +36 -0
- package/types/stable/@ember/-internals/metal/lib/injected_property.d.ts +25 -0
- package/types/stable/@ember/-internals/metal/lib/libraries.d.ts +31 -0
- package/types/stable/@ember/-internals/metal/lib/namespace_search.d.ts +19 -0
- package/types/stable/@ember/-internals/metal/lib/observer.d.ts +54 -0
- package/types/stable/@ember/-internals/metal/lib/path_cache.d.ts +3 -0
- package/types/stable/@ember/-internals/metal/lib/properties.d.ts +58 -0
- package/types/stable/@ember/-internals/metal/lib/property_events.d.ts +59 -0
- package/types/stable/@ember/-internals/metal/lib/property_get.d.ts +44 -0
- package/types/stable/@ember/-internals/metal/lib/property_set.d.ts +52 -0
- package/types/stable/@ember/-internals/metal/lib/set_properties.d.ts +32 -0
- package/types/stable/@ember/-internals/metal/lib/tags.d.ts +7 -0
- package/types/stable/@ember/-internals/metal/lib/tracked.d.ts +78 -0
- package/types/stable/@ember/-internals/overrides/index.d.ts +3 -0
- package/types/stable/@ember/-internals/owner/index.d.ts +646 -0
- package/types/stable/@ember/-internals/routing/index.d.ts +3 -0
- package/types/stable/@ember/-internals/runtime/index.d.ts +11 -0
- package/types/stable/@ember/-internals/runtime/lib/ext/rsvp.d.ts +5 -0
- package/types/stable/@ember/-internals/runtime/lib/mixins/-proxy.d.ts +34 -0
- package/types/stable/@ember/-internals/runtime/lib/mixins/action_handler.d.ts +23 -0
- package/types/stable/@ember/-internals/runtime/lib/mixins/comparable.d.ts +22 -0
- package/types/stable/@ember/-internals/runtime/lib/mixins/container_proxy.d.ts +22 -0
- package/types/stable/@ember/-internals/runtime/lib/mixins/registry_proxy.d.ts +22 -0
- package/types/stable/@ember/-internals/runtime/lib/mixins/target_action_support.d.ts +29 -0
- package/types/stable/@ember/-internals/utility-types/index.d.ts +10 -0
- package/types/stable/@ember/-internals/utils/index.d.ts +16 -0
- package/types/stable/@ember/-internals/utils/lib/cache.d.ts +14 -0
- package/types/stable/@ember/-internals/utils/lib/dictionary.d.ts +7 -0
- package/types/stable/@ember/-internals/utils/lib/get-debug-name.d.ts +4 -0
- package/types/stable/@ember/-internals/utils/lib/guid.d.ts +60 -0
- package/types/stable/@ember/-internals/utils/lib/intern.d.ts +42 -0
- package/types/stable/@ember/-internals/utils/lib/invoke.d.ts +24 -0
- package/types/stable/@ember/-internals/utils/lib/is_proxy.d.ts +5 -0
- package/types/stable/@ember/-internals/utils/lib/lookup-descriptor.d.ts +3 -0
- package/types/stable/@ember/-internals/utils/lib/mandatory-setter.d.ts +6 -0
- package/types/stable/@ember/-internals/utils/lib/name.d.ts +4 -0
- package/types/stable/@ember/-internals/utils/lib/spec.d.ts +14 -0
- package/types/stable/@ember/-internals/utils/lib/super.d.ts +31 -0
- package/types/stable/@ember/-internals/utils/lib/symbol.d.ts +5 -0
- package/types/stable/@ember/-internals/utils/lib/to-string.d.ts +3 -0
- package/types/stable/@ember/-internals/views/index.d.ts +13 -0
- package/types/stable/@ember/-internals/views/lib/compat/attrs.d.ts +3 -0
- package/types/stable/@ember/-internals/views/lib/compat/fallback-view-registry.d.ts +6 -0
- package/types/stable/@ember/-internals/views/lib/component_lookup.d.ts +5 -0
- package/types/stable/@ember/-internals/views/lib/mixins/action_support.d.ts +13 -0
- package/types/stable/@ember/-internals/views/lib/mixins/child_views_support.d.ts +13 -0
- package/types/stable/@ember/-internals/views/lib/mixins/class_names_support.d.ts +14 -0
- package/types/stable/@ember/-internals/views/lib/mixins/view_state_support.d.ts +13 -0
- package/types/stable/@ember/-internals/views/lib/mixins/view_support.d.ts +25 -0
- package/types/stable/@ember/-internals/views/lib/system/action_manager.d.ts +11 -0
- package/types/stable/@ember/-internals/views/lib/system/event_dispatcher.d.ts +117 -0
- package/types/stable/@ember/-internals/views/lib/system/utils.d.ts +94 -0
- package/types/stable/@ember/-internals/views/lib/views/core_view.d.ts +60 -0
- package/types/stable/@ember/-internals/views/lib/views/states/default.d.ts +5 -0
- package/types/stable/@ember/-internals/views/lib/views/states/destroying.d.ts +5 -0
- package/types/stable/@ember/-internals/views/lib/views/states/has_element.d.ts +5 -0
- package/types/stable/@ember/-internals/views/lib/views/states/in_dom.d.ts +5 -0
- package/types/stable/@ember/-internals/views/lib/views/states/pre_render.d.ts +11 -0
- package/types/stable/@ember/-internals/views/lib/views/states.d.ts +25 -0
- package/types/stable/@ember/application/index.d.ts +814 -0
- package/types/stable/@ember/application/instance.d.ts +288 -0
- package/types/stable/@ember/application/lib/lazy_load.d.ts +38 -0
- package/types/stable/@ember/application/namespace.d.ts +38 -0
- package/types/stable/@ember/array/-internals.d.ts +5 -0
- package/types/stable/@ember/array/index.d.ts +1457 -0
- package/types/stable/@ember/array/lib/make-array.d.ts +34 -0
- package/types/stable/@ember/array/mutable.d.ts +3 -0
- package/types/stable/@ember/array/proxy.d.ts +158 -0
- package/types/stable/@ember/canary-features/index.d.ts +49 -0
- package/types/stable/@ember/component/helper.d.ts +3 -0
- package/types/stable/@ember/component/index.d.ts +5 -0
- package/types/stable/@ember/component/template-only.d.ts +33 -0
- package/types/stable/@ember/controller/index.d.ts +277 -0
- package/types/stable/@ember/debug/container-debug-adapter.d.ts +73 -0
- package/types/stable/@ember/debug/data-adapter.d.ts +325 -0
- package/types/stable/@ember/debug/index.d.ts +52 -0
- package/types/stable/@ember/debug/lib/capture-render-tree.d.ts +21 -0
- package/types/stable/@ember/debug/lib/deprecate.d.ts +72 -0
- package/types/stable/@ember/debug/lib/handlers.d.ts +14 -0
- package/types/stable/@ember/debug/lib/inspect.d.ts +20 -0
- package/types/stable/@ember/debug/lib/testing.d.ts +4 -0
- package/types/stable/@ember/debug/lib/warn.d.ts +14 -0
- package/types/stable/@ember/deprecated-features/index.d.ts +3 -0
- package/types/stable/@ember/destroyable/index.d.ts +237 -0
- package/types/stable/@ember/engine/index.d.ts +347 -0
- package/types/stable/@ember/engine/instance.d.ts +127 -0
- package/types/stable/@ember/engine/lib/engine-parent.d.ts +27 -0
- package/types/stable/@ember/enumerable/index.d.ts +19 -0
- package/types/stable/@ember/enumerable/mutable.d.ts +21 -0
- package/types/stable/@ember/error/index.d.ts +15 -0
- package/types/stable/@ember/helper/index.d.ts +314 -0
- package/types/stable/@ember/instrumentation/index.d.ts +127 -0
- package/types/stable/@ember/modifier/index.d.ts +5 -0
- package/types/stable/@ember/object/-internals.d.ts +9 -0
- package/types/stable/@ember/object/compat.d.ts +90 -0
- package/types/stable/@ember/object/computed.d.ts +5 -0
- package/types/stable/@ember/object/core.d.ts +638 -0
- package/types/stable/@ember/object/evented.d.ts +134 -0
- package/types/stable/@ember/object/events.d.ts +3 -0
- package/types/stable/@ember/object/index.d.ts +60 -0
- package/types/stable/@ember/object/internals.d.ts +3 -0
- package/types/stable/@ember/object/lib/computed/computed_macros.d.ts +644 -0
- package/types/stable/@ember/object/lib/computed/reduce_computed_macros.d.ts +791 -0
- package/types/stable/@ember/object/mixin.d.ts +157 -0
- package/types/stable/@ember/object/observable.d.ts +383 -0
- package/types/stable/@ember/object/observers.d.ts +3 -0
- package/types/stable/@ember/object/promise-proxy-mixin.d.ts +167 -0
- package/types/stable/@ember/object/proxy.d.ts +88 -0
- package/types/stable/@ember/owner/index.d.ts +80 -0
- package/types/stable/@ember/polyfills/index.d.ts +4 -0
- package/types/stable/@ember/polyfills/lib/assign.d.ts +9 -0
- package/types/stable/@ember/renderer/index.d.ts +28 -0
- package/types/stable/@ember/routing/-internals.d.ts +11 -0
- package/types/stable/@ember/routing/auto-location.d.ts +149 -0
- package/types/stable/@ember/routing/hash-location.d.ts +113 -0
- package/types/stable/@ember/routing/history-location.d.ts +143 -0
- package/types/stable/@ember/routing/index.d.ts +3 -0
- package/types/stable/@ember/routing/lib/cache.d.ts +16 -0
- package/types/stable/@ember/routing/lib/controller_for.d.ts +15 -0
- package/types/stable/@ember/routing/lib/dsl.d.ts +52 -0
- package/types/stable/@ember/routing/lib/engines.d.ts +14 -0
- package/types/stable/@ember/routing/lib/generate_controller.d.ts +25 -0
- package/types/stable/@ember/routing/lib/location-utils.d.ts +31 -0
- package/types/stable/@ember/routing/lib/query_params.d.ts +7 -0
- package/types/stable/@ember/routing/lib/route-info.d.ts +3 -0
- package/types/stable/@ember/routing/lib/router_state.d.ts +13 -0
- package/types/stable/@ember/routing/lib/routing-service.d.ts +35 -0
- package/types/stable/@ember/routing/lib/utils.d.ts +36 -0
- package/types/stable/@ember/routing/location.d.ts +108 -0
- package/types/stable/@ember/routing/none-location.d.ts +83 -0
- package/types/stable/@ember/routing/route-info.d.ts +125 -0
- package/types/stable/@ember/routing/route.d.ts +1456 -0
- package/types/stable/@ember/routing/router-service.d.ts +588 -0
- package/types/stable/@ember/routing/router.d.ts +431 -0
- package/types/stable/@ember/routing/transition.d.ts +180 -0
- package/types/stable/@ember/runloop/index.d.ts +657 -0
- package/types/stable/@ember/service/index.d.ts +82 -0
- package/types/stable/@ember/string/index.d.ts +152 -0
- package/types/stable/@ember/string/lib/string_registry.d.ts +9 -0
- package/types/stable/@ember/template/index.d.ts +3 -0
- package/types/stable/@ember/template-compilation/index.d.ts +4 -0
- package/types/stable/@ember/template-factory/index.d.ts +3 -0
- package/types/stable/@ember/test/adapter.d.ts +4 -0
- package/types/stable/@ember/test/index.d.ts +8 -0
- package/types/stable/@ember/utils/index.d.ts +9 -0
- package/types/stable/@ember/utils/lib/compare.d.ts +54 -0
- package/types/stable/@ember/utils/lib/is-equal.d.ts +52 -0
- package/types/stable/@ember/utils/lib/is_blank.d.ts +32 -0
- package/types/stable/@ember/utils/lib/is_empty.d.ts +38 -0
- package/types/stable/@ember/utils/lib/is_none.d.ts +26 -0
- package/types/stable/@ember/utils/lib/is_present.d.ts +35 -0
- package/types/stable/@ember/utils/lib/type-of.d.ts +68 -0
- package/types/stable/@ember/version/index.d.ts +3 -0
- package/types/stable/@glimmer/tracking/index.d.ts +203 -0
- package/types/stable/@glimmer/tracking/primitives/cache.d.ts +3 -0
- package/types/stable/ember/index.d.ts +376 -0
- package/types/stable/ember-template-compiler/index.d.ts +21 -0
- package/types/stable/ember-template-compiler/lib/plugins/assert-against-attrs.d.ts +20 -0
- package/types/stable/ember-template-compiler/lib/plugins/assert-against-named-outlets.d.ts +14 -0
- package/types/stable/ember-template-compiler/lib/plugins/assert-input-helper-without-block.d.ts +5 -0
- package/types/stable/ember-template-compiler/lib/plugins/assert-reserved-named-arguments.d.ts +5 -0
- package/types/stable/ember-template-compiler/lib/plugins/assert-splattribute-expression.d.ts +5 -0
- package/types/stable/ember-template-compiler/lib/plugins/index.d.ts +5 -0
- package/types/stable/ember-template-compiler/lib/plugins/transform-action-syntax.d.ts +28 -0
- package/types/stable/ember-template-compiler/lib/plugins/transform-each-in-into-each.d.ts +24 -0
- package/types/stable/ember-template-compiler/lib/plugins/transform-each-track-array.d.ts +24 -0
- package/types/stable/ember-template-compiler/lib/plugins/transform-in-element.d.ts +22 -0
- package/types/stable/ember-template-compiler/lib/plugins/transform-quoted-bindings-into-just-bindings.d.ts +4 -0
- package/types/stable/ember-template-compiler/lib/plugins/transform-resolutions.d.ts +5 -0
- package/types/stable/ember-template-compiler/lib/plugins/transform-wrap-mount-and-outlet.d.ts +36 -0
- package/types/stable/ember-template-compiler/lib/plugins/utils.d.ts +13 -0
- package/types/stable/ember-template-compiler/lib/system/bootstrap.d.ts +26 -0
- package/types/stable/ember-template-compiler/lib/system/calculate-location-display.d.ts +4 -0
- package/types/stable/ember-template-compiler/lib/system/compile-options.d.ts +6 -0
- package/types/stable/ember-template-compiler/lib/system/compile.d.ts +13 -0
- package/types/stable/ember-template-compiler/lib/system/dasherize-component-name.d.ts +5 -0
- package/types/stable/ember-template-compiler/lib/system/initializer.d.ts +3 -0
- package/types/stable/ember-template-compiler/lib/system/precompile.d.ts +17 -0
- package/types/stable/ember-testing/index.d.ts +10 -0
- package/types/stable/ember-testing/lib/adapters/adapter.d.ts +20 -0
- package/types/stable/ember-testing/lib/adapters/qunit.d.ts +19 -0
- package/types/stable/ember-testing/lib/ext/application.d.ts +12 -0
- package/types/stable/ember-testing/lib/ext/rsvp.d.ts +4 -0
- package/types/stable/ember-testing/lib/helpers/and_then.d.ts +4 -0
- package/types/stable/ember-testing/lib/helpers/current_path.d.ts +22 -0
- package/types/stable/ember-testing/lib/helpers/current_route_name.d.ts +21 -0
- package/types/stable/ember-testing/lib/helpers/current_url.d.ts +22 -0
- package/types/stable/ember-testing/lib/helpers/pause_test.d.ts +53 -0
- package/types/stable/ember-testing/lib/helpers/visit.d.ts +22 -0
- package/types/stable/ember-testing/lib/helpers/wait.d.ts +34 -0
- package/types/stable/ember-testing/lib/helpers.d.ts +3 -0
- package/types/stable/ember-testing/lib/initializers.d.ts +3 -0
- package/types/stable/ember-testing/lib/setup_for_testing.d.ts +15 -0
- package/types/stable/ember-testing/lib/test/adapter.d.ts +7 -0
- package/types/stable/ember-testing/lib/test/helpers.d.ts +115 -0
- package/types/stable/ember-testing/lib/test/on_inject_helpers.d.ts +33 -0
- package/types/stable/ember-testing/lib/test/pending_requests.d.ts +6 -0
- package/types/stable/ember-testing/lib/test/promise.d.ts +38 -0
- package/types/stable/ember-testing/lib/test/run.d.ts +3 -0
- package/types/stable/ember-testing/lib/test/waiters.d.ts +67 -0
- package/types/stable/ember-testing/lib/test.d.ts +47 -0
- package/types/stable/index.d.ts +47 -0
- package/types/preview/@ember/application/tsconfig.json +0 -3
- package/types/preview/@ember/array/tsconfig.json +0 -3
- package/types/preview/@ember/component/tsconfig.json +0 -3
- package/types/preview/@ember/controller/tsconfig.json +0 -3
- package/types/preview/@ember/debug/tsconfig.json +0 -3
- package/types/preview/@ember/destroyable/tsconfig.json +0 -3
- package/types/preview/@ember/engine/tsconfig.json +0 -3
- package/types/preview/@ember/error/tsconfig.json +0 -3
- package/types/preview/@ember/helper/tsconfig.json +0 -3
- package/types/preview/@ember/modifier/tsconfig.json +0 -3
- package/types/preview/@ember/object/tsconfig.json +0 -3
- package/types/preview/@ember/owner/index.d.ts +0 -423
- package/types/preview/@ember/owner/tsconfig.json +0 -3
- package/types/preview/@ember/polyfills/tsconfig.json +0 -3
- package/types/preview/@ember/routing/tsconfig.json +0 -3
- package/types/preview/@ember/runloop/tsconfig.json +0 -3
- package/types/preview/@ember/service/tsconfig.json +0 -3
- package/types/preview/@ember/string/tsconfig.json +0 -3
- package/types/preview/@ember/template/tsconfig.json +0 -3
- package/types/preview/@ember/test/tsconfig.json +0 -3
- package/types/preview/@ember/utils/tsconfig.json +0 -3
- package/types/preview/ember/tsconfig.json +0 -3
- package/types/preview/tsconfig.json +0 -6
|
@@ -0,0 +1,237 @@
|
|
|
1
|
+
declare module '@ember/destroyable' {
|
|
2
|
+
export { assertDestroyablesDestroyed, associateDestroyableChild, destroy, enableDestroyableTracking, isDestroying, isDestroyed, } from '@glimmer/destroyable';
|
|
3
|
+
/**
|
|
4
|
+
Ember manages the lifecycles and lifetimes of many built in constructs, such
|
|
5
|
+
as components, and does so in a hierarchical way - when a parent component is
|
|
6
|
+
destroyed, all of its children are destroyed as well.
|
|
7
|
+
|
|
8
|
+
This destroyables API exposes the basic building blocks for destruction:
|
|
9
|
+
|
|
10
|
+
* registering a function to be ran when an object is destroyed
|
|
11
|
+
* checking if an object is in a destroying state
|
|
12
|
+
* associate an object as a child of another so that the child object will be destroyed
|
|
13
|
+
when the associated parent object is destroyed.
|
|
14
|
+
|
|
15
|
+
@module @ember/destroyable
|
|
16
|
+
@public
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
This function is used to associate a destroyable object with a parent. When the parent
|
|
20
|
+
is destroyed, all registered children will also be destroyed.
|
|
21
|
+
|
|
22
|
+
```js
|
|
23
|
+
class CustomSelect extends Component {
|
|
24
|
+
constructor(...args) {
|
|
25
|
+
super(...args);
|
|
26
|
+
|
|
27
|
+
// obj is now a child of the component. When the component is destroyed,
|
|
28
|
+
// obj will also be destroyed, and have all of its destructors triggered.
|
|
29
|
+
this.obj = associateDestroyableChild(this, {});
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
```
|
|
33
|
+
|
|
34
|
+
Returns the associated child for convenience.
|
|
35
|
+
|
|
36
|
+
@method associateDestroyableChild
|
|
37
|
+
@for @ember/destroyable
|
|
38
|
+
@param {Object|Function} parent the destroyable to entangle the child destroyables lifetime with
|
|
39
|
+
@param {Object|Function} child the destroyable to be entangled with the parents lifetime
|
|
40
|
+
@returns {Object|Function} the child argument
|
|
41
|
+
@static
|
|
42
|
+
@public
|
|
43
|
+
*/
|
|
44
|
+
/**
|
|
45
|
+
Receives a destroyable, and returns true if the destroyable has begun destroying. Otherwise returns
|
|
46
|
+
false.
|
|
47
|
+
|
|
48
|
+
```js
|
|
49
|
+
let obj = {};
|
|
50
|
+
isDestroying(obj); // false
|
|
51
|
+
destroy(obj);
|
|
52
|
+
isDestroying(obj); // true
|
|
53
|
+
// ...sometime later, after scheduled destruction
|
|
54
|
+
isDestroyed(obj); // true
|
|
55
|
+
isDestroying(obj); // true
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
@method isDestroying
|
|
59
|
+
@for @ember/destroyable
|
|
60
|
+
@param {Object|Function} destroyable the object to check
|
|
61
|
+
@returns {Boolean}
|
|
62
|
+
@static
|
|
63
|
+
@public
|
|
64
|
+
*/
|
|
65
|
+
/**
|
|
66
|
+
Receives a destroyable, and returns true if the destroyable has finished destroying. Otherwise
|
|
67
|
+
returns false.
|
|
68
|
+
|
|
69
|
+
```js
|
|
70
|
+
let obj = {};
|
|
71
|
+
|
|
72
|
+
isDestroyed(obj); // false
|
|
73
|
+
destroy(obj);
|
|
74
|
+
|
|
75
|
+
// ...sometime later, after scheduled destruction
|
|
76
|
+
|
|
77
|
+
isDestroyed(obj); // true
|
|
78
|
+
```
|
|
79
|
+
|
|
80
|
+
@method isDestroyed
|
|
81
|
+
@for @ember/destroyable
|
|
82
|
+
@param {Object|Function} destroyable the object to check
|
|
83
|
+
@returns {Boolean}
|
|
84
|
+
@static
|
|
85
|
+
@public
|
|
86
|
+
*/
|
|
87
|
+
/**
|
|
88
|
+
Initiates the destruction of a destroyable object. It runs all associated destructors, and then
|
|
89
|
+
destroys all children recursively.
|
|
90
|
+
|
|
91
|
+
```js
|
|
92
|
+
let obj = {};
|
|
93
|
+
|
|
94
|
+
registerDestructor(obj, () => console.log('destroyed!'));
|
|
95
|
+
|
|
96
|
+
destroy(obj); // this will schedule the destructor to be called
|
|
97
|
+
|
|
98
|
+
// ...some time later, during scheduled destruction
|
|
99
|
+
|
|
100
|
+
// destroyed!
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
Destruction via `destroy()` follows these steps:
|
|
104
|
+
|
|
105
|
+
1, Mark the destroyable such that `isDestroying(destroyable)` returns `true`
|
|
106
|
+
2, Call `destroy()` on each of the destroyable's associated children
|
|
107
|
+
3, Schedule calling the destroyable's destructors
|
|
108
|
+
4, Schedule setting destroyable such that `isDestroyed(destroyable)` returns `true`
|
|
109
|
+
|
|
110
|
+
This results in the entire tree of destroyables being first marked as destroying,
|
|
111
|
+
then having all of their destructors called, and finally all being marked as isDestroyed.
|
|
112
|
+
There won't be any in between states where some items are marked as `isDestroying` while
|
|
113
|
+
destroying, while others are not.
|
|
114
|
+
|
|
115
|
+
@method destroy
|
|
116
|
+
@for @ember/destroyable
|
|
117
|
+
@param {Object|Function} destroyable the object to destroy
|
|
118
|
+
@static
|
|
119
|
+
@public
|
|
120
|
+
*/
|
|
121
|
+
/**
|
|
122
|
+
This function asserts that all objects which have associated destructors or associated children
|
|
123
|
+
have been destroyed at the time it is called. It is meant to be a low level hook that testing
|
|
124
|
+
frameworks can use to hook into and validate that all destroyables have in fact been destroyed.
|
|
125
|
+
|
|
126
|
+
This function requires that `enableDestroyableTracking` was called previously, and is only
|
|
127
|
+
available in non-production builds.
|
|
128
|
+
|
|
129
|
+
@method assertDestroyablesDestroyed
|
|
130
|
+
@for @ember/destroyable
|
|
131
|
+
@static
|
|
132
|
+
@public
|
|
133
|
+
*/
|
|
134
|
+
/**
|
|
135
|
+
This function instructs the destroyable system to keep track of all destroyables (their
|
|
136
|
+
children, destructors, etc). This enables a future usage of `assertDestroyablesDestroyed`
|
|
137
|
+
to be used to ensure that all destroyable tasks (registered destructors and associated children)
|
|
138
|
+
have completed when `assertDestroyablesDestroyed` is called.
|
|
139
|
+
|
|
140
|
+
@method enableDestroyableTracking
|
|
141
|
+
@for @ember/destroyable
|
|
142
|
+
@static
|
|
143
|
+
@public
|
|
144
|
+
*/
|
|
145
|
+
/**
|
|
146
|
+
Receives a destroyable object and a destructor function, and associates the
|
|
147
|
+
function with it. When the destroyable is destroyed with destroy, or when its
|
|
148
|
+
parent is destroyed, the destructor function will be called.
|
|
149
|
+
|
|
150
|
+
```js
|
|
151
|
+
import Component from '@glimmer/component';
|
|
152
|
+
import { registerDestructor } from '@ember/destroyable';
|
|
153
|
+
|
|
154
|
+
class Modal extends Component {
|
|
155
|
+
@service resize;
|
|
156
|
+
|
|
157
|
+
constructor(...args) {
|
|
158
|
+
super(...args);
|
|
159
|
+
|
|
160
|
+
this.resize.register(this, this.layout);
|
|
161
|
+
|
|
162
|
+
registerDestructor(this, () => this.resize.unregister(this));
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
```
|
|
166
|
+
|
|
167
|
+
Multiple destructors can be associated with a given destroyable, and they can be
|
|
168
|
+
associated over time, allowing libraries to dynamically add destructors as needed.
|
|
169
|
+
`registerDestructor` also returns the associated destructor function, for convenience.
|
|
170
|
+
|
|
171
|
+
The destructor function is passed a single argument, which is the destroyable itself.
|
|
172
|
+
This allows the function to be reused multiple times for many destroyables, rather
|
|
173
|
+
than creating a closure function per destroyable.
|
|
174
|
+
|
|
175
|
+
```js
|
|
176
|
+
import Component from '@glimmer/component';
|
|
177
|
+
import { registerDestructor } from '@ember/destroyable';
|
|
178
|
+
|
|
179
|
+
function unregisterResize(instance) {
|
|
180
|
+
instance.resize.unregister(instance);
|
|
181
|
+
}
|
|
182
|
+
|
|
183
|
+
class Modal extends Component {
|
|
184
|
+
@service resize;
|
|
185
|
+
|
|
186
|
+
constructor(...args) {
|
|
187
|
+
super(...args);
|
|
188
|
+
|
|
189
|
+
this.resize.register(this, this.layout);
|
|
190
|
+
|
|
191
|
+
registerDestructor(this, unregisterResize);
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
@method registerDestructor
|
|
197
|
+
@for @ember/destroyable
|
|
198
|
+
@param {Object|Function} destroyable the destroyable to register the destructor function with
|
|
199
|
+
@param {Function} destructor the destructor to run when the destroyable object is destroyed
|
|
200
|
+
@static
|
|
201
|
+
@public
|
|
202
|
+
*/
|
|
203
|
+
export function registerDestructor<T extends object>(destroyable: T, destructor: (destroyable: T) => void): (destroyable: T) => void;
|
|
204
|
+
/**
|
|
205
|
+
Receives a destroyable and a destructor function, and de-associates the destructor
|
|
206
|
+
from the destroyable.
|
|
207
|
+
|
|
208
|
+
```js
|
|
209
|
+
import Component from '@glimmer/component';
|
|
210
|
+
import { registerDestructor, unregisterDestructor } from '@ember/destroyable';
|
|
211
|
+
|
|
212
|
+
class Modal extends Component {
|
|
213
|
+
@service modals;
|
|
214
|
+
|
|
215
|
+
constructor(...args) {
|
|
216
|
+
super(...args);
|
|
217
|
+
|
|
218
|
+
this.modals.add(this);
|
|
219
|
+
|
|
220
|
+
this.modalDestructor = registerDestructor(this, () => this.modals.remove(this));
|
|
221
|
+
}
|
|
222
|
+
|
|
223
|
+
@action pinModal() {
|
|
224
|
+
unregisterDestructor(this, this.modalDestructor);
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
```
|
|
228
|
+
|
|
229
|
+
@method unregisterDestructor
|
|
230
|
+
@for @ember/destroyable
|
|
231
|
+
@param {Object|Function} destroyable the destroyable to unregister the destructor function from
|
|
232
|
+
@param {Function} destructor the destructor to remove from the destroyable
|
|
233
|
+
@static
|
|
234
|
+
@public
|
|
235
|
+
*/
|
|
236
|
+
export function unregisterDestructor<T extends object>(destroyable: T, destructor: (destroyable: T) => void): void;
|
|
237
|
+
}
|
|
@@ -0,0 +1,347 @@
|
|
|
1
|
+
declare module '@ember/engine' {
|
|
2
|
+
export { getEngineParent, setEngineParent } from './lib/engine-parent';
|
|
3
|
+
import Namespace from '@ember/application/namespace';
|
|
4
|
+
import { Registry } from '@ember/-internals/container';
|
|
5
|
+
import type { ResolverClass } from '@ember/-internals/container';
|
|
6
|
+
import type { EngineInstanceOptions } from '@ember/engine/instance';
|
|
7
|
+
import EngineInstance from '@ember/engine/instance';
|
|
8
|
+
import { RegistryProxyMixin } from '@ember/-internals/runtime';
|
|
9
|
+
export interface Initializer<T> {
|
|
10
|
+
name: string;
|
|
11
|
+
initialize: (target: T) => void;
|
|
12
|
+
before?: string | string[];
|
|
13
|
+
after?: string | string[];
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
@module @ember/engine
|
|
17
|
+
*/
|
|
18
|
+
/**
|
|
19
|
+
The `Engine` class contains core functionality for both applications and
|
|
20
|
+
engines.
|
|
21
|
+
|
|
22
|
+
Each engine manages a registry that's used for dependency injection and
|
|
23
|
+
exposed through `RegistryProxy`.
|
|
24
|
+
|
|
25
|
+
Engines also manage initializers and instance initializers.
|
|
26
|
+
|
|
27
|
+
Engines can spawn `EngineInstance` instances via `buildInstance()`.
|
|
28
|
+
|
|
29
|
+
@class Engine
|
|
30
|
+
@extends Ember.Namespace
|
|
31
|
+
@uses RegistryProxyMixin
|
|
32
|
+
@public
|
|
33
|
+
*/
|
|
34
|
+
interface Engine extends RegistryProxyMixin {
|
|
35
|
+
}
|
|
36
|
+
const Engine_base: Readonly<typeof Namespace> & (new (owner?: import("../owner").default | undefined) => Namespace);
|
|
37
|
+
class Engine extends Engine_base {
|
|
38
|
+
static initializers: Record<string, Initializer<Engine>>;
|
|
39
|
+
static instanceInitializers: Record<string, Initializer<EngineInstance>>;
|
|
40
|
+
/**
|
|
41
|
+
The goal of initializers should be to register dependencies and injections.
|
|
42
|
+
This phase runs once. Because these initializers may load code, they are
|
|
43
|
+
allowed to defer application readiness and advance it. If you need to access
|
|
44
|
+
the container or store you should use an InstanceInitializer that will be run
|
|
45
|
+
after all initializers and therefore after all code is loaded and the app is
|
|
46
|
+
ready.
|
|
47
|
+
|
|
48
|
+
Initializer receives an object which has the following attributes:
|
|
49
|
+
`name`, `before`, `after`, `initialize`. The only required attribute is
|
|
50
|
+
`initialize`, all others are optional.
|
|
51
|
+
|
|
52
|
+
* `name` allows you to specify under which name the initializer is registered.
|
|
53
|
+
This must be a unique name, as trying to register two initializers with the
|
|
54
|
+
same name will result in an error.
|
|
55
|
+
|
|
56
|
+
```app/initializer/named-initializer.js
|
|
57
|
+
import { debug } from '@ember/debug';
|
|
58
|
+
|
|
59
|
+
export function initialize() {
|
|
60
|
+
debug('Running namedInitializer!');
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
export default {
|
|
64
|
+
name: 'named-initializer',
|
|
65
|
+
initialize
|
|
66
|
+
};
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
* `before` and `after` are used to ensure that this initializer is ran prior
|
|
70
|
+
or after the one identified by the value. This value can be a single string
|
|
71
|
+
or an array of strings, referencing the `name` of other initializers.
|
|
72
|
+
|
|
73
|
+
An example of ordering initializers, we create an initializer named `first`:
|
|
74
|
+
|
|
75
|
+
```app/initializer/first.js
|
|
76
|
+
import { debug } from '@ember/debug';
|
|
77
|
+
|
|
78
|
+
export function initialize() {
|
|
79
|
+
debug('First initializer!');
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
export default {
|
|
83
|
+
name: 'first',
|
|
84
|
+
initialize
|
|
85
|
+
};
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
```bash
|
|
89
|
+
// DEBUG: First initializer!
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
We add another initializer named `second`, specifying that it should run
|
|
93
|
+
after the initializer named `first`:
|
|
94
|
+
|
|
95
|
+
```app/initializer/second.js
|
|
96
|
+
import { debug } from '@ember/debug';
|
|
97
|
+
|
|
98
|
+
export function initialize() {
|
|
99
|
+
debug('Second initializer!');
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
export default {
|
|
103
|
+
name: 'second',
|
|
104
|
+
after: 'first',
|
|
105
|
+
initialize
|
|
106
|
+
};
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
```
|
|
110
|
+
// DEBUG: First initializer!
|
|
111
|
+
// DEBUG: Second initializer!
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
Afterwards we add a further initializer named `pre`, this time specifying
|
|
115
|
+
that it should run before the initializer named `first`:
|
|
116
|
+
|
|
117
|
+
```app/initializer/pre.js
|
|
118
|
+
import { debug } from '@ember/debug';
|
|
119
|
+
|
|
120
|
+
export function initialize() {
|
|
121
|
+
debug('Pre initializer!');
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
export default {
|
|
125
|
+
name: 'pre',
|
|
126
|
+
before: 'first',
|
|
127
|
+
initialize
|
|
128
|
+
};
|
|
129
|
+
```
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
// DEBUG: Pre initializer!
|
|
133
|
+
// DEBUG: First initializer!
|
|
134
|
+
// DEBUG: Second initializer!
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
Finally we add an initializer named `post`, specifying it should run after
|
|
138
|
+
both the `first` and the `second` initializers:
|
|
139
|
+
|
|
140
|
+
```app/initializer/post.js
|
|
141
|
+
import { debug } from '@ember/debug';
|
|
142
|
+
|
|
143
|
+
export function initialize() {
|
|
144
|
+
debug('Post initializer!');
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
export default {
|
|
148
|
+
name: 'post',
|
|
149
|
+
after: ['first', 'second'],
|
|
150
|
+
initialize
|
|
151
|
+
};
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
// DEBUG: Pre initializer!
|
|
156
|
+
// DEBUG: First initializer!
|
|
157
|
+
// DEBUG: Second initializer!
|
|
158
|
+
// DEBUG: Post initializer!
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
* `initialize` is a callback function that receives one argument,
|
|
162
|
+
`application`, on which you can operate.
|
|
163
|
+
|
|
164
|
+
Example of using `application` to register an adapter:
|
|
165
|
+
|
|
166
|
+
```app/initializer/api-adapter.js
|
|
167
|
+
import ApiAdapter from '../utils/api-adapter';
|
|
168
|
+
|
|
169
|
+
export function initialize(application) {
|
|
170
|
+
application.register('api-adapter:main', ApiAdapter);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
export default {
|
|
174
|
+
name: 'post',
|
|
175
|
+
after: ['first', 'second'],
|
|
176
|
+
initialize
|
|
177
|
+
};
|
|
178
|
+
```
|
|
179
|
+
|
|
180
|
+
@method initializer
|
|
181
|
+
@param initializer {Object}
|
|
182
|
+
@public
|
|
183
|
+
*/
|
|
184
|
+
static initializer: (this: typeof Engine, initializer: Initializer<Engine>) => void;
|
|
185
|
+
/**
|
|
186
|
+
Instance initializers run after all initializers have run. Because
|
|
187
|
+
instance initializers run after the app is fully set up. We have access
|
|
188
|
+
to the store, container, and other items. However, these initializers run
|
|
189
|
+
after code has loaded and are not allowed to defer readiness.
|
|
190
|
+
|
|
191
|
+
Instance initializer receives an object which has the following attributes:
|
|
192
|
+
`name`, `before`, `after`, `initialize`. The only required attribute is
|
|
193
|
+
`initialize`, all others are optional.
|
|
194
|
+
|
|
195
|
+
* `name` allows you to specify under which name the instanceInitializer is
|
|
196
|
+
registered. This must be a unique name, as trying to register two
|
|
197
|
+
instanceInitializer with the same name will result in an error.
|
|
198
|
+
|
|
199
|
+
```app/initializer/named-instance-initializer.js
|
|
200
|
+
import { debug } from '@ember/debug';
|
|
201
|
+
|
|
202
|
+
export function initialize() {
|
|
203
|
+
debug('Running named-instance-initializer!');
|
|
204
|
+
}
|
|
205
|
+
|
|
206
|
+
export default {
|
|
207
|
+
name: 'named-instance-initializer',
|
|
208
|
+
initialize
|
|
209
|
+
};
|
|
210
|
+
```
|
|
211
|
+
|
|
212
|
+
* `before` and `after` are used to ensure that this initializer is ran prior
|
|
213
|
+
or after the one identified by the value. This value can be a single string
|
|
214
|
+
or an array of strings, referencing the `name` of other initializers.
|
|
215
|
+
|
|
216
|
+
* See Application.initializer for discussion on the usage of before
|
|
217
|
+
and after.
|
|
218
|
+
|
|
219
|
+
Example instanceInitializer to preload data into the store.
|
|
220
|
+
|
|
221
|
+
```app/initializer/preload-data.js
|
|
222
|
+
|
|
223
|
+
export function initialize(application) {
|
|
224
|
+
var userConfig, userConfigEncoded, store;
|
|
225
|
+
// We have a HTML escaped JSON representation of the user's basic
|
|
226
|
+
// configuration generated server side and stored in the DOM of the main
|
|
227
|
+
// index.html file. This allows the app to have access to a set of data
|
|
228
|
+
// without making any additional remote calls. Good for basic data that is
|
|
229
|
+
// needed for immediate rendering of the page. Keep in mind, this data,
|
|
230
|
+
// like all local models and data can be manipulated by the user, so it
|
|
231
|
+
// should not be relied upon for security or authorization.
|
|
232
|
+
|
|
233
|
+
// Grab the encoded data from the meta tag
|
|
234
|
+
userConfigEncoded = document.querySelector('head meta[name=app-user-config]').attr('content');
|
|
235
|
+
|
|
236
|
+
// Unescape the text, then parse the resulting JSON into a real object
|
|
237
|
+
userConfig = JSON.parse(unescape(userConfigEncoded));
|
|
238
|
+
|
|
239
|
+
// Lookup the store
|
|
240
|
+
store = application.lookup('service:store');
|
|
241
|
+
|
|
242
|
+
// Push the encoded JSON into the store
|
|
243
|
+
store.pushPayload(userConfig);
|
|
244
|
+
}
|
|
245
|
+
|
|
246
|
+
export default {
|
|
247
|
+
name: 'named-instance-initializer',
|
|
248
|
+
initialize
|
|
249
|
+
};
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
@method instanceInitializer
|
|
253
|
+
@param instanceInitializer
|
|
254
|
+
@public
|
|
255
|
+
*/
|
|
256
|
+
static instanceInitializer: (this: typeof Engine, initializer: Initializer<EngineInstance>) => void;
|
|
257
|
+
/**
|
|
258
|
+
This creates a registry with the default Ember naming conventions.
|
|
259
|
+
|
|
260
|
+
It also configures the registry:
|
|
261
|
+
|
|
262
|
+
* registered views are created every time they are looked up (they are
|
|
263
|
+
not singletons)
|
|
264
|
+
* registered templates are not factories; the registered value is
|
|
265
|
+
returned directly.
|
|
266
|
+
* the router receives the application as its `namespace` property
|
|
267
|
+
* all controllers receive the router as their `target` and `controllers`
|
|
268
|
+
properties
|
|
269
|
+
* all controllers receive the application as their `namespace` property
|
|
270
|
+
* the application view receives the application controller as its
|
|
271
|
+
`controller` property
|
|
272
|
+
* the application view receives the application template as its
|
|
273
|
+
`defaultTemplate` property
|
|
274
|
+
|
|
275
|
+
@method buildRegistry
|
|
276
|
+
@static
|
|
277
|
+
@param {Application} namespace the application for which to
|
|
278
|
+
build the registry
|
|
279
|
+
@return {Ember.Registry} the built registry
|
|
280
|
+
@private
|
|
281
|
+
*/
|
|
282
|
+
static buildRegistry(namespace: Engine): Registry;
|
|
283
|
+
/**
|
|
284
|
+
Set this to provide an alternate class to `DefaultResolver`
|
|
285
|
+
|
|
286
|
+
@property resolver
|
|
287
|
+
@public
|
|
288
|
+
*/
|
|
289
|
+
Resolver: ResolverClass;
|
|
290
|
+
init(properties: object | undefined): void;
|
|
291
|
+
/**
|
|
292
|
+
A private flag indicating whether an engine's initializers have run yet.
|
|
293
|
+
|
|
294
|
+
@private
|
|
295
|
+
@property _initializersRan
|
|
296
|
+
*/
|
|
297
|
+
_initializersRan: boolean;
|
|
298
|
+
/**
|
|
299
|
+
Ensure that initializers are run once, and only once, per engine.
|
|
300
|
+
|
|
301
|
+
@private
|
|
302
|
+
@method ensureInitializers
|
|
303
|
+
*/
|
|
304
|
+
ensureInitializers(): void;
|
|
305
|
+
/**
|
|
306
|
+
Create an EngineInstance for this engine.
|
|
307
|
+
|
|
308
|
+
@public
|
|
309
|
+
@method buildInstance
|
|
310
|
+
@return {EngineInstance} the engine instance
|
|
311
|
+
*/
|
|
312
|
+
buildInstance(options?: EngineInstanceOptions): EngineInstance;
|
|
313
|
+
/**
|
|
314
|
+
Build and configure the registry for the current engine.
|
|
315
|
+
|
|
316
|
+
@private
|
|
317
|
+
@method buildRegistry
|
|
318
|
+
@return {Ember.Registry} the configured registry
|
|
319
|
+
*/
|
|
320
|
+
buildRegistry(): Registry;
|
|
321
|
+
/**
|
|
322
|
+
@private
|
|
323
|
+
@method initializer
|
|
324
|
+
*/
|
|
325
|
+
initializer(initializer: Initializer<Engine>): void;
|
|
326
|
+
/**
|
|
327
|
+
@private
|
|
328
|
+
@method instanceInitializer
|
|
329
|
+
*/
|
|
330
|
+
instanceInitializer(initializer: Initializer<EngineInstance>): void;
|
|
331
|
+
/**
|
|
332
|
+
@private
|
|
333
|
+
@method runInitializers
|
|
334
|
+
*/
|
|
335
|
+
runInitializers(): void;
|
|
336
|
+
/**
|
|
337
|
+
@private
|
|
338
|
+
@since 1.12.0
|
|
339
|
+
@method runInstanceInitializers
|
|
340
|
+
*/
|
|
341
|
+
runInstanceInitializers<T extends EngineInstance>(instance: T): void;
|
|
342
|
+
_runInitializer<B extends 'initializers' | 'instanceInitializers', T extends B extends 'initializers' ? Engine : EngineInstance>(bucketName: B, cb: (name: string, initializer: Initializer<T> | undefined) => void): void;
|
|
343
|
+
}
|
|
344
|
+
/** @internal */
|
|
345
|
+
export function buildInitializerMethod<B extends 'initializers' | 'instanceInitializers', T extends B extends 'initializers' ? Engine : EngineInstance>(bucketName: B, humanName: string): (this: typeof Engine, initializer: Initializer<T>) => void;
|
|
346
|
+
export default Engine;
|
|
347
|
+
}
|