occam-languages 2.1.18 → 2.1.20
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.
|
@@ -36,20 +36,7 @@ function breakable(innerFunction) {
|
|
|
36
36
|
const continuation = remainingArguments.pop(), context = remainingArguments.pop();
|
|
37
37
|
this.break(context, ()=>{
|
|
38
38
|
setImmediate(()=>{
|
|
39
|
-
|
|
40
|
-
const nodeString = this.getString ? this.getString() : 'Unknown Node';
|
|
41
|
-
const funcName = innerFunction.name || 'anonymous function';
|
|
42
|
-
const watchdog = setTimeout(()=>{
|
|
43
|
-
console.error(`\n🚨 CONTINUATION LEAK DETECTED!`);
|
|
44
|
-
console.error(`Function: ${funcName}`);
|
|
45
|
-
console.error(`Node: ${nodeString}`);
|
|
46
|
-
console.error(`The baton was passed here but never handed back.\n`);
|
|
47
|
-
}, 2000);
|
|
48
|
-
const safeContinuation = (...args)=>{
|
|
49
|
-
clearTimeout(watchdog);
|
|
50
|
-
continuation(...args);
|
|
51
|
-
};
|
|
52
|
-
innerFunction.call(this, ...remainingArguments, context, safeContinuation);
|
|
39
|
+
innerFunction.call(this, ...remainingArguments, context, continuation);
|
|
53
40
|
});
|
|
54
41
|
});
|
|
55
42
|
};
|
|
@@ -92,4 +79,4 @@ const _default = {
|
|
|
92
79
|
lineIndexFromNodeAndTokens
|
|
93
80
|
};
|
|
94
81
|
|
|
95
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYnJlYWtQb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJyZWFrUG9pbnQgZnJvbSBcIi4uL2JyZWFrUG9pbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGJyZWFrYWJsZShpbm5lckZ1bmN0aW9uKSB7XG4gIHJldHVybiBmdW5jdGlvbiguLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIHRoaXMuYnJlYWsoY29udGV4dCwgKCkgPT4ge1xuICAgICAgc2V0SW1tZWRpYXRlKCgpID0+
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvYnJlYWtQb2ludC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJcInVzZSBzdHJpY3RcIjtcblxuaW1wb3J0IEJyZWFrUG9pbnQgZnJvbSBcIi4uL2JyZWFrUG9pbnRcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGJyZWFrYWJsZShpbm5lckZ1bmN0aW9uKSB7XG4gIHJldHVybiBmdW5jdGlvbiguLi5yZW1haW5pbmdBcmd1bWVudHMpIHtcbiAgICBjb25zdCBjb250aW51YXRpb24gPSByZW1haW5pbmdBcmd1bWVudHMucG9wKCksXG4gICAgICAgICAgY29udGV4dCA9IHJlbWFpbmluZ0FyZ3VtZW50cy5wb3AoKTtcblxuICAgIHRoaXMuYnJlYWsoY29udGV4dCwgKCkgPT4ge1xuICAgICAgc2V0SW1tZWRpYXRlKCgpID0+IHtcbiAgICAgICAgaW5uZXJGdW5jdGlvbi5jYWxsKHRoaXMsIC4uLnJlbWFpbmluZ0FyZ3VtZW50cywgY29udGV4dCwgY29udGludWF0aW9uKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnJlYWtQb2ludEZyb21KU09OKGpzb24pIHtcbiAgbGV0IGJyZWFrUG9pbnQ7XG5cbiAgKHsgYnJlYWtQb2ludCB9ID0ganNvbik7XG5cbiAgaWYgKGJyZWFrUG9pbnQgIT09IG51bGwpIHtcbiAgICBjb25zdCBicmVha1BvaW50SlNPTiA9IGJyZWFrUG9pbnQ7ICAvLy9cblxuICAgIGpzb24gPSBicmVha1BvaW50SlNPTjsgIC8vL1xuXG4gICAgYnJlYWtQb2ludCA9IEJyZWFrUG9pbnQuZnJvbUpTT04oanNvbik7ICAvLy9cbiAgfVxuXG4gIHJldHVybiBicmVha1BvaW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gYnJlYWtQb2ludFRvQnJlYWtQb2ludEpTT04oYnJlYWtQb2ludCkge1xuICBsZXQgYnJlYWtQb2ludEpTT04gPSBudWxsO1xuXG4gIGlmIChicmVha1BvaW50ICE9PSBudWxsKSB7XG4gICAgYnJlYWtQb2ludEpTT04gPSBicmVha1BvaW50LnRvSlNPTigpO1xuICB9XG5cbiAgcmV0dXJuIGJyZWFrUG9pbnRKU09OO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbGluZUluZGV4RnJvbU5vZGVBbmRUb2tlbnMobm9kZSwgdG9rZW5zKSB7XG4gIGxldCBsaW5lSW5kZXggPSAwO1xuXG4gIGNvbnN0IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4ID0gbm9kZS5nZXRGaXJzdFNpZ25pZmljYW50VG9rZW5JbmRleCh0b2tlbnMpO1xuXG4gIHRva2Vucy5zb21lKCh0b2tlbiwgdG9rZW5JbmRleCkgPT4ge1xuICAgIGNvbnN0IHRva2VuRW5kT2ZMaW5lVG9rZW4gPSB0b2tlbi5pc0VuZE9mTGluZVRva2VuKCk7XG5cbiAgICBpZiAodG9rZW5FbmRPZkxpbmVUb2tlbikge1xuICAgICAgbGluZUluZGV4ICs9IDE7XG4gICAgfVxuXG4gICAgaWYgKHRva2VuSW5kZXggPT09IGZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4KSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gIH0pO1xuXG4gIHJldHVybiBsaW5lSW5kZXg7XG59XG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgYnJlYWthYmxlLFxuICBicmVha1BvaW50RnJvbUpTT04sXG4gIGJyZWFrUG9pbnRUb0JyZWFrUG9pbnRKU09OLFxuICBsaW5lSW5kZXhGcm9tTm9kZUFuZFRva2Vuc1xufTtcbiJdLCJuYW1lcyI6WyJicmVha1BvaW50RnJvbUpTT04iLCJicmVha1BvaW50VG9CcmVha1BvaW50SlNPTiIsImJyZWFrYWJsZSIsImxpbmVJbmRleEZyb21Ob2RlQW5kVG9rZW5zIiwiaW5uZXJGdW5jdGlvbiIsInJlbWFpbmluZ0FyZ3VtZW50cyIsImNvbnRpbnVhdGlvbiIsInBvcCIsImNvbnRleHQiLCJicmVhayIsInNldEltbWVkaWF0ZSIsImNhbGwiLCJqc29uIiwiYnJlYWtQb2ludCIsImJyZWFrUG9pbnRKU09OIiwiQnJlYWtQb2ludCIsImZyb21KU09OIiwidG9KU09OIiwibm9kZSIsInRva2VucyIsImxpbmVJbmRleCIsImZpcnN0U2lnbmlmaWNhbnRUb2tlbkluZGV4IiwiZ2V0Rmlyc3RTaWduaWZpY2FudFRva2VuSW5kZXgiLCJzb21lIiwidG9rZW4iLCJ0b2tlbkluZGV4IiwidG9rZW5FbmRPZkxpbmVUb2tlbiIsImlzRW5kT2ZMaW5lVG9rZW4iXSwibWFwcGluZ3MiOiJBQUFBOzs7Ozs7Ozs7OztRQWlCZ0JBO2VBQUFBOztRQWdCQUM7ZUFBQUE7O1FBN0JBQztlQUFBQTs7UUEyRGhCO2VBQUE7O1FBcEJnQkM7ZUFBQUE7OzttRUF6Q087Ozs7OztBQUVoQixTQUFTRCxVQUFVRSxhQUFhO0lBQ3JDLE9BQU8sU0FBUyxHQUFHQyxrQkFBa0I7UUFDbkMsTUFBTUMsZUFBZUQsbUJBQW1CRSxHQUFHLElBQ3JDQyxVQUFVSCxtQkFBbUJFLEdBQUc7UUFFdEMsSUFBSSxDQUFDRSxLQUFLLENBQUNELFNBQVM7WUFDbEJFLGFBQWE7Z0JBQ1hOLGNBQWNPLElBQUksQ0FBQyxJQUFJLEtBQUtOLG9CQUFvQkcsU0FBU0Y7WUFDM0Q7UUFDRjtJQUNGO0FBQ0Y7QUFFTyxTQUFTTixtQkFBbUJZLElBQUk7SUFDckMsSUFBSUM7SUFFSCxDQUFBLEVBQUVBLFVBQVUsRUFBRSxHQUFHRCxJQUFHO0lBRXJCLElBQUlDLGVBQWUsTUFBTTtRQUN2QixNQUFNQyxpQkFBaUJELFlBQWEsR0FBRztRQUV2Q0QsT0FBT0UsZ0JBQWlCLEdBQUc7UUFFM0JELGFBQWFFLG1CQUFVLENBQUNDLFFBQVEsQ0FBQ0osT0FBUSxHQUFHO0lBQzlDO0lBRUEsT0FBT0M7QUFDVDtBQUVPLFNBQVNaLDJCQUEyQlksVUFBVTtJQUNuRCxJQUFJQyxpQkFBaUI7SUFFckIsSUFBSUQsZUFBZSxNQUFNO1FBQ3ZCQyxpQkFBaUJELFdBQVdJLE1BQU07SUFDcEM7SUFFQSxPQUFPSDtBQUNUO0FBRU8sU0FBU1gsMkJBQTJCZSxJQUFJLEVBQUVDLE1BQU07SUFDckQsSUFBSUMsWUFBWTtJQUVoQixNQUFNQyw2QkFBNkJILEtBQUtJLDZCQUE2QixDQUFDSDtJQUV0RUEsT0FBT0ksSUFBSSxDQUFDLENBQUNDLE9BQU9DO1FBQ2xCLE1BQU1DLHNCQUFzQkYsTUFBTUcsZ0JBQWdCO1FBRWxELElBQUlELHFCQUFxQjtZQUN2Qk4sYUFBYTtRQUNmO1FBRUEsSUFBSUssZUFBZUosNEJBQTRCO1lBQzdDLE9BQU87UUFDVDtJQUNGO0lBRUEsT0FBT0Q7QUFDVDtNQUVBLFdBQWU7SUFDYmxCO0lBQ0FGO0lBQ0FDO0lBQ0FFO0FBQ0YifQ==
|
package/package.json
CHANGED
|
@@ -9,41 +9,12 @@ export function breakable(innerFunction) {
|
|
|
9
9
|
|
|
10
10
|
this.break(context, () => {
|
|
11
11
|
setImmediate(() => {
|
|
12
|
-
|
|
13
|
-
const nodeString = this.getString ? this.getString() : 'Unknown Node';
|
|
14
|
-
const funcName = innerFunction.name || 'anonymous function';
|
|
15
|
-
|
|
16
|
-
const watchdog = setTimeout(() => {
|
|
17
|
-
console.error(`\n🚨 CONTINUATION LEAK DETECTED!`);
|
|
18
|
-
console.error(`Function: ${funcName}`);
|
|
19
|
-
console.error(`Node: ${nodeString}`);
|
|
20
|
-
console.error(`The baton was passed here but never handed back.\n`);
|
|
21
|
-
}, 2000);
|
|
22
|
-
|
|
23
|
-
const safeContinuation = (...args) => {
|
|
24
|
-
clearTimeout(watchdog);
|
|
25
|
-
continuation(...args);
|
|
26
|
-
};
|
|
27
|
-
|
|
28
|
-
innerFunction.call(this, ...remainingArguments, context, safeContinuation);
|
|
12
|
+
innerFunction.call(this, ...remainingArguments, context, continuation);
|
|
29
13
|
});
|
|
30
14
|
});
|
|
31
15
|
};
|
|
32
16
|
}
|
|
33
17
|
|
|
34
|
-
// export function _breakable(innerFunction) {
|
|
35
|
-
// return function(...remainingArguments) {
|
|
36
|
-
// const continuation = remainingArguments.pop(),
|
|
37
|
-
// context = remainingArguments.pop();
|
|
38
|
-
//
|
|
39
|
-
// this.break(context, () => {
|
|
40
|
-
// setImmediate(() => {
|
|
41
|
-
// innerFunction.call(this, ...remainingArguments, context, continuation);
|
|
42
|
-
// });
|
|
43
|
-
// });
|
|
44
|
-
// };
|
|
45
|
-
// }
|
|
46
|
-
|
|
47
18
|
export function breakPointFromJSON(json) {
|
|
48
19
|
let breakPoint;
|
|
49
20
|
|