OpenVeo server API for plugins

API Docs for: 7.0.0
Show:

File: lib/grunt/ngDpTask/ValueExpression.js

'use strict';

/**
 * @module grunt
 */

var util = require('util');
var ElementExpression = process.requireApi('lib/grunt/ngDpTask/ElementExpression.js');

/**
 * A JavaScript value expression as angularJsApp.value().
 *
 * @class ValueExpression
 * @constructor
 * @param {Object} expression The value call expression as returned by esprima
 */
function ValueExpression(expression) {
  ValueExpression.super_.call(this, expression);
}

module.exports = ValueExpression;
util.inherits(ValueExpression, ElementExpression);

/**
 * Validates that the expression is an AngularJS value definition expression.
 *
 * An AngularJS value definition expression must have two arguments:
 *   - The name of the value to define
 *   - Could be anything
 *
 * @method isValid
 * @return {Boolean} true if this is a valid AngularJS value expression, false otherwise
 */
ValueExpression.prototype.isValid = function() {
  return (this.expression.arguments[0].type === 'Literal' && this.expression.arguments.length === 2);
};