jaydata-reso
Version:
Jaydata fork for RESO Web API
30 lines (27 loc) • 1.52 kB
JavaScript
$C('$data.Expressions.FunctionExpression', $data.Expressions.ExpressionNode, null, {
constructor: function (name, parameters, body) {
///<signature>
///<summary>Represents a function declaration.</summary>
///<param name="name" type="String">Function name</param>
///<param name="parameters" type="Array" elementType="$data.Expressions.ParameterExpression">The list of function parameters</param>
///<param name="body" type="$data.Expressions.ExpressionNode" />
///</signature>
///<field name="parameters" type="Array" elementType="$data.Expressions.ParameterExpression">The list of function parameters</field>
///<field name="body" type="$data.Expressions.ExpressionNode">The function body</field>
this.parameters = parameters || [];
this.name = name;
this.body = body;
},
toString: function (debug) {
var paramStrings = this.parameters.map(function (p) {
return p.toString();
});
paramStrings = paramStrings.join(",");
var bodyString = (this.body ? this.body.toString(debug) : '');
return "function " + this.name + "(" + paramStrings + ") { " + bodyString + "}";
},
nodeType: { value: $data.Expressions.ExpressionType.Function, writable: true },
parameters: { value: undefined, dataType: Array, elementType: $data.Expressions.ParameterExpression },
body: { value: undefined, dataType: $data.Expressions.ExpressionNode },
type: {}
}, null);