Package Exports
- jsonrpc-lite
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (jsonrpc-lite) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
Readme
JSON-RPC lite
Parse and Serialize JSON-RPC2 messages in node.js or browser.
Inspired by https://github.com/soggie/jsonrpc-serializer
A implementation of JSON-RPC 2.0 specifications
Install
npm install jsonrpc-liteAPI
const jsonrpc = require('jsonrpc-lite')jsonrpc.request(id, method[, params])
Creates a JSON-RPC 2.0 request object, return JsonRpc object.
id: {String|Integer}method: {String}params: {Object|Array}, optional
const requestObj = jsonrpc.request('123', 'update', {list: [1, 2, 3]})
// {
// jsonrpc: '2.0',
// id: '123',
// method: 'update',
// params: {list: [1, 2, 3]}
// }jsonrpc.notification(method[, params])
Creates a JSON-RPC 2.0 notification object, return JsonRpc object.
method: {String}params: {Object|Array}, optional
const notificationObj = jsonrpc.notification('update', {list: [1, 2, 3]})
// {
// jsonrpc: '2.0',
// method: 'update',
// params: {list: [1, 2, 3]}
// }jsonrpc.success(id, result)
Creates a JSON-RPC 2.0 success response object, return JsonRpc object.
id: {String|Integer}result: {Mixed}
const successObj = jsonrpc.success('123', 'OK')
// {
// jsonrpc: '2.0',
// id: '123',
// result: 'OK',
// }jsonrpc.error(id, error)
Creates a JSON-RPC 2.0 error response object, return JsonRpc object.
id: {String|Integer}error: {JsonRpcError}
const errorObj = jsonrpc.error('123', new jsonrpc.JsonRpcError('some error', 99))
// {
// jsonrpc: '2.0',
// id: '123',
// error: {code: 99, 'message': 'some error'},
// }jsonrpc.parse(message)
Takes a JSON-RPC 2.0 payload (string) and tries to parse it into a JSON. If successful, determine what object is it (response, notification, success, error, or invalid), and return it's type and properly formatted object.
message: {String}
return an array, or an object of this format:
single parsed request:
{
type: 'request',
payload: {
jsonrpc: '2.0',
id: 123,
method: 'update',
params: {}
}
}batch parsed result:
[{
type: 'request',
payload: {
jsonrpc: '2.0',
id: '123',
method: 'update',
params: [1, 2, 3]
}
}, {
type: 'notification',
payload: {
jsonrpc: '2.0',
method: 'update',
params: {_id: 'xxx'}
}
}, {
type: 'success',
payload: {
jsonrpc: '2.0',
id: '123',
result: 'OK'
}
}, {
type: 'error',
payload: {
jsonrpc: '2.0',
id: '123',
error: [jsonrpc.JsonRpcError object]
}
}, {
type: 'invalid',
payload: [jsonrpc.JsonRpcError object]
}]jsonrpc.parseObject(message)
Takes a JSON-RPC 2.0 payload (Object) and tries to parse it into a JSON. If successful, determine what object is it (response, notification, success, error, or invalid), and return it's type and properly formatted object.
message: {Object}
return an JsonRpcParsed object with type and payload.
Class: jsonrpc.JsonRpc()
Class: jsonrpc.JsonRpcError(message, code[, data])
Create a JsonRpcError instance.
message: {String}code: {Integer}data: {Mixed} optional
const error = new jsonrpc.JsonRpcError('some error', 999)