@celerispay/hazelcast-client 3.12.5-1

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 (746) hide show
  1. package/.nvmrc +1 -0
  2. package/CHANGELOG.md +140 -0
  3. package/CONFIG.md +503 -0
  4. package/FAILOVER_FIXES.md +202 -0
  5. package/LICENSE +202 -0
  6. package/QUICK_START.md +232 -0
  7. package/README.md +178 -0
  8. package/RELEASE_SUMMARY.md +260 -0
  9. package/config-schema.json +343 -0
  10. package/hazelcast-client-default.json +56 -0
  11. package/hazelcast-client-full.json +137 -0
  12. package/lib/Address.d.ts +17 -0
  13. package/lib/Address.js +65 -0
  14. package/lib/BitsUtil.d.ts +69 -0
  15. package/lib/BitsUtil.js +202 -0
  16. package/lib/BuildInfo.d.ts +9 -0
  17. package/lib/BuildInfo.js +53 -0
  18. package/lib/ClientInfo.d.ts +15 -0
  19. package/lib/ClientInfo.js +27 -0
  20. package/lib/ClientMessage.d.ts +52 -0
  21. package/lib/ClientMessage.js +217 -0
  22. package/lib/ClusterDataFactory.d.ts +4 -0
  23. package/lib/ClusterDataFactory.js +31 -0
  24. package/lib/ClusterDataFactoryHelper.d.ts +5 -0
  25. package/lib/ClusterDataFactoryHelper.js +26 -0
  26. package/lib/DataStoreHashMap.d.ts +20 -0
  27. package/lib/DataStoreHashMap.js +112 -0
  28. package/lib/DistributedObject.d.ts +22 -0
  29. package/lib/DistributedObject.js +17 -0
  30. package/lib/HazelcastClient.d.ts +201 -0
  31. package/lib/HazelcastClient.js +370 -0
  32. package/lib/HazelcastError.d.ts +114 -0
  33. package/lib/HazelcastError.js +389 -0
  34. package/lib/HeartbeatService.d.ts +30 -0
  35. package/lib/HeartbeatService.js +108 -0
  36. package/lib/LifecycleService.d.ts +32 -0
  37. package/lib/LifecycleService.js +105 -0
  38. package/lib/ListenerMessageCodec.d.ts +6 -0
  39. package/lib/ListenerMessageCodec.js +17 -0
  40. package/lib/ListenerService.d.ts +35 -0
  41. package/lib/ListenerService.js +233 -0
  42. package/lib/LockReferenceIdGenerator.d.ts +6 -0
  43. package/lib/LockReferenceIdGenerator.js +29 -0
  44. package/lib/PartitionService.d.ts +55 -0
  45. package/lib/PartitionService.js +160 -0
  46. package/lib/Util.d.ts +47 -0
  47. package/lib/Util.js +351 -0
  48. package/lib/aggregation/Aggregator.d.ts +74 -0
  49. package/lib/aggregation/Aggregator.js +277 -0
  50. package/lib/aggregation/AggregatorFactory.d.ts +26 -0
  51. package/lib/aggregation/AggregatorFactory.js +66 -0
  52. package/lib/aggregation/Aggregators.d.ts +96 -0
  53. package/lib/aggregation/Aggregators.js +149 -0
  54. package/lib/codec/AddressCodec.d.ts +6 -0
  55. package/lib/codec/AddressCodec.js +33 -0
  56. package/lib/codec/AtomicLongAddAndGetCodec.d.ts +7 -0
  57. package/lib/codec/AtomicLongAddAndGetCodec.js +56 -0
  58. package/lib/codec/AtomicLongCompareAndSetCodec.d.ts +7 -0
  59. package/lib/codec/AtomicLongCompareAndSetCodec.js +58 -0
  60. package/lib/codec/AtomicLongDecrementAndGetCodec.d.ts +7 -0
  61. package/lib/codec/AtomicLongDecrementAndGetCodec.js +54 -0
  62. package/lib/codec/AtomicLongGetAndAddCodec.d.ts +7 -0
  63. package/lib/codec/AtomicLongGetAndAddCodec.js +56 -0
  64. package/lib/codec/AtomicLongGetAndIncrementCodec.d.ts +7 -0
  65. package/lib/codec/AtomicLongGetAndIncrementCodec.js +54 -0
  66. package/lib/codec/AtomicLongGetAndSetCodec.d.ts +7 -0
  67. package/lib/codec/AtomicLongGetAndSetCodec.js +56 -0
  68. package/lib/codec/AtomicLongGetCodec.d.ts +7 -0
  69. package/lib/codec/AtomicLongGetCodec.js +54 -0
  70. package/lib/codec/AtomicLongIncrementAndGetCodec.d.ts +7 -0
  71. package/lib/codec/AtomicLongIncrementAndGetCodec.js +54 -0
  72. package/lib/codec/AtomicLongMessageType.d.ts +15 -0
  73. package/lib/codec/AtomicLongMessageType.js +37 -0
  74. package/lib/codec/AtomicLongSetCodec.d.ts +5 -0
  75. package/lib/codec/AtomicLongSetCodec.js +47 -0
  76. package/lib/codec/ClientAddDistributedObjectListenerCodec.d.ts +8 -0
  77. package/lib/codec/ClientAddDistributedObjectListenerCodec.js +74 -0
  78. package/lib/codec/ClientAddMembershipListenerCodec.d.ts +8 -0
  79. package/lib/codec/ClientAddMembershipListenerCodec.js +107 -0
  80. package/lib/codec/ClientAuthenticationCodec.d.ts +7 -0
  81. package/lib/codec/ClientAuthenticationCodec.js +114 -0
  82. package/lib/codec/ClientAuthenticationCustomCodec.d.ts +7 -0
  83. package/lib/codec/ClientAuthenticationCustomCodec.js +112 -0
  84. package/lib/codec/ClientCreateProxyCodec.d.ts +6 -0
  85. package/lib/codec/ClientCreateProxyCodec.js +50 -0
  86. package/lib/codec/ClientDestroyProxyCodec.d.ts +5 -0
  87. package/lib/codec/ClientDestroyProxyCodec.js +47 -0
  88. package/lib/codec/ClientGetDistributedObjectsCodec.d.ts +7 -0
  89. package/lib/codec/ClientGetDistributedObjectsCodec.js +59 -0
  90. package/lib/codec/ClientMessageType.d.ts +18 -0
  91. package/lib/codec/ClientMessageType.js +40 -0
  92. package/lib/codec/ClientPingCodec.d.ts +5 -0
  93. package/lib/codec/ClientPingCodec.js +42 -0
  94. package/lib/codec/ClientRemoveDistributedObjectListenerCodec.d.ts +7 -0
  95. package/lib/codec/ClientRemoveDistributedObjectListenerCodec.js +54 -0
  96. package/lib/codec/ClientStatisticsCodec.d.ts +5 -0
  97. package/lib/codec/ClientStatisticsCodec.js +42 -0
  98. package/lib/codec/DistributedObjectInfoCodec.d.ts +5 -0
  99. package/lib/codec/DistributedObjectInfoCodec.js +27 -0
  100. package/lib/codec/EntryViewCodec.d.ts +7 -0
  101. package/lib/codec/EntryViewCodec.js +56 -0
  102. package/lib/codec/FlakeIdGeneratorMessageType.d.ts +3 -0
  103. package/lib/codec/FlakeIdGeneratorMessageType.js +25 -0
  104. package/lib/codec/FlakeIdGeneratorNewIdBatchCodec.d.ts +7 -0
  105. package/lib/codec/FlakeIdGeneratorNewIdBatchCodec.js +60 -0
  106. package/lib/codec/GetPartitionsCodec.d.ts +9 -0
  107. package/lib/codec/GetPartitionsCodec.js +45 -0
  108. package/lib/codec/ListAddAllCodec.d.ts +7 -0
  109. package/lib/codec/ListAddAllCodec.js +62 -0
  110. package/lib/codec/ListAddAllWithIndexCodec.d.ts +7 -0
  111. package/lib/codec/ListAddAllWithIndexCodec.js +64 -0
  112. package/lib/codec/ListAddCodec.d.ts +7 -0
  113. package/lib/codec/ListAddCodec.js +56 -0
  114. package/lib/codec/ListAddListenerCodec.d.ts +8 -0
  115. package/lib/codec/ListAddListenerCodec.js +80 -0
  116. package/lib/codec/ListAddWithIndexCodec.d.ts +6 -0
  117. package/lib/codec/ListAddWithIndexCodec.js +49 -0
  118. package/lib/codec/ListClearCodec.d.ts +5 -0
  119. package/lib/codec/ListClearCodec.js +45 -0
  120. package/lib/codec/ListCompareAndRemoveAllCodec.d.ts +7 -0
  121. package/lib/codec/ListCompareAndRemoveAllCodec.js +62 -0
  122. package/lib/codec/ListCompareAndRetainAllCodec.d.ts +7 -0
  123. package/lib/codec/ListCompareAndRetainAllCodec.js +62 -0
  124. package/lib/codec/ListContainsAllCodec.d.ts +7 -0
  125. package/lib/codec/ListContainsAllCodec.js +62 -0
  126. package/lib/codec/ListContainsCodec.d.ts +7 -0
  127. package/lib/codec/ListContainsCodec.js +56 -0
  128. package/lib/codec/ListGetAllCodec.d.ts +7 -0
  129. package/lib/codec/ListGetAllCodec.js +61 -0
  130. package/lib/codec/ListGetCodec.d.ts +7 -0
  131. package/lib/codec/ListGetCodec.js +58 -0
  132. package/lib/codec/ListIndexOfCodec.d.ts +7 -0
  133. package/lib/codec/ListIndexOfCodec.js +56 -0
  134. package/lib/codec/ListIsEmptyCodec.d.ts +7 -0
  135. package/lib/codec/ListIsEmptyCodec.js +54 -0
  136. package/lib/codec/ListLastIndexOfCodec.d.ts +7 -0
  137. package/lib/codec/ListLastIndexOfCodec.js +56 -0
  138. package/lib/codec/ListMessageType.d.ts +25 -0
  139. package/lib/codec/ListMessageType.js +47 -0
  140. package/lib/codec/ListRemoveCodec.d.ts +7 -0
  141. package/lib/codec/ListRemoveCodec.js +56 -0
  142. package/lib/codec/ListRemoveListenerCodec.d.ts +7 -0
  143. package/lib/codec/ListRemoveListenerCodec.js +56 -0
  144. package/lib/codec/ListRemoveWithIndexCodec.d.ts +7 -0
  145. package/lib/codec/ListRemoveWithIndexCodec.js +58 -0
  146. package/lib/codec/ListSetCodec.d.ts +7 -0
  147. package/lib/codec/ListSetCodec.js +60 -0
  148. package/lib/codec/ListSizeCodec.d.ts +7 -0
  149. package/lib/codec/ListSizeCodec.js +54 -0
  150. package/lib/codec/ListSubCodec.d.ts +7 -0
  151. package/lib/codec/ListSubCodec.js +65 -0
  152. package/lib/codec/LockForceUnlockCodec.d.ts +5 -0
  153. package/lib/codec/LockForceUnlockCodec.js +47 -0
  154. package/lib/codec/LockGetLockCountCodec.d.ts +7 -0
  155. package/lib/codec/LockGetLockCountCodec.js +54 -0
  156. package/lib/codec/LockGetRemainingLeaseTimeCodec.d.ts +7 -0
  157. package/lib/codec/LockGetRemainingLeaseTimeCodec.js +54 -0
  158. package/lib/codec/LockIsLockedByCurrentThreadCodec.d.ts +7 -0
  159. package/lib/codec/LockIsLockedByCurrentThreadCodec.js +56 -0
  160. package/lib/codec/LockIsLockedCodec.d.ts +7 -0
  161. package/lib/codec/LockIsLockedCodec.js +54 -0
  162. package/lib/codec/LockLockCodec.d.ts +5 -0
  163. package/lib/codec/LockLockCodec.js +51 -0
  164. package/lib/codec/LockMessageType.d.ts +10 -0
  165. package/lib/codec/LockMessageType.js +32 -0
  166. package/lib/codec/LockTryLockCodec.d.ts +7 -0
  167. package/lib/codec/LockTryLockCodec.js +62 -0
  168. package/lib/codec/LockUnlockCodec.d.ts +5 -0
  169. package/lib/codec/LockUnlockCodec.js +49 -0
  170. package/lib/codec/MapAddEntryListenerCodec.d.ts +8 -0
  171. package/lib/codec/MapAddEntryListenerCodec.js +104 -0
  172. package/lib/codec/MapAddEntryListenerToKeyCodec.d.ts +8 -0
  173. package/lib/codec/MapAddEntryListenerToKeyCodec.js +106 -0
  174. package/lib/codec/MapAddEntryListenerToKeyWithPredicateCodec.d.ts +8 -0
  175. package/lib/codec/MapAddEntryListenerToKeyWithPredicateCodec.js +108 -0
  176. package/lib/codec/MapAddEntryListenerWithPredicateCodec.d.ts +8 -0
  177. package/lib/codec/MapAddEntryListenerWithPredicateCodec.js +106 -0
  178. package/lib/codec/MapAddIndexCodec.d.ts +5 -0
  179. package/lib/codec/MapAddIndexCodec.js +49 -0
  180. package/lib/codec/MapAddNearCacheEntryListenerCodec.d.ts +8 -0
  181. package/lib/codec/MapAddNearCacheEntryListenerCodec.js +135 -0
  182. package/lib/codec/MapAddNearCacheInvalidationListenerCodec.d.ts +8 -0
  183. package/lib/codec/MapAddNearCacheInvalidationListenerCodec.js +138 -0
  184. package/lib/codec/MapAggregateCodec.d.ts +7 -0
  185. package/lib/codec/MapAggregateCodec.js +61 -0
  186. package/lib/codec/MapAggregateWithPredicateCodec.d.ts +7 -0
  187. package/lib/codec/MapAggregateWithPredicateCodec.js +63 -0
  188. package/lib/codec/MapClearCodec.d.ts +5 -0
  189. package/lib/codec/MapClearCodec.js +45 -0
  190. package/lib/codec/MapContainsKeyCodec.d.ts +7 -0
  191. package/lib/codec/MapContainsKeyCodec.js +58 -0
  192. package/lib/codec/MapContainsValueCodec.d.ts +7 -0
  193. package/lib/codec/MapContainsValueCodec.js +56 -0
  194. package/lib/codec/MapDeleteCodec.d.ts +6 -0
  195. package/lib/codec/MapDeleteCodec.js +49 -0
  196. package/lib/codec/MapEntriesWithPredicateCodec.d.ts +7 -0
  197. package/lib/codec/MapEntriesWithPredicateCodec.js +67 -0
  198. package/lib/codec/MapEntrySetCodec.d.ts +7 -0
  199. package/lib/codec/MapEntrySetCodec.js +65 -0
  200. package/lib/codec/MapEvictAllCodec.d.ts +5 -0
  201. package/lib/codec/MapEvictAllCodec.js +45 -0
  202. package/lib/codec/MapEvictCodec.d.ts +7 -0
  203. package/lib/codec/MapEvictCodec.js +58 -0
  204. package/lib/codec/MapExecuteOnAllKeysCodec.d.ts +7 -0
  205. package/lib/codec/MapExecuteOnAllKeysCodec.js +67 -0
  206. package/lib/codec/MapExecuteOnKeyCodec.d.ts +7 -0
  207. package/lib/codec/MapExecuteOnKeyCodec.js +62 -0
  208. package/lib/codec/MapExecuteOnKeysCodec.d.ts +7 -0
  209. package/lib/codec/MapExecuteOnKeysCodec.js +75 -0
  210. package/lib/codec/MapExecuteWithPredicateCodec.d.ts +7 -0
  211. package/lib/codec/MapExecuteWithPredicateCodec.js +69 -0
  212. package/lib/codec/MapFetchNearCacheInvalidationMetadataCodec.d.ts +8 -0
  213. package/lib/codec/MapFetchNearCacheInvalidationMetadataCodec.js +101 -0
  214. package/lib/codec/MapFlushCodec.d.ts +5 -0
  215. package/lib/codec/MapFlushCodec.js +45 -0
  216. package/lib/codec/MapForceUnlockCodec.d.ts +6 -0
  217. package/lib/codec/MapForceUnlockCodec.js +49 -0
  218. package/lib/codec/MapGetAllCodec.d.ts +7 -0
  219. package/lib/codec/MapGetAllCodec.js +73 -0
  220. package/lib/codec/MapGetCodec.d.ts +7 -0
  221. package/lib/codec/MapGetCodec.js +60 -0
  222. package/lib/codec/MapGetEntryViewCodec.d.ts +7 -0
  223. package/lib/codec/MapGetEntryViewCodec.js +61 -0
  224. package/lib/codec/MapIsEmptyCodec.d.ts +7 -0
  225. package/lib/codec/MapIsEmptyCodec.js +54 -0
  226. package/lib/codec/MapIsLockedCodec.d.ts +7 -0
  227. package/lib/codec/MapIsLockedCodec.js +56 -0
  228. package/lib/codec/MapKeySetCodec.d.ts +7 -0
  229. package/lib/codec/MapKeySetCodec.js +61 -0
  230. package/lib/codec/MapKeySetWithPagingPredicateCodec.d.ts +7 -0
  231. package/lib/codec/MapKeySetWithPagingPredicateCodec.js +63 -0
  232. package/lib/codec/MapKeySetWithPredicateCodec.d.ts +7 -0
  233. package/lib/codec/MapKeySetWithPredicateCodec.js +63 -0
  234. package/lib/codec/MapLoadAllCodec.d.ts +5 -0
  235. package/lib/codec/MapLoadAllCodec.js +47 -0
  236. package/lib/codec/MapLoadGivenKeysCodec.d.ts +5 -0
  237. package/lib/codec/MapLoadGivenKeysCodec.js +55 -0
  238. package/lib/codec/MapLockCodec.d.ts +6 -0
  239. package/lib/codec/MapLockCodec.js +53 -0
  240. package/lib/codec/MapMessageType.d.ts +71 -0
  241. package/lib/codec/MapMessageType.js +93 -0
  242. package/lib/codec/MapPutAllCodec.d.ts +5 -0
  243. package/lib/codec/MapPutAllCodec.js +59 -0
  244. package/lib/codec/MapPutCodec.d.ts +7 -0
  245. package/lib/codec/MapPutCodec.js +64 -0
  246. package/lib/codec/MapPutIfAbsentCodec.d.ts +7 -0
  247. package/lib/codec/MapPutIfAbsentCodec.js +64 -0
  248. package/lib/codec/MapPutTransientCodec.d.ts +6 -0
  249. package/lib/codec/MapPutTransientCodec.js +53 -0
  250. package/lib/codec/MapRemoveCodec.d.ts +7 -0
  251. package/lib/codec/MapRemoveCodec.js +60 -0
  252. package/lib/codec/MapRemoveEntryListenerCodec.d.ts +7 -0
  253. package/lib/codec/MapRemoveEntryListenerCodec.js +56 -0
  254. package/lib/codec/MapRemoveIfSameCodec.d.ts +7 -0
  255. package/lib/codec/MapRemoveIfSameCodec.js +60 -0
  256. package/lib/codec/MapReplaceCodec.d.ts +7 -0
  257. package/lib/codec/MapReplaceCodec.js +62 -0
  258. package/lib/codec/MapReplaceIfSameCodec.d.ts +7 -0
  259. package/lib/codec/MapReplaceIfSameCodec.js +62 -0
  260. package/lib/codec/MapSetCodec.d.ts +6 -0
  261. package/lib/codec/MapSetCodec.js +53 -0
  262. package/lib/codec/MapSizeCodec.d.ts +7 -0
  263. package/lib/codec/MapSizeCodec.js +54 -0
  264. package/lib/codec/MapTryLockCodec.d.ts +7 -0
  265. package/lib/codec/MapTryLockCodec.js +64 -0
  266. package/lib/codec/MapTryPutCodec.d.ts +7 -0
  267. package/lib/codec/MapTryPutCodec.js +62 -0
  268. package/lib/codec/MapTryRemoveCodec.d.ts +7 -0
  269. package/lib/codec/MapTryRemoveCodec.js +60 -0
  270. package/lib/codec/MapUnlockCodec.d.ts +6 -0
  271. package/lib/codec/MapUnlockCodec.js +51 -0
  272. package/lib/codec/MapValuesCodec.d.ts +7 -0
  273. package/lib/codec/MapValuesCodec.js +61 -0
  274. package/lib/codec/MapValuesWithPagingPredicateCodec.d.ts +7 -0
  275. package/lib/codec/MapValuesWithPagingPredicateCodec.js +67 -0
  276. package/lib/codec/MapValuesWithPredicateCodec.d.ts +7 -0
  277. package/lib/codec/MapValuesWithPredicateCodec.js +63 -0
  278. package/lib/codec/MemberCodec.d.ts +6 -0
  279. package/lib/codec/MemberCodec.js +49 -0
  280. package/lib/codec/MultiMapAddEntryListenerCodec.d.ts +8 -0
  281. package/lib/codec/MultiMapAddEntryListenerCodec.js +102 -0
  282. package/lib/codec/MultiMapAddEntryListenerToKeyCodec.d.ts +8 -0
  283. package/lib/codec/MultiMapAddEntryListenerToKeyCodec.js +104 -0
  284. package/lib/codec/MultiMapClearCodec.d.ts +5 -0
  285. package/lib/codec/MultiMapClearCodec.js +45 -0
  286. package/lib/codec/MultiMapContainsEntryCodec.d.ts +7 -0
  287. package/lib/codec/MultiMapContainsEntryCodec.js +60 -0
  288. package/lib/codec/MultiMapContainsKeyCodec.d.ts +7 -0
  289. package/lib/codec/MultiMapContainsKeyCodec.js +58 -0
  290. package/lib/codec/MultiMapContainsValueCodec.d.ts +7 -0
  291. package/lib/codec/MultiMapContainsValueCodec.js +56 -0
  292. package/lib/codec/MultiMapEntrySetCodec.d.ts +7 -0
  293. package/lib/codec/MultiMapEntrySetCodec.js +65 -0
  294. package/lib/codec/MultiMapForceUnlockCodec.d.ts +6 -0
  295. package/lib/codec/MultiMapForceUnlockCodec.js +49 -0
  296. package/lib/codec/MultiMapGetCodec.d.ts +7 -0
  297. package/lib/codec/MultiMapGetCodec.js +65 -0
  298. package/lib/codec/MultiMapIsLockedCodec.d.ts +7 -0
  299. package/lib/codec/MultiMapIsLockedCodec.js +56 -0
  300. package/lib/codec/MultiMapKeySetCodec.d.ts +7 -0
  301. package/lib/codec/MultiMapKeySetCodec.js +61 -0
  302. package/lib/codec/MultiMapLockCodec.d.ts +6 -0
  303. package/lib/codec/MultiMapLockCodec.js +53 -0
  304. package/lib/codec/MultiMapMessageType.d.ts +23 -0
  305. package/lib/codec/MultiMapMessageType.js +45 -0
  306. package/lib/codec/MultiMapPutCodec.d.ts +7 -0
  307. package/lib/codec/MultiMapPutCodec.js +60 -0
  308. package/lib/codec/MultiMapRemoveCodec.d.ts +7 -0
  309. package/lib/codec/MultiMapRemoveCodec.js +65 -0
  310. package/lib/codec/MultiMapRemoveEntryCodec.d.ts +7 -0
  311. package/lib/codec/MultiMapRemoveEntryCodec.js +60 -0
  312. package/lib/codec/MultiMapRemoveEntryListenerCodec.d.ts +7 -0
  313. package/lib/codec/MultiMapRemoveEntryListenerCodec.js +56 -0
  314. package/lib/codec/MultiMapSizeCodec.d.ts +7 -0
  315. package/lib/codec/MultiMapSizeCodec.js +54 -0
  316. package/lib/codec/MultiMapTryLockCodec.d.ts +7 -0
  317. package/lib/codec/MultiMapTryLockCodec.js +64 -0
  318. package/lib/codec/MultiMapUnlockCodec.d.ts +6 -0
  319. package/lib/codec/MultiMapUnlockCodec.js +51 -0
  320. package/lib/codec/MultiMapValueCountCodec.d.ts +7 -0
  321. package/lib/codec/MultiMapValueCountCodec.js +58 -0
  322. package/lib/codec/MultiMapValuesCodec.d.ts +7 -0
  323. package/lib/codec/MultiMapValuesCodec.js +61 -0
  324. package/lib/codec/PNCounterAddCodec.d.ts +8 -0
  325. package/lib/codec/PNCounterAddCodec.js +90 -0
  326. package/lib/codec/PNCounterGetCodec.d.ts +8 -0
  327. package/lib/codec/PNCounterGetCodec.js +86 -0
  328. package/lib/codec/PNCounterGetConfiguredReplicaCountCodec.d.ts +7 -0
  329. package/lib/codec/PNCounterGetConfiguredReplicaCountCodec.js +54 -0
  330. package/lib/codec/PNCounterMessageType.d.ts +5 -0
  331. package/lib/codec/PNCounterMessageType.js +27 -0
  332. package/lib/codec/QueueAddAllCodec.d.ts +7 -0
  333. package/lib/codec/QueueAddAllCodec.js +62 -0
  334. package/lib/codec/QueueAddListenerCodec.d.ts +8 -0
  335. package/lib/codec/QueueAddListenerCodec.js +80 -0
  336. package/lib/codec/QueueClearCodec.d.ts +5 -0
  337. package/lib/codec/QueueClearCodec.js +45 -0
  338. package/lib/codec/QueueCompareAndRemoveAllCodec.d.ts +7 -0
  339. package/lib/codec/QueueCompareAndRemoveAllCodec.js +62 -0
  340. package/lib/codec/QueueCompareAndRetainAllCodec.d.ts +7 -0
  341. package/lib/codec/QueueCompareAndRetainAllCodec.js +62 -0
  342. package/lib/codec/QueueContainsAllCodec.d.ts +7 -0
  343. package/lib/codec/QueueContainsAllCodec.js +62 -0
  344. package/lib/codec/QueueContainsCodec.d.ts +7 -0
  345. package/lib/codec/QueueContainsCodec.js +56 -0
  346. package/lib/codec/QueueDrainToCodec.d.ts +7 -0
  347. package/lib/codec/QueueDrainToCodec.js +61 -0
  348. package/lib/codec/QueueDrainToMaxSizeCodec.d.ts +7 -0
  349. package/lib/codec/QueueDrainToMaxSizeCodec.js +63 -0
  350. package/lib/codec/QueueIsEmptyCodec.d.ts +7 -0
  351. package/lib/codec/QueueIsEmptyCodec.js +54 -0
  352. package/lib/codec/QueueIteratorCodec.d.ts +7 -0
  353. package/lib/codec/QueueIteratorCodec.js +61 -0
  354. package/lib/codec/QueueMessageType.d.ts +22 -0
  355. package/lib/codec/QueueMessageType.js +44 -0
  356. package/lib/codec/QueueOfferCodec.d.ts +7 -0
  357. package/lib/codec/QueueOfferCodec.js +58 -0
  358. package/lib/codec/QueuePeekCodec.d.ts +7 -0
  359. package/lib/codec/QueuePeekCodec.js +56 -0
  360. package/lib/codec/QueuePollCodec.d.ts +7 -0
  361. package/lib/codec/QueuePollCodec.js +58 -0
  362. package/lib/codec/QueuePutCodec.d.ts +6 -0
  363. package/lib/codec/QueuePutCodec.js +47 -0
  364. package/lib/codec/QueueRemainingCapacityCodec.d.ts +7 -0
  365. package/lib/codec/QueueRemainingCapacityCodec.js +54 -0
  366. package/lib/codec/QueueRemoveCodec.d.ts +7 -0
  367. package/lib/codec/QueueRemoveCodec.js +56 -0
  368. package/lib/codec/QueueRemoveListenerCodec.d.ts +7 -0
  369. package/lib/codec/QueueRemoveListenerCodec.js +56 -0
  370. package/lib/codec/QueueSizeCodec.d.ts +7 -0
  371. package/lib/codec/QueueSizeCodec.js +54 -0
  372. package/lib/codec/QueueTakeCodec.d.ts +7 -0
  373. package/lib/codec/QueueTakeCodec.js +56 -0
  374. package/lib/codec/ReplicatedMapAddEntryListenerCodec.d.ts +8 -0
  375. package/lib/codec/ReplicatedMapAddEntryListenerCodec.js +100 -0
  376. package/lib/codec/ReplicatedMapAddEntryListenerToKeyCodec.d.ts +8 -0
  377. package/lib/codec/ReplicatedMapAddEntryListenerToKeyCodec.js +102 -0
  378. package/lib/codec/ReplicatedMapAddEntryListenerToKeyWithPredicateCodec.d.ts +8 -0
  379. package/lib/codec/ReplicatedMapAddEntryListenerToKeyWithPredicateCodec.js +104 -0
  380. package/lib/codec/ReplicatedMapAddEntryListenerWithPredicateCodec.d.ts +8 -0
  381. package/lib/codec/ReplicatedMapAddEntryListenerWithPredicateCodec.js +102 -0
  382. package/lib/codec/ReplicatedMapClearCodec.d.ts +5 -0
  383. package/lib/codec/ReplicatedMapClearCodec.js +45 -0
  384. package/lib/codec/ReplicatedMapContainsKeyCodec.d.ts +7 -0
  385. package/lib/codec/ReplicatedMapContainsKeyCodec.js +56 -0
  386. package/lib/codec/ReplicatedMapContainsValueCodec.d.ts +7 -0
  387. package/lib/codec/ReplicatedMapContainsValueCodec.js +56 -0
  388. package/lib/codec/ReplicatedMapEntrySetCodec.d.ts +7 -0
  389. package/lib/codec/ReplicatedMapEntrySetCodec.js +65 -0
  390. package/lib/codec/ReplicatedMapGetCodec.d.ts +7 -0
  391. package/lib/codec/ReplicatedMapGetCodec.js +58 -0
  392. package/lib/codec/ReplicatedMapIsEmptyCodec.d.ts +7 -0
  393. package/lib/codec/ReplicatedMapIsEmptyCodec.js +54 -0
  394. package/lib/codec/ReplicatedMapKeySetCodec.d.ts +7 -0
  395. package/lib/codec/ReplicatedMapKeySetCodec.js +61 -0
  396. package/lib/codec/ReplicatedMapMessageType.d.ts +20 -0
  397. package/lib/codec/ReplicatedMapMessageType.js +42 -0
  398. package/lib/codec/ReplicatedMapPutAllCodec.d.ts +5 -0
  399. package/lib/codec/ReplicatedMapPutAllCodec.js +59 -0
  400. package/lib/codec/ReplicatedMapPutCodec.d.ts +7 -0
  401. package/lib/codec/ReplicatedMapPutCodec.js +62 -0
  402. package/lib/codec/ReplicatedMapRemoveCodec.d.ts +7 -0
  403. package/lib/codec/ReplicatedMapRemoveCodec.js +58 -0
  404. package/lib/codec/ReplicatedMapRemoveEntryListenerCodec.d.ts +7 -0
  405. package/lib/codec/ReplicatedMapRemoveEntryListenerCodec.js +56 -0
  406. package/lib/codec/ReplicatedMapSizeCodec.d.ts +7 -0
  407. package/lib/codec/ReplicatedMapSizeCodec.js +54 -0
  408. package/lib/codec/ReplicatedMapValuesCodec.d.ts +7 -0
  409. package/lib/codec/ReplicatedMapValuesCodec.js +61 -0
  410. package/lib/codec/RingbufferAddAllCodec.d.ts +7 -0
  411. package/lib/codec/RingbufferAddAllCodec.js +64 -0
  412. package/lib/codec/RingbufferAddCodec.d.ts +7 -0
  413. package/lib/codec/RingbufferAddCodec.js +58 -0
  414. package/lib/codec/RingbufferCapacityCodec.d.ts +7 -0
  415. package/lib/codec/RingbufferCapacityCodec.js +54 -0
  416. package/lib/codec/RingbufferHeadSequenceCodec.d.ts +7 -0
  417. package/lib/codec/RingbufferHeadSequenceCodec.js +54 -0
  418. package/lib/codec/RingbufferMessageType.d.ts +11 -0
  419. package/lib/codec/RingbufferMessageType.js +33 -0
  420. package/lib/codec/RingbufferReadManyCodec.d.ts +7 -0
  421. package/lib/codec/RingbufferReadManyCodec.js +92 -0
  422. package/lib/codec/RingbufferReadOneCodec.d.ts +7 -0
  423. package/lib/codec/RingbufferReadOneCodec.js +58 -0
  424. package/lib/codec/RingbufferRemainingCapacityCodec.d.ts +7 -0
  425. package/lib/codec/RingbufferRemainingCapacityCodec.js +54 -0
  426. package/lib/codec/RingbufferSizeCodec.d.ts +7 -0
  427. package/lib/codec/RingbufferSizeCodec.js +54 -0
  428. package/lib/codec/RingbufferTailSequenceCodec.d.ts +7 -0
  429. package/lib/codec/RingbufferTailSequenceCodec.js +54 -0
  430. package/lib/codec/SemaphoreAcquireCodec.d.ts +5 -0
  431. package/lib/codec/SemaphoreAcquireCodec.js +47 -0
  432. package/lib/codec/SemaphoreAvailablePermitsCodec.d.ts +7 -0
  433. package/lib/codec/SemaphoreAvailablePermitsCodec.js +54 -0
  434. package/lib/codec/SemaphoreDrainPermitsCodec.d.ts +7 -0
  435. package/lib/codec/SemaphoreDrainPermitsCodec.js +54 -0
  436. package/lib/codec/SemaphoreInitCodec.d.ts +7 -0
  437. package/lib/codec/SemaphoreInitCodec.js +56 -0
  438. package/lib/codec/SemaphoreMessageType.d.ts +9 -0
  439. package/lib/codec/SemaphoreMessageType.js +31 -0
  440. package/lib/codec/SemaphoreReducePermitsCodec.d.ts +5 -0
  441. package/lib/codec/SemaphoreReducePermitsCodec.js +47 -0
  442. package/lib/codec/SemaphoreReleaseCodec.d.ts +5 -0
  443. package/lib/codec/SemaphoreReleaseCodec.js +47 -0
  444. package/lib/codec/SemaphoreTryAcquireCodec.d.ts +7 -0
  445. package/lib/codec/SemaphoreTryAcquireCodec.js +58 -0
  446. package/lib/codec/SetAddAllCodec.d.ts +7 -0
  447. package/lib/codec/SetAddAllCodec.js +62 -0
  448. package/lib/codec/SetAddCodec.d.ts +7 -0
  449. package/lib/codec/SetAddCodec.js +56 -0
  450. package/lib/codec/SetAddListenerCodec.d.ts +8 -0
  451. package/lib/codec/SetAddListenerCodec.js +80 -0
  452. package/lib/codec/SetClearCodec.d.ts +5 -0
  453. package/lib/codec/SetClearCodec.js +45 -0
  454. package/lib/codec/SetCompareAndRemoveAllCodec.d.ts +7 -0
  455. package/lib/codec/SetCompareAndRemoveAllCodec.js +62 -0
  456. package/lib/codec/SetCompareAndRetainAllCodec.d.ts +7 -0
  457. package/lib/codec/SetCompareAndRetainAllCodec.js +62 -0
  458. package/lib/codec/SetContainsAllCodec.d.ts +7 -0
  459. package/lib/codec/SetContainsAllCodec.js +62 -0
  460. package/lib/codec/SetContainsCodec.d.ts +7 -0
  461. package/lib/codec/SetContainsCodec.js +56 -0
  462. package/lib/codec/SetGetAllCodec.d.ts +7 -0
  463. package/lib/codec/SetGetAllCodec.js +61 -0
  464. package/lib/codec/SetIsEmptyCodec.d.ts +7 -0
  465. package/lib/codec/SetIsEmptyCodec.js +54 -0
  466. package/lib/codec/SetMessageType.d.ts +15 -0
  467. package/lib/codec/SetMessageType.js +37 -0
  468. package/lib/codec/SetRemoveCodec.d.ts +7 -0
  469. package/lib/codec/SetRemoveCodec.js +56 -0
  470. package/lib/codec/SetRemoveListenerCodec.d.ts +7 -0
  471. package/lib/codec/SetRemoveListenerCodec.js +56 -0
  472. package/lib/codec/SetSizeCodec.d.ts +7 -0
  473. package/lib/codec/SetSizeCodec.js +54 -0
  474. package/lib/codec/UUIDCodec.d.ts +5 -0
  475. package/lib/codec/UUIDCodec.js +29 -0
  476. package/lib/config/ClientCloudConfig.d.ts +13 -0
  477. package/lib/config/ClientCloudConfig.js +34 -0
  478. package/lib/config/ClientNetworkConfig.d.ts +43 -0
  479. package/lib/config/ClientNetworkConfig.js +64 -0
  480. package/lib/config/Config.d.ts +61 -0
  481. package/lib/config/Config.js +138 -0
  482. package/lib/config/ConfigBuilder.d.ts +26 -0
  483. package/lib/config/ConfigBuilder.js +322 -0
  484. package/lib/config/ConfigPatternMatcher.d.ts +12 -0
  485. package/lib/config/ConfigPatternMatcher.js +70 -0
  486. package/lib/config/EvictionPolicy.d.ts +9 -0
  487. package/lib/config/EvictionPolicy.js +27 -0
  488. package/lib/config/FlakeIdGeneratorConfig.d.ts +26 -0
  489. package/lib/config/FlakeIdGeneratorConfig.js +56 -0
  490. package/lib/config/GroupConfig.d.ts +14 -0
  491. package/lib/config/GroupConfig.js +35 -0
  492. package/lib/config/ImportConfig.d.ts +4 -0
  493. package/lib/config/ImportConfig.js +17 -0
  494. package/lib/config/InMemoryFormat.d.ts +10 -0
  495. package/lib/config/InMemoryFormat.js +28 -0
  496. package/lib/config/JsonConfigLocator.d.ts +16 -0
  497. package/lib/config/JsonConfigLocator.js +103 -0
  498. package/lib/config/JsonStringDeserializationPolicy.d.ts +17 -0
  499. package/lib/config/JsonStringDeserializationPolicy.js +35 -0
  500. package/lib/config/ListenerConfig.d.ts +8 -0
  501. package/lib/config/ListenerConfig.js +33 -0
  502. package/lib/config/NearCacheConfig.d.ts +25 -0
  503. package/lib/config/NearCacheConfig.js +59 -0
  504. package/lib/config/Properties.d.ts +5 -0
  505. package/lib/config/Properties.js +17 -0
  506. package/lib/config/ReliableTopicConfig.d.ts +8 -0
  507. package/lib/config/ReliableTopicConfig.js +38 -0
  508. package/lib/config/SSLConfig.d.ts +34 -0
  509. package/lib/config/SSLConfig.js +51 -0
  510. package/lib/config/SerializationConfig.d.ts +29 -0
  511. package/lib/config/SerializationConfig.js +38 -0
  512. package/lib/config/StringSerializationPolicy.d.ts +22 -0
  513. package/lib/config/StringSerializationPolicy.js +40 -0
  514. package/lib/connection/AddressProvider.d.ts +11 -0
  515. package/lib/connection/AddressProvider.js +17 -0
  516. package/lib/connection/AddressTranslator.d.ts +21 -0
  517. package/lib/connection/AddressTranslator.js +17 -0
  518. package/lib/connection/BasicSSLOptionsFactory.d.ts +14 -0
  519. package/lib/connection/BasicSSLOptionsFactory.js +67 -0
  520. package/lib/connection/DefaultAddressProvider.d.ts +15 -0
  521. package/lib/connection/DefaultAddressProvider.js +38 -0
  522. package/lib/connection/DefaultAddressTranslator.d.ts +11 -0
  523. package/lib/connection/DefaultAddressTranslator.js +33 -0
  524. package/lib/connection/SSLOptionsFactory.d.ts +7 -0
  525. package/lib/connection/SSLOptionsFactory.js +17 -0
  526. package/lib/core/Comparator.d.ts +21 -0
  527. package/lib/core/Comparator.js +17 -0
  528. package/lib/core/ConnectionHeartbeatListener.d.ts +16 -0
  529. package/lib/core/ConnectionHeartbeatListener.js +17 -0
  530. package/lib/core/DistributedObjectListener.d.ts +24 -0
  531. package/lib/core/DistributedObjectListener.js +30 -0
  532. package/lib/core/EntryListener.d.ts +51 -0
  533. package/lib/core/EntryListener.js +32 -0
  534. package/lib/core/EntryView.d.ts +16 -0
  535. package/lib/core/EntryView.js +23 -0
  536. package/lib/core/EventType.d.ts +12 -0
  537. package/lib/core/EventType.js +31 -0
  538. package/lib/core/HazelcastJsonValue.d.ts +32 -0
  539. package/lib/core/HazelcastJsonValue.js +56 -0
  540. package/lib/core/ItemListener.d.ts +38 -0
  541. package/lib/core/ItemListener.js +35 -0
  542. package/lib/core/MapListener.d.ts +29 -0
  543. package/lib/core/MapListener.js +29 -0
  544. package/lib/core/Member.d.ts +23 -0
  545. package/lib/core/Member.js +44 -0
  546. package/lib/core/MemberAttributeEvent.d.ts +37 -0
  547. package/lib/core/MemberAttributeEvent.js +45 -0
  548. package/lib/core/MemberSelector.d.ts +4 -0
  549. package/lib/core/MemberSelector.js +17 -0
  550. package/lib/core/MemberSelectors.d.ts +8 -0
  551. package/lib/core/MemberSelectors.js +33 -0
  552. package/lib/core/MembershipEvent.d.ts +20 -0
  553. package/lib/core/MembershipEvent.js +30 -0
  554. package/lib/core/MembershipListener.d.ts +22 -0
  555. package/lib/core/MembershipListener.js +17 -0
  556. package/lib/core/OverflowPolicy.d.ts +4 -0
  557. package/lib/core/OverflowPolicy.js +22 -0
  558. package/lib/core/Predicate.d.ts +28 -0
  559. package/lib/core/Predicate.js +113 -0
  560. package/lib/core/ReadOnlyLazyList.d.ts +12 -0
  561. package/lib/core/ReadOnlyLazyList.js +74 -0
  562. package/lib/core/RestValue.d.ts +15 -0
  563. package/lib/core/RestValue.js +51 -0
  564. package/lib/core/UUID.d.ts +9 -0
  565. package/lib/core/UUID.js +44 -0
  566. package/lib/core/VectorClock.d.ts +7 -0
  567. package/lib/core/VectorClock.js +48 -0
  568. package/lib/discovery/HazelcastCloudAddressProvider.d.ts +10 -0
  569. package/lib/discovery/HazelcastCloudAddressProvider.js +35 -0
  570. package/lib/discovery/HazelcastCloudAddressTranslator.d.ts +13 -0
  571. package/lib/discovery/HazelcastCloudAddressTranslator.js +54 -0
  572. package/lib/discovery/HazelcastCloudDiscovery.d.ts +25 -0
  573. package/lib/discovery/HazelcastCloudDiscovery.js +85 -0
  574. package/lib/index.d.ts +26 -0
  575. package/lib/index.js +64 -0
  576. package/lib/invocation/ClientConnection.d.ts +82 -0
  577. package/lib/invocation/ClientConnection.js +307 -0
  578. package/lib/invocation/ClientConnectionManager.d.ts +65 -0
  579. package/lib/invocation/ClientConnectionManager.js +360 -0
  580. package/lib/invocation/ClientEventRegistration.d.ts +10 -0
  581. package/lib/invocation/ClientEventRegistration.js +30 -0
  582. package/lib/invocation/ClusterService.d.ts +127 -0
  583. package/lib/invocation/ClusterService.js +581 -0
  584. package/lib/invocation/ConnectionAuthenticator.d.ts +14 -0
  585. package/lib/invocation/ConnectionAuthenticator.js +88 -0
  586. package/lib/invocation/InvocationService.d.ts +138 -0
  587. package/lib/invocation/InvocationService.js +387 -0
  588. package/lib/invocation/Murmur.d.ts +2 -0
  589. package/lib/invocation/Murmur.js +65 -0
  590. package/lib/invocation/RegistrationKey.d.ts +16 -0
  591. package/lib/invocation/RegistrationKey.js +48 -0
  592. package/lib/logging/DefaultLogger.d.ts +12 -0
  593. package/lib/logging/DefaultLogger.js +48 -0
  594. package/lib/logging/ILogger.d.ts +49 -0
  595. package/lib/logging/ILogger.js +17 -0
  596. package/lib/logging/LoggingService.d.ts +16 -0
  597. package/lib/logging/LoggingService.js +50 -0
  598. package/lib/nearcache/AlwaysFreshStaleReadDetectorImpl.d.ts +10 -0
  599. package/lib/nearcache/AlwaysFreshStaleReadDetectorImpl.js +34 -0
  600. package/lib/nearcache/DataRecord.d.ts +33 -0
  601. package/lib/nearcache/DataRecord.js +109 -0
  602. package/lib/nearcache/MetadataContainer.d.ts +18 -0
  603. package/lib/nearcache/MetadataContainer.js +56 -0
  604. package/lib/nearcache/MetadataFetcher.d.ts +20 -0
  605. package/lib/nearcache/MetadataFetcher.js +92 -0
  606. package/lib/nearcache/NearCache.d.ts +89 -0
  607. package/lib/nearcache/NearCache.js +250 -0
  608. package/lib/nearcache/NearCacheManager.d.ts +13 -0
  609. package/lib/nearcache/NearCacheManager.js +50 -0
  610. package/lib/nearcache/RepairingHandler.d.ts +26 -0
  611. package/lib/nearcache/RepairingHandler.js +114 -0
  612. package/lib/nearcache/RepairingTask.d.ts +26 -0
  613. package/lib/nearcache/RepairingTask.js +117 -0
  614. package/lib/nearcache/StaleReadDetector.d.ts +7 -0
  615. package/lib/nearcache/StaleReadDetector.js +2 -0
  616. package/lib/nearcache/StaleReadDetectorImpl.d.ts +13 -0
  617. package/lib/nearcache/StaleReadDetectorImpl.js +62 -0
  618. package/lib/protocol/ClientProtocolErrorCodes.d.ts +91 -0
  619. package/lib/protocol/ClientProtocolErrorCodes.js +112 -0
  620. package/lib/protocol/ErrorCodec.d.ts +11 -0
  621. package/lib/protocol/ErrorCodec.js +50 -0
  622. package/lib/protocol/ErrorFactory.d.ts +8 -0
  623. package/lib/protocol/ErrorFactory.js +92 -0
  624. package/lib/protocol/StackTraceElementCodec.d.ts +8 -0
  625. package/lib/protocol/StackTraceElementCodec.js +38 -0
  626. package/lib/proxy/AtomicLongProxy.d.ts +17 -0
  627. package/lib/proxy/AtomicLongProxy.js +72 -0
  628. package/lib/proxy/BaseProxy.d.ts +89 -0
  629. package/lib/proxy/BaseProxy.js +191 -0
  630. package/lib/proxy/FlakeIdGenerator.d.ts +47 -0
  631. package/lib/proxy/FlakeIdGenerator.js +17 -0
  632. package/lib/proxy/FlakeIdGeneratorProxy.d.ts +13 -0
  633. package/lib/proxy/FlakeIdGeneratorProxy.js +48 -0
  634. package/lib/proxy/IAtomicLong.d.ts +16 -0
  635. package/lib/proxy/IAtomicLong.js +17 -0
  636. package/lib/proxy/IList.d.ts +132 -0
  637. package/lib/proxy/IList.js +17 -0
  638. package/lib/proxy/ILock.d.ts +54 -0
  639. package/lib/proxy/ILock.js +17 -0
  640. package/lib/proxy/IMap.d.ts +328 -0
  641. package/lib/proxy/IMap.js +17 -0
  642. package/lib/proxy/IQueue.d.ts +128 -0
  643. package/lib/proxy/IQueue.js +17 -0
  644. package/lib/proxy/ISemaphore.d.ts +53 -0
  645. package/lib/proxy/ISemaphore.js +17 -0
  646. package/lib/proxy/ISet.d.ts +89 -0
  647. package/lib/proxy/ISet.js +17 -0
  648. package/lib/proxy/ListProxy.d.ts +31 -0
  649. package/lib/proxy/ListProxy.js +165 -0
  650. package/lib/proxy/LockProxy.d.ts +16 -0
  651. package/lib/proxy/LockProxy.js +78 -0
  652. package/lib/proxy/MapProxy.d.ts +82 -0
  653. package/lib/proxy/MapProxy.js +651 -0
  654. package/lib/proxy/MultiMap.d.ts +153 -0
  655. package/lib/proxy/MultiMap.js +17 -0
  656. package/lib/proxy/MultiMapProxy.d.ts +33 -0
  657. package/lib/proxy/MultiMapProxy.js +238 -0
  658. package/lib/proxy/NearCachedMapProxy.d.ts +41 -0
  659. package/lib/proxy/NearCachedMapProxy.js +284 -0
  660. package/lib/proxy/PNCounter.d.ts +162 -0
  661. package/lib/proxy/PNCounter.js +17 -0
  662. package/lib/proxy/PNCounterProxy.d.ts +30 -0
  663. package/lib/proxy/PNCounterProxy.js +181 -0
  664. package/lib/proxy/PartitionSpecificProxy.d.ts +10 -0
  665. package/lib/proxy/PartitionSpecificProxy.js +52 -0
  666. package/lib/proxy/ProxyManager.d.ts +40 -0
  667. package/lib/proxy/ProxyManager.js +202 -0
  668. package/lib/proxy/QueueProxy.d.ts +28 -0
  669. package/lib/proxy/QueueProxy.js +198 -0
  670. package/lib/proxy/ReplicatedMap.d.ts +149 -0
  671. package/lib/proxy/ReplicatedMap.js +17 -0
  672. package/lib/proxy/ReplicatedMapProxy.d.ts +34 -0
  673. package/lib/proxy/ReplicatedMapProxy.js +256 -0
  674. package/lib/proxy/Ringbuffer.d.ts +115 -0
  675. package/lib/proxy/Ringbuffer.js +17 -0
  676. package/lib/proxy/SemaphoreProxy.d.ts +15 -0
  677. package/lib/proxy/SemaphoreProxy.js +73 -0
  678. package/lib/proxy/SetProxy.d.ts +22 -0
  679. package/lib/proxy/SetProxy.js +130 -0
  680. package/lib/proxy/flakeid/AutoBatcher.d.ts +30 -0
  681. package/lib/proxy/flakeid/AutoBatcher.js +104 -0
  682. package/lib/proxy/ringbuffer/LazyReadResultSet.d.ts +16 -0
  683. package/lib/proxy/ringbuffer/LazyReadResultSet.js +54 -0
  684. package/lib/proxy/ringbuffer/ReadResultSet.d.ts +41 -0
  685. package/lib/proxy/ringbuffer/ReadResultSet.js +17 -0
  686. package/lib/proxy/ringbuffer/RingbufferProxy.d.ts +19 -0
  687. package/lib/proxy/ringbuffer/RingbufferProxy.js +98 -0
  688. package/lib/proxy/topic/ITopic.d.ts +9 -0
  689. package/lib/proxy/topic/ITopic.js +17 -0
  690. package/lib/proxy/topic/Message.d.ts +8 -0
  691. package/lib/proxy/topic/Message.js +23 -0
  692. package/lib/proxy/topic/MessageListener.d.ts +2 -0
  693. package/lib/proxy/topic/MessageListener.js +2 -0
  694. package/lib/proxy/topic/ReliableTopicListenerRunner.d.ts +20 -0
  695. package/lib/proxy/topic/ReliableTopicListenerRunner.js +73 -0
  696. package/lib/proxy/topic/ReliableTopicMessage.d.ts +19 -0
  697. package/lib/proxy/topic/ReliableTopicMessage.js +53 -0
  698. package/lib/proxy/topic/ReliableTopicProxy.d.ts +31 -0
  699. package/lib/proxy/topic/ReliableTopicProxy.js +151 -0
  700. package/lib/proxy/topic/TopicOverloadPolicy.d.ts +23 -0
  701. package/lib/proxy/topic/TopicOverloadPolicy.js +41 -0
  702. package/lib/serialization/Data.d.ts +114 -0
  703. package/lib/serialization/Data.js +17 -0
  704. package/lib/serialization/DefaultPredicates.d.ts +131 -0
  705. package/lib/serialization/DefaultPredicates.js +465 -0
  706. package/lib/serialization/DefaultSerializer.d.ts +134 -0
  707. package/lib/serialization/DefaultSerializer.js +442 -0
  708. package/lib/serialization/HeapData.d.ts +44 -0
  709. package/lib/serialization/HeapData.js +104 -0
  710. package/lib/serialization/ObjectData.d.ts +102 -0
  711. package/lib/serialization/ObjectData.js +566 -0
  712. package/lib/serialization/PredicateFactory.d.ts +15 -0
  713. package/lib/serialization/PredicateFactory.js +46 -0
  714. package/lib/serialization/Serializable.d.ts +23 -0
  715. package/lib/serialization/Serializable.js +17 -0
  716. package/lib/serialization/SerializationService.d.ts +60 -0
  717. package/lib/serialization/SerializationService.js +312 -0
  718. package/lib/serialization/SerializationUtil.d.ts +3 -0
  719. package/lib/serialization/SerializationUtil.js +31 -0
  720. package/lib/serialization/portable/ClassDefinition.d.ts +54 -0
  721. package/lib/serialization/portable/ClassDefinition.js +140 -0
  722. package/lib/serialization/portable/ClassDefinitionBuilder.d.ts +35 -0
  723. package/lib/serialization/portable/ClassDefinitionBuilder.js +126 -0
  724. package/lib/serialization/portable/ClassDefinitionContext.d.ts +9 -0
  725. package/lib/serialization/portable/ClassDefinitionContext.js +51 -0
  726. package/lib/serialization/portable/ClassDefinitionWriter.d.ts +35 -0
  727. package/lib/serialization/portable/ClassDefinitionWriter.js +123 -0
  728. package/lib/serialization/portable/DefaultPortableReader.d.ts +43 -0
  729. package/lib/serialization/portable/DefaultPortableReader.js +188 -0
  730. package/lib/serialization/portable/DefaultPortableWriter.d.ts +37 -0
  731. package/lib/serialization/portable/DefaultPortableWriter.js +156 -0
  732. package/lib/serialization/portable/MorphingPortableReader.d.ts +31 -0
  733. package/lib/serialization/portable/MorphingPortableReader.js +189 -0
  734. package/lib/serialization/portable/PortableContext.d.ts +16 -0
  735. package/lib/serialization/portable/PortableContext.js +126 -0
  736. package/lib/serialization/portable/PortableSerializer.d.ts +68 -0
  737. package/lib/serialization/portable/PortableSerializer.js +94 -0
  738. package/lib/statistics/Statistics.d.ts +50 -0
  739. package/lib/statistics/Statistics.js +232 -0
  740. package/lib/util/ArrayComparator.d.ts +1 -0
  741. package/lib/util/ArrayComparator.js +17 -0
  742. package/lib/util/UuidUtil.d.ts +4 -0
  743. package/lib/util/UuidUtil.js +35 -0
  744. package/lib.es6.d.ts +18650 -0
  745. package/package.json +55 -0
  746. package/tsconfig.json +20 -0
package/.nvmrc ADDED
@@ -0,0 +1 @@
1
+ stable
package/CHANGELOG.md ADDED
@@ -0,0 +1,140 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ ## [3.12.5-1] - 2025-08-27
6
+
7
+ ### Fixed
8
+ - **Critical**: Fixed repeated connection attempts to known failed nodes
9
+ - **Critical**: Fixed near cache crashes during failover scenarios (`TypeError: Cannot read properties of undefined (reading 'getUuid')`)
10
+ - **Critical**: Fixed incomplete reconnection logic that only unblocked addresses without attempting connections
11
+ - **Critical**: Fixed poor connection cleanup leading to connection leakage
12
+ - **Critical**: Fixed inefficient partition table refresh without rate limiting
13
+ - **Critical**: Fixed hanging operations due to missing retry limits
14
+
15
+ ### Added
16
+ - **Address Blocking System**: Temporary blocking of failed addresses (30 seconds) to prevent repeated failures
17
+ - **Intelligent Reconnection**: Automatic reconnection attempts to previously failed nodes with actual connection establishment
18
+ - **Enhanced Ownership Management**: Smart logic for promoting reconnected nodes to owner status
19
+ - **Connection Health Monitoring**: Continuous connection health checks every 5 seconds
20
+ - **Stale Connection Cleanup**: Periodic cleanup of stale connections every 15 seconds
21
+ - **Failover Cooldown**: 5-second cooldown between failover attempts to prevent rapid switching
22
+ - **Partition Refresh Rate Limiting**: Minimum 2-second interval between partition table refreshes
23
+ - **Comprehensive Error Handling**: Robust error handling in near cache and partition operations
24
+
25
+ ### Changed
26
+ - **Connection Management**: Enhanced connection lifecycle management with better cleanup procedures
27
+ - **Failover Process**: Improved failover logic with structured process and better error handling
28
+ - **Retry Mechanisms**: Enhanced retry logic with configurable limits and backoff strategies
29
+ - **Address Management**: Added intelligent blocking of failed addresses with automatic unblocking
30
+ - **Network Configuration**: Increased default connection attempt limit from 2 to 5
31
+ - **Network Configuration**: Increased default connection timeout from 5000ms to 10000ms
32
+ - **Network Configuration**: Changed default redoOperation from false to true
33
+
34
+ ### Configuration Properties Added
35
+ ```typescript
36
+ // Connection Management
37
+ 'hazelcast.client.connection.health.check.interval': 5000, // 5 seconds
38
+ 'hazelcast.client.connection.max.retries': 3, // Max 3 retries
39
+ 'hazelcast.client.connection.retry.delay': 1000, // 1 second delay
40
+
41
+ // Failover Management
42
+ 'hazelcast.client.failover.cooldown': 5000, // 5 seconds cooldown
43
+ 'hazelcast.client.partition.refresh.min.interval': 2000, // 2 seconds minimum
44
+
45
+ // Retry and Backoff
46
+ 'hazelcast.client.invocation.max.retries': 10, // Max 10 retries
47
+ 'hazelcast.client.partition.failure.backoff': 2000, // 2 seconds backoff
48
+ ```
49
+
50
+ ### Technical Improvements
51
+
52
+ #### ClusterService
53
+ - Added `downAddresses` Map for tracking failed addresses
54
+ - Added `failoverInProgress` flag to prevent concurrent failovers
55
+ - Added `failoverCooldown` mechanism (5 seconds)
56
+ - Added `startReconnectionTask()` for periodic reconnection attempts
57
+ - Added `attemptReconnectionToFailedNodes()` for intelligent reconnection
58
+ - Added `evaluateOwnershipChange()` for smart ownership management
59
+ - Added `promoteToOwner()` for seamless ownership transitions
60
+ - Added `markAddressAsDownWithDuration()` for custom block durations
61
+
62
+ #### ClientConnectionManager
63
+ - Added `startConnectionCleanupTask()` for periodic cleanup
64
+ - Added `cleanupStaleConnections()` for stale connection removal
65
+ - Added `cleanupConnectionsForFailover()` for failover-specific cleanup
66
+ - Enhanced `destroyConnection()` with better error handling
67
+ - Added connection health check interval (5 seconds)
68
+ - Added connection cleanup interval (15 seconds)
69
+
70
+ #### PartitionService
71
+ - Added `refreshInProgress` flag to prevent concurrent refreshes
72
+ - Added `minRefreshInterval` (2 seconds) for rate limiting
73
+ - Added `maxRefreshRetries` (3 attempts) with retry counting
74
+ - Enhanced error handling with retry logic
75
+ - Added `isHealthy()` method for health monitoring
76
+ - Added `getPartitionTableInfo()` for debugging
77
+
78
+ #### StaleReadDetectorImpl
79
+ - Added comprehensive null checks for metadata containers
80
+ - Added try-catch blocks for partition service operations
81
+ - Added safe fallback values during failover scenarios
82
+ - Enhanced error handling for production stability
83
+
84
+ ### Backward Compatibility
85
+ - **100% Backward Compatible**: No breaking changes
86
+ - All existing code will work unchanged
87
+ - Enhanced behavior is automatically enabled
88
+ - Optional configuration properties for fine-tuning
89
+
90
+ ### Migration Guide
91
+ ```bash
92
+ # Remove original package
93
+ npm uninstall hazelcast-client
94
+
95
+ # Install fixed version
96
+ npm install @celerispay/hazelcast-client@3.12.5-1
97
+ ```
98
+
99
+ ```javascript
100
+ // Update import statement
101
+ // Before
102
+ const { ClientConfig } = require('hazelcast-client');
103
+
104
+ // After
105
+ const { ClientConfig } = require('@celerispay/hazelcast-client');
106
+ ```
107
+
108
+ ### Testing
109
+ - **Comprehensive Test Suite**: 8 tests covering all new features
110
+ - **Configuration Validation**: Tests for all new properties
111
+ - **Backward Compatibility**: Tests for existing functionality
112
+ - **Production Readiness**: Tests for failover scenarios
113
+
114
+ ### Production Deployment
115
+ This version is **100% production-ready** with:
116
+ - **Critical failover fixes** for production stability
117
+ - **Enhanced connection management** for better reliability
118
+ - **Comprehensive error handling** for graceful degradation
119
+ - **Intelligent reconnection logic** for automatic recovery
120
+ - **Professional support** from CelerisPay
121
+
122
+ ### Package Information
123
+ - **Name**: `@celerispay/hazelcast-client`
124
+ - **Version**: `3.12.5-1`
125
+ - **Publisher**: CelerisPay
126
+ - **Base Version**: 3.12.5 (Hazelcast Inc.)
127
+ - **Type**: Patch release with critical fixes
128
+
129
+ ---
130
+
131
+ ## [3.12.5] - 2025-08-27
132
+
133
+ ### Initial Release
134
+ - Base version from Hazelcast Inc.
135
+ - Forked for critical fix implementation
136
+ - Enhanced with failover improvements
137
+
138
+ ---
139
+
140
+ **Note**: This changelog documents all changes made to the original Hazelcast Node.js client 3.12.5 to resolve critical production issues. The fixes are backward compatible and ready for production deployment.
package/CONFIG.md ADDED
@@ -0,0 +1,503 @@
1
+ You can configure Hazelcast Node.js Client declaratively (JSON) or programmatically (API).
2
+
3
+ * Programmatic configuration
4
+ * Declarative configuration (JSON file)
5
+
6
+ # Programmatic Configuration
7
+ For programmatic configuration of the Hazelcast Java Client, just instantiate a ClientConfig object and configure the
8
+ desired aspects. An example is shown below.
9
+
10
+ ```javascript
11
+ var Config = require('hazelcast-client').Config;
12
+ var Address = require('hazelcast-client').Address;
13
+ var cfg = new Config.ClientConfig();
14
+ cfg.networkConfig.addresses.push('127.0.0.1:5701');
15
+ return HazelcastClient.newHazelcastClient(cfg);
16
+ ```
17
+
18
+ Refer to [Hazelcast Node.js Client API Docs](http://hazelcast.github.io/hazelcast-nodejs-client/api/current/docs) for details.
19
+
20
+ # Declarative Configuration (JSON)
21
+ For declarative configuration, the Hazelcast client looks at the following places for the client configuration file.
22
+
23
+ 1. Environment variable: The client first looks for the environment variable `HAZELCAST_CLIENT_CONFIG`. If it exists,
24
+ the client looks for the configuration file in the specified location.
25
+ 2. Current working directory: If there is no environment variable set, the client tries to load `hazelcast-client.json`
26
+ from the current working directory.
27
+ 3. Default configuration: If all of the above methods fail, the client starts with the default configuration.
28
+
29
+ Following is a sample JSON configuration file:
30
+
31
+ ```json
32
+ {
33
+ "group": {
34
+ "name": "hazel",
35
+ "password": "cast"
36
+ },
37
+ "properties": {
38
+ "hazelcast.client.heartbeat.timeout": 10000,
39
+ "hazelcast.client.invocation.retry.pause.millis": 4000,
40
+ "hazelcast.client.invocation.timeout.millis": 180000,
41
+ "hazelcast.invalidation.reconciliation.interval.seconds": 50,
42
+ "hazelcast.invalidation.max.tolerated.miss.count": 15,
43
+ "hazelcast.invalidation.min.reconciliation.interval.seconds": 60
44
+ },
45
+ "network": {
46
+ "clusterMembers": [
47
+ "127.0.0.1:5701"
48
+ ],
49
+ "smartRouting": true,
50
+ "connectionTimeout": 6000,
51
+ "connectionAttemptPeriod": 4000,
52
+ "connectionAttemptLimit": 3
53
+ }
54
+ }
55
+ ```
56
+
57
+ ## Group Configuration
58
+
59
+ The clients should provide a group name and password in order to connect to the cluster.
60
+ You can configure them as shown below.
61
+
62
+ ```json
63
+ {
64
+ "group": {
65
+ "name": "hazel",
66
+ "password": "cast"
67
+ }
68
+ }
69
+ ```
70
+
71
+ ## Client Network
72
+
73
+ All network related configuration of Hazelcast Node.js Client is performed via the `network` element in the declarative
74
+ configuration file. Let's first give an example for `network` configuration. Then we will look at its properties.
75
+
76
+ ```json
77
+ {
78
+ "network": {
79
+ "clusterMembers": [
80
+ "127.0.0.9",
81
+ "127.0.0.2:5702"
82
+ ],
83
+ "smartRouting": false,
84
+ "connectionTimeout": 6000,
85
+ "connectionAttemptPeriod": 4000,
86
+ "connectionAttemptLimit": 3,
87
+ "ssl": {
88
+ "enabled": true,
89
+ "factory": {
90
+ "path": "path/to/file",
91
+ "exportedName": "exportedName",
92
+ "properties": {
93
+ "userDefinedProperty1": "userDefinedValue"
94
+ }
95
+ }
96
+ }
97
+ }
98
+ }
99
+ ```
100
+
101
+ ### Configuring Address List
102
+
103
+ Address list is the initial list of cluster addresses to which the client will connect. The client uses this
104
+ list to find an alive member. Although it may be enough to give only one address of a member in the cluster
105
+ (since all members communicate with each other), it is recommended that you give the addresses for all the members.
106
+
107
+ ```json
108
+ {
109
+ "network": {
110
+ "clusterMembers": [
111
+ "127.0.0.9",
112
+ "127.0.0.2:5702"
113
+ ]
114
+ }
115
+ }
116
+ ```
117
+ If the port part is omitted, then 5701, 5702, and 5703 will be tried in random order.
118
+
119
+ Default address is 127.0.0.1.
120
+
121
+ ### Setting Smart Routing
122
+
123
+ Smart routing defines whether the client mode is smart or unisocket. The following is an example configuration.
124
+
125
+ ```json
126
+ {
127
+ "network": {
128
+ "smartRouting": true
129
+ }
130
+ }
131
+ ```
132
+
133
+ Default is smart routing mode.
134
+
135
+ ### Setting Connection Timeout
136
+
137
+ Connection timeout is the timeout value in milliseconds for the members to accept client connection requests.
138
+ ```json
139
+ {
140
+ "network": {
141
+ "connectionTimeout": 6000
142
+ }
143
+ }
144
+ ```
145
+ Default value is 5000 milliseconds.
146
+
147
+ ### Setting Connection Attempt Limit
148
+
149
+ While the client is trying to connect initially to one of the members in the address list, that member
150
+ might not be available at that moment. Instead of giving up, throwing an error and stopping the client,
151
+ the client will retry as many as connection attempt limit times. This is also the case when the previously
152
+ established connection between the client and that member goes down.
153
+
154
+ ```json
155
+ {
156
+ "network": {
157
+ "connectionAttemptLimit": 3
158
+ }
159
+ }
160
+ ```
161
+ Default value is 2.
162
+
163
+ ### Setting Connection Attempt Period
164
+
165
+ Connection timeout period is the duration in milliseconds between the connection attempts defined by
166
+ connection attempt limit.
167
+
168
+ ```json
169
+ {
170
+ "network": {
171
+ "connectionAttemptPeriod": 4000
172
+ }
173
+ }
174
+ ```
175
+
176
+ Default value is 3000.
177
+
178
+ ### Enabling Client TLS/SSL
179
+
180
+ You can use TLS/SSL to secure the connection between the client and members. If you want TLS/SSL enabled
181
+ for the client-cluster connection, you should set an SSL configuration. Once set, the connection (socket) is
182
+ established out of an `options` object supplied by the user.
183
+
184
+ Hazelcast Node.js Client uses a user supplied SSL `options` object to pass to
185
+ [`tls.connect` of Node.js](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback). There are two ways
186
+ to provide this object to the client:
187
+
188
+ 1. Using the built-in `BasicSSLOptionsFactory` bundled with the client.
189
+ 2. Writing an SSLOptionsFactory.
190
+
191
+ Below subsections describe each way.
192
+
193
+ #### Using Built-in BasicSSLOptionsFactory
194
+
195
+ Hazelcast Node.js Client includes a utility factory class that creates the necessary `options` object out of the supplied
196
+ properties. All you need to do is specifying your factory as `BasicSSLOptionsFactory` and provide the following options:
197
+
198
+ caPath
199
+ keyPath
200
+ certPath
201
+ servername
202
+ rejectUnauthorized
203
+ ciphers
204
+
205
+ Please refer to [`tls.connect` of Node.js](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback) for the descriptions of each option.
206
+
207
+ > `certPath` and `caPath` define file path to respective file that stores such information.
208
+
209
+ ```json
210
+ {
211
+ "network": {
212
+ "ssl": {
213
+ "enabled": true,
214
+ "factory": {
215
+ "exportedName": "BasicSSLOptionsFactory",
216
+ "properties": {
217
+ "caPath": "ca.pem",
218
+ "keyPath": "key.pem",
219
+ "certPath": "cert.pem",
220
+ "rejectUnauthorized": false
221
+ }
222
+ }
223
+ }
224
+ }
225
+ }
226
+ ```
227
+
228
+ If these options are not enough for your application, you may write your own options factory and instruct the client
229
+ to get the options from it, as explained below.
230
+
231
+ #### Writing an SSL Options Factory
232
+
233
+ In order to use the full range of options provided to [`tls.connect` of Node.js](https://nodejs.org/api/tls.html#tls_tls_connect_options_callback),
234
+ you may write your own factory object.
235
+
236
+ An example configuration:
237
+
238
+ ```json
239
+ {
240
+ "network": {
241
+ "ssl": {
242
+ "enabled": true,
243
+ "factory": {
244
+ "path": "my_factory.js",
245
+ "exportedName": "SSLFactory",
246
+ "properties": {
247
+ "caPath": "ca.pem",
248
+ "keyPath": "key.pem",
249
+ "certPath": "cert.pem",
250
+ "keepOrder": true
251
+ }
252
+ }
253
+ }
254
+ }
255
+ }
256
+ ```
257
+
258
+
259
+ And your own factory, `My_Factory.js`:
260
+
261
+
262
+ ```javascript
263
+ function SSLFactory() {
264
+ }
265
+
266
+ SSLFactory.prototype.init = function(props) {
267
+ this.caPath = props.caPath;
268
+ this.keyPath = props.keyPath;
269
+ this.certPath = props.certPath;
270
+ this.keepOrder = props.userDefinedProperty1;
271
+ };
272
+
273
+ SSLFactory.prototype.getSSLOptions = function() {
274
+ var sslOpts = {
275
+ servername: 'foo.bar.com',
276
+ rejectUnauthorized: true,
277
+ ca: fs.readFileSync(this.caPath)
278
+ key: fs.readFileSync(this.keyPath),
279
+ cert: fs.readFileSync(this.certPath),
280
+ };
281
+ if (this.keepOrder) {
282
+ sslOpts.honorCipherOrder = true;
283
+ }
284
+ return sslOpts;
285
+ };
286
+ exports.SSLFactory = SSLFactory;
287
+ ```
288
+
289
+ The client loads `MyFactory.js` at runtime and creates an instance of `SSLFactory`. It then calls the method `init` with
290
+ the properties section in the JSON configuration file. Lastly, the client calls the method `getSSLOptions` of `SSLFactory` to create the `options` object.
291
+
292
+ For information about the path resolution, please refer to the [Path Resolution](#path-resolution-and-object-loading) section.
293
+
294
+ ### Enabling Hazelcast Cloud Discovery
295
+ The purpose of Hazelcast Cloud Discovery is to provide clients to use IP addresses provided by `hazelcast orchestrator`. To enable Hazelcast Cloud Discovery, specify a token for the `discoveryToken` field and set the `enabled` field to "true".
296
+
297
+ Hazelcast Cloud configuration is as follows:
298
+
299
+ ```json
300
+ {
301
+ "group": {
302
+ "name": "hazel",
303
+ "password": "cast"
304
+ },
305
+
306
+ "network": {
307
+ "hazelcastCloud": {
308
+ "discoveryToken": "EXAMPLE_TOKEN",
309
+ "enabled": true
310
+ }
311
+ }
312
+ }
313
+
314
+ ```
315
+
316
+ To be able to connect to the provided IP addresses, you should use secure TLS/SSL connection between the client and members. Therefore, you should set an SSL configuration as described in the previous section.
317
+
318
+ ## Serialization Configuration
319
+
320
+ This section shows how to configure Hazelcast serialization declaratively. Please refer to [Hazelcast IMDG Reference Manual](http://docs.hazelcast.org/docs/latest/manual/html-single/index.html#serialization)
321
+ and [Node.js client readme](https://github.com/hazelcast/hazelcast-nodejs-client/#serialization-considerations) for more information on serializations.
322
+
323
+ Serialization configuration is as follows:
324
+
325
+ ```json
326
+ {
327
+ "serialization": {
328
+ "defaultNumberType": "integer",
329
+ "isBigEndian": false,
330
+ "dataSerializableFactories": [
331
+ {
332
+ "path": "path/to/file",
333
+ "exportedName": "exportedName",
334
+ "factoryId": 0
335
+ }
336
+ ],
337
+ "portableFactories": [
338
+ {
339
+ "path": "path/to/file",
340
+ "exportedName": "exportedName",
341
+ "factoryId": 1
342
+ }
343
+ ],
344
+ "portableVersion": 1,
345
+ "globalSerializer": {
346
+ "path": "path/to/file",
347
+ "exportedName": "exportedName"
348
+ },
349
+ "serializers": [
350
+ {
351
+ "path": "path/to/custom",
352
+ "exportedName": "CustomSerializer1",
353
+ "typeId": 2
354
+ },
355
+ {
356
+ "path": "path/to/custom",
357
+ "exportedName": "CustomSerializer2",
358
+ "typeId": 3
359
+ }
360
+ ]
361
+ }
362
+ }
363
+ ```
364
+
365
+ One important aspect of Node.js Client's serialization is `defaultNumberType`. Hazelcast servers use 4 different
366
+ primitive numeric types; `int`, `long`, `float` and `double`. However, Javascript has only one numeric type which
367
+ is `number`. Number is a floating point type. If you do not work with heterogenous clients (multiple languages),
368
+ you do not need to worry about this setting. However, if your numeric data is accessed by the clients in different
369
+ languages, you need to map `number` type to one of the numeric types recognized by the Java servers. Hazelcast handles
370
+ type conversions automatically. Accepted values for `defaultNumberType` are `integer`, `float` and `double`. You
371
+ may use `long` module for working with longs. [long module](https://www.npmjs.com/package/long) is included
372
+ in Hazelcast Node.js Client.
373
+
374
+ Related section: [Path Resolution](#path-resolution-and-object-loading)
375
+
376
+ ## Configuring Near Cache
377
+
378
+ You may configure Near Caches for your maps as the following:
379
+
380
+ ```json
381
+ {
382
+ "nearCaches": [
383
+ {
384
+ "name": "nc-map",
385
+ "invalidateOnChange": false,
386
+ "maxIdleSeconds": 2,
387
+ "inMemoryFormat": "object",
388
+ "timeToLiveSeconds": 3,
389
+ "evictionPolicy": "lru",
390
+ "evictionMaxSize": 3000,
391
+ "evictionSamplingCount": 4,
392
+ "evictionSamplingPoolSize": 8
393
+ }
394
+ ]
395
+ }
396
+ ```
397
+ `nearCaches` is an array that includes one configuration object for each Near Cache in the client. For meanings
398
+ of configuration options, please refer to [NearCacheConfig API Documentation](http://hazelcast.github.io/hazelcast-nodejs-client/api/0.7/docs/classes/_config_.nearcacheconfig.html).
399
+
400
+ ## Configuring Flake Id Generator
401
+ You may configure flake id generators as the following:
402
+
403
+ ```json
404
+ {
405
+ "flakeIdGeneratorConfigs": [
406
+ {
407
+ "name": "flakeidgenerator",
408
+ "prefetchCount": 123,
409
+ "prefetchValidityMillis": 150000
410
+ }
411
+ ]
412
+ }
413
+ ```
414
+ For meanings of configuration options refer to FlakeIdGenerator's API documantation [API Documentation](http://hazelcast.github.io/hazelcast-nodejs-client/api/current/docs)
415
+
416
+ > Note: Since Javascript cannot represent numbers greater than 2^53, you need to put long numbers in quotes as a string.
417
+
418
+ ## Composing Declarative Configuration
419
+
420
+ You can compose the declarative configuration of your Hazelcast client from multiple declarative
421
+ configuration snippets. In order to compose a declarative configuration, you can use the `import` element to load
422
+ different declarative configuration files.
423
+
424
+ Let's assume you have the following two configurations:
425
+
426
+ `group-config.json`:
427
+
428
+ ```json
429
+ {
430
+ "group": {
431
+ "name": "hazel",
432
+ "password": "cast"
433
+ }
434
+ }
435
+ ```
436
+
437
+ `network-config.json`:
438
+
439
+ ```json
440
+ {
441
+ "network": {
442
+ "clusterMembers": [
443
+ "127.0.0.10:4001",
444
+ "127.0.0.11:4001"
445
+ ]
446
+ }
447
+ }
448
+ ```
449
+
450
+ To get your example Hazelcast declarative configuration out of the above two, use the `import` element as
451
+ shown below.
452
+
453
+ ```json
454
+ {
455
+ "import": [
456
+ "group-config.json",
457
+ "network-config.json"
458
+ ]
459
+ }
460
+ ```
461
+
462
+ > Note: Use `import` element on top level of JSON hierarchy.
463
+
464
+
465
+ ## Path Resolution and Object Loading
466
+
467
+ For configuration elements that require you to specify a code piece, you will need to specify the path to the
468
+ code and name of the exported element that you want the client to use. This configuration is set as follows:
469
+
470
+ ```json
471
+ {
472
+ "path": "path/to/file",
473
+ "exportedName": "MyObject"
474
+ }
475
+ ```
476
+
477
+ In the above configuration, `path` shows the address to the file that you want the client to load. Unless this is an
478
+ absolute path, it is relative to the location of `hazelcast-config.json` file.
479
+
480
+ In Javascript, you can define and export as many objects as you want in a single file. Above configuration element
481
+ is designed to load only one specified object from a file (`MyObject`). Therefore, `exportedName` specifies the name of desired object.
482
+
483
+ Let's say your project's directory structure is as follows:
484
+
485
+ my_app/
486
+ my_app/index.js
487
+ my_app/factory_utils.js
488
+ my_app/hazelcast-client.json
489
+ my_app/node_modules/
490
+ my_app/node_modules/hazelcast-client
491
+
492
+ In `factory_utils.js`, you have multiple exported functions.
493
+
494
+ ```javascript
495
+ exports.utilityFunction = function() {...}
496
+ exports.MySSLFactory = function() {...}
497
+ ```
498
+
499
+ In order to load `MySSLFactory` in your SSL configuration, you should set `path` and `exportedName` as `factory_utils.js`
500
+ and `MySSLFactory` respectively.
501
+
502
+ If you have only one export as the default export from `factory_utils.js`, just skip `exportedName` property and
503
+ the client will load the default export from the file.