lib/capturable.js
'use strict';
module.exports = function capturable () {
var events = [];
function _capt (value, espath) {
events.push({value: value, espath: espath});
return value;
}
function _expr (value, args) {
var captured = events;
events = [];
var source = {
content: args.content,
filepath: args.filepath,
line: args.line
};
if (args.generator) {
source.generator = true;
}
if (args.async) {
source.async = true;
}
return {
powerAssertContext: {
value: value,
events: captured
},
source: source
};
}
return {
_capt: _capt,
_expr: _expr
};
};