-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathparse.js
More file actions
52 lines (50 loc) · 1.1 KB
/
parse.js
File metadata and controls
52 lines (50 loc) · 1.1 KB
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
39
40
41
42
43
44
45
46
47
48
49
50
51
52
module.exports = {
name: "parse",
ns: "json",
title: "JSON Parse",
description: "Parses a string into a javascript object",
expose: ["JSON"],
async: true,
phrases: {
active: "Parsing JSON string"
},
ports: {
input: {
"in": {
type: "string",
title: "JSON String",
required: true
},
reviver: {
type: "function",
title: "prescribes how the value originally produced by parsing is transformed, before being returned",
"default": null
}
},
output: {
out: {
type: "object",
title: "The Javascript Object"
}
}
},
fn: function parse(input, $, output, state, done, cb, on, JSON) {
var r = function() {
/* output.out = JSON.parse($.in, $.reviver); */
on.input.in = function() {
output({
out: $.write('in', JSON.parse($.in, state.reviver))
});
};
on.input.reviver = function() {
state.reviver = $.reviver;
};
}.call(this);
return {
output: output,
state: state,
on: on,
return: r
};
}
}