1.5.7 • Published 11 months ago

@orochi-network/jrpc v1.5.7

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
11 months ago

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