Пример #1
0
export function prepareHelper(stack, size) {
  var args = [],
      types = [],
      hashPairs = [],
      hashTypes = [],
      keyName,
      i;

  var hashSize = popStack(stack);

  for (i=0; i<hashSize; i++) {
    keyName = popStack(stack);
    hashPairs.push(keyName + ':' + popStack(stack));
    hashTypes.push(keyName + ':' + popStack(stack));
  }

  for (var i=0; i<size; i++) {
    args.push(popStack(stack));
    types.push(popStack(stack));
  }

  var programId = popStack(stack);

  var options = ['types:' + array(types), 'hashTypes:' + hash(hashTypes), 'hash:' + hash(hashPairs)];

  if (programId !== null) {
    options.push('render:child' + programId);
  }

  return {
    options: options,
    args: array(args),
  };
}
Пример #2
0
attrCompiler.appendText = function() {
  this.push("buffer += " + popStack(this.stack));
}