@tbd54566975/dwn-proxy-js
Version:
Bidirectional proxy between DWM's <> RESTful
49 lines (42 loc) • 1.03 kB
text/typescript
import type { DwnMessage, DwnRequest, DwnResponse } from './dwn-types.js'
export type JsonRpcId = string | number | null
export type JsonRpcParams = DwnRequest // todo
export type JsonRpcVersion = '2.0'
export interface JsonRpcRequest {
jsonrpc: JsonRpcVersion
id?: JsonRpcId
method: string
params?: JsonRpcParams
}
export interface JsonRpcResponse {
jsonrpc: JsonRpcVersion
id: JsonRpcId
result: any
error?: undefined
}
export const parseRequest = (req: JsonRpcRequest): DwnRequest => {
return req.params
}
export const createRequest = (target: string, message: DwnMessage): JsonRpcRequest => {
return {
jsonrpc : '2.0',
id : '', // TODO
method : 'dwn.processMessage',
params : {
target,
message
}
}
}
export const parseResponse = (res: JsonRpcResponse): DwnResponse => {
return res.result
}
export const createResponse = (res: DwnResponse): JsonRpcResponse => {
return {
jsonrpc : '2.0',
id : '',
result : {
reply: res.reply
}
}
}