• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

TypeScript opcode-compiler.OpcodeBuilder类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了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;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
TypeScript reference.combine函数代码示例发布时间:2022-05-28
下一篇:
TypeScript object-reference.Meta类代码示例发布时间:2022-05-28
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap