UNPKG

ember-source

Version:

A JavaScript framework for creating ambitious web applications

58 lines (55 loc) 2.4 kB
import { p as privatize } from './registry-XY5cfmbH.js'; import { getOwner } from '../@ember/-internals/owner/index.js'; import '../@ember/debug/index.js'; import { O as OutletView, f as OutletTemplate, I as Input, L as LinkTo, T as Textarea, a as RootTemplate, R as Renderer } from './index-ByyoGpfz.js'; import './capabilities-DHiXCCuB.js'; import './debug-to-string-BsFOvUtQ.js'; import { isDevelopingApp } from '@embroider/macros'; import '../@glimmer/global-context/index.js'; import '../@glimmer/validator/index.js'; import './reference-B6HMX4y0.js'; import './dynamic-CuBsUXX8.js'; import './constants-oDhF27qL.js'; import '../@glimmer/destroyable/index.js'; import { c as clientBuilder } from './element-builder-BuVym8EM.js'; import { rehydrationBuilder } from '../@glimmer/runtime/index.js'; import { s as serializeBuilder } from './serialize-builder-DEgRJgNQ.js'; import { assert } from '../@ember/debug/lib/assert.js'; function setupApplicationRegistry(registry) { // because we are using injections we can't use instantiate false // we need to use bind() to copy the function so factory for // association won't leak registry.register('service:-dom-builder', { // Additionally, we *must* constrain this to require `props` on create, else // we *know* it cannot have an owner. create(props) { let owner = getOwner(props); (isDevelopingApp() && !(owner) && assert('DomBuilderService is unexpectedly missing an owner', owner)); let env = owner.lookup('-environment:main'); switch (env._renderMode) { case 'serialize': return serializeBuilder.bind(null); case 'rehydrate': return rehydrationBuilder.bind(null); default: return clientBuilder.bind(null); } } }); registry.register(privatize`template:-root`, RootTemplate); registry.register('renderer:-dom', Renderer); } function setupEngineRegistry(registry) { registry.optionsForType('template', { instantiate: false }); registry.register('view:-outlet', OutletView); registry.register('template:-outlet', OutletTemplate); registry.optionsForType('helper', { instantiate: false }); registry.register('component:input', Input); registry.register('component:link-to', LinkTo); registry.register('component:textarea', Textarea); } export { setupEngineRegistry as a, setupApplicationRegistry as s };