UNPKG

ember-source

Version:

A JavaScript framework for creating ambitious web applications

75 lines (70 loc) 2.6 kB
import { privatize } from '../@ember/-internals/container/index.js'; import { getOwner } from '../@ember/-internals/owner/index.js'; import { I as Input, T as Textarea } from './textarea-Byj32raR.js'; import { LinkTo } from '../@ember/routing/index.js'; import './render-DkJJmoI4.js'; import { c as clientBuilder } from './element-builder-CnlTPNyw.js'; import { r as rehydrationBuilder } from './rehydrate-builder-DJ8k-6fg.js'; import { s as serializeBuilder } from './serialize-builder-R3Ozg0sC.js'; import { o as outletHelper, O as OutletView, R as Renderer } from './index-ClxHbCe9.js'; import { t as templateFactory } from './index-Bj71BDDA.js'; const OutletTemplate = templateFactory( /* {{component (outletHelper)}} */ { "id": null, "block": "[[[46,[28,[32,0],null,null],null,null,null]],[],[\"component\"]]", "moduleName": "packages/@ember/-internals/glimmer/lib/templates/outlet.hbs", "scope": () => ({ outletHelper }), "isStrictMode": true }); const RootTemplate = templateFactory( /* {{component this}} */ { "id": null, "block": "[[[46,[30,0],null,null,null]],[],[\"component\"]]", "moduleName": "packages/@ember/-internals/glimmer/lib/templates/root.hbs", "isStrictMode": true }); 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); 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 { RootTemplate as R, setupEngineRegistry as a, setupApplicationRegistry as s };