google-gax
Advanced tools
Comparing version 2.27.1 to 2.28.0-pre.0
@@ -33,2 +33,3 @@ "use strict"; | ||
const fallbackServiceStub_1 = require("./fallbackServiceStub"); | ||
const _1 = require("."); | ||
var pathTemplate_1 = require("./pathTemplate"); | ||
@@ -275,5 +276,7 @@ Object.defineProperty(exports, "PathTemplate", { enumerable: true, get: function () { return pathTemplate_1.PathTemplate; } }); | ||
function createApiCall(func, settings, descriptor) { | ||
if (descriptor && 'streaming' in descriptor) { | ||
if (descriptor && | ||
'streaming' in descriptor && | ||
descriptor.type !== _1.StreamType.SERVER_STREAMING) { | ||
return () => { | ||
throw new Error('The gRPC-fallback client library (e.g. browser version of the library) currently does not support streaming calls.'); | ||
throw new Error('The gRPC-fallback client library (e.g. browser version of the library) currently does not support client-streaming or bidi-stream calls.'); | ||
}; | ||
@@ -280,0 +283,0 @@ } |
@@ -18,4 +18,5 @@ /** | ||
import { AuthClient } from './fallback'; | ||
import { StreamArrayParser } from './streamArrayParser'; | ||
export interface FallbackServiceStub { | ||
[method: string]: (request: {}, options: {}, metadata: {}, callback: (err?: Error, response?: {} | undefined) => void) => { | ||
[method: string]: (request: {}, options: {}, metadata: {}, callback: (err?: Error, response?: {} | undefined) => void) => StreamArrayParser | { | ||
cancel: () => void; | ||
@@ -22,0 +23,0 @@ }; |
@@ -24,2 +24,4 @@ "use strict"; | ||
const featureDetection_1 = require("./featureDetection"); | ||
const streamArrayParser_1 = require("./streamArrayParser"); | ||
const stream_1 = require("stream"); | ||
function generateServiceStub(rpcs, protocol, servicePath, servicePort, authClient, requestEncoder, responseDecoder) { | ||
@@ -45,2 +47,3 @@ const fetch = featureDetection_1.hasWindowFetch() | ||
} | ||
const streamArrayParser = new streamArrayParser_1.StreamArrayParser(rpc); | ||
authClient | ||
@@ -65,16 +68,31 @@ .getRequestHeaders() | ||
.then((response) => { | ||
return Promise.all([ | ||
Promise.resolve(response.ok), | ||
response.arrayBuffer(), | ||
]); | ||
}) | ||
.then(([ok, buffer]) => { | ||
const response = responseDecoder(rpc, ok, buffer); | ||
callback(null, response); | ||
}) | ||
.catch((err) => { | ||
if (!cancelRequested || err.name !== 'AbortError') { | ||
callback(err); | ||
if (response.ok && rpc.responseStream) { | ||
stream_1.pipeline(response.body, streamArrayParser, (err) => { | ||
if (err && | ||
(!cancelRequested || | ||
(err instanceof Error && err.name !== 'AbortError'))) { | ||
callback(err); | ||
} | ||
}); | ||
return; | ||
} | ||
else { | ||
return Promise.all([ | ||
Promise.resolve(response.ok), | ||
response.arrayBuffer(), | ||
]) | ||
.then(([ok, buffer]) => { | ||
const response = responseDecoder(rpc, ok, buffer); | ||
callback(null, response); | ||
}) | ||
.catch((err) => { | ||
if (!cancelRequested || err.name !== 'AbortError') { | ||
callback(err); | ||
} | ||
}); | ||
} | ||
}); | ||
if (rpc.responseStream) { | ||
return streamArrayParser; | ||
} | ||
return { | ||
@@ -81,0 +99,0 @@ cancel: () => { |
@@ -19,2 +19,3 @@ "use strict"; | ||
exports.StreamProxy = exports.StreamType = void 0; | ||
const streamArrayParser_1 = require("../streamArrayParser"); | ||
// eslint-disable-next-line @typescript-eslint/no-var-requires | ||
@@ -70,2 +71,5 @@ const duplexify = require('duplexify'); | ||
const eventsToForward = ['metadata', 'response', 'status']; | ||
if (stream instanceof streamArrayParser_1.StreamArrayParser) { | ||
eventsToForward.push('data', 'end', 'error'); | ||
} | ||
eventsToForward.forEach(event => { | ||
@@ -72,0 +76,0 @@ stream.on(event, this.emit.bind(this, event)); |
{ | ||
"name": "google-gax", | ||
"version": "2.27.1", | ||
"version": "2.28.0-pre.0", | ||
"description": "Google API Extensions", | ||
@@ -17,3 +17,3 @@ "main": "build/src/index.js", | ||
"dependencies": { | ||
"@grpc/grpc-js": "~1.3.0", | ||
"@grpc/grpc-js": "~1.4.0", | ||
"@grpc/proto-loader": "^0.6.1", | ||
@@ -20,0 +20,0 @@ "@types/long": "^4.0.0", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
No v1
QualityPackage is not semver >=1. This means it is not stable and does not support ^ ranges.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
404
163608
10822325
1
+ Added@grpc/grpc-js@1.4.6(transitive)
- Removed@grpc/grpc-js@1.3.8(transitive)
Updated@grpc/grpc-js@~1.4.0