當前位置: 首頁>>代碼示例>>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;未經允許,請勿轉載。