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


TypeScript opcode-compiler.OpcodeBuilder类代码示例

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


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

示例1: blockLetMacro

export function blockLetMacro(params: WireFormat.Core.Params, _hash: WireFormat.Core.Hash, template: Option<CompilableBlock>, _inverse: Option<CompilableBlock>, builder: OpcodeBuilder<OwnedTemplateMeta>) {
  if (template !== null) {
    if (params !== null) {
      builder.compileParams(params);
      builder.invokeStaticBlock(template, params.length);
    } else {
      builder.invokeStatic(template);
    }
  }
  return true;
}
开发者ID:GowthamMK,项目名称:ember.js,代码行数:11,代码来源:let.ts

示例2: inputMacro

export function inputMacro(_name: string, params: Option<WireFormat.Core.Params>, hash: Option<WireFormat.Core.Hash>, builder: OpcodeBuilder<OwnedTemplateMeta>) {
  if (params === null) {
    params = [];
  }
  if (hash !== null) {
    let keys = hash[0];
    let values = hash[1];
    let typeIndex = keys.indexOf('type');

    if (typeIndex > -1) {
      let typeArg = values[typeIndex];
      if (Array.isArray(typeArg)) {
        // there is an AST plugin that converts this to an expression
        // it really should just compile in the component call too.
        let inputTypeExpr = params[0] as WireFormat.Expression;
        builder.dynamicComponent(inputTypeExpr, params.slice(1), hash, true, null, null);
        return true;
      }
      if (typeArg === 'checkbox') {
        assert(
          '{{input type=\'checkbox\'}} does not support setting `value=someBooleanValue`; ' +
            'you must use `checked=someBooleanValue` instead.',
          keys.indexOf('value') === -1,
        );
        wrapComponentClassAttribute(hash);
        return buildSyntax('-checkbox', params, hash, builder);
      }
    }
  }
  return buildSyntax('-text-field', params, hash, builder);
}
开发者ID:GowthamMK,项目名称:ember.js,代码行数:31,代码来源:input.ts

示例3: outletMacro

export function outletMacro(
  _name: string,
  params: Option<WireFormat.Core.Params>,
  hash: Option<WireFormat.Core.Hash>,
  builder: OpcodeBuilder<OwnedTemplateMeta>
) {
  let expr: WireFormat.Expressions.Helper = [WireFormat.Ops.Helper, '-outlet', params || [], hash];
  builder.dynamicComponent(expr, null, [], null, false, null, null);
  return true;
}
开发者ID:csantero,项目名称:ember.js,代码行数:10,代码来源:outlet.ts

示例4: renderMacro

export function renderMacro(_name: string, params: Option<WireFormat.Core.Params>, hash: Option<WireFormat.Core.Hash>, builder: OpcodeBuilder<OwnedTemplateMeta>) {
  if (ENV._ENABLE_RENDER_SUPPORT === true) {
    // TODO needs makeComponentDefinition a helper that returns a curried definition
    // TODO not sure all args are for definition or component
    // likely the controller name should be a arg to create?
    let expr: WireFormat.Expressions.Helper = [WireFormat.Ops.Helper, '-render', params || [], hash];
    builder.dynamicComponent(expr, null, null, false, null, null);
    return true;
  }
  return false;
}
开发者ID:GowthamMK,项目名称:ember.js,代码行数:11,代码来源:render.ts

示例5: mountMacro

export function mountMacro(
  _name: string,
  params: Option<WireFormat.Core.Params>,
  hash: Option<WireFormat.Core.Hash>,
  builder: OpcodeBuilder<OwnedTemplateMeta>
) {
  assert(
    'You can only pass a single positional argument to the {{mount}} helper, e.g. {{mount "chat-engine"}}.',
    params!.length === 1
  );

  let expr: WireFormat.Expressions.Helper = [WireFormat.Ops.Helper, '-mount', params || [], hash];
  builder.dynamicComponent(expr, null, [], null, false, null, null);
  return true;
}
开发者ID:cibernox,项目名称:ember.js,代码行数:15,代码来源:mount.ts


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