javonet-ruby-sdk 2.1.11 → 2.1.13

Sign up to get free protection for your applications and to get access to all the features.
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
@@ -1,171 +0,0 @@
1
- const Command = require("../../utils/Command")
2
- const Type = require("../../utils/Type")
3
- const StringEncodingMode = require("../../utils/StringEncodingMode")
4
- const util = require('util')
5
-
6
- class CommandDecoder {
7
- constructor(byteArray) {
8
- this.buffer = byteArray
9
- this.command = new Command(
10
- byteArray[0],
11
- byteArray[10],
12
- []
13
- )
14
- this.position = 11
15
- }
16
-
17
- decode() {
18
- while (!this.#isAtEnd()) {
19
- this.command = this.command.addArgToPayload((this.#readObject(this.buffer[this.position])))
20
- }
21
- return this.command
22
- }
23
-
24
- #isAtEnd = function () {
25
- return this.position === this.buffer.length
26
- }
27
-
28
- #readObject = function (typeNum) {
29
- let type = Object.entries(Type).find(entry => entry[1] === typeNum)[0]
30
- switch (type) {
31
- case 'JAVONET_COMMAND':
32
- return this.#readCommand()
33
- case 'JAVONET_STRING':
34
- return this.#readString()
35
- case 'JAVONET_INTEGER':
36
- return this.#readInt32()
37
- case 'JAVONET_BOOLEAN':
38
- return this.#readBoolean();
39
- case 'JAVONET_FLOAT':
40
- return this.#readFloat();
41
- case 'JAVONET_BYTE':
42
- return this.#readByte();
43
- case 'JAVONET_CHAR':
44
- return this.#readChar();
45
- case 'JAVONET_LONG_LONG':
46
- throw 'Type long long not supported in JavaScript'
47
- case 'JAVONET_DOUBLE':
48
- return this.#readDouble();
49
- case 'JAVONET_UNSIGNED_LONG_LONG':
50
- return 'Type unsigned long long not supported in JavaScript'
51
- case 'JAVONET_UNSIGNED_INTEGER':
52
- return 'Type unsigned integer not supported in JavaScript'
53
- default:
54
- throw 'Unknown type - not supported in JavaScript'
55
- }
56
- }
57
-
58
- #readCommand = function () {
59
- let p = this.position
60
- let numberOfElementsInPayload = this.#readInt32Value(p + 1)
61
- let runtime = this.buffer[p + 5]
62
- let type = this.buffer[p + 6]
63
- this.position += 7
64
- let command = new Command(runtime, type, [])
65
-
66
- return this.#readCommandRecursively(numberOfElementsInPayload, command)
67
- }
68
-
69
- #readCommandRecursively = function (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 = function() {
77
- let p = this.position
78
- let stringEncodingMode = this.buffer[p+1]
79
- let size = this.#readInt32Value(p + 2)
80
- let firstChar = p + 6
81
- switch (stringEncodingMode) {
82
- case StringEncodingMode.ASCII:
83
- let charArrayASCII = this.buffer.slice(firstChar, firstChar + size)
84
- this.position += size + 6
85
- return String.fromCharCode(...charArrayASCII)
86
- case StringEncodingMode.UTF8:
87
- let charArrayUTF8 = this.buffer.slice(firstChar, firstChar + size)
88
- this.position += size + 6
89
- let decoder = new util.TextDecoder('UTF-8');
90
- return decoder.decode(new Uint8Array(charArrayUTF8))
91
- case StringEncodingMode.UTF16:
92
- let str = "";
93
- let newBuffer = new Uint8Array(this.buffer.length)
94
- for ( let i=0;i<this.buffer.length;i++) {
95
- newBuffer[i] = this.buffer[i]
96
- }
97
- for ( let i=0;i<size;i=i+2 ) {
98
- str += String.fromCharCode(newBuffer[firstChar + i] + 256 * newBuffer[firstChar + i + 1])
99
- }
100
- this.position += size + 6
101
- return str;
102
- case StringEncodingMode.UTF32:
103
- throw "Type utf32-encoded string not supported in JavaScript"
104
- default:
105
- throw "Unknown string encoding - not supported in JavaScript";
106
- }
107
- }
108
-
109
- #readInt32Value = function (p) {
110
- return (
111
- (this.buffer[p] & 0xFF)
112
- | ((this.buffer[p + 1] & 0xFF) << 8)
113
- | ((this.buffer[p + 2] & 0xFF) << 16)
114
- | ((this.buffer[p + 3] & 0xFF) << 24)
115
- )
116
- }
117
-
118
- #readInt32 = function () {
119
- let p = this.position += 2
120
- this.position += 4
121
-
122
- return (
123
- (this.buffer[p] & 0xFF)
124
- | ((this.buffer[p + 1] & 0xFF) << 8)
125
- | ((this.buffer[p + 2] & 0xFF) << 16)
126
- | ((this.buffer[p + 3] & 0xFF) << 24)
127
- )
128
- }
129
-
130
- #readByte = function () {
131
- let p = this.position += 2
132
- this.position += 1
133
- return (
134
- (this.buffer[p])
135
- )
136
- }
137
-
138
- #readChar = function () {
139
- let p = this.position += 2
140
- this.position += 1
141
- return String.fromCharCode(this.buffer[p])
142
- }
143
-
144
- #readBoolean = function () {
145
- let p = this.position += 2
146
- this.position += 1
147
- if (this.buffer[p] == 0 )
148
- {
149
- return false
150
- } else {
151
- return true
152
- }
153
- }
154
-
155
- #readFloat = function () {
156
- let p = this.position += 2
157
- this.position += 4
158
- const buffer = Buffer.from(this.buffer.slice(p, p+4));
159
- return buffer.readFloatLE(0)
160
- }
161
-
162
- #readDouble = function () {
163
- let p = this.position +=2
164
- this.position += 8
165
- const buffer = Buffer.from(this.buffer.slice(p, p+8));
166
- return buffer.readDoubleLE(0)
167
- }
168
-
169
- }
170
-
171
- module.exports = CommandDecoder
@@ -1,78 +0,0 @@
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 TypeEncoder {
9
- static encodePrimitive(obj) {
10
- if (obj instanceof Command) {
11
- return TypeEncoder.encodeCommand(obj)
12
- } else if (typeof (obj) === 'number' || obj instanceof Number) {
13
- if (Number.isInteger(obj)) {
14
- return TypeEncoder.encodeInt32(obj)
15
- } else {
16
- return TypeEncoder.encodeNumber(obj)
17
- }
18
- } else if (typeof (obj) === 'string' || obj instanceof String) {
19
- return TypeEncoder.encodeString(obj)
20
- } else if (typeof (obj) === 'boolean' || obj instanceof Boolean) {
21
- return TypeEncoder.encodeBoolean(obj)
22
- }
23
- }
24
-
25
- static encodeCommand(cmd) {
26
- const buffer = Buffer.alloc(7, cmd)
27
- buffer.writeInt8(Type.JAVONET_COMMAND, 0)
28
- buffer.fill(Buffer.from(this.encodeInt32Value(cmd.payload.length)), 1, 5)
29
- buffer.writeInt8(cmd.runtime, 5)
30
- buffer.writeInt8(cmd.commandType, 6)
31
- return Int8Array.from(buffer)
32
- }
33
-
34
- static encodeInt32Value(val) {
35
- return Int8Array.of(
36
- val,
37
- (val >>> 8 & 0xFF),
38
- (val >>> 16 & 0xFF),
39
- (val >>> 24 & 0xFF)
40
- )
41
- }
42
-
43
- static encodeString(val) {
44
- let bytes = encoder.encode(val)
45
- const buffer = Buffer.alloc(6 + bytes.length)
46
- buffer.writeInt8(Type.JAVONET_STRING, 0)
47
- buffer.writeInt8(StringEncodingMode.UTF8, 1)
48
- buffer.fill(Buffer.from(this.encodeInt32Value(bytes.length)), 2, 6)
49
- buffer.fill(Buffer.from(bytes), 6, 6 + bytes.length)
50
- return Int8Array.from(buffer)
51
- }
52
-
53
- static encodeNumber(val) {
54
- const buffer = Buffer.alloc(10)
55
- buffer.writeInt8(Type.JAVONET_DOUBLE, 0)
56
- buffer.writeInt8(8, 1)
57
- buffer.writeDoubleLE(val, 2)
58
- return Int8Array.from(buffer)
59
- }
60
-
61
- static encodeInt32(val) {
62
- const buffer = Buffer.alloc(6)
63
- buffer.writeInt8(Type.JAVONET_INTEGER, 0)
64
- buffer.writeInt8(4, 1)
65
- buffer.writeInt32LE(val, 2)
66
- return Int8Array.from(buffer)
67
- }
68
-
69
- static encodeBoolean(val) {
70
- return Int8Array.of(
71
- Type.JAVONET_BOOLEAN,
72
- 1,
73
- val ? 1 : 0
74
- )
75
- }
76
- }
77
-
78
- module.exports = TypeEncoder
@@ -1,171 +0,0 @@
1
- const Command = require("../../utils/Command")
2
- const Type = require("../../utils/Type")
3
- const StringEncodingMode = require("../../utils/StringEncodingMode")
4
- const util = require('util')
5
-
6
- class CommandDecoder {
7
- constructor(byteArray) {
8
- this.buffer = byteArray
9
- this.command = new Command(
10
- byteArray[0],
11
- byteArray[10],
12
- []
13
- )
14
- this.position = 11
15
- }
16
-
17
- decode() {
18
- while (!this.#isAtEnd()) {
19
- this.command = this.command.addArgToPayload((this.#readObject(this.buffer[this.position])))
20
- }
21
- return this.command
22
- }
23
-
24
- #isAtEnd = function () {
25
- return this.position === this.buffer.length
26
- }
27
-
28
- #readObject = function (typeNum) {
29
- let type = Object.entries(Type).find(entry => entry[1] === typeNum)[0]
30
- switch (type) {
31
- case 'JAVONET_COMMAND':
32
- return this.#readCommand()
33
- case 'JAVONET_STRING':
34
- return this.#readString()
35
- case 'JAVONET_INTEGER':
36
- return this.#readInt32()
37
- case 'JAVONET_BOOLEAN':
38
- return this.#readBoolean();
39
- case 'JAVONET_FLOAT':
40
- return this.#readFloat();
41
- case 'JAVONET_BYTE':
42
- return this.#readByte();
43
- case 'JAVONET_CHAR':
44
- return this.#readChar();
45
- case 'JAVONET_LONG_LONG':
46
- throw 'Type long long not supported in JavaScript'
47
- case 'JAVONET_DOUBLE':
48
- return this.#readDouble();
49
- case 'JAVONET_UNSIGNED_LONG_LONG':
50
- return 'Type unsigned long long not supported in JavaScript'
51
- case 'JAVONET_UNSIGNED_INTEGER':
52
- return 'Type unsigned integer not supported in JavaScript'
53
- default:
54
- throw 'Unknown type - not supported in JavaScript'
55
- }
56
- }
57
-
58
- #readCommand = function () {
59
- let p = this.position
60
- let numberOfElementsInPayload = this.#readInt32Value(p + 1)
61
- let runtime = this.buffer[p + 5]
62
- let type = this.buffer[p + 6]
63
- this.position += 7
64
- let command = new Command(runtime, type, [])
65
-
66
- return this.#readCommandRecursively(numberOfElementsInPayload, command)
67
- }
68
-
69
- #readCommandRecursively = function (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 = function() {
77
- let p = this.position
78
- let stringEncodingMode = this.buffer[p+1]
79
- let size = this.#readInt32Value(p + 2)
80
- let firstChar = p + 6
81
- switch (stringEncodingMode) {
82
- case StringEncodingMode.ASCII:
83
- let charArrayASCII = this.buffer.slice(firstChar, firstChar + size)
84
- this.position += size + 6
85
- return String.fromCharCode(...charArrayASCII)
86
- case StringEncodingMode.UTF8:
87
- let charArrayUTF8 = this.buffer.slice(firstChar, firstChar + size)
88
- this.position += size + 6
89
- let decoder = new util.TextDecoder('UTF-8');
90
- return decoder.decode(new Uint8Array(charArrayUTF8))
91
- case StringEncodingMode.UTF16:
92
- let str = "";
93
- let newBuffer = new Uint8Array(this.buffer.length)
94
- for ( let i=0;i<this.buffer.length;i++) {
95
- newBuffer[i] = this.buffer[i]
96
- }
97
- for ( let i=0;i<size;i=i+2 ) {
98
- str += String.fromCharCode(newBuffer[firstChar + i] + 256 * newBuffer[firstChar + i + 1])
99
- }
100
- this.position += size + 6
101
- return str;
102
- case StringEncodingMode.UTF32:
103
- throw "Type utf32-encoded string not supported in JavaScript"
104
- default:
105
- throw "Unknown string encoding - not supported in JavaScript";
106
- }
107
- }
108
-
109
- #readInt32Value = function (p) {
110
- return (
111
- (this.buffer[p] & 0xFF)
112
- | ((this.buffer[p + 1] & 0xFF) << 8)
113
- | ((this.buffer[p + 2] & 0xFF) << 16)
114
- | ((this.buffer[p + 3] & 0xFF) << 24)
115
- )
116
- }
117
-
118
- #readInt32 = function () {
119
- let p = this.position += 2
120
- this.position += 4
121
-
122
- return (
123
- (this.buffer[p] & 0xFF)
124
- | ((this.buffer[p + 1] & 0xFF) << 8)
125
- | ((this.buffer[p + 2] & 0xFF) << 16)
126
- | ((this.buffer[p + 3] & 0xFF) << 24)
127
- )
128
- }
129
-
130
- #readByte = function () {
131
- let p = this.position += 2
132
- this.position += 1
133
- return (
134
- (this.buffer[p])
135
- )
136
- }
137
-
138
- #readChar = function () {
139
- let p = this.position += 2
140
- this.position += 1
141
- return String.fromCharCode(this.buffer[p])
142
- }
143
-
144
- #readBoolean = function () {
145
- let p = this.position += 2
146
- this.position += 1
147
- if (this.buffer[p] == 0 )
148
- {
149
- return false
150
- } else {
151
- return true
152
- }
153
- }
154
-
155
- #readFloat = function () {
156
- let p = this.position += 2
157
- this.position += 4
158
- const buffer = Buffer.from(this.buffer.slice(p, p+4));
159
- return buffer.readFloatLE(0)
160
- }
161
-
162
- #readDouble = function () {
163
- let p = this.position +=2
164
- this.position += 8
165
- const buffer = Buffer.from(this.buffer.slice(p, p+8));
166
- return buffer.readDoubleLE(0)
167
- }
168
-
169
- }
170
-
171
- module.exports = CommandDecoder
@@ -1,78 +0,0 @@
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 TypeEncoder {
9
- static encodePrimitive(obj) {
10
- if (obj instanceof Command) {
11
- return TypeEncoder.encodeCommand(obj)
12
- } else if (typeof (obj) === 'number' || obj instanceof Number) {
13
- if (Number.isInteger(obj)) {
14
- return TypeEncoder.encodeInt32(obj)
15
- } else {
16
- return TypeEncoder.encodeNumber(obj)
17
- }
18
- } else if (typeof (obj) === 'string' || obj instanceof String) {
19
- return TypeEncoder.encodeString(obj)
20
- } else if (typeof (obj) === 'boolean' || obj instanceof Boolean) {
21
- return TypeEncoder.encodeBoolean(obj)
22
- }
23
- }
24
-
25
- static encodeCommand(cmd) {
26
- const buffer = Buffer.alloc(7, cmd)
27
- buffer.writeInt8(Type.JAVONET_COMMAND, 0)
28
- buffer.fill(Buffer.from(this.encodeInt32Value(cmd.payload.length)), 1, 5)
29
- buffer.writeInt8(cmd.runtime, 5)
30
- buffer.writeInt8(cmd.commandType, 6)
31
- return Int8Array.from(buffer)
32
- }
33
-
34
- static encodeInt32Value(val) {
35
- return Int8Array.of(
36
- val,
37
- (val >>> 8 & 0xFF),
38
- (val >>> 16 & 0xFF),
39
- (val >>> 24 & 0xFF)
40
- )
41
- }
42
-
43
- static encodeString(val) {
44
- let bytes = encoder.encode(val)
45
- const buffer = Buffer.alloc(6 + bytes.length)
46
- buffer.writeInt8(Type.JAVONET_STRING, 0)
47
- buffer.writeInt8(StringEncodingMode.UTF8, 1)
48
- buffer.fill(Buffer.from(this.encodeInt32Value(bytes.length)), 2, 6)
49
- buffer.fill(Buffer.from(bytes), 6, 6 + bytes.length)
50
- return Int8Array.from(buffer)
51
- }
52
-
53
- static encodeNumber(val) {
54
- const buffer = Buffer.alloc(10)
55
- buffer.writeInt8(Type.JAVONET_DOUBLE, 0)
56
- buffer.writeInt8(8, 1)
57
- buffer.writeDoubleLE(val, 2)
58
- return Int8Array.from(buffer)
59
- }
60
-
61
- static encodeInt32(val) {
62
- const buffer = Buffer.alloc(6)
63
- buffer.writeInt8(Type.JAVONET_INTEGER, 0)
64
- buffer.writeInt8(4, 1)
65
- buffer.writeInt32LE(val, 2)
66
- return Int8Array.from(buffer)
67
- }
68
-
69
- static encodeBoolean(val) {
70
- return Int8Array.of(
71
- Type.JAVONET_BOOLEAN,
72
- 1,
73
- val ? 1 : 0
74
- )
75
- }
76
- }
77
-
78
- module.exports = TypeEncoder
@@ -1,171 +0,0 @@
1
- const Command = require("../../utils/Command")
2
- const Type = require("../../utils/Type")
3
- const StringEncodingMode = require("../../utils/StringEncodingMode")
4
- const util = require('util')
5
-
6
- class CommandDecoder {
7
- constructor(byteArray) {
8
- this.buffer = byteArray
9
- this.command = new Command(
10
- byteArray[0],
11
- byteArray[10],
12
- []
13
- )
14
- this.position = 11
15
- }
16
-
17
- decode() {
18
- while (!this.#isAtEnd()) {
19
- this.command = this.command.addArgToPayload((this.#readObject(this.buffer[this.position])))
20
- }
21
- return this.command
22
- }
23
-
24
- #isAtEnd = function () {
25
- return this.position === this.buffer.length
26
- }
27
-
28
- #readObject = function (typeNum) {
29
- let type = Object.entries(Type).find(entry => entry[1] === typeNum)[0]
30
- switch (type) {
31
- case 'JAVONET_COMMAND':
32
- return this.#readCommand()
33
- case 'JAVONET_STRING':
34
- return this.#readString()
35
- case 'JAVONET_INTEGER':
36
- return this.#readInt32()
37
- case 'JAVONET_BOOLEAN':
38
- return this.#readBoolean();
39
- case 'JAVONET_FLOAT':
40
- return this.#readFloat();
41
- case 'JAVONET_BYTE':
42
- return this.#readByte();
43
- case 'JAVONET_CHAR':
44
- return this.#readChar();
45
- case 'JAVONET_LONG_LONG':
46
- throw 'Type long long not supported in JavaScript'
47
- case 'JAVONET_DOUBLE':
48
- return this.#readDouble();
49
- case 'JAVONET_UNSIGNED_LONG_LONG':
50
- return 'Type unsigned long long not supported in JavaScript'
51
- case 'JAVONET_UNSIGNED_INTEGER':
52
- return 'Type unsigned integer not supported in JavaScript'
53
- default:
54
- throw 'Unknown type - not supported in JavaScript'
55
- }
56
- }
57
-
58
- #readCommand = function () {
59
- let p = this.position
60
- let numberOfElementsInPayload = this.#readInt32Value(p + 1)
61
- let runtime = this.buffer[p + 5]
62
- let type = this.buffer[p + 6]
63
- this.position += 7
64
- let command = new Command(runtime, type, [])
65
-
66
- return this.#readCommandRecursively(numberOfElementsInPayload, command)
67
- }
68
-
69
- #readCommandRecursively = function (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 = function() {
77
- let p = this.position
78
- let stringEncodingMode = this.buffer[p+1]
79
- let size = this.#readInt32Value(p + 2)
80
- let firstChar = p + 6
81
- switch (stringEncodingMode) {
82
- case StringEncodingMode.ASCII:
83
- let charArrayASCII = this.buffer.slice(firstChar, firstChar + size)
84
- this.position += size + 6
85
- return String.fromCharCode(...charArrayASCII)
86
- case StringEncodingMode.UTF8:
87
- let charArrayUTF8 = this.buffer.slice(firstChar, firstChar + size)
88
- this.position += size + 6
89
- let decoder = new util.TextDecoder('UTF-8');
90
- return decoder.decode(new Uint8Array(charArrayUTF8))
91
- case StringEncodingMode.UTF16:
92
- let str = "";
93
- let newBuffer = new Uint8Array(this.buffer.length)
94
- for ( let i=0;i<this.buffer.length;i++) {
95
- newBuffer[i] = this.buffer[i]
96
- }
97
- for ( let i=0;i<size;i=i+2 ) {
98
- str += String.fromCharCode(newBuffer[firstChar + i] + 256 * newBuffer[firstChar + i + 1])
99
- }
100
- this.position += size + 6
101
- return str;
102
- case StringEncodingMode.UTF32:
103
- throw "Type utf32-encoded string not supported in JavaScript"
104
- default:
105
- throw "Unknown string encoding - not supported in JavaScript";
106
- }
107
- }
108
-
109
- #readInt32Value = function (p) {
110
- return (
111
- (this.buffer[p] & 0xFF)
112
- | ((this.buffer[p + 1] & 0xFF) << 8)
113
- | ((this.buffer[p + 2] & 0xFF) << 16)
114
- | ((this.buffer[p + 3] & 0xFF) << 24)
115
- )
116
- }
117
-
118
- #readInt32 = function () {
119
- let p = this.position += 2
120
- this.position += 4
121
-
122
- return (
123
- (this.buffer[p] & 0xFF)
124
- | ((this.buffer[p + 1] & 0xFF) << 8)
125
- | ((this.buffer[p + 2] & 0xFF) << 16)
126
- | ((this.buffer[p + 3] & 0xFF) << 24)
127
- )
128
- }
129
-
130
- #readByte = function () {
131
- let p = this.position += 2
132
- this.position += 1
133
- return (
134
- (this.buffer[p])
135
- )
136
- }
137
-
138
- #readChar = function () {
139
- let p = this.position += 2
140
- this.position += 1
141
- return String.fromCharCode(this.buffer[p])
142
- }
143
-
144
- #readBoolean = function () {
145
- let p = this.position += 2
146
- this.position += 1
147
- if (this.buffer[p] == 0 )
148
- {
149
- return false
150
- } else {
151
- return true
152
- }
153
- }
154
-
155
- #readFloat = function () {
156
- let p = this.position += 2
157
- this.position += 4
158
- const buffer = Buffer.from(this.buffer.slice(p, p+4));
159
- return buffer.readFloatLE(0)
160
- }
161
-
162
- #readDouble = function () {
163
- let p = this.position +=2
164
- this.position += 8
165
- const buffer = Buffer.from(this.buffer.slice(p, p+8));
166
- return buffer.readDoubleLE(0)
167
- }
168
-
169
- }
170
-
171
- module.exports = CommandDecoder