Socket
Socket
Sign inDemoInstall

grpc-kit

Package Overview
Dependencies
Maintainers
1
Versions
5
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

grpc-kit - npm Package Compare versions

Comparing version 0.1.1 to 0.1.2

example/greeter/client.js

2

package.json
{
"name": "grpc-kit",
"version": "0.1.1",
"version": "0.1.2",
"description": "use grpc more simply",

@@ -5,0 +5,0 @@ "main": "index.js",

@@ -73,2 +73,112 @@ # grpc-kit

## use stream
### proto
```proto
syntax="proto3";
package stream_greeter;
service StreamGreeter {
rpc ClientStreamHello(stream Message) returns(Message) {}
rpc ServerStreamHello(Message) returns(stream Message) {}
rpc MutualStreamHello (stream Message) returns (stream Message) {}
}
message Message {
string message = 1;
}
```
### Server
```js
const {createServer} = require("grpc-kit");
const server = createServer();
server.use({
protoPath: "/path/to/stream_greeter.proto"),
packageName: "stream_greeter",
serviceName: "StreamGreeter",
routes: {
clientStreamHello: (call, callback) => {
call.on("data", (chunk) => {
//exec when client wrote message
console.log(chunk.message);
});
call.on("end", (chunk) => {
callback(null, { message: "Hello! I'm fine, thank you!" })
});
},
serverStreamHello: (call) => {
console.log(call.request.message);
call.write({ message: "Hello!" });
call.write({ message: "I'm fine, thank you" });
call.end();
},
mutualStreamHello: (call) => {
call.on("data", (chunk) => {
//exec when client wrote message
console.log(chunk.message);
if(chunk.message === "Hello!"){
call.write({ message: "Hello!" });
} else if(chunk.message === "How are you?"){
call.write({ message: "I'm fine, thank you" });
} else {
call.write({ message: "pardon?" });
}
});
call.on("end", (chunk) => {
call.end();
});
}
}
});
server.listen("0.0.0.0:50051");
```
### Client
```js
const {createClient} = require("grpc-kit");
const client = createClient({
protoPath: "/path/to/stream_greeter.proto",
packageName: "stream_greeter",
serviceName: "StreamGreeter"
}, "0.0.0.0:50051");
```
#### client stream
```js
const call = client.clientStreamHello((err, res) => {
if(err) throw err;
console.log(res.message);
});
call.write({ message: "Hello!" });
call.write({ message: "How are you?" });
call.end();
```
#### server stream
```js
const call = client.serverStreamHello({ message: "Hello! How are you?" });
call.on("data", (chunk) => {
console.log(chunk.message);
});
call.on("end", () => {
//exec when server streaming ended.
});
```
#### mutual stream
```js
const call = client.mutualStreamHello();
call.on("data", (chunk) => {
console.log(chunk.message);
});
call.on("end", () => {
//exec when server streaming ended.
});
call.write({ message: "Hello!" });
call.write({ message: "How are you?" });
call.end();
```
## api

@@ -75,0 +185,0 @@ ### createServer(): GrpcServer

@@ -18,2 +18,28 @@ const path = require("path");

return { message: `Goodbye, ${call.request.name}` };
},
niceToMeetYou: (call) => {
call.write({ message: `Hi, ${call.request.name}.` });
call.write({ message: "I am Greeter." });
call.write({ message: "Nice to meet you!" });
call.end();
},
cheerUp: (call, callback) => {
call.on("data", (grumbleChunk) => {});
call.on("end", () => {
callback(null, { message: "Cheer up. Tommorow is Friday." });
});
},
chat: (call) => {
call.on("data", (chunk) => {
if(chunk.message === "Hi") {
call.write({ message: "Hi" });
} else if (chunk.message === "How are you?"){
call.write({ message: "I'm fine!" });
} else {
call.write({ message: "pardon?" });
}
});
call.on("end", () => {
call.end();
});
}

@@ -35,7 +61,7 @@ }

it("says hello", (done) => {
client.hello({ name: "Jack" }, (err, {message}) => {
client.hello({ name: "Jack" }, (err, res) => {
if (err) {
assert(err);
} else {
assert(message === "Hello, Jack");
assert(res.message === "Hello, Jack");
};

@@ -47,7 +73,7 @@ done();

it("says goodbye", (done) => {
client.goodbye({ name: "John" }, (err, {message}) => {
client.goodbye({ name: "John" }, (err, res) => {
if (err) {
assert(err);
} else {
assert(message === "Goodbye, John");
assert(res.message === "Goodbye, John");
};

@@ -57,3 +83,45 @@ done();

});
it("says nice to meet you", (done) => {
const call = client.niceToMeetYou({ name: "Linda" });
const messages = [];
call.on("data", (chunk) => {
messages.push(chunk.message);
});
call.on("end", () => {
assert.deepEqual(messages, ["Hi, Linda.", "I am Greeter.", "Nice to meet you!"]);
done();
});
});
it("cheers up", (done) => {
const call = client.cheerUp((err, res) => {
if(err){
assert(err);
}else{
assert(res.message === "Cheer up. Tommorow is Friday.");
}
done();
});
call.write({ message: "Phew..." });
call.write({ message: "I'm so tired..." });
call.write({ message: "I want to quit my job..." });
call.end();
});
it("chats", (done) => {
const call = client.chat();
const messages = [];
call.on("data", (chunk) => {
messages.push(chunk.message);
});
call.on("end", () => {
assert.deepEqual(messages, ["Hi", "I'm fine!"]);
done();
});
call.write({ message: "Hi" });
call.write({ message: "How are you?" });
call.end();
});
after((done) => {

@@ -60,0 +128,0 @@ server.close(false, () => {

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc