sqlite-browser
Version:
Query and page SQLite3 DBs from the command line
102 lines (81 loc) • 3.89 kB
JavaScript
// Generated by CoffeeScript 2.4.1
(function() {
'use strict';
var CND, alert, badge, debug, echo, help, info, log, rpr, urge, warn, whisper;
//###########################################################################################################
CND = require('cnd');
rpr = CND.rpr;
badge = 'SQLITE-BROWSER/exception-handler';
log = CND.get_logger('plain', badge);
debug = CND.get_logger('debug', badge);
info = CND.get_logger('info', badge);
warn = CND.get_logger('warn', badge);
alert = CND.get_logger('alert', badge);
help = CND.get_logger('help', badge);
urge = CND.get_logger('urge', badge);
whisper = CND.get_logger('whisper', badge);
echo = CND.echo.bind(CND);
//-----------------------------------------------------------------------------------------------------------
this.exit_handler = function(exception) {
var head, i, len, line, message, print, ref, ref1, tail;
// debug '55567', rpr exception
print = alert;
message = 'ROGUE EXCEPTION: ' + ((ref = exception != null ? exception.message : void 0) != null ? ref : "an unrecoverable condition occurred");
if ((exception != null ? exception.where : void 0) != null) {
message += '\n--------------------\n' + exception.where + '\n--------------------';
}
[] = message.split('\n');
print(CND.reverse(' ' + head + ' '));
for (i = 0, len = tail.length; i < len; i++) {
line = tail[i];
warn(line);
}
/* TAINT should have a way to set exit code explicitly */
whisper((ref1 = exception != null ? exception.stack : void 0) != null ? ref1 : "(exception undefined, no stack)");
return process.exit(1);
};
this.exit_handler = this.exit_handler.bind(this);
// debug 'µ55531', __filename
// debug 'µ55531', "app:", typeof app
// check for process.type:
// if process.type is 'renderer'
// # if typeof app is 'undefined'
// process.on 'uncaughtException', @exit_handler
// process.on 'unhandledRejection', @exit_handler
// else
// urge "µ55531 using electron-unhandled"
// ( require 'electron-unhandled' ) { showDialog: true, logger: @exit_handler, }
// if process.type is 'renderer'
// window.addEventListener 'error', ( event ) =>
// event.preventDefault()
// warn 'µ44333', "error:", ( k for k of event )
// window.addEventListener 'unhandledrejection', ( event ) =>
// event.preventDefault()
// # warn 'µ44333', "unhandled rejection:", ( k for k of event )
// warn 'µ44333', "unhandled rejection:", event.reason?.message ? "(no message)"
//###########################################################################################################
if (process.type === 'renderer') {
window.addEventListener('error', (event) => {
var message, ref, ref1, ref2, ref3;
// event.preventDefault()
message = ((ref = (ref1 = event.error) != null ? ref1.message : void 0) != null ? ref : "(error without message)") + '\n' + ((ref2 = (ref3 = event.error) != null ? ref3.stack : void 0) != null ? ref2 : '').slice(0, 500);
OPS.log(message);
// @exit_handler event.error
OPS.open_devtools();
return true;
});
window.addEventListener('unhandledrejection', (event) => {
var message, ref, ref1, ref2, ref3;
// event.preventDefault()
message = ((ref = (ref1 = event.reason) != null ? ref1.message : void 0) != null ? ref : "(error without message)") + '\n' + ((ref2 = (ref3 = event.reason) != null ? ref3.stack : void 0) != null ? ref2 : '').slice(0, 500);
OPS.log(message);
// @exit_handler event.reason
OPS.open_devtools();
return true;
});
} else {
process.on('uncaughtException', this.exit_handler);
process.on('unhandledRejection', this.exit_handler);
}
}).call(this);
//# sourceMappingURL=exception-handler.js.map