@nadohq/mobile-client 0.36.0 → 0.38.0

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 (189) hide show
  1. package/README.md +19 -6
  2. package/dist/{MobileClient-D5TNTnLx.cjs → MobileClient-wjTrqP9z.cjs} +75 -12
  3. package/dist/MobileClient-wjTrqP9z.cjs.map +1 -0
  4. package/dist/MobileClient.cjs +1 -1
  5. package/dist/MobileClient.d.cts +62 -16
  6. package/dist/MobileClient.d.cts.map +1 -1
  7. package/dist/MobileClient.d.ts +62 -16
  8. package/dist/MobileClient.d.ts.map +1 -1
  9. package/dist/MobileClient.js +75 -12
  10. package/dist/MobileClient.js.map +1 -1
  11. package/dist/{MobileServerFailureError-CPFjwUBx.d.cts → MobileServerFailureError-BvQYrxjx.d.cts} +3 -3
  12. package/dist/{MobileServerFailureError-CPFjwUBx.d.cts.map → MobileServerFailureError-BvQYrxjx.d.cts.map} +1 -1
  13. package/dist/{MobileServerFailureError-Terv2Wzy.d.ts → MobileServerFailureError-CrNpL_L4.d.ts} +3 -3
  14. package/dist/{MobileServerFailureError-Terv2Wzy.d.ts.map → MobileServerFailureError-CrNpL_L4.d.ts.map} +1 -1
  15. package/dist/{buildSignedMobileRequest-BScnCGPF.d.ts → buildSignedMobileRequest-BqLRFLKV.d.ts} +2 -2
  16. package/dist/{buildSignedMobileRequest-BScnCGPF.d.ts.map → buildSignedMobileRequest-BqLRFLKV.d.ts.map} +1 -1
  17. package/dist/{buildSignedMobileRequest-CXfnhc-4.d.cts → buildSignedMobileRequest-DkkwEqIu.d.cts} +2 -2
  18. package/dist/{buildSignedMobileRequest-CXfnhc-4.d.cts.map → buildSignedMobileRequest-DkkwEqIu.d.cts.map} +1 -1
  19. package/dist/{canonicalize-CQ-pMYIt.d.ts → canonicalize-BRhCpYm1.d.ts} +2 -2
  20. package/dist/canonicalize-BRhCpYm1.d.ts.map +1 -0
  21. package/dist/{canonicalize-hzhboB-C.d.cts → canonicalize-DtpaaA2B.d.cts} +2 -2
  22. package/dist/canonicalize-DtpaaA2B.d.cts.map +1 -0
  23. package/dist/{clientTypes-BwakovWk.d.cts → clientTypes-CB_itU4Z.d.ts} +147 -14
  24. package/dist/clientTypes-CB_itU4Z.d.ts.map +1 -0
  25. package/dist/{clientTypes-D-o1_2Yc.d.ts → clientTypes-CceWsQzi.d.cts} +147 -14
  26. package/dist/clientTypes-CceWsQzi.d.cts.map +1 -0
  27. package/dist/dataMappers.cjs +79 -6
  28. package/dist/dataMappers.cjs.map +1 -1
  29. package/dist/dataMappers.d.cts +27 -5
  30. package/dist/dataMappers.d.cts.map +1 -1
  31. package/dist/dataMappers.d.ts +27 -5
  32. package/dist/dataMappers.d.ts.map +1 -1
  33. package/dist/dataMappers.js +75 -7
  34. package/dist/dataMappers.js.map +1 -1
  35. package/dist/{eip712MethodByType-3aiJkrHj.d.cts → eip712MethodByType-1xUkvTIp.d.cts} +2 -2
  36. package/dist/eip712MethodByType-1xUkvTIp.d.cts.map +1 -0
  37. package/dist/{eip712MethodByType-zNvZukU7.d.ts → eip712MethodByType-CrqBJIrp.d.ts} +2 -2
  38. package/dist/eip712MethodByType-CrqBJIrp.d.ts.map +1 -0
  39. package/dist/follow-Bh3UmXMc.d.cts +23 -0
  40. package/dist/follow-Bh3UmXMc.d.cts.map +1 -0
  41. package/dist/follow-DjkQm1vR.d.ts +23 -0
  42. package/dist/follow-DjkQm1vR.d.ts.map +1 -0
  43. package/dist/index.cjs +6 -1
  44. package/dist/index.d.cts +17 -16
  45. package/dist/index.d.ts +17 -16
  46. package/dist/index.js +2 -1
  47. package/dist/{mobileErrorCodes-CuQ5lyBV.d.ts → mobileErrorCodes-B3eR6t4b.d.ts} +8 -2
  48. package/dist/mobileErrorCodes-B3eR6t4b.d.ts.map +1 -0
  49. package/dist/{mobileErrorCodes-D_SyBm0k.d.cts → mobileErrorCodes-DkzBW4v3.d.cts} +8 -2
  50. package/dist/mobileErrorCodes-DkzBW4v3.d.cts.map +1 -0
  51. package/dist/{patterns-B5gi7OfV.d.ts → patterns-C-aUAnKl.d.ts} +1 -1
  52. package/dist/patterns-C-aUAnKl.d.ts.map +1 -0
  53. package/dist/{patterns-Db6fgz8i.d.cts → patterns-DS8P5LH0.d.cts} +1 -1
  54. package/dist/patterns-DS8P5LH0.d.cts.map +1 -0
  55. package/dist/{payloadHash-DVkEt-Rg.d.cts → payloadHash-CIo8Hkh6.d.cts} +2 -2
  56. package/dist/payloadHash-CIo8Hkh6.d.cts.map +1 -0
  57. package/dist/{payloadHash-BxL26uwq.d.ts → payloadHash-Cv4WwZCZ.d.ts} +2 -2
  58. package/dist/payloadHash-Cv4WwZCZ.d.ts.map +1 -0
  59. package/dist/{serverBaseTypes-B_KHFDab.d.ts → serverBaseTypes-C2JGib--.d.ts} +2 -2
  60. package/dist/{serverBaseTypes-B_KHFDab.d.ts.map → serverBaseTypes-C2JGib--.d.ts.map} +1 -1
  61. package/dist/{serverBaseTypes-C8KjE9Fm.d.cts → serverBaseTypes-YkCmgmt1.d.cts} +2 -2
  62. package/dist/{serverBaseTypes-C8KjE9Fm.d.cts.map → serverBaseTypes-YkCmgmt1.d.cts.map} +1 -1
  63. package/dist/serverExecuteTypes-C2NoNEwu.d.ts +50 -0
  64. package/dist/serverExecuteTypes-C2NoNEwu.d.ts.map +1 -0
  65. package/dist/serverExecuteTypes-DPZbs9ym.d.cts +50 -0
  66. package/dist/serverExecuteTypes-DPZbs9ym.d.cts.map +1 -0
  67. package/dist/{serverModelTypes-_cX99seo.d.ts → serverModelTypes-CDcRlRtw.d.ts} +57 -10
  68. package/dist/serverModelTypes-CDcRlRtw.d.ts.map +1 -0
  69. package/dist/{serverModelTypes-CwgibK-l.d.cts → serverModelTypes-CUzqFA6x.d.cts} +57 -10
  70. package/dist/serverModelTypes-CUzqFA6x.d.cts.map +1 -0
  71. package/dist/{serverQueryTypes-DwE1iJ9f.d.cts → serverQueryTypes-B0xI1G39.d.ts} +21 -9
  72. package/dist/serverQueryTypes-B0xI1G39.d.ts.map +1 -0
  73. package/dist/{serverQueryTypes-NIrPm2Sl.d.ts → serverQueryTypes-RdcIqRnM.d.cts} +21 -9
  74. package/dist/serverQueryTypes-RdcIqRnM.d.cts.map +1 -0
  75. package/dist/serverRequestTypes-Ddws3yXc.d.cts +116 -0
  76. package/dist/serverRequestTypes-Ddws3yXc.d.cts.map +1 -0
  77. package/dist/serverRequestTypes-Dv9NR-hQ.d.ts +116 -0
  78. package/dist/serverRequestTypes-Dv9NR-hQ.d.ts.map +1 -0
  79. package/dist/{serverResponseGuards-Cep5s7j5.d.ts → serverResponseGuards-BjIzucYt.d.ts} +2 -2
  80. package/dist/{serverResponseGuards-Cep5s7j5.d.ts.map → serverResponseGuards-BjIzucYt.d.ts.map} +1 -1
  81. package/dist/{serverResponseGuards-Dxt9_aGh.d.cts → serverResponseGuards-Dg9WbqBA.d.cts} +2 -2
  82. package/dist/{serverResponseGuards-Dxt9_aGh.d.cts.map → serverResponseGuards-Dg9WbqBA.d.cts.map} +1 -1
  83. package/dist/signing/buildSignedMobileRequest.cjs +1 -1
  84. package/dist/signing/buildSignedMobileRequest.d.cts +1 -1
  85. package/dist/signing/buildSignedMobileRequest.d.ts +1 -1
  86. package/dist/signing/canonicalize.cjs +5 -0
  87. package/dist/signing/canonicalize.cjs.map +1 -1
  88. package/dist/signing/canonicalize.d.cts +1 -1
  89. package/dist/signing/canonicalize.d.ts +1 -1
  90. package/dist/signing/canonicalize.js +5 -0
  91. package/dist/signing/canonicalize.js.map +1 -1
  92. package/dist/signing/eip712MethodByType.cjs +2 -1
  93. package/dist/signing/eip712MethodByType.cjs.map +1 -1
  94. package/dist/signing/eip712MethodByType.d.cts +1 -1
  95. package/dist/signing/eip712MethodByType.d.ts +1 -1
  96. package/dist/signing/eip712MethodByType.js +2 -1
  97. package/dist/signing/eip712MethodByType.js.map +1 -1
  98. package/dist/signing/index.d.cts +6 -6
  99. package/dist/signing/index.d.ts +6 -6
  100. package/dist/signing/payloadHash.cjs +1 -1
  101. package/dist/signing/payloadHash.d.cts +1 -1
  102. package/dist/signing/payloadHash.d.ts +1 -1
  103. package/dist/signing/types.d.cts +2 -2
  104. package/dist/signing/types.d.ts +2 -2
  105. package/dist/types/MobileServerFailureError.cjs +1 -1
  106. package/dist/types/MobileServerFailureError.d.cts +1 -1
  107. package/dist/types/MobileServerFailureError.d.ts +1 -1
  108. package/dist/types/clientTypes.d.cts +2 -2
  109. package/dist/types/clientTypes.d.ts +2 -2
  110. package/dist/types/index.d.cts +9 -9
  111. package/dist/types/index.d.ts +9 -9
  112. package/dist/types/mobileErrorCodes.cjs +13 -1
  113. package/dist/types/mobileErrorCodes.cjs.map +1 -1
  114. package/dist/types/mobileErrorCodes.d.cts +1 -1
  115. package/dist/types/mobileErrorCodes.d.ts +1 -1
  116. package/dist/types/mobileErrorCodes.js +12 -0
  117. package/dist/types/mobileErrorCodes.js.map +1 -1
  118. package/dist/types/serverBaseTypes.d.cts +1 -1
  119. package/dist/types/serverBaseTypes.d.ts +1 -1
  120. package/dist/types/serverExecuteTypes.d.cts +2 -2
  121. package/dist/types/serverExecuteTypes.d.ts +2 -2
  122. package/dist/types/serverModelTypes.cjs.map +1 -1
  123. package/dist/types/serverModelTypes.d.cts +2 -2
  124. package/dist/types/serverModelTypes.d.ts +2 -2
  125. package/dist/types/serverModelTypes.js.map +1 -1
  126. package/dist/types/serverQueryTypes.d.cts +2 -2
  127. package/dist/types/serverQueryTypes.d.ts +2 -2
  128. package/dist/types/serverRequestTypes.d.cts +2 -2
  129. package/dist/types/serverRequestTypes.d.ts +2 -2
  130. package/dist/{types-47IPsDyA.d.cts → types-BIIvIzG2.d.ts} +20 -7
  131. package/dist/types-BIIvIzG2.d.ts.map +1 -0
  132. package/dist/{types-D5kFJzEX.d.ts → types-UmYaeq1C.d.cts} +20 -7
  133. package/dist/types-UmYaeq1C.d.cts.map +1 -0
  134. package/dist/utils/follow.cjs +28 -0
  135. package/dist/utils/follow.cjs.map +1 -0
  136. package/dist/utils/follow.d.cts +2 -0
  137. package/dist/utils/follow.d.ts +2 -0
  138. package/dist/utils/follow.js +24 -0
  139. package/dist/utils/follow.js.map +1 -0
  140. package/dist/utils/index.cjs +5 -0
  141. package/dist/utils/index.d.cts +4 -3
  142. package/dist/utils/index.d.ts +4 -3
  143. package/dist/utils/index.js +2 -1
  144. package/dist/utils/patterns.d.cts +1 -1
  145. package/dist/utils/patterns.d.ts +1 -1
  146. package/dist/utils/serverResponseGuards.d.cts +1 -1
  147. package/dist/utils/serverResponseGuards.d.ts +1 -1
  148. package/package.json +3 -3
  149. package/src/MobileClient.ts +117 -21
  150. package/src/dataMappers.ts +109 -5
  151. package/src/signing/canonicalize.ts +6 -0
  152. package/src/signing/eip712MethodByType.ts +1 -0
  153. package/src/signing/signing.test.ts +32 -4
  154. package/src/signing/types.ts +18 -1
  155. package/src/types/clientTypes.ts +152 -11
  156. package/src/types/mobileErrorCodes.ts +12 -0
  157. package/src/types/serverExecuteTypes.ts +40 -2
  158. package/src/types/serverModelTypes.ts +58 -8
  159. package/src/types/serverQueryTypes.ts +18 -4
  160. package/src/types/serverRequestTypes.ts +50 -4
  161. package/src/utils/follow.ts +22 -0
  162. package/src/utils/index.ts +1 -0
  163. package/dist/MobileClient-D5TNTnLx.cjs.map +0 -1
  164. package/dist/canonicalize-CQ-pMYIt.d.ts.map +0 -1
  165. package/dist/canonicalize-hzhboB-C.d.cts.map +0 -1
  166. package/dist/clientTypes-BwakovWk.d.cts.map +0 -1
  167. package/dist/clientTypes-D-o1_2Yc.d.ts.map +0 -1
  168. package/dist/eip712MethodByType-3aiJkrHj.d.cts.map +0 -1
  169. package/dist/eip712MethodByType-zNvZukU7.d.ts.map +0 -1
  170. package/dist/mobileErrorCodes-CuQ5lyBV.d.ts.map +0 -1
  171. package/dist/mobileErrorCodes-D_SyBm0k.d.cts.map +0 -1
  172. package/dist/patterns-B5gi7OfV.d.ts.map +0 -1
  173. package/dist/patterns-Db6fgz8i.d.cts.map +0 -1
  174. package/dist/payloadHash-BxL26uwq.d.ts.map +0 -1
  175. package/dist/payloadHash-DVkEt-Rg.d.cts.map +0 -1
  176. package/dist/serverExecuteTypes-Cb5v7y0A.d.cts +0 -19
  177. package/dist/serverExecuteTypes-Cb5v7y0A.d.cts.map +0 -1
  178. package/dist/serverExecuteTypes-GFjZj_DC.d.ts +0 -19
  179. package/dist/serverExecuteTypes-GFjZj_DC.d.ts.map +0 -1
  180. package/dist/serverModelTypes-CwgibK-l.d.cts.map +0 -1
  181. package/dist/serverModelTypes-_cX99seo.d.ts.map +0 -1
  182. package/dist/serverQueryTypes-DwE1iJ9f.d.cts.map +0 -1
  183. package/dist/serverQueryTypes-NIrPm2Sl.d.ts.map +0 -1
  184. package/dist/serverRequestTypes-516zXnQ6.d.ts +0 -72
  185. package/dist/serverRequestTypes-516zXnQ6.d.ts.map +0 -1
  186. package/dist/serverRequestTypes-GAtVYIda.d.cts +0 -72
  187. package/dist/serverRequestTypes-GAtVYIda.d.cts.map +0 -1
  188. package/dist/types-47IPsDyA.d.cts.map +0 -1
  189. package/dist/types-D5kFJzEX.d.ts.map +0 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"clientTypes-CceWsQzi.d.cts","names":[],"sources":["../src/types/src/types/clientTypes.ts"],"mappings":"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"}
@@ -1,14 +1,65 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ require("./MobileClient-wjTrqP9z.cjs");
3
+ let _nadohq_shared = require("@nadohq/shared");
2
4
  //#region src/dataMappers.ts
3
5
  /**
4
- * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation.
6
+ * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation. The three
7
+ * include-gated fields stay `undefined` when the backend omitted them, rather than being coerced to `null`
8
+ * or zero, so callers can tell "not requested" from a real value.
5
9
  */
6
10
  function mapMobilePublicProfile(server) {
7
11
  return {
8
12
  subaccount: server.subaccount,
9
13
  username: server.username,
10
14
  displayName: server.display_name,
11
- privateMode: server.private_mode
15
+ privateMode: server.private_mode,
16
+ followerCount: server.follower_count,
17
+ followingCount: server.following_count,
18
+ followSummary: server.follow_summary ? mapMobileFollowSummary(server.follow_summary) : void 0
19
+ };
20
+ }
21
+ /**
22
+ * Maps a server-side identity summary (snake_case) to its client-side (camelCase) representation.
23
+ */
24
+ function mapMobileIdentitySummary(server) {
25
+ return {
26
+ subaccount: server.subaccount,
27
+ username: server.username,
28
+ displayName: server.display_name,
29
+ avatarUrl: server.avatar_url
30
+ };
31
+ }
32
+ /**
33
+ * Maps a server-side follow summary to its client-side representation.
34
+ */
35
+ function mapMobileFollowSummary(server) {
36
+ return {
37
+ isFollowing: server.is_following,
38
+ followedByCount: server.followed_by_count,
39
+ followedBy: server.followed_by.map(mapMobileIdentitySummary)
40
+ };
41
+ }
42
+ /**
43
+ * Maps a server-side Followers or Following response to a client-side {@link MobileFollowListPage}. Rows
44
+ * keep `isFollowing` absent when the request named no `viewAs`, rather than defaulting it to `false`.
45
+ */
46
+ function mapMobileFollowListPage(server) {
47
+ return {
48
+ accounts: server.accounts.map((account) => ({
49
+ identity: mapMobileIdentitySummary(account.identity),
50
+ isFollowing: account.is_following,
51
+ followerCount: account.follower_count
52
+ })),
53
+ nextCursor: server.next_cursor
54
+ };
55
+ }
56
+ /**
57
+ * Maps a server-side follow or unfollow response to its client-side representation.
58
+ */
59
+ function mapMobileFollowMutationResult(server) {
60
+ return {
61
+ isFollowing: server.is_following,
62
+ followerCount: server.follower_count
12
63
  };
13
64
  }
14
65
  /**
@@ -35,6 +86,27 @@ function mapMobileNotificationPreferenceScope(server) {
35
86
  };
36
87
  }
37
88
  /**
89
+ * Maps client-side profiles includes (camelCase) to the server-side (snake_case) wire shape.
90
+ */
91
+ function mapMobileProfilesIncludeToServer(include) {
92
+ return {
93
+ follow_counts: include.followCounts,
94
+ follow_summary: include.followSummary ? { view_as: (0, _nadohq_shared.subaccountToHex)(include.followSummary.viewAs) } : void 0
95
+ };
96
+ }
97
+ /**
98
+ * Maps the client-side params of a Followers or Following page to the server-side wire shape. Both list
99
+ * directions take identical params and differ only in the `type` the caller dispatches on.
100
+ */
101
+ function mapMobileFollowListParamsToServer(params) {
102
+ return {
103
+ subaccount: (0, _nadohq_shared.subaccountToHex)(params.target),
104
+ view_as: params.viewAs ? (0, _nadohq_shared.subaccountToHex)(params.viewAs) : void 0,
105
+ cursor: params.cursor,
106
+ limit: params.limit
107
+ };
108
+ }
109
+ /**
38
110
  * Maps client-side notification preferences (camelCase) to the server-side (snake_case) wire shape.
39
111
  */
40
112
  function mapMobileNotificationPreferencesToServer(preferences) {
@@ -62,11 +134,8 @@ function mapMobileNotificationPreferenceScopeToServer(scope) {
62
134
  */
63
135
  function mapMobileFeedTrade(server) {
64
136
  return {
137
+ ...mapMobileIdentitySummary(server),
65
138
  orderDigest: server.order_digest,
66
- subaccount: server.subaccount,
67
- username: server.username,
68
- displayName: server.display_name,
69
- avatarUrl: server.avatar_url,
70
139
  productId: server.product_id,
71
140
  quantity: server.quantity,
72
141
  notional: server.notional,
@@ -104,8 +173,12 @@ function mapMobileRegisteredWallet(server) {
104
173
  }
105
174
  //#endregion
106
175
  exports.mapMobileFeedPage = mapMobileFeedPage;
176
+ exports.mapMobileFollowListPage = mapMobileFollowListPage;
177
+ exports.mapMobileFollowListParamsToServer = mapMobileFollowListParamsToServer;
178
+ exports.mapMobileFollowMutationResult = mapMobileFollowMutationResult;
107
179
  exports.mapMobileNotificationPreferences = mapMobileNotificationPreferences;
108
180
  exports.mapMobileNotificationPreferencesToServer = mapMobileNotificationPreferencesToServer;
181
+ exports.mapMobileProfilesIncludeToServer = mapMobileProfilesIncludeToServer;
109
182
  exports.mapMobilePublicProfile = mapMobilePublicProfile;
110
183
  exports.mapMobileRegisteredWallet = mapMobileRegisteredWallet;
111
184
 
@@ -1 +1 @@
1
- {"version":3,"file":"dataMappers.cjs","names":[],"sources":["../src/dataMappers.ts"],"sourcesContent":["import {\n MobileFeedPage,\n MobileFeedTrade,\n MobileNotificationPreferenceScope,\n MobileNotificationPreferences,\n MobilePublicProfile,\n MobileRegisteredWallet,\n} from './types/clientTypes';\nimport {\n MobileServerFeedTrade,\n MobileServerNotificationPreferenceScope,\n MobileServerNotificationPreferences,\n MobileServerProfile,\n} from './types/serverModelTypes';\nimport {\n MobileServerFeedResponse,\n MobileServerRegisteredWalletResponse,\n} from './types/serverQueryTypes';\n\n/**\n * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation.\n */\nexport function mapMobilePublicProfile(\n server: MobileServerProfile,\n): MobilePublicProfile {\n return {\n subaccount: server.subaccount,\n username: server.username,\n displayName: server.display_name,\n privateMode: server.private_mode,\n };\n}\n\n/**\n * Maps server-side notification preferences (snake_case) to their client-side (camelCase) representation.\n */\nexport function mapMobileNotificationPreferences(\n server: MobileServerNotificationPreferences,\n): MobileNotificationPreferences {\n return {\n schemaVersion: server.schema_version,\n categories: server.categories.map((category) => ({\n category: category.category,\n enabled: category.enabled,\n scopes: category.scopes.map(mapMobileNotificationPreferenceScope),\n })),\n };\n}\n\nfunction mapMobileNotificationPreferenceScope(\n server: MobileServerNotificationPreferenceScope,\n): MobileNotificationPreferenceScope {\n if (server.type === 'subaccount') {\n return { type: 'subaccount', subaccount: server.subaccount };\n }\n return { type: 'product', productId: server.product_id };\n}\n\n/**\n * Maps client-side notification preferences (camelCase) to the server-side (snake_case) wire shape.\n */\nexport function mapMobileNotificationPreferencesToServer(\n preferences: MobileNotificationPreferences,\n): MobileServerNotificationPreferences {\n return {\n schema_version: preferences.schemaVersion,\n categories: preferences.categories.map((category) => ({\n category: category.category,\n enabled: category.enabled,\n scopes: category.scopes.map(mapMobileNotificationPreferenceScopeToServer),\n })),\n };\n}\n\nfunction mapMobileNotificationPreferenceScopeToServer(\n scope: MobileNotificationPreferenceScope,\n): MobileServerNotificationPreferenceScope {\n if (scope.type === 'subaccount') {\n return { type: 'subaccount', subaccount: scope.subaccount };\n }\n return { type: 'product', product_id: scope.productId };\n}\n\n/**\n * Maps a server-side feed trade (snake_case) to its client-side (camelCase) representation.\n */\nfunction mapMobileFeedTrade(server: MobileServerFeedTrade): MobileFeedTrade {\n return {\n orderDigest: server.order_digest,\n subaccount: server.subaccount,\n username: server.username,\n displayName: server.display_name,\n avatarUrl: server.avatar_url,\n productId: server.product_id,\n quantity: server.quantity,\n notional: server.notional,\n averagePrice: server.average_price,\n margin: {\n mode: server.margin.mode,\n estimatedLeverage: server.margin.estimated_leverage,\n },\n position: server.position,\n realizedPnl: server.realized_pnl,\n filledAt: server.filled_at_ms,\n };\n}\n\n/**\n * Maps a server-side feed response to a client-side {@link MobileFeedPage}.\n */\nexport function mapMobileFeedPage(\n server: MobileServerFeedResponse,\n): MobileFeedPage {\n return {\n trades: server.trades.map(mapMobileFeedTrade),\n nextCursor: server.next_cursor,\n };\n}\n\n/**\n * Maps a server-side registered wallet (snake_case) to its client-side (camelCase) representation.\n */\nexport function mapMobileRegisteredWallet(\n server: MobileServerRegisteredWalletResponse,\n): MobileRegisteredWallet {\n return {\n wallet: server.wallet,\n platform: server.platform,\n locale: server.locale,\n appVersion: server.app_version,\n tokenFingerprintPrefix: server.token_fingerprint_prefix,\n lastSeenAt: server.last_seen_at,\n };\n}\n"],"mappings":";;;;;AAsBA,SAAgB,uBACd,QACqB;CACrB,OAAO;EACL,YAAY,OAAO;EACnB,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB,aAAa,OAAO;CACtB;AACF;;;;AAKA,SAAgB,iCACd,QAC+B;CAC/B,OAAO;EACL,eAAe,OAAO;EACtB,YAAY,OAAO,WAAW,KAAK,cAAc;GAC/C,UAAU,SAAS;GACnB,SAAS,SAAS;GAClB,QAAQ,SAAS,OAAO,IAAI,oCAAoC;EAClE,EAAE;CACJ;AACF;AAEA,SAAS,qCACP,QACmC;CACnC,IAAI,OAAO,SAAS,cAClB,OAAO;EAAE,MAAM;EAAc,YAAY,OAAO;CAAW;CAE7D,OAAO;EAAE,MAAM;EAAW,WAAW,OAAO;CAAW;AACzD;;;;AAKA,SAAgB,yCACd,aACqC;CACrC,OAAO;EACL,gBAAgB,YAAY;EAC5B,YAAY,YAAY,WAAW,KAAK,cAAc;GACpD,UAAU,SAAS;GACnB,SAAS,SAAS;GAClB,QAAQ,SAAS,OAAO,IAAI,4CAA4C;EAC1E,EAAE;CACJ;AACF;AAEA,SAAS,6CACP,OACyC;CACzC,IAAI,MAAM,SAAS,cACjB,OAAO;EAAE,MAAM;EAAc,YAAY,MAAM;CAAW;CAE5D,OAAO;EAAE,MAAM;EAAW,YAAY,MAAM;CAAU;AACxD;;;;AAKA,SAAS,mBAAmB,QAAgD;CAC1E,OAAO;EACL,aAAa,OAAO;EACpB,YAAY,OAAO;EACnB,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB,WAAW,OAAO;EAClB,WAAW,OAAO;EAClB,UAAU,OAAO;EACjB,UAAU,OAAO;EACjB,cAAc,OAAO;EACrB,QAAQ;GACN,MAAM,OAAO,OAAO;GACpB,mBAAmB,OAAO,OAAO;EACnC;EACA,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB,UAAU,OAAO;CACnB;AACF;;;;AAKA,SAAgB,kBACd,QACgB;CAChB,OAAO;EACL,QAAQ,OAAO,OAAO,IAAI,kBAAkB;EAC5C,YAAY,OAAO;CACrB;AACF;;;;AAKA,SAAgB,0BACd,QACwB;CACxB,OAAO;EACL,QAAQ,OAAO;EACf,UAAU,OAAO;EACjB,QAAQ,OAAO;EACf,YAAY,OAAO;EACnB,wBAAwB,OAAO;EAC/B,YAAY,OAAO;CACrB;AACF"}
1
+ {"version":3,"file":"dataMappers.cjs","names":[],"sources":["../src/dataMappers.ts"],"sourcesContent":["import { subaccountToHex } from '@nadohq/shared';\nimport {\n GetMobileFollowListParams,\n MobileFeedPage,\n MobileFeedTrade,\n MobileFollowListPage,\n MobileFollowMutationResult,\n MobileFollowSummary,\n MobileIdentitySummary,\n MobileNotificationPreferenceScope,\n MobileNotificationPreferences,\n MobileProfilesInclude,\n MobilePublicProfile,\n MobileRegisteredWallet,\n} from './types/clientTypes';\nimport { MobileServerFollowMutationResponse } from './types/serverExecuteTypes';\nimport {\n MobileServerFeedTrade,\n MobileServerFollowSummary,\n MobileServerIdentitySummary,\n MobileServerNotificationPreferenceScope,\n MobileServerNotificationPreferences,\n MobileServerProfile,\n} from './types/serverModelTypes';\nimport {\n MobileServerFeedResponse,\n MobileServerFollowListResponse,\n MobileServerRegisteredWalletResponse,\n} from './types/serverQueryTypes';\nimport {\n MobileServerFollowListRequest,\n MobileServerProfilesInclude,\n} from './types/serverRequestTypes';\n\n/**\n * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation. The three\n * include-gated fields stay `undefined` when the backend omitted them, rather than being coerced to `null`\n * or zero, so callers can tell \"not requested\" from a real value.\n */\nexport function mapMobilePublicProfile(\n server: MobileServerProfile,\n): MobilePublicProfile {\n return {\n subaccount: server.subaccount,\n username: server.username,\n displayName: server.display_name,\n privateMode: server.private_mode,\n followerCount: server.follower_count,\n followingCount: server.following_count,\n followSummary: server.follow_summary\n ? mapMobileFollowSummary(server.follow_summary)\n : undefined,\n };\n}\n\n/**\n * Maps a server-side identity summary (snake_case) to its client-side (camelCase) representation.\n */\nfunction mapMobileIdentitySummary(\n server: MobileServerIdentitySummary,\n): MobileIdentitySummary {\n return {\n subaccount: server.subaccount,\n username: server.username,\n displayName: server.display_name,\n avatarUrl: server.avatar_url,\n };\n}\n\n/**\n * Maps a server-side follow summary to its client-side representation.\n */\nfunction mapMobileFollowSummary(\n server: MobileServerFollowSummary,\n): MobileFollowSummary {\n return {\n isFollowing: server.is_following,\n followedByCount: server.followed_by_count,\n followedBy: server.followed_by.map(mapMobileIdentitySummary),\n };\n}\n\n/**\n * Maps a server-side Followers or Following response to a client-side {@link MobileFollowListPage}. Rows\n * keep `isFollowing` absent when the request named no `viewAs`, rather than defaulting it to `false`.\n */\nexport function mapMobileFollowListPage(\n server: MobileServerFollowListResponse,\n): MobileFollowListPage {\n return {\n accounts: server.accounts.map((account) => ({\n identity: mapMobileIdentitySummary(account.identity),\n isFollowing: account.is_following,\n followerCount: account.follower_count,\n })),\n nextCursor: server.next_cursor,\n };\n}\n\n/**\n * Maps a server-side follow or unfollow response to its client-side representation.\n */\nexport function mapMobileFollowMutationResult(\n server: MobileServerFollowMutationResponse,\n): MobileFollowMutationResult {\n return {\n isFollowing: server.is_following,\n followerCount: server.follower_count,\n };\n}\n\n/**\n * Maps server-side notification preferences (snake_case) to their client-side (camelCase) representation.\n */\nexport function mapMobileNotificationPreferences(\n server: MobileServerNotificationPreferences,\n): MobileNotificationPreferences {\n return {\n schemaVersion: server.schema_version,\n categories: server.categories.map((category) => ({\n category: category.category,\n enabled: category.enabled,\n scopes: category.scopes.map(mapMobileNotificationPreferenceScope),\n })),\n };\n}\n\nfunction mapMobileNotificationPreferenceScope(\n server: MobileServerNotificationPreferenceScope,\n): MobileNotificationPreferenceScope {\n if (server.type === 'subaccount') {\n return { type: 'subaccount', subaccount: server.subaccount };\n }\n return { type: 'product', productId: server.product_id };\n}\n\n/**\n * Maps client-side profiles includes (camelCase) to the server-side (snake_case) wire shape.\n */\nexport function mapMobileProfilesIncludeToServer(\n include: MobileProfilesInclude,\n): MobileServerProfilesInclude {\n return {\n follow_counts: include.followCounts,\n follow_summary: include.followSummary\n ? { view_as: subaccountToHex(include.followSummary.viewAs) }\n : undefined,\n };\n}\n\n/**\n * Maps the client-side params of a Followers or Following page to the server-side wire shape. Both list\n * directions take identical params and differ only in the `type` the caller dispatches on.\n */\nexport function mapMobileFollowListParamsToServer(\n params: GetMobileFollowListParams,\n): MobileServerFollowListRequest {\n return {\n subaccount: subaccountToHex(params.target),\n view_as: params.viewAs ? subaccountToHex(params.viewAs) : undefined,\n cursor: params.cursor,\n limit: params.limit,\n };\n}\n\n/**\n * Maps client-side notification preferences (camelCase) to the server-side (snake_case) wire shape.\n */\nexport function mapMobileNotificationPreferencesToServer(\n preferences: MobileNotificationPreferences,\n): MobileServerNotificationPreferences {\n return {\n schema_version: preferences.schemaVersion,\n categories: preferences.categories.map((category) => ({\n category: category.category,\n enabled: category.enabled,\n scopes: category.scopes.map(mapMobileNotificationPreferenceScopeToServer),\n })),\n };\n}\n\nfunction mapMobileNotificationPreferenceScopeToServer(\n scope: MobileNotificationPreferenceScope,\n): MobileServerNotificationPreferenceScope {\n if (scope.type === 'subaccount') {\n return { type: 'subaccount', subaccount: scope.subaccount };\n }\n return { type: 'product', product_id: scope.productId };\n}\n\n/**\n * Maps a server-side feed trade (snake_case) to its client-side (camelCase) representation.\n */\nfunction mapMobileFeedTrade(server: MobileServerFeedTrade): MobileFeedTrade {\n return {\n ...mapMobileIdentitySummary(server),\n orderDigest: server.order_digest,\n productId: server.product_id,\n quantity: server.quantity,\n notional: server.notional,\n averagePrice: server.average_price,\n margin: {\n mode: server.margin.mode,\n estimatedLeverage: server.margin.estimated_leverage,\n },\n position: server.position,\n realizedPnl: server.realized_pnl,\n filledAt: server.filled_at_ms,\n };\n}\n\n/**\n * Maps a server-side feed response to a client-side {@link MobileFeedPage}.\n */\nexport function mapMobileFeedPage(\n server: MobileServerFeedResponse,\n): MobileFeedPage {\n return {\n trades: server.trades.map(mapMobileFeedTrade),\n nextCursor: server.next_cursor,\n };\n}\n\n/**\n * Maps a server-side registered wallet (snake_case) to its client-side (camelCase) representation.\n */\nexport function mapMobileRegisteredWallet(\n server: MobileServerRegisteredWalletResponse,\n): MobileRegisteredWallet {\n return {\n wallet: server.wallet,\n platform: server.platform,\n locale: server.locale,\n appVersion: server.app_version,\n tokenFingerprintPrefix: server.token_fingerprint_prefix,\n lastSeenAt: server.last_seen_at,\n };\n}\n"],"mappings":"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"}
@@ -1,16 +1,38 @@
1
- import { h as MobileServerProfile, m as MobileServerNotificationPreferences } from "./serverModelTypes-CwgibK-l.cjs";
2
- import { d as MobileNotificationPreferences, f as MobilePublicProfile, m as MobileRegisteredWallet, s as MobileFeedPage } from "./clientTypes-BwakovWk.cjs";
3
- import { s as MobileServerRegisteredWalletResponse, t as MobileServerFeedResponse } from "./serverQueryTypes-DwE1iJ9f.cjs";
1
+ import { _ as MobileServerNotificationPreferences, v as MobileServerProfile } from "./serverModelTypes-CUzqFA6x.cjs";
2
+ import { C as MobileRegisteredWallet, b as MobileProfilesInclude, m as MobileFollowMutationResult, n as GetMobileFollowListParams, p as MobileFollowListPage, u as MobileFeedPage, x as MobilePublicProfile, y as MobileNotificationPreferences } from "./clientTypes-CceWsQzi.cjs";
3
+ import { n as MobileServerFollowListRequest, r as MobileServerProfilesInclude } from "./serverRequestTypes-Ddws3yXc.cjs";
4
+ import { a as MobileServerFollowMutationResponse } from "./serverExecuteTypes-DPZbs9ym.cjs";
5
+ import { c as MobileServerRegisteredWalletResponse, n as MobileServerFollowListResponse, t as MobileServerFeedResponse } from "./serverQueryTypes-RdcIqRnM.cjs";
4
6
 
5
7
  //#region src/dataMappers.d.ts
6
8
  /**
7
- * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation.
9
+ * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation. The three
10
+ * include-gated fields stay `undefined` when the backend omitted them, rather than being coerced to `null`
11
+ * or zero, so callers can tell "not requested" from a real value.
8
12
  */
9
13
  declare function mapMobilePublicProfile(server: MobileServerProfile): MobilePublicProfile;
14
+ /**
15
+ * Maps a server-side Followers or Following response to a client-side {@link MobileFollowListPage}. Rows
16
+ * keep `isFollowing` absent when the request named no `viewAs`, rather than defaulting it to `false`.
17
+ */
18
+ declare function mapMobileFollowListPage(server: MobileServerFollowListResponse): MobileFollowListPage;
19
+ /**
20
+ * Maps a server-side follow or unfollow response to its client-side representation.
21
+ */
22
+ declare function mapMobileFollowMutationResult(server: MobileServerFollowMutationResponse): MobileFollowMutationResult;
10
23
  /**
11
24
  * Maps server-side notification preferences (snake_case) to their client-side (camelCase) representation.
12
25
  */
13
26
  declare function mapMobileNotificationPreferences(server: MobileServerNotificationPreferences): MobileNotificationPreferences;
27
+ /**
28
+ * Maps client-side profiles includes (camelCase) to the server-side (snake_case) wire shape.
29
+ */
30
+ declare function mapMobileProfilesIncludeToServer(include: MobileProfilesInclude): MobileServerProfilesInclude;
31
+ /**
32
+ * Maps the client-side params of a Followers or Following page to the server-side wire shape. Both list
33
+ * directions take identical params and differ only in the `type` the caller dispatches on.
34
+ */
35
+ declare function mapMobileFollowListParamsToServer(params: GetMobileFollowListParams): MobileServerFollowListRequest;
14
36
  /**
15
37
  * Maps client-side notification preferences (camelCase) to the server-side (snake_case) wire shape.
16
38
  */
@@ -24,5 +46,5 @@ declare function mapMobileFeedPage(server: MobileServerFeedResponse): MobileFeed
24
46
  */
25
47
  declare function mapMobileRegisteredWallet(server: MobileServerRegisteredWalletResponse): MobileRegisteredWallet;
26
48
  //#endregion
27
- export { mapMobileFeedPage, mapMobileNotificationPreferences, mapMobileNotificationPreferencesToServer, mapMobilePublicProfile, mapMobileRegisteredWallet };
49
+ export { mapMobileFeedPage, mapMobileFollowListPage, mapMobileFollowListParamsToServer, mapMobileFollowMutationResult, mapMobileNotificationPreferences, mapMobileNotificationPreferencesToServer, mapMobileProfilesIncludeToServer, mapMobilePublicProfile, mapMobileRegisteredWallet };
28
50
  //# sourceMappingURL=dataMappers.d.cts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataMappers.d.cts","names":[],"sources":["../src/src/dataMappers.ts"],"mappings":";;;;;;;AAsBA;iBAAgB,sBAAA,CACd,MAAA,EAAQ,mBAAA,GACP,mBAAmB;;;;iBAYN,gCAAA,CACd,MAAA,EAAQ,mCAAA,GACP,6BAA6B;;;AAdV;iBAqCN,wCAAA,CACd,WAAA,EAAa,6BAAA,GACZ,mCAAmC;;;;iBA+CtB,iBAAA,CACd,MAAA,EAAQ,wBAAA,GACP,cAAc;;;;iBAUD,yBAAA,CACd,MAAA,EAAQ,oCAAA,GACP,sBAAsB"}
1
+ {"version":3,"file":"dataMappers.d.cts","names":[],"sources":["../src/src/dataMappers.ts"],"mappings":";;;;;;;;;AAuCA;;;iBAAgB,sBAAA,CACd,MAAA,EAAQ,mBAAA,GACP,mBAAmB;;;;;iBA6CN,uBAAA,CACd,MAAA,EAAQ,8BAAA,GACP,oBAAoB;AAFvB;;;AAAA,iBAgBgB,6BAAA,CACd,MAAA,EAAQ,kCAAA,GACP,0BAA0B;;;;iBAUb,gCAAA,CACd,MAAA,EAAQ,mCAAA,GACP,6BAA6B;AA5BT;AAcvB;;AAduB,iBAmDP,gCAAA,CACd,OAAA,EAAS,qBAAA,GACR,2BAA2B;;;;;iBAad,iCAAA,CACd,MAAA,EAAQ,yBAAA,GACP,6BAA6B;AApDH;AAU7B;;AAV6B,iBAgEb,wCAAA,CACd,WAAA,EAAa,6BAAA,GACZ,mCAAmC;;;;iBA4CtB,iBAAA,CACd,MAAA,EAAQ,wBAAA,GACP,cAAc;;AApGe;AAuBhC;iBAuFgB,yBAAA,CACd,MAAA,EAAQ,oCAAA,GACP,sBAAsB"}
@@ -1,16 +1,38 @@
1
- import { h as MobileServerProfile, m as MobileServerNotificationPreferences } from "./serverModelTypes-_cX99seo.js";
2
- import { d as MobileNotificationPreferences, f as MobilePublicProfile, m as MobileRegisteredWallet, s as MobileFeedPage } from "./clientTypes-D-o1_2Yc.js";
3
- import { s as MobileServerRegisteredWalletResponse, t as MobileServerFeedResponse } from "./serverQueryTypes-NIrPm2Sl.js";
1
+ import { _ as MobileServerNotificationPreferences, v as MobileServerProfile } from "./serverModelTypes-CDcRlRtw.js";
2
+ import { C as MobileRegisteredWallet, b as MobileProfilesInclude, m as MobileFollowMutationResult, n as GetMobileFollowListParams, p as MobileFollowListPage, u as MobileFeedPage, x as MobilePublicProfile, y as MobileNotificationPreferences } from "./clientTypes-CB_itU4Z.js";
3
+ import { n as MobileServerFollowListRequest, r as MobileServerProfilesInclude } from "./serverRequestTypes-Dv9NR-hQ.js";
4
+ import { a as MobileServerFollowMutationResponse } from "./serverExecuteTypes-C2NoNEwu.js";
5
+ import { c as MobileServerRegisteredWalletResponse, n as MobileServerFollowListResponse, t as MobileServerFeedResponse } from "./serverQueryTypes-B0xI1G39.js";
4
6
 
5
7
  //#region src/dataMappers.d.ts
6
8
  /**
7
- * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation.
9
+ * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation. The three
10
+ * include-gated fields stay `undefined` when the backend omitted them, rather than being coerced to `null`
11
+ * or zero, so callers can tell "not requested" from a real value.
8
12
  */
9
13
  declare function mapMobilePublicProfile(server: MobileServerProfile): MobilePublicProfile;
14
+ /**
15
+ * Maps a server-side Followers or Following response to a client-side {@link MobileFollowListPage}. Rows
16
+ * keep `isFollowing` absent when the request named no `viewAs`, rather than defaulting it to `false`.
17
+ */
18
+ declare function mapMobileFollowListPage(server: MobileServerFollowListResponse): MobileFollowListPage;
19
+ /**
20
+ * Maps a server-side follow or unfollow response to its client-side representation.
21
+ */
22
+ declare function mapMobileFollowMutationResult(server: MobileServerFollowMutationResponse): MobileFollowMutationResult;
10
23
  /**
11
24
  * Maps server-side notification preferences (snake_case) to their client-side (camelCase) representation.
12
25
  */
13
26
  declare function mapMobileNotificationPreferences(server: MobileServerNotificationPreferences): MobileNotificationPreferences;
27
+ /**
28
+ * Maps client-side profiles includes (camelCase) to the server-side (snake_case) wire shape.
29
+ */
30
+ declare function mapMobileProfilesIncludeToServer(include: MobileProfilesInclude): MobileServerProfilesInclude;
31
+ /**
32
+ * Maps the client-side params of a Followers or Following page to the server-side wire shape. Both list
33
+ * directions take identical params and differ only in the `type` the caller dispatches on.
34
+ */
35
+ declare function mapMobileFollowListParamsToServer(params: GetMobileFollowListParams): MobileServerFollowListRequest;
14
36
  /**
15
37
  * Maps client-side notification preferences (camelCase) to the server-side (snake_case) wire shape.
16
38
  */
@@ -24,5 +46,5 @@ declare function mapMobileFeedPage(server: MobileServerFeedResponse): MobileFeed
24
46
  */
25
47
  declare function mapMobileRegisteredWallet(server: MobileServerRegisteredWalletResponse): MobileRegisteredWallet;
26
48
  //#endregion
27
- export { mapMobileFeedPage, mapMobileNotificationPreferences, mapMobileNotificationPreferencesToServer, mapMobilePublicProfile, mapMobileRegisteredWallet };
49
+ export { mapMobileFeedPage, mapMobileFollowListPage, mapMobileFollowListParamsToServer, mapMobileFollowMutationResult, mapMobileNotificationPreferences, mapMobileNotificationPreferencesToServer, mapMobileProfilesIncludeToServer, mapMobilePublicProfile, mapMobileRegisteredWallet };
28
50
  //# sourceMappingURL=dataMappers.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataMappers.d.ts","names":[],"sources":["../src/src/dataMappers.ts"],"mappings":";;;;;;;AAsBA;iBAAgB,sBAAA,CACd,MAAA,EAAQ,mBAAA,GACP,mBAAmB;;;;iBAYN,gCAAA,CACd,MAAA,EAAQ,mCAAA,GACP,6BAA6B;;;AAdV;iBAqCN,wCAAA,CACd,WAAA,EAAa,6BAAA,GACZ,mCAAmC;;;;iBA+CtB,iBAAA,CACd,MAAA,EAAQ,wBAAA,GACP,cAAc;;;;iBAUD,yBAAA,CACd,MAAA,EAAQ,oCAAA,GACP,sBAAsB"}
1
+ {"version":3,"file":"dataMappers.d.ts","names":[],"sources":["../src/src/dataMappers.ts"],"mappings":";;;;;;;;;AAuCA;;;iBAAgB,sBAAA,CACd,MAAA,EAAQ,mBAAA,GACP,mBAAmB;;;;;iBA6CN,uBAAA,CACd,MAAA,EAAQ,8BAAA,GACP,oBAAoB;AAFvB;;;AAAA,iBAgBgB,6BAAA,CACd,MAAA,EAAQ,kCAAA,GACP,0BAA0B;;;;iBAUb,gCAAA,CACd,MAAA,EAAQ,mCAAA,GACP,6BAA6B;AA5BT;AAcvB;;AAduB,iBAmDP,gCAAA,CACd,OAAA,EAAS,qBAAA,GACR,2BAA2B;;;;;iBAad,iCAAA,CACd,MAAA,EAAQ,yBAAA,GACP,6BAA6B;AApDH;AAU7B;;AAV6B,iBAgEb,wCAAA,CACd,WAAA,EAAa,6BAAA,GACZ,mCAAmC;;;;iBA4CtB,iBAAA,CACd,MAAA,EAAQ,wBAAA,GACP,cAAc;;AApGe;AAuBhC;iBAuFgB,yBAAA,CACd,MAAA,EAAQ,oCAAA,GACP,sBAAsB"}
@@ -1,13 +1,63 @@
1
+ import { subaccountToHex } from "@nadohq/shared";
1
2
  //#region src/dataMappers.ts
2
3
  /**
3
- * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation.
4
+ * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation. The three
5
+ * include-gated fields stay `undefined` when the backend omitted them, rather than being coerced to `null`
6
+ * or zero, so callers can tell "not requested" from a real value.
4
7
  */
5
8
  function mapMobilePublicProfile(server) {
6
9
  return {
7
10
  subaccount: server.subaccount,
8
11
  username: server.username,
9
12
  displayName: server.display_name,
10
- privateMode: server.private_mode
13
+ privateMode: server.private_mode,
14
+ followerCount: server.follower_count,
15
+ followingCount: server.following_count,
16
+ followSummary: server.follow_summary ? mapMobileFollowSummary(server.follow_summary) : void 0
17
+ };
18
+ }
19
+ /**
20
+ * Maps a server-side identity summary (snake_case) to its client-side (camelCase) representation.
21
+ */
22
+ function mapMobileIdentitySummary(server) {
23
+ return {
24
+ subaccount: server.subaccount,
25
+ username: server.username,
26
+ displayName: server.display_name,
27
+ avatarUrl: server.avatar_url
28
+ };
29
+ }
30
+ /**
31
+ * Maps a server-side follow summary to its client-side representation.
32
+ */
33
+ function mapMobileFollowSummary(server) {
34
+ return {
35
+ isFollowing: server.is_following,
36
+ followedByCount: server.followed_by_count,
37
+ followedBy: server.followed_by.map(mapMobileIdentitySummary)
38
+ };
39
+ }
40
+ /**
41
+ * Maps a server-side Followers or Following response to a client-side {@link MobileFollowListPage}. Rows
42
+ * keep `isFollowing` absent when the request named no `viewAs`, rather than defaulting it to `false`.
43
+ */
44
+ function mapMobileFollowListPage(server) {
45
+ return {
46
+ accounts: server.accounts.map((account) => ({
47
+ identity: mapMobileIdentitySummary(account.identity),
48
+ isFollowing: account.is_following,
49
+ followerCount: account.follower_count
50
+ })),
51
+ nextCursor: server.next_cursor
52
+ };
53
+ }
54
+ /**
55
+ * Maps a server-side follow or unfollow response to its client-side representation.
56
+ */
57
+ function mapMobileFollowMutationResult(server) {
58
+ return {
59
+ isFollowing: server.is_following,
60
+ followerCount: server.follower_count
11
61
  };
12
62
  }
13
63
  /**
@@ -34,6 +84,27 @@ function mapMobileNotificationPreferenceScope(server) {
34
84
  };
35
85
  }
36
86
  /**
87
+ * Maps client-side profiles includes (camelCase) to the server-side (snake_case) wire shape.
88
+ */
89
+ function mapMobileProfilesIncludeToServer(include) {
90
+ return {
91
+ follow_counts: include.followCounts,
92
+ follow_summary: include.followSummary ? { view_as: subaccountToHex(include.followSummary.viewAs) } : void 0
93
+ };
94
+ }
95
+ /**
96
+ * Maps the client-side params of a Followers or Following page to the server-side wire shape. Both list
97
+ * directions take identical params and differ only in the `type` the caller dispatches on.
98
+ */
99
+ function mapMobileFollowListParamsToServer(params) {
100
+ return {
101
+ subaccount: subaccountToHex(params.target),
102
+ view_as: params.viewAs ? subaccountToHex(params.viewAs) : void 0,
103
+ cursor: params.cursor,
104
+ limit: params.limit
105
+ };
106
+ }
107
+ /**
37
108
  * Maps client-side notification preferences (camelCase) to the server-side (snake_case) wire shape.
38
109
  */
39
110
  function mapMobileNotificationPreferencesToServer(preferences) {
@@ -61,11 +132,8 @@ function mapMobileNotificationPreferenceScopeToServer(scope) {
61
132
  */
62
133
  function mapMobileFeedTrade(server) {
63
134
  return {
135
+ ...mapMobileIdentitySummary(server),
64
136
  orderDigest: server.order_digest,
65
- subaccount: server.subaccount,
66
- username: server.username,
67
- displayName: server.display_name,
68
- avatarUrl: server.avatar_url,
69
137
  productId: server.product_id,
70
138
  quantity: server.quantity,
71
139
  notional: server.notional,
@@ -102,6 +170,6 @@ function mapMobileRegisteredWallet(server) {
102
170
  };
103
171
  }
104
172
  //#endregion
105
- export { mapMobileFeedPage, mapMobileNotificationPreferences, mapMobileNotificationPreferencesToServer, mapMobilePublicProfile, mapMobileRegisteredWallet };
173
+ export { mapMobileFeedPage, mapMobileFollowListPage, mapMobileFollowListParamsToServer, mapMobileFollowMutationResult, mapMobileNotificationPreferences, mapMobileNotificationPreferencesToServer, mapMobileProfilesIncludeToServer, mapMobilePublicProfile, mapMobileRegisteredWallet };
106
174
 
107
175
  //# sourceMappingURL=dataMappers.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dataMappers.js","names":[],"sources":["../src/dataMappers.ts"],"sourcesContent":["import {\n MobileFeedPage,\n MobileFeedTrade,\n MobileNotificationPreferenceScope,\n MobileNotificationPreferences,\n MobilePublicProfile,\n MobileRegisteredWallet,\n} from './types/clientTypes';\nimport {\n MobileServerFeedTrade,\n MobileServerNotificationPreferenceScope,\n MobileServerNotificationPreferences,\n MobileServerProfile,\n} from './types/serverModelTypes';\nimport {\n MobileServerFeedResponse,\n MobileServerRegisteredWalletResponse,\n} from './types/serverQueryTypes';\n\n/**\n * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation.\n */\nexport function mapMobilePublicProfile(\n server: MobileServerProfile,\n): MobilePublicProfile {\n return {\n subaccount: server.subaccount,\n username: server.username,\n displayName: server.display_name,\n privateMode: server.private_mode,\n };\n}\n\n/**\n * Maps server-side notification preferences (snake_case) to their client-side (camelCase) representation.\n */\nexport function mapMobileNotificationPreferences(\n server: MobileServerNotificationPreferences,\n): MobileNotificationPreferences {\n return {\n schemaVersion: server.schema_version,\n categories: server.categories.map((category) => ({\n category: category.category,\n enabled: category.enabled,\n scopes: category.scopes.map(mapMobileNotificationPreferenceScope),\n })),\n };\n}\n\nfunction mapMobileNotificationPreferenceScope(\n server: MobileServerNotificationPreferenceScope,\n): MobileNotificationPreferenceScope {\n if (server.type === 'subaccount') {\n return { type: 'subaccount', subaccount: server.subaccount };\n }\n return { type: 'product', productId: server.product_id };\n}\n\n/**\n * Maps client-side notification preferences (camelCase) to the server-side (snake_case) wire shape.\n */\nexport function mapMobileNotificationPreferencesToServer(\n preferences: MobileNotificationPreferences,\n): MobileServerNotificationPreferences {\n return {\n schema_version: preferences.schemaVersion,\n categories: preferences.categories.map((category) => ({\n category: category.category,\n enabled: category.enabled,\n scopes: category.scopes.map(mapMobileNotificationPreferenceScopeToServer),\n })),\n };\n}\n\nfunction mapMobileNotificationPreferenceScopeToServer(\n scope: MobileNotificationPreferenceScope,\n): MobileServerNotificationPreferenceScope {\n if (scope.type === 'subaccount') {\n return { type: 'subaccount', subaccount: scope.subaccount };\n }\n return { type: 'product', product_id: scope.productId };\n}\n\n/**\n * Maps a server-side feed trade (snake_case) to its client-side (camelCase) representation.\n */\nfunction mapMobileFeedTrade(server: MobileServerFeedTrade): MobileFeedTrade {\n return {\n orderDigest: server.order_digest,\n subaccount: server.subaccount,\n username: server.username,\n displayName: server.display_name,\n avatarUrl: server.avatar_url,\n productId: server.product_id,\n quantity: server.quantity,\n notional: server.notional,\n averagePrice: server.average_price,\n margin: {\n mode: server.margin.mode,\n estimatedLeverage: server.margin.estimated_leverage,\n },\n position: server.position,\n realizedPnl: server.realized_pnl,\n filledAt: server.filled_at_ms,\n };\n}\n\n/**\n * Maps a server-side feed response to a client-side {@link MobileFeedPage}.\n */\nexport function mapMobileFeedPage(\n server: MobileServerFeedResponse,\n): MobileFeedPage {\n return {\n trades: server.trades.map(mapMobileFeedTrade),\n nextCursor: server.next_cursor,\n };\n}\n\n/**\n * Maps a server-side registered wallet (snake_case) to its client-side (camelCase) representation.\n */\nexport function mapMobileRegisteredWallet(\n server: MobileServerRegisteredWalletResponse,\n): MobileRegisteredWallet {\n return {\n wallet: server.wallet,\n platform: server.platform,\n locale: server.locale,\n appVersion: server.app_version,\n tokenFingerprintPrefix: server.token_fingerprint_prefix,\n lastSeenAt: server.last_seen_at,\n };\n}\n"],"mappings":";;;;AAsBA,SAAgB,uBACd,QACqB;CACrB,OAAO;EACL,YAAY,OAAO;EACnB,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB,aAAa,OAAO;CACtB;AACF;;;;AAKA,SAAgB,iCACd,QAC+B;CAC/B,OAAO;EACL,eAAe,OAAO;EACtB,YAAY,OAAO,WAAW,KAAK,cAAc;GAC/C,UAAU,SAAS;GACnB,SAAS,SAAS;GAClB,QAAQ,SAAS,OAAO,IAAI,oCAAoC;EAClE,EAAE;CACJ;AACF;AAEA,SAAS,qCACP,QACmC;CACnC,IAAI,OAAO,SAAS,cAClB,OAAO;EAAE,MAAM;EAAc,YAAY,OAAO;CAAW;CAE7D,OAAO;EAAE,MAAM;EAAW,WAAW,OAAO;CAAW;AACzD;;;;AAKA,SAAgB,yCACd,aACqC;CACrC,OAAO;EACL,gBAAgB,YAAY;EAC5B,YAAY,YAAY,WAAW,KAAK,cAAc;GACpD,UAAU,SAAS;GACnB,SAAS,SAAS;GAClB,QAAQ,SAAS,OAAO,IAAI,4CAA4C;EAC1E,EAAE;CACJ;AACF;AAEA,SAAS,6CACP,OACyC;CACzC,IAAI,MAAM,SAAS,cACjB,OAAO;EAAE,MAAM;EAAc,YAAY,MAAM;CAAW;CAE5D,OAAO;EAAE,MAAM;EAAW,YAAY,MAAM;CAAU;AACxD;;;;AAKA,SAAS,mBAAmB,QAAgD;CAC1E,OAAO;EACL,aAAa,OAAO;EACpB,YAAY,OAAO;EACnB,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB,WAAW,OAAO;EAClB,WAAW,OAAO;EAClB,UAAU,OAAO;EACjB,UAAU,OAAO;EACjB,cAAc,OAAO;EACrB,QAAQ;GACN,MAAM,OAAO,OAAO;GACpB,mBAAmB,OAAO,OAAO;EACnC;EACA,UAAU,OAAO;EACjB,aAAa,OAAO;EACpB,UAAU,OAAO;CACnB;AACF;;;;AAKA,SAAgB,kBACd,QACgB;CAChB,OAAO;EACL,QAAQ,OAAO,OAAO,IAAI,kBAAkB;EAC5C,YAAY,OAAO;CACrB;AACF;;;;AAKA,SAAgB,0BACd,QACwB;CACxB,OAAO;EACL,QAAQ,OAAO;EACf,UAAU,OAAO;EACjB,QAAQ,OAAO;EACf,YAAY,OAAO;EACnB,wBAAwB,OAAO;EAC/B,YAAY,OAAO;CACrB;AACF"}
1
+ {"version":3,"file":"dataMappers.js","names":[],"sources":["../src/dataMappers.ts"],"sourcesContent":["import { subaccountToHex } from '@nadohq/shared';\nimport {\n GetMobileFollowListParams,\n MobileFeedPage,\n MobileFeedTrade,\n MobileFollowListPage,\n MobileFollowMutationResult,\n MobileFollowSummary,\n MobileIdentitySummary,\n MobileNotificationPreferenceScope,\n MobileNotificationPreferences,\n MobileProfilesInclude,\n MobilePublicProfile,\n MobileRegisteredWallet,\n} from './types/clientTypes';\nimport { MobileServerFollowMutationResponse } from './types/serverExecuteTypes';\nimport {\n MobileServerFeedTrade,\n MobileServerFollowSummary,\n MobileServerIdentitySummary,\n MobileServerNotificationPreferenceScope,\n MobileServerNotificationPreferences,\n MobileServerProfile,\n} from './types/serverModelTypes';\nimport {\n MobileServerFeedResponse,\n MobileServerFollowListResponse,\n MobileServerRegisteredWalletResponse,\n} from './types/serverQueryTypes';\nimport {\n MobileServerFollowListRequest,\n MobileServerProfilesInclude,\n} from './types/serverRequestTypes';\n\n/**\n * Maps a server-side public profile (snake_case) to its client-side (camelCase) representation. The three\n * include-gated fields stay `undefined` when the backend omitted them, rather than being coerced to `null`\n * or zero, so callers can tell \"not requested\" from a real value.\n */\nexport function mapMobilePublicProfile(\n server: MobileServerProfile,\n): MobilePublicProfile {\n return {\n subaccount: server.subaccount,\n username: server.username,\n displayName: server.display_name,\n privateMode: server.private_mode,\n followerCount: server.follower_count,\n followingCount: server.following_count,\n followSummary: server.follow_summary\n ? mapMobileFollowSummary(server.follow_summary)\n : undefined,\n };\n}\n\n/**\n * Maps a server-side identity summary (snake_case) to its client-side (camelCase) representation.\n */\nfunction mapMobileIdentitySummary(\n server: MobileServerIdentitySummary,\n): MobileIdentitySummary {\n return {\n subaccount: server.subaccount,\n username: server.username,\n displayName: server.display_name,\n avatarUrl: server.avatar_url,\n };\n}\n\n/**\n * Maps a server-side follow summary to its client-side representation.\n */\nfunction mapMobileFollowSummary(\n server: MobileServerFollowSummary,\n): MobileFollowSummary {\n return {\n isFollowing: server.is_following,\n followedByCount: server.followed_by_count,\n followedBy: server.followed_by.map(mapMobileIdentitySummary),\n };\n}\n\n/**\n * Maps a server-side Followers or Following response to a client-side {@link MobileFollowListPage}. Rows\n * keep `isFollowing` absent when the request named no `viewAs`, rather than defaulting it to `false`.\n */\nexport function mapMobileFollowListPage(\n server: MobileServerFollowListResponse,\n): MobileFollowListPage {\n return {\n accounts: server.accounts.map((account) => ({\n identity: mapMobileIdentitySummary(account.identity),\n isFollowing: account.is_following,\n followerCount: account.follower_count,\n })),\n nextCursor: server.next_cursor,\n };\n}\n\n/**\n * Maps a server-side follow or unfollow response to its client-side representation.\n */\nexport function mapMobileFollowMutationResult(\n server: MobileServerFollowMutationResponse,\n): MobileFollowMutationResult {\n return {\n isFollowing: server.is_following,\n followerCount: server.follower_count,\n };\n}\n\n/**\n * Maps server-side notification preferences (snake_case) to their client-side (camelCase) representation.\n */\nexport function mapMobileNotificationPreferences(\n server: MobileServerNotificationPreferences,\n): MobileNotificationPreferences {\n return {\n schemaVersion: server.schema_version,\n categories: server.categories.map((category) => ({\n category: category.category,\n enabled: category.enabled,\n scopes: category.scopes.map(mapMobileNotificationPreferenceScope),\n })),\n };\n}\n\nfunction mapMobileNotificationPreferenceScope(\n server: MobileServerNotificationPreferenceScope,\n): MobileNotificationPreferenceScope {\n if (server.type === 'subaccount') {\n return { type: 'subaccount', subaccount: server.subaccount };\n }\n return { type: 'product', productId: server.product_id };\n}\n\n/**\n * Maps client-side profiles includes (camelCase) to the server-side (snake_case) wire shape.\n */\nexport function mapMobileProfilesIncludeToServer(\n include: MobileProfilesInclude,\n): MobileServerProfilesInclude {\n return {\n follow_counts: include.followCounts,\n follow_summary: include.followSummary\n ? { view_as: subaccountToHex(include.followSummary.viewAs) }\n : undefined,\n };\n}\n\n/**\n * Maps the client-side params of a Followers or Following page to the server-side wire shape. Both list\n * directions take identical params and differ only in the `type` the caller dispatches on.\n */\nexport function mapMobileFollowListParamsToServer(\n params: GetMobileFollowListParams,\n): MobileServerFollowListRequest {\n return {\n subaccount: subaccountToHex(params.target),\n view_as: params.viewAs ? subaccountToHex(params.viewAs) : undefined,\n cursor: params.cursor,\n limit: params.limit,\n };\n}\n\n/**\n * Maps client-side notification preferences (camelCase) to the server-side (snake_case) wire shape.\n */\nexport function mapMobileNotificationPreferencesToServer(\n preferences: MobileNotificationPreferences,\n): MobileServerNotificationPreferences {\n return {\n schema_version: preferences.schemaVersion,\n categories: preferences.categories.map((category) => ({\n category: category.category,\n enabled: category.enabled,\n scopes: category.scopes.map(mapMobileNotificationPreferenceScopeToServer),\n })),\n };\n}\n\nfunction mapMobileNotificationPreferenceScopeToServer(\n scope: MobileNotificationPreferenceScope,\n): MobileServerNotificationPreferenceScope {\n if (scope.type === 'subaccount') {\n return { type: 'subaccount', subaccount: scope.subaccount };\n }\n return { type: 'product', product_id: scope.productId };\n}\n\n/**\n * Maps a server-side feed trade (snake_case) to its client-side (camelCase) representation.\n */\nfunction mapMobileFeedTrade(server: MobileServerFeedTrade): MobileFeedTrade {\n return {\n ...mapMobileIdentitySummary(server),\n orderDigest: server.order_digest,\n productId: server.product_id,\n quantity: server.quantity,\n notional: server.notional,\n averagePrice: server.average_price,\n margin: {\n mode: server.margin.mode,\n estimatedLeverage: server.margin.estimated_leverage,\n },\n position: server.position,\n realizedPnl: server.realized_pnl,\n filledAt: server.filled_at_ms,\n };\n}\n\n/**\n * Maps a server-side feed response to a client-side {@link MobileFeedPage}.\n */\nexport function mapMobileFeedPage(\n server: MobileServerFeedResponse,\n): MobileFeedPage {\n return {\n trades: server.trades.map(mapMobileFeedTrade),\n nextCursor: server.next_cursor,\n };\n}\n\n/**\n * Maps a server-side registered wallet (snake_case) to its client-side (camelCase) representation.\n */\nexport function mapMobileRegisteredWallet(\n server: MobileServerRegisteredWalletResponse,\n): MobileRegisteredWallet {\n return {\n wallet: server.wallet,\n platform: server.platform,\n locale: server.locale,\n appVersion: server.app_version,\n tokenFingerprintPrefix: server.token_fingerprint_prefix,\n lastSeenAt: server.last_seen_at,\n };\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { n as MobileSignedInner } from "./types-47IPsDyA.cjs";
1
+ import { n as MobileSignedInner } from "./types-UmYaeq1C.cjs";
2
2
 
3
3
  //#region src/signing/eip712MethodByType.d.ts
4
4
  /**
@@ -7,4 +7,4 @@ import { n as MobileSignedInner } from "./types-47IPsDyA.cjs";
7
7
  declare const MOBILE_EIP712_METHOD_BY_TYPE: Record<MobileSignedInner['type'], string>;
8
8
  //#endregion
9
9
  export { MOBILE_EIP712_METHOD_BY_TYPE as t };
10
- //# sourceMappingURL=eip712MethodByType-3aiJkrHj.d.cts.map
10
+ //# sourceMappingURL=eip712MethodByType-1xUkvTIp.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip712MethodByType-1xUkvTIp.d.cts","names":[],"sources":["../src/signing/src/signing/eip712MethodByType.ts"],"mappings":";;;;;AAKA;cAAa,4BAAA,EAA8B,MAAM,CAC/C,iBAAA"}
@@ -1,4 +1,4 @@
1
- import { n as MobileSignedInner } from "./types-D5kFJzEX.js";
1
+ import { n as MobileSignedInner } from "./types-BIIvIzG2.js";
2
2
 
3
3
  //#region src/signing/eip712MethodByType.d.ts
4
4
  /**
@@ -7,4 +7,4 @@ import { n as MobileSignedInner } from "./types-D5kFJzEX.js";
7
7
  declare const MOBILE_EIP712_METHOD_BY_TYPE: Record<MobileSignedInner['type'], string>;
8
8
  //#endregion
9
9
  export { MOBILE_EIP712_METHOD_BY_TYPE as t };
10
- //# sourceMappingURL=eip712MethodByType-zNvZukU7.d.ts.map
10
+ //# sourceMappingURL=eip712MethodByType-CrqBJIrp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"eip712MethodByType-CrqBJIrp.d.ts","names":[],"sources":["../src/signing/src/signing/eip712MethodByType.ts"],"mappings":";;;;;AAKA;cAAa,4BAAA,EAA8B,MAAM,CAC/C,iBAAA"}
@@ -0,0 +1,23 @@
1
+ //#region src/utils/follow.d.ts
2
+ /**
3
+ * Maximum Followers/Following page size the backend accepts. Requests outside 1–50 fail with
4
+ * `INVALID_FOLLOW_LIMIT`.
5
+ */
6
+ declare const MOBILE_FOLLOW_LIST_MAX_PAGE_SIZE = 50;
7
+ /**
8
+ * Page size the backend uses when `limit` is omitted from a Followers or Following request.
9
+ */
10
+ declare const MOBILE_FOLLOW_LIST_DEFAULT_PAGE_SIZE = 25;
11
+ /**
12
+ * Number of Followed By preview identities a follow summary carries. Fixed by the backend rather than
13
+ * requested, so use it to size the preview UI; `followedByCount` still reports the full intersection.
14
+ */
15
+ declare const MOBILE_FOLLOWED_BY_PREVIEW_LIMIT = 2;
16
+ /**
17
+ * Maximum number of subaccounts a single profiles lookup accepts. An empty list, a duplicate, or more than
18
+ * this many fail with `INVALID_PROFILES_REQUEST`.
19
+ */
20
+ declare const MOBILE_PROFILES_MAX_BATCH_SIZE = 25;
21
+ //#endregion
22
+ export { MOBILE_PROFILES_MAX_BATCH_SIZE as i, MOBILE_FOLLOW_LIST_DEFAULT_PAGE_SIZE as n, MOBILE_FOLLOW_LIST_MAX_PAGE_SIZE as r, MOBILE_FOLLOWED_BY_PREVIEW_LIMIT as t };
23
+ //# sourceMappingURL=follow-Bh3UmXMc.d.cts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follow-Bh3UmXMc.d.cts","names":[],"sources":["../src/utils/src/utils/follow.ts"],"mappings":";;AAIA;;;cAAa,gCAAA;AAAgC;AAK7C;;AAL6C,cAKhC,oCAAA;;AAAoC;AAMjD;;cAAa,gCAAA;;AAAgC;AAM7C;;cAAa,8BAAA"}
@@ -0,0 +1,23 @@
1
+ //#region src/utils/follow.d.ts
2
+ /**
3
+ * Maximum Followers/Following page size the backend accepts. Requests outside 1–50 fail with
4
+ * `INVALID_FOLLOW_LIMIT`.
5
+ */
6
+ declare const MOBILE_FOLLOW_LIST_MAX_PAGE_SIZE = 50;
7
+ /**
8
+ * Page size the backend uses when `limit` is omitted from a Followers or Following request.
9
+ */
10
+ declare const MOBILE_FOLLOW_LIST_DEFAULT_PAGE_SIZE = 25;
11
+ /**
12
+ * Number of Followed By preview identities a follow summary carries. Fixed by the backend rather than
13
+ * requested, so use it to size the preview UI; `followedByCount` still reports the full intersection.
14
+ */
15
+ declare const MOBILE_FOLLOWED_BY_PREVIEW_LIMIT = 2;
16
+ /**
17
+ * Maximum number of subaccounts a single profiles lookup accepts. An empty list, a duplicate, or more than
18
+ * this many fail with `INVALID_PROFILES_REQUEST`.
19
+ */
20
+ declare const MOBILE_PROFILES_MAX_BATCH_SIZE = 25;
21
+ //#endregion
22
+ export { MOBILE_PROFILES_MAX_BATCH_SIZE as i, MOBILE_FOLLOW_LIST_DEFAULT_PAGE_SIZE as n, MOBILE_FOLLOW_LIST_MAX_PAGE_SIZE as r, MOBILE_FOLLOWED_BY_PREVIEW_LIMIT as t };
23
+ //# sourceMappingURL=follow-DjkQm1vR.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"follow-DjkQm1vR.d.ts","names":[],"sources":["../src/utils/src/utils/follow.ts"],"mappings":";;AAIA;;;cAAa,gCAAA;AAAgC;AAK7C;;AAL6C,cAKhC,oCAAA;;AAAoC;AAMjD;;cAAa,gCAAA;;AAAgC;AAM7C;;cAAa,8BAAA"}
package/dist/index.cjs CHANGED
@@ -1,5 +1,5 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- const require_MobileClient = require("./MobileClient-D5TNTnLx.cjs");
2
+ const require_MobileClient = require("./MobileClient-wjTrqP9z.cjs");
3
3
  const require_signing_canonicalize = require("./signing/canonicalize.cjs");
4
4
  const require_signing_eip712MethodByType = require("./signing/eip712MethodByType.cjs");
5
5
  const require_signing_nonce = require("./signing/nonce.cjs");
@@ -13,6 +13,7 @@ const require_types_mobileErrorCodes = require("./types/mobileErrorCodes.cjs");
13
13
  const require_types_serverModelTypes = require("./types/serverModelTypes.cjs");
14
14
  require("./types/index.cjs");
15
15
  const require_utils_feed = require("./utils/feed.cjs");
16
+ const require_utils_follow = require("./utils/follow.cjs");
16
17
  const require_utils_patterns = require("./utils/patterns.cjs");
17
18
  require("./utils/index.cjs");
18
19
  exports.MOBILE_CLIENT_ENDPOINTS = require_endpoints.MOBILE_CLIENT_ENDPOINTS;
@@ -24,6 +25,10 @@ exports.MOBILE_FEED_MAX_PAGE_SIZE = require_utils_feed.MOBILE_FEED_MAX_PAGE_SIZE
24
25
  exports.MOBILE_FEED_MIN_NOTIONAL_FLOOR = require_utils_feed.MOBILE_FEED_MIN_NOTIONAL_FLOOR;
25
26
  exports.MOBILE_FEED_TRADE_POSITION_DIRECTIONS = require_types_serverModelTypes.MOBILE_FEED_TRADE_POSITION_DIRECTIONS;
26
27
  exports.MOBILE_FEED_TRADE_POSITION_EFFECTS = require_types_serverModelTypes.MOBILE_FEED_TRADE_POSITION_EFFECTS;
28
+ exports.MOBILE_FOLLOWED_BY_PREVIEW_LIMIT = require_utils_follow.MOBILE_FOLLOWED_BY_PREVIEW_LIMIT;
29
+ exports.MOBILE_FOLLOW_LIST_DEFAULT_PAGE_SIZE = require_utils_follow.MOBILE_FOLLOW_LIST_DEFAULT_PAGE_SIZE;
30
+ exports.MOBILE_FOLLOW_LIST_MAX_PAGE_SIZE = require_utils_follow.MOBILE_FOLLOW_LIST_MAX_PAGE_SIZE;
31
+ exports.MOBILE_PROFILES_MAX_BATCH_SIZE = require_utils_follow.MOBILE_PROFILES_MAX_BATCH_SIZE;
27
32
  exports.MobileClient = require_MobileClient.MobileClient;
28
33
  exports.MobileServerFailureError = require_types_MobileServerFailureError.MobileServerFailureError;
29
34
  exports.buildSignedMobileRequest = require_signing_buildSignedMobileRequest.buildSignedMobileRequest;
package/dist/index.d.cts CHANGED
@@ -1,20 +1,21 @@
1
- import { a as MobileFeedTradePosition, c as MobileNotificationCategory, d as MobileServerFeedTrade, f as MobileServerNotificationCategoryPreference, h as MobileServerProfile, i as MobileFeedMarginMode, l as MobileNotificationPlatform, m as MobileServerNotificationPreferences, n as MOBILE_FEED_TRADE_POSITION_DIRECTIONS, o as MobileFeedTradePositionDirection, p as MobileServerNotificationPreferenceScope, r as MOBILE_FEED_TRADE_POSITION_EFFECTS, s as MobileFeedTradePositionEffect, t as MOBILE_FEED_MARGIN_MODES, u as MobileServerFeedMargin } from "./serverModelTypes-CwgibK-l.cjs";
2
- import { _ as MobileSignedRequestParams, a as GetMobileUsernameAvailabilityParams, b as MobileUsernameAvailability, c as MobileFeedTrade, d as MobileNotificationPreferences, f as MobilePublicProfile, g as MobileSetUsernameParams, h as MobileSetPrivateModeParams, i as GetMobileRegisteredWalletParams, l as MobileNotificationCategoryPreference, m as MobileRegisteredWallet, n as GetMobileNotificationPreferencesParams, o as MobileFeedMargin, p as MobileRegisterExpoTokenParams, r as GetMobilePublicProfileParams, s as MobileFeedPage, t as GetMobileFeedParams, u as MobileNotificationPreferenceScope, v as MobileUnregisterExpoTokenParams, x as MobileWithExpoTokenParams, y as MobileUpdateNotificationPreferencesParams } from "./clientTypes-BwakovWk.cjs";
3
- import { i as MobileSignedRequest, n as MobileSignedInner, r as MobileSignedInnerParams, t as BuildSignedMobileRequestParams } from "./types-47IPsDyA.cjs";
4
- import { t as buildSignedMobileRequest } from "./buildSignedMobileRequest-CXfnhc-4.cjs";
5
- import { t as canonicalizeMobileInner } from "./canonicalize-hzhboB-C.cjs";
6
- import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "./eip712MethodByType-3aiJkrHj.cjs";
1
+ import { _ as MobileServerNotificationPreferences, a as MobileFeedTradePosition, c as MobileNotificationCategory, d as MobileServerFeedTrade, f as MobileServerFollowListAccount, g as MobileServerNotificationPreferenceScope, h as MobileServerNotificationCategoryPreference, i as MobileFeedMarginMode, l as MobileNotificationPlatform, m as MobileServerIdentitySummary, n as MOBILE_FEED_TRADE_POSITION_DIRECTIONS, o as MobileFeedTradePositionDirection, p as MobileServerFollowSummary, r as MOBILE_FEED_TRADE_POSITION_EFFECTS, s as MobileFeedTradePositionEffect, t as MOBILE_FEED_MARGIN_MODES, u as MobileServerFeedMargin, v as MobileServerProfile } from "./serverModelTypes-CUzqFA6x.cjs";
2
+ import { A as MobileUsernameAvailability, C as MobileRegisteredWallet, D as MobileSignedRequestParams, E as MobileSetUsernameParams, O as MobileUnregisterExpoTokenParams, S as MobileRegisterExpoTokenParams, T as MobileSetPrivateModeParams, _ as MobileNotificationCategoryPreference, a as GetMobileNotificationPreferencesParams, b as MobileProfilesInclude, c as GetMobileUsernameAvailabilityParams, d as MobileFeedTrade, f as MobileFollowListAccount, g as MobileIdentitySummary, h as MobileFollowSummary, i as GetMobileFollowingParams, j as MobileWithExpoTokenParams, k as MobileUpdateNotificationPreferencesParams, l as MobileFeedMargin, m as MobileFollowMutationResult, n as GetMobileFollowListParams, o as GetMobileProfilesParams, p as MobileFollowListPage, r as GetMobileFollowersParams, s as GetMobileRegisteredWalletParams, t as GetMobileFeedParams, u as MobileFeedPage, v as MobileNotificationPreferenceScope, w as MobileSetFollowParams, x as MobilePublicProfile, y as MobileNotificationPreferences } from "./clientTypes-CceWsQzi.cjs";
3
+ import { a as MobileSignedRequest, i as MobileSignedInnerParams, n as MobileSignedInner, r as MobileSignedInnerByType, t as BuildSignedMobileRequestParams } from "./types-UmYaeq1C.cjs";
4
+ import { t as buildSignedMobileRequest } from "./buildSignedMobileRequest-DkkwEqIu.cjs";
5
+ import { t as canonicalizeMobileInner } from "./canonicalize-DtpaaA2B.cjs";
6
+ import { t as MOBILE_EIP712_METHOD_BY_TYPE } from "./eip712MethodByType-1xUkvTIp.cjs";
7
7
  import { t as getMobileNonce } from "./nonce-zGyisRlj.cjs";
8
- import { t as getMobilePayloadHash } from "./payloadHash-DVkEt-Rg.cjs";
9
- import { a as MobileServerPublicQueryRequestType, i as MobileServerPublicQueryRequestByType, n as MobileServerPublicExecuteRequestByType, o as MobileServerRequestType, r as MobileServerPublicExecuteRequestType, t as MobileServerExecuteRequestType } from "./serverRequestTypes-GAtVYIda.cjs";
10
- import { n as MobileServerSuccessResponse, t as MobileServerFailureResponse } from "./serverBaseTypes-C8KjE9Fm.cjs";
11
- import { n as MobileServerPublicExecuteRequest, t as MobileServerExecuteResult } from "./serverExecuteTypes-Cb5v7y0A.cjs";
12
- import { a as MobileServerPublicQueryResponseByType, c as MobileServerUsernameAvailabilityResponse, i as MobileServerPublicQueryRequest, n as MobileServerNotificationPreferencesResponse, o as MobileServerPublicQuerySuccessResponse, r as MobileServerProfileResponse, s as MobileServerRegisteredWalletResponse, t as MobileServerFeedResponse } from "./serverQueryTypes-DwE1iJ9f.cjs";
8
+ import { t as getMobilePayloadHash } from "./payloadHash-CIo8Hkh6.cjs";
9
+ import { a as MobileServerPublicExecuteRequestType, c as MobileServerRequestType, i as MobileServerPublicExecuteRequestByType, n as MobileServerFollowListRequest, o as MobileServerPublicQueryRequestByType, r as MobileServerProfilesInclude, s as MobileServerPublicQueryRequestType, t as MobileServerExecuteRequestType } from "./serverRequestTypes-Ddws3yXc.cjs";
10
+ import { n as MobileServerSuccessResponse, t as MobileServerFailureResponse } from "./serverBaseTypes-YkCmgmt1.cjs";
11
+ import { a as MobileServerFollowMutationResponse, i as MobileServerExecuteSuccessResponse, n as MobileServerExecuteResponseByType, o as MobileServerPublicExecuteRequest, r as MobileServerExecuteResult, t as MobileServerEmptyExecuteResponse } from "./serverExecuteTypes-DPZbs9ym.cjs";
12
+ import { a as MobileServerPublicQueryRequest, c as MobileServerRegisteredWalletResponse, i as MobileServerProfilesResponse, l as MobileServerUsernameAvailabilityResponse, n as MobileServerFollowListResponse, o as MobileServerPublicQueryResponseByType, r as MobileServerNotificationPreferencesResponse, s as MobileServerPublicQuerySuccessResponse, t as MobileServerFeedResponse } from "./serverQueryTypes-RdcIqRnM.cjs";
13
13
  import { MobileClient, MobileClientOpts } from "./MobileClient.cjs";
14
14
  import { MOBILE_CLIENT_ENDPOINTS } from "./endpoints.cjs";
15
- import { n as MobileErrorCode, t as MOBILE_ERROR_CODES } from "./mobileErrorCodes-D_SyBm0k.cjs";
16
- import { t as MobileServerFailureError } from "./MobileServerFailureError-CPFjwUBx.cjs";
15
+ import { n as MobileErrorCode, t as MOBILE_ERROR_CODES } from "./mobileErrorCodes-DkzBW4v3.cjs";
16
+ import { t as MobileServerFailureError } from "./MobileServerFailureError-BvQYrxjx.cjs";
17
17
  import { n as MOBILE_FEED_MIN_NOTIONAL_FLOOR, t as MOBILE_FEED_MAX_PAGE_SIZE } from "./feed-CBIwOhTO.cjs";
18
- import { t as MOBILE_DISPLAY_NAME_PATTERN } from "./patterns-Db6fgz8i.cjs";
19
- import { n as isMobileServerSuccessResponse, t as isMobileServerFailureResponse } from "./serverResponseGuards-Dxt9_aGh.cjs";
20
- export { BuildSignedMobileRequestParams, GetMobileFeedParams, GetMobileNotificationPreferencesParams, GetMobilePublicProfileParams, GetMobileRegisteredWalletParams, GetMobileUsernameAvailabilityParams, MOBILE_CLIENT_ENDPOINTS, MOBILE_DISPLAY_NAME_PATTERN, MOBILE_EIP712_METHOD_BY_TYPE, MOBILE_ERROR_CODES, MOBILE_FEED_MARGIN_MODES, MOBILE_FEED_MAX_PAGE_SIZE, MOBILE_FEED_MIN_NOTIONAL_FLOOR, MOBILE_FEED_TRADE_POSITION_DIRECTIONS, MOBILE_FEED_TRADE_POSITION_EFFECTS, MobileClient, MobileClientOpts, MobileErrorCode, MobileFeedMargin, MobileFeedMarginMode, MobileFeedPage, MobileFeedTrade, MobileFeedTradePosition, MobileFeedTradePositionDirection, MobileFeedTradePositionEffect, MobileNotificationCategory, MobileNotificationCategoryPreference, MobileNotificationPlatform, MobileNotificationPreferenceScope, MobileNotificationPreferences, MobilePublicProfile, MobileRegisterExpoTokenParams, MobileRegisteredWallet, MobileServerExecuteRequestType, MobileServerExecuteResult, MobileServerFailureError, MobileServerFailureResponse, MobileServerFeedMargin, MobileServerFeedResponse, MobileServerFeedTrade, MobileServerNotificationCategoryPreference, MobileServerNotificationPreferenceScope, MobileServerNotificationPreferences, MobileServerNotificationPreferencesResponse, MobileServerProfile, MobileServerProfileResponse, MobileServerPublicExecuteRequest, MobileServerPublicExecuteRequestByType, MobileServerPublicExecuteRequestType, MobileServerPublicQueryRequest, MobileServerPublicQueryRequestByType, MobileServerPublicQueryRequestType, MobileServerPublicQueryResponseByType, MobileServerPublicQuerySuccessResponse, MobileServerRegisteredWalletResponse, MobileServerRequestType, MobileServerSuccessResponse, MobileServerUsernameAvailabilityResponse, MobileSetPrivateModeParams, MobileSetUsernameParams, MobileSignedInner, MobileSignedInnerParams, MobileSignedRequest, MobileSignedRequestParams, MobileUnregisterExpoTokenParams, MobileUpdateNotificationPreferencesParams, MobileUsernameAvailability, MobileWithExpoTokenParams, buildSignedMobileRequest, canonicalizeMobileInner, getMobileNonce, getMobilePayloadHash, isMobileServerFailureResponse, isMobileServerSuccessResponse };
18
+ import { i as MOBILE_PROFILES_MAX_BATCH_SIZE, n as MOBILE_FOLLOW_LIST_DEFAULT_PAGE_SIZE, r as MOBILE_FOLLOW_LIST_MAX_PAGE_SIZE, t as MOBILE_FOLLOWED_BY_PREVIEW_LIMIT } from "./follow-Bh3UmXMc.cjs";
19
+ import { t as MOBILE_DISPLAY_NAME_PATTERN } from "./patterns-DS8P5LH0.cjs";
20
+ import { n as isMobileServerSuccessResponse, t as isMobileServerFailureResponse } from "./serverResponseGuards-Dg9WbqBA.cjs";
21
+ export { BuildSignedMobileRequestParams, GetMobileFeedParams, GetMobileFollowListParams, GetMobileFollowersParams, GetMobileFollowingParams, GetMobileNotificationPreferencesParams, GetMobileProfilesParams, GetMobileRegisteredWalletParams, GetMobileUsernameAvailabilityParams, MOBILE_CLIENT_ENDPOINTS, MOBILE_DISPLAY_NAME_PATTERN, MOBILE_EIP712_METHOD_BY_TYPE, MOBILE_ERROR_CODES, MOBILE_FEED_MARGIN_MODES, MOBILE_FEED_MAX_PAGE_SIZE, MOBILE_FEED_MIN_NOTIONAL_FLOOR, MOBILE_FEED_TRADE_POSITION_DIRECTIONS, MOBILE_FEED_TRADE_POSITION_EFFECTS, MOBILE_FOLLOWED_BY_PREVIEW_LIMIT, MOBILE_FOLLOW_LIST_DEFAULT_PAGE_SIZE, MOBILE_FOLLOW_LIST_MAX_PAGE_SIZE, MOBILE_PROFILES_MAX_BATCH_SIZE, MobileClient, MobileClientOpts, MobileErrorCode, MobileFeedMargin, MobileFeedMarginMode, MobileFeedPage, MobileFeedTrade, MobileFeedTradePosition, MobileFeedTradePositionDirection, MobileFeedTradePositionEffect, MobileFollowListAccount, MobileFollowListPage, MobileFollowMutationResult, MobileFollowSummary, MobileIdentitySummary, MobileNotificationCategory, MobileNotificationCategoryPreference, MobileNotificationPlatform, MobileNotificationPreferenceScope, MobileNotificationPreferences, MobileProfilesInclude, MobilePublicProfile, MobileRegisterExpoTokenParams, MobileRegisteredWallet, MobileServerEmptyExecuteResponse, MobileServerExecuteRequestType, MobileServerExecuteResponseByType, MobileServerExecuteResult, MobileServerExecuteSuccessResponse, MobileServerFailureError, MobileServerFailureResponse, MobileServerFeedMargin, MobileServerFeedResponse, MobileServerFeedTrade, MobileServerFollowListAccount, MobileServerFollowListRequest, MobileServerFollowListResponse, MobileServerFollowMutationResponse, MobileServerFollowSummary, MobileServerIdentitySummary, MobileServerNotificationCategoryPreference, MobileServerNotificationPreferenceScope, MobileServerNotificationPreferences, MobileServerNotificationPreferencesResponse, MobileServerProfile, MobileServerProfilesInclude, MobileServerProfilesResponse, MobileServerPublicExecuteRequest, MobileServerPublicExecuteRequestByType, MobileServerPublicExecuteRequestType, MobileServerPublicQueryRequest, MobileServerPublicQueryRequestByType, MobileServerPublicQueryRequestType, MobileServerPublicQueryResponseByType, MobileServerPublicQuerySuccessResponse, MobileServerRegisteredWalletResponse, MobileServerRequestType, MobileServerSuccessResponse, MobileServerUsernameAvailabilityResponse, MobileSetFollowParams, MobileSetPrivateModeParams, MobileSetUsernameParams, MobileSignedInner, MobileSignedInnerByType, MobileSignedInnerParams, MobileSignedRequest, MobileSignedRequestParams, MobileUnregisterExpoTokenParams, MobileUpdateNotificationPreferencesParams, MobileUsernameAvailability, MobileWithExpoTokenParams, buildSignedMobileRequest, canonicalizeMobileInner, getMobileNonce, getMobilePayloadHash, isMobileServerFailureResponse, isMobileServerSuccessResponse };