1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| '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
| };
| };
|
|