1.5.7 • Published 11 months ago
@orochi-network/jrpc v1.5.7
JRPC
Usage
- Write new service definition in
./src/service/
- Add new section in
./src/generator.ts
- Execute:
npm run generate
Service definition
import { JNumber, JMessage, JString, JOptional } from '../data-type';
import { JService } from '../service';
const JMessageChild = JMessage('ServiceTest/TMessageProfile', {
firstName: JString,
lastName: JString
});
const JMessageUserProfile = JMessage('ServiceTest/TMessageUserProfile', {
username: JString,
age: JNumber,
profile: JOptional(JMessageChild)
});
export const JServiceTest = new JService('service-test', 'ServiceTest', [
{
method: 'getUser',
request: JNumber,
response: JMessageUserProfile
},
{
method: 'newUser',
request: JMessageUserProfile,
response: JNumber
}
]);
Client example
import { logger, setLogger, ServiceTest } from '@orochi-network/jrpc';
setLogger(console);
(async () => {
const client = ServiceTest.Client('http://127.0.0.1:8080/json-rpc/2.0');
logger.log(await client.getUser(1));
logger.log(await client.newUser({ username: 'chiro', age: 36, profile: undefined }));
})();
Service server
import express from 'express';
import { StartJsonRpc, ServiceTest, setLogger } from '@orochi-network/jrpc';
const app = express();
app.use(express.json());
setLogger(console);
StartJsonRpc(app, ServiceTest.Service, <ServiceTest.IServiceTest>{
getUser: async (_param: number): Promise<ServiceTest.TMessageUserProfile> => {
throw new Error('Some unexpected error');
return {
username: 'Chiro',
age: 36,
profile: undefined
};
},
newUser: async (_param: ServiceTest.TMessageUserProfile): Promise<number> => {
return 1;
}
});
app.listen(8080, '0.0.0.0');
1.5.5
12 months ago
1.5.4
12 months ago
1.5.3
12 months ago
1.5.2
1 year ago
1.5.1
1 year ago
1.5.0
1 year ago
1.4.20
1 year ago
1.4.22
1 year ago
1.4.21
1 year ago
1.4.24
1 year ago
1.4.23
1 year ago
1.5.7
11 months ago
1.5.6
12 months ago
1.4.15
1 year ago
1.4.14
1 year ago
1.4.17
1 year ago
1.4.16
1 year ago
1.4.18
1 year ago
1.4.13
1 year ago
1.4.12
1 year ago
1.4.11
1 year ago
1.4.8
1 year ago
1.4.10
1 year ago
1.4.6
1 year ago
1.4.7
1 year ago
1.4.5
1 year ago
1.4.4
1 year ago
1.4.3
1 year ago
1.4.2
1 year ago
1.3.3
1 year ago
1.4.1
1 year ago
1.3.2
1 year ago
1.3.1
1 year ago
1.3.0
1 year ago