javonet-ruby-sdk 2.5.8 → 2.5.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (334) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/NetVersion90LatestPatch.runtimeconfig.json +10 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/NetVersionLatest.runtimeconfig.json +2 -2
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -29
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersion90LatestPatch.runtimeconfig.json +10 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersionLatest.runtimeconfig.json +2 -2
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  41. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersion90LatestPatch.runtimeconfig.json +10 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersionLatest.runtimeconfig.json +2 -2
  43. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  56. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libpython3.11.dylib +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  59. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/NetVersion90LatestPatch.runtimeconfig.json +10 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/NetVersionLatest.runtimeconfig.json +2 -2
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersion90LatestPatch.runtimeconfig.json +10 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersionLatest.runtimeconfig.json +2 -2
  89. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  91. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/NetVersion90LatestPatch.runtimeconfig.json +10 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/NetVersionLatest.runtimeconfig.json +2 -2
  102. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  103. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  104. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  105. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  106. data/lib/javonet-ruby-sdk/Binaries/Nodejs/index.js +64 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/handler/AbstractGeneratorHandler.js +0 -1
  108. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +27 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GeneratorHandler.js +38 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +26 -0
  111. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +24 -0
  112. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetTypeGeneratorHandler.js +39 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/Handlers.js +58 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +33 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +35 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +35 -0
  117. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +15 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/handler/shared/SharedClassInstanceHandler.js +4 -5
  119. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/handler/shared/SharedClassNameHandler.js +10 -12
  120. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/handler/shared/SharedMethodNameHandler.js +9 -12
  121. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +9 -0
  122. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedBodyHandler.js +18 -0
  123. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +29 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +21 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +31 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +21 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +33 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +39 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +39 -0
  130. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/CommonGenerator.js +39 -0
  131. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/NodejsStringBuilder.js +17 -0
  132. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/internal/SharedHandlerType.js +2 -2
  133. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/utils/StringUtils.js +2 -2
  134. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/AbstractHandler.js +12 -12
  135. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArrayGetItemHandler.js +3 -4
  136. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArrayGetRankHandler.js +5 -7
  137. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArrayGetSizeHandler.js +3 -4
  138. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArrayHandler.js +2 -3
  139. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArraySetItemHandler.js +4 -5
  140. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/CastingHandler.js +3 -3
  141. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/CreateClassInstanceHandler.js +36 -0
  142. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/DestructReferenceHandler.js +3 -4
  143. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/EnableNamespaceHandler.js +8 -11
  144. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/EnableTypeHandler.js +8 -10
  145. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/GetGlobalStaticFieldHandler.js +37 -0
  146. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/GetInstanceFieldHandler.js +35 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/GetStaticFieldHandler.js +36 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/GetTypeHandler.js +22 -21
  149. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/Handler.js +12 -11
  150. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeGlobalMethodHandler.js +43 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeInstanceMethodHandler.js +38 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeStandaloneMethodHandler.js +56 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeStaticMethodHandler.js +38 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/LoadLibraryHandler.js +4 -3
  155. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/ResolveReferenceHandler.js +13 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetGlobalStaticFieldHandler.js +38 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetInstanceFieldHandler.js +35 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetStaticFieldHandler.js +33 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ValueHandler.js +3 -5
  160. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +142 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/namespaceCache/NamespaceCache.js +12 -12
  162. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/protocol/CommandDeserializer.js +43 -48
  163. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/protocol/CommandSerializer.js +4 -5
  164. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/protocol/TypeDeserializer.js +17 -15
  165. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/protocol/TypeSerializer.js +6 -7
  166. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/receiver/Receiver.js +32 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/receiver/ReceiverNative.js +3 -3
  168. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/referenceCache/ReferencesCache.js +4 -4
  169. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/transmitter/Transmitter.js +2 -3
  170. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/transmitter/TransmitterWebsocket.js +33 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +34 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/typeCache/TypeCache.js +12 -12
  173. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/webSocketClient/WebSocketClient.js +131 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/declarations.d.ts +64 -0
  175. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/ConfigRuntimeFactory.js +145 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/InvocationContext.js +454 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/Javonet.js +89 -0
  178. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeContext.js +266 -0
  179. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeFactory.js +78 -0
  180. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/tools/JsonFileResolver.js +101 -0
  181. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/tools/SdkExceptionHelper.js +79 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/Command.js +69 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/CommandType.js +6 -2
  184. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/ConnectionType.js +8 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/ExceptionType.js +6 -3
  186. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/RuntimeLogger.js +30 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/RuntimeName.js +6 -3
  188. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/RuntimeNameHandler.js +34 -0
  189. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/StringEncodingMode.js +9 -0
  190. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/Type.js +5 -2
  191. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/connectionData/IConnectionData.js +4 -6
  192. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/connectionData/InMemoryConnectionData.js +35 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/connectionData/TcpConnectionData.js +77 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/connectionData/WsConnectionData.js +50 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/exception/ExceptionSerializer.js +24 -31
  196. data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/exception/ExceptionThrower.js +36 -30
  197. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/REGEX.js +2 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/rng.js +12 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/stringify.js +51 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/v4.js +27 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/validate.js +6 -0
  202. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  203. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  204. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  205. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  209. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  210. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  211. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  212. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +90 -90
  213. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  214. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  215. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  216. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  217. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  218. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +20 -20
  219. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
  220. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
  221. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
  222. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
  223. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
  225. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
  226. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
  227. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
  228. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
  229. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
  230. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
  231. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
  232. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
  233. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
  234. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
  235. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
  236. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
  237. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
  238. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
  239. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
  240. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
  242. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
  243. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
  244. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
  245. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
  246. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
  247. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
  248. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
  249. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
  250. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
  251. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
  252. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
  253. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
  254. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
  255. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
  256. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
  257. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
  258. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
  259. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
  260. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  261. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
  262. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
  263. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
  264. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
  265. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
  266. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
  267. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
  268. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
  269. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
  270. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
  271. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
  272. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
  273. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
  274. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
  275. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
  276. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
  277. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
  278. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
  279. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
  280. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
  281. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
  282. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
  283. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
  284. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
  285. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
  286. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  287. metadata +105 -85
  288. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -17
  289. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/GeneratorHandler.js +0 -30
  290. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -18
  291. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -17
  292. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/GetTypeGeneratorHandler.js +0 -26
  293. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/Handlers.js +0 -51
  294. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -18
  295. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -20
  296. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -11
  297. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -10
  298. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedBodyHandler.js +0 -14
  299. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -24
  300. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -19
  301. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -27
  302. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -20
  303. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -27
  304. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -31
  305. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/internal/CommonGenerator.js +0 -26
  306. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/internal/NodejsStringBuilder.js +0 -18
  307. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/CreateClassInstanceHandler.js +0 -38
  308. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/GetGlobalStaticFieldHandler.js +0 -39
  309. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/GetInstanceFieldHandler.js +0 -35
  310. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/GetStaticFieldHandler.js +0 -36
  311. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/InvokeGlobalMethodHandler.js +0 -47
  312. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/InvokeInstanceMethodHandler.js +0 -40
  313. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/InvokeStaticMethodHandler.js +0 -40
  314. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/ResolveReferenceHandler.js +0 -14
  315. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/SetGlobalStaticFieldHandler.js +0 -44
  316. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/SetInstanceFieldHandler.js +0 -35
  317. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/SetStaticFieldHandler.js +0 -33
  318. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/interpreter/Interpreter.js +0 -69
  319. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/receiver/Receiver.js +0 -26
  320. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/transmitter/TransmitterWrapper.js +0 -28
  321. data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/webSocketClient/WebSocketClient.js +0 -134
  322. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/Command.js +0 -66
  323. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/ConnectionType.js +0 -5
  324. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/RuntimeLogger.js +0 -27
  325. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/RuntimeNameHandler.js +0 -30
  326. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/StringEncodingMode.js +0 -6
  327. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/connectionData/InMemoryConnectionData.js +0 -28
  328. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/connectionData/TcpConnectionData.js +0 -69
  329. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/connectionData/WsConnectionData.js +0 -33
  330. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/REGEX.js +0 -1
  331. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/rng.js +0 -12
  332. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/stringify.js +0 -51
  333. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/v4.js +0 -27
  334. data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/validate.js +0 -6
@@ -0,0 +1,454 @@
1
+ const Interpreter = require('../core/interpreter/Interpreter')
2
+ const Command = require('../utils/Command')
3
+ const CommandType = require('../utils/CommandType')
4
+ const ConnectionType = require('../utils/ConnectionType')
5
+ const ExceptionThrower = require('../utils/exception/ExceptionThrower')
6
+
7
+ /**
8
+ * InvocationContext is a class that represents a context for invoking commands.
9
+ * It implements several interfaces for different types of interactions.
10
+ * This class is used to construct chains of invocations, representing expressions of interaction that have not yet been executed.
11
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/invocation-context)
12
+ * @class
13
+ */
14
+ class InvocationContext {
15
+ #runtimeName
16
+ #connectionData
17
+ #currentCommand
18
+ #responseCommand
19
+ #interpreter
20
+ // eslint-disable-next-line no-unused-private-class-members
21
+ #isExecuted
22
+ #resultValue
23
+
24
+ constructor(runtimeName, connectionData, command, isExecuted = false) {
25
+ this.#runtimeName = runtimeName
26
+ this.#connectionData = connectionData
27
+ this.#currentCommand = command
28
+ this.#responseCommand = null
29
+ this.#isExecuted = isExecuted
30
+ this.#interpreter = null
31
+ this.#resultValue = null
32
+ }
33
+
34
+ #createInstanceContext(localCommand) {
35
+ if (this.#connectionData.connectionType === ConnectionType.WEB_SOCKET) {
36
+ return new InvocationWsContext(
37
+ this.#runtimeName,
38
+ this.#connectionData,
39
+ this.#buildCommand(localCommand)
40
+ )
41
+ }
42
+ return new InvocationContext(
43
+ this.#runtimeName,
44
+ this.#connectionData,
45
+ this.#buildCommand(localCommand)
46
+ )
47
+ }
48
+
49
+ get_current_command() {
50
+ return this.#currentCommand
51
+ }
52
+
53
+ //destructor() {
54
+ // if (this.#currentCommand.commandType === CommandType.Reference) {
55
+ // this.#currentCommand = new Command(
56
+ // this.#runtimeName,
57
+ // CommandType.DestructReference,
58
+ // this.#currentCommand.payload
59
+ // );
60
+ // this.execute();
61
+ // }
62
+ //}
63
+
64
+ [Symbol.iterator] = function () {
65
+ if (this.#currentCommand.commandType !== CommandType.Reference) {
66
+ throw new Error('Object is not iterable')
67
+ }
68
+ let position = -1
69
+ let arraySize = this.getSize().execute().getValue()
70
+
71
+ return {
72
+ next: () => ({
73
+ value: this.getIndex(++position),
74
+ done: position >= arraySize,
75
+ }),
76
+ }
77
+ }
78
+
79
+ /**
80
+ * Executes the current command.
81
+ * Because invocation context is building the intent of executing particular expression on target environment, we call the initial state of invocation context as non-materialized.
82
+ * The non-materialized context wraps either single command or chain of recursively nested commands.
83
+ * Commands are becoming nested through each invocation of methods on Invocation Context.
84
+ * Each invocation triggers the creation of new Invocation Context instance wrapping the current command with new parent command valid for invoked method.
85
+ * Developer can decide on any moment of the materialization for the context taking full control of the chunks of the expression being transferred and processed on target runtime.
86
+ * @returns {InvocationContext} the InvocationContext after executing the command.
87
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/execute-method)
88
+ * @method
89
+ */
90
+ execute() {
91
+ this.#interpreter = new Interpreter()
92
+ this.#responseCommand = this.#interpreter.execute(this.#currentCommand, this.#connectionData)
93
+
94
+ if (this.#responseCommand.commandType === CommandType.Exception) {
95
+ throw ExceptionThrower.throwException(this.#responseCommand)
96
+ }
97
+
98
+ if (this.#responseCommand.commandType === CommandType.CreateClassInstance) {
99
+ this.#currentCommand = this.#responseCommand
100
+ this.#isExecuted = true
101
+ return this
102
+ }
103
+
104
+ return new InvocationContext(this.#runtimeName, this.#connectionData, this.#responseCommand, true)
105
+ }
106
+
107
+ /**
108
+ * Invokes a static method on the target runtime.
109
+ * @param {string} methodName - The name of the method to invoke.
110
+ * @param {...any} args - Method arguments.
111
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to invoke the static method.
112
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/calling-methods/invoking-static-method)
113
+ * @method
114
+ */
115
+ invokeStaticMethod(methodName, ...args) {
116
+ let localCommand = new Command(this.#runtimeName, CommandType.InvokeStaticMethod, [
117
+ methodName,
118
+ ...args,
119
+ ])
120
+ return this.#createInstanceContext(localCommand)
121
+ }
122
+
123
+ /**
124
+ * Invokes a standalone method on the target runtime.
125
+ * @param {string} methodName - The name of the method to invoke.
126
+ * @param {...any} args - Method arguments.
127
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to invoke the static method.
128
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/calling-methods/invoking-static-method)
129
+ * @method
130
+ */
131
+ invokeStandaloneMethod(methodName, ...args) {
132
+ let localCommand = new Command(this.#runtimeName, CommandType.InvokeStandaloneMethod, [
133
+ methodName,
134
+ ...args,
135
+ ])
136
+ return this.#createInstanceContext(localCommand)
137
+ }
138
+
139
+ /**
140
+ * Retrieves the value of a static field from the target runtime.
141
+ * @param {string} fieldName - The name of the field to get.
142
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to get the static field.
143
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/fields-and-properties/getting-and-setting-values-for-static-fields-and-properties)
144
+ * @method
145
+ */
146
+ getStaticField(fieldName) {
147
+ let localCommand = new Command(this.#runtimeName, CommandType.GetStaticField, [fieldName])
148
+ return this.#createInstanceContext(localCommand)
149
+ }
150
+
151
+ /**
152
+ * Sets the value of a static field in the target runtime.
153
+ * @param {string} fieldName - The name of the field to set.
154
+ * @param {any} value - The new value of the field.
155
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to set the static field.
156
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/fields-and-properties/getting-and-setting-values-for-static-fields-and-properties)
157
+ * @method
158
+ */
159
+ setStaticField(fieldName, value) {
160
+ let localCommand = new Command(this.#runtimeName, CommandType.SetStaticField, [fieldName, value])
161
+ return this.#createInstanceContext(localCommand)
162
+ }
163
+
164
+ /**
165
+ * Creates a new instance of a class in the target runtime.
166
+ * @param {...any} args - The arguments to pass to the class constructor
167
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to create the instance.
168
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/calling-methods/creating-instance-and-calling-instance-methods)
169
+ * @method
170
+ */
171
+ createInstance(...args) {
172
+ let localCommand = new Command(this.#runtimeName, CommandType.CreateClassInstance, args)
173
+ return this.#createInstanceContext(localCommand)
174
+ }
175
+
176
+ /**
177
+ * Retrieves the value of an instance field from the target runtime.
178
+ * @param {string} fieldName - The name of the field to get.
179
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to get the instance field.
180
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/fields-and-properties/getting-and-setting-values-for-instance-fields-and-properties)
181
+ * @method
182
+ */
183
+ getInstanceField(fieldName) {
184
+ let localCommand = new Command(this.#runtimeName, CommandType.GetInstanceField, [fieldName])
185
+ return this.#createInstanceContext(localCommand)
186
+ }
187
+
188
+ /**
189
+ * Sets the value of an instance field in the target runtime.
190
+ * @param {string} fieldName - The name of the field to set.
191
+ * @param {any} value - The new value of the field.
192
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to set the instance field.
193
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/fields-and-properties/getting-and-setting-values-for-instance-fields-and-properties)
194
+ * @method
195
+ */
196
+ setInstanceField(fieldName, value) {
197
+ let localCommand = new Command(this.#runtimeName, CommandType.SetInstanceField, [fieldName, value])
198
+ return this.#createInstanceContext(localCommand)
199
+ }
200
+
201
+ /**
202
+ * Invokes an instance method on the target runtime.
203
+ * @param {string} methodName - The name of the method to invoke.
204
+ * @param {...any} args - Method arguments.
205
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to invoke the instance method.
206
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/calling-methods/invoking-instance-method)
207
+ * @method
208
+ */
209
+ invokeInstanceMethod(methodName, ...args) {
210
+ let localCommand = new Command(this.#runtimeName, CommandType.InvokeInstanceMethod, [
211
+ methodName,
212
+ ...args,
213
+ ])
214
+ return this.#createInstanceContext(localCommand)
215
+ }
216
+
217
+ /**
218
+ * Retrieves the value at a specific index in an array from the target runtime.
219
+ * @param {...any} indexes - the arguments to pass to the array getter. The first argument should be the index.
220
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to get the index.
221
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/arrays-and-collections/one-dimensional-arrays)
222
+ * @method
223
+ */
224
+ getIndex(...indexes) {
225
+ let localCommand = new Command(this.#runtimeName, CommandType.ArrayGetItem, indexes)
226
+ return this.#createInstanceContext(localCommand)
227
+ }
228
+
229
+ /**
230
+ * Sets the value at a specific index in an array in the target runtime.
231
+ * @param {number[]} indexes - The index to set the value at.
232
+ * @param {any} value - The value to set at the index.
233
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to set the index.
234
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/arrays-and-collections/one-dimensional-arrays)
235
+ * @method
236
+ */
237
+ setIndex(indexes, value) {
238
+ let localCommand = new Command(this.#runtimeName, CommandType.ArraySetItem, [indexes, value])
239
+ return this.#createInstanceContext(localCommand)
240
+ }
241
+
242
+ /**
243
+ * Retrieves the size of an array from the target runtime.
244
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to get the size.
245
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/arrays-and-collections/one-dimensional-arrays)
246
+ * @method
247
+ */
248
+ getSize() {
249
+ let localCommand = new Command(this.#runtimeName, CommandType.ArrayGetSize, [])
250
+ return this.#createInstanceContext(localCommand)
251
+ }
252
+
253
+ /**
254
+ * Retrieves the rank of an array from the target runtime.
255
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to get the rank.
256
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/arrays-and-collections/one-dimensional-arrays)
257
+ * @method
258
+ */
259
+ getRank() {
260
+ let localCommand = new Command(this.#runtimeName, CommandType.ArrayGetRank, [])
261
+ return this.#createInstanceContext(localCommand)
262
+ }
263
+
264
+ /**
265
+ * Invokes a generic static method on the target runtime.
266
+ * @param {string} methodName - The name of the method to invoke.
267
+ * @param {...any} args - Method arguments.
268
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to invoke the generic static method.
269
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/generics/calling-generic-static-method)
270
+ * @method
271
+ */
272
+ invokeGenericStaticMethod(methodName, ...args) {
273
+ let localCommand = new Command(this.#runtimeName, CommandType.InvokeGenericStaticMethod, [
274
+ methodName,
275
+ ...args,
276
+ ])
277
+ return this.#createInstanceContext(localCommand)
278
+ }
279
+
280
+ /**
281
+ * Invokes a generic method on the target runtime.
282
+ * @param {string} methodName - The name of the method to invoke.
283
+ * @param {...any} args - Method arguments.
284
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to invoke the generic method.
285
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/generics/calling-generic-instance-method)
286
+ * @method
287
+ */
288
+ invokeGenericMethod(methodName, ...args) {
289
+ let localCommand = new Command(this.#runtimeName, CommandType.InvokeGenericMethod, [
290
+ methodName,
291
+ ...args,
292
+ ])
293
+ return this.#createInstanceContext(localCommand)
294
+ }
295
+
296
+ /**
297
+ * Retrieves the name of an enum from the target runtime.
298
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to get the enum name.
299
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/enums/using-enum-type)
300
+ * @method
301
+ */
302
+ getEnumName() {
303
+ let localCommand = new Command(this.#runtimeName, CommandType.GetEnumName, [])
304
+ return this.#createInstanceContext(localCommand)
305
+ }
306
+
307
+ /**
308
+ * Retrieves the value of an enum from the target runtime.
309
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to get the enum value.
310
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/enums/using-enum-type)
311
+ * @method
312
+ */
313
+ getEnumValue() {
314
+ let localCommand = new Command(this.#runtimeName, CommandType.GetEnumValue, [])
315
+ return this.#createInstanceContext(localCommand)
316
+ }
317
+
318
+ /**
319
+ * Retrieves the value of a reference from the target runtime.
320
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to get the ref value.
321
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/methods-arguments/passing-arguments-by-reference-with-ref-keyword)
322
+ * @method
323
+ */
324
+ getRefValue() {
325
+ let localCommand = new Command(this.#runtimeName, CommandType.GetRefValue, [])
326
+ return this.#createInstanceContext(localCommand)
327
+ }
328
+
329
+ /**
330
+ * Creates a null object of a specific type on the target runtime.
331
+ *
332
+ * @returns {InvocationContext} An InvocationContext instance with the command to create a null object.
333
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/null-handling/create-null-object)
334
+ * @method
335
+ */
336
+ createNull() {
337
+ let localCommand = new Command(this.#runtimeName, CommandType.CreateNull, [])
338
+ return this.#createInstanceContext(localCommand)
339
+ }
340
+
341
+ /**
342
+ * Retrieves an array from the target runtime.
343
+ * @returns {InvocationContext} A new InvocationContext instance that wraps the command to retrieve the array.
344
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/arrays-and-collections/retrieve-array)
345
+ * @method
346
+ */
347
+ retrieveArray() {
348
+ let localCommand = new Command(this.#runtimeName, CommandType.RetrieveArray, [])
349
+ let localInvCtx = new InvocationContext(
350
+ this.#runtimeName,
351
+ this.#connectionData,
352
+ this.#buildCommand(localCommand)
353
+ )
354
+ localInvCtx.execute()
355
+ return localInvCtx.#responseCommand.payload
356
+ }
357
+
358
+ /**
359
+ * Returns the primitive value from the target runtime. This could be any primitive type in JavaScript,
360
+ * such as int, boolean, byte, char, long, double, float, etc.
361
+ * @returns {Command} The value of the current command.
362
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/execute-method)
363
+ * @method
364
+ */
365
+
366
+ getValue() {
367
+ this.#resultValue = this.#currentCommand.payload[0]
368
+ return this.#resultValue
369
+ }
370
+
371
+ #buildCommand = function (command) {
372
+ for (let i = 0; i < command.payload.length; i++) {
373
+ command.payload[i] = this.#encapsulatePayloadItem(command.payload[i])
374
+ }
375
+ return command.prependArgToPayload(this.#currentCommand)
376
+ }
377
+
378
+ #encapsulatePayloadItem = function (payloadItem) {
379
+ // eslint-disable-next-line valid-typeof
380
+ if (typeof payloadItem === 'Command' || payloadItem instanceof Command) {
381
+ for (let i = 0; i < payloadItem.payload.length; i++) {
382
+ payloadItem.payload[i] = this.#encapsulatePayloadItem(payloadItem.payload[i])
383
+ }
384
+ return payloadItem
385
+ // eslint-disable-next-line valid-typeof
386
+ } else if (typeof payloadItem === 'InvocationContext' || payloadItem instanceof InvocationContext) {
387
+ return payloadItem.get_current_command()
388
+ } else if (payloadItem instanceof Array) {
389
+ for (let i = 0; i < payloadItem.length; i++) {
390
+ payloadItem[i] = this.#encapsulatePayloadItem(payloadItem[i])
391
+ }
392
+ return new Command(this.runtimeName, CommandType.Array, payloadItem)
393
+ } else {
394
+ return new Command(this.runtimeName, CommandType.Value, [payloadItem])
395
+ }
396
+ }
397
+ }
398
+
399
+ class InvocationWsContext extends InvocationContext {
400
+ #runtimeName
401
+ #connectionData
402
+ #currentCommand
403
+ #responseCommand
404
+ #interpreter
405
+ // eslint-disable-next-line no-unused-private-class-members
406
+ #isExecuted
407
+ // eslint-disable-next-line no-unused-private-class-members
408
+ #resultValue
409
+
410
+ constructor(runtimeName, connectionData, command, isExecuted = false) {
411
+ super(runtimeName, connectionData, command, isExecuted)
412
+
413
+ this.#runtimeName = runtimeName
414
+ this.#connectionData = connectionData
415
+ this.#currentCommand = command
416
+ this.#responseCommand = null
417
+ this.#isExecuted = isExecuted
418
+ this.#interpreter = null
419
+ this.#resultValue = null
420
+ }
421
+
422
+ /**
423
+ * Executes the current command.
424
+ * Because invocation context is building the intent of executing particular expression on target environment, we call the initial state of invocation context as non-materialized.
425
+ * The non-materialized context wraps either single command or chain of recursively nested commands.
426
+ * Commands are becoming nested through each invocation of methods on Invocation Context.
427
+ * Each invocation triggers the creation of new Invocation Context instance wrapping the current command with new parent command valid for invoked method.
428
+ * Developer can decide on any moment of the materialization for the context taking full control of the chunks of the expression being transferred and processed on target runtime.
429
+ * @returns {InvocationContext} the InvocationContext after executing the command.
430
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/execute-method)
431
+ * @method
432
+ */
433
+ async execute() {
434
+ this.#interpreter = new Interpreter()
435
+ this.#responseCommand = await this.#interpreter.executeAsync(
436
+ this.#currentCommand,
437
+ this.#connectionData
438
+ )
439
+
440
+ if (this.#responseCommand.commandType === CommandType.Exception) {
441
+ throw ExceptionThrower.throwException(this.#responseCommand)
442
+ }
443
+
444
+ if (this.#responseCommand.commandType === CommandType.CreateClassInstance) {
445
+ this.#currentCommand = this.#responseCommand
446
+ this.#isExecuted = true
447
+ return this
448
+ }
449
+
450
+ return new InvocationWsContext(this.#runtimeName, this.#connectionData, this.#responseCommand, true)
451
+ }
452
+ }
453
+
454
+ module.exports = { InvocationContext, InvocationWsContext }
@@ -0,0 +1,89 @@
1
+ const { RuntimeFactory, InMemoryConnectionData, WsConnectionData } = require('../..')
2
+
3
+ const Transmitter = require('../core/transmitter/Transmitter')
4
+ const ConfigRuntimeFactory = require('./ConfigRuntimeFactory')
5
+ const RuntimeLogger = require('../utils/RuntimeLogger')
6
+ const TcpConnectionData = require('../utils/connectionData/TcpConnectionData')
7
+
8
+ /**
9
+ * The Javonet class is a singleton class that serves as the entry point for interacting with Javonet.
10
+ * It provides methods to activate and initialize the Javonet SDK.
11
+ * It supports both in-memory and TCP connections.
12
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/javonet-static-class)
13
+ */
14
+ class Javonet {
15
+ // Static block to initialize the Transmitter
16
+ static {
17
+ Transmitter.initialize()
18
+ //SDKExceptionHelper.sendExceptionToAppInsights("SdkMessage", "Javonet SDK initialized");
19
+ }
20
+
21
+ /**
22
+ * Initializes Javonet using an in-memory channel on the same machine.
23
+ * @returns {RuntimeFactory} A RuntimeFactory instance configured for an in-memory connection.
24
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/in-memory-channel)
25
+ */
26
+ static inMemory() {
27
+ return new RuntimeFactory(new InMemoryConnectionData())
28
+ }
29
+
30
+ /**
31
+ * Initializes Javonet with a TCP connection to a remote machine.
32
+ * @param {TcpConnectionData} tcpConnectionData - The tcp connection data of the remote machine.
33
+ * @returns {RuntimeFactory} A RuntimeFactory instance configured for a TCP connection.
34
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/tcp-channel)
35
+ */
36
+ static tcp(tcpConnectionData) {
37
+ return new RuntimeFactory(tcpConnectionData)
38
+ }
39
+
40
+ /**
41
+ * Initializes Javonet with a WebSocket connection to a remote machine.
42
+ * @param {WsConnectionData} wsConnectionData - The WebSocket connection data of the remote machine.
43
+ * @returns {RuntimeFactory} A RuntimeFactory instance configured for a WebSocket connection.
44
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/websocket-channel)
45
+ */
46
+ static ws(wsConnectionData) {
47
+ return new RuntimeFactory(wsConnectionData)
48
+ }
49
+
50
+ /**
51
+ * Initializes Javonet with a custom configuration file taken from external source.
52
+ * Currentyl supported: Configuration file in JSON format
53
+ * @param {string} configPath - Path to a configuration file.
54
+ * @returns {ConfigRuntimeFactory} A ConfigRuntimeFactory instance with configuration data.
55
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/foundations/configure-channel)
56
+ */
57
+ static withConfig(configPath) {
58
+ return new ConfigRuntimeFactory(configPath)
59
+ }
60
+
61
+ /**
62
+ * Activates Javonet with the provided license key.
63
+ * @param {string} licenseKey - The license key to activate Javonet.
64
+ * @returns {number} The activation status code.
65
+ * @see [Javonet Guides](https://www.javonet.com/guides/v2/javascript/getting-started/activating-javonet)
66
+ */
67
+ static activate(licenseKey) {
68
+ return Transmitter.activate(licenseKey)
69
+ }
70
+
71
+ static getRuntimeInfo() {
72
+ return RuntimeLogger.getRuntimeInfo()
73
+ }
74
+
75
+ /**
76
+ * Sets the configuration source for the Javonet SDK.
77
+ *
78
+ * @param {string} configSource - The configuration source.
79
+ */
80
+ static setConfigSource(configSource) {
81
+ Transmitter.setConfigSource(configSource)
82
+ }
83
+ }
84
+
85
+ module.exports = {
86
+ Javonet,
87
+ TcpConnectionData,
88
+ WsConnectionData,
89
+ }