javonet-ruby-sdk 2.1.12 → 2.1.13
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Rakefile +3 -3
- data/VERSION +1 -1
- data/javonet-ruby-sdk.gemspec +11 -12
- data/lib/javonet-ruby-sdk/Binaries/Jvm/Linux/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/MacOs/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/Windows/X64/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersionLatest.runtimeconfig.json +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersionLatest.runtimeconfig.json +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersion80LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersionLatest.runtimeconfig.json +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Linux/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/MacOs/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Windows/X64/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/handler/ValueHandler.js +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/interpreter/Interpreter.js +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandDeserializer.js +160 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeDeserializer.js +77 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeSerializer.js +126 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/receiver/Receiver.js +1 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/handler/ValueHandler.js +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/interpreter/Interpreter.js +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandDeserializer.js +160 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeDeserializer.js +77 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeSerializer.js +126 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/receiver/Receiver.js +1 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/handler/ValueHandler.js +4 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/interpreter/Interpreter.js +17 -9
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandDeserializer.js +160 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/{CommandEncoder.js → CommandSerializer.js} +5 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeDeserializer.js +77 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/TypeSerializer.js +126 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/receiver/Receiver.js +1 -4
- 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
- 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
- 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
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- 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
- 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
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +89 -89
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/MacOs/X64/deps/lib/perl5/darwin-thread-multi-2level/perllocal.pod +88 -88
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- 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
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +18 -18
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/interpreter/Interpreter.py +0 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/CommandSerializer.py +6 -9
- data/lib/javonet-ruby-sdk/Binaries/Python/Linux/X64/javonet/core/protocol/TypeDeserializer.py +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/interpreter/Interpreter.py +0 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/CommandSerializer.py +6 -9
- data/lib/javonet-ruby-sdk/Binaries/Python/MacOs/X64/javonet/core/protocol/TypeDeserializer.py +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/generator/internal/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/AbstractCommandHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetRankHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayGetSizeHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArrayHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ArraySetItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CastingHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/CreateClassInstanceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/DestructReferenceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumItemHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumNameHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetEnumValueHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetInstanceFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetStaticFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/GetTypeHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeInstanceMethodHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/InvokeStaticMethodHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/LoadLibraryHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ResolveInstanceHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetInstanceFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/SetStaticFieldHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/ValueHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/CommandHandler/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/AbstractHandler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/Handler.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/HandlerDictionary.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/ReferencesCache.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/handler/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/Interpreter.py +0 -1
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/Interpreter.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/interpreter/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/CommandSerializer.py +6 -9
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/TypeDeserializer.py +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/CommandSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/TypeSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/protocol/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/Receiver.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/core/receiver/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Command.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/CommandType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ConnectionType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/ExceptionType.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/RuntimeName.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/StringEncodingMode.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/Type.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/Windows/X64/javonet/utils/exception/__pycache__/__init__.cpython-311.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/interpreter/interpreter.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_deserializer.rb +150 -115
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +23 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_deserializer.rb +35 -48
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +43 -40
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/type.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/interpreter/interpreter.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_deserializer.rb +150 -115
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +23 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_deserializer.rb +35 -48
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +43 -40
- data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/type.rb +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/interpreter/interpreter.rb +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_deserializer.rb +150 -115
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +23 -24
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_deserializer.rb +35 -48
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +43 -40
- data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/type.rb +1 -1
- data/lib/javonet-ruby-sdk/core/interpreter/interpreter.rb +4 -4
- data/lib/javonet-ruby-sdk/core/protocol/command_deserializer.rb +150 -115
- data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +23 -24
- data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +35 -48
- data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +43 -40
- data/lib/javonet-ruby-sdk/sdk/internal/invocation_context.rb +3 -1
- data/lib/javonet-ruby-sdk/utils/type.rb +1 -1
- metadata +59 -73
- data/lib/javonet-ruby-sdk/Binaries/Cpp/Linux/X64/libJavonetCppRuntime.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Cpp/MacOs/X64/libJavonetCppRuntime.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Cpp/Windows/X64/JavonetCppRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Go/Linux/X64/libJavonetGoRuntime.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Go/MacOs/X64/libJavonetGoRuntime.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Go/Windows/X64/JavonetGoRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/CommandDecoder.js +0 -171
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Linux/X64/core/protocol/TypeEncoder.js +0 -78
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/CommandDecoder.js +0 -171
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/MacOs/X64/core/protocol/TypeEncoder.js +0 -78
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/Windows/X64/core/protocol/CommandDecoder.js +0 -171
- 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
|