dist/amd/aurelia-validation.js
function getPropertyInfo(expression, source) {
      var originalExpression = expression;
      while (expression instanceof aureliaBinding.BindingBehavior || expression instanceof aureliaBinding.ValueConverter) {
          expression = expression.expression;
      }
      var object;
      var propertyName;
      if (expression instanceof aureliaBinding.AccessScope) {
          object = aureliaBinding.getContextFor(expression.name, source, expression.ancestor);
          propertyName = expression.name;
      }
      else if (expression instanceof aureliaBinding.AccessMember) {
          object = getObject(originalExpression, expression.object, source);
          propertyName = expression.name;
      }
      else if (expression instanceof aureliaBinding.AccessKeyed) {
          object = getObject(originalExpression, expression.object, source);
          propertyName = expression.key.evaluate(source);
      }
      else {
          throw new Error("Expression '" + originalExpression + "' is not compatible with the validate binding-behavior.");
      }
      if (object === null || object === undefined) {
          return null;
      }
      return { object: object, propertyName: propertyName };
  }
function getPropertyInfo(expression, source) {
      var originalExpression = expression;
      while (expression instanceof aureliaBinding.BindingBehavior || expression instanceof aureliaBinding.ValueConverter) {
          expression = expression.expression;
      }
      var object;
      var propertyName;
      if (expression instanceof aureliaBinding.AccessScope) {
          object = aureliaBinding.getContextFor(expression.name, source, expression.ancestor);
          propertyName = expression.name;
      }
      else if (expression instanceof aureliaBinding.AccessMember) {
          object = getObject(originalExpression, expression.object, source);
          propertyName = expression.name;
      }
      else if (expression instanceof aureliaBinding.AccessKeyed) {
          object = getObject(originalExpression, expression.object, source);
          propertyName = expression.key.evaluate(source);
      }
      else {
          throw new Error("Expression '" + originalExpression + "' is not compatible with the validate binding-behavior.");
      }
      if (object === null || object === undefined) {
          return null;
      }
      return { object: object, propertyName: propertyName };
  }
function getPropertyInfo ( expression , source ) { var originalExpression = expression ; while ( expression instanceof aureliaBinding . BindingBehavior || expression instanceof aureliaBinding . ValueConverter ) { expression = expression . expression ; } var object ; var propertyName ; if ( expression instanceof aureliaBinding . AccessScope ) { object = aureliaBinding . getContextFor ( expression . name , source , expression . ancestor ) ; propertyName = expression . name ; } else if ( expression instanceof aureliaBinding . AccessMember ) { object = getObject ( originalExpression , expression . object , source ) ; propertyName = expression . name ; } else if ( expression instanceof aureliaBinding . AccessKeyed ) { object = getObject ( originalExpression , expression . object , source ) ; propertyName = expression . key . evaluate ( source ) ; } else { throw new Error ( "Expression '" + originalExpression + "' is not compatible with the validate binding-behavior." ) ; } if ( object === null || object === undefined ) { return null ; } return { object : object , propertyName : propertyName } ; }
Retrieves the object and property name for the specified expression.
@param expression The expression
@param source The scope
Retrieves the object and property name for the specified expression .