@finsemble/finsemble-electron-adapter 6.2.1 → 6.3.1-beta-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (344) hide show
  1. package/dist/app.js +1 -1
  2. package/dist/e2o.js +1 -1
  3. package/dist/e2o_view.js +1 -1
  4. package/dist/exports.js +1 -1
  5. package/dist/grpc/grpc.ts +9 -0
  6. package/exports.js +2 -1
  7. package/node_modules/@grpc/grpc-js/README.md +2 -0
  8. package/node_modules/@grpc/grpc-js/build/src/admin.d.ts +11 -0
  9. package/node_modules/@grpc/grpc-js/build/src/admin.js +31 -0
  10. package/node_modules/@grpc/grpc-js/build/src/admin.js.map +1 -0
  11. package/node_modules/@grpc/grpc-js/build/src/call-credentials-filter.js.map +1 -1
  12. package/node_modules/@grpc/grpc-js/build/src/call-stream.d.ts +14 -5
  13. package/node_modules/@grpc/grpc-js/build/src/call-stream.js +56 -20
  14. package/node_modules/@grpc/grpc-js/build/src/call-stream.js.map +1 -1
  15. package/node_modules/@grpc/grpc-js/build/src/call.js.map +1 -1
  16. package/node_modules/@grpc/grpc-js/build/src/channel-options.js.map +1 -1
  17. package/node_modules/@grpc/grpc-js/build/src/channel.d.ts +16 -7
  18. package/node_modules/@grpc/grpc-js/build/src/channel.js +138 -59
  19. package/node_modules/@grpc/grpc-js/build/src/channel.js.map +1 -1
  20. package/node_modules/@grpc/grpc-js/build/src/channelz.d.ts +122 -0
  21. package/node_modules/@grpc/grpc-js/build/src/channelz.js +568 -0
  22. package/node_modules/@grpc/grpc-js/build/src/channelz.js.map +1 -0
  23. package/node_modules/@grpc/grpc-js/build/src/client-interceptors.js.map +1 -1
  24. package/node_modules/@grpc/grpc-js/build/src/client.js +2 -1
  25. package/node_modules/@grpc/grpc-js/build/src/client.js.map +1 -1
  26. package/node_modules/@grpc/grpc-js/build/src/constants.js.map +1 -1
  27. package/node_modules/@grpc/grpc-js/build/src/deadline-filter.d.ts +3 -0
  28. package/node_modules/@grpc/grpc-js/build/src/deadline-filter.js +19 -5
  29. package/node_modules/@grpc/grpc-js/build/src/deadline-filter.js.map +1 -1
  30. package/node_modules/@grpc/grpc-js/build/src/experimental.d.ts +6 -5
  31. package/node_modules/@grpc/grpc-js/build/src/experimental.js +5 -2
  32. package/node_modules/@grpc/grpc-js/build/src/experimental.js.map +1 -1
  33. package/node_modules/@grpc/grpc-js/build/src/filter-stack.d.ts +4 -0
  34. package/node_modules/@grpc/grpc-js/build/src/filter-stack.js +14 -0
  35. package/node_modules/@grpc/grpc-js/build/src/filter-stack.js.map +1 -1
  36. package/node_modules/@grpc/grpc-js/build/src/filter.d.ts +2 -0
  37. package/node_modules/@grpc/grpc-js/build/src/filter.js +1 -0
  38. package/node_modules/@grpc/grpc-js/build/src/filter.js.map +1 -1
  39. package/node_modules/@grpc/grpc-js/build/src/generated/channelz.d.ts +72 -0
  40. package/node_modules/@grpc/grpc-js/build/src/generated/channelz.js +3 -0
  41. package/node_modules/@grpc/grpc-js/build/src/generated/channelz.js.map +1 -0
  42. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.d.ts +10 -0
  43. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js +4 -0
  44. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Any.js.map +1 -0
  45. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.d.ts +6 -0
  46. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js +4 -0
  47. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BoolValue.js.map +1 -0
  48. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.d.ts +7 -0
  49. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js +4 -0
  50. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/BytesValue.js.map +1 -0
  51. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.d.ts +6 -0
  52. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js +4 -0
  53. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/DoubleValue.js.map +1 -0
  54. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.d.ts +10 -0
  55. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js +4 -0
  56. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Duration.js.map +1 -0
  57. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.d.ts +6 -0
  58. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js +4 -0
  59. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/FloatValue.js.map +1 -0
  60. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.d.ts +6 -0
  61. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js +4 -0
  62. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int32Value.js.map +1 -0
  63. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.d.ts +8 -0
  64. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js +4 -0
  65. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Int64Value.js.map +1 -0
  66. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.d.ts +6 -0
  67. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js +4 -0
  68. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/StringValue.js.map +1 -0
  69. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.d.ts +10 -0
  70. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js +4 -0
  71. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/Timestamp.js.map +1 -0
  72. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.d.ts +6 -0
  73. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js +4 -0
  74. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt32Value.js.map +1 -0
  75. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.d.ts +8 -0
  76. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js +4 -0
  77. package/node_modules/@grpc/grpc-js/build/src/generated/google/protobuf/UInt64Value.js.map +1 -0
  78. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.d.ts +80 -0
  79. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js +4 -0
  80. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Address.js.map +1 -0
  81. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.d.ts +64 -0
  82. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js +4 -0
  83. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channel.js.map +1 -0
  84. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.d.ts +22 -0
  85. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js +15 -0
  86. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelConnectivityState.js.map +1 -0
  87. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.d.ts +73 -0
  88. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js +4 -0
  89. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelData.js.map +1 -0
  90. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.d.ts +28 -0
  91. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js +4 -0
  92. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelRef.js.map +1 -0
  93. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.d.ts +42 -0
  94. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js +4 -0
  95. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTrace.js.map +1 -0
  96. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.d.ts +66 -0
  97. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js +16 -0
  98. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ChannelTraceEvent.js.map +1 -0
  99. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.d.ts +159 -0
  100. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js +4 -0
  101. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Channelz.js.map +1 -0
  102. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.d.ts +14 -0
  103. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js +4 -0
  104. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelRequest.js.map +1 -0
  105. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.d.ts +15 -0
  106. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js +4 -0
  107. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetChannelResponse.js.map +1 -0
  108. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.d.ts +14 -0
  109. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js +4 -0
  110. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerRequest.js.map +1 -0
  111. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.d.ts +15 -0
  112. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js +4 -0
  113. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerResponse.js.map +1 -0
  114. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.d.ts +36 -0
  115. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js +4 -0
  116. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsRequest.js.map +1 -0
  117. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.d.ts +29 -0
  118. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js +4 -0
  119. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServerSocketsResponse.js.map +1 -0
  120. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.d.ts +34 -0
  121. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js +4 -0
  122. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersRequest.js.map +1 -0
  123. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.d.ts +29 -0
  124. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js +4 -0
  125. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetServersResponse.js.map +1 -0
  126. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.d.ts +26 -0
  127. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js +4 -0
  128. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketRequest.js.map +1 -0
  129. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.d.ts +15 -0
  130. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js +4 -0
  131. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSocketResponse.js.map +1 -0
  132. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.d.ts +14 -0
  133. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js +4 -0
  134. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelRequest.js.map +1 -0
  135. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.d.ts +15 -0
  136. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js +4 -0
  137. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetSubchannelResponse.js.map +1 -0
  138. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.d.ts +34 -0
  139. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js +4 -0
  140. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsRequest.js.map +1 -0
  141. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.d.ts +29 -0
  142. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js +4 -0
  143. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/GetTopChannelsResponse.js.map +1 -0
  144. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.d.ts +80 -0
  145. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js +4 -0
  146. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Security.js.map +1 -0
  147. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.d.ts +41 -0
  148. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js +4 -0
  149. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Server.js.map +1 -0
  150. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.d.ts +54 -0
  151. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js +4 -0
  152. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerData.js.map +1 -0
  153. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.d.ts +28 -0
  154. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js +4 -0
  155. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/ServerRef.js.map +1 -0
  156. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.d.ts +66 -0
  157. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js +4 -0
  158. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Socket.js.map +1 -0
  159. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.d.ts +147 -0
  160. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js +4 -0
  161. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketData.js.map +1 -0
  162. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.d.ts +43 -0
  163. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js +4 -0
  164. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOption.js.map +1 -0
  165. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.d.ts +29 -0
  166. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js +4 -0
  167. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionLinger.js.map +1 -0
  168. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.d.ts +70 -0
  169. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js +4 -0
  170. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.js.map +1 -0
  171. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.d.ts +15 -0
  172. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js +4 -0
  173. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketOptionTimeout.js.map +1 -0
  174. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.d.ts +28 -0
  175. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js +4 -0
  176. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SocketRef.js.map +1 -0
  177. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.d.ts +66 -0
  178. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js +4 -0
  179. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/Subchannel.js.map +1 -0
  180. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.d.ts +28 -0
  181. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js +4 -0
  182. package/node_modules/@grpc/grpc-js/build/src/generated/grpc/channelz/v1/SubchannelRef.js.map +1 -0
  183. package/node_modules/@grpc/grpc-js/build/src/http_proxy.d.ts +1 -1
  184. package/node_modules/@grpc/grpc-js/build/src/http_proxy.js +11 -8
  185. package/node_modules/@grpc/grpc-js/build/src/http_proxy.js.map +1 -1
  186. package/node_modules/@grpc/grpc-js/build/src/index.d.ts +7 -4
  187. package/node_modules/@grpc/grpc-js/build/src/index.js +19 -5
  188. package/node_modules/@grpc/grpc-js/build/src/index.js.map +1 -1
  189. package/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.d.ts +1 -1
  190. package/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js +8 -2
  191. package/node_modules/@grpc/grpc-js/build/src/load-balancer-child-handler.js.map +1 -1
  192. package/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.d.ts +1 -1
  193. package/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js +56 -49
  194. package/node_modules/@grpc/grpc-js/build/src/load-balancer-pick-first.js.map +1 -1
  195. package/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.d.ts +1 -1
  196. package/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js +34 -31
  197. package/node_modules/@grpc/grpc-js/build/src/load-balancer-round-robin.js.map +1 -1
  198. package/node_modules/@grpc/grpc-js/build/src/load-balancer.d.ts +17 -4
  199. package/node_modules/@grpc/grpc-js/build/src/load-balancer.js +36 -13
  200. package/node_modules/@grpc/grpc-js/build/src/load-balancer.js.map +1 -1
  201. package/node_modules/@grpc/grpc-js/build/src/logging.js +35 -4
  202. package/node_modules/@grpc/grpc-js/build/src/logging.js.map +1 -1
  203. package/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.d.ts +3 -3
  204. package/node_modules/@grpc/grpc-js/build/src/max-message-size-filter.js.map +1 -1
  205. package/node_modules/@grpc/grpc-js/build/src/metadata.d.ts +7 -0
  206. package/node_modules/@grpc/grpc-js/build/src/metadata.js +11 -0
  207. package/node_modules/@grpc/grpc-js/build/src/metadata.js.map +1 -1
  208. package/node_modules/@grpc/grpc-js/build/src/picker.d.ts +5 -5
  209. package/node_modules/@grpc/grpc-js/build/src/picker.js +2 -2
  210. package/node_modules/@grpc/grpc-js/build/src/picker.js.map +1 -1
  211. package/node_modules/@grpc/grpc-js/build/src/resolver-dns.js.map +1 -1
  212. package/node_modules/@grpc/grpc-js/build/src/resolver-ip.js +6 -5
  213. package/node_modules/@grpc/grpc-js/build/src/resolver-ip.js.map +1 -1
  214. package/node_modules/@grpc/grpc-js/build/src/resolver.d.ts +3 -2
  215. package/node_modules/@grpc/grpc-js/build/src/resolver.js +1 -10
  216. package/node_modules/@grpc/grpc-js/build/src/resolver.js.map +1 -1
  217. package/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.d.ts +1 -1
  218. package/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js +23 -18
  219. package/node_modules/@grpc/grpc-js/build/src/resolving-load-balancer.js.map +1 -1
  220. package/node_modules/@grpc/grpc-js/build/src/server-call.js +7 -3
  221. package/node_modules/@grpc/grpc-js/build/src/server-call.js.map +1 -1
  222. package/node_modules/@grpc/grpc-js/build/src/server.d.ts +10 -0
  223. package/node_modules/@grpc/grpc-js/build/src/server.js +230 -42
  224. package/node_modules/@grpc/grpc-js/build/src/server.js.map +1 -1
  225. package/node_modules/@grpc/grpc-js/build/src/service-config.d.ts +5 -1
  226. package/node_modules/@grpc/grpc-js/build/src/service-config.js +23 -3
  227. package/node_modules/@grpc/grpc-js/build/src/service-config.js.map +1 -1
  228. package/node_modules/@grpc/grpc-js/build/src/subchannel-address.d.ts +1 -0
  229. package/node_modules/@grpc/grpc-js/build/src/subchannel-address.js +17 -1
  230. package/node_modules/@grpc/grpc-js/build/src/subchannel-address.js.map +1 -1
  231. package/node_modules/@grpc/grpc-js/build/src/subchannel-pool.d.ts +2 -1
  232. package/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js +2 -1
  233. package/node_modules/@grpc/grpc-js/build/src/subchannel-pool.js.map +1 -1
  234. package/node_modules/@grpc/grpc-js/build/src/subchannel.d.ts +30 -19
  235. package/node_modules/@grpc/grpc-js/build/src/subchannel.js +180 -78
  236. package/node_modules/@grpc/grpc-js/build/src/subchannel.js.map +1 -1
  237. package/node_modules/@grpc/grpc-js/node_modules/.bin/proto-loader-gen-types +15 -0
  238. package/node_modules/@grpc/grpc-js/node_modules/.bin/proto-loader-gen-types.cmd +7 -0
  239. package/node_modules/@grpc/grpc-js/package.json +9 -6
  240. package/node_modules/@grpc/grpc-js/proto/channelz.proto +564 -0
  241. package/node_modules/@grpc/grpc-js/src/admin.ts +39 -0
  242. package/node_modules/@grpc/grpc-js/src/call-credentials-filter.ts +3 -1
  243. package/node_modules/@grpc/grpc-js/src/call-stream.ts +75 -23
  244. package/node_modules/@grpc/grpc-js/src/call.ts +8 -4
  245. package/node_modules/@grpc/grpc-js/src/channel-options.ts +1 -0
  246. package/node_modules/@grpc/grpc-js/src/channel.ts +183 -73
  247. package/node_modules/@grpc/grpc-js/src/channelz.ts +727 -0
  248. package/node_modules/@grpc/grpc-js/src/client-interceptors.ts +8 -3
  249. package/node_modules/@grpc/grpc-js/src/client.ts +18 -16
  250. package/node_modules/@grpc/grpc-js/src/connectivity-state.ts +24 -0
  251. package/node_modules/@grpc/grpc-js/src/constants.ts +5 -1
  252. package/node_modules/@grpc/grpc-js/src/deadline-filter.ts +21 -5
  253. package/node_modules/@grpc/grpc-js/src/experimental.ts +36 -12
  254. package/node_modules/@grpc/grpc-js/src/filter-stack.ts +18 -0
  255. package/node_modules/@grpc/grpc-js/src/filter.ts +4 -0
  256. package/node_modules/@grpc/grpc-js/src/generated/channelz.ts +73 -0
  257. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Any.ts +13 -0
  258. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BoolValue.ts +10 -0
  259. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/BytesValue.ts +10 -0
  260. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/DoubleValue.ts +10 -0
  261. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Duration.ts +13 -0
  262. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/FloatValue.ts +10 -0
  263. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int32Value.ts +10 -0
  264. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Int64Value.ts +11 -0
  265. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/StringValue.ts +10 -0
  266. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/Timestamp.ts +13 -0
  267. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt32Value.ts +10 -0
  268. package/node_modules/@grpc/grpc-js/src/generated/google/protobuf/UInt64Value.ts +11 -0
  269. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Address.ts +89 -0
  270. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channel.ts +68 -0
  271. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelConnectivityState.ts +29 -0
  272. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelData.ts +76 -0
  273. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelRef.ts +31 -0
  274. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTrace.ts +45 -0
  275. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ChannelTraceEvent.ts +73 -0
  276. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Channelz.ts +178 -0
  277. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelRequest.ts +17 -0
  278. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetChannelResponse.ts +19 -0
  279. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerRequest.ts +17 -0
  280. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerResponse.ts +19 -0
  281. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsRequest.ts +39 -0
  282. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServerSocketsResponse.ts +33 -0
  283. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersRequest.ts +37 -0
  284. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetServersResponse.ts +33 -0
  285. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketRequest.ts +29 -0
  286. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSocketResponse.ts +19 -0
  287. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelRequest.ts +17 -0
  288. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetSubchannelResponse.ts +19 -0
  289. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsRequest.ts +37 -0
  290. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/GetTopChannelsResponse.ts +33 -0
  291. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Security.ts +87 -0
  292. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Server.ts +45 -0
  293. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerData.ts +57 -0
  294. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/ServerRef.ts +31 -0
  295. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Socket.ts +70 -0
  296. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketData.ts +150 -0
  297. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOption.ts +47 -0
  298. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionLinger.ts +33 -0
  299. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTcpInfo.ts +74 -0
  300. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketOptionTimeout.ts +19 -0
  301. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SocketRef.ts +31 -0
  302. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/Subchannel.ts +70 -0
  303. package/node_modules/@grpc/grpc-js/src/generated/grpc/channelz/v1/SubchannelRef.ts +31 -0
  304. package/node_modules/@grpc/grpc-js/src/http_proxy.ts +15 -11
  305. package/node_modules/@grpc/grpc-js/src/index.ts +29 -6
  306. package/node_modules/@grpc/grpc-js/src/load-balancer-child-handler.ts +12 -3
  307. package/node_modules/@grpc/grpc-js/src/load-balancer-pick-first.ts +19 -8
  308. package/node_modules/@grpc/grpc-js/src/load-balancer-round-robin.ts +15 -9
  309. package/node_modules/@grpc/grpc-js/src/load-balancer.ts +60 -21
  310. package/node_modules/@grpc/grpc-js/src/logging.ts +43 -7
  311. package/node_modules/@grpc/grpc-js/src/make-client.ts +1 -1
  312. package/node_modules/@grpc/grpc-js/src/max-message-size-filter.ts +18 -7
  313. package/node_modules/@grpc/grpc-js/src/metadata.ts +12 -0
  314. package/node_modules/@grpc/grpc-js/src/picker.ts +8 -8
  315. package/node_modules/@grpc/grpc-js/src/resolver-dns.ts +8 -2
  316. package/node_modules/@grpc/grpc-js/src/resolver-ip.ts +25 -16
  317. package/node_modules/@grpc/grpc-js/src/resolver-uds.ts +1 -1
  318. package/node_modules/@grpc/grpc-js/src/resolver.ts +5 -12
  319. package/node_modules/@grpc/grpc-js/src/resolving-load-balancer.ts +36 -14
  320. package/node_modules/@grpc/grpc-js/src/server-call.ts +11 -5
  321. package/node_modules/@grpc/grpc-js/src/server.ts +250 -44
  322. package/node_modules/@grpc/grpc-js/src/service-config.ts +35 -6
  323. package/node_modules/@grpc/grpc-js/src/subchannel-address.ts +79 -0
  324. package/node_modules/@grpc/grpc-js/src/subchannel-pool.ts +2 -2
  325. package/node_modules/@grpc/grpc-js/src/subchannel.ts +206 -97
  326. package/node_modules/@grpc/proto-loader/build/bin/proto-loader-gen-types.js +34 -0
  327. package/node_modules/@grpc/proto-loader/build/src/index.js +3 -0
  328. package/node_modules/@grpc/proto-loader/package.json +1 -1
  329. package/node_modules/{yargs/node_modules/y18n → y18n}/CHANGELOG.md +0 -0
  330. package/node_modules/{yargs/node_modules/y18n → y18n}/LICENSE +0 -0
  331. package/node_modules/{yargs/node_modules/y18n → y18n}/README.md +0 -0
  332. package/node_modules/{yargs/node_modules/y18n → y18n}/build/index.cjs +0 -0
  333. package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/cjs.js +0 -0
  334. package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/index.js +0 -0
  335. package/node_modules/{yargs/node_modules/y18n → y18n}/build/lib/platform-shims/node.js +0 -0
  336. package/node_modules/{yargs/node_modules/y18n → y18n}/index.mjs +0 -0
  337. package/node_modules/{yargs/node_modules/y18n → y18n}/package.json +0 -0
  338. package/package.json +41 -24
  339. package/dist/e2o.js.LICENSE.txt +0 -12
  340. package/dist/e2o_view.js.LICENSE.txt +0 -12
  341. package/dist/grpc/grpc.js +0 -8
  342. package/node_modules/@grpc/grpc-js/build/src/load-balancer-registry.d.ts +0 -7
  343. package/node_modules/@grpc/grpc-js/build/src/load-balancer-registry.js +0 -83
  344. package/node_modules/@grpc/grpc-js/build/src/load-balancer-registry.js.map +0 -1
@@ -18,10 +18,11 @@
18
18
  import {
19
19
  LoadBalancer,
20
20
  ChannelControlHelper,
21
+ LoadBalancingConfig,
22
+ registerDefaultLoadBalancerType,
21
23
  registerLoadBalancerType,
22
- LoadBalancingConfig
23
24
  } from './load-balancer';
24
- import { ConnectivityState } from './channel';
25
+ import { ConnectivityState } from './connectivity-state';
25
26
  import {
26
27
  QueuePicker,
27
28
  Picker,
@@ -30,12 +31,11 @@ import {
30
31
  PickResultType,
31
32
  UnavailablePicker,
32
33
  } from './picker';
34
+ import { Subchannel, ConnectivityStateListener } from './subchannel';
33
35
  import {
34
- Subchannel,
35
- ConnectivityStateListener,
36
36
  SubchannelAddress,
37
37
  subchannelAddressToString,
38
- } from './subchannel';
38
+ } from './subchannel-address';
39
39
  import * as logging from './logging';
40
40
  import { LogVerbosity } from './constants';
41
41
 
@@ -62,10 +62,11 @@ export class PickFirstLoadBalancingConfig implements LoadBalancingConfig {
62
62
 
63
63
  toJsonObject(): object {
64
64
  return {
65
- [TYPE_NAME]: {}
65
+ [TYPE_NAME]: {},
66
66
  };
67
67
  }
68
68
 
69
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
69
70
  static createFromJson(obj: any) {
70
71
  return new PickFirstLoadBalancingConfig();
71
72
  }
@@ -83,7 +84,7 @@ class PickFirstPicker implements Picker {
83
84
  pickResultType: PickResultType.COMPLETE,
84
85
  subchannel: this.subchannel,
85
86
  status: null,
86
- extraFilterFactory: null,
87
+ extraFilterFactories: [],
87
88
  onCallStarted: null,
88
89
  };
89
90
  }
@@ -228,6 +229,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
228
229
  subchannel.removeConnectivityStateListener(
229
230
  this.pickedSubchannelStateListener
230
231
  );
232
+ this.channelControlHelper.removeChannelzChild(subchannel.getChannelzRef());
231
233
  if (this.subchannels.length > 0) {
232
234
  if (this.triedAllSubchannels) {
233
235
  let newLBState: ConnectivityState;
@@ -320,6 +322,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
320
322
  this.updateState(ConnectivityState.READY, new PickFirstPicker(subchannel));
321
323
  subchannel.addConnectivityStateListener(this.pickedSubchannelStateListener);
322
324
  subchannel.ref();
325
+ this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
323
326
  this.resetSubchannelList();
324
327
  clearTimeout(this.connectionDelayTimeout);
325
328
  }
@@ -338,6 +341,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
338
341
  for (const subchannel of this.subchannels) {
339
342
  subchannel.removeConnectivityStateListener(this.subchannelStateListener);
340
343
  subchannel.unref();
344
+ this.channelControlHelper.removeChannelzChild(subchannel.getChannelzRef());
341
345
  }
342
346
  this.currentSubchannelIndex = 0;
343
347
  this.subchannelStateCounts = {
@@ -368,6 +372,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
368
372
  );
369
373
  for (const subchannel of this.subchannels) {
370
374
  subchannel.ref();
375
+ this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
371
376
  }
372
377
  for (const subchannel of this.subchannels) {
373
378
  subchannel.addConnectivityStateListener(this.subchannelStateListener);
@@ -448,6 +453,7 @@ export class PickFirstLoadBalancer implements LoadBalancer {
448
453
  this.currentPick.removeConnectivityStateListener(
449
454
  this.pickedSubchannelStateListener
450
455
  );
456
+ this.channelControlHelper.removeChannelzChild(this.currentPick.getChannelzRef());
451
457
  }
452
458
  }
453
459
 
@@ -457,5 +463,10 @@ export class PickFirstLoadBalancer implements LoadBalancer {
457
463
  }
458
464
 
459
465
  export function setup(): void {
460
- registerLoadBalancerType(TYPE_NAME, PickFirstLoadBalancer, PickFirstLoadBalancingConfig);
466
+ registerLoadBalancerType(
467
+ TYPE_NAME,
468
+ PickFirstLoadBalancer,
469
+ PickFirstLoadBalancingConfig
470
+ );
471
+ registerDefaultLoadBalancerType(TYPE_NAME);
461
472
  }
@@ -18,10 +18,10 @@
18
18
  import {
19
19
  LoadBalancer,
20
20
  ChannelControlHelper,
21
+ LoadBalancingConfig,
21
22
  registerLoadBalancerType,
22
- LoadBalancingConfig
23
23
  } from './load-balancer';
24
- import { ConnectivityState } from './channel';
24
+ import { ConnectivityState } from './connectivity-state';
25
25
  import {
26
26
  QueuePicker,
27
27
  Picker,
@@ -30,12 +30,11 @@ import {
30
30
  PickResultType,
31
31
  UnavailablePicker,
32
32
  } from './picker';
33
+ import { Subchannel, ConnectivityStateListener } from './subchannel';
33
34
  import {
34
- Subchannel,
35
- ConnectivityStateListener,
36
35
  SubchannelAddress,
37
36
  subchannelAddressToString,
38
- } from './subchannel';
37
+ } from './subchannel-address';
39
38
  import * as logging from './logging';
40
39
  import { LogVerbosity } from './constants';
41
40
 
@@ -56,10 +55,11 @@ class RoundRobinLoadBalancingConfig implements LoadBalancingConfig {
56
55
 
57
56
  toJsonObject(): object {
58
57
  return {
59
- [TYPE_NAME]: {}
58
+ [TYPE_NAME]: {},
60
59
  };
61
60
  }
62
61
 
62
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
63
63
  static createFromJson(obj: any) {
64
64
  return new RoundRobinLoadBalancingConfig();
65
65
  }
@@ -78,7 +78,7 @@ class RoundRobinPicker implements Picker {
78
78
  pickResultType: PickResultType.COMPLETE,
79
79
  subchannel: pickedSubchannel,
80
80
  status: null,
81
- extraFilterFactory: null,
81
+ extraFilterFactories: [],
82
82
  onCallStarted: null,
83
83
  };
84
84
  }
@@ -128,7 +128,7 @@ export class RoundRobinLoadBalancer implements LoadBalancer {
128
128
  this.subchannelStateCounts[previousState] -= 1;
129
129
  this.subchannelStateCounts[newState] += 1;
130
130
  this.calculateAndUpdateState();
131
-
131
+
132
132
  if (
133
133
  newState === ConnectivityState.TRANSIENT_FAILURE ||
134
134
  newState === ConnectivityState.IDLE
@@ -191,6 +191,7 @@ export class RoundRobinLoadBalancer implements LoadBalancer {
191
191
  for (const subchannel of this.subchannels) {
192
192
  subchannel.removeConnectivityStateListener(this.subchannelStateListener);
193
193
  subchannel.unref();
194
+ this.channelControlHelper.removeChannelzChild(subchannel.getChannelzRef());
194
195
  }
195
196
  this.subchannelStateCounts = {
196
197
  [ConnectivityState.CONNECTING]: 0,
@@ -217,6 +218,7 @@ export class RoundRobinLoadBalancer implements LoadBalancer {
217
218
  for (const subchannel of this.subchannels) {
218
219
  subchannel.ref();
219
220
  subchannel.addConnectivityStateListener(this.subchannelStateListener);
221
+ this.channelControlHelper.addChannelzChild(subchannel.getChannelzRef());
220
222
  const subchannelState = subchannel.getConnectivityState();
221
223
  this.subchannelStateCounts[subchannelState] += 1;
222
224
  if (
@@ -247,5 +249,9 @@ export class RoundRobinLoadBalancer implements LoadBalancer {
247
249
  }
248
250
 
249
251
  export function setup() {
250
- registerLoadBalancerType(TYPE_NAME, RoundRobinLoadBalancer, RoundRobinLoadBalancingConfig);
252
+ registerLoadBalancerType(
253
+ TYPE_NAME,
254
+ RoundRobinLoadBalancer,
255
+ RoundRobinLoadBalancingConfig
256
+ );
251
257
  }
@@ -16,11 +16,11 @@
16
16
  */
17
17
 
18
18
  import { ChannelOptions } from './channel-options';
19
- import { Subchannel, SubchannelAddress } from './subchannel';
20
- import { ConnectivityState } from './channel';
19
+ import { Subchannel } from './subchannel';
20
+ import { SubchannelAddress } from './subchannel-address';
21
+ import { ConnectivityState } from './connectivity-state';
21
22
  import { Picker } from './picker';
22
- import * as load_balancer_pick_first from './load-balancer-pick-first';
23
- import * as load_balancer_round_robin from './load-balancer-round-robin';
23
+ import { ChannelRef, SubchannelRef } from './channelz';
24
24
 
25
25
  /**
26
26
  * A collection of functions associated with a channel that a load balancer
@@ -48,6 +48,26 @@ export interface ChannelControlHelper {
48
48
  * Request new data from the resolver.
49
49
  */
50
50
  requestReresolution(): void;
51
+ addChannelzChild(child: ChannelRef | SubchannelRef): void;
52
+ removeChannelzChild(child: ChannelRef | SubchannelRef): void;
53
+ }
54
+
55
+ /**
56
+ * Create a child ChannelControlHelper that overrides some methods of the
57
+ * parent while letting others pass through to the parent unmodified. This
58
+ * allows other code to create these children without needing to know about
59
+ * all of the methods to be passed through.
60
+ * @param parent
61
+ * @param overrides
62
+ */
63
+ export function createChildChannelControlHelper(parent: ChannelControlHelper, overrides: Partial<ChannelControlHelper>): ChannelControlHelper {
64
+ return {
65
+ createSubchannel: overrides.createSubchannel?.bind(overrides) ?? parent.createSubchannel.bind(parent),
66
+ updateState: overrides.updateState?.bind(overrides) ?? parent.updateState.bind(parent),
67
+ requestReresolution: overrides.requestReresolution?.bind(overrides) ?? parent.requestReresolution.bind(parent),
68
+ addChannelzChild: overrides.addChannelzChild?.bind(overrides) ?? parent.addChannelzChild.bind(parent),
69
+ removeChannelzChild: overrides.removeChannelzChild?.bind(overrides) ?? parent.removeChannelzChild.bind(parent)
70
+ };
51
71
  }
52
72
 
53
73
  /**
@@ -102,17 +122,21 @@ export interface LoadBalancingConfig {
102
122
  }
103
123
 
104
124
  export interface LoadBalancingConfigConstructor {
105
- new(...args: any): LoadBalancingConfig;
125
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
126
+ new (...args: any): LoadBalancingConfig;
127
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
106
128
  createFromJson(obj: any): LoadBalancingConfig;
107
129
  }
108
130
 
109
131
  const registeredLoadBalancerTypes: {
110
132
  [name: string]: {
111
- LoadBalancer: LoadBalancerConstructor,
112
- LoadBalancingConfig: LoadBalancingConfigConstructor
133
+ LoadBalancer: LoadBalancerConstructor;
134
+ LoadBalancingConfig: LoadBalancingConfigConstructor;
113
135
  };
114
136
  } = {};
115
137
 
138
+ let defaultLoadBalancerType: string | null = null;
139
+
116
140
  export function registerLoadBalancerType(
117
141
  typeName: string,
118
142
  loadBalancerType: LoadBalancerConstructor,
@@ -120,17 +144,23 @@ export function registerLoadBalancerType(
120
144
  ) {
121
145
  registeredLoadBalancerTypes[typeName] = {
122
146
  LoadBalancer: loadBalancerType,
123
- LoadBalancingConfig: loadBalancingConfigType
147
+ LoadBalancingConfig: loadBalancingConfigType,
124
148
  };
125
149
  }
126
150
 
151
+ export function registerDefaultLoadBalancerType(typeName: string) {
152
+ defaultLoadBalancerType = typeName;
153
+ }
154
+
127
155
  export function createLoadBalancer(
128
156
  config: LoadBalancingConfig,
129
157
  channelControlHelper: ChannelControlHelper
130
158
  ): LoadBalancer | null {
131
159
  const typeName = config.getLoadBalancerName();
132
160
  if (typeName in registeredLoadBalancerTypes) {
133
- return new registeredLoadBalancerTypes[typeName].LoadBalancer(channelControlHelper);
161
+ return new registeredLoadBalancerTypes[typeName].LoadBalancer(
162
+ channelControlHelper
163
+ );
134
164
  } else {
135
165
  return null;
136
166
  }
@@ -140,40 +170,49 @@ export function isLoadBalancerNameRegistered(typeName: string): boolean {
140
170
  return typeName in registeredLoadBalancerTypes;
141
171
  }
142
172
 
143
- export function getFirstUsableConfig(configs: LoadBalancingConfig[], defaultPickFirst?: true): LoadBalancingConfig;
144
173
  export function getFirstUsableConfig(
145
174
  configs: LoadBalancingConfig[],
146
- defaultPickFirst: boolean = false
175
+ fallbackTodefault?: true
176
+ ): LoadBalancingConfig;
177
+ export function getFirstUsableConfig(
178
+ configs: LoadBalancingConfig[],
179
+ fallbackTodefault = false
147
180
  ): LoadBalancingConfig | null {
148
181
  for (const config of configs) {
149
182
  if (config.getLoadBalancerName() in registeredLoadBalancerTypes) {
150
183
  return config;
151
184
  }
152
185
  }
153
- if (defaultPickFirst) {
154
- return new load_balancer_pick_first.PickFirstLoadBalancingConfig()
186
+ if (fallbackTodefault) {
187
+ if (defaultLoadBalancerType) {
188
+ return new registeredLoadBalancerTypes[
189
+ defaultLoadBalancerType
190
+ ]!.LoadBalancingConfig();
191
+ } else {
192
+ return null;
193
+ }
155
194
  } else {
156
195
  return null;
157
196
  }
158
197
  }
159
198
 
199
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
160
200
  export function validateLoadBalancingConfig(obj: any): LoadBalancingConfig {
161
- if (!(obj !== null && (typeof obj === 'object'))) {
201
+ if (!(obj !== null && typeof obj === 'object')) {
162
202
  throw new Error('Load balancing config must be an object');
163
203
  }
164
204
  const keys = Object.keys(obj);
165
205
  if (keys.length !== 1) {
166
- throw new Error('Provided load balancing config has multiple conflicting entries');
206
+ throw new Error(
207
+ 'Provided load balancing config has multiple conflicting entries'
208
+ );
167
209
  }
168
210
  const typeName = keys[0];
169
211
  if (typeName in registeredLoadBalancerTypes) {
170
- return registeredLoadBalancerTypes[typeName].LoadBalancingConfig.createFromJson(obj[typeName]);
212
+ return registeredLoadBalancerTypes[
213
+ typeName
214
+ ].LoadBalancingConfig.createFromJson(obj[typeName]);
171
215
  } else {
172
216
  throw new Error(`Unrecognized load balancing config name ${typeName}`);
173
217
  }
174
218
  }
175
-
176
- export function registerAll() {
177
- load_balancer_pick_first.setup();
178
- load_balancer_round_robin.setup();
179
- }
@@ -17,10 +17,23 @@
17
17
 
18
18
  import { LogVerbosity } from './constants';
19
19
 
20
- let _logger: Partial<Console> = console;
20
+ const DEFAULT_LOGGER: Partial<Console> = {
21
+ error: (message?: any, ...optionalParams: any[]) => {
22
+ console.error('E ' + message, ...optionalParams);
23
+ },
24
+ info: (message?: any, ...optionalParams: any[]) => {
25
+ console.error('I ' + message, ...optionalParams);
26
+ },
27
+ debug: (message?: any, ...optionalParams: any[]) => {
28
+ console.error('D ' + message, ...optionalParams);
29
+ },
30
+ }
31
+
32
+ let _logger: Partial<Console> = DEFAULT_LOGGER;
21
33
  let _logVerbosity: LogVerbosity = LogVerbosity.ERROR;
22
34
 
23
- const verbosityString = process.env.GRPC_NODE_VERBOSITY ?? process.env.GRPC_VERBOSITY ?? '';
35
+ const verbosityString =
36
+ process.env.GRPC_NODE_VERBOSITY ?? process.env.GRPC_VERBOSITY ?? '';
24
37
 
25
38
  switch (verbosityString.toUpperCase()) {
26
39
  case 'DEBUG':
@@ -53,19 +66,39 @@ export const setLoggerVerbosity = (verbosity: LogVerbosity): void => {
53
66
 
54
67
  // eslint-disable-next-line @typescript-eslint/no-explicit-any
55
68
  export const log = (severity: LogVerbosity, ...args: any[]): void => {
56
- if (severity >= _logVerbosity && typeof _logger.error === 'function') {
57
- _logger.error(...args);
69
+ let logFunction: typeof DEFAULT_LOGGER.error;
70
+ if (severity >= _logVerbosity) {
71
+ switch (severity) {
72
+ case LogVerbosity.DEBUG:
73
+ logFunction = _logger.debug;
74
+ break;
75
+ case LogVerbosity.INFO:
76
+ logFunction = _logger.info;
77
+ break;
78
+ case LogVerbosity.ERROR:
79
+ logFunction = _logger.error;
80
+ break;
81
+ }
82
+ /* Fall back to _logger.error when other methods are not available for
83
+ * compatiblity with older behavior that always logged to _logger.error */
84
+ if (!logFunction) {
85
+ logFunction = _logger.error;
86
+ }
87
+ if (logFunction) {
88
+ logFunction.bind(_logger)(...args);
89
+ }
58
90
  }
59
91
  };
60
92
 
61
- const tracersString = process.env.GRPC_NODE_TRACE ?? process.env.GRPC_TRACE ?? '';
93
+ const tracersString =
94
+ process.env.GRPC_NODE_TRACE ?? process.env.GRPC_TRACE ?? '';
62
95
  const enabledTracers = new Set<string>();
63
96
  const disabledTracers = new Set<string>();
64
97
  for (const tracerName of tracersString.split(',')) {
65
98
  if (tracerName.startsWith('-')) {
66
99
  disabledTracers.add(tracerName.substring(1));
67
100
  } else {
68
- enabledTracers.add(tracerName)
101
+ enabledTracers.add(tracerName);
69
102
  }
70
103
  }
71
104
  const allEnabled = enabledTracers.has('all');
@@ -75,7 +108,10 @@ export function trace(
75
108
  tracer: string,
76
109
  text: string
77
110
  ): void {
78
- if (!disabledTracers.has(tracer) && (allEnabled || enabledTracers.has(tracer))) {
111
+ if (
112
+ !disabledTracers.has(tracer) &&
113
+ (allEnabled || enabledTracers.has(tracer))
114
+ ) {
79
115
  log(severity, new Date().toISOString() + ' | ' + tracer + ' | ' + text);
80
116
  }
81
117
  }
@@ -98,7 +98,7 @@ export interface ServiceClientConstructor {
98
98
  * keys.
99
99
  * @param key key for check, string.
100
100
  */
101
- function isPrototypePolluted(key: string): Boolean {
101
+ function isPrototypePolluted(key: string): boolean {
102
102
  return ['__proto__', 'prototype', 'constructor'].includes(key);
103
103
  }
104
104
 
@@ -15,10 +15,14 @@
15
15
  *
16
16
  */
17
17
 
18
- import { BaseFilter, Filter, FilterFactory } from "./filter";
19
- import { Call, WriteObject } from "./call-stream";
20
- import { Status, DEFAULT_MAX_SEND_MESSAGE_LENGTH, DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH } from "./constants";
21
- import { ChannelOptions } from "./channel-options";
18
+ import { BaseFilter, Filter, FilterFactory } from './filter';
19
+ import { Call, WriteObject } from './call-stream';
20
+ import {
21
+ Status,
22
+ DEFAULT_MAX_SEND_MESSAGE_LENGTH,
23
+ DEFAULT_MAX_RECEIVE_MESSAGE_LENGTH,
24
+ } from './constants';
25
+ import { ChannelOptions } from './channel-options';
22
26
 
23
27
  export class MaxMessageSizeFilter extends BaseFilter implements Filter {
24
28
  private maxSendMessageSize: number = DEFAULT_MAX_SEND_MESSAGE_LENGTH;
@@ -44,7 +48,10 @@ export class MaxMessageSizeFilter extends BaseFilter implements Filter {
44
48
  } else {
45
49
  const concreteMessage = await message;
46
50
  if (concreteMessage.message.length > this.maxSendMessageSize) {
47
- this.callStream.cancelWithStatus(Status.RESOURCE_EXHAUSTED, `Sent message larger than max (${concreteMessage.message.length} vs. ${this.maxSendMessageSize})`);
51
+ this.callStream.cancelWithStatus(
52
+ Status.RESOURCE_EXHAUSTED,
53
+ `Sent message larger than max (${concreteMessage.message.length} vs. ${this.maxSendMessageSize})`
54
+ );
48
55
  return Promise.reject<WriteObject>('Message too large');
49
56
  } else {
50
57
  return concreteMessage;
@@ -60,7 +67,10 @@ export class MaxMessageSizeFilter extends BaseFilter implements Filter {
60
67
  } else {
61
68
  const concreteMessage = await message;
62
69
  if (concreteMessage.length > this.maxReceiveMessageSize) {
63
- this.callStream.cancelWithStatus(Status.RESOURCE_EXHAUSTED, `Received message larger than max (${concreteMessage.length} vs. ${this.maxReceiveMessageSize})`);
70
+ this.callStream.cancelWithStatus(
71
+ Status.RESOURCE_EXHAUSTED,
72
+ `Received message larger than max (${concreteMessage.length} vs. ${this.maxReceiveMessageSize})`
73
+ );
64
74
  return Promise.reject<Buffer>('Message too large');
65
75
  } else {
66
76
  return concreteMessage;
@@ -69,7 +79,8 @@ export class MaxMessageSizeFilter extends BaseFilter implements Filter {
69
79
  }
70
80
  }
71
81
 
72
- export class MaxMessageSizeFilterFactory implements FilterFactory<MaxMessageSizeFilter> {
82
+ export class MaxMessageSizeFilterFactory
83
+ implements FilterFactory<MaxMessageSizeFilter> {
73
84
  constructor(private readonly options: ChannelOptions) {}
74
85
 
75
86
  createFilter(callStream: Call): MaxMessageSizeFilter {
@@ -242,6 +242,18 @@ export class Metadata {
242
242
  return this.internalRepr;
243
243
  }
244
244
 
245
+ /**
246
+ * This modifies the behavior of JSON.stringify to show an object
247
+ * representation of the metadata map.
248
+ */
249
+ toJSON() {
250
+ const result: { [key: string]: MetadataValue[] } = {};
251
+ for (const [key, values] of this.internalRepr.entries()) {
252
+ result[key] = values;
253
+ }
254
+ return result;
255
+ }
256
+
245
257
  /**
246
258
  * Returns a new Metadata object based fields in a given IncomingHttpHeaders
247
259
  * object.
@@ -47,7 +47,7 @@ export interface PickResult {
47
47
  * provided by the load balancer to be used with the call. For technical
48
48
  * reasons filters from this factory will not see sendMetadata events.
49
49
  */
50
- extraFilterFactory: FilterFactory<Filter> | null;
50
+ extraFilterFactories: FilterFactory<Filter>[];
51
51
  onCallStarted: (() => void) | null;
52
52
  }
53
53
 
@@ -55,7 +55,7 @@ export interface CompletePickResult extends PickResult {
55
55
  pickResultType: PickResultType.COMPLETE;
56
56
  subchannel: Subchannel | null;
57
57
  status: null;
58
- extraFilterFactory: FilterFactory<Filter> | null;
58
+ extraFilterFactories: FilterFactory<Filter>[];
59
59
  onCallStarted: (() => void) | null;
60
60
  }
61
61
 
@@ -63,7 +63,7 @@ export interface QueuePickResult extends PickResult {
63
63
  pickResultType: PickResultType.QUEUE;
64
64
  subchannel: null;
65
65
  status: null;
66
- extraFilterFactory: null;
66
+ extraFilterFactories: [];
67
67
  onCallStarted: null;
68
68
  }
69
69
 
@@ -71,7 +71,7 @@ export interface TransientFailurePickResult extends PickResult {
71
71
  pickResultType: PickResultType.TRANSIENT_FAILURE;
72
72
  subchannel: null;
73
73
  status: StatusObject;
74
- extraFilterFactory: null;
74
+ extraFilterFactories: [];
75
75
  onCallStarted: null;
76
76
  }
77
77
 
@@ -79,13 +79,13 @@ export interface DropCallPickResult extends PickResult {
79
79
  pickResultType: PickResultType.DROP;
80
80
  subchannel: null;
81
81
  status: StatusObject;
82
- extraFilterFactory: null;
82
+ extraFilterFactories: [];
83
83
  onCallStarted: null;
84
84
  }
85
85
 
86
86
  export interface PickArgs {
87
87
  metadata: Metadata;
88
- extraPickInfo: {[key: string]: string};
88
+ extraPickInfo: { [key: string]: string };
89
89
  }
90
90
 
91
91
  /**
@@ -119,7 +119,7 @@ export class UnavailablePicker implements Picker {
119
119
  pickResultType: PickResultType.TRANSIENT_FAILURE,
120
120
  subchannel: null,
121
121
  status: this.status,
122
- extraFilterFactory: null,
122
+ extraFilterFactories: [],
123
123
  onCallStarted: null,
124
124
  };
125
125
  }
@@ -148,7 +148,7 @@ export class QueuePicker {
148
148
  pickResultType: PickResultType.QUEUE,
149
149
  subchannel: null,
150
150
  status: null,
151
- extraFilterFactory: null,
151
+ extraFilterFactories: [],
152
152
  onCallStarted: null,
153
153
  };
154
154
  }
@@ -28,7 +28,7 @@ import { StatusObject } from './call-stream';
28
28
  import { Metadata } from './metadata';
29
29
  import * as logging from './logging';
30
30
  import { LogVerbosity } from './constants';
31
- import { SubchannelAddress, TcpSubchannelAddress } from './subchannel';
31
+ import { SubchannelAddress, TcpSubchannelAddress } from './subchannel-address';
32
32
  import { GrpcUri, uriToString, splitHostPort } from './uri-parser';
33
33
  import { isIPv6, isIPv4 } from 'net';
34
34
  import { ChannelOptions } from './channel-options';
@@ -129,7 +129,13 @@ class DnsResolver implements Resolver {
129
129
  if (this.ipResult !== null) {
130
130
  trace('Returning IP address for target ' + uriToString(this.target));
131
131
  setImmediate(() => {
132
- this.listener.onSuccessfulResolution(this.ipResult!, null, null, null, {});
132
+ this.listener.onSuccessfulResolution(
133
+ this.ipResult!,
134
+ null,
135
+ null,
136
+ null,
137
+ {}
138
+ );
133
139
  });
134
140
  return;
135
141
  }
@@ -14,14 +14,14 @@
14
14
  * limitations under the License.
15
15
  */
16
16
 
17
- import { isIPv4, isIPv6 } from "net";
18
- import { StatusObject } from "./call-stream";
19
- import { ChannelOptions } from "./channel-options";
20
- import { LogVerbosity, Status } from "./constants";
21
- import { Metadata } from "./metadata";
22
- import { registerResolver, Resolver, ResolverListener } from "./resolver";
23
- import { SubchannelAddress } from "./subchannel";
24
- import { GrpcUri, splitHostPort, uriToString } from "./uri-parser";
17
+ import { isIPv4, isIPv6 } from 'net';
18
+ import { StatusObject } from './call-stream';
19
+ import { ChannelOptions } from './channel-options';
20
+ import { LogVerbosity, Status } from './constants';
21
+ import { Metadata } from './metadata';
22
+ import { registerResolver, Resolver, ResolverListener } from './resolver';
23
+ import { SubchannelAddress } from './subchannel-address';
24
+ import { GrpcUri, splitHostPort, uriToString } from './uri-parser';
25
25
  import * as logging from './logging';
26
26
 
27
27
  const TRACER_NAME = 'ip_resolver';
@@ -52,7 +52,7 @@ class IpResolver implements Resolver {
52
52
  this.error = {
53
53
  code: Status.UNAVAILABLE,
54
54
  details: `Unrecognized scheme ${target.scheme} in IP resolver`,
55
- metadata: new Metadata()
55
+ metadata: new Metadata(),
56
56
  };
57
57
  return;
58
58
  }
@@ -63,21 +63,24 @@ class IpResolver implements Resolver {
63
63
  this.error = {
64
64
  code: Status.UNAVAILABLE,
65
65
  details: `Failed to parse ${target.scheme} address ${path}`,
66
- metadata: new Metadata()
66
+ metadata: new Metadata(),
67
67
  };
68
68
  return;
69
69
  }
70
- if ((target.scheme === IPV4_SCHEME && !isIPv4(hostPort.host)) || (target.scheme === IPV6_SCHEME && !isIPv6(hostPort.host))) {
70
+ if (
71
+ (target.scheme === IPV4_SCHEME && !isIPv4(hostPort.host)) ||
72
+ (target.scheme === IPV6_SCHEME && !isIPv6(hostPort.host))
73
+ ) {
71
74
  this.error = {
72
75
  code: Status.UNAVAILABLE,
73
76
  details: `Failed to parse ${target.scheme} address ${path}`,
74
- metadata: new Metadata()
77
+ metadata: new Metadata(),
75
78
  };
76
79
  return;
77
80
  }
78
81
  addresses.push({
79
82
  host: hostPort.host,
80
- port: hostPort.port ?? DEFAULT_PORT
83
+ port: hostPort.port ?? DEFAULT_PORT,
81
84
  });
82
85
  }
83
86
  this.addresses = addresses;
@@ -86,9 +89,15 @@ class IpResolver implements Resolver {
86
89
  updateResolution(): void {
87
90
  process.nextTick(() => {
88
91
  if (this.error) {
89
- this.listener.onError(this.error)
92
+ this.listener.onError(this.error);
90
93
  } else {
91
- this.listener.onSuccessfulResolution(this.addresses, null, null, null, {});
94
+ this.listener.onSuccessfulResolution(
95
+ this.addresses,
96
+ null,
97
+ null,
98
+ null,
99
+ {}
100
+ );
92
101
  }
93
102
  });
94
103
  }
@@ -104,4 +113,4 @@ class IpResolver implements Resolver {
104
113
  export function setup() {
105
114
  registerResolver(IPV4_SCHEME, IpResolver);
106
115
  registerResolver(IPV6_SCHEME, IpResolver);
107
- }
116
+ }