export function uniqueId() { return 'f' + Math.random().toString(16).replace('.', '') + (+new Date()).toString(16); } export function keyBy(array, keyfunc) { let result = {}; for(let item of array) { if (typeof keyfunc == 'string') { result[item[keyfunc]] = item; } else { result[keyfunc(item)] = item; } } return result; } export function objCopy(object) { return JSON.parse(JSON.stringify(object)); } export function castId(id) { // TODO no-op after switching to UUIDs return +id; }