Correct types
This commit is contained in:
@@ -46,13 +46,14 @@ ol.expression.Expression.prototype.evaluate = goog.abstractMethod;
|
|||||||
*
|
*
|
||||||
* @constructor
|
* @constructor
|
||||||
* @extends {ol.expression.Expression}
|
* @extends {ol.expression.Expression}
|
||||||
* @param {expr} expr An expression that resolves to a function.
|
* @param {ol.expression.Expression} expr An expression that resolves to a
|
||||||
|
* function.
|
||||||
* @param {Array.<ol.expression.Expression>} args Arguments.
|
* @param {Array.<ol.expression.Expression>} args Arguments.
|
||||||
*/
|
*/
|
||||||
ol.expression.Call = function(expr, args) {
|
ol.expression.Call = function(expr, args) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @type {expr}
|
* @type {ol.expression.Expression}
|
||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
this.expr_ = expr;
|
this.expr_ = expr;
|
||||||
@@ -74,7 +75,7 @@ ol.expression.Call.prototype.evaluate = function(scope, opt_fns, opt_this) {
|
|||||||
var fnScope = goog.isDefAndNotNull(opt_fns) ? opt_fns : scope;
|
var fnScope = goog.isDefAndNotNull(opt_fns) ? opt_fns : scope;
|
||||||
var fn = this.expr_.evaluate(fnScope);
|
var fn = this.expr_.evaluate(fnScope);
|
||||||
if (!fn || !goog.isFunction(fn)) {
|
if (!fn || !goog.isFunction(fn)) {
|
||||||
throw new Error('No function in provided scope: ' + this.name_);
|
throw new Error('Expected function but found ' + fn);
|
||||||
}
|
}
|
||||||
var thisArg = goog.isDef(opt_this) ? opt_this : {};
|
var thisArg = goog.isDef(opt_this) ? opt_this : {};
|
||||||
|
|
||||||
@@ -458,7 +459,11 @@ goog.inherits(ol.expression.Member, ol.expression.Expression);
|
|||||||
*/
|
*/
|
||||||
ol.expression.Member.prototype.evaluate = function(scope, opt_fns, opt_this) {
|
ol.expression.Member.prototype.evaluate = function(scope, opt_fns, opt_this) {
|
||||||
var obj = this.expr_.evaluate(scope, opt_fns, opt_this);
|
var obj = this.expr_.evaluate(scope, opt_fns, opt_this);
|
||||||
return this.property_.evaluate(obj);
|
if (!goog.isObject(obj)) {
|
||||||
|
throw new Error('Expected member expression to evaluate to an object ' +
|
||||||
|
'but got ' + obj);
|
||||||
|
}
|
||||||
|
return this.property_.evaluate(/** @type {Object} */ (obj));
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@@ -154,7 +154,7 @@ ol.expression.Parser.prototype.createBinaryExpression_ = function(operator,
|
|||||||
* @private
|
* @private
|
||||||
*/
|
*/
|
||||||
ol.expression.Parser.prototype.createCallExpression_ = function(expr, args) {
|
ol.expression.Parser.prototype.createCallExpression_ = function(expr, args) {
|
||||||
return new ol.expressions.Call(expr, args);
|
return new ol.expression.Call(expr, args);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user