UNPKG

ember-source

Version:

A JavaScript framework for creating ambitious web applications

520 lines (507 loc) 21 kB
import { b as getENV, a as getLookup, s as setLookup } from '../shared-chunks/env-mInZ1DuF.js'; import { G as GUID_KEY, b as generateGuid, g as guidFor, u as uuid, w as wrap } from '../shared-chunks/mandatory-setter-BiXq-dpN.js'; import { isDevelopingApp } from '@embroider/macros'; import { c as canInvoke } from '../shared-chunks/invoke-BjRgvK2V.js'; import { C as Cache } from '../shared-chunks/cache-qDyqAcpg.js'; import { C as Container, R as Registry } from '../shared-chunks/registry-B8WARvkP.js'; import { instrument, subscribe, unsubscribe, reset } from '../@ember/instrumentation/index.js'; import { meta } from '../@ember/-internals/meta/lib/meta.js'; import { B as nativeDescDecorator, _ as _getPath, s as setClassicDecorator, S as tracked, m as beginPropertyChanges, T as changeProperties, l as endPropertyChanges, x as hasListeners, O as LIBRARIES, U as isComputed, c as computed, d as defineProperty, g as get, n as notifyPropertyChange, C as ComputedProperty, e as expandProperties, N as on, G as addListener, H as removeListener, k as sendEvent, v as addObserver, w as removeObserver } from '../shared-chunks/cache-DORQczuy.js'; import { g as getCachedValueFor } from '../shared-chunks/computed_cache-DmYKevAP.js'; import { warn, debug, deprecate, deprecateFunc, runInDebug } from '../@ember/debug/index.js'; import { createCache, getValue, isConst } from '../@glimmer/validator/index.js'; import { assertDestroyablesDestroyed, associateDestroyableChild, enableDestroyableTracking, isDestroying, isDestroyed, destroy } from '../@glimmer/destroyable/index.js'; import { componentCapabilities, modifierCapabilities, getComponentTemplate, helperCapabilities, setComponentTemplate, setHelperManager, setModifierManager } from '../@glimmer/manager/index.js'; import { s as set, t as trySet } from '../shared-chunks/property_set-4etrFh8A.js'; import { g as getProperties, s as setProperties } from '../shared-chunks/set_properties-BQFOCF2x.js'; import { i as isSearchDisabled, e as setSearchDisabled } from '../shared-chunks/namespace_search-DU-a-C1F.js'; import { isEnabled, FEATURES } from '../@ember/canary-features/index.js'; import Backburner from '../backburner.js/index.js'; import Controller, { ControllerMixin, inject } from '../@ember/controller/index.js'; import Service, { service } from '../@ember/service/index.js'; import EmberObject, { action, observer } from '../@ember/object/index.js'; import '../@ember/object/-internals.js'; import { dependentKeyCompat } from '../@ember/object/compat.js'; import isNone from '../@ember/utils/lib/is_none.js'; import isBlank from '../@ember/utils/lib/is_blank.js'; import isEmpty from '../@ember/utils/lib/is_empty.js'; import isPresent from '../@ember/utils/lib/is_present.js'; import isEqual from '../@ember/utils/lib/is-equal.js'; import typeOf from '../@ember/utils/lib/type-of.js'; import compare from '../@ember/utils/lib/compare.js'; import EmberArray, { A, NativeArray, isArray, MutableArray } from '../@ember/array/index.js'; import RegistryProxyMixin from '../@ember/-internals/runtime/lib/mixins/registry_proxy.js'; import ContainerProxyMixin from '../@ember/-internals/runtime/lib/mixins/container_proxy.js'; import Comparable from '../@ember/-internals/runtime/lib/mixins/comparable.js'; import ActionHandler from '../@ember/-internals/runtime/lib/mixins/action_handler.js'; import ProxyMixin from '../@ember/-internals/runtime/lib/mixins/-proxy.js'; import MutableEnumerable from '../@ember/enumerable/mutable.js'; import '../@ember/-internals/runtime/lib/mixins/target_action_support.js'; import '../@ember/-internals/runtime/lib/ext/rsvp.js'; import { templateFactory } from '../@glimmer/opcode-compiler/index.js'; import { I as Input, C as Component, H as Helper, e as escapeExpression } from '../shared-chunks/index-aNnE3pXR.js'; import { a as getTemplates, b as setTemplates } from '../shared-chunks/template_registry-DigcUg9m.js'; import { isSerializationFirstNode, templateOnlyComponent, invokeHelper, hash, array, concat, get as get$1, on as on$1, fn } from '../@glimmer/runtime/index.js'; import { run } from '../@ember/runloop/index.js'; import '../@glimmer/reference/index.js'; import { s as setComponentManager } from '../shared-chunks/managers-CbMgnSoo.js'; import Version from './version.js'; import { getChildViews, getElementView, getRootViews, getViewBounds, getViewBoundingClientRect, getViewClientRects, getViewElement, isSimpleClick } from '../@ember/-internals/views/lib/system/utils.js'; import EventDispatcher from '../@ember/-internals/views/lib/system/event_dispatcher.js'; import ComponentLookup from '../@ember/-internals/views/lib/component_lookup.js'; import '../@ember/-internals/views/lib/views/core_view.js'; import '../@ember/-internals/views/lib/mixins/class_names_support.js'; import '../@ember/-internals/views/lib/mixins/child_views_support.js'; import '../@ember/-internals/views/lib/mixins/view_state_support.js'; import '../@ember/-internals/views/lib/mixins/view_support.js'; import '../@ember/-internals/views/lib/mixins/action_support.js'; import '../@ember/-internals/views/lib/system/action_manager.js'; import ContainerDebugAdapter from '../@ember/debug/container-debug-adapter.js'; import DataAdapter from '../@ember/debug/data-adapter.js'; import { getOnerror, setOnerror } from '../@ember/-internals/error-handling/index.js'; import ArrayProxy from '../@ember/array/proxy.js'; import Application, { getOwner, setOwner } from '../@ember/application/index.js'; import ApplicationInstance from '../@ember/application/instance.js'; import Namespace from '../@ember/application/namespace.js'; import Engine from '../@ember/engine/index.js'; import EngineInstance from '../@ember/engine/instance.js'; import Enumerable from '../@ember/enumerable/index.js'; import CoreObject from '../@ember/object/core.js'; import Evented from '../@ember/object/evented.js'; import Mixin, { mixin } from '../@ember/object/mixin.js'; import Observable from '../@ember/object/observable.js'; import ObjectProxy from '../@ember/object/proxy.js'; import PromiseProxyMixin from '../@ember/object/promise-proxy-mixin.js'; import HashLocation from '../@ember/routing/hash-location.js'; import HistoryLocation from '../@ember/routing/history-location.js'; import NoneLocation from '../@ember/routing/none-location.js'; import Route from '../@ember/routing/route.js'; import EmberRouter from '../@ember/routing/router.js'; import '../route-recognizer/index.js'; import { R as RSVP } from '../shared-chunks/rsvp-DaQAFb0W.js'; import '../shared-chunks/unrecognized-url-error-zpz-JEoG.js'; import '../@ember/routing/lib/routing-service.js'; import generateController, { generateControllerFactory } from '../@ember/routing/lib/generate_controller.js'; import DSLImpl from '../@ember/routing/lib/dsl.js'; import controllerFor from '../@ember/routing/lib/controller_for.js'; import { registerDestructor, unregisterDestructor } from '../@ember/destroyable/index.js'; import { _impl } from '../@ember/test/index.js'; import { __emberTemplateCompiler, compileTemplate } from '../@ember/template-compilation/index.js'; import { onLoad, runLoadHooks } from '../@ember/application/lib/lazy_load.js'; import makeArray from '../@ember/array/lib/make-array.js'; import captureRenderTree from '../@ember/debug/lib/capture-render-tree.js'; import { assert } from '../@ember/debug/lib/assert.js'; import inspect from '../@ember/debug/lib/inspect.js'; import { registerHandler } from '../@ember/debug/lib/deprecate.js'; import { registerHandler as registerHandler$1 } from '../@ember/debug/lib/warn.js'; import { isTesting, setTesting } from '../@ember/debug/lib/testing.js'; /** @module ember */ let Ember; (function (_Ember) { _Ember.isNamespace = true; function toString() { return 'Ember'; } _Ember.toString = toString; _Ember.Container = Container; _Ember.Registry = Registry; // ****@ember/-internals/glimmer**** // Partially re-exported from @glimmer/manager _Ember._setComponentManager = setComponentManager; _Ember._componentManagerCapabilities = componentCapabilities; _Ember._modifierManagerCapabilities = modifierCapabilities; _Ember.meta = meta; _Ember._createCache = createCache; _Ember._cacheGetValue = getValue; _Ember._cacheIsConst = isConst; _Ember._descriptor = nativeDescDecorator; _Ember._getPath = _getPath; _Ember._setClassicDecorator = setClassicDecorator; _Ember._tracked = tracked; _Ember.beginPropertyChanges = beginPropertyChanges; _Ember.changeProperties = changeProperties; _Ember.endPropertyChanges = endPropertyChanges; _Ember.hasListeners = hasListeners; _Ember.libraries = LIBRARIES; _Ember._ContainerProxyMixin = ContainerProxyMixin; _Ember._ProxyMixin = ProxyMixin; _Ember._RegistryProxyMixin = RegistryProxyMixin; _Ember.ActionHandler = ActionHandler; _Ember.Comparable = Comparable; // ****@ember/-internals/view**** _Ember.ComponentLookup = ComponentLookup; _Ember.EventDispatcher = EventDispatcher; _Ember._Cache = Cache; _Ember.GUID_KEY = GUID_KEY; _Ember.canInvoke = canInvoke; _Ember.generateGuid = generateGuid; _Ember.guidFor = guidFor; _Ember.uuid = uuid; _Ember.wrap = wrap; _Ember.getOwner = getOwner; _Ember.onLoad = onLoad; _Ember.runLoadHooks = runLoadHooks; _Ember.setOwner = setOwner; _Ember.Application = Application; // ****@ember/application/instance**** _Ember.ApplicationInstance = ApplicationInstance; // // ****@ember/application/namespace**** _Ember.Namespace = Namespace; // ****@ember/array**** _Ember.A = A; _Ember.Array = EmberArray; _Ember.NativeArray = NativeArray; _Ember.isArray = isArray; _Ember.makeArray = makeArray; _Ember.MutableArray = MutableArray; // ****@ember/array/proxy**** _Ember.ArrayProxy = ArrayProxy; // ****@ember/canary-features**** _Ember.FEATURES = { isEnabled, ...FEATURES }; _Ember._Input = Input; _Ember.Component = Component; // // ****@ember/component/helper**** _Ember.Helper = Helper; // ****@ember/controller**** _Ember.Controller = Controller; _Ember.ControllerMixin = ControllerMixin; // ****@ember/debug**** _Ember._captureRenderTree = captureRenderTree; _Ember.assert = assert; _Ember.warn = warn; _Ember.debug = debug; _Ember.deprecate = deprecate; _Ember.deprecateFunc = deprecateFunc; _Ember.runInDebug = runInDebug; _Ember.inspect = inspect; _Ember.Debug = { registerDeprecationHandler: registerHandler, registerWarnHandler: registerHandler$1, // ****@ember/-internals/metal**** isComputed: isComputed }; _Ember.ContainerDebugAdapter = ContainerDebugAdapter; // ****@ember/debug/data-adapter**** _Ember.DataAdapter = DataAdapter; // ****@ember/destroyable**** _Ember._assertDestroyablesDestroyed = assertDestroyablesDestroyed; _Ember._associateDestroyableChild = associateDestroyableChild; _Ember._enableDestroyableTracking = enableDestroyableTracking; _Ember._isDestroying = isDestroying; _Ember._isDestroyed = isDestroyed; _Ember._registerDestructor = registerDestructor; _Ember._unregisterDestructor = unregisterDestructor; _Ember.destroy = destroy; _Ember.Engine = Engine; // ****@ember/engine/instance**** _Ember.EngineInstance = EngineInstance; // ****@ember/enumerable**** _Ember.Enumerable = Enumerable; // ****@ember/enumerable/mutable**** _Ember.MutableEnumerable = MutableEnumerable; // ****@ember/instrumentation**** /** @private */ _Ember.instrument = instrument; _Ember.subscribe = subscribe; _Ember.Instrumentation = { instrument: instrument, subscribe: subscribe, unsubscribe: unsubscribe, reset: reset }; _Ember.Object = EmberObject; _Ember._action = action; _Ember.computed = computed; _Ember.defineProperty = defineProperty; _Ember.get = get; _Ember.getProperties = getProperties; _Ember.notifyPropertyChange = notifyPropertyChange; _Ember.observer = observer; _Ember.set = set; _Ember.trySet = trySet; _Ember.setProperties = setProperties; _Ember.cacheFor = getCachedValueFor; _Ember._dependentKeyCompat = dependentKeyCompat; _Ember.ComputedProperty = ComputedProperty; _Ember.expandProperties = expandProperties; _Ember.CoreObject = CoreObject; // ****@ember/object/evented**** _Ember.Evented = Evented; _Ember.on = on; _Ember.addListener = addListener; _Ember.removeListener = removeListener; _Ember.sendEvent = sendEvent; _Ember.Mixin = Mixin; _Ember.mixin = mixin; _Ember.Observable = Observable; // ****@ember/object/observers**** _Ember.addObserver = addObserver; _Ember.removeObserver = removeObserver; _Ember.PromiseProxyMixin = PromiseProxyMixin; // ****@ember/object/proxy**** _Ember.ObjectProxy = ObjectProxy; // ****@ember/routing/-internals**** _Ember.RouterDSL = DSLImpl; _Ember.controllerFor = controllerFor; _Ember.generateController = generateController; _Ember.generateControllerFactory = generateControllerFactory; _Ember.HashLocation = HashLocation; // ****@ember/routing/history-location**** _Ember.HistoryLocation = HistoryLocation; // ****@ember/routing/none-location**** _Ember.NoneLocation = NoneLocation; // ****@ember/routing/route**** _Ember.Route = Route; // ****@ember/routing/router**** _Ember.Router = EmberRouter; // // ****@ember/runloop**** _Ember.run = run; _Ember.Service = Service; // ****@ember/utils**** _Ember.compare = compare; _Ember.isBlank = isBlank; _Ember.isEmpty = isEmpty; _Ember.isEqual = isEqual; _Ember.isNone = isNone; _Ember.isPresent = isPresent; _Ember.typeOf = typeOf; _Ember.VERSION = Version; _Ember.ViewUtils = { // ****@ember/-internals/views**** getChildViews: getChildViews, getElementView: getElementView, getRootViews: getRootViews, getViewBounds: getViewBounds, getViewBoundingClientRect: getViewBoundingClientRect, getViewClientRects: getViewClientRects, getViewElement: getViewElement, isSimpleClick: isSimpleClick, // ****@ember/-internals/glimmer**** isSerializationFirstNode }; _Ember._getComponentTemplate = getComponentTemplate; _Ember._helperManagerCapabilities = helperCapabilities; _Ember._setComponentTemplate = setComponentTemplate; _Ember._setHelperManager = setHelperManager; _Ember._setModifierManager = setModifierManager; _Ember._templateOnlyComponent = templateOnlyComponent; _Ember._invokeHelper = invokeHelper; _Ember._hash = hash; _Ember._array = array; _Ember._concat = concat; _Ember._get = get$1; _Ember._on = on$1; _Ember._fn = fn; _Ember._Backburner = Backburner; // // ****@ember/controller, @ember/service**** /** Namespace for injection helper methods. @class inject @namespace Ember @static @public */ function inject$1() { // uses `globalThis` to avoid clobbering with `Ember.Object` in TS namespace (isDevelopingApp() && !(false) && assert(`Injected properties must be created through helpers, see '${globalThis.Object.keys(inject$1).map(k => `'inject.${k}'`).join(' or ')}'`)); } _Ember.inject = inject$1; // ****@ember/controller**** inject$1.controller = inject; // ****@ember/service**** inject$1.service = service; _Ember.__loader = { get require() { return globalThis.require; }, get define() { return globalThis.define; }, get registry() { let g = globalThis; return g.requirejs?.entries ?? g.require.entries; } }; // ------------------------------------------------------------------------ // // These properties are assigned to the namespace with getters (and, in some // cases setters) with `Object.defineProperty` below. // ------------------------------------------------------------------------ // // ****@ember/-internals/environment**** /** A function may be assigned to `Ember.onerror` to be called when Ember internals encounter an error. This is useful for specialized error handling and reporting code. ```javascript Ember.onerror = function(error) { const payload = { stack: error.stack, otherInformation: 'whatever app state you want to provide' }; fetch('/report-error', { method: 'POST', body: JSON.stringify(payload) }); }; ``` Internally, `Ember.onerror` is used as Backburner's error handler. @event onerror @for Ember @param {Error} error the error object @public */ // ****@ember/-internals/error-handling**** /** Whether searching on the global for new Namespace instances is enabled. This is only exported here as to not break any addons. Given the new visit API, you will have issues if you treat this as a indicator of booted. Internally this is only exposing a flag in Namespace. @property BOOTED @for Ember @type Boolean @private */ /** Global hash of shared templates. This will automatically be populated by the build tools so that you can store your Handlebars templates in separate files that get loaded into JavaScript at buildtime. @property TEMPLATES @for Ember @type Object @private */ })(Ember || (Ember = {})); // This syntax is not reliably implemented by TypeScript transpilers, but // we need to re-export the`RSVP` *namespace* for type compatibility. // To achieve this, we use a type-only `declare namespace` block to get the // types to behave correctly, and separately set the `RSVP` property on the // `Ember` object dynamically. (The types behave correctly because of // namespace merging semantics.) // eslint-disable-next-line @typescript-eslint/no-namespace Reflect.set(Ember, 'RSVP', RSVP); Object.defineProperty(Ember, 'ENV', { get: getENV, enumerable: false }); Object.defineProperty(Ember, 'lookup', { get: getLookup, set: setLookup, enumerable: false }); Object.defineProperty(Ember, 'onerror', { get: getOnerror, set: setOnerror, enumerable: false }); Object.defineProperty(Ember, 'testing', { get: isTesting, set: setTesting, enumerable: false }); Object.defineProperty(Ember, 'BOOTED', { configurable: false, enumerable: false, get: isSearchDisabled, set: setSearchDisabled }); Object.defineProperty(Ember, 'TEMPLATES', { get: getTemplates, set: setTemplates, configurable: false, enumerable: false }); Object.defineProperty(Ember, 'TEMPLATES', { get: getTemplates, set: setTemplates, configurable: false, enumerable: false }); // ****@ember/debug**** Object.defineProperty(Ember, 'testing', { get: isTesting, set: setTesting, enumerable: false }); runLoadHooks('Ember.Application', Application); let EmberHandlebars = { template: templateFactory, Utils: { escapeExpression } }; let EmberHTMLBars = { template: templateFactory }; function defineEmberTemplateCompilerLazyLoad(key) { Object.defineProperty(Ember, key, { configurable: true, enumerable: true, get() { if (__emberTemplateCompiler) { EmberHTMLBars.precompile = EmberHandlebars.precompile = __emberTemplateCompiler.precompile; EmberHTMLBars.compile = EmberHandlebars.compile = compileTemplate; Object.defineProperty(Ember, 'HTMLBars', { configurable: true, writable: true, enumerable: true, value: EmberHTMLBars }); Object.defineProperty(Ember, 'Handlebars', { configurable: true, writable: true, enumerable: true, value: EmberHandlebars }); } return key === 'Handlebars' ? EmberHandlebars : EmberHTMLBars; } }); } defineEmberTemplateCompilerLazyLoad('HTMLBars'); defineEmberTemplateCompilerLazyLoad('Handlebars'); // do this to ensure that Ember.Test is defined properly on the global // if it is present. function defineEmberTestingLazyLoad(key) { Object.defineProperty(Ember, key, { configurable: true, enumerable: true, get() { if (_impl) { let { Test, Adapter, QUnitAdapter, setupForTesting } = _impl; // @ts-expect-error We should not do this Test.Adapter = Adapter; // @ts-expect-error We should not do this Test.QUnitAdapter = QUnitAdapter; Object.defineProperty(Ember, 'Test', { configurable: true, writable: true, enumerable: true, value: Test }); Object.defineProperty(Ember, 'setupForTesting', { configurable: true, writable: true, enumerable: true, value: setupForTesting }); return key === 'Test' ? Test : setupForTesting; } return undefined; } }); } defineEmberTestingLazyLoad('Test'); defineEmberTestingLazyLoad('setupForTesting'); // @ts-expect-error Per types, runLoadHooks requires a second parameter. Should we loosen types? runLoadHooks('Ember'); const doNotUseThis = Ember; export { doNotUseThis as default };