@vishalsharma7nov/react-native-proto 0.2.2

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 (190) hide show
  1. package/android/src/main/java/com/vishalsharma7nov/reactnativeproto/ReactNativeProtoNativeGrpcModule.java +142 -0
  2. package/app.plugin.js +63 -0
  3. package/bin/react-native-proto.js +956 -0
  4. package/ios/ReactNativeProtoNativeGrpc.m +129 -0
  5. package/lib/commonjs/auth.js +72 -0
  6. package/lib/commonjs/auth.js.map +1 -0
  7. package/lib/commonjs/client-factory.js +81 -0
  8. package/lib/commonjs/client-factory.js.map +1 -0
  9. package/lib/commonjs/codecs.js +41 -0
  10. package/lib/commonjs/codecs.js.map +1 -0
  11. package/lib/commonjs/connect/envelope.js +100 -0
  12. package/lib/commonjs/connect/envelope.js.map +1 -0
  13. package/lib/commonjs/connect/errors.js +71 -0
  14. package/lib/commonjs/connect/errors.js.map +1 -0
  15. package/lib/commonjs/errors.js +54 -0
  16. package/lib/commonjs/errors.js.map +1 -0
  17. package/lib/commonjs/generated/create-api.js +29 -0
  18. package/lib/commonjs/generated/create-api.js.map +1 -0
  19. package/lib/commonjs/generated/message-types.js +2 -0
  20. package/lib/commonjs/generated/message-types.js.map +1 -0
  21. package/lib/commonjs/generated/messages.js +47 -0
  22. package/lib/commonjs/generated/messages.js.map +1 -0
  23. package/lib/commonjs/generated/messages.pb.js +2787 -0
  24. package/lib/commonjs/generated/messages.pb.js.map +1 -0
  25. package/lib/commonjs/generated/method-map.js +68 -0
  26. package/lib/commonjs/generated/method-map.js.map +1 -0
  27. package/lib/commonjs/index.js +283 -0
  28. package/lib/commonjs/index.js.map +1 -0
  29. package/lib/commonjs/interceptors.js +19 -0
  30. package/lib/commonjs/interceptors.js.map +1 -0
  31. package/lib/commonjs/logging.js +54 -0
  32. package/lib/commonjs/logging.js.map +1 -0
  33. package/lib/commonjs/metro/index.js +35 -0
  34. package/lib/commonjs/metro/index.js.map +1 -0
  35. package/lib/commonjs/metro/transformer.js +33 -0
  36. package/lib/commonjs/metro/transformer.js.map +1 -0
  37. package/lib/commonjs/mock-server/index.js +125 -0
  38. package/lib/commonjs/mock-server/index.js.map +1 -0
  39. package/lib/commonjs/native-grpc/index.js +242 -0
  40. package/lib/commonjs/native-grpc/index.js.map +1 -0
  41. package/lib/commonjs/offline-queue.js +137 -0
  42. package/lib/commonjs/offline-queue.js.map +1 -0
  43. package/lib/commonjs/package.json +1 -0
  44. package/lib/commonjs/path-templates.js +44 -0
  45. package/lib/commonjs/path-templates.js.map +1 -0
  46. package/lib/commonjs/react-query/index.js +30 -0
  47. package/lib/commonjs/react-query/index.js.map +1 -0
  48. package/lib/commonjs/streaming.js +251 -0
  49. package/lib/commonjs/streaming.js.map +1 -0
  50. package/lib/commonjs/transport.js +323 -0
  51. package/lib/commonjs/transport.js.map +1 -0
  52. package/lib/commonjs/types.js +6 -0
  53. package/lib/commonjs/types.js.map +1 -0
  54. package/lib/commonjs/validation/zod.js +48 -0
  55. package/lib/commonjs/validation/zod.js.map +1 -0
  56. package/lib/commonjs/version-check.js +102 -0
  57. package/lib/commonjs/version-check.js.map +1 -0
  58. package/lib/module/auth.js +67 -0
  59. package/lib/module/auth.js.map +1 -0
  60. package/lib/module/client-factory.js +77 -0
  61. package/lib/module/client-factory.js.map +1 -0
  62. package/lib/module/codecs.js +36 -0
  63. package/lib/module/codecs.js.map +1 -0
  64. package/lib/module/connect/envelope.js +93 -0
  65. package/lib/module/connect/envelope.js.map +1 -0
  66. package/lib/module/connect/errors.js +65 -0
  67. package/lib/module/connect/errors.js.map +1 -0
  68. package/lib/module/errors.js +46 -0
  69. package/lib/module/errors.js.map +1 -0
  70. package/lib/module/generated/create-api.js +13 -0
  71. package/lib/module/generated/create-api.js.map +1 -0
  72. package/lib/module/generated/message-types.js +2 -0
  73. package/lib/module/generated/message-types.js.map +1 -0
  74. package/lib/module/generated/messages.js +43 -0
  75. package/lib/module/generated/messages.js.map +1 -0
  76. package/lib/module/generated/messages.pb.js +2787 -0
  77. package/lib/module/generated/messages.pb.js.map +1 -0
  78. package/lib/module/generated/method-map.js +64 -0
  79. package/lib/module/generated/method-map.js.map +1 -0
  80. package/lib/module/index.js +53 -0
  81. package/lib/module/index.js.map +1 -0
  82. package/lib/module/interceptors.js +15 -0
  83. package/lib/module/interceptors.js.map +1 -0
  84. package/lib/module/logging.js +50 -0
  85. package/lib/module/logging.js.map +1 -0
  86. package/lib/module/metro/index.js +25 -0
  87. package/lib/module/metro/index.js.map +1 -0
  88. package/lib/module/metro/transformer.js +29 -0
  89. package/lib/module/metro/transformer.js.map +1 -0
  90. package/lib/module/mock-server/index.js +120 -0
  91. package/lib/module/mock-server/index.js.map +1 -0
  92. package/lib/module/native-grpc/index.js +233 -0
  93. package/lib/module/native-grpc/index.js.map +1 -0
  94. package/lib/module/offline-queue.js +132 -0
  95. package/lib/module/offline-queue.js.map +1 -0
  96. package/lib/module/package.json +1 -0
  97. package/lib/module/path-templates.js +39 -0
  98. package/lib/module/path-templates.js.map +1 -0
  99. package/lib/module/react-query/index.js +25 -0
  100. package/lib/module/react-query/index.js.map +1 -0
  101. package/lib/module/streaming.js +246 -0
  102. package/lib/module/streaming.js.map +1 -0
  103. package/lib/module/transport.js +316 -0
  104. package/lib/module/transport.js.map +1 -0
  105. package/lib/module/types.js +4 -0
  106. package/lib/module/types.js.map +1 -0
  107. package/lib/module/validation/zod.js +43 -0
  108. package/lib/module/validation/zod.js.map +1 -0
  109. package/lib/module/version-check.js +93 -0
  110. package/lib/module/version-check.js.map +1 -0
  111. package/lib/typescript/src/auth.d.ts +26 -0
  112. package/lib/typescript/src/auth.d.ts.map +1 -0
  113. package/lib/typescript/src/client-factory.d.ts +7 -0
  114. package/lib/typescript/src/client-factory.d.ts.map +1 -0
  115. package/lib/typescript/src/codecs.d.ts +5 -0
  116. package/lib/typescript/src/codecs.d.ts.map +1 -0
  117. package/lib/typescript/src/connect/envelope.d.ts +18 -0
  118. package/lib/typescript/src/connect/envelope.d.ts.map +1 -0
  119. package/lib/typescript/src/connect/errors.d.ts +11 -0
  120. package/lib/typescript/src/connect/errors.d.ts.map +1 -0
  121. package/lib/typescript/src/errors.d.ts +21 -0
  122. package/lib/typescript/src/errors.d.ts.map +1 -0
  123. package/lib/typescript/src/generated/create-api.d.ts +34 -0
  124. package/lib/typescript/src/generated/create-api.d.ts.map +1 -0
  125. package/lib/typescript/src/generated/message-types.d.ts +54 -0
  126. package/lib/typescript/src/generated/message-types.d.ts.map +1 -0
  127. package/lib/typescript/src/generated/messages.d.ts +17 -0
  128. package/lib/typescript/src/generated/messages.d.ts.map +1 -0
  129. package/lib/typescript/src/generated/method-map.d.ts +7 -0
  130. package/lib/typescript/src/generated/method-map.d.ts.map +1 -0
  131. package/lib/typescript/src/index.d.ts +53 -0
  132. package/lib/typescript/src/index.d.ts.map +1 -0
  133. package/lib/typescript/src/interceptors.d.ts +17 -0
  134. package/lib/typescript/src/interceptors.d.ts.map +1 -0
  135. package/lib/typescript/src/logging.d.ts +16 -0
  136. package/lib/typescript/src/logging.d.ts.map +1 -0
  137. package/lib/typescript/src/metro/index.d.ts +15 -0
  138. package/lib/typescript/src/metro/index.d.ts.map +1 -0
  139. package/lib/typescript/src/metro/transformer.d.ts +16 -0
  140. package/lib/typescript/src/metro/transformer.d.ts.map +1 -0
  141. package/lib/typescript/src/mock-server/index.d.ts +27 -0
  142. package/lib/typescript/src/mock-server/index.d.ts.map +1 -0
  143. package/lib/typescript/src/native-grpc/index.d.ts +36 -0
  144. package/lib/typescript/src/native-grpc/index.d.ts.map +1 -0
  145. package/lib/typescript/src/offline-queue.d.ts +47 -0
  146. package/lib/typescript/src/offline-queue.d.ts.map +1 -0
  147. package/lib/typescript/src/path-templates.d.ts +17 -0
  148. package/lib/typescript/src/path-templates.d.ts.map +1 -0
  149. package/lib/typescript/src/react-query/index.d.ts +14 -0
  150. package/lib/typescript/src/react-query/index.d.ts.map +1 -0
  151. package/lib/typescript/src/streaming.d.ts +10 -0
  152. package/lib/typescript/src/streaming.d.ts.map +1 -0
  153. package/lib/typescript/src/transport.d.ts +19 -0
  154. package/lib/typescript/src/transport.d.ts.map +1 -0
  155. package/lib/typescript/src/types.d.ts +78 -0
  156. package/lib/typescript/src/types.d.ts.map +1 -0
  157. package/lib/typescript/src/validation/zod.d.ts +33 -0
  158. package/lib/typescript/src/validation/zod.d.ts.map +1 -0
  159. package/lib/typescript/src/version-check.d.ts +40 -0
  160. package/lib/typescript/src/version-check.d.ts.map +1 -0
  161. package/metro/index.js +23 -0
  162. package/metro/transformer.js +21 -0
  163. package/package.json +144 -0
  164. package/react-native-proto.podspec +15 -0
  165. package/src/auth.ts +97 -0
  166. package/src/client-factory.ts +109 -0
  167. package/src/codecs.ts +42 -0
  168. package/src/connect/envelope.ts +112 -0
  169. package/src/connect/errors.ts +86 -0
  170. package/src/errors.ts +81 -0
  171. package/src/generated/create-api.ts +40 -0
  172. package/src/generated/message-types.ts +63 -0
  173. package/src/generated/messages.pb.js +3207 -0
  174. package/src/generated/messages.ts +45 -0
  175. package/src/generated/method-map.ts +71 -0
  176. package/src/index.ts +113 -0
  177. package/src/interceptors.ts +32 -0
  178. package/src/logging.ts +67 -0
  179. package/src/metro/index.ts +27 -0
  180. package/src/metro/transformer.ts +38 -0
  181. package/src/mock-server/index.ts +164 -0
  182. package/src/native-grpc/index.ts +302 -0
  183. package/src/offline-queue.ts +160 -0
  184. package/src/path-templates.ts +65 -0
  185. package/src/react-query/index.ts +40 -0
  186. package/src/streaming.ts +326 -0
  187. package/src/transport.ts +427 -0
  188. package/src/types.ts +94 -0
  189. package/src/validation/zod.ts +75 -0
  190. package/src/version-check.ts +121 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["$protobuf","require","$Reader","Reader","$Writer","Writer","$util","util","$root","roots","demo","User","properties","keys","Object","i","length","prototype","id","name","email","age","phone","createdAt","Long","fromBits","updatedAt","create","encode","message","writer","q","undefined","recursionLimit","Error","hasOwnProperty","call","uint32","string","int32","int64","encodeDelimited","len","fork","ldelim","decode","reader","error","long","end","pos","RangeError","tag","skipType","decodeDelimited","verify","isString","isInteger","low","high","fromObject","object","isObject","TypeError","String","fromValue","parseInt","LongBits","toNumber","toObject","options","defaults","longs","toString","Number","BigInt","toBigInt","toJSON","constructor","toJSONOptions","getTypeUrl","typeUrlPrefix","GetUserRequest","GetUserByEmailRequest","ListUsersRequest","page","pageSize","pageToken","query","ListUsersResponse","users","emptyArray","nextPageToken","totalCount","push","Array","isArray","arrays","j","AddUserRequest","UpdateUserRequest","DeleteUserRequest","DeleteUserResponse","success","bool","Boolean","GetUserByPhoneRequest","UserService","rpcImpl","requestDelimited","responseDelimited","rpc","Service","defineProperty","addUser","request","callback","rpcCall","value","getUser","getUserByEmail","listUsers","updateUser","deleteUser","getUserByPhone","module","exports"],"sourceRoot":"../../../src","sources":["generated/messages.pb.js"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Auto-generated method map. Do not edit by hand.
5
+ * Sources: user.proto
6
+ */
7
+ export const methodMap = [{
8
+ "serviceName": "UserService",
9
+ "methodName": "AddUser",
10
+ "packageName": "demo",
11
+ "rpcPath": "demo.UserService/AddUser",
12
+ "requestType": "demo.AddUserRequest",
13
+ "responseType": "demo.User",
14
+ "kind": "unary"
15
+ }, {
16
+ "serviceName": "UserService",
17
+ "methodName": "GetUser",
18
+ "packageName": "demo",
19
+ "rpcPath": "demo.UserService/GetUser",
20
+ "requestType": "demo.GetUserRequest",
21
+ "responseType": "demo.User",
22
+ "kind": "unary"
23
+ }, {
24
+ "serviceName": "UserService",
25
+ "methodName": "GetUserByEmail",
26
+ "packageName": "demo",
27
+ "rpcPath": "demo.UserService/GetUserByEmail",
28
+ "requestType": "demo.GetUserByEmailRequest",
29
+ "responseType": "demo.User",
30
+ "kind": "unary"
31
+ }, {
32
+ "serviceName": "UserService",
33
+ "methodName": "ListUsers",
34
+ "packageName": "demo",
35
+ "rpcPath": "demo.UserService/ListUsers",
36
+ "requestType": "demo.ListUsersRequest",
37
+ "responseType": "demo.ListUsersResponse",
38
+ "kind": "unary"
39
+ }, {
40
+ "serviceName": "UserService",
41
+ "methodName": "UpdateUser",
42
+ "packageName": "demo",
43
+ "rpcPath": "demo.UserService/UpdateUser",
44
+ "requestType": "demo.UpdateUserRequest",
45
+ "responseType": "demo.User",
46
+ "kind": "unary"
47
+ }, {
48
+ "serviceName": "UserService",
49
+ "methodName": "DeleteUser",
50
+ "packageName": "demo",
51
+ "rpcPath": "demo.UserService/DeleteUser",
52
+ "requestType": "demo.DeleteUserRequest",
53
+ "responseType": "demo.DeleteUserResponse",
54
+ "kind": "unary"
55
+ }, {
56
+ "serviceName": "UserService",
57
+ "methodName": "GetUserByPhone",
58
+ "packageName": "demo",
59
+ "rpcPath": "demo.UserService/GetUserByPhone",
60
+ "requestType": "demo.GetUserByPhoneRequest",
61
+ "responseType": "demo.User",
62
+ "kind": "unary"
63
+ }];
64
+ //# sourceMappingURL=method-map.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["methodMap"],"sourceRoot":"../../../src","sources":["generated/method-map.ts"],"mappings":";;AAEA;AACA;AACA;AACA;AACA,OAAO,MAAMA,SAAoB,GAAG,CAClC;EACE,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,SAAS;EACvB,aAAa,EAAE,MAAM;EACrB,SAAS,EAAE,0BAA0B;EACrC,aAAa,EAAE,qBAAqB;EACpC,cAAc,EAAE,WAAW;EAC3B,MAAM,EAAE;AACV,CAAC,EACD;EACE,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,SAAS;EACvB,aAAa,EAAE,MAAM;EACrB,SAAS,EAAE,0BAA0B;EACrC,aAAa,EAAE,qBAAqB;EACpC,cAAc,EAAE,WAAW;EAC3B,MAAM,EAAE;AACV,CAAC,EACD;EACE,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,gBAAgB;EAC9B,aAAa,EAAE,MAAM;EACrB,SAAS,EAAE,iCAAiC;EAC5C,aAAa,EAAE,4BAA4B;EAC3C,cAAc,EAAE,WAAW;EAC3B,MAAM,EAAE;AACV,CAAC,EACD;EACE,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,WAAW;EACzB,aAAa,EAAE,MAAM;EACrB,SAAS,EAAE,4BAA4B;EACvC,aAAa,EAAE,uBAAuB;EACtC,cAAc,EAAE,wBAAwB;EACxC,MAAM,EAAE;AACV,CAAC,EACD;EACE,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,YAAY;EAC1B,aAAa,EAAE,MAAM;EACrB,SAAS,EAAE,6BAA6B;EACxC,aAAa,EAAE,wBAAwB;EACvC,cAAc,EAAE,WAAW;EAC3B,MAAM,EAAE;AACV,CAAC,EACD;EACE,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,YAAY;EAC1B,aAAa,EAAE,MAAM;EACrB,SAAS,EAAE,6BAA6B;EACxC,aAAa,EAAE,wBAAwB;EACvC,cAAc,EAAE,yBAAyB;EACzC,MAAM,EAAE;AACV,CAAC,EACD;EACE,aAAa,EAAE,aAAa;EAC5B,YAAY,EAAE,gBAAgB;EAC9B,aAAa,EAAE,MAAM;EACrB,SAAS,EAAE,iCAAiC;EAC5C,aAAa,EAAE,4BAA4B;EAC3C,cAAc,EAAE,WAAW;EAC3B,MAAM,EAAE;AACV,CAAC,CACF","ignoreList":[]}
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+
3
+ import { createClientFromMap } from "./client-factory";
4
+ import { getErrorCode, isProtoClientError, ProtoClientError } from "./errors";
5
+ import { methodMap } from "./generated/method-map";
6
+ import { defaultCodecs } from "./generated/messages";
7
+ import { isNativeGrpcAvailable } from "./native-grpc";
8
+ export { getErrorCode, isProtoClientError, ProtoClientError };
9
+ export { createClientFromMap } from "./client-factory";
10
+ export { createCodecRegistry, codecFromType } from "./codecs";
11
+ export { composeInterceptors } from "./interceptors";
12
+ export { createAuthInterceptor, createBearerTokenHeaders } from "./auth";
13
+ export { createLoggingInterceptor } from "./logging";
14
+ export { OfflineMutationQueue } from "./offline-queue";
15
+ export { createPathForMethod, pathFromTemplate } from "./path-templates";
16
+ export { CLIENT_VERSION_HEADER, SERVER_MIN_CLIENT_HEADER, METHOD_MAP_HASH_HEADER, compareDottedVersions, versionHeaders, createVersionInterceptor, createVersionAwareFetch, assertServerMinClient } from "./version-check";
17
+ export { withZodValidation, wrapCodecRegistryWithZod } from "./validation/zod";
18
+ export { encodeConnectEnvelope, decodeConnectEnvelopes } from "./connect/envelope";
19
+ export { methodMap } from "./generated/method-map";
20
+ export { AddUserRequest, defaultCodecs, DeleteUserRequest, DeleteUserResponse, GetUserByEmailRequest, GetUserRequest, ListUsersRequest, ListUsersResponse, UpdateUserRequest, User } from "./generated/messages";
21
+ export { isNativeGrpcAvailable, installNativeGrpcBridgeFromNativeModule } from "./native-grpc";
22
+ /**
23
+ * Create a dynamic API client from package method metadata + your app config.
24
+ *
25
+ * @example
26
+ * const api = createClient({
27
+ * baseUrl: 'https://api.example.com',
28
+ * getHeaders: () => ({ Authorization: `Bearer ${token}` }),
29
+ * });
30
+ * const user = await api.userService.getUser({ id: '1' });
31
+ */
32
+ export function createClient(config) {
33
+ const map = config.methodMap ?? methodMap;
34
+ const codecs = config.codecs ?? defaultCodecs;
35
+ return createClientFromMap(config, map, codecs);
36
+ }
37
+
38
+ /** Alias preferred in generated `create-api.ts` drop-ins. */
39
+ export const createApi = createClient;
40
+ export function getDefaultMethodMap() {
41
+ return methodMap;
42
+ }
43
+ export function getTransportCapabilities() {
44
+ return {
45
+ http: true,
46
+ connect: true,
47
+ connectStreaming: true,
48
+ nativeGrpc: isNativeGrpcAvailable(),
49
+ interceptors: true,
50
+ mockServer: true
51
+ };
52
+ }
53
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createClientFromMap","getErrorCode","isProtoClientError","ProtoClientError","methodMap","defaultCodecs","isNativeGrpcAvailable","createCodecRegistry","codecFromType","composeInterceptors","createAuthInterceptor","createBearerTokenHeaders","createLoggingInterceptor","OfflineMutationQueue","createPathForMethod","pathFromTemplate","CLIENT_VERSION_HEADER","SERVER_MIN_CLIENT_HEADER","METHOD_MAP_HASH_HEADER","compareDottedVersions","versionHeaders","createVersionInterceptor","createVersionAwareFetch","assertServerMinClient","withZodValidation","wrapCodecRegistryWithZod","encodeConnectEnvelope","decodeConnectEnvelopes","AddUserRequest","DeleteUserRequest","DeleteUserResponse","GetUserByEmailRequest","GetUserRequest","ListUsersRequest","ListUsersResponse","UpdateUserRequest","User","installNativeGrpcBridgeFromNativeModule","createClient","config","map","codecs","createApi","getDefaultMethodMap","getTransportCapabilities","http","connect","connectStreaming","nativeGrpc","interceptors","mockServer"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":";;AAAA,SAASA,mBAAmB,QAAQ,kBAAkB;AACtD,SAASC,YAAY,EAAEC,kBAAkB,EAAEC,gBAAgB,QAAQ,UAAU;AAC7E,SAASC,SAAS,QAAQ,wBAAwB;AAClD,SAASC,aAAa,QAAQ,sBAAsB;AACpD,SAASC,qBAAqB,QAAQ,eAAe;AA2BrD,SAASL,YAAY,EAAEC,kBAAkB,EAAEC,gBAAgB;AAE3D,SAASH,mBAAmB,QAAQ,kBAAkB;AACtD,SAASO,mBAAmB,EAAEC,aAAa,QAAQ,UAAU;AAC7D,SAASC,mBAAmB,QAAQ,gBAAgB;AACpD,SAASC,qBAAqB,EAAEC,wBAAwB,QAAQ,QAAQ;AACxE,SAASC,wBAAwB,QAAQ,WAAW;AACpD,SAASC,oBAAoB,QAAQ,iBAAiB;AACtD,SAASC,mBAAmB,EAAEC,gBAAgB,QAAQ,kBAAkB;AACxE,SACEC,qBAAqB,EACrBC,wBAAwB,EACxBC,sBAAsB,EACtBC,qBAAqB,EACrBC,cAAc,EACdC,wBAAwB,EACxBC,uBAAuB,EACvBC,qBAAqB,QAChB,iBAAiB;AACxB,SAASC,iBAAiB,EAAEC,wBAAwB,QAAQ,kBAAkB;AAC9E,SACEC,qBAAqB,EACrBC,sBAAsB,QACjB,oBAAoB;AAC3B,SAASvB,SAAS,QAAQ,wBAAwB;AAClD,SACEwB,cAAc,EACdvB,aAAa,EACbwB,iBAAiB,EACjBC,kBAAkB,EAClBC,qBAAqB,EACrBC,cAAc,EACdC,gBAAgB,EAChBC,iBAAiB,EACjBC,iBAAiB,EACjBC,IAAI,QACC,sBAAsB;AAC7B,SACE9B,qBAAqB,EACrB+B,uCAAuC,QAClC,eAAe;AAStB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,YAAYA,CAACC,MAA2B,EAAe;EACrE,MAAMC,GAAG,GAAGD,MAAM,CAACnC,SAAS,IAAIA,SAAS;EACzC,MAAMqC,MAAM,GAAGF,MAAM,CAACE,MAAM,IAAIpC,aAAa;EAC7C,OAAOL,mBAAmB,CAACuC,MAAM,EAAEC,GAAG,EAAEC,MAAM,CAAC;AACjD;;AAEA;AACA,OAAO,MAAMC,SAAS,GAAGJ,YAAY;AAErC,OAAO,SAASK,mBAAmBA,CAAA,EAAc;EAC/C,OAAOvC,SAAS;AAClB;AAEA,OAAO,SAASwC,wBAAwBA,CAAA,EAAG;EACzC,OAAO;IACLC,IAAI,EAAE,IAAI;IACVC,OAAO,EAAE,IAAI;IACbC,gBAAgB,EAAE,IAAI;IACtBC,UAAU,EAAE1C,qBAAqB,CAAC,CAAC;IACnC2C,YAAY,EAAE,IAAI;IAClBC,UAAU,EAAE;EACd,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Interceptor around a unary RPC. Call `next(ctx)` to continue the chain.
5
+ */
6
+
7
+ /**
8
+ * Compose interceptors left-to-outer (first runs first on the way in).
9
+ */
10
+ export function composeInterceptors(interceptors, core) {
11
+ return interceptors.reduceRight((next, interceptor) => {
12
+ return ctx => interceptor(ctx, next);
13
+ }, core);
14
+ }
15
+ //# sourceMappingURL=interceptors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["composeInterceptors","interceptors","core","reduceRight","next","interceptor","ctx"],"sourceRoot":"../../src","sources":["interceptors.ts"],"mappings":";;AAaA;AACA;AACA;;AAMA;AACA;AACA;AACA,OAAO,SAASA,mBAAmBA,CACjCC,YAA2B,EAC3BC,IAAkB,EACJ;EACd,OAAOD,YAAY,CAACE,WAAW,CAAe,CAACC,IAAI,EAAEC,WAAW,KAAK;IACnE,OAAQC,GAAG,IAAKD,WAAW,CAACC,GAAG,EAAEF,IAAI,CAAC;EACxC,CAAC,EAAEF,IAAI,CAAC;AACV","ignoreList":[]}
@@ -0,0 +1,50 @@
1
+ "use strict";
2
+
3
+ function redact(headers, names) {
4
+ const blocked = new Set(names.map(n => n.toLowerCase()));
5
+ const out = {};
6
+ const keys = Object.keys(headers);
7
+ for (let i = 0; i < keys.length; i += 1) {
8
+ const key = keys[i];
9
+ if (!key) continue;
10
+ out[key] = blocked.has(key.toLowerCase()) ? '[redacted]' : headers[key];
11
+ }
12
+ return out;
13
+ }
14
+
15
+ /**
16
+ * Request/response logging interceptor for debug builds.
17
+ */
18
+ export function createLoggingInterceptor(options = {}) {
19
+ const log = options.log ?? ((msg, meta) => console.debug(msg, meta));
20
+ const redactHeaders = options.redactHeaders ?? ['authorization', 'cookie', 'set-cookie'];
21
+ return async (ctx, next) => {
22
+ const started = Date.now();
23
+ log('proto:request', {
24
+ rpcPath: ctx.entry.rpcPath,
25
+ headers: redact(ctx.headers, redactHeaders),
26
+ ...(options.logRequestBody ? {
27
+ request: ctx.request
28
+ } : {})
29
+ });
30
+ try {
31
+ const response = await next(ctx);
32
+ log('proto:response', {
33
+ rpcPath: ctx.entry.rpcPath,
34
+ durationMs: Date.now() - started,
35
+ ...(options.logResponseBody ? {
36
+ response
37
+ } : {})
38
+ });
39
+ return response;
40
+ } catch (error) {
41
+ log('proto:error', {
42
+ rpcPath: ctx.entry.rpcPath,
43
+ durationMs: Date.now() - started,
44
+ error
45
+ });
46
+ throw error;
47
+ }
48
+ };
49
+ }
50
+ //# sourceMappingURL=logging.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["redact","headers","names","blocked","Set","map","n","toLowerCase","out","keys","Object","i","length","key","has","createLoggingInterceptor","options","log","msg","meta","console","debug","redactHeaders","ctx","next","started","Date","now","rpcPath","entry","logRequestBody","request","response","durationMs","logResponseBody","error"],"sourceRoot":"../../src","sources":["logging.ts"],"mappings":";;AAaA,SAASA,MAAMA,CACbC,OAA+B,EAC/BC,KAAe,EACS;EACxB,MAAMC,OAAO,GAAG,IAAIC,GAAG,CAACF,KAAK,CAACG,GAAG,CAAEC,CAAC,IAAKA,CAAC,CAACC,WAAW,CAAC,CAAC,CAAC,CAAC;EAC1D,MAAMC,GAA2B,GAAG,CAAC,CAAC;EACtC,MAAMC,IAAI,GAAGC,MAAM,CAACD,IAAI,CAACR,OAAO,CAAC;EACjC,KAAK,IAAIU,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGF,IAAI,CAACG,MAAM,EAAED,CAAC,IAAI,CAAC,EAAE;IACvC,MAAME,GAAG,GAAGJ,IAAI,CAACE,CAAC,CAAC;IACnB,IAAI,CAACE,GAAG,EAAE;IACVL,GAAG,CAACK,GAAG,CAAC,GAAGV,OAAO,CAACW,GAAG,CAACD,GAAG,CAACN,WAAW,CAAC,CAAC,CAAC,GAAG,YAAY,GAAGN,OAAO,CAACY,GAAG,CAAE;EAC1E;EACA,OAAOL,GAAG;AACZ;;AAEA;AACA;AACA;AACA,OAAO,SAASO,wBAAwBA,CACtCC,OAAuB,GAAG,CAAC,CAAC,EACf;EACb,MAAMC,GAAG,GAAGD,OAAO,CAACC,GAAG,KAAK,CAACC,GAAG,EAAEC,IAAI,KAAKC,OAAO,CAACC,KAAK,CAACH,GAAG,EAAEC,IAAI,CAAC,CAAC;EACpE,MAAMG,aAAa,GAAGN,OAAO,CAACM,aAAa,IAAI,CAC7C,eAAe,EACf,QAAQ,EACR,YAAY,CACb;EAED,OAAO,OAAOC,GAAG,EAAEC,IAAI,KAAK;IAC1B,MAAMC,OAAO,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC;IAC1BV,GAAG,CAAC,eAAe,EAAE;MACnBW,OAAO,EAAEL,GAAG,CAACM,KAAK,CAACD,OAAO;MAC1B3B,OAAO,EAAED,MAAM,CAACuB,GAAG,CAACtB,OAAO,EAAEqB,aAAa,CAAC;MAC3C,IAAIN,OAAO,CAACc,cAAc,GAAG;QAAEC,OAAO,EAAER,GAAG,CAACQ;MAAQ,CAAC,GAAG,CAAC,CAAC;IAC5D,CAAC,CAAC;IAEF,IAAI;MACF,MAAMC,QAAQ,GAAG,MAAMR,IAAI,CAACD,GAAG,CAAC;MAChCN,GAAG,CAAC,gBAAgB,EAAE;QACpBW,OAAO,EAAEL,GAAG,CAACM,KAAK,CAACD,OAAO;QAC1BK,UAAU,EAAEP,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,OAAO;QAChC,IAAIT,OAAO,CAACkB,eAAe,GAAG;UAAEF;QAAS,CAAC,GAAG,CAAC,CAAC;MACjD,CAAC,CAAC;MACF,OAAOA,QAAQ;IACjB,CAAC,CAAC,OAAOG,KAAK,EAAE;MACdlB,GAAG,CAAC,aAAa,EAAE;QACjBW,OAAO,EAAEL,GAAG,CAACM,KAAK,CAACD,OAAO;QAC1BK,UAAU,EAAEP,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGF,OAAO;QAChCU;MACF,CAAC,CAAC;MACF,MAAMA,KAAK;IACb;EACF,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Metro helper: treat .proto files as raw text assets for tooling/debug.
5
+ * Prefer `react-native-proto generate` for production clients.
6
+ */
7
+ export function createProtoMetroConfig(baseConfig) {
8
+ const resolver = baseConfig.resolver ?? {};
9
+ const sourceExts = new Set([...(resolver.sourceExts ?? []), 'proto']);
10
+ const assetExts = (resolver.assetExts ?? []).filter(ext => ext !== 'proto');
11
+ return {
12
+ ...baseConfig,
13
+ resolver: {
14
+ ...resolver,
15
+ sourceExts: Array.from(sourceExts),
16
+ assetExts
17
+ },
18
+ transformer: {
19
+ ...baseConfig.transformer,
20
+ babelTransformerPath: require.resolve('./transformer')
21
+ }
22
+ };
23
+ }
24
+ export { transform } from './transformer';
25
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["createProtoMetroConfig","baseConfig","resolver","sourceExts","Set","assetExts","filter","ext","Array","from","transformer","babelTransformerPath","require","resolve","transform"],"sourceRoot":"../../../src","sources":["metro/index.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA,OAAO,SAASA,sBAAsBA,CAACC,UAGtC,EAAqB;EACpB,MAAMC,QAAQ,GAAGD,UAAU,CAACC,QAAQ,IAAI,CAAC,CAAC;EAC1C,MAAMC,UAAU,GAAG,IAAIC,GAAG,CAAC,CAAC,IAAIF,QAAQ,CAACC,UAAU,IAAI,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;EACrE,MAAME,SAAS,GAAG,CAACH,QAAQ,CAACG,SAAS,IAAI,EAAE,EAAEC,MAAM,CAAEC,GAAG,IAAKA,GAAG,KAAK,OAAO,CAAC;EAE7E,OAAO;IACL,GAAGN,UAAU;IACbC,QAAQ,EAAE;MACR,GAAGA,QAAQ;MACXC,UAAU,EAAEK,KAAK,CAACC,IAAI,CAACN,UAAU,CAAC;MAClCE;IACF,CAAC;IACDK,WAAW,EAAE;MACX,GAAGT,UAAU,CAACS,WAAW;MACzBC,oBAAoB,EAAEC,OAAO,CAACC,OAAO,CAAC,eAAe;IACvD;EACF,CAAC;AACH;AAEA,SAASC,SAAS,QAAQ,eAAe","ignoreList":[]}
@@ -0,0 +1,29 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Minimal Metro transformer for .proto files.
5
+ * Non-proto files fall through to the upstream Babel transformer when present.
6
+ */
7
+ export async function transform(args) {
8
+ const {
9
+ filename,
10
+ src
11
+ } = args;
12
+ if (!filename.endsWith('.proto')) {
13
+ try {
14
+ // eslint-disable-next-line @typescript-eslint/no-var-requires
15
+ const upstream = require('@react-native/metro-babel-transformer');
16
+ if (upstream && typeof upstream.transform === 'function') {
17
+ return upstream.transform(args);
18
+ }
19
+ } catch {
20
+ // Fall through to identity JS export of source text
21
+ }
22
+ }
23
+ const escaped = JSON.stringify(src);
24
+ return {
25
+ code: `module.exports = ${escaped};`,
26
+ map: null
27
+ };
28
+ }
29
+ //# sourceMappingURL=transformer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["transform","args","filename","src","endsWith","upstream","require","escaped","JSON","stringify","code","map"],"sourceRoot":"../../../src","sources":["metro/transformer.ts"],"mappings":";;AAWA;AACA;AACA;AACA;AACA,OAAO,eAAeA,SAASA,CAC7BC,IAAmB,EACO;EAC1B,MAAM;IAAEC,QAAQ;IAAEC;EAAI,CAAC,GAAGF,IAAI;EAE9B,IAAI,CAACC,QAAQ,CAACE,QAAQ,CAAC,QAAQ,CAAC,EAAE;IAChC,IAAI;MACF;MACA,MAAMC,QAAQ,GAAGC,OAAO,CAAC,uCAAuC,CAAC;MACjE,IAAID,QAAQ,IAAI,OAAOA,QAAQ,CAACL,SAAS,KAAK,UAAU,EAAE;QACxD,OAAOK,QAAQ,CAACL,SAAS,CAACC,IAAI,CAAC;MACjC;IACF,CAAC,CAAC,MAAM;MACN;IAAA;EAEJ;EAEA,MAAMM,OAAO,GAAGC,IAAI,CAACC,SAAS,CAACN,GAAG,CAAC;EACnC,OAAO;IACLO,IAAI,EAAE,oBAAoBH,OAAO,GAAG;IACpCI,GAAG,EAAE;EACP,CAAC;AACH","ignoreList":[]}
@@ -0,0 +1,120 @@
1
+ "use strict";
2
+
3
+ import http from "http";
4
+ import { ProtoClientError } from "../errors";
5
+ function matchEntry(methodMap, urlPath) {
6
+ const normalized = urlPath.replace(/^\//, "");
7
+ for (let i = 0; i < methodMap.length; i += 1) {
8
+ const entry = methodMap[i];
9
+ if (!entry) continue;
10
+ const connectPath = `${entry.packageName ? `${entry.packageName}.` : ""}${entry.serviceName}/${entry.methodName}`;
11
+ if (normalized === connectPath || normalized === entry.rpcPath || urlPath.endsWith(`/${entry.methodName}`)) {
12
+ return entry;
13
+ }
14
+ }
15
+ return undefined;
16
+ }
17
+ async function readRequestBody(req) {
18
+ const chunks = [];
19
+ for await (const chunk of req) {
20
+ chunks.push(Buffer.isBuffer(chunk) ? chunk : Buffer.from(chunk));
21
+ }
22
+ return Buffer.concat(chunks);
23
+ }
24
+
25
+ /**
26
+ * Tiny local protobuf HTTP mock driven by the same method map + codecs as the client.
27
+ * Useful for demos and integration tests.
28
+ */
29
+ export function createMockServer(options) {
30
+ const host = options.host ?? "127.0.0.1";
31
+ const port = options.port ?? 0;
32
+ const contentType = options.contentType ?? "application/x-protobuf";
33
+ const handlers = options.handlers ?? {};
34
+ const server = http.createServer(async (req, res) => {
35
+ try {
36
+ if (req.method !== "POST" || !req.url) {
37
+ res.writeHead(404);
38
+ res.end("Not found");
39
+ return;
40
+ }
41
+ const url = new URL(req.url, `http://${host}`);
42
+ const entry = matchEntry(options.methodMap, url.pathname);
43
+ if (!entry) {
44
+ res.writeHead(404, {
45
+ "Content-Type": "text/plain"
46
+ });
47
+ res.end(`Unknown RPC path: ${url.pathname}`);
48
+ return;
49
+ }
50
+ const requestCodec = options.codecs.get(entry.requestType);
51
+ const responseCodec = options.codecs.get(entry.responseType);
52
+ if (!requestCodec || !responseCodec) {
53
+ res.writeHead(500);
54
+ res.end("Missing codecs");
55
+ return;
56
+ }
57
+ const raw = await readRequestBody(req);
58
+ const decoded = requestCodec.decode(new Uint8Array(raw));
59
+ const handler = handlers[entry.rpcPath] || handlers[entry.methodName] || handlers[`${entry.serviceName}/${entry.methodName}`];
60
+ let result;
61
+ if (handler) {
62
+ const maybe = await handler(decoded, entry);
63
+ const asyncIter = maybe;
64
+ if (maybe && typeof maybe === "object" && typeof asyncIter[Symbol.asyncIterator] === "function") {
65
+ let first;
66
+ for await (const msg of asyncIter) {
67
+ first = msg;
68
+ break;
69
+ }
70
+ result = first ?? {};
71
+ } else {
72
+ result = maybe ?? {};
73
+ }
74
+ } else {
75
+ result = {};
76
+ }
77
+ const bytes = responseCodec.encode(result);
78
+ res.writeHead(200, {
79
+ "Content-Type": contentType,
80
+ "Content-Length": String(bytes.byteLength)
81
+ });
82
+ res.end(Buffer.from(bytes));
83
+ } catch (error) {
84
+ const message = error instanceof Error ? error.message : "Mock server error";
85
+ res.writeHead(500, {
86
+ "Content-Type": "text/plain"
87
+ });
88
+ res.end(message);
89
+ }
90
+ });
91
+ return {
92
+ server,
93
+ listen() {
94
+ return new Promise((resolve, reject) => {
95
+ server.once("error", reject);
96
+ server.listen(port, host, () => {
97
+ const address = server.address();
98
+ if (!address || typeof address === "string") {
99
+ reject(new ProtoClientError({
100
+ code: "INTERNAL",
101
+ message: "Failed to bind mock server"
102
+ }));
103
+ return;
104
+ }
105
+ resolve({
106
+ host: address.address,
107
+ port: address.port,
108
+ baseUrl: `http://${address.address}:${address.port}`
109
+ });
110
+ });
111
+ });
112
+ },
113
+ close() {
114
+ return new Promise((resolve, reject) => {
115
+ server.close(err => err ? reject(err) : resolve());
116
+ });
117
+ }
118
+ };
119
+ }
120
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["http","ProtoClientError","matchEntry","methodMap","urlPath","normalized","replace","i","length","entry","connectPath","packageName","serviceName","methodName","rpcPath","endsWith","undefined","readRequestBody","req","chunks","chunk","push","Buffer","isBuffer","from","concat","createMockServer","options","host","port","contentType","handlers","server","createServer","res","method","url","writeHead","end","URL","pathname","requestCodec","codecs","get","requestType","responseCodec","responseType","raw","decoded","decode","Uint8Array","handler","result","maybe","asyncIter","Symbol","asyncIterator","first","msg","bytes","encode","String","byteLength","error","message","Error","listen","Promise","resolve","reject","once","address","code","baseUrl","close","err"],"sourceRoot":"../../../src","sources":["mock-server/index.ts"],"mappings":"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","ignoreList":[]}