'use strict';

var Consumer = require('./consumer.js');

module.exports = function(consumer, test) {
  return Consumer(function(api) {
    var res = consumer(api.stream);

    if (!res.accepted) {
      return api.reject('Wrapped consumer rejected.', res);
    }

    if (!test(res.value)) {
      return api.reject('constrainAcceptance test failed', res);
    }

    if (res.invalid) {
      api.invalidate('Wrapped consumer invalid.', res);
    }

    return api.accept(res.value);
  });
};

@@ -173,17 +173,16 @@
     if (
-!
 res.acce
@@ -189,87 +189,12 @@
 pted
-) %7B%0A      return api.reject('Wrapped consumer rejected.', res);%0A    %7D%0A%0A    if (
+ && 
 !tes
@@ -285,94 +285,8 @@
  %7D%0A%0A
-    if (res.invalid) %7B%0A      api.invalidate('Wrapped consumer invalid.', res);%0A    %7D%0A%0A
     
@@ -296,22 +296,23 @@
 urn api.
-accept
+forward
 (res.val
@@ -313,16 +313,21 @@
 es.value
+, res
 );%0A  %7D);

Use consumer api.forward in constrainAcceptance