aboutsummaryrefslogtreecommitdiff
path: root/src/utility.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/utility.js')
-rw-r--r--src/utility.js22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/utility.js b/src/utility.js
index 63582ae8..b67e6c21 100644
--- a/src/utility.js
+++ b/src/utility.js
@@ -10,6 +10,10 @@ function safeQuote(x) {
function dump(item) {
try {
+ if (typeof item == 'object' && item !== null && item.funcData) {
+ var funcData = item.funcData;
+ item.funcData = null;
+ }
return '// ' + JSON.stringify(item, null, ' ').replace(/\n/g, '\n// ');
} catch(e) {
var ret = [];
@@ -22,6 +26,8 @@ function dump(item) {
}
}
return ret.join(',\n');
+ } finally {
+ if (funcData) item.funcData = funcData;
}
}
@@ -79,6 +85,13 @@ function warnOnce(a, msg) {
}
}
+var abortExecution = false;
+
+function error(msg) {
+ abortExecution = true;
+ printErr('Error: ' + msg);
+}
+
function dedup(items, ident) {
var seen = {};
if (ident) {
@@ -261,6 +274,15 @@ function set() {
}
var unset = keys;
+function numberedSet() {
+ var args = typeof arguments[0] === 'object' ? arguments[0] : arguments;
+ var ret = {};
+ for (var i = 0; i < args.length; i++) {
+ ret[args[i]] = i;
+ }
+ return ret;
+}
+
function setSub(x, y) {
var ret = set(keys(x));
for (yy in y) {