@nadohq/mobile-client 0.65.0 → 0.67.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.
- package/README.md +202 -10
- package/dist/{MobileClient-CfVZXTcz.cjs → MobileClient-vuI5wlB_.cjs} +303 -21
- package/dist/MobileClient-vuI5wlB_.cjs.map +1 -0
- package/dist/MobileClient.cjs +1 -1
- package/dist/MobileClient.d.cts +175 -20
- package/dist/MobileClient.d.cts.map +1 -1
- package/dist/MobileClient.d.ts +175 -20
- package/dist/MobileClient.d.ts.map +1 -1
- package/dist/MobileClient.js +303 -21
- package/dist/MobileClient.js.map +1 -1
- package/dist/{MobileServerFailureError-BZVwlsMg.d.ts → MobileServerFailureError-BeCCNShj.d.cts} +2 -3
- package/dist/MobileServerFailureError-BeCCNShj.d.cts.map +1 -0
- package/dist/{MobileServerFailureError-CbtK8kD4.d.cts → MobileServerFailureError-hHv28weI.d.ts} +2 -3
- package/dist/MobileServerFailureError-hHv28weI.d.ts.map +1 -0
- package/dist/MobileUnsupportedNotificationRouteError-DpiNBvvY.d.cts +15 -0
- package/dist/MobileUnsupportedNotificationRouteError-DpiNBvvY.d.cts.map +1 -0
- package/dist/MobileUnsupportedNotificationRouteError-DpiNBvvY.d.ts +15 -0
- package/dist/MobileUnsupportedNotificationRouteError-DpiNBvvY.d.ts.map +1 -0
- package/dist/{buildSignedMobileRequest-C1v0flCR.d.cts → buildSignedMobileRequest-DcEMKU_4.d.cts} +2 -2
- package/dist/{buildSignedMobileRequest-C1v0flCR.d.cts.map → buildSignedMobileRequest-DcEMKU_4.d.cts.map} +1 -1
- package/dist/{buildSignedMobileRequest-UeeWdYGU.d.ts → buildSignedMobileRequest-DlTMvoXR.d.ts} +2 -2
- package/dist/{buildSignedMobileRequest-UeeWdYGU.d.ts.map → buildSignedMobileRequest-DlTMvoXR.d.ts.map} +1 -1
- package/dist/{canonicalize-5eeZrkzQ.d.ts → canonicalize-BOZlflI3.d.ts} +2 -2
- package/dist/canonicalize-BOZlflI3.d.ts.map +1 -0
- package/dist/{canonicalize-CBaZprTo.d.cts → canonicalize-BvCozzvJ.d.cts} +2 -2
- package/dist/canonicalize-BvCozzvJ.d.cts.map +1 -0
- package/dist/{clientTypes-_mEgzmNs.d.cts → clientTypes-KpHlCDGZ.d.cts} +341 -38
- package/dist/clientTypes-KpHlCDGZ.d.cts.map +1 -0
- package/dist/{clientTypes-C9dJufxk.d.ts → clientTypes-XRI41VdC.d.ts} +341 -38
- package/dist/clientTypes-XRI41VdC.d.ts.map +1 -0
- package/dist/dataMappers.cjs +257 -20
- package/dist/dataMappers.cjs.map +1 -1
- package/dist/dataMappers.d.cts +98 -15
- package/dist/dataMappers.d.cts.map +1 -1
- package/dist/dataMappers.d.ts +98 -15
- package/dist/dataMappers.d.ts.map +1 -1
- package/dist/dataMappers.js +242 -20
- package/dist/dataMappers.js.map +1 -1
- package/dist/{eip712MethodByType-D8jLoxDu.d.cts → eip712MethodByType-DyAmzH7b.d.cts} +2 -2
- package/dist/eip712MethodByType-DyAmzH7b.d.cts.map +1 -0
- package/dist/{eip712MethodByType-DcUh8h-l.d.ts → eip712MethodByType-qSSAF6i2.d.ts} +2 -2
- package/dist/eip712MethodByType-qSSAF6i2.d.ts.map +1 -0
- package/dist/feed-BrgkFqP3.d.cts +23 -0
- package/dist/feed-BrgkFqP3.d.cts.map +1 -0
- package/dist/feed-DcbhLoo1.d.ts +23 -0
- package/dist/feed-DcbhLoo1.d.ts.map +1 -0
- package/dist/index-BVVgDSdq.d.cts +1 -0
- package/dist/index-BVVgDSdq.d.ts +1 -0
- package/dist/index.cjs +8 -2
- package/dist/index.d.cts +14 -16
- package/dist/index.d.ts +14 -16
- package/dist/index.js +4 -3
- package/dist/{mobileErrorCodes-CmjYEIYm.d.ts → mobileErrorCodes-CdwX6QTO.d.cts} +8 -3
- package/dist/mobileErrorCodes-CdwX6QTO.d.cts.map +1 -0
- package/dist/{mobileErrorCodes-CmjYEIYm.d.cts → mobileErrorCodes-CdwX6QTO.d.ts} +8 -3
- package/dist/mobileErrorCodes-CdwX6QTO.d.ts.map +1 -0
- package/dist/{payloadHash-DhHmgRqL.d.cts → payloadHash-BgGSZock.d.cts} +2 -2
- package/dist/payloadHash-BgGSZock.d.cts.map +1 -0
- package/dist/{payloadHash-E1_8fpLW.d.ts → payloadHash-Bi6upCLQ.d.ts} +2 -2
- package/dist/payloadHash-Bi6upCLQ.d.ts.map +1 -0
- package/dist/{serverExecuteTypes-BwWGspOg.d.ts → serverExecuteTypes-DuCWe_H_.d.cts} +23 -14
- package/dist/serverExecuteTypes-DuCWe_H_.d.cts.map +1 -0
- package/dist/{serverExecuteTypes-B-OJok19.d.cts → serverExecuteTypes-usJ6HMJv.d.ts} +23 -14
- package/dist/serverExecuteTypes-usJ6HMJv.d.ts.map +1 -0
- package/dist/{serverModelTypes-CiA-dy1R.d.ts → serverModelTypes-CTHMNIQS.d.cts} +170 -13
- package/dist/serverModelTypes-CTHMNIQS.d.cts.map +1 -0
- package/dist/{serverModelTypes-CiA-dy1R.d.cts → serverModelTypes-CTHMNIQS.d.ts} +170 -13
- package/dist/serverModelTypes-CTHMNIQS.d.ts.map +1 -0
- package/dist/{serverResponseGuards-CShiXpHT.d.ts → serverResponseGuards-CzmldAad.d.cts} +2 -2
- package/dist/{serverResponseGuards-BW69PS7O.d.cts.map → serverResponseGuards-CzmldAad.d.cts.map} +1 -1
- package/dist/{serverResponseGuards-BW69PS7O.d.cts → serverResponseGuards-Dvkbjp2_.d.ts} +2 -2
- package/dist/{serverResponseGuards-CShiXpHT.d.ts.map → serverResponseGuards-Dvkbjp2_.d.ts.map} +1 -1
- package/dist/signing/buildSignedMobileRequest.d.cts +1 -1
- package/dist/signing/buildSignedMobileRequest.d.ts +1 -1
- package/dist/signing/canonicalize.cjs +53 -2
- package/dist/signing/canonicalize.cjs.map +1 -1
- package/dist/signing/canonicalize.d.cts +1 -1
- package/dist/signing/canonicalize.d.ts +1 -1
- package/dist/signing/canonicalize.js +53 -2
- package/dist/signing/canonicalize.js.map +1 -1
- package/dist/signing/eip712MethodByType.cjs +7 -0
- package/dist/signing/eip712MethodByType.cjs.map +1 -1
- package/dist/signing/eip712MethodByType.d.cts +1 -1
- package/dist/signing/eip712MethodByType.d.ts +1 -1
- package/dist/signing/eip712MethodByType.js +7 -0
- package/dist/signing/eip712MethodByType.js.map +1 -1
- package/dist/signing/index.d.cts +5 -5
- package/dist/signing/index.d.ts +5 -5
- package/dist/signing/payloadHash.cjs +1 -1
- package/dist/signing/payloadHash.d.cts +1 -1
- package/dist/signing/payloadHash.d.ts +1 -1
- package/dist/signing/payloadHash.js +1 -1
- package/dist/signing/types.d.cts +1 -1
- package/dist/signing/types.d.ts +1 -1
- package/dist/types/MobileServerFailureError.d.cts +1 -1
- package/dist/types/MobileServerFailureError.d.ts +1 -1
- package/dist/types/MobileUnsupportedNotificationRouteError.cjs +19 -0
- package/dist/types/MobileUnsupportedNotificationRouteError.cjs.map +1 -0
- package/dist/types/MobileUnsupportedNotificationRouteError.d.cts +2 -0
- package/dist/types/MobileUnsupportedNotificationRouteError.d.ts +2 -0
- package/dist/types/MobileUnsupportedNotificationRouteError.js +18 -0
- package/dist/types/MobileUnsupportedNotificationRouteError.js.map +1 -0
- package/dist/types/clientTypes.d.cts +2 -2
- package/dist/types/clientTypes.d.ts +2 -2
- package/dist/types/index.cjs +4 -0
- package/dist/types/index.d.cts +8 -9
- package/dist/types/index.d.ts +8 -9
- package/dist/types/index.js +3 -2
- package/dist/types/mobileErrorCodes.cjs +11 -1
- package/dist/types/mobileErrorCodes.cjs.map +1 -1
- package/dist/types/mobileErrorCodes.d.cts +1 -1
- package/dist/types/mobileErrorCodes.d.ts +1 -1
- package/dist/types/mobileErrorCodes.js +11 -1
- package/dist/types/mobileErrorCodes.js.map +1 -1
- package/dist/types/serverBaseTypes.d.cts +1 -1
- package/dist/types/serverBaseTypes.d.ts +1 -1
- package/dist/types/serverExecuteTypes.d.cts +2 -2
- package/dist/types/serverExecuteTypes.d.ts +2 -2
- package/dist/types/serverModelTypes.cjs +15 -0
- package/dist/types/serverModelTypes.cjs.map +1 -1
- package/dist/types/serverModelTypes.d.cts +2 -2
- package/dist/types/serverModelTypes.d.ts +2 -2
- package/dist/types/serverModelTypes.js +14 -1
- package/dist/types/serverModelTypes.js.map +1 -1
- package/dist/types/serverQueryTypes.d.cts +2 -2
- package/dist/types/serverQueryTypes.d.ts +2 -2
- package/dist/types/serverRequestTypes.d.cts +2 -2
- package/dist/types/serverRequestTypes.d.ts +2 -2
- package/dist/types-CByl_NyJ.d.ts +825 -0
- package/dist/types-CByl_NyJ.d.ts.map +1 -0
- package/dist/types-CR5iaKR4.d.cts +825 -0
- package/dist/types-CR5iaKR4.d.cts.map +1 -0
- package/dist/utils/buildMobileFeedImageMultipart.cjs +31 -0
- package/dist/utils/buildMobileFeedImageMultipart.cjs.map +1 -0
- package/dist/utils/buildMobileFeedImageMultipart.d.cts +15 -0
- package/dist/utils/buildMobileFeedImageMultipart.d.cts.map +1 -0
- package/dist/utils/buildMobileFeedImageMultipart.d.ts +15 -0
- package/dist/utils/buildMobileFeedImageMultipart.d.ts.map +1 -0
- package/dist/utils/buildMobileFeedImageMultipart.js +30 -0
- package/dist/utils/buildMobileFeedImageMultipart.js.map +1 -0
- package/dist/utils/feed.cjs +12 -0
- package/dist/utils/feed.cjs.map +1 -1
- package/dist/utils/feed.d.cts +2 -2
- package/dist/utils/feed.d.ts +2 -2
- package/dist/utils/feed.js +11 -1
- package/dist/utils/feed.js.map +1 -1
- package/dist/utils/index.cjs +3 -1
- package/dist/utils/index.d.cts +3 -3
- package/dist/utils/index.d.ts +3 -3
- package/dist/utils/index.js +2 -2
- package/dist/utils/serverResponseGuards.d.cts +1 -1
- package/dist/utils/serverResponseGuards.d.ts +1 -1
- package/package.json +3 -3
- package/src/MobileClient.ts +444 -19
- package/src/dataMappers.test.ts +511 -6
- package/src/dataMappers.ts +325 -24
- package/src/feedImages.test.ts +309 -0
- package/src/notifications.test.ts +950 -0
- package/src/signing/canonicalize.ts +72 -0
- package/src/signing/eip712MethodByType.ts +10 -0
- package/src/signing/signing.test.ts +67 -1
- package/src/signing/types.ts +55 -9
- package/src/socialFeed.test.ts +63 -2
- package/src/types/MobileUnsupportedNotificationRouteError.ts +16 -0
- package/src/types/clientTypes.ts +427 -36
- package/src/types/index.ts +1 -0
- package/src/types/mobileErrorCodes.ts +10 -0
- package/src/types/serverExecuteTypes.ts +22 -10
- package/src/types/serverModelTypes.ts +216 -11
- package/src/types/serverQueryTypes.ts +106 -9
- package/src/types/serverRequestTypes.ts +114 -17
- package/src/utils/buildMobileFeedImageMultipart.test.ts +45 -0
- package/src/utils/buildMobileFeedImageMultipart.ts +36 -0
- package/src/utils/feed.ts +16 -0
- package/dist/MobileClient-CfVZXTcz.cjs.map +0 -1
- package/dist/MobileServerFailureError-BZVwlsMg.d.ts.map +0 -1
- package/dist/MobileServerFailureError-CbtK8kD4.d.cts.map +0 -1
- package/dist/canonicalize-5eeZrkzQ.d.ts.map +0 -1
- package/dist/canonicalize-CBaZprTo.d.cts.map +0 -1
- package/dist/clientTypes-C9dJufxk.d.ts.map +0 -1
- package/dist/clientTypes-_mEgzmNs.d.cts.map +0 -1
- package/dist/eip712MethodByType-D8jLoxDu.d.cts.map +0 -1
- package/dist/eip712MethodByType-DcUh8h-l.d.ts.map +0 -1
- package/dist/feed-DTJlsg8W.d.cts +0 -14
- package/dist/feed-DTJlsg8W.d.cts.map +0 -1
- package/dist/feed-DTJlsg8W.d.ts +0 -14
- package/dist/feed-DTJlsg8W.d.ts.map +0 -1
- package/dist/mobileErrorCodes-CmjYEIYm.d.cts.map +0 -1
- package/dist/mobileErrorCodes-CmjYEIYm.d.ts.map +0 -1
- package/dist/payloadHash-DhHmgRqL.d.cts.map +0 -1
- package/dist/payloadHash-E1_8fpLW.d.ts.map +0 -1
- package/dist/serverBaseTypes-B5J1_TyC.d.cts +0 -25
- package/dist/serverBaseTypes-B5J1_TyC.d.cts.map +0 -1
- package/dist/serverBaseTypes-DnLzsdm-.d.ts +0 -25
- package/dist/serverBaseTypes-DnLzsdm-.d.ts.map +0 -1
- package/dist/serverExecuteTypes-B-OJok19.d.cts.map +0 -1
- package/dist/serverExecuteTypes-BwWGspOg.d.ts.map +0 -1
- package/dist/serverModelTypes-CiA-dy1R.d.cts.map +0 -1
- package/dist/serverModelTypes-CiA-dy1R.d.ts.map +0 -1
- package/dist/serverQueryTypes-CJcjLB7n.d.ts +0 -283
- package/dist/serverQueryTypes-CJcjLB7n.d.ts.map +0 -1
- package/dist/serverQueryTypes-V1f9yE7L.d.cts +0 -283
- package/dist/serverQueryTypes-V1f9yE7L.d.cts.map +0 -1
- package/dist/serverRequestTypes-CRlkNSu5.d.cts +0 -270
- package/dist/serverRequestTypes-CRlkNSu5.d.cts.map +0 -1
- package/dist/serverRequestTypes-DZoOhV2o.d.ts +0 -270
- package/dist/serverRequestTypes-DZoOhV2o.d.ts.map +0 -1
- package/dist/types-BiRmH5Iv.d.cts +0 -108
- package/dist/types-BiRmH5Iv.d.cts.map +0 -1
- package/dist/types-DoJuq0Ij.d.ts +0 -108
- package/dist/types-DoJuq0Ij.d.ts.map +0 -1
package/src/dataMappers.ts
CHANGED
|
@@ -11,8 +11,18 @@ import {
|
|
|
11
11
|
MobileFollowMutationResult,
|
|
12
12
|
MobileFollowSummary,
|
|
13
13
|
MobileIdentitySummary,
|
|
14
|
+
MobileNotificationCapabilities,
|
|
15
|
+
MobileNotificationInboxV2,
|
|
16
|
+
MobileNotificationPayloadV2,
|
|
14
17
|
MobileNotificationPreferenceScope,
|
|
15
18
|
MobileNotificationPreferences,
|
|
19
|
+
MobileNotificationRegistrationV2,
|
|
20
|
+
MobileNotificationRoute,
|
|
21
|
+
MobileNotificationSettings,
|
|
22
|
+
MobileNotificationSettingsV2,
|
|
23
|
+
MobileNotificationSubscriptions,
|
|
24
|
+
MobileNotificationSubscriptionsUpdate,
|
|
25
|
+
MobileProductEvent,
|
|
16
26
|
MobileProfileSearchPage,
|
|
17
27
|
MobileProfilesInclude,
|
|
18
28
|
MobilePublicProfile,
|
|
@@ -22,6 +32,7 @@ import {
|
|
|
22
32
|
MobileSocialFeedActionResolutionResult,
|
|
23
33
|
MobileSocialFeedAuthor,
|
|
24
34
|
MobileSocialFeedCandle,
|
|
35
|
+
MobileSocialFeedCommentGroup,
|
|
25
36
|
MobileSocialFeedCommentResult,
|
|
26
37
|
MobileSocialFeedCommentsPage,
|
|
27
38
|
MobileSocialFeedCompactCard,
|
|
@@ -31,6 +42,7 @@ import {
|
|
|
31
42
|
MobileSocialFeedDrawingResult,
|
|
32
43
|
MobileSocialFeedHistoryMetrics,
|
|
33
44
|
MobileSocialFeedHistoryTake,
|
|
45
|
+
MobileSocialFeedImage,
|
|
34
46
|
MobileSocialFeedInteraction,
|
|
35
47
|
MobileSocialFeedItem,
|
|
36
48
|
MobileSocialFeedItemBase,
|
|
@@ -48,6 +60,8 @@ import {
|
|
|
48
60
|
MobileSocialFeedPositionHistory,
|
|
49
61
|
MobileSocialFeedPositionPatch,
|
|
50
62
|
MobileSocialFeedPositionResolutionResult,
|
|
63
|
+
MobileSocialFeedPositionThought,
|
|
64
|
+
MobileSocialFeedPositionThoughtsPage,
|
|
51
65
|
MobileSocialFeedPositionsPage,
|
|
52
66
|
MobileSocialFeedPost,
|
|
53
67
|
MobileSocialFeedPresence,
|
|
@@ -65,11 +79,12 @@ import {
|
|
|
65
79
|
MobileSocialFeedTradingContext,
|
|
66
80
|
MobileSocialFeedTradingTarget,
|
|
67
81
|
MobileSocialFeedUpdates,
|
|
68
|
-
|
|
82
|
+
MobileSocialFeedUploadedImage,
|
|
69
83
|
MobileSocialFeedWatchers,
|
|
70
84
|
SearchMobileProfilesParams,
|
|
71
85
|
} from './types/clientTypes';
|
|
72
86
|
import { MobileUnsupportedFeedItemError } from './types/MobileUnsupportedFeedItemError';
|
|
87
|
+
import { MobileUnsupportedNotificationRouteError } from './types/MobileUnsupportedNotificationRouteError';
|
|
73
88
|
import {
|
|
74
89
|
MobileServerAvatarUploadResponse,
|
|
75
90
|
MobileServerFollowBatchResponse,
|
|
@@ -78,7 +93,6 @@ import {
|
|
|
78
93
|
MobileServerSocialFeedDrawingMutationResponse,
|
|
79
94
|
MobileServerSocialFeedLikeResponse,
|
|
80
95
|
MobileServerSocialFeedPresenceResponse,
|
|
81
|
-
MobileServerSocialFeedViewsResponse,
|
|
82
96
|
} from './types/serverExecuteTypes';
|
|
83
97
|
import {
|
|
84
98
|
MobileServerAvatarPreset,
|
|
@@ -86,18 +100,24 @@ import {
|
|
|
86
100
|
MobileServerFeedTrade,
|
|
87
101
|
MobileServerFollowSummary,
|
|
88
102
|
MobileServerIdentitySummary,
|
|
103
|
+
MobileServerNotificationPayloadV2,
|
|
89
104
|
MobileServerNotificationPreferenceScope,
|
|
90
105
|
MobileServerNotificationPreferences,
|
|
106
|
+
MobileServerNotificationRoute,
|
|
107
|
+
MobileServerNotificationSettings,
|
|
108
|
+
MobileServerProductEvent,
|
|
91
109
|
MobileServerProfile,
|
|
92
110
|
MobileServerSocialFeedActionCandidate,
|
|
93
111
|
MobileServerSocialFeedActionMarker,
|
|
94
112
|
MobileServerSocialFeedAuthor,
|
|
95
113
|
MobileServerSocialFeedCandle,
|
|
114
|
+
MobileServerSocialFeedCommentGroup,
|
|
96
115
|
MobileServerSocialFeedCompactCard,
|
|
97
116
|
MobileServerSocialFeedContentBase,
|
|
98
117
|
MobileServerSocialFeedDrawing,
|
|
99
118
|
MobileServerSocialFeedHistoryMetrics,
|
|
100
119
|
MobileServerSocialFeedHistoryTake,
|
|
120
|
+
MobileServerSocialFeedImage,
|
|
101
121
|
MobileServerSocialFeedInteraction,
|
|
102
122
|
MobileServerSocialFeedItem,
|
|
103
123
|
MobileServerSocialFeedItemBase,
|
|
@@ -118,11 +138,16 @@ import {
|
|
|
118
138
|
MobileServerSocialFeedTraderBadge,
|
|
119
139
|
MobileServerSocialFeedTradingContext,
|
|
120
140
|
MobileServerSocialFeedTradingTarget,
|
|
141
|
+
MobileServerSocialFeedUploadedImage,
|
|
121
142
|
MobileSocialFeedMention,
|
|
122
143
|
} from './types/serverModelTypes';
|
|
123
144
|
import {
|
|
124
145
|
MobileServerFeedResponse,
|
|
125
146
|
MobileServerFollowListResponse,
|
|
147
|
+
MobileServerNotificationInboxV2Response,
|
|
148
|
+
MobileServerNotificationRegistrationV2Response,
|
|
149
|
+
MobileServerNotificationSettingsV2Response,
|
|
150
|
+
MobileServerNotificationSubscriptionsResponse,
|
|
126
151
|
MobileServerRegisteredWalletResponse,
|
|
127
152
|
MobileServerSearchProfilesResponse,
|
|
128
153
|
MobileServerSocialFeedActionResolutionResponse,
|
|
@@ -132,6 +157,8 @@ import {
|
|
|
132
157
|
MobileServerSocialFeedPositionChartResponse,
|
|
133
158
|
MobileServerSocialFeedPositionHistoryResponse,
|
|
134
159
|
MobileServerSocialFeedPositionResolutionResponse,
|
|
160
|
+
MobileServerSocialFeedPositionThought,
|
|
161
|
+
MobileServerSocialFeedPositionThoughtsResponse,
|
|
135
162
|
MobileServerSocialFeedPositionsResponse,
|
|
136
163
|
MobileServerSocialFeedRankedResponse,
|
|
137
164
|
MobileServerSocialFeedResponse,
|
|
@@ -141,7 +168,9 @@ import {
|
|
|
141
168
|
} from './types/serverQueryTypes';
|
|
142
169
|
import {
|
|
143
170
|
MobileServerFollowListRequest,
|
|
171
|
+
MobileServerNotificationSubscriptionsUpdate,
|
|
144
172
|
MobileServerProfilesInclude,
|
|
173
|
+
MobileServerRegisterExpoTokenV2Params,
|
|
145
174
|
MobileServerSearchProfilesRequest,
|
|
146
175
|
MobileServerSocialFeedListParams,
|
|
147
176
|
MobileServerSocialFeedReadParams,
|
|
@@ -170,6 +199,209 @@ export function mapMobileAvatarUpload(
|
|
|
170
199
|
};
|
|
171
200
|
}
|
|
172
201
|
|
|
202
|
+
/** Maps a saved notification registration to the client model without the response envelope.
|
|
203
|
+
* @param server - Registration payload.
|
|
204
|
+
* @returns Saved generation and capabilities.
|
|
205
|
+
*/
|
|
206
|
+
export function mapMobileNotificationRegistrationV2(
|
|
207
|
+
server: MobileServerNotificationRegistrationV2Response,
|
|
208
|
+
): MobileNotificationRegistrationV2 {
|
|
209
|
+
return {
|
|
210
|
+
registrationGeneration: server.registration_generation,
|
|
211
|
+
capabilities: {
|
|
212
|
+
payloadVersions: server.capabilities.payload_versions,
|
|
213
|
+
typeIds: server.capabilities.type_ids,
|
|
214
|
+
routes: server.capabilities.routes,
|
|
215
|
+
},
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/** Maps a v2 capability declaration to the registration wire format.
|
|
220
|
+
* @param capabilities - Device-supported features.
|
|
221
|
+
* @returns V2-only registration capabilities.
|
|
222
|
+
*/
|
|
223
|
+
export function mapMobileNotificationCapabilitiesToServer(
|
|
224
|
+
capabilities: MobileNotificationCapabilities,
|
|
225
|
+
): MobileServerRegisterExpoTokenV2Params['capabilities'] {
|
|
226
|
+
return {
|
|
227
|
+
payload_versions: capabilities.payloadVersions,
|
|
228
|
+
type_ids: capabilities.typeIds,
|
|
229
|
+
routes: capabilities.routes,
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
|
|
233
|
+
/** Maps complete notification settings to the client model.
|
|
234
|
+
* @param server - Saved settings.
|
|
235
|
+
* @returns CamelCase settings.
|
|
236
|
+
*/
|
|
237
|
+
export function mapMobileNotificationSettings(
|
|
238
|
+
server: MobileServerNotificationSettings,
|
|
239
|
+
): MobileNotificationSettings {
|
|
240
|
+
return {
|
|
241
|
+
myPositions: server.my_positions,
|
|
242
|
+
positionThresholds: server.position_thresholds,
|
|
243
|
+
myOrders: server.my_orders,
|
|
244
|
+
followingTrades: server.following_trades,
|
|
245
|
+
followingPosts: server.following_posts,
|
|
246
|
+
minTradeSizeUsd: server.min_trade_size_usd,
|
|
247
|
+
newFollowers: server.new_followers,
|
|
248
|
+
announcements: server.announcements,
|
|
249
|
+
discovery: server.discovery,
|
|
250
|
+
};
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
/** Maps a complete replacement settings document to wire format.
|
|
254
|
+
* @param settings - Complete client settings.
|
|
255
|
+
* @returns Settings accepted by the service.
|
|
256
|
+
*/
|
|
257
|
+
export function mapMobileNotificationSettingsToServer(
|
|
258
|
+
settings: MobileNotificationSettings,
|
|
259
|
+
): MobileServerNotificationSettings {
|
|
260
|
+
return {
|
|
261
|
+
my_positions: settings.myPositions,
|
|
262
|
+
position_thresholds: settings.positionThresholds,
|
|
263
|
+
my_orders: settings.myOrders,
|
|
264
|
+
following_trades: settings.followingTrades,
|
|
265
|
+
following_posts: settings.followingPosts,
|
|
266
|
+
min_trade_size_usd: settings.minTradeSizeUsd,
|
|
267
|
+
new_followers: settings.newFollowers,
|
|
268
|
+
announcements: settings.announcements,
|
|
269
|
+
discovery: settings.discovery,
|
|
270
|
+
};
|
|
271
|
+
}
|
|
272
|
+
|
|
273
|
+
/** Maps a revisioned settings response without the response envelope.
|
|
274
|
+
* @param server - Versioned settings payload.
|
|
275
|
+
* @returns Client settings and their revision.
|
|
276
|
+
*/
|
|
277
|
+
export function mapMobileNotificationSettingsV2(
|
|
278
|
+
server: MobileServerNotificationSettingsV2Response,
|
|
279
|
+
): MobileNotificationSettingsV2 {
|
|
280
|
+
return {
|
|
281
|
+
schemaVersion: server.schema_version,
|
|
282
|
+
revision: server.revision,
|
|
283
|
+
settings: mapMobileNotificationSettings(server.settings),
|
|
284
|
+
};
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
/** Maps wallet market subscriptions and Identity bells.
|
|
288
|
+
* @param server - Subscription payload.
|
|
289
|
+
* @returns Client subscription state without the response envelope.
|
|
290
|
+
*/
|
|
291
|
+
export function mapMobileNotificationSubscriptions(
|
|
292
|
+
server: MobileServerNotificationSubscriptionsResponse,
|
|
293
|
+
): MobileNotificationSubscriptions {
|
|
294
|
+
return {
|
|
295
|
+
revision: server.revision,
|
|
296
|
+
favoritesImported: server.favorites_imported,
|
|
297
|
+
marketIds: server.market_ids,
|
|
298
|
+
traderBells: server.trader_bells,
|
|
299
|
+
};
|
|
300
|
+
}
|
|
301
|
+
|
|
302
|
+
/** Maps one subscription operation, explicitly nulling unused wire operations.
|
|
303
|
+
* @param update - Exactly one revision-guarded operation.
|
|
304
|
+
* @returns The complete signed inner operation fields.
|
|
305
|
+
*/
|
|
306
|
+
export function mapMobileNotificationSubscriptionsUpdateToServer(
|
|
307
|
+
update: MobileNotificationSubscriptionsUpdate,
|
|
308
|
+
): MobileServerNotificationSubscriptionsUpdate {
|
|
309
|
+
return {
|
|
310
|
+
expected_revision: update.expectedRevision,
|
|
311
|
+
trader_bell:
|
|
312
|
+
update.traderBell == null
|
|
313
|
+
? null
|
|
314
|
+
: {
|
|
315
|
+
subaccount: subaccountToHex(update.traderBell.subaccount),
|
|
316
|
+
enabled: update.traderBell.enabled,
|
|
317
|
+
},
|
|
318
|
+
market:
|
|
319
|
+
update.market == null
|
|
320
|
+
? null
|
|
321
|
+
: {
|
|
322
|
+
product_id: update.market.productId,
|
|
323
|
+
subscribed: update.market.subscribed,
|
|
324
|
+
},
|
|
325
|
+
import_markets: update.importMarkets ?? null,
|
|
326
|
+
};
|
|
327
|
+
}
|
|
328
|
+
|
|
329
|
+
/** Maps an allowlisted notification destination.
|
|
330
|
+
* @param server - Named backend destination.
|
|
331
|
+
* @returns Client navigation data, never an arbitrary URL.
|
|
332
|
+
* @throws {MobileUnsupportedNotificationRouteError} If the service returns an unsupported route name.
|
|
333
|
+
*/
|
|
334
|
+
export function mapMobileNotificationRoute(
|
|
335
|
+
server: MobileServerNotificationRoute,
|
|
336
|
+
): MobileNotificationRoute {
|
|
337
|
+
const name = server.name;
|
|
338
|
+
switch (name) {
|
|
339
|
+
case 'market':
|
|
340
|
+
return { name: server.name, productId: server.product_id };
|
|
341
|
+
case 'profile':
|
|
342
|
+
return { name: server.name, subaccount: server.subaccount };
|
|
343
|
+
case 'portfolio':
|
|
344
|
+
return { name: server.name };
|
|
345
|
+
default:
|
|
346
|
+
throw new MobileUnsupportedNotificationRouteError(name satisfies never);
|
|
347
|
+
}
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
/** Maps v2 push or inbox navigation data.
|
|
351
|
+
* @param server - Wire-format notification payload.
|
|
352
|
+
* @returns Client notification data.
|
|
353
|
+
* @throws {MobileUnsupportedNotificationRouteError} If the service returns an unsupported route name.
|
|
354
|
+
*/
|
|
355
|
+
export function mapMobileNotificationPayloadV2(
|
|
356
|
+
server: MobileServerNotificationPayloadV2,
|
|
357
|
+
): MobileNotificationPayloadV2 {
|
|
358
|
+
return {
|
|
359
|
+
payloadVersion: server.payload_version,
|
|
360
|
+
notificationId: server.notification_id,
|
|
361
|
+
recipientWallet: server.recipient_wallet,
|
|
362
|
+
typeId: server.type_id,
|
|
363
|
+
templateVersion: server.template_version,
|
|
364
|
+
route: mapMobileNotificationRoute(server.route),
|
|
365
|
+
};
|
|
366
|
+
}
|
|
367
|
+
|
|
368
|
+
/** Maps a private notification page without the response envelope.
|
|
369
|
+
* @param server - Newest-first inbox payload.
|
|
370
|
+
* @returns Client items, attribution flags, and the next cursor.
|
|
371
|
+
* @throws {MobileUnsupportedNotificationRouteError} If a notification has an unsupported route name.
|
|
372
|
+
*/
|
|
373
|
+
export function mapMobileNotificationInboxV2(
|
|
374
|
+
server: MobileServerNotificationInboxV2Response,
|
|
375
|
+
): MobileNotificationInboxV2 {
|
|
376
|
+
return {
|
|
377
|
+
notifications: server.notifications.map((item) => ({
|
|
378
|
+
notificationId: item.notification_id,
|
|
379
|
+
typeId: item.type_id,
|
|
380
|
+
data: mapMobileNotificationPayloadV2(item.data),
|
|
381
|
+
createdAt: item.created_at,
|
|
382
|
+
tradeWithin24h: item.trade_within_24h,
|
|
383
|
+
})),
|
|
384
|
+
nextCursor: server.next_cursor,
|
|
385
|
+
};
|
|
386
|
+
}
|
|
387
|
+
|
|
388
|
+
/** Maps a typed analytics interaction, nulling unused wire fields.
|
|
389
|
+
* @param event - Event-specific client data.
|
|
390
|
+
* @returns Complete signed wire event.
|
|
391
|
+
*/
|
|
392
|
+
export function mapMobileProductEventToServer(
|
|
393
|
+
event: MobileProductEvent,
|
|
394
|
+
): MobileServerProductEvent {
|
|
395
|
+
return {
|
|
396
|
+
client_event_id: event.clientEventId,
|
|
397
|
+
event_name: event.eventName,
|
|
398
|
+
notification_id: event.notificationId ?? null,
|
|
399
|
+
occurred_at: event.occurredAt,
|
|
400
|
+
product_id: event.productId ?? null,
|
|
401
|
+
query: event.query ?? null,
|
|
402
|
+
};
|
|
403
|
+
}
|
|
404
|
+
|
|
173
405
|
/**
|
|
174
406
|
* Maps a client-side avatar selection to the signed wire payload; null clears the saved avatar.
|
|
175
407
|
*/
|
|
@@ -568,6 +800,43 @@ export function mapMobileSocialFeedInteraction(
|
|
|
568
800
|
};
|
|
569
801
|
}
|
|
570
802
|
|
|
803
|
+
/**
|
|
804
|
+
* Maps uploaded image metadata; bytes remain behind a protected GET.
|
|
805
|
+
* @param server - The service response.
|
|
806
|
+
* @returns The mapped feed image.
|
|
807
|
+
*/
|
|
808
|
+
export function mapMobileSocialFeedUploadedImage(
|
|
809
|
+
server: MobileServerSocialFeedUploadedImage,
|
|
810
|
+
): MobileSocialFeedUploadedImage {
|
|
811
|
+
return {
|
|
812
|
+
imageId: server.image_id,
|
|
813
|
+
url: server.url,
|
|
814
|
+
width: server.width,
|
|
815
|
+
height: server.height,
|
|
816
|
+
contentType: server.content_type,
|
|
817
|
+
byteSize: server.byte_size,
|
|
818
|
+
thumbnail: {
|
|
819
|
+
url: server.thumbnail.url,
|
|
820
|
+
width: server.thumbnail.width,
|
|
821
|
+
height: server.thumbnail.height,
|
|
822
|
+
},
|
|
823
|
+
};
|
|
824
|
+
}
|
|
825
|
+
|
|
826
|
+
/**
|
|
827
|
+
* Maps either protected upload metadata or an external URL without inventing metadata.
|
|
828
|
+
* @param server - The service response.
|
|
829
|
+
* @returns The mapped uploaded image or external URL.
|
|
830
|
+
*/
|
|
831
|
+
export function mapMobileSocialFeedImage(
|
|
832
|
+
server: MobileServerSocialFeedImage,
|
|
833
|
+
): MobileSocialFeedImage {
|
|
834
|
+
if ('image_id' in server) {
|
|
835
|
+
return mapMobileSocialFeedUploadedImage(server);
|
|
836
|
+
}
|
|
837
|
+
return { url: server.url };
|
|
838
|
+
}
|
|
839
|
+
|
|
571
840
|
/**
|
|
572
841
|
* Maps common item metadata and server capabilities.
|
|
573
842
|
* @param server - The service response.
|
|
@@ -606,6 +875,7 @@ export function mapMobileSocialFeedContentBase(
|
|
|
606
875
|
): MobileSocialFeedContentBase {
|
|
607
876
|
return {
|
|
608
877
|
...mapMobileSocialFeedItemBase(server),
|
|
878
|
+
images: server.images.map(mapMobileSocialFeedImage),
|
|
609
879
|
text: server.text,
|
|
610
880
|
mentions: server.mentions,
|
|
611
881
|
position: mapMobileSocialFeedPositionCard(server.position),
|
|
@@ -715,7 +985,7 @@ export function mapMobileSocialFeedItem(
|
|
|
715
985
|
}
|
|
716
986
|
|
|
717
987
|
/**
|
|
718
|
-
* Maps a
|
|
988
|
+
* Maps a reading session and its current idle expiration, preserving opaque credentials and cursors.
|
|
719
989
|
* @param server - The service response.
|
|
720
990
|
* @returns The mapped feed read session.
|
|
721
991
|
*/
|
|
@@ -726,10 +996,6 @@ export function mapMobileSocialFeedReadSession(
|
|
|
726
996
|
sessionId: server.session_id,
|
|
727
997
|
mode: server.mode,
|
|
728
998
|
expiresAtMs: server.expires_at_ms,
|
|
729
|
-
viewTracking: {
|
|
730
|
-
minVisibleRatio: server.view_tracking.min_visible_ratio,
|
|
731
|
-
minDurationMs: server.view_tracking.min_duration_ms,
|
|
732
|
-
},
|
|
733
999
|
updateCursor: server.update_cursor,
|
|
734
1000
|
viewerToken: server.viewer_token,
|
|
735
1001
|
};
|
|
@@ -1023,6 +1289,7 @@ export function mapMobileSocialFeedReply(
|
|
|
1023
1289
|
return {
|
|
1024
1290
|
...mapMobileSocialFeedItemBase(server),
|
|
1025
1291
|
kind: server.kind,
|
|
1292
|
+
images: server.images.map(mapMobileSocialFeedImage),
|
|
1026
1293
|
text: server.text,
|
|
1027
1294
|
mentions: server.mentions,
|
|
1028
1295
|
rootItemId: server.root_item_id,
|
|
@@ -1298,16 +1565,31 @@ export function mapMobileSocialFeedDrawingMutationResult(
|
|
|
1298
1565
|
}
|
|
1299
1566
|
|
|
1300
1567
|
/**
|
|
1301
|
-
* Maps
|
|
1568
|
+
* Maps a top-level comment and its complete flat descendants without sorting or dropping content.
|
|
1569
|
+
* @param server - A comment group from the service thread snapshot.
|
|
1570
|
+
* @returns The mapped top-level comment with each descendant's original parent relationship.
|
|
1571
|
+
*/
|
|
1572
|
+
export function mapMobileSocialFeedCommentGroup(
|
|
1573
|
+
server: MobileServerSocialFeedCommentGroup,
|
|
1574
|
+
): MobileSocialFeedCommentGroup {
|
|
1575
|
+
return {
|
|
1576
|
+
...mapMobileSocialFeedReply(server),
|
|
1577
|
+
replies: server.replies.map(mapMobileSocialFeedReply),
|
|
1578
|
+
};
|
|
1579
|
+
}
|
|
1580
|
+
|
|
1581
|
+
/**
|
|
1582
|
+
* Maps complete comment groups in server order and the actual returned session.
|
|
1302
1583
|
* @param server - Service payload with its original wire fields.
|
|
1303
|
-
* @returns Mapped
|
|
1584
|
+
* @returns Mapped groups, whole-thread counts, bidirectional cursors, nullable anchor, and reading session.
|
|
1304
1585
|
*/
|
|
1305
1586
|
export function mapMobileSocialFeedCommentsPage(
|
|
1306
1587
|
server: MobileServerSocialFeedCommentsResponse,
|
|
1307
1588
|
): MobileSocialFeedCommentsPage {
|
|
1308
1589
|
return {
|
|
1309
|
-
comments: server.comments.map(
|
|
1590
|
+
comments: server.comments.map(mapMobileSocialFeedCommentGroup),
|
|
1310
1591
|
totalCount: server.total_count,
|
|
1592
|
+
topLevelCount: server.top_level_count,
|
|
1311
1593
|
nextCursor: server.next_cursor,
|
|
1312
1594
|
previousCursor: server.previous_cursor,
|
|
1313
1595
|
anchorReplyId: server.anchor_reply_id,
|
|
@@ -1345,20 +1627,6 @@ export function mapMobileSocialFeedLikeResult(
|
|
|
1345
1627
|
};
|
|
1346
1628
|
}
|
|
1347
1629
|
|
|
1348
|
-
/**
|
|
1349
|
-
* Maps exposure deduplication results without adding timestamps.
|
|
1350
|
-
* @param server - Service payload with its original wire fields.
|
|
1351
|
-
* @returns Newly accepted and duplicate item ID lists without inventing an observation timestamp.
|
|
1352
|
-
*/
|
|
1353
|
-
export function mapMobileSocialFeedViewsResult(
|
|
1354
|
-
server: MobileServerSocialFeedViewsResponse,
|
|
1355
|
-
): MobileSocialFeedViewsResult {
|
|
1356
|
-
return {
|
|
1357
|
-
acceptedItemIds: server.accepted_item_ids,
|
|
1358
|
-
duplicateItemIds: server.duplicate_item_ids,
|
|
1359
|
-
};
|
|
1360
|
-
}
|
|
1361
|
-
|
|
1362
1630
|
/**
|
|
1363
1631
|
* Maps a published history take without treating unknown kinds as posts.
|
|
1364
1632
|
* @param server - The published service item.
|
|
@@ -1420,6 +1688,7 @@ export function mapMobileSocialFeedPositionHistory(
|
|
|
1420
1688
|
server: MobileServerSocialFeedPositionHistoryResponse,
|
|
1421
1689
|
): MobileSocialFeedPositionHistory {
|
|
1422
1690
|
return {
|
|
1691
|
+
owner: mapMobileSocialFeedAuthor(server.owner),
|
|
1423
1692
|
position: {
|
|
1424
1693
|
...mapMobileSocialFeedPositionCard(server.position),
|
|
1425
1694
|
...mapMobileSocialFeedHistoryMetrics(server.position),
|
|
@@ -1490,3 +1759,35 @@ export function mapMobileSocialFeedPresence(
|
|
|
1490
1759
|
expiresInSeconds: server.expires_in_seconds,
|
|
1491
1760
|
};
|
|
1492
1761
|
}
|
|
1762
|
+
|
|
1763
|
+
/**
|
|
1764
|
+
* Maps a published thought, keeping its guaranteed analysis flag and drawing.
|
|
1765
|
+
* @param server - Service payload with its original wire fields.
|
|
1766
|
+
* @returns The mapped post or trade card with a non-null drawing.
|
|
1767
|
+
* @throws {MobileUnsupportedFeedItemError} If the service returns an unsupported take kind.
|
|
1768
|
+
*/
|
|
1769
|
+
export function mapMobileSocialFeedPositionThought(
|
|
1770
|
+
server: MobileServerSocialFeedPositionThought,
|
|
1771
|
+
): MobileSocialFeedPositionThought {
|
|
1772
|
+
return {
|
|
1773
|
+
...mapMobileSocialFeedHistoryTake(server),
|
|
1774
|
+
hasAnalysis: server.has_analysis,
|
|
1775
|
+
drawing: mapMobileSocialFeedDrawing(server.drawing),
|
|
1776
|
+
};
|
|
1777
|
+
}
|
|
1778
|
+
|
|
1779
|
+
/**
|
|
1780
|
+
* Maps a thoughts page in server order, preserving empty pages with continuation cursors.
|
|
1781
|
+
* @param server - Service payload with its original wire fields.
|
|
1782
|
+
* @returns Thoughts, the next cursor, and the position reading session.
|
|
1783
|
+
* @throws {MobileUnsupportedFeedItemError} If an item is not a post or trade card.
|
|
1784
|
+
*/
|
|
1785
|
+
export function mapMobileSocialFeedPositionThoughts(
|
|
1786
|
+
server: MobileServerSocialFeedPositionThoughtsResponse,
|
|
1787
|
+
): MobileSocialFeedPositionThoughtsPage {
|
|
1788
|
+
return {
|
|
1789
|
+
items: server.items.map(mapMobileSocialFeedPositionThought),
|
|
1790
|
+
nextCursor: server.next_cursor,
|
|
1791
|
+
readSession: mapMobileSocialFeedReadSession(server.read_session),
|
|
1792
|
+
};
|
|
1793
|
+
}
|