blob: cc6c5e742b7a0fa0caac3e59fe2517f036ccca9f [file] [log] [blame]
// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
var hg = require('mercury');
var assert = require('assert');
module.exports = error;
module.exports.render = require('./render');
// A temporary way to display errors meaningfully to the user while logging
// relevant bits to the developer console.
function error(data) {
assert.ok(data.error, 'data.error is required');
assert.ok(data.error instanceof Error, 'data.error must be an error');
var state = hg.state({
title: data.title || data.error.name,
body: data.body || data.error.message,
error: data.error
});
console.error('Error reported via components/error');
console.error(data.error.stack);
return state;
}