node-jet
Version:
Jet Realtime Message Bus for the Web. Daemon and Peer implementation.
42 lines (41 loc) • 1.06 kB
JavaScript
export const getValue = (o, field) => {
if (field === '')
return o;
const keys = field.split('.');
for (let i = 0; i < keys.length; i++) {
const key = keys[i];
if (key in o) {
o = o[key];
}
else {
return undefined;
}
}
return o;
};
const isJsonRPCError = (err) => typeof err === 'object' && 'code' in err && 'message' in err;
export const errorObject = (err) => {
let data;
if (isJsonRPCError(err)) {
return err;
}
else {
data = {};
if (typeof err === 'string') {
data.message = err;
data.stack = 'no stack available';
}
else {
data.message = err.message;
data.stack = err.stack;
data.lineNumber = err.lineNumber;
data.fileName = err.fileName;
}
return {
code: -32603,
message: 'Internal error',
data
};
}
};
export const isState = (stateOrMethod) => '_value' in stateOrMethod;