Sha256: 0e90c99382dce67f15f6357992da627b901c7ad4593007878d454803e070c76c

Contents?: true

Size: 946 Bytes

Versions: 5

Compression:

Stored size: 946 Bytes

Contents

let AST = {
  // Public API used to evaluate derived attributes regarding AST nodes
  helpers: {
    // a mustache is definitely a helper if:
    // * it is an eligible helper, and
    // * it has at least one parameter or hash segment
    helperExpression: function(node) {
      return (node.type === 'SubExpression')
          || ((node.type === 'MustacheStatement' || node.type === 'BlockStatement')
            && !!((node.params && node.params.length) || node.hash));
    },

    scopedId: function(path) {
      return (/^\.|this\b/).test(path.original);
    },

    // an ID is simple if it only has one part, and that part is not
    // `..` or `this`.
    simpleId: function(path) {
      return path.parts.length === 1 && !AST.helpers.scopedId(path) && !path.depth;
    }
  }
};


// Must be exported as an object rather than the root of the module as the jison lexer
// must modify the object to operate properly.
export default AST;

Version data entries

5 entries across 5 versions & 3 rubygems

Version Path
locomotivecms-4.0.0.alpha1 app/javascript/node_modules/handlebars/lib/handlebars/compiler/ast.js
locomotivecms-3.4.0 app/javascript/node_modules/handlebars/lib/handlebars/compiler/ast.js
lanes-0.8.0 node_modules/handlebars/lib/handlebars/compiler/ast.js
eslint_node_modules-1.6.0.1 vendor/node_modules/eslint/node_modules/handlebars/lib/handlebars/compiler/ast.js
eslint_node_modules-1.6.0 vendor/node_modules/eslint/node_modules/handlebars/lib/handlebars/compiler/ast.js