javonet-ruby-sdk 2.1.11 → 2.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. checksums.yaml +4 -4
  2. data/Rakefile +3 -3
  3. data/VERSION +1 -1
  4. data/javonet-ruby-sdk.gemspec +11 -12
  5. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/Javonet.Clr.Utils.dll +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Clr/Windows/X64/JavonetClrRuntime.dll +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersionLatest.runtimeconfig.json +2 -2
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersionLatest.runtimeconfig.json +2 -2
  23. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  39. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersionLatest.runtimeconfig.json +2 -2
  43. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ArraySetItemHandler.js +4 -4
  51. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/GetTypeHandler.js +1 -1
  52. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ValueHandler.js +4 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +17 -9
  54. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandDeserializer.js +160 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
  56. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeDeserializer.js +77 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeSerializer.js +126 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/receiver/Receiver.js +1 -4
  59. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/utils/CommandType.js +6 -4
  60. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ArraySetItemHandler.js +4 -4
  61. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/GetTypeHandler.js +1 -1
  62. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ValueHandler.js +4 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +17 -9
  64. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandDeserializer.js +160 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
  66. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeDeserializer.js +77 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeSerializer.js +126 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/receiver/Receiver.js +1 -4
  69. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/utils/CommandType.js +6 -4
  70. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ArraySetItemHandler.js +4 -4
  71. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/GetTypeHandler.js +1 -1
  72. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ValueHandler.js +4 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +17 -9
  74. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandDeserializer.js +160 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
  76. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeDeserializer.js +77 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeSerializer.js +126 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/receiver/Receiver.js +1 -4
  79. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/utils/CommandType.js +6 -4
  80. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +1 -1
  81. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +1 -1
  82. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter/Util.pm +16 -16
  83. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Sub/Exporter.pm +20 -21
  84. 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
  85. 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
  86. 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
  87. 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
  88. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  89. 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
  90. 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
  91. 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
  92. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  93. 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
  94. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +90 -90
  95. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  96. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  97. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  99. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Cookbook.pod +1 -1
  100. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Tutorial.pod +1 -1
  101. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter/Util.pm +16 -16
  102. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/Sub/Exporter.pm +20 -21
  103. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h +1 -1
  104. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +86 -86
  105. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  106. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  107. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  109. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  110. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  111. 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
  112. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  113. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +17 -17
  115. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/ArraySetItemHandler.pm +2 -2
  116. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +7 -4
  117. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +17 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +38 -5
  119. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  120. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +8 -4
  121. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  122. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +4 -5
  123. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  124. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +14 -10
  125. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  126. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  127. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/CommandType.py +6 -4
  128. data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/utils/Type.py +1 -2
  129. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  130. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +8 -4
  131. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  132. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +4 -5
  133. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  134. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +14 -10
  135. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  136. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  137. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/CommandType.py +6 -4
  138. data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/utils/Type.py +1 -2
  139. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
  140. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
  141. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/handler/shared/SharedTypeHandler.py +2 -2
  142. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
  143. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/ArraySetItemHandler.py +8 -4
  145. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/CreateClassInstanceHandler.py +0 -1
  146. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
  147. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
  148. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
  149. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
  150. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
  154. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
  155. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
  156. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
  157. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
  158. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
  159. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
  161. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
  162. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
  163. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
  164. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
  165. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
  166. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
  167. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
  168. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
  169. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
  170. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
  171. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
  173. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
  174. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +4 -5
  175. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
  176. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandDeserializer.py +64 -37
  178. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +14 -10
  179. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeDeserializer.py +31 -47
  180. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeSerializer.py +39 -43
  181. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
  182. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
  183. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
  184. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
  185. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
  186. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
  187. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
  188. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/CommandType.py +6 -4
  189. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/Type.py +1 -2
  190. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
  191. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
  192. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
  193. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
  194. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
  195. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
  196. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
  197. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
  198. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
  199. data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/command_handler/array_set_item_handler.rb +4 -4
  201. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +4 -4
  202. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +150 -115
  203. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +23 -24
  204. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_deserializer.rb +35 -48
  205. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +43 -40
  206. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/command_type.rb +14 -8
  207. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/type.rb +1 -1
  208. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/command_handler/array_set_item_handler.rb +4 -4
  209. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +4 -4
  210. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +150 -115
  211. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +23 -24
  212. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_deserializer.rb +35 -48
  213. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +43 -40
  214. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/command_type.rb +14 -8
  215. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/type.rb +1 -1
  216. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/command_handler/array_set_item_handler.rb +4 -4
  217. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +4 -4
  218. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +150 -115
  219. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +23 -24
  220. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_deserializer.rb +35 -48
  221. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +43 -40
  222. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/command_type.rb +14 -8
  223. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/type.rb +1 -1
  224. data/lib/javonet-ruby-sdk/core/handler/command_handler/array_set_item_handler.rb +4 -4
  225. data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +4 -4
  226. data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +150 -115
  227. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +23 -24
  228. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +35 -48
  229. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +43 -40
  230. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb +9 -1
  231. data/lib/javonet-ruby-sdk/sdk/internal/invocation_context_iterator.rb +8 -8
  232. data/lib/javonet-ruby-sdk/sdk/internal/runtime_context.rb +12 -0
  233. data/lib/javonet-ruby-sdk/utils/command_type.rb +14 -8
  234. data/lib/javonet-ruby-sdk/utils/type.rb +1 -1
  235. metadata +59 -73
  236. data/lib/javonet-ruby-sdk/Binaries/Cpp/Linux/X64/libJavonetCppRuntime.so +0 -0
  237. data/lib/javonet-ruby-sdk/Binaries/Cpp/MacOs/X64/libJavonetCppRuntime.dylib +0 -0
  238. data/lib/javonet-ruby-sdk/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
  239. data/lib/javonet-ruby-sdk/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
  240. data/lib/javonet-ruby-sdk/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
  242. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandDecoder.js +0 -171
  243. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeEncoder.js +0 -78
  244. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandDecoder.js +0 -171
  245. data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeEncoder.js +0 -78
  246. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandDecoder.js +0 -171
  247. data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeEncoder.js +0 -78
@@ -15,12 +15,12 @@ class ArraySetItemHandler extends AbstractHandler {
15
15
  }
16
16
 
17
17
  let array = command.payload[0]
18
- let value = command.payload[1]
18
+ let value = command.payload[2]
19
19
  let indexes
20
- if (Array.isArray(command.payload[2])) {
21
- indexes = command.payload[2]
20
+ if (Array.isArray(command.payload[1])) {
21
+ indexes = command.payload[1]
22
22
  } else {
23
- indexes = command.payload.slice(2)
23
+ indexes = [command.payload[1]]
24
24
  }
25
25
 
26
26
  if (indexes.length === 1) {
@@ -16,7 +16,7 @@ class GetTypeHandler extends AbstractHandler {
16
16
  let typeName = payload[0]
17
17
  typeName = typeName.replace(".js", "")
18
18
  let type = global[typeName]
19
- if (type == undefined) {
19
+ if (type === undefined) {
20
20
  throw new Error(`Cannot load ${typeName}`)
21
21
  } else {
22
22
  return type
@@ -2,6 +2,10 @@ const AbstractHandler = require("./AbstractHandler")
2
2
 
3
3
 
4
4
  class ValueHandler extends AbstractHandler {
5
+
6
+ constructor() {
7
+ super()
8
+ }
5
9
  process(command) {
6
10
  const {payload} = command
7
11
  return payload[0]
@@ -1,21 +1,27 @@
1
1
  const { Handler } = require('../handler/Handler')
2
- const CommandEncoder = require('../protocol/CommandEncoder')
3
- const CommandDecoder = require('../protocol/CommandDecoder')
2
+ const CommandSerializer = require('../protocol/CommandSerializer')
3
+ const CommandDeserializer = require('../protocol/CommandDeserializer')
4
4
  const Runtime = require("../../utils/RuntimeName");
5
5
 
6
6
  let Transmitter
7
+ let Receiver
7
8
 
8
9
  class Interpreter {
9
10
  handler = new Handler()
10
11
 
11
12
  execute(command, connectionType, tcpAddress) {
12
- let commandEncoder = new CommandEncoder()
13
- let byteMessage = commandEncoder.encode(command,connectionType, tcpAddress)
13
+ let commandSerializer = new CommandSerializer()
14
+ let byteMessage = commandSerializer.serialize(command,connectionType, tcpAddress)
14
15
  let responseByteArray
15
16
 
16
17
  if (command.runtimeName === Runtime.Nodejs)
17
18
  {
18
- return this.process(byteMessage)
19
+ // lazy receiver loading
20
+ if (!Receiver) {
21
+ Receiver = require('../receiver/Receiver')
22
+ }
23
+ responseByteArray = Receiver.sendCommand(byteMessage)
24
+
19
25
  }
20
26
  else {
21
27
  // lazy transmitter loading
@@ -23,14 +29,16 @@ class Interpreter {
23
29
  Transmitter = require('../transmitter/Transmitter')
24
30
  }
25
31
  responseByteArray = Transmitter.sendCommand(byteMessage)
26
- return new CommandDecoder(responseByteArray).decode()
27
32
  }
33
+ return new CommandDeserializer(responseByteArray).deserialize()
28
34
  }
29
35
 
30
36
  process(byteArray) {
31
- let decoder = new CommandDecoder(byteArray)
32
- let command = decoder.decode()
33
- return this.handler.handleCommand(command)
37
+ let commandDeserializer = new CommandDeserializer(byteArray)
38
+ let receivedCommand = commandDeserializer.deserialize()
39
+ let responseCommand = this.handler.handleCommand(receivedCommand)
40
+ let commandSerializer = new CommandSerializer()
41
+ return commandSerializer.serialize(responseCommand, 0, "0.0.0.0:0")
34
42
  }
35
43
  }
36
44
 
@@ -0,0 +1,160 @@
1
+ const TypeDeserializer = require("./TypeDeserializer")
2
+ const Command = require("../../utils/Command")
3
+ const Type = require("../../utils/Type")
4
+ const StringEncodingMode = require("../../utils/StringEncodingMode")
5
+
6
+
7
+ class CommandDeserializer {
8
+ constructor(buffer) {
9
+ this.buffer = buffer
10
+ this.command = new Command(
11
+ buffer[0],
12
+ buffer[10],
13
+ []
14
+ )
15
+ this.position = 11
16
+ }
17
+
18
+ deserialize() {
19
+ while (!this.isAtEnd()) {
20
+ this.command = this.command.addArgToPayload((this.readObject(this.buffer[this.position])))
21
+ }
22
+ return this.command
23
+ }
24
+
25
+ isAtEnd() {
26
+ return this.position === this.buffer.length
27
+ }
28
+
29
+ readObject(typeNum) {
30
+ let type = Object.entries(Type).find(entry => entry[1] === typeNum)[0]
31
+ switch (type) {
32
+ case 'JAVONET_COMMAND':
33
+ return this.readCommand()
34
+ case 'JAVONET_STRING':
35
+ return this.readString()
36
+ case 'JAVONET_INTEGER':
37
+ return this.readInt()
38
+ case 'JAVONET_BOOLEAN':
39
+ return this.readBool();
40
+ case 'JAVONET_FLOAT':
41
+ return this.readFloat();
42
+ case 'JAVONET_BYTE':
43
+ return this.readByte();
44
+ case 'JAVONET_CHAR':
45
+ return this.readChar();
46
+ case 'JAVONET_LONG_LONG':
47
+ return this.readLongLong();
48
+ case 'JAVONET_DOUBLE':
49
+ return this.readDouble();
50
+ case 'JAVONET_UNSIGNED_LONG_LONG':
51
+ return this.readUllong
52
+ case 'JAVONET_UNSIGNED_INTEGER':
53
+ return this.readUInt()
54
+ default:
55
+ throw 'Unknown type - not supported in JavaScript'
56
+ }
57
+ }
58
+
59
+ readCommand() {
60
+ let p = this.position
61
+ let numberOfElementsInPayload = TypeDeserializer.deserializeInt(this.buffer.slice(p + 1, p + 5))
62
+ let runtime = this.buffer[p + 5]
63
+ let type = this.buffer[p + 6]
64
+ this.position += 7
65
+ let command = new Command(runtime, type, [])
66
+ return this.readCommandRecursively(numberOfElementsInPayload, command)
67
+ }
68
+
69
+ readCommandRecursively(numberOfElementsInPayloadLeft, cmd) {
70
+ if (numberOfElementsInPayloadLeft === 0) return cmd
71
+ let p = this.position
72
+ cmd = cmd.addArgToPayload(this.readObject(this.buffer[p]))
73
+ return this.readCommandRecursively(numberOfElementsInPayloadLeft - 1, cmd)
74
+ }
75
+
76
+ readString() {
77
+ let p = this.position
78
+ let stringEncodingMode = this.buffer[p + 1]
79
+ let size = TypeDeserializer.deserializeInt(this.buffer.slice(p + 2, p + 6))
80
+ this.position += 6
81
+ p = this.position
82
+ this.position += size
83
+ return TypeDeserializer.deserializeString(stringEncodingMode, this.buffer.slice(p, p + size))
84
+
85
+ }
86
+
87
+ readInt() {
88
+ let size = 4
89
+ this.position += 2
90
+ let p = this.position
91
+ this.position += size
92
+ return TypeDeserializer.deserializeInt(this.buffer.slice(p, p + size))
93
+ }
94
+
95
+ readBool() {
96
+ let size = 1
97
+ this.position += 2
98
+ let p = this.position
99
+ this.position += size
100
+ return TypeDeserializer.deserializeBool(this.buffer.slice(p, p + size))
101
+ }
102
+
103
+ readFloat() {
104
+ let size = 4
105
+ this.position += 2
106
+ let p = this.position
107
+ this.position += size
108
+ return TypeDeserializer.deserializeFloat(this.buffer.slice(p, p + size))
109
+ }
110
+
111
+ readByte() {
112
+ let size = 1
113
+ this.position += 2
114
+ let p = this.position
115
+ this.position += size
116
+ return TypeDeserializer.deserializeByte(this.buffer.slice(p, p + size))
117
+ }
118
+
119
+ readChar() {
120
+ let size = 1
121
+ this.position += 2
122
+ let p = this.position
123
+ this.position += size
124
+ return TypeDeserializer.deserializeChar(this.buffer.slice(p, p + size))
125
+ }
126
+
127
+ readLongLong() {
128
+ let size = 8
129
+ this.position += 2
130
+ let p = this.position
131
+ this.position += size
132
+ return TypeDeserializer.deserializeLongLong(this.buffer.slice(p, p + size))
133
+ }
134
+
135
+ readDouble() {
136
+ let size = 8
137
+ this.position += 2
138
+ let p = this.position
139
+ this.position += size
140
+ return TypeDeserializer.deserializeDouble(this.buffer.slice(p, p + size))
141
+ }
142
+
143
+ readUllong() {
144
+ let size = 8
145
+ this.position += 2
146
+ let p = this.position
147
+ this.position += size
148
+ return TypeDeserializer.deserializeULLong(this.buffer.slice(p, p + size))
149
+ }
150
+
151
+ readUInt() {
152
+ let size = 4
153
+ this.position += 2
154
+ let p = this.position
155
+ this.position += size
156
+ return TypeDeserializer.deserializeUInt(this.buffer.slice(p, p + size))
157
+ }
158
+ }
159
+
160
+ module.exports = CommandDeserializer
@@ -1,13 +1,13 @@
1
1
  const Command = require("../../utils/Command")
2
- const TypeEncoder = require('./TypeEncoder')
2
+ const TypeEncoder = require('./TypeSerializer')
3
3
  const ConnectionType = require("../../utils/ConnectionType");
4
4
  const Runtime = require('../../utils/RuntimeName')
5
5
 
6
- class CommandEncoder {
6
+ class CommandSerializer {
7
7
  buffer = new Int8Array(2)
8
8
  encodedTcp;
9
9
 
10
- encode(command, connectionType, tcpConnectionData, runtimeVersion = 0) {
10
+ serialize(command, connectionType, tcpConnectionData, runtimeVersion = 0) {
11
11
  let deque = [command]
12
12
  this.buffer[0] = command.runtimeName
13
13
  this.buffer[1] = runtimeVersion
@@ -48,7 +48,7 @@ class CommandEncoder {
48
48
  if (cmd.payload.length > 0) {
49
49
  if (cmd.payload[0] instanceof Command) {
50
50
  let innerCommand = cmd.payload[0]
51
- this.#insertIntoBuffer(TypeEncoder.encodeCommand(innerCommand))
51
+ this.#insertIntoBuffer(TypeEncoder.serializeCommand(innerCommand))
52
52
  deque.push(innerCommand)
53
53
  } else {
54
54
  let result = TypeEncoder.encodePrimitive(cmd.payload[0])
@@ -69,4 +69,4 @@ class CommandEncoder {
69
69
  }
70
70
  }
71
71
 
72
- module.exports = CommandEncoder
72
+ module.exports = CommandSerializer
@@ -0,0 +1,77 @@
1
+ const Command = require('../../utils/Command')
2
+ const Type = require('../../utils/Type')
3
+ const StringEncodingMode = require('../../utils/StringEncodingMode')
4
+ const {TextDecoder} = require("util");
5
+
6
+ class TypeDeserializer {
7
+ static deserializeCommand(encodedCommand) {
8
+ return new Command(encodedCommand[0], encodedCommand[1], [])
9
+ }
10
+
11
+ static deserializeString(stringEncodingMode, encodedString) {
12
+ switch (stringEncodingMode) {
13
+ case StringEncodingMode.ASCII:
14
+ return String.fromCharCode(...encodedString)
15
+ case StringEncodingMode.UTF8:
16
+ let decoder = new TextDecoder('UTF-8');
17
+ return decoder.decode(new Uint8Array(encodedString))
18
+ case StringEncodingMode.UTF16:
19
+ let str = "";
20
+ let newBuffer = new Uint8Array(encodedString)
21
+ for (let i = 0; i < newBuffer.length; i++) {
22
+ newBuffer[i] = encodedString[i]
23
+ }
24
+ for (let i = 0; i < encodedString.length; i = i + 2) {
25
+ str += String.fromCharCode(newBuffer[i] + 256 * newBuffer[i + 1])
26
+ }
27
+ return str;
28
+ case StringEncodingMode.UTF32:
29
+ throw "Type utf32-encoded string not supported in JavaScript"
30
+ default:
31
+ throw "Unknown string encoding - not supported in JavaScript";
32
+ }
33
+ }
34
+
35
+ static deserializeInt(encodedInt) {
36
+ return (
37
+ (encodedInt[0] & 0xFF)
38
+ | ((encodedInt[1] & 0xFF) << 8)
39
+ | ((encodedInt[2] & 0xFF) << 16)
40
+ | ((encodedInt[3] & 0xFF) << 24)
41
+ )
42
+ }
43
+
44
+ static deserializeBool(encodedBool) {
45
+ return encodedBool[0] === 1
46
+ }
47
+
48
+ static deserializeFloat(encodedFloat) {
49
+ return Buffer.from(encodedFloat).readFloatLE()
50
+ }
51
+
52
+ static deserializeByte(encodedByte) {
53
+ return Buffer.from(encodedByte).readUint8()
54
+ }
55
+
56
+ static deserializeChar(encodedChar) {
57
+ return Buffer.from(encodedChar).readUint8()
58
+ }
59
+
60
+ static deserializeLongLong(encodedLongLong) {
61
+ return Buffer.from(encodedLongLong).readBigInt64LE()
62
+ }
63
+
64
+ static deserializeDouble(encodedDouble) {
65
+ return Buffer.from(encodedDouble).readDoubleLE()
66
+ }
67
+
68
+ static deserializeULLong(encodedULLong) {
69
+ return Buffer.from(encodedULLong).readBigUInt64LE()
70
+ }
71
+
72
+ static deserializeUInt(encodedUInt) {
73
+ return Buffer.from(encodedUInt).readUIntLE(0, 4)
74
+ }
75
+ }
76
+
77
+ module.exports = TypeDeserializer
@@ -0,0 +1,126 @@
1
+ const Command = require('../../utils/Command')
2
+ const Type = require('../../utils/Type')
3
+ const StringEncodingMode = require('../../utils/StringEncodingMode')
4
+
5
+ const util = require('util');
6
+ let encoder = new util.TextEncoder();
7
+
8
+ class TypeSerializer {
9
+
10
+ static encodePrimitive(payload_item) {
11
+ if (payload_item instanceof Command) {
12
+ return TypeSerializer.serializeCommand(payload_item)
13
+ } else if (typeof (payload_item) === 'number' || payload_item instanceof Number) {
14
+ if (Number.isInteger(payload_item)) {
15
+ return TypeSerializer.serializeInt(payload_item)
16
+ } else {
17
+ return TypeSerializer.serializeDouble(payload_item)
18
+ }
19
+ } else if (typeof (payload_item) === 'string' || payload_item instanceof String) {
20
+ return TypeSerializer.serializeString(payload_item)
21
+ } else if (typeof (payload_item) === 'boolean' || payload_item instanceof Boolean) {
22
+ return TypeSerializer.serializeBool(payload_item)
23
+ } else {
24
+ throw 'Unknown type - not supported in JavaScript'
25
+ }
26
+ }
27
+
28
+ static serializeCommand(command) {
29
+ const buffer = Buffer.alloc(7, command)
30
+ buffer.writeUInt8(Type.JAVONET_COMMAND, 0)
31
+ buffer.fill(Buffer.from(this.serializeIntValue(command.payload.length)), 1, 5)
32
+ buffer.writeUInt8(command.runtime, 5)
33
+ buffer.writeUInt8(command.commandType, 6)
34
+ return buffer
35
+ }
36
+
37
+ static serializeString(string_value) {
38
+ let bytes = encoder.encode(string_value)
39
+ const buffer = Buffer.alloc(6 + bytes.length)
40
+ buffer.writeUInt8(Type.JAVONET_STRING, 0)
41
+ buffer.writeUInt8(StringEncodingMode.UTF8, 1)
42
+ buffer.fill(Buffer.from(this.serializeIntValue(bytes.length)), 2, 6)
43
+ buffer.fill(Buffer.from(bytes), 6, 6 + bytes.length)
44
+ return buffer
45
+ }
46
+
47
+ static serializeInt(int_value) {
48
+ const buffer = Buffer.alloc(6)
49
+ buffer.writeUInt8(Type.JAVONET_INTEGER, 0)
50
+ buffer.writeUInt8(4, 1)
51
+ buffer.writeInt32LE(int_value, 2)
52
+ return buffer
53
+ }
54
+
55
+ static serializeBool(bool_value) {
56
+ const buffer = Buffer.alloc(3)
57
+ buffer.writeUInt8(Type.JAVONET_BOOLEAN, 0)
58
+ buffer.writeUInt8(1, 1)
59
+ buffer.writeUInt8(bool_value ? 1 : 0, 2)
60
+ return buffer
61
+ }
62
+
63
+ static serializeFloat(float_value) {
64
+ const buffer = Buffer.alloc(6)
65
+ buffer.writeUInt8(Type.JAVONET_FLOAT, 0)
66
+ buffer.writeUInt8(4, 1)
67
+ buffer.writeFloatLE(float_value, 2)
68
+ return buffer
69
+ }
70
+
71
+ static serializeByte(byte_value) {
72
+ const buffer = Buffer.alloc(3)
73
+ buffer.writeUInt8(Type.JAVONET_BYTE, 0)
74
+ buffer.writeUInt8(1, 1)
75
+ buffer.writeUInt8(byte_value, 2)
76
+ return buffer
77
+ }
78
+
79
+ static serializeChar(char_value) {
80
+ const buffer = Buffer.alloc(3)
81
+ buffer.writeUInt8(Type.JAVONET_CHAR, 0)
82
+ buffer.writeUInt8(1, 1)
83
+ buffer.writeUInt8(char_value, 2)
84
+ return buffer
85
+ }
86
+
87
+ static serializeLongLong(longlong_value) {
88
+ const buffer = Buffer.alloc(10)
89
+ buffer.writeUInt8(Type.JAVONET_LONG_LONG, 0)
90
+ buffer.writeUInt8(8, 1)
91
+ buffer.writeBigInt64LE(BigInt(longlong_value), 2)
92
+ return buffer
93
+ }
94
+
95
+ static serializeDouble(double_value) {
96
+ const buffer = Buffer.alloc(10)
97
+ buffer.writeUInt8(Type.JAVONET_DOUBLE, 0)
98
+ buffer.writeUInt8(8, 1)
99
+ buffer.writeDoubleLE(double_value, 2)
100
+ return buffer
101
+ }
102
+
103
+ static serializeULLong(ullong_value) {
104
+ const buffer = Buffer.alloc(10)
105
+ buffer.writeUInt8(Type.JAVONET_UNSIGNED_LONG_LONG, 0)
106
+ buffer.writeUInt8(8, 1)
107
+ buffer.writeBigUInt64LE(ullong_value, 2)
108
+ return buffer
109
+ }
110
+
111
+ static serializeUInt(uint_value) {
112
+ const buffer = Buffer.alloc(6)
113
+ buffer.writeUInt8(Type.JAVONET_UNSIGNED_INTEGER, 0)
114
+ buffer.writeUInt8(4, 1)
115
+ buffer.writeUInt32LE(uint_value, 2)
116
+ return buffer
117
+ }
118
+
119
+ static serializeIntValue(int_value) {
120
+ const buffer = Buffer.alloc(4)
121
+ buffer.writeInt32LE(int_value, 0)
122
+ return buffer
123
+ }
124
+ }
125
+
126
+ module.exports = TypeSerializer
@@ -1,12 +1,9 @@
1
1
  const Interpreter = require('../interpreter/Interpreter')
2
- const CommandEncoder = require('../protocol/CommandEncoder')
3
2
  const interpreter = new Interpreter()
4
3
 
5
4
  class Receiver {
6
5
  static sendCommand(byteArray) {
7
- let command = interpreter.process(byteArray)
8
- let commandEncoder = new CommandEncoder()
9
- return commandEncoder.encode(command, 0, 0)
6
+ return interpreter.process(byteArray)
10
7
  }
11
8
  static heartBeat(byteArray) {
12
9
  return Int8Array.from([49, 48])
@@ -27,8 +27,10 @@ module.exports = {
27
27
  SetInstanceField: 25,
28
28
  InvokeGenericStaticMethod: 26,
29
29
  InvokeGenericMethod: 27,
30
- CreateGenericClassInstance: 28,
31
- GetEnumItem: 29,
32
- GetEnumName: 30,
33
- GetEnumValue: 31
30
+ GetEnumItem: 28,
31
+ GetEnumName: 29,
32
+ GetEnumValue: 30,
33
+ AsRef: 31,
34
+ AsOut: 32,
35
+ GetRefValue: 33
34
36
  }
@@ -296,7 +296,7 @@ Sub::Exporter::Cookbook - useful, demonstrative, or stupid Sub::Exporter tricks
296
296
 
297
297
  =head1 VERSION
298
298
 
299
- version 0.990
299
+ version 0.991
300
300
 
301
301
  =head1 OVERVIEW
302
302
 
@@ -261,7 +261,7 @@ Sub::Exporter::Tutorial - a friendly guide to exporting with Sub::Exporter
261
261
 
262
262
  =head1 VERSION
263
263
 
264
- version 0.990
264
+ version 0.991
265
265
 
266
266
  =head1 DESCRIPTION
267
267
 
@@ -1,8 +1,8 @@
1
- use strict;
1
+ use v5.12.0;
2
2
  use warnings;
3
- package Sub::Exporter::Util;
3
+ package Sub::Exporter::Util 0.991;
4
4
  # ABSTRACT: utilities to make Sub::Exporter easier
5
- $Sub::Exporter::Util::VERSION = '0.990';
5
+
6
6
  use Data::OptList ();
7
7
  use Params::Util ();
8
8
 
@@ -106,7 +106,7 @@ sub curry_chain {
106
106
 
107
107
  for my $i (0 .. $#$pairs) {
108
108
  my $pair = $pairs->[ $i ];
109
-
109
+
110
110
  unless (Params::Util::_INVOCANT($next)) { ## no critic Private
111
111
  my $str = defined $next ? "'$next'" : 'undef';
112
112
  Carp::croak("can't call $pair->[0] on non-invocant $str")
@@ -125,19 +125,19 @@ sub curry_chain {
125
125
  }
126
126
 
127
127
  # =head2 name_map
128
- #
128
+ #
129
129
  # This utility returns an list to be used in specify export generators. For
130
130
  # example, the following:
131
- #
131
+ #
132
132
  # exports => {
133
133
  # name_map(
134
134
  # '_?_gen' => [ qw(fee fie) ],
135
135
  # '_make_?' => [ qw(foo bar) ],
136
136
  # ),
137
137
  # }
138
- #
138
+ #
139
139
  # is equivalent to:
140
- #
140
+ #
141
141
  # exports => {
142
142
  # name_map(
143
143
  # fee => \'_fee_gen',
@@ -146,26 +146,26 @@ sub curry_chain {
146
146
  # bar => \'_make_bar',
147
147
  # ),
148
148
  # }
149
- #
149
+ #
150
150
  # This can save a lot of typing, when providing many exports with similarly-named
151
151
  # generators.
152
- #
152
+ #
153
153
  # =cut
154
- #
154
+ #
155
155
  # sub name_map {
156
156
  # my (%groups) = @_;
157
- #
157
+ #
158
158
  # my %map;
159
- #
159
+ #
160
160
  # while (my ($template, $names) = each %groups) {
161
161
  # for my $name (@$names) {
162
162
  # (my $export = $template) =~ s/\?/$name/
163
163
  # or Carp::croak 'no ? found in name_map template';
164
- #
164
+ #
165
165
  # $map{ $name } = \$export;
166
166
  # }
167
167
  # }
168
- #
168
+ #
169
169
  # return %map;
170
170
  # }
171
171
 
@@ -342,7 +342,7 @@ Sub::Exporter::Util - utilities to make Sub::Exporter easier
342
342
 
343
343
  =head1 VERSION
344
344
 
345
- version 0.990
345
+ version 0.991
346
346
 
347
347
  =head1 DESCRIPTION
348
348