@xmobitea/gn-typescript-client 2.6.12-tsc → 2.6.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (242) hide show
  1. package/LICENSE +1 -1
  2. package/README.MD +1 -0
  3. package/dist/gearn.js.client.js +47354 -0
  4. package/dist/gearn.js.client.min.js +2 -0
  5. package/dist/gearn.js.client.min.js.LICENSE.txt +14 -0
  6. package/dist/index.d.ts +2 -2
  7. package/dist/index.js +34362 -339
  8. package/dist/runtime/GNNetwork.d.ts +1 -1
  9. package/dist/runtime/helper/GNSupport.d.ts +20 -0
  10. package/dist/runtime/{entity → helper}/OperationHelper.d.ts +1 -1
  11. package/dist/runtime/helper/StorageService.d.ts +18 -0
  12. package/dist/runtime/networking/NetworkingPeer.d.ts +1 -1
  13. package/dist/runtime/typescript/ServiceUpdate.d.ts +2 -0
  14. package/docs/COCOS_CREATOR_INTEGRATION.md +116 -0
  15. package/examples/cocos-creator/GearNExample.ts.txt +176 -0
  16. package/package.json +11 -10
  17. package/srcSwift/Package.swift +32 -0
  18. package/srcSwift/Sources/GearN/runtime/GNNetwork.swift +530 -0
  19. package/srcSwift/Sources/GearN/runtime/GNNetworkAuthenticateApi.swift +178 -0
  20. package/srcSwift/Sources/GearN/runtime/GNNetworkCharacterPlayerApi.swift +1162 -0
  21. package/srcSwift/Sources/GearN/runtime/GNNetworkCloudScriptApi.swift +154 -0
  22. package/srcSwift/Sources/GearN/runtime/GNNetworkContentApi.swift +208 -0
  23. package/srcSwift/Sources/GearN/runtime/GNNetworkDashboardApi.swift +240 -0
  24. package/srcSwift/Sources/GearN/runtime/GNNetworkGamePlayerApi.swift +1369 -0
  25. package/srcSwift/Sources/GearN/runtime/GNNetworkGroupApi.swift +1100 -0
  26. package/srcSwift/Sources/GearN/runtime/GNNetworkInventoryApi.swift +937 -0
  27. package/srcSwift/Sources/GearN/runtime/GNNetworkMasterPlayerApi.swift +2323 -0
  28. package/srcSwift/Sources/GearN/runtime/GNNetworkMultiplayerApi.swift +298 -0
  29. package/srcSwift/Sources/GearN/runtime/GNNetworkStoreInventoryApi.swift +397 -0
  30. package/srcSwift/Sources/GearN/runtime/common/Action0.swift +3 -0
  31. package/srcSwift/Sources/GearN/runtime/common/Action1.swift +3 -0
  32. package/srcSwift/Sources/GearN/runtime/common/Action2.swift +3 -0
  33. package/srcSwift/Sources/GearN/runtime/common/Action3.swift +3 -0
  34. package/srcSwift/Sources/GearN/runtime/common/Action4.swift +3 -0
  35. package/srcSwift/Sources/GearN/runtime/common/GNArray.swift +204 -0
  36. package/srcSwift/Sources/GearN/runtime/common/GNData.swift +108 -0
  37. package/srcSwift/Sources/GearN/runtime/common/GNHashtable.swift +200 -0
  38. package/srcSwift/Sources/GearN/runtime/config/GNServerSettings.swift +95 -0
  39. package/srcSwift/Sources/GearN/runtime/constant/Commands.swift +28 -0
  40. package/srcSwift/Sources/GearN/runtime/constant/EventCode.swift +10 -0
  41. package/srcSwift/Sources/GearN/runtime/constant/OperationCode.swift +252 -0
  42. package/srcSwift/Sources/GearN/runtime/constant/ReturnCode.swift +19 -0
  43. package/srcSwift/Sources/GearN/runtime/constant/enumType/ExecuteResponseStatus.swift +9 -0
  44. package/srcSwift/Sources/GearN/runtime/constant/enumType/FriendStatus.swift +8 -0
  45. package/srcSwift/Sources/GearN/runtime/constant/enumType/GoogleLoginType.swift +6 -0
  46. package/srcSwift/Sources/GearN/runtime/constant/enumType/GroupStatus.swift +8 -0
  47. package/srcSwift/Sources/GearN/runtime/constant/enumType/InvalidMemberType.swift +19 -0
  48. package/srcSwift/Sources/GearN/runtime/constant/enumType/ItemType.swift +6 -0
  49. package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingMemberStatus.swift +7 -0
  50. package/srcSwift/Sources/GearN/runtime/constant/enumType/MatchmakingTicketStatus.swift +9 -0
  51. package/srcSwift/Sources/GearN/runtime/constant/enumType/OwnerType.swift +10 -0
  52. package/srcSwift/Sources/GearN/runtime/constant/enumType/PermissionDataItem.swift +6 -0
  53. package/srcSwift/Sources/GearN/runtime/constant/enumType/PushPlatformType.swift +6 -0
  54. package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestRole.swift +7 -0
  55. package/srcSwift/Sources/GearN/runtime/constant/enumType/RequestType.swift +16 -0
  56. package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreItemType.swift +6 -0
  57. package/srcSwift/Sources/GearN/runtime/constant/enumType/StoreReceiveType.swift +9 -0
  58. package/srcSwift/Sources/GearN/runtime/constant/errorCode/ErrorCode.swift +58 -0
  59. package/srcSwift/Sources/GearN/runtime/constant/parameterCode/ParameterCode.swift +672 -0
  60. package/srcSwift/Sources/GearN/runtime/entity/DataMember.swift +196 -0
  61. package/srcSwift/Sources/GearN/runtime/entity/GNMetadata.swift +9 -0
  62. package/srcSwift/Sources/GearN/runtime/entity/InvalidMember.swift +11 -0
  63. package/srcSwift/Sources/GearN/runtime/entity/OperationEvent.swift +38 -0
  64. package/srcSwift/Sources/GearN/runtime/entity/OperationHelper.swift +28 -0
  65. package/srcSwift/Sources/GearN/runtime/entity/OperationRequest.swift +62 -0
  66. package/srcSwift/Sources/GearN/runtime/entity/OperationResponse.swift +98 -0
  67. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateModels.swift +351 -0
  68. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateRequestModels.swift +81 -0
  69. package/srcSwift/Sources/GearN/runtime/entity/models/AuthenticateResponseModels.swift +108 -0
  70. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerModels.swift +1045 -0
  71. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerRequestModels.swift +821 -0
  72. package/srcSwift/Sources/GearN/runtime/entity/models/CharacterPlayerResponseModels.swift +588 -0
  73. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptModels.swift +187 -0
  74. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptRequestModels.swift +84 -0
  75. package/srcSwift/Sources/GearN/runtime/entity/models/CloudScriptResponseModels.swift +59 -0
  76. package/srcSwift/Sources/GearN/runtime/entity/models/ContentModels.swift +195 -0
  77. package/srcSwift/Sources/GearN/runtime/entity/models/ContentRequestModels.swift +116 -0
  78. package/srcSwift/Sources/GearN/runtime/entity/models/ContentResponseModels.swift +81 -0
  79. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardModels.swift +426 -0
  80. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardRequestModels.swift +160 -0
  81. package/srcSwift/Sources/GearN/runtime/entity/models/DashboardResponseModels.swift +82 -0
  82. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerModels.swift +1334 -0
  83. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerRequestModels.swift +643 -0
  84. package/srcSwift/Sources/GearN/runtime/entity/models/GamePlayerResponseModels.swift +213 -0
  85. package/srcSwift/Sources/GearN/runtime/entity/models/GenericModels.swift +171 -0
  86. package/srcSwift/Sources/GearN/runtime/entity/models/GroupModels.swift +850 -0
  87. package/srcSwift/Sources/GearN/runtime/entity/models/GroupRequestModels.swift +485 -0
  88. package/srcSwift/Sources/GearN/runtime/entity/models/GroupResponseModels.swift +165 -0
  89. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryModels.swift +679 -0
  90. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryRequestModels.swift +413 -0
  91. package/srcSwift/Sources/GearN/runtime/entity/models/InventoryResponseModels.swift +141 -0
  92. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerModels.swift +378 -0
  93. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerRequestModels.swift +147 -0
  94. package/srcSwift/Sources/GearN/runtime/entity/models/MasterPlayerResponseModels.swift +318 -0
  95. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerModels.swift +319 -0
  96. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerRequestModels.swift +125 -0
  97. package/srcSwift/Sources/GearN/runtime/entity/models/MultiplayerResponseModels.swift +45 -0
  98. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryModels.swift +633 -0
  99. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryRequestModels.swift +173 -0
  100. package/srcSwift/Sources/GearN/runtime/entity/models/StoreInventoryResponseModels.swift +61 -0
  101. package/srcSwift/Sources/GearN/runtime/entity/request/CustomOperationRequest.swift +42 -0
  102. package/srcSwift/Sources/GearN/runtime/entity/response/CustomOperationResponse.swift +49 -0
  103. package/srcSwift/Sources/GearN/runtime/entity/response/GetAuthInfoResponse.swift +43 -0
  104. package/srcSwift/Sources/GearN/runtime/entity/response/HealthCheckResponse.swift +86 -0
  105. package/srcSwift/Sources/GearN/runtime/entity/response/UploadFileResponse.swift +15 -0
  106. package/srcSwift/Sources/GearN/runtime/helper/CodeHelper.swift +107 -0
  107. package/srcSwift/Sources/GearN/runtime/helper/ConverterService.swift +98 -0
  108. package/srcSwift/Sources/GearN/runtime/helper/EnumUtility.swift +34 -0
  109. package/srcSwift/Sources/GearN/runtime/helper/GNSupport.swift +41 -0
  110. package/srcSwift/Sources/GearN/runtime/helper/GNUtils.swift +66 -0
  111. package/srcSwift/Sources/GearN/runtime/helper/MessagePackConverterService.swift +21 -0
  112. package/srcSwift/Sources/GearN/runtime/helper/StorageService.swift +29 -0
  113. package/srcSwift/Sources/GearN/runtime/logger/GNDebug.swift +33 -0
  114. package/srcSwift/Sources/GearN/runtime/networking/AuthenticateStatus.swift +24 -0
  115. package/srcSwift/Sources/GearN/runtime/networking/IPeer.swift +8 -0
  116. package/srcSwift/Sources/GearN/runtime/networking/NetworkingPeer.swift +368 -0
  117. package/srcSwift/Sources/GearN/runtime/networking/OperationPending.swift +81 -0
  118. package/srcSwift/Sources/GearN/runtime/networking/PeerBase.swift +228 -0
  119. package/srcSwift/Sources/GearN/runtime/networking/handler/IServerEventHandler.swift +20 -0
  120. package/srcSwift/Sources/GearN/runtime/networking/http/HttpPeer.swift +226 -0
  121. package/srcSwift/Sources/GearN/runtime/networking/http/HttpTypes.swift +24 -0
  122. package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingHttpPeerBase.swift +13 -0
  123. package/srcSwift/Sources/GearN/runtime/networking/http/NetworkingPeerUrlSession.swift +125 -0
  124. package/srcSwift/Sources/GearN/runtime/networking/request/NetRequest.swift +19 -0
  125. package/srcSwift/Sources/GearN/runtime/networking/response/NetResponse.swift +13 -0
  126. package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingPeerSocketIOClient.swift +244 -0
  127. package/srcSwift/Sources/GearN/runtime/networking/socket/NetworkingSocketPeerBase.swift +59 -0
  128. package/srcSwift/Sources/GearN/runtime/networking/socket/SocketPeer.swift +136 -0
  129. package/tsconfig-build.cocos.json +31 -0
  130. package/webpack.config.cocos.mjs +78 -0
  131. package/dist/runtime/GNNetwork.js +0 -260
  132. package/dist/runtime/GNNetworkAuthenticateApi.js +0 -122
  133. package/dist/runtime/GNNetworkCharacterPlayerApi.js +0 -968
  134. package/dist/runtime/GNNetworkCloudScriptApi.js +0 -104
  135. package/dist/runtime/GNNetworkContentApi.js +0 -140
  136. package/dist/runtime/GNNetworkDashboardApi.js +0 -170
  137. package/dist/runtime/GNNetworkGamePlayerApi.js +0 -950
  138. package/dist/runtime/GNNetworkGroupApi.js +0 -734
  139. package/dist/runtime/GNNetworkInventoryApi.js +0 -626
  140. package/dist/runtime/GNNetworkMasterPlayerApi.js +0 -1550
  141. package/dist/runtime/GNNetworkMultiplayerApi.js +0 -194
  142. package/dist/runtime/GNNetworkStoreInventoryApi.js +0 -266
  143. package/dist/runtime/common/Action0.js +0 -1
  144. package/dist/runtime/common/Action1.js +0 -1
  145. package/dist/runtime/common/Action2.js +0 -1
  146. package/dist/runtime/common/Action3.js +0 -1
  147. package/dist/runtime/common/Action4.js +0 -1
  148. package/dist/runtime/common/GNData.js +0 -211
  149. package/dist/runtime/config/GNServerSettings.js +0 -156
  150. package/dist/runtime/constant/Commands.js +0 -20
  151. package/dist/runtime/constant/EventCode.js +0 -8
  152. package/dist/runtime/constant/OperationCode.js +0 -221
  153. package/dist/runtime/constant/ReturnCode.js +0 -14
  154. package/dist/runtime/constant/enumType/ExecuteResponseStatus.js +0 -8
  155. package/dist/runtime/constant/enumType/FriendStatus.js +0 -7
  156. package/dist/runtime/constant/enumType/GoogleLoginType.js +0 -5
  157. package/dist/runtime/constant/enumType/GroupStatus.js +0 -7
  158. package/dist/runtime/constant/enumType/InvalidMemberType.js +0 -18
  159. package/dist/runtime/constant/enumType/ItemType.js +0 -5
  160. package/dist/runtime/constant/enumType/MatchmakingMemberStatus.js +0 -6
  161. package/dist/runtime/constant/enumType/MatchmakingTicketStatus.js +0 -8
  162. package/dist/runtime/constant/enumType/OwnerType.js +0 -9
  163. package/dist/runtime/constant/enumType/PermissionDataItem.js +0 -5
  164. package/dist/runtime/constant/enumType/PushPlatformType.js +0 -5
  165. package/dist/runtime/constant/enumType/RequestRole.js +0 -6
  166. package/dist/runtime/constant/enumType/RequestType.js +0 -15
  167. package/dist/runtime/constant/enumType/StoreItemType.js +0 -5
  168. package/dist/runtime/constant/enumType/StoreReceiveType.js +0 -8
  169. package/dist/runtime/constant/errorCode/ErrorCode.js +0 -52
  170. package/dist/runtime/constant/parameterCode/ParameterCode.js +0 -617
  171. package/dist/runtime/entity/DataMember.js +0 -208
  172. package/dist/runtime/entity/GNMetadata.js +0 -11
  173. package/dist/runtime/entity/InvalidMember.js +0 -1
  174. package/dist/runtime/entity/OperationEvent.js +0 -24
  175. package/dist/runtime/entity/OperationHelper.js +0 -24
  176. package/dist/runtime/entity/OperationRequest.js +0 -42
  177. package/dist/runtime/entity/OperationResponse.js +0 -73
  178. package/dist/runtime/entity/models/AuthenticateModels.js +0 -426
  179. package/dist/runtime/entity/models/AuthenticateRequestModels.js +0 -188
  180. package/dist/runtime/entity/models/AuthenticateResponseModels.js +0 -131
  181. package/dist/runtime/entity/models/CharacterPlayerModels.js +0 -1433
  182. package/dist/runtime/entity/models/CharacterPlayerRequestModels.js +0 -1386
  183. package/dist/runtime/entity/models/CharacterPlayerResponseModels.js +0 -376
  184. package/dist/runtime/entity/models/CloudScriptModels.js +0 -197
  185. package/dist/runtime/entity/models/CloudScriptRequestModels.js +0 -138
  186. package/dist/runtime/entity/models/CloudScriptResponseModels.js +0 -40
  187. package/dist/runtime/entity/models/ContentModels.js +0 -203
  188. package/dist/runtime/entity/models/ContentRequestModels.js +0 -190
  189. package/dist/runtime/entity/models/ContentResponseModels.js +0 -54
  190. package/dist/runtime/entity/models/DashboardModels.js +0 -3002
  191. package/dist/runtime/entity/models/DashboardRequestModels.js +0 -268
  192. package/dist/runtime/entity/models/DashboardResponseModels.js +0 -187
  193. package/dist/runtime/entity/models/GamePlayerModels.js +0 -1591
  194. package/dist/runtime/entity/models/GamePlayerRequestModels.js +0 -1360
  195. package/dist/runtime/entity/models/GamePlayerResponseModels.js +0 -369
  196. package/dist/runtime/entity/models/GenericModels.js +0 -177
  197. package/dist/runtime/entity/models/GroupModels.js +0 -1135
  198. package/dist/runtime/entity/models/GroupRequestModels.js +0 -1048
  199. package/dist/runtime/entity/models/GroupResponseModels.js +0 -285
  200. package/dist/runtime/entity/models/InventoryModels.js +0 -915
  201. package/dist/runtime/entity/models/InventoryRequestModels.js +0 -892
  202. package/dist/runtime/entity/models/InventoryResponseModels.js +0 -243
  203. package/dist/runtime/entity/models/MasterPlayerModels.js +0 -2573
  204. package/dist/runtime/entity/models/MasterPlayerRequestModels.js +0 -2228
  205. package/dist/runtime/entity/models/MasterPlayerResponseModels.js +0 -607
  206. package/dist/runtime/entity/models/MultiplayerModels.js +0 -404
  207. package/dist/runtime/entity/models/MultiplayerRequestModels.js +0 -268
  208. package/dist/runtime/entity/models/MultiplayerResponseModels.js +0 -75
  209. package/dist/runtime/entity/models/StoreInventoryModels.js +0 -797
  210. package/dist/runtime/entity/models/StoreInventoryRequestModels.js +0 -372
  211. package/dist/runtime/entity/models/StoreInventoryResponseModels.js +0 -103
  212. package/dist/runtime/entity/request/CustomOperationRequest.js +0 -24
  213. package/dist/runtime/entity/response/CustomOperationResponse.js +0 -29
  214. package/dist/runtime/entity/response/GetAuthInfoResponse.js +0 -2
  215. package/dist/runtime/entity/response/HealthCheckResponse.js +0 -2
  216. package/dist/runtime/entity/response/UploadFileResponse.js +0 -2
  217. package/dist/runtime/helper/CodeHelper.js +0 -63
  218. package/dist/runtime/helper/ConverterService.js +0 -275
  219. package/dist/runtime/helper/EnumUtility.js +0 -33
  220. package/dist/runtime/helper/GNSupport.js +0 -8
  221. package/dist/runtime/helper/GNUtils.js +0 -72
  222. package/dist/runtime/helper/MessagePackConverterService.js +0 -9
  223. package/dist/runtime/logger/GNDebug.js +0 -29
  224. package/dist/runtime/networking/AuthenticateStatus.js +0 -14
  225. package/dist/runtime/networking/IPeer.js +0 -1
  226. package/dist/runtime/networking/NetworkingPeer.js +0 -208
  227. package/dist/runtime/networking/OperationPending.js +0 -53
  228. package/dist/runtime/networking/PeerBase.js +0 -161
  229. package/dist/runtime/networking/handler/IServerEventHandler.js +0 -13
  230. package/dist/runtime/networking/handler/OnCharacterPlayerFriendUpdateEventHandler.js +0 -39
  231. package/dist/runtime/networking/handler/OnCharacterPlayerGroupUpdateEventHandler.js +0 -39
  232. package/dist/runtime/networking/handler/OnGamePlayerFriendUpdateEventHandler.js +0 -39
  233. package/dist/runtime/networking/handler/OnGamePlayerGroupUpdateEventHandler.js +0 -39
  234. package/dist/runtime/networking/handler/OnGroupMemberUpdateEventHandler.js +0 -35
  235. package/dist/runtime/networking/handler/OnGroupMessageUpdateEventHandler.js +0 -43
  236. package/dist/runtime/networking/http/HttpPeer.js +0 -123
  237. package/dist/runtime/networking/http/NetworkingHttpPeerBase.js +0 -9
  238. package/dist/runtime/networking/http/NetworkingPeerAxiosRequest.js +0 -179
  239. package/dist/runtime/networking/socket/NetworkingPeerSocketIOClient.js +0 -130
  240. package/dist/runtime/networking/socket/NetworkingSocketPeerBase.js +0 -165
  241. package/dist/runtime/networking/socket/SocketPeer.js +0 -115
  242. package/dist/runtime/typescript/ServiceUpdate.js +0 -12
@@ -0,0 +1,196 @@
1
+ import Foundation
2
+
3
+ public protocol IGNAnyDataMember: AnyObject {
4
+ var intCode: Int? { get }
5
+ var stringCode: String? { get }
6
+ var isOptional: Bool { get }
7
+ func setValue(from data: GNHashtable)
8
+ func getValue() -> Any?
9
+ }
10
+
11
+ @propertyWrapper
12
+ public class DataMember<T>: IGNAnyDataMember {
13
+ public let intCode: Int?
14
+ public let stringCode: String?
15
+ public let isOptional: Bool
16
+ public let defaultValue: T?
17
+
18
+ public var wrappedValue: T
19
+
20
+ public init(wrappedValue: T, code: Int? = nil, key: String? = nil, isOptional: Bool = false, defaultValue: T? = nil) {
21
+ self.wrappedValue = wrappedValue
22
+ self.intCode = code
23
+ self.stringCode = key
24
+ self.isOptional = isOptional
25
+ self.defaultValue = defaultValue
26
+ }
27
+
28
+ // Convenience init for optional types initialized as nil
29
+ public init(code: Int? = nil, key: String? = nil, isOptional: Bool = false, defaultValue: T? = nil) where T: ExpressibleByNilLiteral {
30
+ self.wrappedValue = nil
31
+ self.intCode = code
32
+ self.stringCode = key
33
+ self.isOptional = isOptional
34
+ self.defaultValue = defaultValue
35
+ }
36
+
37
+ public func setValue(from data: GNHashtable) {
38
+ var val: Any? = nil
39
+ if let code = intCode {
40
+ val = data.getObject(code)
41
+ } else if let key = stringCode {
42
+ val = data.getObject(key)
43
+ }
44
+
45
+ if let v = val as? T {
46
+ self.wrappedValue = v
47
+ } else if let def = self.defaultValue {
48
+ self.wrappedValue = def
49
+ }
50
+ }
51
+
52
+ public func getValue() -> Any? {
53
+ return self.wrappedValue
54
+ }
55
+
56
+ public var code: Int { return intCode ?? 0 } // Legacy support if needed, or remove protocol requirement for non-optional code
57
+ }
58
+
59
+ // MARK: - Specialized Wrappers
60
+
61
+ @propertyWrapper
62
+ public class StringDataMember: DataMember<String?> {
63
+ public init(wrappedValue: String? = nil, code: Int? = nil, key: String? = nil, minLength: Int = 0, maxLength: Int = Int.max, mustNonNull: Bool = false, isOptional: Bool = true, defaultValue: String? = nil) {
64
+ super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: defaultValue)
65
+ }
66
+
67
+ public override func setValue(from data: GNHashtable) {
68
+ var val: String? = nil
69
+ if let c = intCode { val = data.getString(c) }
70
+ else if let k = stringCode { val = data.getString(k) }
71
+
72
+ if let v = val {
73
+ self.wrappedValue = v
74
+ } else {
75
+ self.wrappedValue = self.defaultValue
76
+ }
77
+ }
78
+ }
79
+
80
+ @propertyWrapper
81
+ public class BooleanDataMember: DataMember<Bool?> {
82
+ public init(wrappedValue: Bool? = nil, code: Int? = nil, key: String? = nil, isOptional: Bool = true, defaultValue: Bool? = nil) {
83
+ super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: defaultValue)
84
+ }
85
+
86
+ public override func setValue(from data: GNHashtable) {
87
+ var val: Bool? = nil
88
+ if let c = intCode { val = data.getBool(c) }
89
+ else if let k = stringCode { val = data.getBool(k) }
90
+
91
+ if let v = val {
92
+ self.wrappedValue = v
93
+ } else {
94
+ self.wrappedValue = self.defaultValue
95
+ }
96
+ }
97
+ }
98
+
99
+ @propertyWrapper
100
+ public class NumberDataMember: DataMember<Int> {
101
+ public init(wrappedValue: Int = 0, code: Int? = nil, key: String? = nil, isOptional: Bool = false, defaultValue: Int = 0, minValue: Int = Int.min, maxValue: Int = Int.max, mustInt: Bool = true) {
102
+ super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: defaultValue)
103
+ }
104
+
105
+ public override func setValue(from data: GNHashtable) {
106
+ var val: Int? = nil
107
+ if let c = intCode { val = data.getInt(c) }
108
+ else if let k = stringCode { val = data.getInt(k) }
109
+
110
+ if let v = val {
111
+ self.wrappedValue = v
112
+ } else {
113
+ self.wrappedValue = self.defaultValue ?? 0
114
+ }
115
+ }
116
+ }
117
+
118
+ @propertyWrapper
119
+ public class GNHashtableDataMember<T: Initiable>: DataMember<T?> {
120
+ public init(wrappedValue: T? = nil, code: Int? = nil, key: String? = nil, isOptional: Bool = true, mustNonNull: Bool = false) {
121
+ super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: nil)
122
+ }
123
+
124
+ public override func setValue(from data: GNHashtable) {
125
+ var val: GNHashtable? = nil
126
+ if let c = intCode { val = data.getGNHashtable(c) }
127
+ else if let k = stringCode { val = data.getGNHashtable(k) }
128
+
129
+ if let v = val {
130
+ self.wrappedValue = ConverterService.deserializeObject(gnHashtable: v, cls: T.self)
131
+ } else {
132
+ self.wrappedValue = nil
133
+ }
134
+ }
135
+
136
+ public override func getValue() -> Any? {
137
+ if let v = self.wrappedValue {
138
+ return ConverterService.serializeObject(object: v)
139
+ }
140
+ return nil
141
+ }
142
+ }
143
+
144
+ @propertyWrapper
145
+ public class GNArrayDataMember<T>: DataMember<[T]?> {
146
+ public let elementCls: Any.Type?
147
+
148
+ public init(wrappedValue: [T]? = nil, code: Int? = nil, key: String? = nil, isOptional: Bool = true, elementCls: Any.Type? = nil) {
149
+ self.elementCls = elementCls
150
+ super.init(wrappedValue: wrappedValue, code: code, key: key, isOptional: isOptional, defaultValue: nil)
151
+ }
152
+
153
+ public override func setValue(from data: GNHashtable) {
154
+ var list: GNArray? = nil
155
+ if let c = intCode { list = data.getGNArray(c) }
156
+ else if let k = stringCode { list = data.getGNArray(k) }
157
+
158
+ guard let validList = list else {
159
+ self.wrappedValue = nil
160
+ return
161
+ }
162
+
163
+ if let _ = T.self as? String.Type {
164
+ self.wrappedValue = validList.toArray() as? [T]
165
+ } else if let _ = T.self as? Int.Type {
166
+ self.wrappedValue = validList.toArray() as? [T]
167
+ } else {
168
+ if let elType = elementCls as? Initiable.Type {
169
+ var res: [T] = []
170
+ for i in 0..<validList.count {
171
+ if let ht = validList.getGNHashtable(i), let obj = ConverterService.deserializeObject(gnHashtable: ht, cls: elType) as? T {
172
+ res.append(obj)
173
+ }
174
+ }
175
+ self.wrappedValue = res
176
+ } else {
177
+ self.wrappedValue = validList.toArray() as? [T]
178
+ }
179
+ }
180
+ }
181
+
182
+ public override func getValue() -> Any? {
183
+ guard let list = self.wrappedValue else { return nil }
184
+ let gnParams = GNArray()
185
+ for item in list {
186
+ if let validItem = item as? Initiable {
187
+ if let ser = ConverterService.serializeObject(object: validItem) {
188
+ gnParams.add(ser)
189
+ }
190
+ } else {
191
+ gnParams.add(item)
192
+ }
193
+ }
194
+ return gnParams
195
+ }
196
+ }
@@ -0,0 +1,9 @@
1
+ import Foundation
2
+
3
+ public enum FieldDataType: Int {
4
+ case Boolean = 0
5
+ case Number = 1
6
+ case String = 2
7
+ case Array = 3
8
+ case Object = 4
9
+ }
@@ -0,0 +1,11 @@
1
+ import Foundation
2
+
3
+ public struct InvalidMember {
4
+ public var code: String
5
+ public var invalidMemberType: InvalidMemberType
6
+
7
+ public init(code: String, invalidMemberType: InvalidMemberType) {
8
+ self.code = code
9
+ self.invalidMemberType = invalidMemberType
10
+ }
11
+ }
@@ -0,0 +1,38 @@
1
+ import Foundation
2
+
3
+ public class OperationEvent {
4
+ private var eventCode: String
5
+ private var parameters: GNHashtable?
6
+
7
+ public init(eventCode: String, parameters: GNHashtable? = nil) {
8
+ self.eventCode = eventCode
9
+ self.parameters = parameters
10
+ }
11
+
12
+ public func getEventCode() -> String {
13
+ return self.eventCode
14
+ }
15
+
16
+ public func getParameters() -> GNHashtable? {
17
+ return self.parameters
18
+ }
19
+
20
+ @discardableResult
21
+ public func setParameter(key: String, value: Any) -> OperationEvent {
22
+ if self.parameters == nil {
23
+ self.parameters = GNHashtable()
24
+ }
25
+ self.parameters?.add(key, value)
26
+ return self
27
+ }
28
+
29
+ @discardableResult
30
+ public func setParameters(parameters: GNHashtable) -> OperationEvent {
31
+ self.parameters = parameters
32
+ return self
33
+ }
34
+
35
+ public var description: String {
36
+ return "EventCode: \(self.eventCode), parameters: \(self.parameters?.toData().description ?? "nil")"
37
+ }
38
+ }
@@ -0,0 +1,28 @@
1
+ import Foundation
2
+
3
+ public class OperationHelper {
4
+ public static func toSocketData(requestType: RequestType, role: RequestRole, request: OperationRequest) -> [Any?] {
5
+ let requestId = request.getRequestId()
6
+
7
+ if requestId == -1 || requestId == 0 { // 0 might be default unchecked value
8
+ return [
9
+ CodeHelper.getRequestTypeName(requestType.rawValue),
10
+ CodeHelper.getRequestRoleName(role.rawValue),
11
+ request.getOperationCode(),
12
+ (request.getParameters() == nil) ? nil : request.getParameters()!.toData()
13
+ ]
14
+ } else {
15
+ return [
16
+ CodeHelper.getRequestTypeName(requestType.rawValue),
17
+ CodeHelper.getRequestRoleName(role.rawValue),
18
+ request.getOperationCode(),
19
+ (request.getParameters() == nil) ? nil : request.getParameters()!.toData(),
20
+ requestId
21
+ ]
22
+ }
23
+ }
24
+
25
+ public static func toHttpData(requestType: RequestType, role: RequestRole, request: OperationRequest) -> Any? {
26
+ return nil
27
+ }
28
+ }
@@ -0,0 +1,62 @@
1
+ import Foundation
2
+
3
+ public class OperationRequest {
4
+ public static let defaultTimeOut: Int = 20
5
+
6
+ private var operationCode: String
7
+ private var requestId: Int = 0
8
+ private var parameters: GNHashtable?
9
+ private var timeout: Int
10
+
11
+ public init(operationCode: String, timeout: Int = OperationRequest.defaultTimeOut) {
12
+ self.operationCode = operationCode
13
+ self.timeout = timeout
14
+ }
15
+
16
+ public func getOperationCode() -> String {
17
+ return self.operationCode
18
+ }
19
+
20
+ public func getRequestId() -> Int {
21
+ return self.requestId
22
+ }
23
+
24
+ public func getParameters() -> GNHashtable? {
25
+ return self.parameters
26
+ }
27
+
28
+ public func getTimeout() -> Int {
29
+ return self.timeout
30
+ }
31
+
32
+ @discardableResult
33
+ public func setRequestId(_ requestId: Int) -> OperationRequest {
34
+ self.requestId = requestId
35
+ return self
36
+ }
37
+
38
+ @discardableResult
39
+ public func setParameter(key: String, value: Any) -> OperationRequest {
40
+ if self.parameters == nil {
41
+ self.parameters = GNHashtable()
42
+ }
43
+ self.parameters?.add(key, value)
44
+ return self
45
+ }
46
+
47
+ @discardableResult
48
+ public func setParameters(_ parameters: GNHashtable) -> OperationRequest {
49
+ self.parameters = parameters
50
+ return self
51
+ }
52
+
53
+ @discardableResult
54
+ public func setTimeout(_ timeout: Int) -> OperationRequest {
55
+ self.timeout = timeout
56
+ return self
57
+ }
58
+
59
+ public var description: String {
60
+ return "OperationCode: \(self.operationCode), requestId: \(self.requestId), parameters: \(self.parameters?.toData().description ?? "nil")"
61
+ }
62
+ }
@@ -0,0 +1,98 @@
1
+ import Foundation
2
+
3
+ public class OperationResponse {
4
+ private var operationCode: String
5
+ private var responseId: Int
6
+ private var returnCode: Int = 0
7
+ private var debugMessage: String?
8
+ private var parameters: GNHashtable?
9
+
10
+ private var invalidMembers: [InvalidMember]?
11
+
12
+ public init(operationCode: String, responseId: Int) {
13
+ self.operationCode = operationCode
14
+ self.responseId = responseId
15
+ self.parameters = GNHashtable()
16
+ self.debugMessage = nil
17
+ }
18
+
19
+ public func getOperationCode() -> String {
20
+ return self.operationCode
21
+ }
22
+
23
+ public func getReturnCode() -> Int {
24
+ return self.returnCode
25
+ }
26
+
27
+ public func getParameters() -> GNHashtable? {
28
+ return self.parameters
29
+ }
30
+
31
+ public func getResponseId() -> Int {
32
+ return self.responseId
33
+ }
34
+
35
+ public func getDebugMessage() -> String? {
36
+ return self.debugMessage
37
+ }
38
+
39
+ public func getInvalidMembers() -> [InvalidMember]? {
40
+ return self.invalidMembers
41
+ }
42
+
43
+ public func hasError() -> Bool {
44
+ return self.returnCode != ReturnCode.Ok
45
+ }
46
+
47
+ @discardableResult
48
+ public func setReturnCode(_ returnCode: Int) -> OperationResponse {
49
+ self.returnCode = returnCode
50
+ return self
51
+ }
52
+
53
+ @discardableResult
54
+ public func setDebugMessage(_ debugMessage: String?) -> OperationResponse {
55
+ self.debugMessage = debugMessage
56
+ return self
57
+ }
58
+
59
+ @discardableResult
60
+ public func setParameter(key: String, value: Any) -> OperationResponse {
61
+ if self.parameters == nil {
62
+ self.parameters = GNHashtable()
63
+ }
64
+ self.parameters?.add(key, value)
65
+ return self
66
+ }
67
+
68
+ @discardableResult
69
+ public func setParameters(_ parameters: GNHashtable) -> OperationResponse {
70
+ self.parameters = parameters
71
+ return self
72
+ }
73
+
74
+ @discardableResult
75
+ public func setInvalidMembers(_ invalidMembers: [InvalidMember]?) -> OperationResponse {
76
+ self.invalidMembers = invalidMembers
77
+ return self
78
+ }
79
+
80
+ public var description: String {
81
+ var stringBuilder = "OperationCode: \(self.operationCode), responseId: \(self.responseId), returnCode: \(CodeHelper.getReturnCodeName(self.returnCode))"
82
+
83
+ if self.returnCode == ReturnCode.Ok {
84
+ stringBuilder += ", parameters: \(self.parameters?.toData().description ?? "nil")"
85
+ } else if self.returnCode == ReturnCode.InvalidRequestParameters {
86
+ if let invalidMembers = self.invalidMembers {
87
+ let invalidStr = invalidMembers.map { "\($0.code) (\($0.invalidMemberType))" }.joined(separator: ", ")
88
+ stringBuilder += ", invalidMembers: \(invalidStr)"
89
+ } else {
90
+ stringBuilder += ", invalidMembers: nil"
91
+ }
92
+ } else {
93
+ stringBuilder += ", debugMessage: \(self.debugMessage ?? "nil")"
94
+ }
95
+
96
+ return stringBuilder
97
+ }
98
+ }