当前位置: 首页>>代码示例>>TypeScript>>正文


TypeScript container.Registry类代码示例

本文整理汇总了TypeScript中@ember/-internals/container.Registry的典型用法代码示例。如果您正苦于以下问题:TypeScript Registry类的具体用法?TypeScript Registry怎么用?TypeScript Registry使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


在下文中一共展示了Registry类的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。

示例1: setupApplicationRegistry

export function setupApplicationRegistry(registry: Registry) {
  registry.injection(
    'service:-glimmer-environment',
    'appendOperations',
    'service:-dom-tree-construction'
  );
  registry.injection('renderer', 'env', 'service:-glimmer-environment');

  // 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', {
    create({ bootOptions }: { bootOptions: { _renderMode: string } }) {
      let { _renderMode } = bootOptions;

      switch (_renderMode) {
        case 'serialize':
          return serializeBuilder.bind(null);
        case 'rehydrate':
          return rehydrationBuilder.bind(null);
        default:
          return clientBuilder.bind(null);
      }
    },
  });
  registry.injection('service:-dom-builder', 'bootOptions', '-environment:main');
  registry.injection('renderer', 'builder', 'service:-dom-builder');

  registry.register(P`template:-root`, RootTemplate);
  registry.injection('renderer', 'rootTemplate', P`template:-root`);

  registry.register('renderer:-dom', InteractiveRenderer);
  registry.register('renderer:-inert', InertRenderer);

  if (hasDOM) {
    registry.injection('service:-glimmer-environment', 'updateOperations', 'service:-dom-changes');
  }

  registry.register('service:-dom-changes', {
    create({ document }: { document: Simple.Document }) {
      return new DOMChanges(document);
    },
  });

  registry.register('service:-dom-tree-construction', {
    create({ document }: { document: Simple.Document }) {
      let Implementation = hasDOM ? DOMTreeConstruction : NodeDOMTreeConstruction;
      return new Implementation(document);
    },
  });
}
开发者ID:habdelra,项目名称:ember.js,代码行数:51,代码来源:setup-registry.ts

示例2: setupEngineRegistry

export function setupEngineRegistry(registry: Registry) {
  registry.register('view:-outlet', OutletView);
  registry.register('template:-outlet', OutletTemplate);
  registry.injection('view:-outlet', 'template', 'template:-outlet');

  registry.injection('service:-dom-changes', 'document', 'service:-document');
  registry.injection('service:-dom-tree-construction', 'document', 'service:-document');

  registry.register(P`template:components/-default`, ComponentTemplate);

  registry.register('service:-glimmer-environment', Environment);

  registry.register(P`template-compiler:main`, TemplateCompiler);

  registry.injection('template', 'compiler', P`template-compiler:main`);

  registry.optionsForType('helper', { instantiate: false });

  registry.register('helper:loc', loc);

  registry.register('component:-text-field', TextField);
  registry.register('component:-text-area', TextArea);
  registry.register('component:-checkbox', Checkbox);
  registry.register('component:link-to', LinkToComponent);

  if (!ENV._TEMPLATE_ONLY_GLIMMER_COMPONENTS) {
    registry.register(P`component:-default`, Component);
  }
}
开发者ID:habdelra,项目名称:ember.js,代码行数:29,代码来源:setup-registry.ts

示例3: setupEngineRegistry

export function setupEngineRegistry(registry: Registry) {
  registry.register('view:-outlet', OutletView);
  registry.register('template:-outlet', OutletTemplate);
  registry.injection('view:-outlet', 'template', 'template:-outlet');

  registry.injection('service:-dom-changes', 'document', 'service:-document');
  registry.injection('service:-dom-tree-construction', 'document', 'service:-document');

  registry.register(P`template:components/-default`, ComponentTemplate);

  registry.register('service:-glimmer-environment', Environment);

  registry.register(P`template-compiler:main`, TemplateCompiler);

  registry.injection('template', 'compiler', P`template-compiler:main`);

  registry.optionsForType('helper', { instantiate: false });

  registry.register('helper:loc', loc);

  registry.register('component:-text-field', TextField);
  registry.register('component:-checkbox', Checkbox);
  registry.register('component:link-to', LinkToComponent);

  if (EMBER_GLIMMER_ANGLE_BRACKET_BUILT_INS) {
    // Internal

    // These are registered as CapCase because our internal tempaltes do not
    // go through the dashify transform. As a nice bonus, it also makes it
    // more difficult for users to invoke them by accident.
    registry.register('component:TextField', TextField);
    registry.register('component:Checkbox', Checkbox);

    // Public

    registry.register('component:input', Input);
    registry.register('template:components/input', InputTemplate);

    registry.register('component:textarea', TextArea);
  } else {
    registry.register('component:-text-area', TextArea);
  }

  if (!ENV._TEMPLATE_ONLY_GLIMMER_COMPONENTS) {
    registry.register(P`component:-default`, Component);
  }
}
开发者ID:mixonic,项目名称:ember.js,代码行数:47,代码来源:setup-registry.ts


注:本文中的@ember/-internals/container.Registry类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。