@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/dist/dataMappers.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataMappers.cjs","names":["MobileUnsupportedFeedItemError"],"sources":["../src/dataMappers.ts"],"sourcesContent":["import { removeDecimals, subaccountToHex, toBigNumber } from '@nadohq/shared';\nimport {\n GetMobileFollowListParams,\n MobileAvatarPreset,\n MobileAvatarSelection,\n MobileAvatarUpload,\n MobileFeedPage,\n MobileFeedTrade,\n MobileFollowBatchResultItem,\n MobileFollowListPage,\n MobileFollowMutationResult,\n MobileFollowSummary,\n MobileIdentitySummary,\n MobileNotificationPreferenceScope,\n MobileNotificationPreferences,\n MobileProfileSearchPage,\n MobileProfilesInclude,\n MobilePublicProfile,\n MobileRegisteredWallet,\n MobileSocialFeedActionCandidate,\n MobileSocialFeedActionMarker,\n MobileSocialFeedActionResolutionResult,\n MobileSocialFeedAuthor,\n MobileSocialFeedCandle,\n MobileSocialFeedCommentResult,\n MobileSocialFeedCommentsPage,\n MobileSocialFeedCompactCard,\n MobileSocialFeedContentBase,\n MobileSocialFeedDrawing,\n MobileSocialFeedDrawingMutationResult,\n MobileSocialFeedDrawingResult,\n MobileSocialFeedHistoryMetrics,\n MobileSocialFeedHistoryTake,\n MobileSocialFeedInteraction,\n MobileSocialFeedItem,\n MobileSocialFeedItemBase,\n MobileSocialFeedItemPatch,\n MobileSocialFeedItemResponse,\n MobileSocialFeedLikeResult,\n MobileSocialFeedListParams,\n MobileSocialFeedMarket,\n MobileSocialFeedMentionParams,\n MobileSocialFeedPage,\n MobileSocialFeedPnl,\n MobileSocialFeedPositionAction,\n MobileSocialFeedPositionCard,\n MobileSocialFeedPositionChart,\n MobileSocialFeedPositionHistory,\n MobileSocialFeedPositionPatch,\n MobileSocialFeedPositionResolutionResult,\n MobileSocialFeedPositionsPage,\n MobileSocialFeedPost,\n MobileSocialFeedPresence,\n MobileSocialFeedPublishablePosition,\n MobileSocialFeedRankedPage,\n MobileSocialFeedReadParams,\n MobileSocialFeedReadSession,\n MobileSocialFeedReply,\n MobileSocialFeedTimelineEntry,\n MobileSocialFeedTopTradersPage,\n MobileSocialFeedTradeCard,\n MobileSocialFeedTradeRow,\n MobileSocialFeedTradeRowBase,\n MobileSocialFeedTraderBadge,\n MobileSocialFeedTradingContext,\n MobileSocialFeedTradingTarget,\n MobileSocialFeedUpdates,\n MobileSocialFeedViewsResult,\n MobileSocialFeedWatchers,\n SearchMobileProfilesParams,\n} from './types/clientTypes';\nimport { MobileUnsupportedFeedItemError } from './types/MobileUnsupportedFeedItemError';\nimport {\n MobileServerAvatarUploadResponse,\n MobileServerFollowBatchResponse,\n MobileServerFollowMutationResponse,\n MobileServerSocialFeedCommentResponse,\n MobileServerSocialFeedDrawingMutationResponse,\n MobileServerSocialFeedLikeResponse,\n MobileServerSocialFeedPresenceResponse,\n MobileServerSocialFeedViewsResponse,\n} from './types/serverExecuteTypes';\nimport {\n MobileServerAvatarPreset,\n MobileServerAvatarSelection,\n MobileServerFeedTrade,\n MobileServerFollowSummary,\n MobileServerIdentitySummary,\n MobileServerNotificationPreferenceScope,\n MobileServerNotificationPreferences,\n MobileServerProfile,\n MobileServerSocialFeedActionCandidate,\n MobileServerSocialFeedActionMarker,\n MobileServerSocialFeedAuthor,\n MobileServerSocialFeedCandle,\n MobileServerSocialFeedCompactCard,\n MobileServerSocialFeedContentBase,\n MobileServerSocialFeedDrawing,\n MobileServerSocialFeedHistoryMetrics,\n MobileServerSocialFeedHistoryTake,\n MobileServerSocialFeedInteraction,\n MobileServerSocialFeedItem,\n MobileServerSocialFeedItemBase,\n MobileServerSocialFeedItemPatch,\n MobileServerSocialFeedMarket,\n MobileServerSocialFeedPnl,\n MobileServerSocialFeedPositionAction,\n MobileServerSocialFeedPositionCard,\n MobileServerSocialFeedPositionPatch,\n MobileServerSocialFeedPost,\n MobileServerSocialFeedPublishablePosition,\n MobileServerSocialFeedReadSession,\n MobileServerSocialFeedReply,\n MobileServerSocialFeedTimelineEntry,\n MobileServerSocialFeedTradeCard,\n MobileServerSocialFeedTradeRow,\n MobileServerSocialFeedTradeRowBase,\n MobileServerSocialFeedTraderBadge,\n MobileServerSocialFeedTradingContext,\n MobileServerSocialFeedTradingTarget,\n MobileSocialFeedMention,\n} from './types/serverModelTypes';\nimport {\n MobileServerFeedResponse,\n MobileServerFollowListResponse,\n MobileServerRegisteredWalletResponse,\n MobileServerSearchProfilesResponse,\n MobileServerSocialFeedActionResolutionResponse,\n MobileServerSocialFeedCommentsResponse,\n MobileServerSocialFeedDrawingResponse,\n MobileServerSocialFeedItemResponse,\n MobileServerSocialFeedPositionChartResponse,\n MobileServerSocialFeedPositionHistoryResponse,\n MobileServerSocialFeedPositionResolutionResponse,\n MobileServerSocialFeedPositionsResponse,\n MobileServerSocialFeedRankedResponse,\n MobileServerSocialFeedResponse,\n MobileServerSocialFeedTopTradersResponse,\n MobileServerSocialFeedUpdatesResponse,\n MobileServerSocialFeedWatchersResponse,\n} from './types/serverQueryTypes';\nimport {\n MobileServerFollowListRequest,\n MobileServerProfilesInclude,\n MobileServerSearchProfilesRequest,\n MobileServerSocialFeedListParams,\n MobileServerSocialFeedReadParams,\n} from './types/serverRequestTypes';\n\n/**\n * Maps a server-side avatar preset to its client-side representation.\n */\nexport function mapMobileAvatarPreset(\n server: MobileServerAvatarPreset,\n): MobileAvatarPreset {\n return { id: server.id, avatarUrl: server.avatar_url };\n}\n\n/**\n * Maps an upload grant, preserving the signed PUT headers and server-provided lifetime.\n */\nexport function mapMobileAvatarUpload(\n server: MobileServerAvatarUploadResponse,\n): MobileAvatarUpload {\n return {\n uploadKey: server.upload_key,\n uploadUrl: server.upload_url,\n headers: server.headers,\n expiresInSeconds: server.expires_in_seconds,\n };\n}\n\n/**\n * Maps a client-side avatar selection to the signed wire payload; null clears the saved avatar.\n */\nexport function mapMobileAvatarSelectionToServer(\n avatar: MobileAvatarSelection | null,\n): MobileServerAvatarSelection | null {\n if (avatar === null) {\n return null;\n }\n if (avatar.type === 'preset') {\n return { type: 'preset', id: avatar.id };\n }\n return { type: 'upload', upload_key: avatar.uploadKey };\n}\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 ...mapMobileIdentitySummary(server),\n bio: server.bio,\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 profile search page (snake_case) to its client-side (camelCase) representation. Each\n * match goes through {@link mapMobilePublicProfile}, so include-gated fields stay `undefined` when omitted.\n */\nexport function mapMobileProfileSearchPage(\n server: MobileServerSearchProfilesResponse,\n): MobileProfileSearchPage {\n return {\n profiles: server.profiles.map(mapMobilePublicProfile),\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 a server-side batch follow or unfollow response to its client-side representation.\n */\nexport function mapMobileFollowBatchResult(\n server: MobileServerFollowBatchResponse,\n): MobileFollowBatchResultItem[] {\n return server.results.map((result) => ({\n subaccount: result.subaccount,\n isFollowing: result.is_following,\n followerCount: result.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 the client-side params of a profile search page to the server-side wire shape.\n */\nexport function mapMobileProfileSearchParamsToServer(\n params: SearchMobileProfilesParams,\n): MobileServerSearchProfilesRequest {\n return {\n query: params.query,\n include: params.include\n ? mapMobileProfilesIncludeToServer(params.include)\n : 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\n/**\n * Maps the official account PnL badge, retaining x18 amount units.\n * @param server - The service response.\n * @returns The mapped trader badge.\n */\nexport function mapMobileSocialFeedTraderBadge(\n server: MobileServerSocialFeedTraderBadge,\n): MobileSocialFeedTraderBadge {\n return {\n code: server.code,\n pnl: toBigNumber(server.pnl_x18),\n metricKey: server.metric_key,\n window: server.window,\n sourceAsOfMs: server.source_as_of_ms,\n fetchedAtMs: server.fetched_at_ms,\n snapshotId: server.snapshot_id,\n };\n}\n\n/**\n * Maps author identity, relationship state, and optional qualification badge.\n * @param server - The service response.\n * @returns The mapped feed author.\n */\nexport function mapMobileSocialFeedAuthor(\n server: MobileServerSocialFeedAuthor,\n): MobileSocialFeedAuthor {\n return {\n ...mapMobileIdentitySummary(server),\n isFollowing: server.is_following,\n traderBadge:\n server.trader_badge === null\n ? null\n : mapMobileSocialFeedTraderBadge(server.trader_badge),\n traderDataStatus: server.trader_data_status,\n };\n}\n\n/**\n * Maps social market metadata.\n * @param server - The service response.\n * @returns The mapped feed market.\n */\nexport function mapMobileSocialFeedMarket(\n server: MobileServerSocialFeedMarket,\n): MobileSocialFeedMarket {\n return {\n productId: server.product_id,\n symbol: server.symbol,\n logoUrl: server.logo_url,\n category: server.category,\n sourceCategories: server.source_categories,\n };\n}\n\n/**\n * Maps position PnL while retaining x18 amount units and availability.\n * @param server - The service response.\n * @returns The mapped feed pnl.\n */\nexport function mapMobileSocialFeedPnl(\n server: MobileServerSocialFeedPnl,\n): MobileSocialFeedPnl {\n return {\n amount: server.amount_x18 === null ? null : toBigNumber(server.amount_x18),\n basis: server.basis,\n mode: server.mode,\n asOfMs: server.as_of_ms,\n quality: server.quality,\n };\n}\n\n/**\n * Maps complete position facts, converting entry price to decimal units.\n * @param server - The service response.\n * @returns The mapped feed position patch.\n */\nexport function mapMobileSocialFeedPositionPatch(\n server: MobileServerSocialFeedPositionPatch,\n): MobileSocialFeedPositionPatch {\n return {\n positionId: server.position_id,\n positionVersion: server.position_version,\n stateAsOfMs: server.state_as_of_ms,\n entryPrice: removeDecimals(server.entry_price_x18),\n displayBasis: server.display_basis,\n snapshotAtMs: server.snapshot_at_ms,\n quantity: toBigNumber(server.quantity_x18),\n notional: toBigNumber(server.notional_x18),\n state: server.state,\n historyQuality: server.history_quality,\n marginMode: server.margin_mode,\n leverage: server.leverage,\n leverageAtMs: server.leverage_at_ms,\n pnl: mapMobileSocialFeedPnl(server.pnl),\n ...(server.current_position === undefined\n ? {}\n : {\n currentPosition: mapMobileSocialFeedHistoryMetrics(\n server.current_position,\n ),\n }),\n };\n}\n\n/**\n * Maps a position card with its current or frozen financial state.\n * @param server - The service response.\n * @returns The mapped feed position card.\n */\nexport function mapMobileSocialFeedPositionCard(\n server: MobileServerSocialFeedPositionCard,\n): MobileSocialFeedPositionCard {\n return {\n ...mapMobileSocialFeedPositionPatch(server),\n productId: server.product_id,\n market: mapMobileSocialFeedMarket(server.market),\n direction: server.direction,\n };\n}\n\n/**\n * Maps interaction counters without inventing unavailable relationship state.\n * @param server - The service response.\n * @returns The mapped feed interaction.\n */\nexport function mapMobileSocialFeedInteraction(\n server: MobileServerSocialFeedInteraction,\n): MobileSocialFeedInteraction {\n return {\n likeCount: server.like_count,\n commentCount: server.comment_count,\n viewCount: server.view_count,\n likedByMe: server.liked_by_me,\n };\n}\n\n/**\n * Maps common item metadata and server capabilities.\n * @param server - The service response.\n * @returns The mapped social feed item base.\n */\nexport function mapMobileSocialFeedItemBase(\n server: MobileServerSocialFeedItemBase,\n): MobileSocialFeedItemBase {\n return {\n id: server.id,\n hasAnalysis: server.has_analysis,\n drawing:\n server.drawing === null\n ? null\n : mapMobileSocialFeedDrawing(server.drawing),\n author: mapMobileSocialFeedAuthor(server.author),\n createdAtMs: server.created_at_ms,\n displayAtMs: server.display_at_ms,\n version: server.version,\n market: mapMobileSocialFeedMarket(server.market),\n capabilities: {\n canLike: server.capabilities.can_like,\n canComment: server.capabilities.can_comment,\n canRecordView: server.capabilities.can_record_view,\n },\n };\n}\n\n/**\n * Maps the content, position, interaction, and comment preview shared by posts and trade cards.\n * @param server - The service response.\n * @returns The mapped shared content fields.\n */\nexport function mapMobileSocialFeedContentBase(\n server: MobileServerSocialFeedContentBase,\n): MobileSocialFeedContentBase {\n return {\n ...mapMobileSocialFeedItemBase(server),\n text: server.text,\n mentions: server.mentions,\n position: mapMobileSocialFeedPositionCard(server.position),\n interaction: mapMobileSocialFeedInteraction(server.interaction),\n commentPreview: {\n items: server.comment_preview.items.map(mapMobileSocialFeedReply),\n totalCount: server.comment_preview.total_count,\n nextCursor: server.comment_preview.next_cursor,\n },\n };\n}\n\n/**\n * Maps a trade card, authored content, and position and interaction metadata.\n * @param server - The service response.\n * @returns The mapped social trade card.\n */\nexport function mapMobileSocialFeedTradeCard(\n server: MobileServerSocialFeedTradeCard,\n): MobileSocialFeedTradeCard {\n return {\n ...mapMobileSocialFeedContentBase(server),\n kind: server.kind,\n action: server.action,\n };\n}\n\n/**\n * Maps historical trade facts with decimal execution prices and x18 quantities.\n * @param server - The service response.\n * @returns The mapped social trade row base.\n */\nexport function mapMobileSocialFeedTradeRowBase(\n server: MobileServerSocialFeedTradeRowBase,\n): MobileSocialFeedTradeRowBase {\n return {\n ...mapMobileSocialFeedItemBase(server),\n kind: server.kind,\n positionId: server.position_id,\n direction: server.direction,\n marginMode: server.margin_mode,\n leverage: server.leverage,\n leverageAtMs: server.leverage_at_ms,\n tradeCount: server.trade_count,\n quantity: toBigNumber(server.quantity_x18),\n averagePrice: removeDecimals(server.average_price_x18),\n };\n}\n\n/**\n * Maps size changes and independently nullable liquidation facts.\n * @param server - The service response.\n * @returns The mapped social trade row.\n */\nexport function mapMobileSocialFeedTradeRow(\n server: MobileServerSocialFeedTradeRow,\n): MobileSocialFeedTradeRow {\n const base = mapMobileSocialFeedTradeRowBase(server);\n if (server.action === 'liquidated') {\n return {\n ...base,\n action: server.action,\n notional:\n server.notional_x18 === null ? null : toBigNumber(server.notional_x18),\n entryPrice: removeDecimals(server.entry_price_x18),\n liquidationOraclePrice: removeDecimals(\n server.liquidation_oracle_price_x18,\n ),\n liquidationExecutionPrice: removeDecimals(\n server.liquidation_execution_price_x18,\n ),\n realizedPnlDelta:\n server.realized_pnl_delta_x18 === null\n ? null\n : toBigNumber(server.realized_pnl_delta_x18),\n };\n }\n return {\n ...base,\n action: server.action,\n notional: toBigNumber(server.notional_x18),\n };\n}\n\n/**\n * Maps the item variant without mixing card and row fields.\n * @param server - The service response.\n * @returns The mapped social feed item.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedItem(\n server: MobileServerSocialFeedItem,\n): MobileSocialFeedItem {\n const kind = server.kind;\n switch (kind) {\n case 'trade_card':\n return mapMobileSocialFeedTradeCard(server);\n case 'trade_row':\n return mapMobileSocialFeedTradeRow(server);\n case 'post':\n return mapMobileSocialFeedPost(server);\n case 'reply':\n return mapMobileSocialFeedReply(server);\n default:\n throw new MobileUnsupportedFeedItemError(kind satisfies never);\n }\n}\n\n/**\n * Maps a fixed reading session, preserving opaque credentials and cursors.\n * @param server - The service response.\n * @returns The mapped feed read session.\n */\nexport function mapMobileSocialFeedReadSession(\n server: MobileServerSocialFeedReadSession,\n): MobileSocialFeedReadSession {\n return {\n sessionId: server.session_id,\n mode: server.mode,\n expiresAtMs: server.expires_at_ms,\n viewTracking: {\n minVisibleRatio: server.view_tracking.min_visible_ratio,\n minDurationMs: server.view_tracking.min_duration_ms,\n },\n updateCursor: server.update_cursor,\n viewerToken: server.viewer_token,\n };\n}\n\n/**\n * Maps a fixed feed page without changing item order or pagination.\n * @param server - The service response.\n * @returns The mapped social feed page.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedPage(\n server: MobileServerSocialFeedResponse,\n): MobileSocialFeedPage {\n return {\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n items: server.items.map(mapMobileSocialFeedItem),\n nextCursor: server.next_cursor,\n watermark: server.watermark,\n };\n}\n\n/**\n * Maps a main feed page and its ranking version.\n * @param server - The service response.\n * @returns The mapped ranked feed page.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedRankedPage(\n server: MobileServerSocialFeedRankedResponse,\n): MobileSocialFeedRankedPage {\n return {\n ...mapMobileSocialFeedPage(server),\n rankingVersion: server.ranking_version,\n };\n}\n\n/**\n * Maps qualified trader items and their shared eligibility snapshot.\n * @param server - The service response.\n * @returns The mapped top traders feed page.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedTopTradersPage(\n server: MobileServerSocialFeedTopTradersResponse,\n): MobileSocialFeedTopTradersPage {\n return {\n ...mapMobileSocialFeedRankedPage(server),\n cohort: {\n snapshotId: server.cohort.snapshot_id,\n status: server.cohort.status,\n coverage: {\n scope: server.cohort.coverage.scope,\n totalAuthors: server.cohort.coverage.total_authors,\n queriedAuthors: server.cohort.coverage.queried_authors,\n complete: server.cohort.coverage.complete,\n },\n },\n };\n}\n\n/**\n * Maps item details and the authorized reading session.\n * @param server - The service response.\n * @returns The mapped social feed item response.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedItemResponse(\n server: MobileServerSocialFeedItemResponse,\n): MobileSocialFeedItemResponse {\n return {\n item: mapMobileSocialFeedItem(server.item),\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n };\n}\n\n/**\n * Maps item deltas, preserving omitted fields and explicit null clears.\n * @param server - The service response.\n * @returns The mapped feed item patch.\n */\nexport function mapMobileSocialFeedItemPatch(\n server: MobileServerSocialFeedItemPatch,\n): MobileSocialFeedItemPatch {\n return {\n itemId: server.item_id,\n version: server.version,\n ...(server.attached_position === undefined\n ? {}\n : {\n attachedPosition:\n server.attached_position === null\n ? null\n : mapMobileSocialFeedPositionCard(server.attached_position),\n }),\n ...(server.attachment_status === undefined\n ? {}\n : { attachmentStatus: server.attachment_status }),\n author: mapMobileSocialFeedAuthor(server.author),\n displayAtMs: server.display_at_ms,\n ...(server.interaction === undefined\n ? {}\n : { interaction: mapMobileSocialFeedInteraction(server.interaction) }),\n ...(server.trade_count === undefined\n ? {}\n : { tradeCount: server.trade_count }),\n ...(server.quantity_x18 === undefined\n ? {}\n : { quantity: toBigNumber(server.quantity_x18) }),\n ...(server.notional_x18 === undefined\n ? {}\n : {\n notional:\n server.notional_x18 === null\n ? null\n : toBigNumber(server.notional_x18),\n }),\n ...(server.average_price_x18 === undefined\n ? {}\n : {\n averagePrice: removeDecimals(server.average_price_x18),\n }),\n ...(server.entry_price_x18 === undefined\n ? {}\n : {\n entryPrice: removeDecimals(server.entry_price_x18),\n }),\n ...(server.liquidation_oracle_price_x18 === undefined\n ? {}\n : {\n liquidationOraclePrice: removeDecimals(\n server.liquidation_oracle_price_x18,\n ),\n }),\n ...(server.liquidation_execution_price_x18 === undefined\n ? {}\n : {\n liquidationExecutionPrice: removeDecimals(\n server.liquidation_execution_price_x18,\n ),\n }),\n ...(server.realized_pnl_delta_x18 === undefined\n ? {}\n : {\n realizedPnlDelta:\n server.realized_pnl_delta_x18 === null\n ? null\n : toBigNumber(server.realized_pnl_delta_x18),\n }),\n ...(server.leverage === undefined ? {} : { leverage: server.leverage }),\n ...(server.leverage_at_ms === undefined\n ? {}\n : { leverageAtMs: server.leverage_at_ms }),\n };\n}\n\n/**\n * Maps viewport changes while preserving the sequence and update baseline.\n * @param server - The service response.\n * @returns The mapped feed updates.\n */\nexport function mapMobileSocialFeedUpdates(\n server: MobileServerSocialFeedUpdatesResponse,\n): MobileSocialFeedUpdates {\n return {\n itemPatches: server.item_patches.map(mapMobileSocialFeedItemPatch),\n positionPatches: server.position_patches.map(\n mapMobileSocialFeedPositionPatch,\n ),\n unavailableTargets: server.unavailable_targets,\n newItemsCount: server.new_items_count,\n updateCursor: server.update_cursor,\n reset: server.reset,\n viewportRevision: server.viewport_revision,\n requestSeq: server.request_seq,\n };\n}\n\n/**\n * Maps common list parameters to the public query wire format without inserting defaults.\n * @param params - Client filters and session pagination.\n * @returns Wire fields; undefined options are omitted when serialized to JSON.\n */\nexport function mapMobileSocialFeedListParamsToServer(\n params: MobileSocialFeedListParams,\n): MobileServerSocialFeedListParams {\n return {\n feed_types: params.feedTypes,\n minimum_notional: params.minimumNotional,\n limit: params.limit,\n session_id: params.sessionId,\n cursor: params.cursor,\n };\n}\n\n/**\n * Maps the public viewing account and browser credential without inferring an identity.\n * @param params - Public relationship perspective and optional session credential.\n * @returns Wire fields for a public feed read.\n */\nexport function mapMobileSocialFeedReadParamsToServer(\n params: MobileSocialFeedReadParams,\n): MobileServerSocialFeedReadParams {\n return {\n view_as:\n params.viewAs === undefined ? undefined : subaccountToHex(params.viewAs),\n viewer_token: params.viewerToken,\n };\n}\n\n/**\n * Maps a mention for signing without changing the text or offsets.\n * @param params - Caller-provided mention and original text offsets.\n * @returns The wire-format mention, preserving the original label and code-point offsets.\n * @throws {Error} If the owner is not a 20-byte address or the subaccount name cannot be encoded in 12 bytes.\n */\nexport function mapMobileSocialFeedMentionToServer(\n params: MobileSocialFeedMentionParams,\n): MobileSocialFeedMention {\n return {\n subaccount: subaccountToHex(params.subaccount),\n start: params.start,\n end: params.end,\n label: params.label,\n };\n}\n\n/**\n * Preserves parsed drawing data, including false and zero.\n * @param server - Service payload with its original wire fields.\n * @returns The original parsed drawing data and its creation/update timestamps in milliseconds.\n */\nexport function mapMobileSocialFeedDrawing(\n server: MobileServerSocialFeedDrawing,\n): MobileSocialFeedDrawing {\n return {\n data: server.data,\n createdAtMs: server.created_at_ms,\n updatedAtMs: server.updated_at_ms,\n };\n}\n\n/**\n * Maps a nonrecursive root preview, retaining nullable position visibility.\n * @param server - Service payload with its original wire fields.\n * @returns A nonrecursive preview with a nullable position and notional retained as an x18 BigNumber.\n */\nexport function mapMobileSocialFeedCompactCard(\n server: MobileServerSocialFeedCompactCard,\n): MobileSocialFeedCompactCard {\n return {\n id: server.id,\n author: mapMobileSocialFeedAuthor(server.author),\n textExcerpt: server.text_excerpt,\n position:\n server.position === null\n ? null\n : {\n positionId: server.position.position_id,\n market: mapMobileSocialFeedMarket(server.position.market),\n direction: server.position.direction,\n state: server.position.state,\n notional: toBigNumber(server.position.notional_x18),\n },\n hasAnalysis: server.has_analysis,\n };\n}\n\n/**\n * Maps an authored post and its readable comments and drawing.\n * @param server - Service payload with its original wire fields.\n * @returns A post with its unchanged text and mentions, mapped position, drawing, interactions, and reply preview.\n */\nexport function mapMobileSocialFeedPost(\n server: MobileServerSocialFeedPost,\n): MobileSocialFeedPost {\n return {\n ...mapMobileSocialFeedContentBase(server),\n kind: server.kind,\n };\n}\n\n/**\n * Maps reply visibility without treating an unavailable attachment as an absent one.\n * @param server - Service payload with its original wire fields.\n * @returns A reply preserving omitted reply targets, nullable attachments, and the separate attachment visibility status.\n */\nexport function mapMobileSocialFeedReply(\n server: MobileServerSocialFeedReply,\n): MobileSocialFeedReply {\n return {\n ...mapMobileSocialFeedItemBase(server),\n kind: server.kind,\n text: server.text,\n mentions: server.mentions,\n rootItemId: server.root_item_id,\n ...(server.reply_to_item_id === undefined\n ? {}\n : { replyToItemId: server.reply_to_item_id }),\n replyToAuthor:\n server.reply_to_author === null\n ? null\n : mapMobileSocialFeedAuthor(server.reply_to_author),\n attachedPosition:\n server.attached_position === null\n ? null\n : mapMobileSocialFeedPositionCard(server.attached_position),\n attachmentStatus: server.attachment_status,\n original: mapMobileSocialFeedCompactCard(server.original),\n interaction: mapMobileSocialFeedInteraction(server.interaction),\n };\n}\n\n/**\n * Maps current eligibility hints without implying caller ownership.\n * @param server - Service payload with its original wire fields.\n * @returns A position with current publication, attachment, and drawing eligibility hints and an unavailable reason.\n */\nexport function mapMobileSocialFeedPublishablePosition(\n server: MobileServerSocialFeedPublishablePosition,\n): MobileSocialFeedPublishablePosition {\n return {\n position: mapMobileSocialFeedPositionCard(server.position),\n canPublish: server.can_publish,\n canAttachToComment: server.can_attach_to_comment,\n canDrawAnalysis: server.can_draw_analysis,\n unavailableReason: server.unavailable_reason,\n };\n}\n\n/**\n * Maps all order action identifiers and eligibility hints.\n * @param server - Service payload with its original wire fields.\n * @returns Trusted action and position identifiers, action kind, publication eligibility, and an unavailable reason.\n */\nexport function mapMobileSocialFeedActionCandidate(\n server: MobileServerSocialFeedActionCandidate,\n): MobileSocialFeedActionCandidate {\n return {\n actionId: server.action_id,\n positionId: server.position_id,\n action: server.action,\n canPublish: server.can_publish,\n unavailableReason: server.unavailable_reason,\n };\n}\n\n/**\n * Maps history risk prices to decimals while retaining funding amounts in x18 units.\n * @param server - Service payload with its original wire fields.\n * @returns Nullable decimal liquidation price and x18 funding PnL, with their independent quality and observation metadata.\n */\nexport function mapMobileSocialFeedHistoryMetrics(\n server: MobileServerSocialFeedHistoryMetrics,\n): MobileSocialFeedHistoryMetrics {\n return {\n estimatedLiquidationPrice: removeDecimals(\n server.estimated_liquidation_price_x18,\n ),\n liquidationPriceQuality: server.liquidation_price_quality,\n liquidationPriceAsOfMs: server.liquidation_price_as_of_ms,\n fundingPnl:\n server.funding_pnl_x18 === null\n ? null\n : toBigNumber(server.funding_pnl_x18),\n fundingQuality: server.funding_quality,\n fundingAsOfMs: server.funding_as_of_ms,\n };\n}\n\n/**\n * Maps action prices independently; all amounts and quantities retain x18 units.\n * @param server - Service payload with its original wire fields.\n * @returns An action with decimal prices, x18 quantities/amounts, and independently nullable financial facts.\n */\nexport function mapMobileSocialFeedPositionAction(\n server: MobileServerSocialFeedPositionAction,\n): MobileSocialFeedPositionAction {\n return {\n id: server.id,\n positionId: server.position_id,\n action: server.action,\n direction: server.direction,\n marginMode: server.margin_mode,\n quantityBefore: toBigNumber(server.quantity_before_x18),\n quantityAfter: toBigNumber(server.quantity_after_x18),\n executedQuantity: toBigNumber(server.executed_quantity_x18),\n executedNotional:\n server.executed_notional_x18 === null\n ? null\n : toBigNumber(server.executed_notional_x18),\n averagePrice: removeDecimals(server.average_price_x18),\n entryPriceBefore: removeDecimals(server.entry_price_before_x18),\n liquidationOraclePrice: removeDecimals(server.liquidation_oracle_price_x18),\n liquidationNotional:\n server.liquidation_notional_x18 === null\n ? null\n : toBigNumber(server.liquidation_notional_x18),\n realizedPnlDelta:\n server.realized_pnl_delta_x18 === null\n ? null\n : toBigNumber(server.realized_pnl_delta_x18),\n leverage: server.leverage,\n leverageAtMs: server.leverage_at_ms,\n firstEventAtMs: server.first_event_at_ms,\n lastEventAtMs: server.last_event_at_ms,\n version: server.version,\n };\n}\n\n/**\n * Maps a trusted target without treating the viewing account as authenticated.\n * @param server - Service payload with its original wire fields.\n * @returns A trading target retaining distinct identity/trading subaccounts, margin mode, and observation time.\n */\nexport function mapMobileSocialFeedTradingTarget(\n server: MobileServerSocialFeedTradingTarget,\n): MobileSocialFeedTradingTarget {\n return {\n positionId: server.position_id,\n identitySubaccount: server.identity_subaccount,\n tradingSubaccount: server.trading_subaccount,\n productId: server.product_id,\n marginMode: server.margin_mode,\n isoSubaccountName: server.iso_subaccount_name,\n direction: server.direction,\n stateAsOfMs: server.state_as_of_ms,\n };\n}\n\n/**\n * Maps viewing-account trading hints.\n * @param server - Service payload with its original wire fields.\n * @returns Trading hints with ordered target candidates, nullable viewer position, and the current reduction hint.\n */\nexport function mapMobileSocialFeedTradingContext(\n server: MobileServerSocialFeedTradingContext,\n): MobileSocialFeedTradingContext {\n return {\n productId: server.product_id,\n suggestedDirection: server.suggested_direction,\n resolution: server.resolution,\n candidates: server.candidates.map(mapMobileSocialFeedTradingTarget),\n viewerPositionId: server.viewer_position_id,\n canReduce: server.can_reduce,\n };\n}\n\n/**\n * Converts OHLC prices to decimals but preserves base-asset volume in x18.\n * @param server - Service payload with its original wire fields.\n * @returns A candle with decimal OHLC BigNumbers, base-asset volume retained in x18, and its timestamp in milliseconds.\n */\nexport function mapMobileSocialFeedCandle(\n server: MobileServerSocialFeedCandle,\n): MobileSocialFeedCandle {\n return {\n timestampMs: server.timestamp_ms,\n open: removeDecimals(server.open_x18),\n high: removeDecimals(server.high_x18),\n low: removeDecimals(server.low_x18),\n close: removeDecimals(server.close_x18),\n volume: toBigNumber(server.volume_x18),\n };\n}\n\n/**\n * Maps markers without replacing unknown Oracle prices with execution prices.\n * @param server - Service payload with its original wire fields.\n * @returns An action marker with its original price basis and a nullable decimal price, without substituting another source.\n */\nexport function mapMobileSocialFeedActionMarker(\n server: MobileServerSocialFeedActionMarker,\n): MobileSocialFeedActionMarker {\n return {\n actionId: server.action_id,\n timestampMs: server.timestamp_ms,\n price: removeDecimals(server.price_x18),\n action: server.action,\n direction: server.direction,\n priceBasis: server.price_basis,\n };\n}\n\n/**\n * Maps selected-account open positions.\n * @param server - Service payload with its original wire fields.\n * @returns Mapped position candidates with the original nullable cursor and observation time.\n */\nexport function mapMobileSocialFeedPositionsPage(\n server: MobileServerSocialFeedPositionsResponse,\n): MobileSocialFeedPositionsPage {\n return {\n positions: server.positions.map(mapMobileSocialFeedPublishablePosition),\n nextCursor: server.next_cursor,\n asOfMs: server.as_of_ms,\n };\n}\n\n/**\n * Maps normal empty and ambiguous command results.\n * @param server - Service payload with its original wire fields.\n * @returns The command resolution, nullable market, position candidates, and original reason for an empty result.\n */\nexport function mapMobileSocialFeedPositionResolutionResult(\n server: MobileServerSocialFeedPositionResolutionResponse,\n): MobileSocialFeedPositionResolutionResult {\n return {\n resolution: server.resolution,\n product:\n server.product === null\n ? null\n : mapMobileSocialFeedMarket(server.product),\n candidates: server.candidates.map(mapMobileSocialFeedPublishablePosition),\n reason: server.reason,\n };\n}\n\n/**\n * Preserves pending order projection without inventing action candidates.\n * @param server - Service payload with its original wire fields.\n * @returns The original order digest, ready/pending state, mapped actions, and observation time.\n */\nexport function mapMobileSocialFeedActionResolutionResult(\n server: MobileServerSocialFeedActionResolutionResponse,\n): MobileSocialFeedActionResolutionResult {\n return {\n orderDigest: server.order_digest,\n resolution: server.resolution,\n actions: server.actions.map(mapMobileSocialFeedActionCandidate),\n asOfMs: server.as_of_ms,\n };\n}\n\n/**\n * Distinguishes no drawing from falsy drawing data.\n * @param server - Service payload with its original wire fields.\n * @returns The parent item ID/version and a nullable drawing, retaining false or zero drawing data.\n */\nexport function mapMobileSocialFeedDrawingResult(\n server: MobileServerSocialFeedDrawingResponse,\n): MobileSocialFeedDrawingResult {\n return {\n itemId: server.item_id,\n itemVersion: server.item_version,\n drawing:\n server.drawing === null\n ? null\n : mapMobileSocialFeedDrawing(server.drawing),\n };\n}\n\n/**\n * Maps a saved drawing after creation or replacement.\n * @param server - Successful drawing mutation response.\n * @returns The parent item ID/version and non-null saved drawing.\n */\nexport function mapMobileSocialFeedDrawingMutationResult(\n server: MobileServerSocialFeedDrawingMutationResponse,\n): MobileSocialFeedDrawingMutationResult {\n return {\n itemId: server.item_id,\n itemVersion: server.item_version,\n drawing: mapMobileSocialFeedDrawing(server.drawing),\n };\n}\n\n/**\n * Maps bidirectional comments and the actual returned session.\n * @param server - Service payload with its original wire fields.\n * @returns Mapped replies, total count, bidirectional cursors, nullable anchor, and the actual reading session.\n */\nexport function mapMobileSocialFeedCommentsPage(\n server: MobileServerSocialFeedCommentsResponse,\n): MobileSocialFeedCommentsPage {\n return {\n comments: server.comments.map(mapMobileSocialFeedReply),\n totalCount: server.total_count,\n nextCursor: server.next_cursor,\n previousCursor: server.previous_cursor,\n anchorReplyId: server.anchor_reply_id,\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n };\n}\n\n/**\n * Maps atomic reply publication without inventing a reading session.\n * @param server - Service payload with its original wire fields.\n * @returns The created reply and authoritative root comment count, without a fabricated reading session.\n */\nexport function mapMobileSocialFeedCommentResult(\n server: MobileServerSocialFeedCommentResponse,\n): MobileSocialFeedCommentResult {\n return {\n comment: mapMobileSocialFeedReply(server.comment),\n rootCommentCount: server.root_comment_count,\n };\n}\n\n/**\n * Maps authoritative like state and count.\n * @param server - Service payload with its original wire fields.\n * @returns The applied like state, authoritative count, and item ID/version after the mutation.\n */\nexport function mapMobileSocialFeedLikeResult(\n server: MobileServerSocialFeedLikeResponse,\n): MobileSocialFeedLikeResult {\n return {\n itemId: server.item_id,\n isLiked: server.is_liked,\n likeCount: server.like_count,\n version: server.version,\n };\n}\n\n/**\n * Maps exposure deduplication results without adding timestamps.\n * @param server - Service payload with its original wire fields.\n * @returns Newly accepted and duplicate item ID lists without inventing an observation timestamp.\n */\nexport function mapMobileSocialFeedViewsResult(\n server: MobileServerSocialFeedViewsResponse,\n): MobileSocialFeedViewsResult {\n return {\n acceptedItemIds: server.accepted_item_ids,\n duplicateItemIds: server.duplicate_item_ids,\n };\n}\n\n/**\n * Maps a published history take without treating unknown kinds as posts.\n * @param server - The published service item.\n * @returns The mapped post or trade card.\n * @throws {MobileUnsupportedFeedItemError} If the service returns an unsupported take kind.\n */\nexport function mapMobileSocialFeedHistoryTake(\n server: MobileServerSocialFeedHistoryTake,\n): MobileSocialFeedHistoryTake {\n const kind = server.kind;\n switch (kind) {\n case 'trade_card':\n return mapMobileSocialFeedTradeCard(server);\n case 'post':\n return mapMobileSocialFeedPost(server);\n default:\n throw new MobileUnsupportedFeedItemError(kind satisfies never);\n }\n}\n\n/**\n * Maps a historical action or published take while preserving its discriminant.\n * @param server - The service timeline entry.\n * @returns The mapped action or take entry.\n * @throws {MobileUnsupportedFeedItemError} If the service returns an unsupported entry or take kind.\n */\nexport function mapMobileSocialFeedTimelineEntry(\n server: MobileServerSocialFeedTimelineEntry,\n): MobileSocialFeedTimelineEntry {\n const kind = server.kind;\n switch (kind) {\n case 'action':\n return {\n kind,\n action: mapMobileSocialFeedPositionAction(server.action),\n relatedItemId: server.related_item_id,\n relatedTake:\n server.related_take === null\n ? null\n : mapMobileSocialFeedTradeCard(server.related_take),\n };\n case 'take':\n return {\n kind,\n item: mapMobileSocialFeedHistoryTake(server.item),\n };\n default:\n throw new MobileUnsupportedFeedItemError(kind satisfies never);\n }\n}\n\n/**\n * Maps full history, preserving action/take order, association, and null facts.\n * @param server - Service payload with its original wire fields.\n * @returns Position metrics, ordered action/take timeline, summary, cursor, quality, reading session, and trading hints.\n * @throws {MobileUnsupportedFeedItemError} If a timeline entry or take has an unsupported kind.\n */\nexport function mapMobileSocialFeedPositionHistory(\n server: MobileServerSocialFeedPositionHistoryResponse,\n): MobileSocialFeedPositionHistory {\n return {\n position: {\n ...mapMobileSocialFeedPositionCard(server.position),\n ...mapMobileSocialFeedHistoryMetrics(server.position),\n },\n summary: {\n actionCount: server.summary.action_count,\n takeCount: server.summary.take_count,\n },\n timeline: server.timeline.map(mapMobileSocialFeedTimelineEntry),\n nextCursor: server.next_cursor,\n historyQuality: server.history_quality,\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n tradingContext: mapMobileSocialFeedTradingContext(server.trading_context),\n };\n}\n\n/**\n * Maps candles and independent price sources, preserving explicit nulls.\n * @param server - Service payload with its original wire fields.\n * @returns Decimal-price candles and markers with x18 volume, a nullable liquidation line, and paging/quality metadata.\n */\nexport function mapMobileSocialFeedPositionChart(\n server: MobileServerSocialFeedPositionChartResponse,\n): MobileSocialFeedPositionChart {\n return {\n candles: server.candles.map(mapMobileSocialFeedCandle),\n actionMarkers: server.action_markers.map(mapMobileSocialFeedActionMarker),\n estimatedLiquidationLine:\n server.estimated_liquidation_line === null\n ? null\n : {\n price: removeDecimals(server.estimated_liquidation_line.price_x18),\n asOfMs: server.estimated_liquidation_line.as_of_ms,\n },\n nextBeforeMs: server.next_before_ms,\n asOfMs: server.as_of_ms,\n dataQuality: server.data_quality,\n };\n}\n\n/**\n * Maps watcher observations; account previews are self-reported, not authenticated.\n * @param server - Service payload with its original wire fields.\n * @returns The visitor count, self-reported public account previews, and observation time.\n */\nexport function mapMobileSocialFeedWatchers(\n server: MobileServerSocialFeedWatchersResponse,\n): MobileSocialFeedWatchers {\n return {\n watcherCount: server.watcher_count,\n watcherPreview: server.watcher_preview.map(mapMobileSocialFeedAuthor),\n asOfMs: server.as_of_ms,\n };\n}\n\n/**\n * Maps a page lease without inventing an observation timestamp.\n * @param server - Service payload with its original wire fields.\n * @returns Visitor count and public previews with heartbeat/lease durations in seconds, without an observation timestamp.\n */\nexport function mapMobileSocialFeedPresence(\n server: MobileServerSocialFeedPresenceResponse,\n): MobileSocialFeedPresence {\n return {\n watcherCount: server.watcher_count,\n watcherPreview: server.watcher_preview.map(mapMobileSocialFeedAuthor),\n heartbeatIntervalSeconds: server.heartbeat_interval_seconds,\n expiresInSeconds: server.expires_in_seconds,\n };\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"dataMappers.cjs","names":["MobileUnsupportedNotificationRouteError","MobileUnsupportedFeedItemError"],"sources":["../src/dataMappers.ts"],"sourcesContent":["import { removeDecimals, subaccountToHex, toBigNumber } from '@nadohq/shared';\nimport {\n GetMobileFollowListParams,\n MobileAvatarPreset,\n MobileAvatarSelection,\n MobileAvatarUpload,\n MobileFeedPage,\n MobileFeedTrade,\n MobileFollowBatchResultItem,\n MobileFollowListPage,\n MobileFollowMutationResult,\n MobileFollowSummary,\n MobileIdentitySummary,\n MobileNotificationCapabilities,\n MobileNotificationInboxV2,\n MobileNotificationPayloadV2,\n MobileNotificationPreferenceScope,\n MobileNotificationPreferences,\n MobileNotificationRegistrationV2,\n MobileNotificationRoute,\n MobileNotificationSettings,\n MobileNotificationSettingsV2,\n MobileNotificationSubscriptions,\n MobileNotificationSubscriptionsUpdate,\n MobileProductEvent,\n MobileProfileSearchPage,\n MobileProfilesInclude,\n MobilePublicProfile,\n MobileRegisteredWallet,\n MobileSocialFeedActionCandidate,\n MobileSocialFeedActionMarker,\n MobileSocialFeedActionResolutionResult,\n MobileSocialFeedAuthor,\n MobileSocialFeedCandle,\n MobileSocialFeedCommentGroup,\n MobileSocialFeedCommentResult,\n MobileSocialFeedCommentsPage,\n MobileSocialFeedCompactCard,\n MobileSocialFeedContentBase,\n MobileSocialFeedDrawing,\n MobileSocialFeedDrawingMutationResult,\n MobileSocialFeedDrawingResult,\n MobileSocialFeedHistoryMetrics,\n MobileSocialFeedHistoryTake,\n MobileSocialFeedImage,\n MobileSocialFeedInteraction,\n MobileSocialFeedItem,\n MobileSocialFeedItemBase,\n MobileSocialFeedItemPatch,\n MobileSocialFeedItemResponse,\n MobileSocialFeedLikeResult,\n MobileSocialFeedListParams,\n MobileSocialFeedMarket,\n MobileSocialFeedMentionParams,\n MobileSocialFeedPage,\n MobileSocialFeedPnl,\n MobileSocialFeedPositionAction,\n MobileSocialFeedPositionCard,\n MobileSocialFeedPositionChart,\n MobileSocialFeedPositionHistory,\n MobileSocialFeedPositionPatch,\n MobileSocialFeedPositionResolutionResult,\n MobileSocialFeedPositionThought,\n MobileSocialFeedPositionThoughtsPage,\n MobileSocialFeedPositionsPage,\n MobileSocialFeedPost,\n MobileSocialFeedPresence,\n MobileSocialFeedPublishablePosition,\n MobileSocialFeedRankedPage,\n MobileSocialFeedReadParams,\n MobileSocialFeedReadSession,\n MobileSocialFeedReply,\n MobileSocialFeedTimelineEntry,\n MobileSocialFeedTopTradersPage,\n MobileSocialFeedTradeCard,\n MobileSocialFeedTradeRow,\n MobileSocialFeedTradeRowBase,\n MobileSocialFeedTraderBadge,\n MobileSocialFeedTradingContext,\n MobileSocialFeedTradingTarget,\n MobileSocialFeedUpdates,\n MobileSocialFeedUploadedImage,\n MobileSocialFeedWatchers,\n SearchMobileProfilesParams,\n} from './types/clientTypes';\nimport { MobileUnsupportedFeedItemError } from './types/MobileUnsupportedFeedItemError';\nimport { MobileUnsupportedNotificationRouteError } from './types/MobileUnsupportedNotificationRouteError';\nimport {\n MobileServerAvatarUploadResponse,\n MobileServerFollowBatchResponse,\n MobileServerFollowMutationResponse,\n MobileServerSocialFeedCommentResponse,\n MobileServerSocialFeedDrawingMutationResponse,\n MobileServerSocialFeedLikeResponse,\n MobileServerSocialFeedPresenceResponse,\n} from './types/serverExecuteTypes';\nimport {\n MobileServerAvatarPreset,\n MobileServerAvatarSelection,\n MobileServerFeedTrade,\n MobileServerFollowSummary,\n MobileServerIdentitySummary,\n MobileServerNotificationPayloadV2,\n MobileServerNotificationPreferenceScope,\n MobileServerNotificationPreferences,\n MobileServerNotificationRoute,\n MobileServerNotificationSettings,\n MobileServerProductEvent,\n MobileServerProfile,\n MobileServerSocialFeedActionCandidate,\n MobileServerSocialFeedActionMarker,\n MobileServerSocialFeedAuthor,\n MobileServerSocialFeedCandle,\n MobileServerSocialFeedCommentGroup,\n MobileServerSocialFeedCompactCard,\n MobileServerSocialFeedContentBase,\n MobileServerSocialFeedDrawing,\n MobileServerSocialFeedHistoryMetrics,\n MobileServerSocialFeedHistoryTake,\n MobileServerSocialFeedImage,\n MobileServerSocialFeedInteraction,\n MobileServerSocialFeedItem,\n MobileServerSocialFeedItemBase,\n MobileServerSocialFeedItemPatch,\n MobileServerSocialFeedMarket,\n MobileServerSocialFeedPnl,\n MobileServerSocialFeedPositionAction,\n MobileServerSocialFeedPositionCard,\n MobileServerSocialFeedPositionPatch,\n MobileServerSocialFeedPost,\n MobileServerSocialFeedPublishablePosition,\n MobileServerSocialFeedReadSession,\n MobileServerSocialFeedReply,\n MobileServerSocialFeedTimelineEntry,\n MobileServerSocialFeedTradeCard,\n MobileServerSocialFeedTradeRow,\n MobileServerSocialFeedTradeRowBase,\n MobileServerSocialFeedTraderBadge,\n MobileServerSocialFeedTradingContext,\n MobileServerSocialFeedTradingTarget,\n MobileServerSocialFeedUploadedImage,\n MobileSocialFeedMention,\n} from './types/serverModelTypes';\nimport {\n MobileServerFeedResponse,\n MobileServerFollowListResponse,\n MobileServerNotificationInboxV2Response,\n MobileServerNotificationRegistrationV2Response,\n MobileServerNotificationSettingsV2Response,\n MobileServerNotificationSubscriptionsResponse,\n MobileServerRegisteredWalletResponse,\n MobileServerSearchProfilesResponse,\n MobileServerSocialFeedActionResolutionResponse,\n MobileServerSocialFeedCommentsResponse,\n MobileServerSocialFeedDrawingResponse,\n MobileServerSocialFeedItemResponse,\n MobileServerSocialFeedPositionChartResponse,\n MobileServerSocialFeedPositionHistoryResponse,\n MobileServerSocialFeedPositionResolutionResponse,\n MobileServerSocialFeedPositionThought,\n MobileServerSocialFeedPositionThoughtsResponse,\n MobileServerSocialFeedPositionsResponse,\n MobileServerSocialFeedRankedResponse,\n MobileServerSocialFeedResponse,\n MobileServerSocialFeedTopTradersResponse,\n MobileServerSocialFeedUpdatesResponse,\n MobileServerSocialFeedWatchersResponse,\n} from './types/serverQueryTypes';\nimport {\n MobileServerFollowListRequest,\n MobileServerNotificationSubscriptionsUpdate,\n MobileServerProfilesInclude,\n MobileServerRegisterExpoTokenV2Params,\n MobileServerSearchProfilesRequest,\n MobileServerSocialFeedListParams,\n MobileServerSocialFeedReadParams,\n} from './types/serverRequestTypes';\n\n/**\n * Maps a server-side avatar preset to its client-side representation.\n */\nexport function mapMobileAvatarPreset(\n server: MobileServerAvatarPreset,\n): MobileAvatarPreset {\n return { id: server.id, avatarUrl: server.avatar_url };\n}\n\n/**\n * Maps an upload grant, preserving the signed PUT headers and server-provided lifetime.\n */\nexport function mapMobileAvatarUpload(\n server: MobileServerAvatarUploadResponse,\n): MobileAvatarUpload {\n return {\n uploadKey: server.upload_key,\n uploadUrl: server.upload_url,\n headers: server.headers,\n expiresInSeconds: server.expires_in_seconds,\n };\n}\n\n/** Maps a saved notification registration to the client model without the response envelope.\n * @param server - Registration payload.\n * @returns Saved generation and capabilities.\n */\nexport function mapMobileNotificationRegistrationV2(\n server: MobileServerNotificationRegistrationV2Response,\n): MobileNotificationRegistrationV2 {\n return {\n registrationGeneration: server.registration_generation,\n capabilities: {\n payloadVersions: server.capabilities.payload_versions,\n typeIds: server.capabilities.type_ids,\n routes: server.capabilities.routes,\n },\n };\n}\n\n/** Maps a v2 capability declaration to the registration wire format.\n * @param capabilities - Device-supported features.\n * @returns V2-only registration capabilities.\n */\nexport function mapMobileNotificationCapabilitiesToServer(\n capabilities: MobileNotificationCapabilities,\n): MobileServerRegisterExpoTokenV2Params['capabilities'] {\n return {\n payload_versions: capabilities.payloadVersions,\n type_ids: capabilities.typeIds,\n routes: capabilities.routes,\n };\n}\n\n/** Maps complete notification settings to the client model.\n * @param server - Saved settings.\n * @returns CamelCase settings.\n */\nexport function mapMobileNotificationSettings(\n server: MobileServerNotificationSettings,\n): MobileNotificationSettings {\n return {\n myPositions: server.my_positions,\n positionThresholds: server.position_thresholds,\n myOrders: server.my_orders,\n followingTrades: server.following_trades,\n followingPosts: server.following_posts,\n minTradeSizeUsd: server.min_trade_size_usd,\n newFollowers: server.new_followers,\n announcements: server.announcements,\n discovery: server.discovery,\n };\n}\n\n/** Maps a complete replacement settings document to wire format.\n * @param settings - Complete client settings.\n * @returns Settings accepted by the service.\n */\nexport function mapMobileNotificationSettingsToServer(\n settings: MobileNotificationSettings,\n): MobileServerNotificationSettings {\n return {\n my_positions: settings.myPositions,\n position_thresholds: settings.positionThresholds,\n my_orders: settings.myOrders,\n following_trades: settings.followingTrades,\n following_posts: settings.followingPosts,\n min_trade_size_usd: settings.minTradeSizeUsd,\n new_followers: settings.newFollowers,\n announcements: settings.announcements,\n discovery: settings.discovery,\n };\n}\n\n/** Maps a revisioned settings response without the response envelope.\n * @param server - Versioned settings payload.\n * @returns Client settings and their revision.\n */\nexport function mapMobileNotificationSettingsV2(\n server: MobileServerNotificationSettingsV2Response,\n): MobileNotificationSettingsV2 {\n return {\n schemaVersion: server.schema_version,\n revision: server.revision,\n settings: mapMobileNotificationSettings(server.settings),\n };\n}\n\n/** Maps wallet market subscriptions and Identity bells.\n * @param server - Subscription payload.\n * @returns Client subscription state without the response envelope.\n */\nexport function mapMobileNotificationSubscriptions(\n server: MobileServerNotificationSubscriptionsResponse,\n): MobileNotificationSubscriptions {\n return {\n revision: server.revision,\n favoritesImported: server.favorites_imported,\n marketIds: server.market_ids,\n traderBells: server.trader_bells,\n };\n}\n\n/** Maps one subscription operation, explicitly nulling unused wire operations.\n * @param update - Exactly one revision-guarded operation.\n * @returns The complete signed inner operation fields.\n */\nexport function mapMobileNotificationSubscriptionsUpdateToServer(\n update: MobileNotificationSubscriptionsUpdate,\n): MobileServerNotificationSubscriptionsUpdate {\n return {\n expected_revision: update.expectedRevision,\n trader_bell:\n update.traderBell == null\n ? null\n : {\n subaccount: subaccountToHex(update.traderBell.subaccount),\n enabled: update.traderBell.enabled,\n },\n market:\n update.market == null\n ? null\n : {\n product_id: update.market.productId,\n subscribed: update.market.subscribed,\n },\n import_markets: update.importMarkets ?? null,\n };\n}\n\n/** Maps an allowlisted notification destination.\n * @param server - Named backend destination.\n * @returns Client navigation data, never an arbitrary URL.\n * @throws {MobileUnsupportedNotificationRouteError} If the service returns an unsupported route name.\n */\nexport function mapMobileNotificationRoute(\n server: MobileServerNotificationRoute,\n): MobileNotificationRoute {\n const name = server.name;\n switch (name) {\n case 'market':\n return { name: server.name, productId: server.product_id };\n case 'profile':\n return { name: server.name, subaccount: server.subaccount };\n case 'portfolio':\n return { name: server.name };\n default:\n throw new MobileUnsupportedNotificationRouteError(name satisfies never);\n }\n}\n\n/** Maps v2 push or inbox navigation data.\n * @param server - Wire-format notification payload.\n * @returns Client notification data.\n * @throws {MobileUnsupportedNotificationRouteError} If the service returns an unsupported route name.\n */\nexport function mapMobileNotificationPayloadV2(\n server: MobileServerNotificationPayloadV2,\n): MobileNotificationPayloadV2 {\n return {\n payloadVersion: server.payload_version,\n notificationId: server.notification_id,\n recipientWallet: server.recipient_wallet,\n typeId: server.type_id,\n templateVersion: server.template_version,\n route: mapMobileNotificationRoute(server.route),\n };\n}\n\n/** Maps a private notification page without the response envelope.\n * @param server - Newest-first inbox payload.\n * @returns Client items, attribution flags, and the next cursor.\n * @throws {MobileUnsupportedNotificationRouteError} If a notification has an unsupported route name.\n */\nexport function mapMobileNotificationInboxV2(\n server: MobileServerNotificationInboxV2Response,\n): MobileNotificationInboxV2 {\n return {\n notifications: server.notifications.map((item) => ({\n notificationId: item.notification_id,\n typeId: item.type_id,\n data: mapMobileNotificationPayloadV2(item.data),\n createdAt: item.created_at,\n tradeWithin24h: item.trade_within_24h,\n })),\n nextCursor: server.next_cursor,\n };\n}\n\n/** Maps a typed analytics interaction, nulling unused wire fields.\n * @param event - Event-specific client data.\n * @returns Complete signed wire event.\n */\nexport function mapMobileProductEventToServer(\n event: MobileProductEvent,\n): MobileServerProductEvent {\n return {\n client_event_id: event.clientEventId,\n event_name: event.eventName,\n notification_id: event.notificationId ?? null,\n occurred_at: event.occurredAt,\n product_id: event.productId ?? null,\n query: event.query ?? null,\n };\n}\n\n/**\n * Maps a client-side avatar selection to the signed wire payload; null clears the saved avatar.\n */\nexport function mapMobileAvatarSelectionToServer(\n avatar: MobileAvatarSelection | null,\n): MobileServerAvatarSelection | null {\n if (avatar === null) {\n return null;\n }\n if (avatar.type === 'preset') {\n return { type: 'preset', id: avatar.id };\n }\n return { type: 'upload', upload_key: avatar.uploadKey };\n}\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 ...mapMobileIdentitySummary(server),\n bio: server.bio,\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 profile search page (snake_case) to its client-side (camelCase) representation. Each\n * match goes through {@link mapMobilePublicProfile}, so include-gated fields stay `undefined` when omitted.\n */\nexport function mapMobileProfileSearchPage(\n server: MobileServerSearchProfilesResponse,\n): MobileProfileSearchPage {\n return {\n profiles: server.profiles.map(mapMobilePublicProfile),\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 a server-side batch follow or unfollow response to its client-side representation.\n */\nexport function mapMobileFollowBatchResult(\n server: MobileServerFollowBatchResponse,\n): MobileFollowBatchResultItem[] {\n return server.results.map((result) => ({\n subaccount: result.subaccount,\n isFollowing: result.is_following,\n followerCount: result.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 the client-side params of a profile search page to the server-side wire shape.\n */\nexport function mapMobileProfileSearchParamsToServer(\n params: SearchMobileProfilesParams,\n): MobileServerSearchProfilesRequest {\n return {\n query: params.query,\n include: params.include\n ? mapMobileProfilesIncludeToServer(params.include)\n : 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\n/**\n * Maps the official account PnL badge, retaining x18 amount units.\n * @param server - The service response.\n * @returns The mapped trader badge.\n */\nexport function mapMobileSocialFeedTraderBadge(\n server: MobileServerSocialFeedTraderBadge,\n): MobileSocialFeedTraderBadge {\n return {\n code: server.code,\n pnl: toBigNumber(server.pnl_x18),\n metricKey: server.metric_key,\n window: server.window,\n sourceAsOfMs: server.source_as_of_ms,\n fetchedAtMs: server.fetched_at_ms,\n snapshotId: server.snapshot_id,\n };\n}\n\n/**\n * Maps author identity, relationship state, and optional qualification badge.\n * @param server - The service response.\n * @returns The mapped feed author.\n */\nexport function mapMobileSocialFeedAuthor(\n server: MobileServerSocialFeedAuthor,\n): MobileSocialFeedAuthor {\n return {\n ...mapMobileIdentitySummary(server),\n isFollowing: server.is_following,\n traderBadge:\n server.trader_badge === null\n ? null\n : mapMobileSocialFeedTraderBadge(server.trader_badge),\n traderDataStatus: server.trader_data_status,\n };\n}\n\n/**\n * Maps social market metadata.\n * @param server - The service response.\n * @returns The mapped feed market.\n */\nexport function mapMobileSocialFeedMarket(\n server: MobileServerSocialFeedMarket,\n): MobileSocialFeedMarket {\n return {\n productId: server.product_id,\n symbol: server.symbol,\n logoUrl: server.logo_url,\n category: server.category,\n sourceCategories: server.source_categories,\n };\n}\n\n/**\n * Maps position PnL while retaining x18 amount units and availability.\n * @param server - The service response.\n * @returns The mapped feed pnl.\n */\nexport function mapMobileSocialFeedPnl(\n server: MobileServerSocialFeedPnl,\n): MobileSocialFeedPnl {\n return {\n amount: server.amount_x18 === null ? null : toBigNumber(server.amount_x18),\n basis: server.basis,\n mode: server.mode,\n asOfMs: server.as_of_ms,\n quality: server.quality,\n };\n}\n\n/**\n * Maps complete position facts, converting entry price to decimal units.\n * @param server - The service response.\n * @returns The mapped feed position patch.\n */\nexport function mapMobileSocialFeedPositionPatch(\n server: MobileServerSocialFeedPositionPatch,\n): MobileSocialFeedPositionPatch {\n return {\n positionId: server.position_id,\n positionVersion: server.position_version,\n stateAsOfMs: server.state_as_of_ms,\n entryPrice: removeDecimals(server.entry_price_x18),\n displayBasis: server.display_basis,\n snapshotAtMs: server.snapshot_at_ms,\n quantity: toBigNumber(server.quantity_x18),\n notional: toBigNumber(server.notional_x18),\n state: server.state,\n historyQuality: server.history_quality,\n marginMode: server.margin_mode,\n leverage: server.leverage,\n leverageAtMs: server.leverage_at_ms,\n pnl: mapMobileSocialFeedPnl(server.pnl),\n ...(server.current_position === undefined\n ? {}\n : {\n currentPosition: mapMobileSocialFeedHistoryMetrics(\n server.current_position,\n ),\n }),\n };\n}\n\n/**\n * Maps a position card with its current or frozen financial state.\n * @param server - The service response.\n * @returns The mapped feed position card.\n */\nexport function mapMobileSocialFeedPositionCard(\n server: MobileServerSocialFeedPositionCard,\n): MobileSocialFeedPositionCard {\n return {\n ...mapMobileSocialFeedPositionPatch(server),\n productId: server.product_id,\n market: mapMobileSocialFeedMarket(server.market),\n direction: server.direction,\n };\n}\n\n/**\n * Maps interaction counters without inventing unavailable relationship state.\n * @param server - The service response.\n * @returns The mapped feed interaction.\n */\nexport function mapMobileSocialFeedInteraction(\n server: MobileServerSocialFeedInteraction,\n): MobileSocialFeedInteraction {\n return {\n likeCount: server.like_count,\n commentCount: server.comment_count,\n viewCount: server.view_count,\n likedByMe: server.liked_by_me,\n };\n}\n\n/**\n * Maps uploaded image metadata; bytes remain behind a protected GET.\n * @param server - The service response.\n * @returns The mapped feed image.\n */\nexport function mapMobileSocialFeedUploadedImage(\n server: MobileServerSocialFeedUploadedImage,\n): MobileSocialFeedUploadedImage {\n return {\n imageId: server.image_id,\n url: server.url,\n width: server.width,\n height: server.height,\n contentType: server.content_type,\n byteSize: server.byte_size,\n thumbnail: {\n url: server.thumbnail.url,\n width: server.thumbnail.width,\n height: server.thumbnail.height,\n },\n };\n}\n\n/**\n * Maps either protected upload metadata or an external URL without inventing metadata.\n * @param server - The service response.\n * @returns The mapped uploaded image or external URL.\n */\nexport function mapMobileSocialFeedImage(\n server: MobileServerSocialFeedImage,\n): MobileSocialFeedImage {\n if ('image_id' in server) {\n return mapMobileSocialFeedUploadedImage(server);\n }\n return { url: server.url };\n}\n\n/**\n * Maps common item metadata and server capabilities.\n * @param server - The service response.\n * @returns The mapped social feed item base.\n */\nexport function mapMobileSocialFeedItemBase(\n server: MobileServerSocialFeedItemBase,\n): MobileSocialFeedItemBase {\n return {\n id: server.id,\n hasAnalysis: server.has_analysis,\n drawing:\n server.drawing === null\n ? null\n : mapMobileSocialFeedDrawing(server.drawing),\n author: mapMobileSocialFeedAuthor(server.author),\n createdAtMs: server.created_at_ms,\n displayAtMs: server.display_at_ms,\n version: server.version,\n market: mapMobileSocialFeedMarket(server.market),\n capabilities: {\n canLike: server.capabilities.can_like,\n canComment: server.capabilities.can_comment,\n canRecordView: server.capabilities.can_record_view,\n },\n };\n}\n\n/**\n * Maps the content, position, interaction, and comment preview shared by posts and trade cards.\n * @param server - The service response.\n * @returns The mapped shared content fields.\n */\nexport function mapMobileSocialFeedContentBase(\n server: MobileServerSocialFeedContentBase,\n): MobileSocialFeedContentBase {\n return {\n ...mapMobileSocialFeedItemBase(server),\n images: server.images.map(mapMobileSocialFeedImage),\n text: server.text,\n mentions: server.mentions,\n position: mapMobileSocialFeedPositionCard(server.position),\n interaction: mapMobileSocialFeedInteraction(server.interaction),\n commentPreview: {\n items: server.comment_preview.items.map(mapMobileSocialFeedReply),\n totalCount: server.comment_preview.total_count,\n nextCursor: server.comment_preview.next_cursor,\n },\n };\n}\n\n/**\n * Maps a trade card, authored content, and position and interaction metadata.\n * @param server - The service response.\n * @returns The mapped social trade card.\n */\nexport function mapMobileSocialFeedTradeCard(\n server: MobileServerSocialFeedTradeCard,\n): MobileSocialFeedTradeCard {\n return {\n ...mapMobileSocialFeedContentBase(server),\n kind: server.kind,\n action: server.action,\n };\n}\n\n/**\n * Maps historical trade facts with decimal execution prices and x18 quantities.\n * @param server - The service response.\n * @returns The mapped social trade row base.\n */\nexport function mapMobileSocialFeedTradeRowBase(\n server: MobileServerSocialFeedTradeRowBase,\n): MobileSocialFeedTradeRowBase {\n return {\n ...mapMobileSocialFeedItemBase(server),\n kind: server.kind,\n positionId: server.position_id,\n direction: server.direction,\n marginMode: server.margin_mode,\n leverage: server.leverage,\n leverageAtMs: server.leverage_at_ms,\n tradeCount: server.trade_count,\n quantity: toBigNumber(server.quantity_x18),\n averagePrice: removeDecimals(server.average_price_x18),\n };\n}\n\n/**\n * Maps size changes and independently nullable liquidation facts.\n * @param server - The service response.\n * @returns The mapped social trade row.\n */\nexport function mapMobileSocialFeedTradeRow(\n server: MobileServerSocialFeedTradeRow,\n): MobileSocialFeedTradeRow {\n const base = mapMobileSocialFeedTradeRowBase(server);\n if (server.action === 'liquidated') {\n return {\n ...base,\n action: server.action,\n notional:\n server.notional_x18 === null ? null : toBigNumber(server.notional_x18),\n entryPrice: removeDecimals(server.entry_price_x18),\n liquidationOraclePrice: removeDecimals(\n server.liquidation_oracle_price_x18,\n ),\n liquidationExecutionPrice: removeDecimals(\n server.liquidation_execution_price_x18,\n ),\n realizedPnlDelta:\n server.realized_pnl_delta_x18 === null\n ? null\n : toBigNumber(server.realized_pnl_delta_x18),\n };\n }\n return {\n ...base,\n action: server.action,\n notional: toBigNumber(server.notional_x18),\n };\n}\n\n/**\n * Maps the item variant without mixing card and row fields.\n * @param server - The service response.\n * @returns The mapped social feed item.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedItem(\n server: MobileServerSocialFeedItem,\n): MobileSocialFeedItem {\n const kind = server.kind;\n switch (kind) {\n case 'trade_card':\n return mapMobileSocialFeedTradeCard(server);\n case 'trade_row':\n return mapMobileSocialFeedTradeRow(server);\n case 'post':\n return mapMobileSocialFeedPost(server);\n case 'reply':\n return mapMobileSocialFeedReply(server);\n default:\n throw new MobileUnsupportedFeedItemError(kind satisfies never);\n }\n}\n\n/**\n * Maps a reading session and its current idle expiration, preserving opaque credentials and cursors.\n * @param server - The service response.\n * @returns The mapped feed read session.\n */\nexport function mapMobileSocialFeedReadSession(\n server: MobileServerSocialFeedReadSession,\n): MobileSocialFeedReadSession {\n return {\n sessionId: server.session_id,\n mode: server.mode,\n expiresAtMs: server.expires_at_ms,\n updateCursor: server.update_cursor,\n viewerToken: server.viewer_token,\n };\n}\n\n/**\n * Maps a fixed feed page without changing item order or pagination.\n * @param server - The service response.\n * @returns The mapped social feed page.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedPage(\n server: MobileServerSocialFeedResponse,\n): MobileSocialFeedPage {\n return {\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n items: server.items.map(mapMobileSocialFeedItem),\n nextCursor: server.next_cursor,\n watermark: server.watermark,\n };\n}\n\n/**\n * Maps a main feed page and its ranking version.\n * @param server - The service response.\n * @returns The mapped ranked feed page.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedRankedPage(\n server: MobileServerSocialFeedRankedResponse,\n): MobileSocialFeedRankedPage {\n return {\n ...mapMobileSocialFeedPage(server),\n rankingVersion: server.ranking_version,\n };\n}\n\n/**\n * Maps qualified trader items and their shared eligibility snapshot.\n * @param server - The service response.\n * @returns The mapped top traders feed page.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedTopTradersPage(\n server: MobileServerSocialFeedTopTradersResponse,\n): MobileSocialFeedTopTradersPage {\n return {\n ...mapMobileSocialFeedRankedPage(server),\n cohort: {\n snapshotId: server.cohort.snapshot_id,\n status: server.cohort.status,\n coverage: {\n scope: server.cohort.coverage.scope,\n totalAuthors: server.cohort.coverage.total_authors,\n queriedAuthors: server.cohort.coverage.queried_authors,\n complete: server.cohort.coverage.complete,\n },\n },\n };\n}\n\n/**\n * Maps item details and the authorized reading session.\n * @param server - The service response.\n * @returns The mapped social feed item response.\n * @throws {MobileUnsupportedFeedItemError} If an item kind is not supported by this SDK.\n */\nexport function mapMobileSocialFeedItemResponse(\n server: MobileServerSocialFeedItemResponse,\n): MobileSocialFeedItemResponse {\n return {\n item: mapMobileSocialFeedItem(server.item),\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n };\n}\n\n/**\n * Maps item deltas, preserving omitted fields and explicit null clears.\n * @param server - The service response.\n * @returns The mapped feed item patch.\n */\nexport function mapMobileSocialFeedItemPatch(\n server: MobileServerSocialFeedItemPatch,\n): MobileSocialFeedItemPatch {\n return {\n itemId: server.item_id,\n version: server.version,\n ...(server.attached_position === undefined\n ? {}\n : {\n attachedPosition:\n server.attached_position === null\n ? null\n : mapMobileSocialFeedPositionCard(server.attached_position),\n }),\n ...(server.attachment_status === undefined\n ? {}\n : { attachmentStatus: server.attachment_status }),\n author: mapMobileSocialFeedAuthor(server.author),\n displayAtMs: server.display_at_ms,\n ...(server.interaction === undefined\n ? {}\n : { interaction: mapMobileSocialFeedInteraction(server.interaction) }),\n ...(server.trade_count === undefined\n ? {}\n : { tradeCount: server.trade_count }),\n ...(server.quantity_x18 === undefined\n ? {}\n : { quantity: toBigNumber(server.quantity_x18) }),\n ...(server.notional_x18 === undefined\n ? {}\n : {\n notional:\n server.notional_x18 === null\n ? null\n : toBigNumber(server.notional_x18),\n }),\n ...(server.average_price_x18 === undefined\n ? {}\n : {\n averagePrice: removeDecimals(server.average_price_x18),\n }),\n ...(server.entry_price_x18 === undefined\n ? {}\n : {\n entryPrice: removeDecimals(server.entry_price_x18),\n }),\n ...(server.liquidation_oracle_price_x18 === undefined\n ? {}\n : {\n liquidationOraclePrice: removeDecimals(\n server.liquidation_oracle_price_x18,\n ),\n }),\n ...(server.liquidation_execution_price_x18 === undefined\n ? {}\n : {\n liquidationExecutionPrice: removeDecimals(\n server.liquidation_execution_price_x18,\n ),\n }),\n ...(server.realized_pnl_delta_x18 === undefined\n ? {}\n : {\n realizedPnlDelta:\n server.realized_pnl_delta_x18 === null\n ? null\n : toBigNumber(server.realized_pnl_delta_x18),\n }),\n ...(server.leverage === undefined ? {} : { leverage: server.leverage }),\n ...(server.leverage_at_ms === undefined\n ? {}\n : { leverageAtMs: server.leverage_at_ms }),\n };\n}\n\n/**\n * Maps viewport changes while preserving the sequence and update baseline.\n * @param server - The service response.\n * @returns The mapped feed updates.\n */\nexport function mapMobileSocialFeedUpdates(\n server: MobileServerSocialFeedUpdatesResponse,\n): MobileSocialFeedUpdates {\n return {\n itemPatches: server.item_patches.map(mapMobileSocialFeedItemPatch),\n positionPatches: server.position_patches.map(\n mapMobileSocialFeedPositionPatch,\n ),\n unavailableTargets: server.unavailable_targets,\n newItemsCount: server.new_items_count,\n updateCursor: server.update_cursor,\n reset: server.reset,\n viewportRevision: server.viewport_revision,\n requestSeq: server.request_seq,\n };\n}\n\n/**\n * Maps common list parameters to the public query wire format without inserting defaults.\n * @param params - Client filters and session pagination.\n * @returns Wire fields; undefined options are omitted when serialized to JSON.\n */\nexport function mapMobileSocialFeedListParamsToServer(\n params: MobileSocialFeedListParams,\n): MobileServerSocialFeedListParams {\n return {\n feed_types: params.feedTypes,\n minimum_notional: params.minimumNotional,\n limit: params.limit,\n session_id: params.sessionId,\n cursor: params.cursor,\n };\n}\n\n/**\n * Maps the public viewing account and browser credential without inferring an identity.\n * @param params - Public relationship perspective and optional session credential.\n * @returns Wire fields for a public feed read.\n */\nexport function mapMobileSocialFeedReadParamsToServer(\n params: MobileSocialFeedReadParams,\n): MobileServerSocialFeedReadParams {\n return {\n view_as:\n params.viewAs === undefined ? undefined : subaccountToHex(params.viewAs),\n viewer_token: params.viewerToken,\n };\n}\n\n/**\n * Maps a mention for signing without changing the text or offsets.\n * @param params - Caller-provided mention and original text offsets.\n * @returns The wire-format mention, preserving the original label and code-point offsets.\n * @throws {Error} If the owner is not a 20-byte address or the subaccount name cannot be encoded in 12 bytes.\n */\nexport function mapMobileSocialFeedMentionToServer(\n params: MobileSocialFeedMentionParams,\n): MobileSocialFeedMention {\n return {\n subaccount: subaccountToHex(params.subaccount),\n start: params.start,\n end: params.end,\n label: params.label,\n };\n}\n\n/**\n * Preserves parsed drawing data, including false and zero.\n * @param server - Service payload with its original wire fields.\n * @returns The original parsed drawing data and its creation/update timestamps in milliseconds.\n */\nexport function mapMobileSocialFeedDrawing(\n server: MobileServerSocialFeedDrawing,\n): MobileSocialFeedDrawing {\n return {\n data: server.data,\n createdAtMs: server.created_at_ms,\n updatedAtMs: server.updated_at_ms,\n };\n}\n\n/**\n * Maps a nonrecursive root preview, retaining nullable position visibility.\n * @param server - Service payload with its original wire fields.\n * @returns A nonrecursive preview with a nullable position and notional retained as an x18 BigNumber.\n */\nexport function mapMobileSocialFeedCompactCard(\n server: MobileServerSocialFeedCompactCard,\n): MobileSocialFeedCompactCard {\n return {\n id: server.id,\n author: mapMobileSocialFeedAuthor(server.author),\n textExcerpt: server.text_excerpt,\n position:\n server.position === null\n ? null\n : {\n positionId: server.position.position_id,\n market: mapMobileSocialFeedMarket(server.position.market),\n direction: server.position.direction,\n state: server.position.state,\n notional: toBigNumber(server.position.notional_x18),\n },\n hasAnalysis: server.has_analysis,\n };\n}\n\n/**\n * Maps an authored post and its readable comments and drawing.\n * @param server - Service payload with its original wire fields.\n * @returns A post with its unchanged text and mentions, mapped position, drawing, interactions, and reply preview.\n */\nexport function mapMobileSocialFeedPost(\n server: MobileServerSocialFeedPost,\n): MobileSocialFeedPost {\n return {\n ...mapMobileSocialFeedContentBase(server),\n kind: server.kind,\n };\n}\n\n/**\n * Maps reply visibility without treating an unavailable attachment as an absent one.\n * @param server - Service payload with its original wire fields.\n * @returns A reply preserving omitted reply targets, nullable attachments, and the separate attachment visibility status.\n */\nexport function mapMobileSocialFeedReply(\n server: MobileServerSocialFeedReply,\n): MobileSocialFeedReply {\n return {\n ...mapMobileSocialFeedItemBase(server),\n kind: server.kind,\n images: server.images.map(mapMobileSocialFeedImage),\n text: server.text,\n mentions: server.mentions,\n rootItemId: server.root_item_id,\n ...(server.reply_to_item_id === undefined\n ? {}\n : { replyToItemId: server.reply_to_item_id }),\n replyToAuthor:\n server.reply_to_author === null\n ? null\n : mapMobileSocialFeedAuthor(server.reply_to_author),\n attachedPosition:\n server.attached_position === null\n ? null\n : mapMobileSocialFeedPositionCard(server.attached_position),\n attachmentStatus: server.attachment_status,\n original: mapMobileSocialFeedCompactCard(server.original),\n interaction: mapMobileSocialFeedInteraction(server.interaction),\n };\n}\n\n/**\n * Maps current eligibility hints without implying caller ownership.\n * @param server - Service payload with its original wire fields.\n * @returns A position with current publication, attachment, and drawing eligibility hints and an unavailable reason.\n */\nexport function mapMobileSocialFeedPublishablePosition(\n server: MobileServerSocialFeedPublishablePosition,\n): MobileSocialFeedPublishablePosition {\n return {\n position: mapMobileSocialFeedPositionCard(server.position),\n canPublish: server.can_publish,\n canAttachToComment: server.can_attach_to_comment,\n canDrawAnalysis: server.can_draw_analysis,\n unavailableReason: server.unavailable_reason,\n };\n}\n\n/**\n * Maps all order action identifiers and eligibility hints.\n * @param server - Service payload with its original wire fields.\n * @returns Trusted action and position identifiers, action kind, publication eligibility, and an unavailable reason.\n */\nexport function mapMobileSocialFeedActionCandidate(\n server: MobileServerSocialFeedActionCandidate,\n): MobileSocialFeedActionCandidate {\n return {\n actionId: server.action_id,\n positionId: server.position_id,\n action: server.action,\n canPublish: server.can_publish,\n unavailableReason: server.unavailable_reason,\n };\n}\n\n/**\n * Maps history risk prices to decimals while retaining funding amounts in x18 units.\n * @param server - Service payload with its original wire fields.\n * @returns Nullable decimal liquidation price and x18 funding PnL, with their independent quality and observation metadata.\n */\nexport function mapMobileSocialFeedHistoryMetrics(\n server: MobileServerSocialFeedHistoryMetrics,\n): MobileSocialFeedHistoryMetrics {\n return {\n estimatedLiquidationPrice: removeDecimals(\n server.estimated_liquidation_price_x18,\n ),\n liquidationPriceQuality: server.liquidation_price_quality,\n liquidationPriceAsOfMs: server.liquidation_price_as_of_ms,\n fundingPnl:\n server.funding_pnl_x18 === null\n ? null\n : toBigNumber(server.funding_pnl_x18),\n fundingQuality: server.funding_quality,\n fundingAsOfMs: server.funding_as_of_ms,\n };\n}\n\n/**\n * Maps action prices independently; all amounts and quantities retain x18 units.\n * @param server - Service payload with its original wire fields.\n * @returns An action with decimal prices, x18 quantities/amounts, and independently nullable financial facts.\n */\nexport function mapMobileSocialFeedPositionAction(\n server: MobileServerSocialFeedPositionAction,\n): MobileSocialFeedPositionAction {\n return {\n id: server.id,\n positionId: server.position_id,\n action: server.action,\n direction: server.direction,\n marginMode: server.margin_mode,\n quantityBefore: toBigNumber(server.quantity_before_x18),\n quantityAfter: toBigNumber(server.quantity_after_x18),\n executedQuantity: toBigNumber(server.executed_quantity_x18),\n executedNotional:\n server.executed_notional_x18 === null\n ? null\n : toBigNumber(server.executed_notional_x18),\n averagePrice: removeDecimals(server.average_price_x18),\n entryPriceBefore: removeDecimals(server.entry_price_before_x18),\n liquidationOraclePrice: removeDecimals(server.liquidation_oracle_price_x18),\n liquidationNotional:\n server.liquidation_notional_x18 === null\n ? null\n : toBigNumber(server.liquidation_notional_x18),\n realizedPnlDelta:\n server.realized_pnl_delta_x18 === null\n ? null\n : toBigNumber(server.realized_pnl_delta_x18),\n leverage: server.leverage,\n leverageAtMs: server.leverage_at_ms,\n firstEventAtMs: server.first_event_at_ms,\n lastEventAtMs: server.last_event_at_ms,\n version: server.version,\n };\n}\n\n/**\n * Maps a trusted target without treating the viewing account as authenticated.\n * @param server - Service payload with its original wire fields.\n * @returns A trading target retaining distinct identity/trading subaccounts, margin mode, and observation time.\n */\nexport function mapMobileSocialFeedTradingTarget(\n server: MobileServerSocialFeedTradingTarget,\n): MobileSocialFeedTradingTarget {\n return {\n positionId: server.position_id,\n identitySubaccount: server.identity_subaccount,\n tradingSubaccount: server.trading_subaccount,\n productId: server.product_id,\n marginMode: server.margin_mode,\n isoSubaccountName: server.iso_subaccount_name,\n direction: server.direction,\n stateAsOfMs: server.state_as_of_ms,\n };\n}\n\n/**\n * Maps viewing-account trading hints.\n * @param server - Service payload with its original wire fields.\n * @returns Trading hints with ordered target candidates, nullable viewer position, and the current reduction hint.\n */\nexport function mapMobileSocialFeedTradingContext(\n server: MobileServerSocialFeedTradingContext,\n): MobileSocialFeedTradingContext {\n return {\n productId: server.product_id,\n suggestedDirection: server.suggested_direction,\n resolution: server.resolution,\n candidates: server.candidates.map(mapMobileSocialFeedTradingTarget),\n viewerPositionId: server.viewer_position_id,\n canReduce: server.can_reduce,\n };\n}\n\n/**\n * Converts OHLC prices to decimals but preserves base-asset volume in x18.\n * @param server - Service payload with its original wire fields.\n * @returns A candle with decimal OHLC BigNumbers, base-asset volume retained in x18, and its timestamp in milliseconds.\n */\nexport function mapMobileSocialFeedCandle(\n server: MobileServerSocialFeedCandle,\n): MobileSocialFeedCandle {\n return {\n timestampMs: server.timestamp_ms,\n open: removeDecimals(server.open_x18),\n high: removeDecimals(server.high_x18),\n low: removeDecimals(server.low_x18),\n close: removeDecimals(server.close_x18),\n volume: toBigNumber(server.volume_x18),\n };\n}\n\n/**\n * Maps markers without replacing unknown Oracle prices with execution prices.\n * @param server - Service payload with its original wire fields.\n * @returns An action marker with its original price basis and a nullable decimal price, without substituting another source.\n */\nexport function mapMobileSocialFeedActionMarker(\n server: MobileServerSocialFeedActionMarker,\n): MobileSocialFeedActionMarker {\n return {\n actionId: server.action_id,\n timestampMs: server.timestamp_ms,\n price: removeDecimals(server.price_x18),\n action: server.action,\n direction: server.direction,\n priceBasis: server.price_basis,\n };\n}\n\n/**\n * Maps selected-account open positions.\n * @param server - Service payload with its original wire fields.\n * @returns Mapped position candidates with the original nullable cursor and observation time.\n */\nexport function mapMobileSocialFeedPositionsPage(\n server: MobileServerSocialFeedPositionsResponse,\n): MobileSocialFeedPositionsPage {\n return {\n positions: server.positions.map(mapMobileSocialFeedPublishablePosition),\n nextCursor: server.next_cursor,\n asOfMs: server.as_of_ms,\n };\n}\n\n/**\n * Maps normal empty and ambiguous command results.\n * @param server - Service payload with its original wire fields.\n * @returns The command resolution, nullable market, position candidates, and original reason for an empty result.\n */\nexport function mapMobileSocialFeedPositionResolutionResult(\n server: MobileServerSocialFeedPositionResolutionResponse,\n): MobileSocialFeedPositionResolutionResult {\n return {\n resolution: server.resolution,\n product:\n server.product === null\n ? null\n : mapMobileSocialFeedMarket(server.product),\n candidates: server.candidates.map(mapMobileSocialFeedPublishablePosition),\n reason: server.reason,\n };\n}\n\n/**\n * Preserves pending order projection without inventing action candidates.\n * @param server - Service payload with its original wire fields.\n * @returns The original order digest, ready/pending state, mapped actions, and observation time.\n */\nexport function mapMobileSocialFeedActionResolutionResult(\n server: MobileServerSocialFeedActionResolutionResponse,\n): MobileSocialFeedActionResolutionResult {\n return {\n orderDigest: server.order_digest,\n resolution: server.resolution,\n actions: server.actions.map(mapMobileSocialFeedActionCandidate),\n asOfMs: server.as_of_ms,\n };\n}\n\n/**\n * Distinguishes no drawing from falsy drawing data.\n * @param server - Service payload with its original wire fields.\n * @returns The parent item ID/version and a nullable drawing, retaining false or zero drawing data.\n */\nexport function mapMobileSocialFeedDrawingResult(\n server: MobileServerSocialFeedDrawingResponse,\n): MobileSocialFeedDrawingResult {\n return {\n itemId: server.item_id,\n itemVersion: server.item_version,\n drawing:\n server.drawing === null\n ? null\n : mapMobileSocialFeedDrawing(server.drawing),\n };\n}\n\n/**\n * Maps a saved drawing after creation or replacement.\n * @param server - Successful drawing mutation response.\n * @returns The parent item ID/version and non-null saved drawing.\n */\nexport function mapMobileSocialFeedDrawingMutationResult(\n server: MobileServerSocialFeedDrawingMutationResponse,\n): MobileSocialFeedDrawingMutationResult {\n return {\n itemId: server.item_id,\n itemVersion: server.item_version,\n drawing: mapMobileSocialFeedDrawing(server.drawing),\n };\n}\n\n/**\n * Maps a top-level comment and its complete flat descendants without sorting or dropping content.\n * @param server - A comment group from the service thread snapshot.\n * @returns The mapped top-level comment with each descendant's original parent relationship.\n */\nexport function mapMobileSocialFeedCommentGroup(\n server: MobileServerSocialFeedCommentGroup,\n): MobileSocialFeedCommentGroup {\n return {\n ...mapMobileSocialFeedReply(server),\n replies: server.replies.map(mapMobileSocialFeedReply),\n };\n}\n\n/**\n * Maps complete comment groups in server order and the actual returned session.\n * @param server - Service payload with its original wire fields.\n * @returns Mapped groups, whole-thread counts, bidirectional cursors, nullable anchor, and reading session.\n */\nexport function mapMobileSocialFeedCommentsPage(\n server: MobileServerSocialFeedCommentsResponse,\n): MobileSocialFeedCommentsPage {\n return {\n comments: server.comments.map(mapMobileSocialFeedCommentGroup),\n totalCount: server.total_count,\n topLevelCount: server.top_level_count,\n nextCursor: server.next_cursor,\n previousCursor: server.previous_cursor,\n anchorReplyId: server.anchor_reply_id,\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n };\n}\n\n/**\n * Maps atomic reply publication without inventing a reading session.\n * @param server - Service payload with its original wire fields.\n * @returns The created reply and authoritative root comment count, without a fabricated reading session.\n */\nexport function mapMobileSocialFeedCommentResult(\n server: MobileServerSocialFeedCommentResponse,\n): MobileSocialFeedCommentResult {\n return {\n comment: mapMobileSocialFeedReply(server.comment),\n rootCommentCount: server.root_comment_count,\n };\n}\n\n/**\n * Maps authoritative like state and count.\n * @param server - Service payload with its original wire fields.\n * @returns The applied like state, authoritative count, and item ID/version after the mutation.\n */\nexport function mapMobileSocialFeedLikeResult(\n server: MobileServerSocialFeedLikeResponse,\n): MobileSocialFeedLikeResult {\n return {\n itemId: server.item_id,\n isLiked: server.is_liked,\n likeCount: server.like_count,\n version: server.version,\n };\n}\n\n/**\n * Maps a published history take without treating unknown kinds as posts.\n * @param server - The published service item.\n * @returns The mapped post or trade card.\n * @throws {MobileUnsupportedFeedItemError} If the service returns an unsupported take kind.\n */\nexport function mapMobileSocialFeedHistoryTake(\n server: MobileServerSocialFeedHistoryTake,\n): MobileSocialFeedHistoryTake {\n const kind = server.kind;\n switch (kind) {\n case 'trade_card':\n return mapMobileSocialFeedTradeCard(server);\n case 'post':\n return mapMobileSocialFeedPost(server);\n default:\n throw new MobileUnsupportedFeedItemError(kind satisfies never);\n }\n}\n\n/**\n * Maps a historical action or published take while preserving its discriminant.\n * @param server - The service timeline entry.\n * @returns The mapped action or take entry.\n * @throws {MobileUnsupportedFeedItemError} If the service returns an unsupported entry or take kind.\n */\nexport function mapMobileSocialFeedTimelineEntry(\n server: MobileServerSocialFeedTimelineEntry,\n): MobileSocialFeedTimelineEntry {\n const kind = server.kind;\n switch (kind) {\n case 'action':\n return {\n kind,\n action: mapMobileSocialFeedPositionAction(server.action),\n relatedItemId: server.related_item_id,\n relatedTake:\n server.related_take === null\n ? null\n : mapMobileSocialFeedTradeCard(server.related_take),\n };\n case 'take':\n return {\n kind,\n item: mapMobileSocialFeedHistoryTake(server.item),\n };\n default:\n throw new MobileUnsupportedFeedItemError(kind satisfies never);\n }\n}\n\n/**\n * Maps full history, preserving action/take order, association, and null facts.\n * @param server - Service payload with its original wire fields.\n * @returns Position metrics, ordered action/take timeline, summary, cursor, quality, reading session, and trading hints.\n * @throws {MobileUnsupportedFeedItemError} If a timeline entry or take has an unsupported kind.\n */\nexport function mapMobileSocialFeedPositionHistory(\n server: MobileServerSocialFeedPositionHistoryResponse,\n): MobileSocialFeedPositionHistory {\n return {\n owner: mapMobileSocialFeedAuthor(server.owner),\n position: {\n ...mapMobileSocialFeedPositionCard(server.position),\n ...mapMobileSocialFeedHistoryMetrics(server.position),\n },\n summary: {\n actionCount: server.summary.action_count,\n takeCount: server.summary.take_count,\n },\n timeline: server.timeline.map(mapMobileSocialFeedTimelineEntry),\n nextCursor: server.next_cursor,\n historyQuality: server.history_quality,\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n tradingContext: mapMobileSocialFeedTradingContext(server.trading_context),\n };\n}\n\n/**\n * Maps candles and independent price sources, preserving explicit nulls.\n * @param server - Service payload with its original wire fields.\n * @returns Decimal-price candles and markers with x18 volume, a nullable liquidation line, and paging/quality metadata.\n */\nexport function mapMobileSocialFeedPositionChart(\n server: MobileServerSocialFeedPositionChartResponse,\n): MobileSocialFeedPositionChart {\n return {\n candles: server.candles.map(mapMobileSocialFeedCandle),\n actionMarkers: server.action_markers.map(mapMobileSocialFeedActionMarker),\n estimatedLiquidationLine:\n server.estimated_liquidation_line === null\n ? null\n : {\n price: removeDecimals(server.estimated_liquidation_line.price_x18),\n asOfMs: server.estimated_liquidation_line.as_of_ms,\n },\n nextBeforeMs: server.next_before_ms,\n asOfMs: server.as_of_ms,\n dataQuality: server.data_quality,\n };\n}\n\n/**\n * Maps watcher observations; account previews are self-reported, not authenticated.\n * @param server - Service payload with its original wire fields.\n * @returns The visitor count, self-reported public account previews, and observation time.\n */\nexport function mapMobileSocialFeedWatchers(\n server: MobileServerSocialFeedWatchersResponse,\n): MobileSocialFeedWatchers {\n return {\n watcherCount: server.watcher_count,\n watcherPreview: server.watcher_preview.map(mapMobileSocialFeedAuthor),\n asOfMs: server.as_of_ms,\n };\n}\n\n/**\n * Maps a page lease without inventing an observation timestamp.\n * @param server - Service payload with its original wire fields.\n * @returns Visitor count and public previews with heartbeat/lease durations in seconds, without an observation timestamp.\n */\nexport function mapMobileSocialFeedPresence(\n server: MobileServerSocialFeedPresenceResponse,\n): MobileSocialFeedPresence {\n return {\n watcherCount: server.watcher_count,\n watcherPreview: server.watcher_preview.map(mapMobileSocialFeedAuthor),\n heartbeatIntervalSeconds: server.heartbeat_interval_seconds,\n expiresInSeconds: server.expires_in_seconds,\n };\n}\n\n/**\n * Maps a published thought, keeping its guaranteed analysis flag and drawing.\n * @param server - Service payload with its original wire fields.\n * @returns The mapped post or trade card with a non-null drawing.\n * @throws {MobileUnsupportedFeedItemError} If the service returns an unsupported take kind.\n */\nexport function mapMobileSocialFeedPositionThought(\n server: MobileServerSocialFeedPositionThought,\n): MobileSocialFeedPositionThought {\n return {\n ...mapMobileSocialFeedHistoryTake(server),\n hasAnalysis: server.has_analysis,\n drawing: mapMobileSocialFeedDrawing(server.drawing),\n };\n}\n\n/**\n * Maps a thoughts page in server order, preserving empty pages with continuation cursors.\n * @param server - Service payload with its original wire fields.\n * @returns Thoughts, the next cursor, and the position reading session.\n * @throws {MobileUnsupportedFeedItemError} If an item is not a post or trade card.\n */\nexport function mapMobileSocialFeedPositionThoughts(\n server: MobileServerSocialFeedPositionThoughtsResponse,\n): MobileSocialFeedPositionThoughtsPage {\n return {\n items: server.items.map(mapMobileSocialFeedPositionThought),\n nextCursor: server.next_cursor,\n readSession: mapMobileSocialFeedReadSession(server.read_session),\n };\n}\n"],"mappings":"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"}
|
package/dist/dataMappers.d.cts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
import { $ as
|
|
2
|
-
import { $t as
|
|
3
|
-
import {
|
|
4
|
-
import { _ as
|
|
5
|
-
import { C as MobileServerSocialFeedWatchersResponse, S as MobileServerSocialFeedUpdatesResponse, _ as MobileServerSocialFeedPositionResolutionResponse, b as MobileServerSocialFeedResponse, d as MobileServerSocialFeedActionResolutionResponse, f as MobileServerSocialFeedCommentsResponse, g as MobileServerSocialFeedPositionHistoryResponse, h as MobileServerSocialFeedPositionChartResponse, l as MobileServerRegisteredWalletResponse, m as MobileServerSocialFeedItemResponse, n as MobileServerFeedResponse, p as MobileServerSocialFeedDrawingResponse, r as MobileServerFollowListResponse, u as MobileServerSearchProfilesResponse, v as MobileServerSocialFeedPositionsResponse, x as MobileServerSocialFeedTopTradersResponse, y as MobileServerSocialFeedRankedResponse } from "./serverQueryTypes-V1f9yE7L.cjs";
|
|
1
|
+
import { $ as MobileServerSocialFeedImage, A as MobileServerNotificationPreferences, F as MobileServerSocialFeedActionCandidate, Ft as MobileSocialFeedMention, G as MobileServerSocialFeedCompactCard, I as MobileServerSocialFeedActionMarker, K as MobileServerSocialFeedContentBase, L as MobileServerSocialFeedAuthor, M as MobileServerNotificationSettings, N as MobileServerProductEvent, O as MobileServerNotificationPayloadV2, P as MobileServerProfile, Q as MobileServerSocialFeedHistoryTake, R as MobileServerSocialFeedCandle, St as MobileServerSocialFeedUploadedImage, U as MobileServerSocialFeedCommentGroup, X as MobileServerSocialFeedHistoryMetrics, _ as MobileServerAvatarPreset, _t as MobileServerSocialFeedTradeRow, at as MobileServerSocialFeedMarket, bt as MobileServerSocialFeedTradingContext, ct as MobileServerSocialFeedPositionCard, dt as MobileServerSocialFeedPost, ft as MobileServerSocialFeedPublishablePosition, gt as MobileServerSocialFeedTradeCard, ht as MobileServerSocialFeedTimelineEntry, it as MobileServerSocialFeedItemPatch, j as MobileServerNotificationRoute, mt as MobileServerSocialFeedReply, nt as MobileServerSocialFeedItem, ot as MobileServerSocialFeedPnl, pt as MobileServerSocialFeedReadSession, q as MobileServerSocialFeedDrawing, rt as MobileServerSocialFeedItemBase, st as MobileServerSocialFeedPositionAction, tt as MobileServerSocialFeedInteraction, ut as MobileServerSocialFeedPositionPatch, v as MobileServerAvatarSelection, vt as MobileServerSocialFeedTradeRowBase, xt as MobileServerSocialFeedTradingTarget, yt as MobileServerSocialFeedTraderBadge } from "./serverModelTypes-CTHMNIQS.cjs";
|
|
2
|
+
import { $ as MobileNotificationPayloadV2, $t as MobileSocialFeedItem, An as MobileSocialFeedTradeRowBase, At as MobileSocialFeedCandle, Bt as MobileSocialFeedCompactCard, Cn as MobileSocialFeedReadParams, Dn as MobileSocialFeedTopTradersPage, Dt as MobileSocialFeedActionMarker, En as MobileSocialFeedTimelineEntry, Et as MobileSocialFeedActionCandidate, Fn as MobileSocialFeedUploadedImage, G as MobileFollowListPage, Gn as SearchMobileProfilesParams, Ht as MobileSocialFeedDrawing, In as MobileSocialFeedWatchers, It as MobileSocialFeedCommentGroup, K as MobileFollowMutationResult, M as MobileAvatarSelection, Mn as MobileSocialFeedTradingContext, N as MobileAvatarUpload, Nn as MobileSocialFeedTradingTarget, On as MobileSocialFeedTradeCard, Ot as MobileSocialFeedActionResolutionResult, Pn as MobileSocialFeedUpdates, Q as MobileNotificationInboxV2, Qt as MobileSocialFeedInteraction, Rt as MobileSocialFeedCommentResult, Sn as MobileSocialFeedRankedPage, Tn as MobileSocialFeedReply, U as MobileFollowBatchResultItem, Ut as MobileSocialFeedDrawingMutationResult, V as MobileFeedPage, Vt as MobileSocialFeedContentBase, Wt as MobileSocialFeedDrawingResult, Xt as MobileSocialFeedImage, Y as MobileNotificationCapabilities, Yt as MobileSocialFeedHistoryTake, _n as MobileSocialFeedPositionThoughtsPage, _t as MobileRegisteredWallet, an as MobileSocialFeedMarket, at as MobileNotificationSettingsV2, bn as MobileSocialFeedPresence, c as GetMobileFollowListParams, cn as MobileSocialFeedPnl, dn as MobileSocialFeedPositionChart, dt as MobileProfilesInclude, en as MobileSocialFeedItemBase, fn as MobileSocialFeedPositionHistory, ft as MobilePublicProfile, gn as MobileSocialFeedPositionThought, hn as MobileSocialFeedPositionResolutionResult, in as MobileSocialFeedListParams, it as MobileNotificationSettings, j as MobileAvatarPreset, jn as MobileSocialFeedTraderBadge, kn as MobileSocialFeedTradeRow, kt as MobileSocialFeedAuthor, ln as MobileSocialFeedPositionAction, lt as MobileProductEvent, mn as MobileSocialFeedPositionPatch, nn as MobileSocialFeedItemResponse, nt as MobileNotificationRegistrationV2, on as MobileSocialFeedMentionParams, ot as MobileNotificationSubscriptions, qt as MobileSocialFeedHistoryMetrics, rn as MobileSocialFeedLikeResult, rt as MobileNotificationRoute, sn as MobileSocialFeedPage, st as MobileNotificationSubscriptionsUpdate, tn as MobileSocialFeedItemPatch, tt as MobileNotificationPreferences, un as MobileSocialFeedPositionCard, ut as MobileProfileSearchPage, vn as MobileSocialFeedPositionsPage, wn as MobileSocialFeedReadSession, xn as MobileSocialFeedPublishablePosition, yn as MobileSocialFeedPost, zt as MobileSocialFeedCommentsPage } from "./clientTypes-KpHlCDGZ.cjs";
|
|
3
|
+
import { $ as MobileServerSocialFeedWatchersResponse, A as MobileServerNotificationSubscriptionsResponse, B as MobileServerSocialFeedCommentsResponse, E as MobileServerNotificationInboxV2Response, F as MobileServerRegisteredWalletResponse, G as MobileServerSocialFeedPositionResolutionResponse, H as MobileServerSocialFeedItemResponse, I as MobileServerSearchProfilesResponse, J as MobileServerSocialFeedPositionsResponse, K as MobileServerSocialFeedPositionThought, O as MobileServerNotificationRegistrationV2Response, Q as MobileServerSocialFeedUpdatesResponse, T as MobileServerFollowListResponse, U as MobileServerSocialFeedPositionChartResponse, V as MobileServerSocialFeedDrawingResponse, W as MobileServerSocialFeedPositionHistoryResponse, X as MobileServerSocialFeedResponse, Y as MobileServerSocialFeedRankedResponse, Z as MobileServerSocialFeedTopTradersResponse, _ as MobileServerSearchProfilesRequest, b as MobileServerSocialFeedListParams, c as MobileServerNotificationSubscriptionsUpdate, h as MobileServerRegisterExpoTokenV2Params, k as MobileServerNotificationSettingsV2Response, l as MobileServerProfilesInclude, q as MobileServerSocialFeedPositionThoughtsResponse, s as MobileServerFollowListRequest, w as MobileServerFeedResponse, x as MobileServerSocialFeedReadParams, z as MobileServerSocialFeedActionResolutionResponse } from "./types-CR5iaKR4.cjs";
|
|
4
|
+
import { _ as MobileServerSocialFeedPresenceResponse, c as MobileServerFollowMutationResponse, f as MobileServerSocialFeedCommentResponse, h as MobileServerSocialFeedLikeResponse, o as MobileServerFollowBatchResponse, p as MobileServerSocialFeedDrawingMutationResponse, t as MobileServerAvatarUploadResponse } from "./serverExecuteTypes-DuCWe_H_.cjs";
|
|
6
5
|
|
|
7
6
|
//#region src/dataMappers.d.ts
|
|
8
7
|
/**
|
|
@@ -13,6 +12,64 @@ declare function mapMobileAvatarPreset(server: MobileServerAvatarPreset): Mobile
|
|
|
13
12
|
* Maps an upload grant, preserving the signed PUT headers and server-provided lifetime.
|
|
14
13
|
*/
|
|
15
14
|
declare function mapMobileAvatarUpload(server: MobileServerAvatarUploadResponse): MobileAvatarUpload;
|
|
15
|
+
/** Maps a saved notification registration to the client model without the response envelope.
|
|
16
|
+
* @param server - Registration payload.
|
|
17
|
+
* @returns Saved generation and capabilities.
|
|
18
|
+
*/
|
|
19
|
+
declare function mapMobileNotificationRegistrationV2(server: MobileServerNotificationRegistrationV2Response): MobileNotificationRegistrationV2;
|
|
20
|
+
/** Maps a v2 capability declaration to the registration wire format.
|
|
21
|
+
* @param capabilities - Device-supported features.
|
|
22
|
+
* @returns V2-only registration capabilities.
|
|
23
|
+
*/
|
|
24
|
+
declare function mapMobileNotificationCapabilitiesToServer(capabilities: MobileNotificationCapabilities): MobileServerRegisterExpoTokenV2Params['capabilities'];
|
|
25
|
+
/** Maps complete notification settings to the client model.
|
|
26
|
+
* @param server - Saved settings.
|
|
27
|
+
* @returns CamelCase settings.
|
|
28
|
+
*/
|
|
29
|
+
declare function mapMobileNotificationSettings(server: MobileServerNotificationSettings): MobileNotificationSettings;
|
|
30
|
+
/** Maps a complete replacement settings document to wire format.
|
|
31
|
+
* @param settings - Complete client settings.
|
|
32
|
+
* @returns Settings accepted by the service.
|
|
33
|
+
*/
|
|
34
|
+
declare function mapMobileNotificationSettingsToServer(settings: MobileNotificationSettings): MobileServerNotificationSettings;
|
|
35
|
+
/** Maps a revisioned settings response without the response envelope.
|
|
36
|
+
* @param server - Versioned settings payload.
|
|
37
|
+
* @returns Client settings and their revision.
|
|
38
|
+
*/
|
|
39
|
+
declare function mapMobileNotificationSettingsV2(server: MobileServerNotificationSettingsV2Response): MobileNotificationSettingsV2;
|
|
40
|
+
/** Maps wallet market subscriptions and Identity bells.
|
|
41
|
+
* @param server - Subscription payload.
|
|
42
|
+
* @returns Client subscription state without the response envelope.
|
|
43
|
+
*/
|
|
44
|
+
declare function mapMobileNotificationSubscriptions(server: MobileServerNotificationSubscriptionsResponse): MobileNotificationSubscriptions;
|
|
45
|
+
/** Maps one subscription operation, explicitly nulling unused wire operations.
|
|
46
|
+
* @param update - Exactly one revision-guarded operation.
|
|
47
|
+
* @returns The complete signed inner operation fields.
|
|
48
|
+
*/
|
|
49
|
+
declare function mapMobileNotificationSubscriptionsUpdateToServer(update: MobileNotificationSubscriptionsUpdate): MobileServerNotificationSubscriptionsUpdate;
|
|
50
|
+
/** Maps an allowlisted notification destination.
|
|
51
|
+
* @param server - Named backend destination.
|
|
52
|
+
* @returns Client navigation data, never an arbitrary URL.
|
|
53
|
+
* @throws {MobileUnsupportedNotificationRouteError} If the service returns an unsupported route name.
|
|
54
|
+
*/
|
|
55
|
+
declare function mapMobileNotificationRoute(server: MobileServerNotificationRoute): MobileNotificationRoute;
|
|
56
|
+
/** Maps v2 push or inbox navigation data.
|
|
57
|
+
* @param server - Wire-format notification payload.
|
|
58
|
+
* @returns Client notification data.
|
|
59
|
+
* @throws {MobileUnsupportedNotificationRouteError} If the service returns an unsupported route name.
|
|
60
|
+
*/
|
|
61
|
+
declare function mapMobileNotificationPayloadV2(server: MobileServerNotificationPayloadV2): MobileNotificationPayloadV2;
|
|
62
|
+
/** Maps a private notification page without the response envelope.
|
|
63
|
+
* @param server - Newest-first inbox payload.
|
|
64
|
+
* @returns Client items, attribution flags, and the next cursor.
|
|
65
|
+
* @throws {MobileUnsupportedNotificationRouteError} If a notification has an unsupported route name.
|
|
66
|
+
*/
|
|
67
|
+
declare function mapMobileNotificationInboxV2(server: MobileServerNotificationInboxV2Response): MobileNotificationInboxV2;
|
|
68
|
+
/** Maps a typed analytics interaction, nulling unused wire fields.
|
|
69
|
+
* @param event - Event-specific client data.
|
|
70
|
+
* @returns Complete signed wire event.
|
|
71
|
+
*/
|
|
72
|
+
declare function mapMobileProductEventToServer(event: MobileProductEvent): MobileServerProductEvent;
|
|
16
73
|
/**
|
|
17
74
|
* Maps a client-side avatar selection to the signed wire payload; null clears the saved avatar.
|
|
18
75
|
*/
|
|
@@ -112,6 +169,18 @@ declare function mapMobileSocialFeedPositionCard(server: MobileServerSocialFeedP
|
|
|
112
169
|
* @returns The mapped feed interaction.
|
|
113
170
|
*/
|
|
114
171
|
declare function mapMobileSocialFeedInteraction(server: MobileServerSocialFeedInteraction): MobileSocialFeedInteraction;
|
|
172
|
+
/**
|
|
173
|
+
* Maps uploaded image metadata; bytes remain behind a protected GET.
|
|
174
|
+
* @param server - The service response.
|
|
175
|
+
* @returns The mapped feed image.
|
|
176
|
+
*/
|
|
177
|
+
declare function mapMobileSocialFeedUploadedImage(server: MobileServerSocialFeedUploadedImage): MobileSocialFeedUploadedImage;
|
|
178
|
+
/**
|
|
179
|
+
* Maps either protected upload metadata or an external URL without inventing metadata.
|
|
180
|
+
* @param server - The service response.
|
|
181
|
+
* @returns The mapped uploaded image or external URL.
|
|
182
|
+
*/
|
|
183
|
+
declare function mapMobileSocialFeedImage(server: MobileServerSocialFeedImage): MobileSocialFeedImage;
|
|
115
184
|
/**
|
|
116
185
|
* Maps common item metadata and server capabilities.
|
|
117
186
|
* @param server - The service response.
|
|
@@ -150,7 +219,7 @@ declare function mapMobileSocialFeedTradeRow(server: MobileServerSocialFeedTrade
|
|
|
150
219
|
*/
|
|
151
220
|
declare function mapMobileSocialFeedItem(server: MobileServerSocialFeedItem): MobileSocialFeedItem;
|
|
152
221
|
/**
|
|
153
|
-
* Maps a
|
|
222
|
+
* Maps a reading session and its current idle expiration, preserving opaque credentials and cursors.
|
|
154
223
|
* @param server - The service response.
|
|
155
224
|
* @returns The mapped feed read session.
|
|
156
225
|
*/
|
|
@@ -317,9 +386,15 @@ declare function mapMobileSocialFeedDrawingResult(server: MobileServerSocialFeed
|
|
|
317
386
|
*/
|
|
318
387
|
declare function mapMobileSocialFeedDrawingMutationResult(server: MobileServerSocialFeedDrawingMutationResponse): MobileSocialFeedDrawingMutationResult;
|
|
319
388
|
/**
|
|
320
|
-
* Maps
|
|
389
|
+
* Maps a top-level comment and its complete flat descendants without sorting or dropping content.
|
|
390
|
+
* @param server - A comment group from the service thread snapshot.
|
|
391
|
+
* @returns The mapped top-level comment with each descendant's original parent relationship.
|
|
392
|
+
*/
|
|
393
|
+
declare function mapMobileSocialFeedCommentGroup(server: MobileServerSocialFeedCommentGroup): MobileSocialFeedCommentGroup;
|
|
394
|
+
/**
|
|
395
|
+
* Maps complete comment groups in server order and the actual returned session.
|
|
321
396
|
* @param server - Service payload with its original wire fields.
|
|
322
|
-
* @returns Mapped
|
|
397
|
+
* @returns Mapped groups, whole-thread counts, bidirectional cursors, nullable anchor, and reading session.
|
|
323
398
|
*/
|
|
324
399
|
declare function mapMobileSocialFeedCommentsPage(server: MobileServerSocialFeedCommentsResponse): MobileSocialFeedCommentsPage;
|
|
325
400
|
/**
|
|
@@ -334,12 +409,6 @@ declare function mapMobileSocialFeedCommentResult(server: MobileServerSocialFeed
|
|
|
334
409
|
* @returns The applied like state, authoritative count, and item ID/version after the mutation.
|
|
335
410
|
*/
|
|
336
411
|
declare function mapMobileSocialFeedLikeResult(server: MobileServerSocialFeedLikeResponse): MobileSocialFeedLikeResult;
|
|
337
|
-
/**
|
|
338
|
-
* Maps exposure deduplication results without adding timestamps.
|
|
339
|
-
* @param server - Service payload with its original wire fields.
|
|
340
|
-
* @returns Newly accepted and duplicate item ID lists without inventing an observation timestamp.
|
|
341
|
-
*/
|
|
342
|
-
declare function mapMobileSocialFeedViewsResult(server: MobileServerSocialFeedViewsResponse): MobileSocialFeedViewsResult;
|
|
343
412
|
/**
|
|
344
413
|
* Maps a published history take without treating unknown kinds as posts.
|
|
345
414
|
* @param server - The published service item.
|
|
@@ -379,6 +448,20 @@ declare function mapMobileSocialFeedWatchers(server: MobileServerSocialFeedWatch
|
|
|
379
448
|
* @returns Visitor count and public previews with heartbeat/lease durations in seconds, without an observation timestamp.
|
|
380
449
|
*/
|
|
381
450
|
declare function mapMobileSocialFeedPresence(server: MobileServerSocialFeedPresenceResponse): MobileSocialFeedPresence;
|
|
451
|
+
/**
|
|
452
|
+
* Maps a published thought, keeping its guaranteed analysis flag and drawing.
|
|
453
|
+
* @param server - Service payload with its original wire fields.
|
|
454
|
+
* @returns The mapped post or trade card with a non-null drawing.
|
|
455
|
+
* @throws {MobileUnsupportedFeedItemError} If the service returns an unsupported take kind.
|
|
456
|
+
*/
|
|
457
|
+
declare function mapMobileSocialFeedPositionThought(server: MobileServerSocialFeedPositionThought): MobileSocialFeedPositionThought;
|
|
458
|
+
/**
|
|
459
|
+
* Maps a thoughts page in server order, preserving empty pages with continuation cursors.
|
|
460
|
+
* @param server - Service payload with its original wire fields.
|
|
461
|
+
* @returns Thoughts, the next cursor, and the position reading session.
|
|
462
|
+
* @throws {MobileUnsupportedFeedItemError} If an item is not a post or trade card.
|
|
463
|
+
*/
|
|
464
|
+
declare function mapMobileSocialFeedPositionThoughts(server: MobileServerSocialFeedPositionThoughtsResponse): MobileSocialFeedPositionThoughtsPage;
|
|
382
465
|
//#endregion
|
|
383
|
-
export { mapMobileAvatarPreset, mapMobileAvatarSelectionToServer, mapMobileAvatarUpload, mapMobileFeedPage, mapMobileFollowBatchResult, mapMobileFollowListPage, mapMobileFollowListParamsToServer, mapMobileFollowMutationResult, mapMobileNotificationPreferences, mapMobileNotificationPreferencesToServer, mapMobileProfileSearchPage, mapMobileProfileSearchParamsToServer, mapMobileProfilesIncludeToServer, mapMobilePublicProfile, mapMobileRegisteredWallet, mapMobileSocialFeedActionCandidate, mapMobileSocialFeedActionMarker, mapMobileSocialFeedActionResolutionResult, mapMobileSocialFeedAuthor, mapMobileSocialFeedCandle, mapMobileSocialFeedCommentResult, mapMobileSocialFeedCommentsPage, mapMobileSocialFeedCompactCard, mapMobileSocialFeedContentBase, mapMobileSocialFeedDrawing, mapMobileSocialFeedDrawingMutationResult, mapMobileSocialFeedDrawingResult, mapMobileSocialFeedHistoryMetrics, mapMobileSocialFeedHistoryTake, mapMobileSocialFeedInteraction, mapMobileSocialFeedItem, mapMobileSocialFeedItemBase, mapMobileSocialFeedItemPatch, mapMobileSocialFeedItemResponse, mapMobileSocialFeedLikeResult, mapMobileSocialFeedListParamsToServer, mapMobileSocialFeedMarket, mapMobileSocialFeedMentionToServer, mapMobileSocialFeedPage, mapMobileSocialFeedPnl, mapMobileSocialFeedPositionAction, mapMobileSocialFeedPositionCard, mapMobileSocialFeedPositionChart, mapMobileSocialFeedPositionHistory, mapMobileSocialFeedPositionPatch, mapMobileSocialFeedPositionResolutionResult, mapMobileSocialFeedPositionsPage, mapMobileSocialFeedPost, mapMobileSocialFeedPresence, mapMobileSocialFeedPublishablePosition, mapMobileSocialFeedRankedPage, mapMobileSocialFeedReadParamsToServer, mapMobileSocialFeedReadSession, mapMobileSocialFeedReply, mapMobileSocialFeedTimelineEntry, mapMobileSocialFeedTopTradersPage, mapMobileSocialFeedTradeCard, mapMobileSocialFeedTradeRow, mapMobileSocialFeedTradeRowBase, mapMobileSocialFeedTraderBadge, mapMobileSocialFeedTradingContext, mapMobileSocialFeedTradingTarget, mapMobileSocialFeedUpdates,
|
|
466
|
+
export { mapMobileAvatarPreset, mapMobileAvatarSelectionToServer, mapMobileAvatarUpload, mapMobileFeedPage, mapMobileFollowBatchResult, mapMobileFollowListPage, mapMobileFollowListParamsToServer, mapMobileFollowMutationResult, mapMobileNotificationCapabilitiesToServer, mapMobileNotificationInboxV2, mapMobileNotificationPayloadV2, mapMobileNotificationPreferences, mapMobileNotificationPreferencesToServer, mapMobileNotificationRegistrationV2, mapMobileNotificationRoute, mapMobileNotificationSettings, mapMobileNotificationSettingsToServer, mapMobileNotificationSettingsV2, mapMobileNotificationSubscriptions, mapMobileNotificationSubscriptionsUpdateToServer, mapMobileProductEventToServer, mapMobileProfileSearchPage, mapMobileProfileSearchParamsToServer, mapMobileProfilesIncludeToServer, mapMobilePublicProfile, mapMobileRegisteredWallet, mapMobileSocialFeedActionCandidate, mapMobileSocialFeedActionMarker, mapMobileSocialFeedActionResolutionResult, mapMobileSocialFeedAuthor, mapMobileSocialFeedCandle, mapMobileSocialFeedCommentGroup, mapMobileSocialFeedCommentResult, mapMobileSocialFeedCommentsPage, mapMobileSocialFeedCompactCard, mapMobileSocialFeedContentBase, mapMobileSocialFeedDrawing, mapMobileSocialFeedDrawingMutationResult, mapMobileSocialFeedDrawingResult, mapMobileSocialFeedHistoryMetrics, mapMobileSocialFeedHistoryTake, mapMobileSocialFeedImage, mapMobileSocialFeedInteraction, mapMobileSocialFeedItem, mapMobileSocialFeedItemBase, mapMobileSocialFeedItemPatch, mapMobileSocialFeedItemResponse, mapMobileSocialFeedLikeResult, mapMobileSocialFeedListParamsToServer, mapMobileSocialFeedMarket, mapMobileSocialFeedMentionToServer, mapMobileSocialFeedPage, mapMobileSocialFeedPnl, mapMobileSocialFeedPositionAction, mapMobileSocialFeedPositionCard, mapMobileSocialFeedPositionChart, mapMobileSocialFeedPositionHistory, mapMobileSocialFeedPositionPatch, mapMobileSocialFeedPositionResolutionResult, mapMobileSocialFeedPositionThought, mapMobileSocialFeedPositionThoughts, mapMobileSocialFeedPositionsPage, mapMobileSocialFeedPost, mapMobileSocialFeedPresence, mapMobileSocialFeedPublishablePosition, mapMobileSocialFeedRankedPage, mapMobileSocialFeedReadParamsToServer, mapMobileSocialFeedReadSession, mapMobileSocialFeedReply, mapMobileSocialFeedTimelineEntry, mapMobileSocialFeedTopTradersPage, mapMobileSocialFeedTradeCard, mapMobileSocialFeedTradeRow, mapMobileSocialFeedTradeRowBase, mapMobileSocialFeedTraderBadge, mapMobileSocialFeedTradingContext, mapMobileSocialFeedTradingTarget, mapMobileSocialFeedUpdates, mapMobileSocialFeedUploadedImage, mapMobileSocialFeedWatchers };
|
|
384
467
|
//# sourceMappingURL=dataMappers.d.cts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"dataMappers.d.cts","names":[],"sources":["../src/src/dataMappers.ts"],"mappings":"
|
|
1
|
+
{"version":3,"file":"dataMappers.d.cts","names":[],"sources":["../src/src/dataMappers.ts"],"mappings":"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"}
|