blob: c60702e7cc0c4ec9d2bfc906c69aed8aaae4d6a5 [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 format = require('format');
var h = require('mercury').h;
module.exports = {
render: render
};
// Helper method for rendering a list of properties on a state object. The
// render happens recursively if a property's value is an object.
function render(state) {
var keys = Object.keys(state);
var childern = [];
for (var i = 0; i < keys.length; i++) {
var key = keys[i];
var value = state[key];
var node;
if (typeof value === 'object' && value !== null) {
node = h('li.nested', [
h('.title', key + ':'),
render(value)
]);
} else {
node = h('li.property', format('%s: %s', key, value));
}
childern.push(node);
}
return h('ul.properties', childern);
}