@builder.io/react 3.0.9-1 → 3.0.9

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/react",
3
- "version": "3.0.9-0",
3
+ "version": "3.0.9-2",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/builder-react.cjs.js",
@@ -100,6 +100,7 @@ function stringToFunction(str, expression, errors, logs) {
100
100
  : null;
101
101
  }));
102
102
  try {
103
+ // returning objects throw errors in isolated vm, so we stringify it and parse it back
103
104
  var res = JSON.parse(resultStr);
104
105
  return res;
105
106
  }
@@ -133,7 +134,12 @@ var indexOfBuilderInstance = 3;
133
134
  var makeFn = function (code, useReturn) {
134
135
  // Order must match the order of the arguments to the function
135
136
  var names = ['state', 'event', 'block', 'builder', 'Device', 'update', 'Builder', 'context'];
136
- return "\n const refToProxy = (obj) => {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n return new Proxy({}, {\n get(target, key) {\n if (key === 'copySync') {\n return () => obj.copySync();\n }\n const val = obj.getSync(key);\n if (typeof val?.getSync === 'function') {\n return refToProxy(val);\n }\n return val;\n },\n set(target, key, value) {\n obj.setSync(key, value);\n },\n deleteProperty(target, key) {\n obj.deleteSync(key);\n }\n })\n}\n".concat(names.map(function (arg, index) { return "var ".concat(arg, " = refToProxy($").concat(index, ");"); }).join('\n')).concat("\nvar ctx = context;\nvar stringify = (val) => {\n if (typeof val === 'object' && val !== null) {\n return JSON.stringify(val.copySync());\n }\n return val;\n}\n".concat(useReturn ? "return stringify(".concat(code, ");") : code, ";\n"));
137
+ // Convert all argument references to proxies, and pass `copySync` method to target object, to return a copy of the original JS object
138
+ // https://github.com/laverdet/isolated-vm#referencecopysync
139
+ var refToProxyFn = "\n var refToProxy = (obj) => {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n return new Proxy({}, {\n get(target, key) {\n if (key === 'copySync') {\n return () => obj.copySync();\n }\n const val = obj.getSync(key);\n if (typeof val?.getSync === 'function') {\n return refToProxy(val);\n }\n return val;\n },\n set(target, key, value) {\n obj.setSync(key, value);\n },\n deleteProperty(target, key) {\n obj.deleteSync(key);\n }\n })\n }\n";
140
+ // Returned object will be stringified and parsed back to the parent isolate
141
+ var strinfigyFn = "\n var stringify = (val) => {\n if (typeof val === 'object' && val !== null) {\n return JSON.stringify(val.copySync ? val.copySync() : val);\n }\n return val;\n }\n ";
142
+ return "\n".concat(refToProxyFn, "\n").concat(strinfigyFn, "\n").concat(names.map(function (arg, index) { return "var ".concat(arg, " = refToProxy($").concat(index, ");"); }).join('\n')).concat("\nvar ctx = context;\n".concat(useReturn ? "return stringify(".concat(code, ");") : code, ";\n"));
137
143
  };
138
144
  var getIsolateContext = function () {
139
145
  if (sdk_1.Builder.serverContext) {
@@ -1 +1 @@
1
- {"version":3,"file":"string-to-function.js","sourceRoot":"","sources":["../../../../src/functions/string-to-function.ts"],"names":[],"mappings":";;;;;;;;;;;;;;AAAA,uCAAmD;AACnD,+DAA4D;AAC5D,uCAAqC;AAErC,IAAM,OAAO,GAAuD,EAAE,CAAC;AAahE,IAAM,GAAG,GAAG,UAAC,KAAU,IAAK,OAAA,aAAO,EAAP,CAAO,CAAC;AAA9B,QAAA,GAAG,OAA2B;AAE3C,SAAgB,gBAAgB,CAC9B,GAAW,EACX,UAAiB,EACjB,MAAgB,EAChB,IAAe;IAFf,2BAAA,EAAA,iBAAiB;IAIjB,mBAAmB;IACnB,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE;QACvB,OAAO,cAAM,OAAA,SAAS,EAAT,CAAS,CAAC;KACxB;IAED,IAAM,QAAQ,GAAG,GAAG,GAAG,GAAG,GAAG,UAAU,CAAC;IACxC,IAAI,OAAO,CAAC,QAAQ,CAAC,EAAE;QACrB,OAAO,OAAO,CAAC,QAAQ,CAAE,CAAC;KAC3B;IAED,oBAAoB;IACpB,IAAM,SAAS,GACb,CAAC,UAAU;QACT,CAAC,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC;QACvF,GAAG,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;IACvC,IAAI,EAAE,GAAa;QACjB,yBAAyB;IAC3B,CAAC,CAAC;IAEF,IAAI;QACF,oEAAoE;QACpE,IAAI,aAAO,CAAC,SAAS,EAAE;YACrB,4BAA4B;YAC5B,EAAE,GAAG,IAAI,QAAQ,CACf,OAAO,EACP,OAAO,EACP,OAAO,EACP,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,SAAS,EACT,SAAS;YACT,qEAAqE;YACrE,kDAAkD;YAClD,kzBA6BM,SAAS,CAAC,CAAC,CAAC,kBAAW,GAAG,OAAI,CAAC,CAAC,CAAC,GAAG,6BAEzC,CACF,CAAC;SACH;KACF;IAAC,OAAO,KAAU,EAAE;QACnB,IAAI,MAAM,EAAE;YACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACpB;QACD,IAAM,OAAO,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC;QACvC,IAAI,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;YAC1C,IAAI,IAAI,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE;gBACxC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aACpB;SACF;QACD,IAAI,aAAO,CAAC,SAAS,EAAE;YACrB,OAAO,CAAC,IAAI,CAAC,oCAA6B,GAAG,CAAE,EAAE,KAAK,CAAC,CAAC;SACzD;KACF;IAED,IAAM,KAAK,GAAG;QAAC,cAAc;aAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;YAAd,yBAAc;;QAC3B,IAAI;YACF,IAAI,aAAO,CAAC,SAAS,EAAE;gBACrB,OAAO,EAAE,eAAI,IAAI,EAAE;aACpB;iBAAM;gBACL,0BAA0B;gBAC1B,iGAAiG;gBACjG,4CAA4C;gBAC5C,6HAA6H;gBAC7H,4FAA4F;gBAC5F,0FAA0F;gBAC1F,uBAAuB;gBACvB,6DAA6D;gBAC7D,IAAM,cAAc,GAAkC,iBAAiB,EAAE,CAAC;gBAC1E,IAAM,IAAI,GAAG,cAAc,CAAC,MAAM,CAAC;gBACnC,+FAA+F;gBAC/F,wFAAwF;gBACxF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;gBAEzC,oEAAoE;gBACpE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;oBAAU,cAAc;yBAAd,UAAc,EAAd,qBAAc,EAAd,IAAc;wBAAd,yBAAc;;oBAC1C,IAAI,IAAA,kBAAO,GAAE,EAAE;wBACb,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAE;qBACtB;gBACH,CAAC,CAAC,CAAC;gBAEH,IAAM,KAAG,GAAG,IAAA,yCAAkB,EAAC,aAAa,CAAiC,CAAC;gBAC9E,IAAM,SAAS,GAAG,cAAc,CAAC,eAAe,CAC9C,MAAM,CAAC,GAAG,EAAE,SAAS,CAAC,EACtB,IAAI,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK;oBAClB,OAAA,OAAO,GAAG,KAAK,QAAQ;wBACrB,CAAC,CAAC,IAAI,KAAG,CAAC,SAAS,CACf,KAAK,KAAK,sBAAsB;4BAC9B,CAAC,uBAEM,GAAG,KACN,iBAAiB,EAAE,cAAM,OAAA,GAAG,CAAC,iBAAiB,CAAC,EAAE,CAAC,EAAzB,CAAyB,IAEtD,CAAC,CAAC,GAAG,CACR;wBACH,CAAC,CAAC,IAAI;gBAVR,CAUQ,CACT,CACF,CAAC;gBACF,IAAI;oBACF,IAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC;oBAClC,OAAO,GAAG,CAAC;iBACZ;gBAAC,OAAO,MAAW,EAAE;oBACpB,OAAO,SAAS,CAAC;iBAClB;aACF;SACF;QAAC,OAAO,KAAU,EAAE;YACnB,IAAI,aAAO,CAAC,SAAS,EAAE;gBACrB,OAAO,CAAC,IAAI,CACV,4BAA4B,EAC5B,KAAK,CAAC,OAAO,IAAI,KAAK,EACtB,IAAI,EACJ,GAAG,EACH,KAAK,CAAC,KAAK,IAAI,KAAK,CACrB,CAAC;aACH;iBAAM;gBACL,IAAI,IAAA,kBAAO,GAAE,EAAE;oBACb,OAAO,CAAC,KAAK,CACX,4BAA4B,EAC5B,KAAK,CAAC,OAAO,IAAI,KAAK,EACtB,IAAI,EACJ,GAAG,EACH,KAAK,CAAC,KAAK,IAAI,KAAK,CACrB,CAAC;iBACH;aACF;YACD,IAAI,MAAM,EAAE;gBACV,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;aACpB;YACD,OAAO,IAAI,CAAC;SACb;IACH,CAAC,CAAC;IAEF,IAAI,aAAO,CAAC,SAAS,EAAE;QACrB,OAAO,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;KAC3B;IAED,OAAO,KAAK,CAAC;AACf,CAAC;AA3KD,4CA2KC;AAED,IAAM,sBAAsB,GAAG,CAAC,CAAC;AACjC,IAAM,MAAM,GAAG,UAAC,IAAY,EAAE,SAAkB;IAC9C,8DAA8D;IAC9D,IAAM,KAAK,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/F,OAAO,wlBAwBR,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,GAAG,EAAE,KAAK,IAAK,OAAA,cAAO,GAAG,4BAAkB,KAAK,OAAI,EAArC,CAAqC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,iLAQ3F,SAAS,CAAC,CAAC,CAAC,2BAAoB,IAAI,OAAI,CAAC,CAAC,CAAC,IAAI,QAChD,CAAC,CAAC;AACH,CAAC,CAAC;AAEF,IAAM,iBAAiB,GAAG;IACxB,IAAI,aAAO,CAAC,aAAa,EAAE;QACzB,OAAO,aAAO,CAAC,aAAa,CAAC;KAC9B;IACD,IAAM,GAAG,GAAG,IAAA,yCAAkB,EAAC,aAAa,CAAiC,CAAC;IAC9E,IAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;IACtD,aAAO,CAAC,gBAAgB,CAAC,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACtD,OAAO,aAAO,CAAC,aAAa,CAAC;AAC/B,CAAC,CAAC"}
1
+ {"version":3,"file":"string-to-function.js","sourceRoot":"","sources":["../../../../src/functions/string-to-function.ts"],"names":[],"mappings":"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"}
@@ -53,7 +53,7 @@ var fetching = function () { return __awaiter(void 0, void 0, void 0, function (
53
53
  json = _a.sent();
54
54
  console.log(json);
55
55
  b = undefined;
56
- jail.setSync('returnValue', function (val) { return b = val; });
56
+ jail.setSync('returnValue', function (val) { return (b = val); });
57
57
  state.articles = json;
58
58
  context.evalClosureSync("\n const refToProxy = (obj) => {\n if (typeof obj !== 'object' || obj === null) {\n return obj;\n }\n return new Proxy(obj, {\n get(target, key) {\n if(key === 'toJS') {\n return () => obj.copySync();\n }\n const val = obj.getSync(key);\n if (typeof val?.getSync === 'function') {\n return refToProxy(val);\n }\n return val;\n },\n set(target, key, value) {\n obj.setSync(key, value);\n },\n deleteProperty(target, key) {\n obj.deleteSync(key);\n },\n })\n }\n const state = refToProxy($0);\n \n returnValue(state.toJS());\n return state.articles.results.toJS();\n ", [new ivm.Reference(state)]);
59
59
  console.log(b.articles.results);
@@ -1 +1 @@
1
- {"version":3,"file":"iso-vm.js","sourceRoot":"","sources":["../../../../src/scripts/iso-vm.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEnC,IAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;AAEtD,IAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;AAC5C,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;AAC5B,IAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAChD,IAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACpC,IAAM,QAAQ,GAAG;;;;oBACA,qBAAM,KAAK,CACxB,sGAAsG,CACvG,EAAA;;gBAFK,MAAM,GAAG,SAEd;gBACY,qBAAM,MAAM,CAAC,IAAI,EAAE,EAAA;;gBAA1B,IAAI,GAAG,SAAmB;gBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACd,CAAC,GAAG,SAAS,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAC,GAAG,IAAK,OAAA,CAAC,GAAG,GAAG,EAAP,CAAO,CAAE,CAAA;gBAC9C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtB,OAAO,CAAC,eAAe,CACrB,qwBA4BF,EACE,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAC3B,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;;;;KACjC,CAAC;AACF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAEzC,oEAAoE;AACpE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IAAU,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IACnC,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAE;AACvB,CAAC,CAAC,CAAC;AAEH,QAAQ,EAAE,CAAC"}
1
+ {"version":3,"file":"iso-vm.js","sourceRoot":"","sources":["../../../../src/scripts/iso-vm.js"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,IAAM,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;AAEnC,IAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC;AAEtD,IAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;AAC5C,IAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC;AAC5B,IAAM,KAAK,GAAG,EAAE,QAAQ,EAAE,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;AAChD,IAAM,KAAK,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;AACpC,IAAM,QAAQ,GAAG;;;;oBACA,qBAAM,KAAK,CACxB,sGAAsG,CACvG,EAAA;;gBAFK,MAAM,GAAG,SAEd;gBACY,qBAAM,MAAM,CAAC,IAAI,EAAE,EAAA;;gBAA1B,IAAI,GAAG,SAAmB;gBAChC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACd,CAAC,GAAG,SAAS,CAAC;gBAClB,IAAI,CAAC,OAAO,CAAC,aAAa,EAAE,UAAA,GAAG,IAAI,OAAA,CAAC,CAAC,GAAG,GAAG,CAAC,EAAT,CAAS,CAAC,CAAC;gBAC9C,KAAK,CAAC,QAAQ,GAAG,IAAI,CAAC;gBACtB,OAAO,CAAC,eAAe,CACrB,qwBA4BF,EACE,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAC3B,CAAC;gBAEF,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;;;;KACjC,CAAC;AACF,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC;AAEzC,oEAAoE;AACpE,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE;IAAU,cAAO;SAAP,UAAO,EAAP,qBAAO,EAAP,IAAO;QAAP,yBAAO;;IACnC,OAAO,CAAC,GAAG,OAAX,OAAO,EAAQ,IAAI,EAAE;AACvB,CAAC,CAAC,CAAC;AAEH,QAAQ,EAAE,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@builder.io/react",
3
- "version": "3.0.9-1",
3
+ "version": "3.0.9",
4
4
  "description": "",
5
5
  "keywords": [],
6
6
  "main": "dist/builder-react.cjs.js",
@@ -131,6 +131,5 @@
131
131
  "installConfig": {
132
132
  "hoistingLimits": "workspaces"
133
133
  },
134
- "gitHead": "4d96fbc32864698afbb355ab991c6d90be991951",
135
- "stableVersion": "3.0.9-0"
134
+ "gitHead": "4d96fbc32864698afbb355ab991c6d90be991951"
136
135
  }
@@ -150,6 +150,7 @@ export function stringToFunction(
150
150
  )
151
151
  );
152
152
  try {
153
+ // returning objects throw errors in isolated vm, so we stringify it and parse it back
153
154
  const res = JSON.parse(resultStr);
154
155
  return res;
155
156
  } catch (_error: any) {
@@ -191,41 +192,53 @@ export function stringToFunction(
191
192
  }
192
193
 
193
194
  const indexOfBuilderInstance = 3;
195
+
194
196
  const makeFn = (code: string, useReturn: boolean) => {
195
197
  // Order must match the order of the arguments to the function
196
198
  const names = ['state', 'event', 'block', 'builder', 'Device', 'update', 'Builder', 'context'];
197
- return `
198
- const refToProxy = (obj) => {
199
- if (typeof obj !== 'object' || obj === null) {
200
- return obj;
199
+
200
+ // Convert all argument references to proxies, and pass `copySync` method to target object, to return a copy of the original JS object
201
+ // https://github.com/laverdet/isolated-vm#referencecopysync
202
+ const refToProxyFn = `
203
+ var refToProxy = (obj) => {
204
+ if (typeof obj !== 'object' || obj === null) {
205
+ return obj;
206
+ }
207
+ return new Proxy({}, {
208
+ get(target, key) {
209
+ if (key === 'copySync') {
210
+ return () => obj.copySync();
211
+ }
212
+ const val = obj.getSync(key);
213
+ if (typeof val?.getSync === 'function') {
214
+ return refToProxy(val);
215
+ }
216
+ return val;
217
+ },
218
+ set(target, key, value) {
219
+ obj.setSync(key, value);
220
+ },
221
+ deleteProperty(target, key) {
222
+ obj.deleteSync(key);
223
+ }
224
+ })
201
225
  }
202
- return new Proxy({}, {
203
- get(target, key) {
204
- if (key === 'copySync') {
205
- return () => obj.copySync();
206
- }
207
- const val = obj.getSync(key);
208
- if (typeof val?.getSync === 'function') {
209
- return refToProxy(val);
210
- }
211
- return val;
212
- },
213
- set(target, key, value) {
214
- obj.setSync(key, value);
215
- },
216
- deleteProperty(target, key) {
217
- obj.deleteSync(key);
226
+ `;
227
+ // Returned object will be stringified and parsed back to the parent isolate
228
+ const strinfigyFn = `
229
+ var stringify = (val) => {
230
+ if (typeof val === 'object' && val !== null) {
231
+ return JSON.stringify(val.copySync ? val.copySync() : val);
218
232
  }
219
- })
220
- }
233
+ return val;
234
+ }
235
+ `;
236
+
237
+ return `
238
+ ${refToProxyFn}
239
+ ${strinfigyFn}
221
240
  `.concat(names.map((arg, index) => `var ${arg} = refToProxy($${index});`).join('\n')).concat(`
222
241
  var ctx = context;
223
- var stringify = (val) => {
224
- if (typeof val === 'object' && val !== null) {
225
- return JSON.stringify(val.copySync());
226
- }
227
- return val;
228
- }
229
242
  ${useReturn ? `return stringify(${code});` : code};
230
243
  `);
231
244
  };
@@ -13,7 +13,7 @@ const fetching = async () => {
13
13
  const json = await result.json();
14
14
  console.log(json);
15
15
  let b = undefined;
16
- jail.setSync('returnValue', (val) => b = val )
16
+ jail.setSync('returnValue', val => (b = val));
17
17
  state.articles = json;
18
18
  context.evalClosureSync(
19
19
  `