Socket
Socket
Sign inDemoInstall

@pbkit/grpc-web-client

Package Overview
Dependencies
Maintainers
1
Versions
6
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@pbkit/grpc-web-client - npm Package Compare versions

Comparing version 0.0.0 to 0.0.1

12

lib/index.d.ts
import type { RpcClientImpl } from "pbkit/core/runtime/rpc";
declare type Metadata = Record<string, string>;
export declare type Metadata = Record<string, string>;
export declare type Header = Metadata;
export declare type Trailer = Metadata & {
status: string;
statusMessage: string;
};
export interface ConfigMetadata {

@@ -8,5 +13,4 @@ [key: string]: string | (() => string | undefined) | (() => Promise<string | undefined>);

host: string;
metadata: ConfigMetadata;
metadata?: ConfigMetadata;
}
export declare function createGrpcClientImpl(config: CreateGrpcClientImplConfig): RpcClientImpl<Metadata, Metadata>;
export {};
export declare function createGrpcClientImpl(config: CreateGrpcClientImplConfig): RpcClientImpl<Metadata, Header, Trailer>;

@@ -23,9 +23,9 @@ "use strict";

});
const metadataPromise = new Promise((resolve) => {
let responseHeaders = undefined;
grpcClient.onHeaders((headers) => (responseHeaders = headers));
grpcClient.onEnd((status, statusMessage, trailers) => {
const headerPromise = new Promise((resolve) => {
grpcClient.onHeaders((header) => resolve(grpcMetadataToRecord(header)));
});
const trailerPromise = new Promise((resolve) => {
grpcClient.onEnd(async (status, statusMessage, trailer) => {
resolve({
...grpcMetadataToRecord(responseHeaders),
...grpcMetadataToRecord(trailers),
...grpcMetadataToRecord(trailer),
status: status.toString(),

@@ -37,11 +37,13 @@ statusMessage,

(async () => {
const newMetadata = metadata ?? {};
for (const [key, value] of Object.entries(config.metadata)) {
if (key in newMetadata)
continue;
const v = typeof value === "string" ? value : await value();
if (v)
newMetadata[key] = v;
const m = { ...metadata };
if (config.metadata) {
for (const [key, value] of Object.entries(config.metadata)) {
if (key in m)
continue;
const v = typeof value === "string" ? value : await value();
if (v)
m[key] = v;
}
}
grpcClient.start(newMetadata);
grpcClient.start(m);
for await (const value of req) {

@@ -70,3 +72,3 @@ grpcClient.send({

};
return [result, metadataPromise];
return [result, headerPromise, trailerPromise];
};

@@ -73,0 +75,0 @@ };

{
"name": "@pbkit/grpc-web-client",
"packageManager": "yarn@3.0.2",
"version": "0.0.0",
"version": "0.0.1",
"description": "pbkit grpc web client",

@@ -22,3 +22,3 @@ "main": "lib/index.js",

"google-protobuf": "^3.18.0-rc.2",
"pbkit": "0.0.16"
"pbkit": "0.0.17"
},

@@ -25,0 +25,0 @@ "devDependencies": {

@@ -1,1 +0,1 @@

# Pbkit grpc web client
# @pbkit/grpc-web-client
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