@xmobitea/gn-typescript-client 2.6.13-tsc → 2.6.14
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/AGENTS.md +37 -0
- package/README.MD +420 -1
- package/dist/gearn.js.client.js +71354 -0
- package/dist/gearn.js.client.min.js +2 -0
- package/dist/gearn.js.client.min.js.LICENSE.txt +14 -0
- package/dist/index.d.ts +30 -0
- package/dist/index.js +58386 -339
- package/dist/runtime/GNNetwork.d.ts +687 -3
- package/dist/runtime/GNNetworkAuthenticateApi.d.ts +327 -0
- package/dist/runtime/GNNetworkCharacterPlayerApi.d.ts +1026 -0
- package/dist/runtime/GNNetworkCloudScriptApi.d.ts +141 -0
- package/dist/runtime/GNNetworkContentApi.d.ts +243 -0
- package/dist/runtime/GNNetworkDashboardApi.d.ts +221 -0
- package/dist/runtime/GNNetworkGamePlayerApi.d.ts +1033 -0
- package/dist/runtime/GNNetworkGroupApi.d.ts +783 -0
- package/dist/runtime/GNNetworkInventoryApi.d.ts +673 -0
- package/dist/runtime/GNNetworkMasterPlayerApi.d.ts +1614 -6
- package/dist/runtime/GNNetworkMultiplayerApi.d.ts +234 -0
- package/dist/runtime/GNNetworkStoreInventoryApi.d.ts +309 -0
- package/dist/runtime/common/Action0.d.ts +30 -0
- package/dist/runtime/common/Action1.d.ts +32 -0
- package/dist/runtime/common/Action2.d.ts +21 -0
- package/dist/runtime/common/Action3.d.ts +16 -0
- package/dist/runtime/common/Action4.d.ts +17 -0
- package/dist/runtime/common/GNData.d.ts +368 -0
- package/dist/runtime/config/GNServerSettings.d.ts +442 -12
- package/dist/runtime/constant/Commands.d.ts +80 -0
- package/dist/runtime/constant/EventCode.d.ts +48 -0
- package/dist/runtime/constant/OperationCode.d.ts +74 -1
- package/dist/runtime/constant/ReturnCode.d.ts +72 -0
- package/dist/runtime/constant/enumType/ExecuteResponseStatus.d.ts +31 -0
- package/dist/runtime/constant/enumType/FriendStatus.d.ts +39 -0
- package/dist/runtime/constant/enumType/GoogleLoginType.d.ts +23 -0
- package/dist/runtime/constant/enumType/GroupStatus.d.ts +32 -0
- package/dist/runtime/constant/enumType/InvalidMemberType.d.ts +75 -0
- package/dist/runtime/constant/enumType/ItemType.d.ts +23 -0
- package/dist/runtime/constant/enumType/MatchStatus.d.ts +30 -0
- package/dist/runtime/constant/enumType/MatchmakingMemberStatus.d.ts +24 -0
- package/dist/runtime/constant/enumType/MatchmakingTicketStatus.d.ts +34 -0
- package/dist/runtime/constant/enumType/OwnerType.d.ts +40 -0
- package/dist/runtime/constant/enumType/PermissionDataItem.d.ts +22 -0
- package/dist/runtime/constant/enumType/PushPlatformType.d.ts +18 -0
- package/dist/runtime/constant/enumType/RequestRole.d.ts +32 -0
- package/dist/runtime/constant/enumType/RequestType.d.ts +70 -0
- package/dist/runtime/constant/enumType/StoreItemType.d.ts +21 -0
- package/dist/runtime/constant/enumType/StoreReceiveType.d.ts +30 -0
- package/dist/runtime/constant/errorCode/ErrorCode.d.ts +190 -8
- package/dist/runtime/constant/parameterCode/ParameterCode.d.ts +35 -5
- package/dist/runtime/entity/DataMember.d.ts +338 -0
- package/dist/runtime/entity/GNMetadata.d.ts +101 -0
- package/dist/runtime/entity/InvalidMember.d.ts +28 -0
- package/dist/runtime/entity/OperationEvent.d.ts +49 -0
- package/dist/runtime/entity/OperationRequest.d.ts +108 -0
- package/dist/runtime/entity/OperationResponse.d.ts +110 -0
- package/dist/runtime/entity/models/AuthenticateModels.d.ts +115 -0
- package/dist/runtime/entity/models/AuthenticateRequestModels.d.ts +131 -0
- package/dist/runtime/entity/models/AuthenticateResponseModels.d.ts +131 -0
- package/dist/runtime/entity/models/CharacterPlayerModels.d.ts +625 -1
- package/dist/runtime/entity/models/CharacterPlayerRequestModels.d.ts +972 -0
- package/dist/runtime/entity/models/CharacterPlayerResponseModels.d.ts +332 -0
- package/dist/runtime/entity/models/CloudScriptModels.d.ts +109 -0
- package/dist/runtime/entity/models/CloudScriptRequestModels.d.ts +107 -0
- package/dist/runtime/entity/models/CloudScriptResponseModels.d.ts +46 -0
- package/dist/runtime/entity/models/ContentModels.d.ts +124 -0
- package/dist/runtime/entity/models/ContentRequestModels.d.ts +152 -0
- package/dist/runtime/entity/models/ContentResponseModels.d.ts +58 -0
- package/dist/runtime/entity/models/DashboardModels.d.ts +371 -8
- package/dist/runtime/entity/models/DashboardRequestModels.d.ts +172 -0
- package/dist/runtime/entity/models/DashboardResponseModels.d.ts +170 -0
- package/dist/runtime/entity/models/GamePlayerModels.d.ts +644 -1
- package/dist/runtime/entity/models/GamePlayerRequestModels.d.ts +959 -0
- package/dist/runtime/entity/models/GamePlayerResponseModels.d.ts +333 -1
- package/dist/runtime/entity/models/GenericModels.d.ts +94 -0
- package/dist/runtime/entity/models/GroupModels.d.ts +484 -2
- package/dist/runtime/entity/models/GroupRequestModels.d.ts +737 -0
- package/dist/runtime/entity/models/GroupResponseModels.d.ts +254 -0
- package/dist/runtime/entity/models/InventoryModels.d.ts +415 -0
- package/dist/runtime/entity/models/InventoryRequestModels.d.ts +629 -0
- package/dist/runtime/entity/models/InventoryResponseModels.d.ts +218 -0
- package/dist/runtime/entity/models/MasterPlayerModels.d.ts +1065 -3
- package/dist/runtime/entity/models/MasterPlayerRequestModels.d.ts +1560 -6
- package/dist/runtime/entity/models/MasterPlayerResponseModels.d.ts +532 -1
- package/dist/runtime/entity/models/MultiplayerModels.d.ts +199 -0
- package/dist/runtime/entity/models/MultiplayerRequestModels.d.ts +196 -0
- package/dist/runtime/entity/models/MultiplayerResponseModels.d.ts +74 -0
- package/dist/runtime/entity/models/StoreInventoryModels.d.ts +262 -0
- package/dist/runtime/entity/models/StoreInventoryRequestModels.d.ts +268 -0
- package/dist/runtime/entity/models/StoreInventoryResponseModels.d.ts +98 -0
- package/dist/runtime/entity/request/CustomOperationRequest.d.ts +99 -0
- package/dist/runtime/entity/response/CustomOperationResponse.d.ts +118 -0
- package/dist/runtime/entity/response/GetAuthInfoResponse.d.ts +53 -0
- package/dist/runtime/entity/response/HealthCheckResponse.d.ts +56 -0
- package/dist/runtime/entity/response/UploadFileResponse.d.ts +19 -0
- package/dist/runtime/helper/CodeHelper.d.ts +122 -0
- package/dist/runtime/helper/ConverterService.d.ts +74 -0
- package/dist/runtime/helper/EnumUtility.d.ts +63 -0
- package/dist/runtime/helper/GNSupport.d.ts +64 -4
- package/dist/runtime/helper/GNUtils.d.ts +54 -0
- package/dist/runtime/helper/MessagePackConverterService.d.ts +48 -0
- package/dist/runtime/helper/OperationHelper.d.ts +51 -0
- package/dist/runtime/helper/StorageService.d.ts +48 -8
- package/dist/runtime/logger/GNDebug.d.ts +117 -0
- package/dist/runtime/networking/AuthenticateStatus.d.ts +64 -0
- package/dist/runtime/networking/IPeer.d.ts +83 -0
- package/dist/runtime/networking/NetworkingPeer.d.ts +256 -1
- package/dist/runtime/networking/OperationPending.d.ts +112 -0
- package/dist/runtime/networking/PeerBase.d.ts +231 -0
- package/dist/runtime/networking/handler/IServerEventHandler.d.ts +84 -0
- package/dist/runtime/networking/handler/OnCharacterPlayerFriendUpdateEventHandler.d.ts +69 -0
- package/dist/runtime/networking/handler/OnCharacterPlayerGroupUpdateEventHandler.d.ts +49 -0
- package/dist/runtime/networking/handler/OnGamePlayerFriendUpdateEventHandler.d.ts +50 -0
- package/dist/runtime/networking/handler/OnGamePlayerGroupUpdateEventHandler.d.ts +41 -0
- package/dist/runtime/networking/handler/OnGroupMemberUpdateEventHandler.d.ts +47 -0
- package/dist/runtime/networking/handler/OnGroupMessageUpdateEventHandler.d.ts +46 -0
- package/dist/runtime/networking/http/HttpPeer.d.ts +173 -0
- package/dist/runtime/networking/http/NetworkingHttpPeerBase.d.ts +87 -0
- package/dist/runtime/networking/http/NetworkingPeerAxiosRequest.d.ts +113 -0
- package/dist/runtime/networking/socket/NetworkingPeerSocketIOClient.d.ts +145 -0
- package/dist/runtime/networking/socket/NetworkingSocketPeerBase.d.ts +198 -0
- package/dist/runtime/networking/socket/SocketPeer.d.ts +155 -0
- package/dist/runtime/typescript/ServiceUpdate.d.ts +46 -0
- package/docs/AI_CHEATSHEET.md +211 -0
- package/docs/COOKBOOK.md +912 -0
- package/docs/RULES.md +307 -0
- package/docs/ai-manifest.json +725 -0
- package/docs/guides/AUTHENTICATE.md +246 -0
- package/docs/guides/CHARACTER_PLAYER.md +439 -0
- package/docs/guides/CLOUDSCRIPT.md +335 -0
- package/docs/guides/COCOS_CREATOR_INTEGRATION.md +150 -0
- package/docs/guides/CONTENT.md +291 -0
- package/docs/guides/DASHBOARD.md +262 -0
- package/docs/guides/GAME_PLAYER.md +473 -0
- package/docs/guides/GROUP.md +412 -0
- package/docs/guides/INVENTORY.md +375 -0
- package/docs/guides/MASTER_PLAYER.md +458 -0
- package/docs/guides/MULTIPLAYER.md +303 -0
- package/docs/guides/STORE_INVENTORY.md +313 -0
- package/docs/llms-full.txt +43 -0
- package/docs/reference/API_AUTHENTICATE.md +75 -0
- package/docs/reference/API_CHARACTER_PLAYER.md +226 -0
- package/docs/reference/API_CLOUDSCRIPT.md +82 -0
- package/docs/reference/API_CONTENT.md +88 -0
- package/docs/reference/API_DASHBOARD.md +82 -0
- package/docs/reference/API_GAME_PLAYER.md +223 -0
- package/docs/reference/API_GROUP.md +187 -0
- package/docs/reference/API_INDEX.md +57 -0
- package/docs/reference/API_INVENTORY.md +169 -0
- package/docs/reference/API_MASTER_PLAYER.md +323 -0
- package/docs/reference/API_MULTIPLAYER.md +97 -0
- package/docs/reference/API_STORE_INVENTORY.md +109 -0
- package/docs/reference/CONFIG.md +107 -0
- package/docs/reference/DTO_INDEX.md +2543 -0
- package/docs/reference/ENUMS.md +433 -0
- package/docs/reference/ERROR_HANDLING.md +159 -0
- package/docs/reference/EVENTS.md +188 -0
- package/docs/reference/PERMISSION_RULES.md +55 -0
- package/docs/reference/dto/AUTHENTICATE.md +619 -0
- package/docs/reference/dto/CHARACTER_PLAYER.md +3686 -0
- package/docs/reference/dto/CLOUDSCRIPT.md +400 -0
- package/docs/reference/dto/CONTENT.md +548 -0
- package/docs/reference/dto/DASHBOARD.md +1980 -0
- package/docs/reference/dto/GAME_PLAYER.md +3631 -0
- package/docs/reference/dto/GENERIC.md +151 -0
- package/docs/reference/dto/GROUP.md +2842 -0
- package/docs/reference/dto/INVENTORY.md +2385 -0
- package/docs/reference/dto/MASTER_PLAYER.md +6024 -0
- package/docs/reference/dto/MULTIPLAYER.md +850 -0
- package/docs/reference/dto/STORE_INVENTORY.md +1262 -0
- package/llms.txt +47 -0
- package/package.json +11 -2
- package/GNServerSettings.debug.json +0 -21
- package/dist/runtime/GNNetwork.js +0 -273
- package/dist/runtime/GNNetworkAuthenticateApi.js +0 -122
- package/dist/runtime/GNNetworkCharacterPlayerApi.js +0 -968
- package/dist/runtime/GNNetworkCloudScriptApi.js +0 -104
- package/dist/runtime/GNNetworkContentApi.js +0 -140
- package/dist/runtime/GNNetworkDashboardApi.js +0 -170
- package/dist/runtime/GNNetworkGamePlayerApi.js +0 -950
- package/dist/runtime/GNNetworkGroupApi.js +0 -734
- package/dist/runtime/GNNetworkInventoryApi.js +0 -626
- package/dist/runtime/GNNetworkMasterPlayerApi.js +0 -1550
- package/dist/runtime/GNNetworkMultiplayerApi.js +0 -194
- package/dist/runtime/GNNetworkStoreInventoryApi.js +0 -266
- package/dist/runtime/common/Action0.js +0 -1
- package/dist/runtime/common/Action1.js +0 -1
- package/dist/runtime/common/Action2.js +0 -1
- package/dist/runtime/common/Action3.js +0 -1
- package/dist/runtime/common/Action4.js +0 -1
- package/dist/runtime/common/GNData.js +0 -209
- package/dist/runtime/config/GNServerSettings.js +0 -156
- package/dist/runtime/constant/Commands.js +0 -20
- package/dist/runtime/constant/EventCode.js +0 -8
- package/dist/runtime/constant/OperationCode.js +0 -221
- package/dist/runtime/constant/ReturnCode.js +0 -14
- package/dist/runtime/constant/enumType/ExecuteResponseStatus.js +0 -8
- package/dist/runtime/constant/enumType/FriendStatus.js +0 -7
- package/dist/runtime/constant/enumType/GoogleLoginType.js +0 -5
- package/dist/runtime/constant/enumType/GroupStatus.js +0 -7
- package/dist/runtime/constant/enumType/InvalidMemberType.js +0 -18
- package/dist/runtime/constant/enumType/ItemType.js +0 -5
- package/dist/runtime/constant/enumType/MatchmakingMemberStatus.js +0 -6
- package/dist/runtime/constant/enumType/MatchmakingTicketStatus.js +0 -8
- package/dist/runtime/constant/enumType/OwnerType.js +0 -9
- package/dist/runtime/constant/enumType/PermissionDataItem.js +0 -5
- package/dist/runtime/constant/enumType/PushPlatformType.js +0 -5
- package/dist/runtime/constant/enumType/RequestRole.js +0 -6
- package/dist/runtime/constant/enumType/RequestType.js +0 -15
- package/dist/runtime/constant/enumType/StoreItemType.js +0 -5
- package/dist/runtime/constant/enumType/StoreReceiveType.js +0 -8
- package/dist/runtime/constant/errorCode/ErrorCode.js +0 -52
- package/dist/runtime/constant/parameterCode/ParameterCode.js +0 -617
- package/dist/runtime/entity/DataMember.js +0 -208
- package/dist/runtime/entity/GNMetadata.js +0 -11
- package/dist/runtime/entity/InvalidMember.js +0 -1
- package/dist/runtime/entity/OperationEvent.js +0 -24
- package/dist/runtime/entity/OperationRequest.js +0 -42
- package/dist/runtime/entity/OperationResponse.js +0 -73
- package/dist/runtime/entity/models/AuthenticateModels.js +0 -426
- package/dist/runtime/entity/models/AuthenticateRequestModels.js +0 -188
- package/dist/runtime/entity/models/AuthenticateResponseModels.js +0 -131
- package/dist/runtime/entity/models/CharacterPlayerModels.js +0 -1433
- package/dist/runtime/entity/models/CharacterPlayerRequestModels.js +0 -1386
- package/dist/runtime/entity/models/CharacterPlayerResponseModels.js +0 -376
- package/dist/runtime/entity/models/CloudScriptModels.js +0 -197
- package/dist/runtime/entity/models/CloudScriptRequestModels.js +0 -138
- package/dist/runtime/entity/models/CloudScriptResponseModels.js +0 -40
- package/dist/runtime/entity/models/ContentModels.js +0 -203
- package/dist/runtime/entity/models/ContentRequestModels.js +0 -190
- package/dist/runtime/entity/models/ContentResponseModels.js +0 -54
- package/dist/runtime/entity/models/DashboardModels.js +0 -3002
- package/dist/runtime/entity/models/DashboardRequestModels.js +0 -268
- package/dist/runtime/entity/models/DashboardResponseModels.js +0 -187
- package/dist/runtime/entity/models/GamePlayerModels.js +0 -1591
- package/dist/runtime/entity/models/GamePlayerRequestModels.js +0 -1360
- package/dist/runtime/entity/models/GamePlayerResponseModels.js +0 -369
- package/dist/runtime/entity/models/GenericModels.js +0 -177
- package/dist/runtime/entity/models/GroupModels.js +0 -1135
- package/dist/runtime/entity/models/GroupRequestModels.js +0 -1048
- package/dist/runtime/entity/models/GroupResponseModels.js +0 -285
- package/dist/runtime/entity/models/InventoryModels.js +0 -915
- package/dist/runtime/entity/models/InventoryRequestModels.js +0 -892
- package/dist/runtime/entity/models/InventoryResponseModels.js +0 -243
- package/dist/runtime/entity/models/MasterPlayerModels.js +0 -2573
- package/dist/runtime/entity/models/MasterPlayerRequestModels.js +0 -2228
- package/dist/runtime/entity/models/MasterPlayerResponseModels.js +0 -607
- package/dist/runtime/entity/models/MultiplayerModels.js +0 -404
- package/dist/runtime/entity/models/MultiplayerRequestModels.js +0 -268
- package/dist/runtime/entity/models/MultiplayerResponseModels.js +0 -75
- package/dist/runtime/entity/models/StoreInventoryModels.js +0 -797
- package/dist/runtime/entity/models/StoreInventoryRequestModels.js +0 -372
- package/dist/runtime/entity/models/StoreInventoryResponseModels.js +0 -103
- package/dist/runtime/entity/request/CustomOperationRequest.js +0 -24
- package/dist/runtime/entity/response/CustomOperationResponse.js +0 -29
- package/dist/runtime/entity/response/GetAuthInfoResponse.js +0 -2
- package/dist/runtime/entity/response/HealthCheckResponse.js +0 -2
- package/dist/runtime/entity/response/UploadFileResponse.js +0 -2
- package/dist/runtime/helper/CodeHelper.js +0 -63
- package/dist/runtime/helper/ConverterService.js +0 -275
- package/dist/runtime/helper/EnumUtility.js +0 -33
- package/dist/runtime/helper/GNSupport.js +0 -47
- package/dist/runtime/helper/GNUtils.js +0 -72
- package/dist/runtime/helper/MessagePackConverterService.js +0 -9
- package/dist/runtime/helper/OperationHelper.js +0 -24
- package/dist/runtime/helper/StorageService.js +0 -62
- package/dist/runtime/logger/GNDebug.js +0 -29
- package/dist/runtime/networking/AuthenticateStatus.js +0 -14
- package/dist/runtime/networking/IPeer.js +0 -1
- package/dist/runtime/networking/NetworkingPeer.js +0 -210
- package/dist/runtime/networking/OperationPending.js +0 -53
- package/dist/runtime/networking/PeerBase.js +0 -161
- package/dist/runtime/networking/handler/IServerEventHandler.js +0 -13
- package/dist/runtime/networking/handler/OnCharacterPlayerFriendUpdateEventHandler.js +0 -39
- package/dist/runtime/networking/handler/OnCharacterPlayerGroupUpdateEventHandler.js +0 -39
- package/dist/runtime/networking/handler/OnGamePlayerFriendUpdateEventHandler.js +0 -39
- package/dist/runtime/networking/handler/OnGamePlayerGroupUpdateEventHandler.js +0 -39
- package/dist/runtime/networking/handler/OnGroupMemberUpdateEventHandler.js +0 -35
- package/dist/runtime/networking/handler/OnGroupMessageUpdateEventHandler.js +0 -43
- package/dist/runtime/networking/http/HttpPeer.js +0 -123
- package/dist/runtime/networking/http/NetworkingHttpPeerBase.js +0 -9
- package/dist/runtime/networking/http/NetworkingPeerAxiosRequest.js +0 -179
- package/dist/runtime/networking/socket/NetworkingPeerSocketIOClient.js +0 -130
- package/dist/runtime/networking/socket/NetworkingSocketPeerBase.js +0 -165
- package/dist/runtime/networking/socket/SocketPeer.js +0 -115
- package/dist/runtime/typescript/ServiceUpdate.js +0 -22
- package/docs/COCOS_CREATOR_INTEGRATION.md +0 -116
- package/examples/cocos-creator/GearNExample.ts.txt +0 -176
- package/srcSwift/Package.swift +0 -32
- package/srcSwift/Sources/GearN/runtime/GNNetwork.swift +0 -530
- package/srcSwift/Sources/GearN/runtime/GNNetworkAuthenticateApi.swift +0 -178
- package/srcSwift/Sources/GearN/runtime/GNNetworkCharacterPlayerApi.swift +0 -1162
- package/srcSwift/Sources/GearN/runtime/GNNetworkCloudScriptApi.swift +0 -154
- package/srcSwift/Sources/GearN/runtime/GNNetworkContentApi.swift +0 -208
- package/srcSwift/Sources/GearN/runtime/GNNetworkDashboardApi.swift +0 -240
- package/srcSwift/Sources/GearN/runtime/GNNetworkGamePlayerApi.swift +0 -1369
- package/srcSwift/Sources/GearN/runtime/GNNetworkGroupApi.swift +0 -1100
- package/srcSwift/Sources/GearN/runtime/GNNetworkInventoryApi.swift +0 -937
- package/srcSwift/Sources/GearN/runtime/GNNetworkMasterPlayerApi.swift +0 -2323
- package/srcSwift/Sources/GearN/runtime/GNNetworkMultiplayerApi.swift +0 -298
- package/srcSwift/Sources/GearN/runtime/GNNetworkStoreInventoryApi.swift +0 -397
- package/srcSwift/Sources/GearN/runtime/common/Action0.swift +0 -3
- package/srcSwift/Sources/GearN/runtime/common/Action1.swift +0 -3
- package/srcSwift/Sources/GearN/runtime/common/Action2.swift +0 -3
- package/srcSwift/Sources/GearN/runtime/common/Action3.swift +0 -3
- package/srcSwift/Sources/GearN/runtime/common/Action4.swift +0 -3
- package/srcSwift/Sources/GearN/runtime/common/GNArray.swift +0 -204
- package/srcSwift/Sources/GearN/runtime/common/GNData.swift +0 -108
- package/srcSwift/Sources/GearN/runtime/common/GNHashtable.swift +0 -200
- package/srcSwift/Sources/GearN/runtime/config/GNServerSettings.swift +0 -95
- package/srcSwift/Sources/GearN/runtime/constant/Commands.swift +0 -28
- package/srcSwift/Sources/GearN/runtime/constant/EventCode.swift +0 -10
- package/srcSwift/Sources/GearN/runtime/constant/OperationCode.swift +0 -252
- package/srcSwift/Sources/GearN/runtime/constant/ReturnCode.swift +0 -19
- package/srcSwift/Sources/GearN/runtime/constant/enumType/ExecuteResponseStatus.swift +0 -9
- package/srcSwift/Sources/GearN/runtime/constant/enumType/FriendStatus.swift +0 -8
- package/srcSwift/Sources/GearN/runtime/constant/enumType/GoogleLoginType.swift +0 -6
- package/srcSwift/Sources/GearN/runtime/constant/enumType/GroupStatus.swift +0 -8
- package/srcSwift/Sources/GearN/runtime/constant/enumType/InvalidMemberType.swift +0 -19
- package/srcSwift/Sources/GearN/runtime/constant/enumType/ItemType.swift +0 -6
- package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingMemberStatus.swift +0 -7
- package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingTicketStatus.swift +0 -9
- package/srcSwift/Sources/GearN/runtime/constant/enumType/OwnerType.swift +0 -10
- package/srcSwift/Sources/GearN/runtime/constant/enumType/PermissionDataItem.swift +0 -6
- package/srcSwift/Sources/GearN/runtime/constant/enumType/PushPlatformType.swift +0 -6
- package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestRole.swift +0 -7
- package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestType.swift +0 -16
- package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreItemType.swift +0 -6
- package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreReceiveType.swift +0 -9
- package/srcSwift/Sources/GearN/runtime/constant/errorCode/ErrorCode.swift +0 -58
- package/srcSwift/Sources/GearN/runtime/constant/parameterCode/ParameterCode.swift +0 -672
- package/srcSwift/Sources/GearN/runtime/entity/DataMember.swift +0 -196
- package/srcSwift/Sources/GearN/runtime/entity/GNMetadata.swift +0 -9
- package/srcSwift/Sources/GearN/runtime/entity/InvalidMember.swift +0 -11
- package/srcSwift/Sources/GearN/runtime/entity/OperationEvent.swift +0 -38
- package/srcSwift/Sources/GearN/runtime/entity/OperationHelper.swift +0 -28
- package/srcSwift/Sources/GearN/runtime/entity/OperationRequest.swift +0 -62
- package/srcSwift/Sources/GearN/runtime/entity/OperationResponse.swift +0 -98
- package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateModels.swift +0 -351
- package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateRequestModels.swift +0 -81
- package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateResponseModels.swift +0 -108
- package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerModels.swift +0 -1045
- package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerRequestModels.swift +0 -821
- package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerResponseModels.swift +0 -588
- package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptModels.swift +0 -187
- package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptRequestModels.swift +0 -84
- package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptResponseModels.swift +0 -59
- package/srcSwift/Sources/GearN/runtime/entity/models/ContentModels.swift +0 -195
- package/srcSwift/Sources/GearN/runtime/entity/models/ContentRequestModels.swift +0 -116
- package/srcSwift/Sources/GearN/runtime/entity/models/ContentResponseModels.swift +0 -81
- package/srcSwift/Sources/GearN/runtime/entity/models/DashboardModels.swift +0 -426
- package/srcSwift/Sources/GearN/runtime/entity/models/DashboardRequestModels.swift +0 -160
- package/srcSwift/Sources/GearN/runtime/entity/models/DashboardResponseModels.swift +0 -82
- package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerModels.swift +0 -1334
- package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerRequestModels.swift +0 -643
- package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerResponseModels.swift +0 -213
- package/srcSwift/Sources/GearN/runtime/entity/models/GenericModels.swift +0 -171
- package/srcSwift/Sources/GearN/runtime/entity/models/GroupModels.swift +0 -850
- package/srcSwift/Sources/GearN/runtime/entity/models/GroupRequestModels.swift +0 -485
- package/srcSwift/Sources/GearN/runtime/entity/models/GroupResponseModels.swift +0 -165
- package/srcSwift/Sources/GearN/runtime/entity/models/InventoryModels.swift +0 -679
- package/srcSwift/Sources/GearN/runtime/entity/models/InventoryRequestModels.swift +0 -413
- package/srcSwift/Sources/GearN/runtime/entity/models/InventoryResponseModels.swift +0 -141
- package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerModels.swift +0 -378
- package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerRequestModels.swift +0 -147
- package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerResponseModels.swift +0 -318
- package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerModels.swift +0 -319
- package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerRequestModels.swift +0 -125
- package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerResponseModels.swift +0 -45
- package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryModels.swift +0 -633
- package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryRequestModels.swift +0 -173
- package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryResponseModels.swift +0 -61
- package/srcSwift/Sources/GearN/runtime/entity/request/CustomOperationRequest.swift +0 -42
- package/srcSwift/Sources/GearN/runtime/entity/response/CustomOperationResponse.swift +0 -49
- package/srcSwift/Sources/GearN/runtime/entity/response/GetAuthInfoResponse.swift +0 -43
- package/srcSwift/Sources/GearN/runtime/entity/response/HealthCheckResponse.swift +0 -86
- package/srcSwift/Sources/GearN/runtime/entity/response/UploadFileResponse.swift +0 -15
- package/srcSwift/Sources/GearN/runtime/helper/CodeHelper.swift +0 -107
- package/srcSwift/Sources/GearN/runtime/helper/ConverterService.swift +0 -98
- package/srcSwift/Sources/GearN/runtime/helper/EnumUtility.swift +0 -34
- package/srcSwift/Sources/GearN/runtime/helper/GNSupport.swift +0 -41
- package/srcSwift/Sources/GearN/runtime/helper/GNUtils.swift +0 -66
- package/srcSwift/Sources/GearN/runtime/helper/MessagePackConverterService.swift +0 -21
- package/srcSwift/Sources/GearN/runtime/helper/StorageService.swift +0 -29
- package/srcSwift/Sources/GearN/runtime/logger/GNDebug.swift +0 -33
- package/srcSwift/Sources/GearN/runtime/networking/AuthenticateStatus.swift +0 -24
- package/srcSwift/Sources/GearN/runtime/networking/IPeer.swift +0 -8
- package/srcSwift/Sources/GearN/runtime/networking/NetworkingPeer.swift +0 -368
- package/srcSwift/Sources/GearN/runtime/networking/OperationPending.swift +0 -81
- package/srcSwift/Sources/GearN/runtime/networking/PeerBase.swift +0 -228
- package/srcSwift/Sources/GearN/runtime/networking/handler/IServerEventHandler.swift +0 -20
- package/srcSwift/Sources/GearN/runtime/networking/http/HttpPeer.swift +0 -226
- package/srcSwift/Sources/GearN/runtime/networking/http/HttpTypes.swift +0 -24
- package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingHttpPeerBase.swift +0 -13
- package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingPeerUrlSession.swift +0 -125
- package/srcSwift/Sources/GearN/runtime/networking/request/NetRequest.swift +0 -19
- package/srcSwift/Sources/GearN/runtime/networking/response/NetResponse.swift +0 -13
- package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingPeerSocketIOClient.swift +0 -244
- package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingSocketPeerBase.swift +0 -59
- package/srcSwift/Sources/GearN/runtime/networking/socket/SocketPeer.swift +0 -136
- package/tsconfig-build.cocos.json +0 -31
- package/webpack.config.cocos.mjs +0 -78
|
@@ -4,9 +4,92 @@ import { RequestType } from "./../constant/enumType/RequestType";
|
|
|
4
4
|
import { Action1 } from "./../common/Action1";
|
|
5
5
|
import { OperationRequest } from "./../entity/OperationRequest";
|
|
6
6
|
import { OperationResponse } from "./../entity/OperationResponse";
|
|
7
|
+
/**
|
|
8
|
+
* Common transport contract implemented by both the HTTP peer
|
|
9
|
+
* ({@link HttpPeer}) and the socket peer ({@link SocketPeer}).
|
|
10
|
+
*
|
|
11
|
+
* The contract is intentionally minimal: a peer must support
|
|
12
|
+
* (a) one-time initialisation, (b) enqueueing an outgoing request,
|
|
13
|
+
* (c) reporting whether it is currently enabled by configuration, and
|
|
14
|
+
* (d) being serviced from a fixed-rate driver loop. Everything beyond
|
|
15
|
+
* that — request/response correlation, timeout sweeping, ping
|
|
16
|
+
* tracking, transport-specific framing — lives in
|
|
17
|
+
* {@link PeerBase} or in the concrete subclasses.
|
|
18
|
+
*
|
|
19
|
+
* Why an interface instead of a single base class: {@link NetworkingPeer}
|
|
20
|
+
* holds two peer instances side by side (one HTTP, one socket) and
|
|
21
|
+
* needs to dispatch generic operations to whichever one matches the
|
|
22
|
+
* caller's choice. The shared type makes that dispatch well-typed
|
|
23
|
+
* without forcing the two transports to share the rest of their
|
|
24
|
+
* implementations.
|
|
25
|
+
*/
|
|
7
26
|
export interface IPeer {
|
|
27
|
+
/**
|
|
28
|
+
* One-shot initialisation hook.
|
|
29
|
+
*
|
|
30
|
+
* Implementations allocate their internal queues, configure the
|
|
31
|
+
* send rate from {@link GNServerSettings.getSendRate}, then call
|
|
32
|
+
* the abstract `initGNSocketObject()` step in {@link PeerBase}
|
|
33
|
+
* which lets each transport build its own low-level client
|
|
34
|
+
* (Axios for HTTP, socket.io for the socket peer).
|
|
35
|
+
*
|
|
36
|
+
* Idempotency is the implementation's responsibility — the SDK
|
|
37
|
+
* calls this exactly once per peer in
|
|
38
|
+
* {@link NetworkingPeer.initPeer}.
|
|
39
|
+
*/
|
|
8
40
|
initPeer(): void;
|
|
41
|
+
/**
|
|
42
|
+
* Enqueues an outgoing operation request.
|
|
43
|
+
*
|
|
44
|
+
* The peer wraps the call in an {@link OperationPending} entry,
|
|
45
|
+
* pushes it into its FIFO queue, and assigns a fresh `requestId`
|
|
46
|
+
* when the existing value is not the `-1` fire-and-forget sentinel.
|
|
47
|
+
* The actual send happens later, during the next `service()` tick
|
|
48
|
+
* that the local rate limiter allows.
|
|
49
|
+
*
|
|
50
|
+
* @param requestType Logical request category. Embedded in
|
|
51
|
+
* the wire payload so the backend
|
|
52
|
+
* picks the right handler.
|
|
53
|
+
* @param role `Client`, `Server` or `Admin`.
|
|
54
|
+
* Selects the permission set the
|
|
55
|
+
* backend evaluates against the auth
|
|
56
|
+
* token.
|
|
57
|
+
* @param operationRequest Pre-built request to enqueue.
|
|
58
|
+
* @param onOperationResponse Optional callback. Pass `null` for
|
|
59
|
+
* fire-and-forget; the peer still
|
|
60
|
+
* tracks timeouts but discards the
|
|
61
|
+
* decoded response.
|
|
62
|
+
* @param authToken Auth token for this request. The
|
|
63
|
+
* caller normally lets
|
|
64
|
+
* {@link NetworkingPeer.sendViaSocket}
|
|
65
|
+
* / `sendViaHttp` fill the value from
|
|
66
|
+
* the cached
|
|
67
|
+
* {@link AuthenticateStatus} when the
|
|
68
|
+
* override is `null`.
|
|
69
|
+
* @param secretKey Game-specific shared secret.
|
|
70
|
+
* @param customTags Optional bag of routing / telemetry
|
|
71
|
+
* tags merged into the outbound
|
|
72
|
+
* payload.
|
|
73
|
+
* @param gameId Game identifier sent in the
|
|
74
|
+
* `Game-Id` header / equivalent
|
|
75
|
+
* socket frame.
|
|
76
|
+
*/
|
|
9
77
|
enqueue(requestType: RequestType, role: RequestRole, operationRequest: OperationRequest, onOperationResponse: Action1<OperationResponse>, authToken: string, secretKey: string, customTags: GNHashtable, gameId: string): void;
|
|
78
|
+
/**
|
|
79
|
+
* Returns whether the transport is enabled by configuration.
|
|
80
|
+
*
|
|
81
|
+
* Reflects the `useHttp` / `useSocket` switch on
|
|
82
|
+
* {@link GNServerSettings}. When `false`, every `enqueue` call is
|
|
83
|
+
* dropped with an error log.
|
|
84
|
+
*/
|
|
10
85
|
isUsing(): boolean;
|
|
86
|
+
/**
|
|
87
|
+
* Drives one tick of the peer's internal work loop.
|
|
88
|
+
*
|
|
89
|
+
* Each call sweeps the in-flight set for timed-out operations
|
|
90
|
+
* (every `0.1s`), then sends at most one queued request when the
|
|
91
|
+
* rate-limit timer permits. Invoked by {@link ServiceUpdate} on a
|
|
92
|
+
* fixed interval.
|
|
93
|
+
*/
|
|
11
94
|
service(): void;
|
|
12
95
|
}
|
|
@@ -11,39 +11,294 @@ import { RequestRole } from "./../constant/enumType/RequestRole";
|
|
|
11
11
|
import { GetAuthInfoResponse } from "./../entity/response/GetAuthInfoResponse";
|
|
12
12
|
import { UploadFileResponse } from "./../entity/response/UploadFileResponse";
|
|
13
13
|
import { HealthCheckResponse } from "./../entity/response/HealthCheckResponse";
|
|
14
|
+
/**
|
|
15
|
+
* Owns one HTTP peer and one socket peer side by side, plus the
|
|
16
|
+
* shared {@link AuthenticateStatus} cache and the local server clock
|
|
17
|
+
* estimate.
|
|
18
|
+
*
|
|
19
|
+
* Sits between the {@link GNNetwork} static facade (which exposes the
|
|
20
|
+
* public API surface) and the concrete transports
|
|
21
|
+
* ({@link HttpPeer}, {@link SocketPeer}). Most methods on this class
|
|
22
|
+
* are thin dispatchers that pick the right transport, fill missing
|
|
23
|
+
* authentication / configuration values from the cached state, and
|
|
24
|
+
* forward the call.
|
|
25
|
+
*
|
|
26
|
+
* Lifecycle:
|
|
27
|
+
* - Instantiated once in {@link GNNetwork.initGNSocketObject}.
|
|
28
|
+
* - {@link initPeer} allocates both transports.
|
|
29
|
+
* - The static {@link ServiceUpdate} loop keeps calling
|
|
30
|
+
* {@link service} on a fixed interval so the queues drain and the
|
|
31
|
+
* timeout sweep runs.
|
|
32
|
+
* - There is no `dispose()` — the instance lives for the lifetime of
|
|
33
|
+
* the JS realm.
|
|
34
|
+
*/
|
|
14
35
|
export declare class NetworkingPeer {
|
|
36
|
+
/** Sub-URI of the timestamp endpoint (`GET /ts`). */
|
|
15
37
|
static readonly SYNC_TS: string;
|
|
38
|
+
/** Sub-URI of the auth-info endpoint (`GET /getAuthInfo?authToken=...`). */
|
|
16
39
|
static readonly GET_AUTH_INFO: string;
|
|
40
|
+
/** Sub-URI of the health-check endpoint. */
|
|
17
41
|
static readonly HEALTH_CHECK: string;
|
|
42
|
+
/** Sub-URI of the multipart upload endpoint. */
|
|
18
43
|
static readonly UPLOAD_FILE: string;
|
|
44
|
+
/**
|
|
45
|
+
* Sub-URI of the download endpoint. Used by
|
|
46
|
+
* {@link GNNetwork.getDownloadFileUrl} to compose the absolute
|
|
47
|
+
* URL for a previously issued download token.
|
|
48
|
+
*/
|
|
19
49
|
static readonly DOWNLOAD_FILE: string;
|
|
50
|
+
/** Sub-URI of the JSON HTTP API entry point. */
|
|
20
51
|
static readonly API_JSON: string;
|
|
52
|
+
/** Sub-URI of the MessagePack HTTP API entry point. */
|
|
21
53
|
static readonly API_MSG_PACK: string;
|
|
54
|
+
/** Realtime / push transport ({@link SocketPeer}). */
|
|
22
55
|
private socketPeer;
|
|
56
|
+
/** Request-response transport ({@link HttpPeer}). */
|
|
23
57
|
private httpPeer;
|
|
58
|
+
/**
|
|
59
|
+
* Shared cache of auth token + user id. Populated during
|
|
60
|
+
* {@link initPeer} (created blank — the persisted values are
|
|
61
|
+
* loaded by {@link GNNetwork.init}) and updated automatically by
|
|
62
|
+
* {@link PeerBase.onResponseHandler} on every successful
|
|
63
|
+
* response.
|
|
64
|
+
*/
|
|
24
65
|
authenticateStatus: AuthenticateStatus;
|
|
25
|
-
|
|
66
|
+
/**
|
|
67
|
+
* Returns the unweighted average of the active transports'
|
|
68
|
+
* sliding-window pings (in milliseconds).
|
|
69
|
+
*
|
|
70
|
+
* Skips transports that report `isUsing() === false`. Returns
|
|
71
|
+
* `-1` when neither transport is active.
|
|
72
|
+
*/
|
|
26
73
|
getPing(): number;
|
|
74
|
+
/**
|
|
75
|
+
* Returns the underlying socket.io session id assigned at connect
|
|
76
|
+
* time. Empty / `null` when the socket is not connected.
|
|
77
|
+
*/
|
|
27
78
|
getClientId(): string;
|
|
79
|
+
/**
|
|
80
|
+
* Most recent server timestamp captured from a response, in
|
|
81
|
+
* milliseconds since epoch.
|
|
82
|
+
*/
|
|
28
83
|
private lastCurrentServerMilliseconds;
|
|
84
|
+
/**
|
|
85
|
+
* Local `Date.now()` reading at the moment
|
|
86
|
+
* {@link lastCurrentServerMilliseconds} was captured. Used to
|
|
87
|
+
* extrapolate the current server time without a fresh round trip.
|
|
88
|
+
*/
|
|
29
89
|
private lastGetCurrentMilliseconds;
|
|
90
|
+
/**
|
|
91
|
+
* Records a fresh server timestamp + local timestamp pair so
|
|
92
|
+
* {@link getServerTimestamp} can extrapolate the current server
|
|
93
|
+
* time without contacting the server again.
|
|
94
|
+
*
|
|
95
|
+
* Called automatically by {@link PeerBase.onResponseHandler} when
|
|
96
|
+
* a successful response carries `ParameterCode.Ts`, plus by
|
|
97
|
+
* {@link initPeer} as a sane default. Manual callers can use
|
|
98
|
+
* {@link syncTs} to refresh the estimate explicitly.
|
|
99
|
+
*
|
|
100
|
+
* @param currentServerMilliseconds Server-side `Date.now()`-style
|
|
101
|
+
* value in milliseconds since
|
|
102
|
+
* epoch.
|
|
103
|
+
*/
|
|
30
104
|
setServerTimeMilliseconds(currentServerMilliseconds: number): void;
|
|
105
|
+
/**
|
|
106
|
+
* Returns the SDK's best estimate of the current server clock,
|
|
107
|
+
* computed as `lastCurrentServerMilliseconds + (Date.now() -
|
|
108
|
+
* lastGetCurrentMilliseconds)`.
|
|
109
|
+
*
|
|
110
|
+
* The estimate ignores clock drift and request latency so it can
|
|
111
|
+
* be off by tens of milliseconds; treat it as a coarse "server
|
|
112
|
+
* now" rather than a precise timestamp source.
|
|
113
|
+
*/
|
|
31
114
|
getServerTimestamp(): number;
|
|
115
|
+
/**
|
|
116
|
+
* One-time bootstrap.
|
|
117
|
+
*
|
|
118
|
+
* Steps:
|
|
119
|
+
* 1. Seed the server-time estimate with `Date.now()` so
|
|
120
|
+
* {@link getServerTimestamp} returns a sane value before any
|
|
121
|
+
* response has been observed.
|
|
122
|
+
* 2. Validate the global {@link GNServerSettings} singleton
|
|
123
|
+
* (failing loudly when the SDK is used out of order).
|
|
124
|
+
* 3. Allocate the empty {@link AuthenticateStatus} cache. The
|
|
125
|
+
* persisted values are loaded later by {@link GNNetwork.init}
|
|
126
|
+
* after this method returns.
|
|
127
|
+
* 4. Build and initialise both the HTTP and socket peers.
|
|
128
|
+
*
|
|
129
|
+
* @throws Error when the global server settings have not been
|
|
130
|
+
* configured yet.
|
|
131
|
+
*/
|
|
32
132
|
initPeer(): void;
|
|
133
|
+
/**
|
|
134
|
+
* Drives one tick on both transports.
|
|
135
|
+
*
|
|
136
|
+
* Each tick lets every peer drain at most one queued request and
|
|
137
|
+
* sweep its in-flight set for timeouts. Called repeatedly by
|
|
138
|
+
* {@link ServiceUpdate}.
|
|
139
|
+
*/
|
|
33
140
|
service(): void;
|
|
141
|
+
/**
|
|
142
|
+
* Queues an operation request on the socket transport.
|
|
143
|
+
*
|
|
144
|
+
* Substitutes missing authentication data with the cached values
|
|
145
|
+
* (auth token from {@link AuthenticateStatus}, secret key + game
|
|
146
|
+
* id from {@link GNServerSettings}) so caller code can pass
|
|
147
|
+
* `null` for any override it does not need.
|
|
148
|
+
*
|
|
149
|
+
* @param requestType Logical request category.
|
|
150
|
+
* @param role Permission scope.
|
|
151
|
+
* @param request Pre-built request to enqueue.
|
|
152
|
+
* @param onResponse Optional response callback.
|
|
153
|
+
* @param authToken Optional one-shot auth token override.
|
|
154
|
+
* Pass `null` to use the cached token.
|
|
155
|
+
* @param secretKey Optional one-shot secret key override.
|
|
156
|
+
* Pass `null` to use the configured key.
|
|
157
|
+
* @param customTags Optional routing tags.
|
|
158
|
+
*/
|
|
34
159
|
sendViaSocket(requestType: RequestType, role: RequestRole, request: OperationRequest, onResponse?: Action1<OperationResponse>, authToken?: string, secretKey?: string, customTags?: GNHashtable): void;
|
|
160
|
+
/**
|
|
161
|
+
* Queues an operation request on the HTTP transport.
|
|
162
|
+
*
|
|
163
|
+
* Substitutes missing authentication data the same way
|
|
164
|
+
* {@link sendViaSocket} does. The only behavioural difference is
|
|
165
|
+
* the choice of transport.
|
|
166
|
+
*/
|
|
35
167
|
sendViaHttp(requestType: RequestType, role: RequestRole, request: OperationRequest, onResponse?: Action1<OperationResponse>, authToken?: string, secretKey?: string, customTags?: GNHashtable): void;
|
|
168
|
+
/**
|
|
169
|
+
* Pushes the cached auth token to the socket channel.
|
|
170
|
+
*
|
|
171
|
+
* The socket.io session has no implicit cookie / header carrier,
|
|
172
|
+
* so the backend needs an explicit auth frame to associate the
|
|
173
|
+
* socket with a user. Most callers do not need this — the SDK
|
|
174
|
+
* fires it from its own connect handler when an auth token is
|
|
175
|
+
* present.
|
|
176
|
+
*/
|
|
36
177
|
sendRequestAuthSocket(): void;
|
|
178
|
+
/**
|
|
179
|
+
* Opens the socket transport.
|
|
180
|
+
*
|
|
181
|
+
* Triggers the underlying socket.io client to dial the configured
|
|
182
|
+
* URL using the SSL / port settings active at the time of the
|
|
183
|
+
* call.
|
|
184
|
+
*
|
|
185
|
+
* @param _onSocketConnect Optional callback invoked once the
|
|
186
|
+
* socket finishes its connect handshake.
|
|
187
|
+
*/
|
|
37
188
|
connectSocket(_onSocketConnect: Action0): void;
|
|
189
|
+
/**
|
|
190
|
+
* Closes the socket transport.
|
|
191
|
+
*
|
|
192
|
+
* @param _onSocketDisconnect Optional callback invoked once the
|
|
193
|
+
* socket reports `disconnect`.
|
|
194
|
+
*/
|
|
38
195
|
disconnectSocket(_onSocketDisconnect: Action0): void;
|
|
196
|
+
/**
|
|
197
|
+
* Replaces the raw event observer that receives every incoming
|
|
198
|
+
* server event.
|
|
199
|
+
*
|
|
200
|
+
* Single-slot — calling this method again overwrites the previous
|
|
201
|
+
* handler. For non-destructive subscriptions register a typed
|
|
202
|
+
* {@link IServerEventHandler} via
|
|
203
|
+
* {@link subscriberServerEventHandler}.
|
|
204
|
+
*/
|
|
39
205
|
setOnEventHandler(_onEventHandler: Action1<OperationEvent>): void;
|
|
206
|
+
/**
|
|
207
|
+
* Adds a callback to the multi-subscriber socket-connect channel.
|
|
208
|
+
*
|
|
209
|
+
* Use a stable function reference so the matching
|
|
210
|
+
* {@link removeOnConnectHandler} can find and remove it later.
|
|
211
|
+
*/
|
|
40
212
|
setOnConnectHandler(_onConnectHandler: Action0): void;
|
|
213
|
+
/**
|
|
214
|
+
* Adds a callback to the multi-subscriber socket-disconnect channel.
|
|
215
|
+
*/
|
|
41
216
|
setOnDisconnectHandler(_onDisconnectHandler: Action0): void;
|
|
217
|
+
/**
|
|
218
|
+
* Removes a previously registered socket-connect callback. No-op
|
|
219
|
+
* when the function reference is not currently subscribed.
|
|
220
|
+
*/
|
|
42
221
|
removeOnConnectHandler(_onConnectHandler: Action0): void;
|
|
222
|
+
/**
|
|
223
|
+
* Removes a previously registered socket-disconnect callback.
|
|
224
|
+
* No-op when the function reference is not currently subscribed.
|
|
225
|
+
*/
|
|
43
226
|
removeOnDisconnectHandler(_onDisconnectHandler: Action0): void;
|
|
227
|
+
/**
|
|
228
|
+
* Registers an additional typed {@link IServerEventHandler}
|
|
229
|
+
* instance.
|
|
230
|
+
*
|
|
231
|
+
* Multiple handlers may register against the same event code;
|
|
232
|
+
* they are dispatched in registration order whenever the matching
|
|
233
|
+
* event arrives over the socket.
|
|
234
|
+
*/
|
|
44
235
|
subscriberServerEventHandler(serverEventHandler: IServerEventHandler): void;
|
|
236
|
+
/**
|
|
237
|
+
* Calls the timestamp endpoint over HTTP to refresh the local
|
|
238
|
+
* server-clock estimate.
|
|
239
|
+
*
|
|
240
|
+
* The endpoint returns a JSON object with a `ts` key (server
|
|
241
|
+
* milliseconds since epoch). On success, the helper invokes
|
|
242
|
+
* {@link setServerTimeMilliseconds} with the parsed value before
|
|
243
|
+
* the callback fires; on failure it falls back to `Date.now()`
|
|
244
|
+
* silently so the callback always sees a non-null value.
|
|
245
|
+
*
|
|
246
|
+
* @param onResponse Optional callback receiving the new server
|
|
247
|
+
* timestamp in milliseconds since epoch.
|
|
248
|
+
*/
|
|
45
249
|
syncTs(onResponse?: Action1<number>): void;
|
|
250
|
+
/**
|
|
251
|
+
* Inspects the player record bound to an arbitrary auth token
|
|
252
|
+
* without affecting the cached session.
|
|
253
|
+
*
|
|
254
|
+
* Routes through HTTP. The endpoint either returns
|
|
255
|
+
* `{ data: { ..., otherDatas } }` on success or `{ error: "..." }`
|
|
256
|
+
* on failure; this helper unwraps the JSON envelope and re-shapes
|
|
257
|
+
* `data.otherDatas` into a {@link GNHashtable} so the caller can
|
|
258
|
+
* use the typed accessors.
|
|
259
|
+
*
|
|
260
|
+
* @param authToken Auth token to inspect. Sent as a query
|
|
261
|
+
* parameter, **not** as the active SDK
|
|
262
|
+
* authorisation, so the cached session is
|
|
263
|
+
* unaffected.
|
|
264
|
+
* @param onResponse Callback receiving the typed
|
|
265
|
+
* {@link GetAuthInfoResponse}. Always invoked
|
|
266
|
+
* with either `error` or `data` populated.
|
|
267
|
+
*/
|
|
46
268
|
getAuthInfo(authToken: string, onResponse: Action1<GetAuthInfoResponse>): void;
|
|
269
|
+
/**
|
|
270
|
+
* Calls the health-check endpoint over HTTP.
|
|
271
|
+
*
|
|
272
|
+
* Endpoint behaviour mirrors {@link getAuthInfo}: returns
|
|
273
|
+
* `{ data: ... }` on success or `{ error: "..." }` on failure.
|
|
274
|
+
* Useful for warm-up probes / readiness dashboards. The endpoint
|
|
275
|
+
* does not require an auth token.
|
|
276
|
+
*
|
|
277
|
+
* @param onResponse Callback receiving the typed
|
|
278
|
+
* {@link HealthCheckResponse}.
|
|
279
|
+
*/
|
|
47
280
|
healthCheck(onResponse: Action1<HealthCheckResponse>): void;
|
|
281
|
+
/**
|
|
282
|
+
* Uploads a file through the authenticated multipart endpoint.
|
|
283
|
+
*
|
|
284
|
+
* Expected flow:
|
|
285
|
+
* 1. Reserve a slot via
|
|
286
|
+
* `GNNetwork.content.createNewFileUploadInfo(...)`. The
|
|
287
|
+
* backend returns a `fileId`.
|
|
288
|
+
* 2. Call this method with the binary payload. The SDK uses the
|
|
289
|
+
* cached auth token automatically — no override is accepted
|
|
290
|
+
* here.
|
|
291
|
+
* 3. Inspect `response.error` to verify the upload was committed.
|
|
292
|
+
*
|
|
293
|
+
* @param fileId Identifier returned by step 1.
|
|
294
|
+
* @param content Binary payload, framed as a `Blob` /
|
|
295
|
+
* `multipart/form-data` part by the underlying
|
|
296
|
+
* Axios call.
|
|
297
|
+
* @param filename Display filename written into the multipart
|
|
298
|
+
* envelope.
|
|
299
|
+
* @param mimetype Content-Type for the file part.
|
|
300
|
+
* @param onResponse Callback receiving the typed
|
|
301
|
+
* {@link UploadFileResponse}. Always invoked.
|
|
302
|
+
*/
|
|
48
303
|
uploadFile(fileId: string, content: Uint8Array, filename: string, mimetype: string, onResponse: Action1<UploadFileResponse>): void;
|
|
49
304
|
}
|
|
@@ -4,6 +4,33 @@ import { RequestType } from "./../constant/enumType/RequestType";
|
|
|
4
4
|
import { Action1 } from "./../common/Action1";
|
|
5
5
|
import { OperationRequest } from "./../entity/OperationRequest";
|
|
6
6
|
import { OperationResponse } from "./../entity/OperationResponse";
|
|
7
|
+
/**
|
|
8
|
+
* Per-request bookkeeping entry tracked by {@link PeerBase}.
|
|
9
|
+
*
|
|
10
|
+
* Lifecycle:
|
|
11
|
+
* 1. Constructed inside {@link PeerBase.enqueue} when caller code
|
|
12
|
+
* issues a request. The constructor seeds an absolute timeout
|
|
13
|
+
* deadline using the SDK-wide
|
|
14
|
+
* {@link OperationRequest.defaultTimeOut} fallback, plus copies
|
|
15
|
+
* every per-request override (auth token, secret key, custom tags,
|
|
16
|
+
* game id) into private fields so the queue can be drained without
|
|
17
|
+
* another lookup against the shared {@link AuthenticateStatus}.
|
|
18
|
+
* 2. Pushed into the FIFO queue. While waiting it is only inspected by
|
|
19
|
+
* `service()` for queue ordering.
|
|
20
|
+
* 3. Sent via {@link PeerBase.send}, which calls {@link onSend} to
|
|
21
|
+
* record the wall-clock send time and recompute the timeout
|
|
22
|
+
* deadline using the request-specific timeout. The entry then moves
|
|
23
|
+
* into the in-flight map keyed by `requestId` (when a callback is
|
|
24
|
+
* registered).
|
|
25
|
+
* 4. Resolved by {@link PeerBase.onResponseHandler}, which calls
|
|
26
|
+
* {@link onRecv} so {@link getExecuteTimerInMs} can return the
|
|
27
|
+
* measured round-trip in milliseconds.
|
|
28
|
+
*
|
|
29
|
+
* Timeout semantics: `timeout` is an absolute `Date.now()`-style epoch
|
|
30
|
+
* milliseconds value. The 0.1s timeout sweep inside `service()` checks
|
|
31
|
+
* every in-flight pending entry against the current time and synthesises
|
|
32
|
+
* a `ReturnCode.OperationTimeout` response when it has elapsed.
|
|
33
|
+
*/
|
|
7
34
|
export declare class OperationPending {
|
|
8
35
|
private operationRequest;
|
|
9
36
|
private requestType;
|
|
@@ -16,17 +43,102 @@ export declare class OperationPending {
|
|
|
16
43
|
private timeout;
|
|
17
44
|
private firstSend;
|
|
18
45
|
private secondsSend;
|
|
46
|
+
/**
|
|
47
|
+
* Captures every bit of state needed to send and later correlate
|
|
48
|
+
* the request without revisiting the shared SDK state.
|
|
49
|
+
*
|
|
50
|
+
* @param requestType Logical request category.
|
|
51
|
+
* @param role Permission scope evaluated by the
|
|
52
|
+
* backend.
|
|
53
|
+
* @param operationRequest Pre-built request (operation code,
|
|
54
|
+
* parameters, request id, timeout
|
|
55
|
+
* override).
|
|
56
|
+
* @param onOperationResponse Optional callback. `null` makes this
|
|
57
|
+
* a fire-and-forget entry; the timeout
|
|
58
|
+
* sweep still fires but nobody is
|
|
59
|
+
* notified of the timeout response.
|
|
60
|
+
* @param authToken Auth token to send with this request.
|
|
61
|
+
* @param secretKey Game-specific shared secret.
|
|
62
|
+
* @param customTags Routing / telemetry tags merged into
|
|
63
|
+
* the outbound payload.
|
|
64
|
+
* @param gameId Game identifier for the `Game-Id`
|
|
65
|
+
* header.
|
|
66
|
+
*/
|
|
19
67
|
constructor(requestType: RequestType, role: RequestRole, operationRequest: OperationRequest, onOperationResponse: Action1<OperationResponse>, authToken: string, secretKey: string, customTags: GNHashtable, gameId: string);
|
|
68
|
+
/**
|
|
69
|
+
* Returns the logical request category recorded at enqueue time.
|
|
70
|
+
*/
|
|
20
71
|
getRequestType(): RequestType;
|
|
72
|
+
/**
|
|
73
|
+
* Returns the permission role recorded at enqueue time.
|
|
74
|
+
*/
|
|
21
75
|
getRole(): RequestRole;
|
|
76
|
+
/**
|
|
77
|
+
* Returns the auth token captured at enqueue time.
|
|
78
|
+
*
|
|
79
|
+
* The token is copied verbatim into the entry — later mutations
|
|
80
|
+
* to {@link AuthenticateStatus} do not affect already-queued
|
|
81
|
+
* pending operations.
|
|
82
|
+
*/
|
|
22
83
|
getAuthToken(): string;
|
|
84
|
+
/**
|
|
85
|
+
* Returns the secret key captured at enqueue time.
|
|
86
|
+
*/
|
|
23
87
|
getSecretKey(): string;
|
|
88
|
+
/**
|
|
89
|
+
* Returns the game id captured at enqueue time.
|
|
90
|
+
*/
|
|
24
91
|
getGameId(): string;
|
|
92
|
+
/**
|
|
93
|
+
* Returns the custom tags captured at enqueue time, or `null` when
|
|
94
|
+
* none were supplied.
|
|
95
|
+
*/
|
|
25
96
|
getCustomTags(): GNHashtable;
|
|
97
|
+
/**
|
|
98
|
+
* Marks the operation as just sent and recomputes the absolute
|
|
99
|
+
* timeout deadline using the request-specific timeout.
|
|
100
|
+
*
|
|
101
|
+
* Called from {@link PeerBase.send} immediately before the actual
|
|
102
|
+
* transport-specific dispatch. The deadline value is later read by
|
|
103
|
+
* {@link isTimeout} during the periodic timeout sweep.
|
|
104
|
+
*/
|
|
26
105
|
onSend(): void;
|
|
106
|
+
/**
|
|
107
|
+
* Marks the operation as resolved so the round-trip duration can
|
|
108
|
+
* be measured.
|
|
109
|
+
*
|
|
110
|
+
* Called from {@link PeerBase.onResponseHandler} when a matching
|
|
111
|
+
* response arrives. The captured timestamp is paired with
|
|
112
|
+
* {@link firstSend} by {@link getExecuteTimerInMs}.
|
|
113
|
+
*/
|
|
27
114
|
onRecv(): void;
|
|
115
|
+
/**
|
|
116
|
+
* Returns the round-trip duration in milliseconds.
|
|
117
|
+
*
|
|
118
|
+
* Defined as `secondsSend - firstSend`. The peer feeds half of
|
|
119
|
+
* this value into {@link PeerBase.addPing} as the per-request
|
|
120
|
+
* one-way latency measurement.
|
|
121
|
+
*
|
|
122
|
+
* @returns Duration in milliseconds, or a negative / zero value
|
|
123
|
+
* when {@link onRecv} has not fired yet.
|
|
124
|
+
*/
|
|
28
125
|
getExecuteTimerInMs(): number;
|
|
126
|
+
/**
|
|
127
|
+
* Returns whether the absolute timeout deadline has elapsed.
|
|
128
|
+
*
|
|
129
|
+
* The peer's `service()` sweeps with this method every 0.1s and
|
|
130
|
+
* synthesises a `ReturnCode.OperationTimeout` response when it
|
|
131
|
+
* returns `true`.
|
|
132
|
+
*/
|
|
29
133
|
isTimeout(): boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Returns the underlying {@link OperationRequest} captured at
|
|
136
|
+
* construction time.
|
|
137
|
+
*/
|
|
30
138
|
getOperationRequest(): OperationRequest;
|
|
139
|
+
/**
|
|
140
|
+
* Returns the response callback captured at construction time, or
|
|
141
|
+
* `null` for a fire-and-forget entry.
|
|
142
|
+
*/
|
|
31
143
|
getCallback(): Action1<OperationResponse>;
|
|
32
144
|
}
|