diff --git a/packages/grpc-native-core/binding.gyp b/packages/grpc-native-core/binding.gyp index dc96bbaf7..85602dc09 100644 --- a/packages/grpc-native-core/binding.gyp +++ b/packages/grpc-native-core/binding.gyp @@ -91,7 +91,7 @@ 'GPR_BACKWARDS_COMPATIBILITY_MODE', 'GRPC_ARES=0', 'GRPC_UV', - 'GRPC_NODE_VERSION="1.17.0"' + 'GRPC_NODE_VERSION="1.18.0"' ], 'conditions': [ ['grpc_gcov=="true"', { @@ -779,6 +779,7 @@ 'deps/grpc/src/core/ext/transport/chttp2/transport/bin_encoder.cc', 'deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_plugin.cc', 'deps/grpc/src/core/ext/transport/chttp2/transport/chttp2_transport.cc', + 'deps/grpc/src/core/ext/transport/chttp2/transport/context_list.cc', 'deps/grpc/src/core/ext/transport/chttp2/transport/flow_control.cc', 'deps/grpc/src/core/ext/transport/chttp2/transport/frame_data.cc', 'deps/grpc/src/core/ext/transport/chttp2/transport/frame_goaway.cc', @@ -885,15 +886,16 @@ 'deps/grpc/src/core/ext/filters/client_channel/http_connect_handshaker.cc', 'deps/grpc/src/core/ext/filters/client_channel/http_proxy.cc', 'deps/grpc/src/core/ext/filters/client_channel/lb_policy.cc', - 'deps/grpc/src/core/ext/filters/client_channel/lb_policy_factory.cc', 'deps/grpc/src/core/ext/filters/client_channel/lb_policy_registry.cc', 'deps/grpc/src/core/ext/filters/client_channel/parse_address.cc', 'deps/grpc/src/core/ext/filters/client_channel/proxy_mapper.cc', 'deps/grpc/src/core/ext/filters/client_channel/proxy_mapper_registry.cc', + 'deps/grpc/src/core/ext/filters/client_channel/request_routing.cc', 'deps/grpc/src/core/ext/filters/client_channel/resolver.cc', 'deps/grpc/src/core/ext/filters/client_channel/resolver_registry.cc', 'deps/grpc/src/core/ext/filters/client_channel/resolver_result_parsing.cc', 'deps/grpc/src/core/ext/filters/client_channel/retry_throttle.cc', + 'deps/grpc/src/core/ext/filters/client_channel/server_address.cc', 'deps/grpc/src/core/ext/filters/client_channel/subchannel.cc', 'deps/grpc/src/core/ext/filters/client_channel/subchannel_index.cc', 'deps/grpc/src/core/ext/filters/deadline/deadline_filter.cc', diff --git a/packages/grpc-native-core/build.yaml b/packages/grpc-native-core/build.yaml index 45d905d30..49e36fdfe 100644 --- a/packages/grpc-native-core/build.yaml +++ b/packages/grpc-native-core/build.yaml @@ -1,3 +1,2 @@ settings: '#': It's possible to have node_version here as a key to override the core's version. - node_version: 1.17.0 diff --git a/packages/grpc-native-core/deps/grpc b/packages/grpc-native-core/deps/grpc index 8d4f9c465..007b721f8 160000 --- a/packages/grpc-native-core/deps/grpc +++ b/packages/grpc-native-core/deps/grpc @@ -1 +1 @@ -Subproject commit 8d4f9c4654ab4b0c670527599871530e2258e76d +Subproject commit 007b721f8045ceef4ebf418a2935ab772fbe3708 diff --git a/packages/grpc-native-core/index.d.ts b/packages/grpc-native-core/index.d.ts index a72a2dbb8..808051d06 100644 --- a/packages/grpc-native-core/index.d.ts +++ b/packages/grpc-native-core/index.d.ts @@ -259,11 +259,20 @@ declare module "grpc" { readonly [I in keyof ImplementationType]: MethodDefinition; } + /** + * An object that defines a protobuf type + */ + export interface ProtobufTypeDefinition { + format: string; + type: object; + fileDescriptorProtos: Buffer[]; + } + /** * An object that defines a package containing multiple services */ export type PackageDefinition = { - readonly [fullyQualifiedName: string]: ServiceDefinition; + readonly [fullyQualifiedName: string]: ServiceDefinition | ProtobufTypeDefinition; } /** @@ -567,6 +576,10 @@ declare module "grpc" { * Trailing metadata sent with the status, if applicable */ metadata?: Metadata; + /** + * Original status details string + */ + details?: string; } /** diff --git a/packages/grpc-native-core/index.js b/packages/grpc-native-core/index.js index 917479167..9134667a8 100644 --- a/packages/grpc-native-core/index.js +++ b/packages/grpc-native-core/index.js @@ -169,7 +169,11 @@ exports.loadPackageDefinition = function loadPackageDefintion(packageDef) { } current = current[packageName]; } - current[serviceName] = client.makeClientConstructor(service, serviceName, {}); + if (service.hasOwnProperty('format')) { + current[serviceName] = service; + } else { + current[serviceName] = client.makeClientConstructor(service, serviceName, {}); + } } return result; }; diff --git a/packages/grpc-native-core/package.json b/packages/grpc-native-core/package.json index 994359ec8..6d62a9e01 100644 --- a/packages/grpc-native-core/package.json +++ b/packages/grpc-native-core/package.json @@ -1,6 +1,6 @@ { "name": "grpc", - "version": "1.17.0", + "version": "1.18.0", "author": "Google Inc.", "description": "gRPC Library for Node", "homepage": "https://grpc.io/", diff --git a/packages/grpc-native-core/src/common.js b/packages/grpc-native-core/src/common.js index 198c9470d..2d948335f 100644 --- a/packages/grpc-native-core/src/common.js +++ b/packages/grpc-native-core/src/common.js @@ -317,9 +317,18 @@ exports.zipObject = function(props, values) { * @typedef {Object.} grpc~ServiceDefinition */ + /** + * An object that defines a protobuf type + * @typedef {object} grpc~ProtobufTypeDefinition + * @param {string} format The format of the type definition object + * @param {*} type The type definition object + * @param {Buffer[]} fileDescriptorProtos Binary protobuf file + * descriptors for all files loaded to construct this type + */ + /** * An object that defines a package hierarchy with multiple services - * @typedef {Object.} grpc~PackageDefinition + * @typedef {Object.} grpc~PackageDefinition */ /**