javonet-ruby-sdk 2.5.8 → 2.5.9
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.
- checksums.yaml +4 -4
- data/VERSION +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/NetVersion90LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/NetVersionLatest.runtimeconfig.json +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -29
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/NetVersion90LatestPatch.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/libJavonetActivationService.so +0 -0
- 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/libJavonetNodejs1816RuntimeNative.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/libJavonetRuby278RuntimeNative.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/libJavonetTcpClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/NetVersion90LatestPatch.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/libJavonetActivationService.dylib +0 -0
- 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/libJavonetNodejs1816RuntimeNative.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/libJavonetRuby278RuntimeNative.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/libJavonetTcpClient.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libpython3.11.dylib +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/NetVersion90LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/NetVersionLatest.runtimeconfig.json +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +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/JavonetNodejs1816RuntimeNative.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/JavonetRuby278RuntimeNative.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/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/NetVersion90LatestPatch.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/Native/Windows/X64/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/NetVersion90LatestPatch.runtimeconfig.json +10 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/NetVersionLatest.runtimeconfig.json +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/index.js +64 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/handler/AbstractGeneratorHandler.js +0 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +27 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GeneratorHandler.js +38 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +26 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +24 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/GetTypeGeneratorHandler.js +39 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/Handlers.js +58 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +35 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +35 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +15 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/handler/shared/SharedClassInstanceHandler.js +4 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/handler/shared/SharedClassNameHandler.js +10 -12
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/handler/shared/SharedMethodNameHandler.js +9 -12
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +9 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedBodyHandler.js +18 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +29 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +21 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +31 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +21 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +39 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +39 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/CommonGenerator.js +39 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/generator/internal/NodejsStringBuilder.js +17 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/internal/SharedHandlerType.js +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/generator/utils/StringUtils.js +2 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/AbstractHandler.js +12 -12
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArrayGetItemHandler.js +3 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArrayGetRankHandler.js +5 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArrayGetSizeHandler.js +3 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArrayHandler.js +2 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ArraySetItemHandler.js +4 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/CastingHandler.js +3 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/CreateClassInstanceHandler.js +36 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/DestructReferenceHandler.js +3 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/EnableNamespaceHandler.js +8 -11
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/EnableTypeHandler.js +8 -10
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/GetGlobalStaticFieldHandler.js +37 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/GetInstanceFieldHandler.js +35 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/GetStaticFieldHandler.js +36 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/GetTypeHandler.js +22 -21
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/Handler.js +12 -11
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeGlobalMethodHandler.js +43 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeInstanceMethodHandler.js +38 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeStandaloneMethodHandler.js +56 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/InvokeStaticMethodHandler.js +38 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/LoadLibraryHandler.js +4 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/ResolveReferenceHandler.js +13 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetGlobalStaticFieldHandler.js +38 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetInstanceFieldHandler.js +35 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/handler/SetStaticFieldHandler.js +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/handler/ValueHandler.js +3 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +142 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/namespaceCache/NamespaceCache.js +12 -12
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/protocol/CommandDeserializer.js +43 -48
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/protocol/CommandSerializer.js +4 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/protocol/TypeDeserializer.js +17 -15
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/protocol/TypeSerializer.js +6 -7
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/receiver/Receiver.js +32 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/receiver/ReceiverNative.js +3 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/referenceCache/ReferencesCache.js +4 -4
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/transmitter/Transmitter.js +2 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/transmitter/TransmitterWebsocket.js +33 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +34 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{core → lib/core}/typeCache/TypeCache.js +12 -12
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/core/webSocketClient/WebSocketClient.js +131 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/declarations.d.ts +64 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/ConfigRuntimeFactory.js +145 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/InvocationContext.js +454 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/Javonet.js +89 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeContext.js +266 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/RuntimeFactory.js +78 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/tools/JsonFileResolver.js +101 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/sdk/tools/SdkExceptionHelper.js +79 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/Command.js +69 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/CommandType.js +6 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/ConnectionType.js +8 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/ExceptionType.js +6 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/RuntimeLogger.js +30 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/RuntimeName.js +6 -3
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/RuntimeNameHandler.js +34 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/StringEncodingMode.js +9 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/Type.js +5 -2
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/connectionData/IConnectionData.js +4 -6
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/connectionData/InMemoryConnectionData.js +35 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/connectionData/TcpConnectionData.js +77 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/connectionData/WsConnectionData.js +50 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/exception/ExceptionSerializer.js +24 -31
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/{utils → lib/utils}/exception/ExceptionThrower.js +36 -30
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/REGEX.js +2 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/rng.js +12 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/stringify.js +51 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/v4.js +27 -0
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/lib/utils/uuid/validate.js +6 -0
- 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 +90 -90
- 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 +20 -20
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/DelegatesCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/delegateCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/PythonStringBuilder.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/generator/internal/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractCommandHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/AbstractHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetRankHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayGetSizeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArrayHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ArraySetItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CastingHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/CreateClassInstanceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/DestructReferenceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableNamespaceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/EnableTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumItemHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumNameHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetEnumValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetInstanceMethodAsDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetStaticMethodAsDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/GetTypeHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/Handler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/HandlerDictionary.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeInstanceMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/InvokeStaticMethodHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/LoadLibraryHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/PassDelegateHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ResolveInstanceHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetInstanceFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/SetStaticFieldHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/ValueHandler.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/Interpreter.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/interpreter/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/NamespaceCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/namespaceCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandDeserializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/CommandSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeDeserializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/TypeSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/Receiver.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/receiver/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/ReferencesCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/referenceCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/TypeCache.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/typeCache/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Command.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/CommandType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ConnectionType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/ExceptionType.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeLogger.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/RuntimeName.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/StringEncodingMode.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/Type.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/IConnectionData.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/InMemoryConnectionData.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/connectionData/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/ExceptionSerializer.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/exception/__pycache__/__init__.cpython-312.pyc +0 -0
- data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
- metadata +105 -85
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -17
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/GeneratorHandler.js +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -18
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -17
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/GetTypeGeneratorHandler.js +0 -26
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/Handlers.js +0 -51
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -18
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -20
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -11
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -10
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedBodyHandler.js +0 -14
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -24
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -19
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -27
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -20
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -27
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -31
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/internal/CommonGenerator.js +0 -26
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/generator/internal/NodejsStringBuilder.js +0 -18
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/CreateClassInstanceHandler.js +0 -38
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/GetGlobalStaticFieldHandler.js +0 -39
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/GetInstanceFieldHandler.js +0 -35
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/GetStaticFieldHandler.js +0 -36
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/InvokeGlobalMethodHandler.js +0 -47
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/InvokeInstanceMethodHandler.js +0 -40
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/InvokeStaticMethodHandler.js +0 -40
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/ResolveReferenceHandler.js +0 -14
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/SetGlobalStaticFieldHandler.js +0 -44
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/SetInstanceFieldHandler.js +0 -35
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/handler/SetStaticFieldHandler.js +0 -33
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/interpreter/Interpreter.js +0 -69
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/receiver/Receiver.js +0 -26
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/transmitter/TransmitterWrapper.js +0 -28
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/core/webSocketClient/WebSocketClient.js +0 -134
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/Command.js +0 -66
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/ConnectionType.js +0 -5
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/RuntimeLogger.js +0 -27
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/RuntimeNameHandler.js +0 -30
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/StringEncodingMode.js +0 -6
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/connectionData/InMemoryConnectionData.js +0 -28
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/connectionData/TcpConnectionData.js +0 -69
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/connectionData/WsConnectionData.js +0 -33
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/REGEX.js +0 -1
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/rng.js +0 -12
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/stringify.js +0 -51
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/v4.js +0 -27
- data/lib/javonet-ruby-sdk/Binaries/Nodejs/utils/uuid/validate.js +0 -6
@@ -1,30 +1,29 @@
|
|
1
|
-
const AbstractHandler = require(
|
2
|
-
const LoadLibraryHandler = require(
|
3
|
-
const NamespaceCache = require(
|
4
|
-
const TypeCache = require(
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
2
|
+
const LoadLibraryHandler = require('./LoadLibraryHandler')
|
3
|
+
const NamespaceCache = require('../namespaceCache/NamespaceCache')
|
4
|
+
const TypeCache = require('../typeCache/TypeCache')
|
5
5
|
|
6
6
|
class GetTypeHandler extends AbstractHandler {
|
7
|
-
|
8
7
|
constructor() {
|
9
8
|
super()
|
10
9
|
this.requiredParametersCount = 1
|
11
|
-
this.namespaceCache = new NamespaceCache()
|
12
|
-
this.typeCache = new TypeCache()
|
10
|
+
this.namespaceCache = new NamespaceCache()
|
11
|
+
this.typeCache = new TypeCache()
|
13
12
|
}
|
14
13
|
|
15
14
|
process(command) {
|
16
15
|
try {
|
17
16
|
if (command.payload.length < this.requiredParametersCount) {
|
18
|
-
throw new Error(
|
17
|
+
throw new Error('Get Type parameters mismatch')
|
19
18
|
}
|
20
|
-
const {payload} = command
|
19
|
+
const { payload } = command
|
21
20
|
let typeName = payload[0]
|
22
|
-
typeName = typeName.replace(
|
21
|
+
typeName = typeName.replace('.js', '')
|
23
22
|
let typeToReturn = global[typeName]
|
24
23
|
if (typeToReturn === undefined) {
|
25
24
|
let message = `Type ${typeName} not found\n`
|
26
|
-
message +=
|
27
|
-
message += this.getAvailableTypes().join(
|
25
|
+
message += 'Available types:\n'
|
26
|
+
message += this.getAvailableTypes().join('\n')
|
28
27
|
throw new Error(message)
|
29
28
|
}
|
30
29
|
|
@@ -35,9 +34,11 @@ class GetTypeHandler extends AbstractHandler {
|
|
35
34
|
) {
|
36
35
|
// continue - type is allowed
|
37
36
|
} else {
|
38
|
-
let allowed_namespaces = this.namespaceCache.getCachedNamespaces().join(
|
39
|
-
let allowed_types = this.typeCache.getCachedTypes().join(
|
40
|
-
throw new Error(
|
37
|
+
let allowed_namespaces = this.namespaceCache.getCachedNamespaces().join(', ')
|
38
|
+
let allowed_types = this.typeCache.getCachedTypes().join(', ')
|
39
|
+
throw new Error(
|
40
|
+
`Type ${typeToReturn.name} not allowed. \nAllowed namespaces: ${allowed_namespaces}\nAllowed types: ${allowed_types}`
|
41
|
+
)
|
41
42
|
}
|
42
43
|
|
43
44
|
return typeToReturn
|
@@ -47,15 +48,15 @@ class GetTypeHandler extends AbstractHandler {
|
|
47
48
|
}
|
48
49
|
|
49
50
|
getAvailableTypes() {
|
50
|
-
let availableTypes = []
|
51
|
+
let availableTypes = []
|
51
52
|
LoadLibraryHandler.getLoadedLibraries().forEach((lib) => {
|
52
|
-
const moduleExports = require(lib)
|
53
|
+
const moduleExports = require(lib)
|
53
54
|
availableTypes.push(moduleExports.name)
|
54
55
|
Object.keys(moduleExports).forEach((key) => {
|
55
|
-
availableTypes.push(key)
|
56
|
-
})
|
57
|
-
})
|
58
|
-
return availableTypes
|
56
|
+
availableTypes.push(key)
|
57
|
+
})
|
58
|
+
})
|
59
|
+
return availableTypes
|
59
60
|
}
|
60
61
|
}
|
61
62
|
|
@@ -1,8 +1,3 @@
|
|
1
|
-
const CommandType = require('../../utils/CommandType')
|
2
|
-
const Command = require("../../utils/Command");
|
3
|
-
const ReferenceCache = require('../referenceCache/ReferencesCache')
|
4
|
-
const ExceptionSerializer = require('../../utils/exception/ExceptionSerializer')
|
5
|
-
|
6
1
|
const ValueHandler = require('./ValueHandler')
|
7
2
|
const LoadLibraryHandler = require('./LoadLibraryHandler')
|
8
3
|
const GetTypeHandler = require('./GetTypeHandler')
|
@@ -14,7 +9,7 @@ const CreateClassInstanceHandler = require('./CreateClassInstanceHandler')
|
|
14
9
|
const GetInstanceFieldHandler = require('./GetInstanceFieldHandler')
|
15
10
|
const SetInstanceFieldHandler = require('./SetInstanceFieldHandler')
|
16
11
|
const InvokeInstanceMethodHandler = require('./InvokeInstanceMethodHandler')
|
17
|
-
const DestructReferenceHandler = require(
|
12
|
+
const DestructReferenceHandler = require('./DestructReferenceHandler')
|
18
13
|
const CastHandler = require('./CastingHandler')
|
19
14
|
const InvokeGlobalMethodHandler = require('./InvokeGlobalMethodHandler')
|
20
15
|
const ArrayGetItemHandler = require('./ArrayGetItemHandler')
|
@@ -25,9 +20,12 @@ const ArrayHandler = require('./ArrayHandler')
|
|
25
20
|
const EnableNamespaceHandler = require('./EnableNamespaceHandler')
|
26
21
|
const EnableTypeHandler = require('./EnableTypeHandler')
|
27
22
|
|
23
|
+
const { CommandType, Command, ExceptionSerializer } = require('../../..')
|
24
|
+
const ReferencesCache = require('../referenceCache/ReferencesCache')
|
25
|
+
const InvokeStandaloneMethodHandler = require('./InvokeStandaloneMethodHandler')
|
28
26
|
|
29
27
|
function isResponseSimpleType(response) {
|
30
|
-
let type = typeof
|
28
|
+
let type = typeof response
|
31
29
|
return ['string', 'boolean', 'number'].includes(type)
|
32
30
|
}
|
33
31
|
|
@@ -35,7 +33,6 @@ function isResponseNull(response) {
|
|
35
33
|
return response === null
|
36
34
|
}
|
37
35
|
|
38
|
-
|
39
36
|
const handlers = {
|
40
37
|
[CommandType.Value]: ValueHandler,
|
41
38
|
[CommandType.LoadLibrary]: LoadLibraryHandler,
|
@@ -49,6 +46,7 @@ const handlers = {
|
|
49
46
|
[CommandType.GetInstanceField]: GetInstanceFieldHandler,
|
50
47
|
[CommandType.SetInstanceField]: SetInstanceFieldHandler,
|
51
48
|
[CommandType.InvokeInstanceMethod]: InvokeInstanceMethodHandler,
|
49
|
+
[CommandType.InvokeStandaloneMethod]: InvokeStandaloneMethodHandler,
|
52
50
|
[CommandType.InvokeGlobalMethod]: InvokeGlobalMethodHandler,
|
53
51
|
[CommandType.DestructReference]: DestructReferenceHandler,
|
54
52
|
[CommandType.ArrayGetItem]: ArrayGetItemHandler,
|
@@ -57,9 +55,13 @@ const handlers = {
|
|
57
55
|
[CommandType.ArraySetItem]: ArraySetItemHandler,
|
58
56
|
[CommandType.Array]: ArrayHandler,
|
59
57
|
[CommandType.EnableNamespace]: EnableNamespaceHandler,
|
60
|
-
[CommandType.EnableType]: EnableTypeHandler
|
58
|
+
[CommandType.EnableType]: EnableTypeHandler,
|
61
59
|
}
|
62
60
|
|
61
|
+
Object.keys(handlers).forEach((commandTypeHandler) => {
|
62
|
+
handlers[commandTypeHandler].handlers = handlers
|
63
|
+
})
|
64
|
+
|
63
65
|
class Handler {
|
64
66
|
handleCommand(command) {
|
65
67
|
try {
|
@@ -78,7 +80,7 @@ class Handler {
|
|
78
80
|
if (isResponseNull(response) || isResponseSimpleType(response)) {
|
79
81
|
return Command.createResponse(response, runtimeName)
|
80
82
|
} else {
|
81
|
-
let cache =
|
83
|
+
let cache = ReferencesCache.getInstance()
|
82
84
|
let uuid = cache.cacheReference(response)
|
83
85
|
return Command.createReference(uuid, runtimeName)
|
84
86
|
}
|
@@ -87,4 +89,3 @@ class Handler {
|
|
87
89
|
|
88
90
|
module.exports.Handler = Handler
|
89
91
|
module.exports.handlers = handlers
|
90
|
-
|
@@ -0,0 +1,43 @@
|
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
2
|
+
|
3
|
+
class InvokeGlobalMethodHandler extends AbstractHandler {
|
4
|
+
requiredParametersCount = 1
|
5
|
+
|
6
|
+
constructor() {
|
7
|
+
super()
|
8
|
+
}
|
9
|
+
|
10
|
+
process(command) {
|
11
|
+
try {
|
12
|
+
if (command.payload.length < this.requiredParametersCount) {
|
13
|
+
throw new Error('Invoke Global Method parameters mismatch')
|
14
|
+
}
|
15
|
+
const { payload } = command
|
16
|
+
const splitted = payload[0].split('.')
|
17
|
+
let methodToInvoke
|
18
|
+
for (let i = 0; i < splitted.length; i++) {
|
19
|
+
methodToInvoke = !methodToInvoke ? global[splitted[i]] : methodToInvoke[splitted[i]]
|
20
|
+
}
|
21
|
+
if (typeof methodToInvoke === 'undefined') {
|
22
|
+
let methods = Object.getOwnPropertyNames(global).filter(function (property) {
|
23
|
+
return typeof global[property] === 'function'
|
24
|
+
})
|
25
|
+
let message = `Method ${payload[0]} not found in global. Available methods:\n`
|
26
|
+
methods.forEach((methodIter) => {
|
27
|
+
message += `${methodIter}\n`
|
28
|
+
})
|
29
|
+
throw new Error(message)
|
30
|
+
}
|
31
|
+
if (payload.length > 1) {
|
32
|
+
const args = payload.slice(1)
|
33
|
+
return methodToInvoke(args)
|
34
|
+
} else {
|
35
|
+
return methodToInvoke()
|
36
|
+
}
|
37
|
+
} catch (error) {
|
38
|
+
throw this.process_stack_trace(error, this.constructor.name)
|
39
|
+
}
|
40
|
+
}
|
41
|
+
}
|
42
|
+
|
43
|
+
module.exports = new InvokeGlobalMethodHandler()
|
@@ -0,0 +1,38 @@
|
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
2
|
+
|
3
|
+
class InvokeInstanceMethodHandler extends AbstractHandler {
|
4
|
+
requiredParametersCount = 2
|
5
|
+
|
6
|
+
constructor() {
|
7
|
+
super()
|
8
|
+
}
|
9
|
+
|
10
|
+
process(command) {
|
11
|
+
try {
|
12
|
+
if (command.payload.length < this.requiredParametersCount) {
|
13
|
+
throw new Error('Invoke Instance Method parameters mismatch')
|
14
|
+
}
|
15
|
+
const { payload } = command
|
16
|
+
let instance = payload[0]
|
17
|
+
let methodName = payload[1]
|
18
|
+
let args = payload.slice(2)
|
19
|
+
let method = instance[methodName]
|
20
|
+
if (typeof method === 'undefined') {
|
21
|
+
let methods = Object.getOwnPropertyNames(instance.__proto__).filter(function (property) {
|
22
|
+
return typeof instance.__proto__[property] === 'function'
|
23
|
+
})
|
24
|
+
let message = `Method ${methodName} not found in object. Available methods:\n`
|
25
|
+
methods.forEach((methodIter) => {
|
26
|
+
message += `${methodIter}\n`
|
27
|
+
})
|
28
|
+
throw new Error(message)
|
29
|
+
} else {
|
30
|
+
return Reflect.apply(method, instance, args)
|
31
|
+
}
|
32
|
+
} catch (error) {
|
33
|
+
throw this.process_stack_trace(error, this.constructor.name)
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
module.exports = new InvokeInstanceMethodHandler()
|
@@ -0,0 +1,56 @@
|
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
2
|
+
|
3
|
+
class InvokeStandaloneMethodHandler extends AbstractHandler {
|
4
|
+
requiredParametersCount = 2
|
5
|
+
|
6
|
+
constructor() {
|
7
|
+
super()
|
8
|
+
}
|
9
|
+
|
10
|
+
process(command) {
|
11
|
+
try {
|
12
|
+
if (command.payload.length < this.requiredParametersCount) {
|
13
|
+
throw new Error('Invoke standalone Method parameters mismatch')
|
14
|
+
}
|
15
|
+
|
16
|
+
const { payload } = command
|
17
|
+
const type = payload[0]
|
18
|
+
const methodName = payload[1]
|
19
|
+
const args = payload.slice(2)
|
20
|
+
|
21
|
+
if (typeof type === 'function') {
|
22
|
+
// assuming that function is exported as single (default)
|
23
|
+
return Reflect.apply(type, undefined, args)
|
24
|
+
}
|
25
|
+
|
26
|
+
if (typeof type === 'object') {
|
27
|
+
// assuming that function inside of multiple exports
|
28
|
+
const method = type[methodName]
|
29
|
+
|
30
|
+
if (typeof method === 'function') {
|
31
|
+
return Reflect.apply(method, undefined, args)
|
32
|
+
}
|
33
|
+
return this.throwError(type, methodName)
|
34
|
+
} else {
|
35
|
+
throw new Error(`Function ${methodName} not found in libary.`)
|
36
|
+
}
|
37
|
+
} catch (error) {
|
38
|
+
throw this.process_stack_trace(error, this.constructor.name)
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
throwError(type, methodName) {
|
43
|
+
const methods = Object.getOwnPropertyNames(type).filter(
|
44
|
+
(property) => typeof type[property] === 'function'
|
45
|
+
)
|
46
|
+
|
47
|
+
let message = `Function ${methodName} not found in libary. Available standalone methods:\n`
|
48
|
+
methods.forEach((methodIter) => {
|
49
|
+
message += `${methodIter}\n`
|
50
|
+
})
|
51
|
+
|
52
|
+
throw new Error(message)
|
53
|
+
}
|
54
|
+
}
|
55
|
+
|
56
|
+
module.exports = new InvokeStandaloneMethodHandler()
|
@@ -0,0 +1,38 @@
|
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
2
|
+
|
3
|
+
class InvokeStaticMethodHandler extends AbstractHandler {
|
4
|
+
requiredParametersCount = 2
|
5
|
+
|
6
|
+
constructor() {
|
7
|
+
super()
|
8
|
+
}
|
9
|
+
|
10
|
+
process(command) {
|
11
|
+
try {
|
12
|
+
if (command.payload.length < this.requiredParametersCount) {
|
13
|
+
throw new Error('Invoke Static Method parameters mismatch')
|
14
|
+
}
|
15
|
+
const { payload } = command
|
16
|
+
let type = payload[0]
|
17
|
+
let methodName = payload[1]
|
18
|
+
let args = payload.slice(2)
|
19
|
+
let method = type[methodName]
|
20
|
+
if (typeof method === 'undefined') {
|
21
|
+
let methods = Object.getOwnPropertyNames(type).filter(function (property) {
|
22
|
+
return typeof type[property] === 'function'
|
23
|
+
})
|
24
|
+
let message = `Method ${methodName} not found in class. Available methods:\n`
|
25
|
+
methods.forEach((methodIter) => {
|
26
|
+
message += `${methodIter}\n`
|
27
|
+
})
|
28
|
+
throw new Error(message)
|
29
|
+
} else {
|
30
|
+
return Reflect.apply(method, undefined, args)
|
31
|
+
}
|
32
|
+
} catch (error) {
|
33
|
+
throw this.process_stack_trace(error, this.constructor.name)
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
module.exports = new InvokeStaticMethodHandler()
|
@@ -2,7 +2,7 @@ const AbstractHandler = require('./AbstractHandler')
|
|
2
2
|
|
3
3
|
class LoadLibraryHandler extends AbstractHandler {
|
4
4
|
requiredParametersCount = 1
|
5
|
-
static loadedLibraries = []
|
5
|
+
static loadedLibraries = []
|
6
6
|
|
7
7
|
constructor() {
|
8
8
|
super()
|
@@ -10,9 +10,9 @@ class LoadLibraryHandler extends AbstractHandler {
|
|
10
10
|
|
11
11
|
process(command) {
|
12
12
|
if (command.payload.length < this.requiredParametersCount) {
|
13
|
-
throw new Error(
|
13
|
+
throw new Error('Load Library parameters mismatch')
|
14
14
|
}
|
15
|
-
let {payload} = command
|
15
|
+
let { payload } = command
|
16
16
|
let [lib] = payload
|
17
17
|
let pathArray = lib.split(/[/\\]/)
|
18
18
|
let libraryName = pathArray.length > 1 ? pathArray[pathArray.length - 1] : pathArray[0]
|
@@ -23,6 +23,7 @@ class LoadLibraryHandler extends AbstractHandler {
|
|
23
23
|
try {
|
24
24
|
moduleExports = require(lib)
|
25
25
|
LoadLibraryHandler.loadedLibraries.push(lib)
|
26
|
+
// eslint-disable-next-line no-unused-vars
|
26
27
|
} catch (error) {
|
27
28
|
try {
|
28
29
|
moduleExports = require(`${process.cwd()}/${lib}`)
|
@@ -0,0 +1,13 @@
|
|
1
|
+
const ReferencesCache = require('../referenceCache/ReferencesCache')
|
2
|
+
const AbstractHandler = require('./AbstractHandler')
|
3
|
+
class ResolveReferenceHandler extends AbstractHandler {
|
4
|
+
constructor() {
|
5
|
+
super()
|
6
|
+
}
|
7
|
+
|
8
|
+
process(command) {
|
9
|
+
return ReferencesCache.getInstance().resolveReference(command.payload[0])
|
10
|
+
}
|
11
|
+
}
|
12
|
+
|
13
|
+
module.exports = new ResolveReferenceHandler()
|
@@ -0,0 +1,38 @@
|
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
2
|
+
|
3
|
+
class SetGlobalStaticFieldHandler extends AbstractHandler {
|
4
|
+
requiredParametersCount = 2
|
5
|
+
|
6
|
+
constructor() {
|
7
|
+
super()
|
8
|
+
}
|
9
|
+
|
10
|
+
process(command) {
|
11
|
+
try {
|
12
|
+
if (command.payload.length < this.requiredParametersCount) {
|
13
|
+
throw new Error('Set gloabal static field parameters mismatch')
|
14
|
+
}
|
15
|
+
const { payload } = command
|
16
|
+
const splitted = payload[0].split('.')
|
17
|
+
const value = payload[1]
|
18
|
+
let fieldToSet
|
19
|
+
|
20
|
+
for (let i = 0; i < splitted.length; i++) {
|
21
|
+
if (typeof (fieldToSet ? fieldToSet[splitted[i]] : global[splitted[i]]) === 'undefined') {
|
22
|
+
let fields = Object.keys(fieldToSet ? fieldToSet : global)
|
23
|
+
let message = `Field ${splitted[i]} not found in object. Available fields:\n`
|
24
|
+
fields.forEach((fieldIter) => {
|
25
|
+
message += `${fieldIter}\n`
|
26
|
+
})
|
27
|
+
throw new Error(message)
|
28
|
+
}
|
29
|
+
fieldToSet = !fieldToSet ? global[splitted[i]] : fieldToSet[splitted[i]]
|
30
|
+
}
|
31
|
+
fieldToSet = value
|
32
|
+
} catch (error) {
|
33
|
+
throw this.process_stack_trace(error, this.constructor.name)
|
34
|
+
}
|
35
|
+
}
|
36
|
+
}
|
37
|
+
|
38
|
+
module.exports = new SetGlobalStaticFieldHandler()
|
@@ -0,0 +1,35 @@
|
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
2
|
+
|
3
|
+
class SetInstanceFieldHandler extends AbstractHandler {
|
4
|
+
requiredParametersCount = 3
|
5
|
+
|
6
|
+
constructor() {
|
7
|
+
super()
|
8
|
+
}
|
9
|
+
|
10
|
+
process(command) {
|
11
|
+
try {
|
12
|
+
if (command.payload.length < this.requiredParametersCount) {
|
13
|
+
throw new Error('Set Instance Field parameters mismatch')
|
14
|
+
}
|
15
|
+
const { payload } = command
|
16
|
+
let instance = payload[0]
|
17
|
+
let field = payload[1]
|
18
|
+
let value = payload[2]
|
19
|
+
if (typeof instance[field] === 'undefined') {
|
20
|
+
let fields = Object.keys(instance)
|
21
|
+
let message = `Field ${field} not found in object. Available fields:\n`
|
22
|
+
fields.forEach((fieldIter) => {
|
23
|
+
message += `${fieldIter}\n`
|
24
|
+
})
|
25
|
+
throw new Error(message)
|
26
|
+
}
|
27
|
+
instance[field] = value
|
28
|
+
return 0
|
29
|
+
} catch (error) {
|
30
|
+
throw this.process_stack_trace(error, this.constructor.name)
|
31
|
+
}
|
32
|
+
}
|
33
|
+
}
|
34
|
+
|
35
|
+
module.exports = new SetInstanceFieldHandler()
|
@@ -0,0 +1,33 @@
|
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
2
|
+
|
3
|
+
class SetStaticFieldHandler extends AbstractHandler {
|
4
|
+
requiredParametersCount = 3
|
5
|
+
|
6
|
+
constructor() {
|
7
|
+
super()
|
8
|
+
}
|
9
|
+
|
10
|
+
process(command) {
|
11
|
+
try {
|
12
|
+
if (command.payload.length < this.requiredParametersCount) {
|
13
|
+
throw new Error('Set static field parameters mismatch')
|
14
|
+
}
|
15
|
+
const { payload } = command
|
16
|
+
let [obj, field, value] = payload
|
17
|
+
if (typeof obj[field] === 'undefined') {
|
18
|
+
let fields = Object.keys(obj)
|
19
|
+
let message = `Field ${field} not found in class ${obj.constructor.name}. Available fields:\n`
|
20
|
+
fields.forEach((fieldIter) => {
|
21
|
+
message += `${fieldIter}\n`
|
22
|
+
})
|
23
|
+
throw new Error(message)
|
24
|
+
}
|
25
|
+
obj[field] = value
|
26
|
+
return 0
|
27
|
+
} catch (error) {
|
28
|
+
throw this.process_stack_trace(error, this.constructor.name)
|
29
|
+
}
|
30
|
+
}
|
31
|
+
}
|
32
|
+
|
33
|
+
module.exports = new SetStaticFieldHandler()
|
@@ -1,15 +1,13 @@
|
|
1
|
-
const AbstractHandler = require(
|
2
|
-
|
1
|
+
const AbstractHandler = require('./AbstractHandler')
|
3
2
|
|
4
3
|
class ValueHandler extends AbstractHandler {
|
5
|
-
|
6
4
|
constructor() {
|
7
5
|
super()
|
8
6
|
}
|
9
7
|
process(command) {
|
10
|
-
const {payload} = command
|
8
|
+
const { payload } = command
|
11
9
|
return payload[0]
|
12
10
|
}
|
13
11
|
}
|
14
12
|
|
15
|
-
module.exports = new ValueHandler()
|
13
|
+
module.exports = new ValueHandler()
|
@@ -0,0 +1,142 @@
|
|
1
|
+
const ConnectionType = require('../../utils/ConnectionType')
|
2
|
+
const RuntimeName = require('../../utils/RuntimeName')
|
3
|
+
const CommandDeserializer = require('../protocol/CommandDeserializer')
|
4
|
+
const CommandSerializer = require('../protocol/CommandSerializer')
|
5
|
+
|
6
|
+
/** @typedef {import('../../../../core/lib/declarations').WsConnectionData} WsConnectionData */
|
7
|
+
|
8
|
+
let _Receiver
|
9
|
+
let _Transmitter
|
10
|
+
let _TransmitterWebsocket
|
11
|
+
|
12
|
+
class Interpreter {
|
13
|
+
handler
|
14
|
+
/**
|
15
|
+
*
|
16
|
+
* @param {Command} command
|
17
|
+
* @param {IConnectionData} connectionData
|
18
|
+
* @returns
|
19
|
+
*/
|
20
|
+
async executeAsync(command, connectionData) {
|
21
|
+
try {
|
22
|
+
let messageByteArray = new CommandSerializer().serialize(command, connectionData)
|
23
|
+
let responseByteArray
|
24
|
+
|
25
|
+
if (
|
26
|
+
command.runtimeName === RuntimeName.Nodejs &&
|
27
|
+
connectionData.connectionType === ConnectionType.IN_MEMORY
|
28
|
+
) {
|
29
|
+
// lazy receiver loading
|
30
|
+
if (!_Receiver) {
|
31
|
+
_Receiver = require(require.resolve('../receiver/Receiver'))
|
32
|
+
}
|
33
|
+
responseByteArray = _Receiver.sendCommand(messageByteArray)
|
34
|
+
} else if (
|
35
|
+
command.runtimeName === RuntimeName.Nodejs &&
|
36
|
+
connectionData.connectionType === ConnectionType.WEB_SOCKET
|
37
|
+
) {
|
38
|
+
try {
|
39
|
+
// lazy transmitter websocket loading
|
40
|
+
if (!_TransmitterWebsocket) {
|
41
|
+
_TransmitterWebsocket = require('../transmitter/TransmitterWebsocket')
|
42
|
+
}
|
43
|
+
const promise = _TransmitterWebsocket.sendCommand(messageByteArray, connectionData)
|
44
|
+
return promise
|
45
|
+
.then((_response) => {
|
46
|
+
if (_response) {
|
47
|
+
const command = new CommandDeserializer(_response).deserialize()
|
48
|
+
return command
|
49
|
+
}
|
50
|
+
})
|
51
|
+
.catch((error) => {
|
52
|
+
throw error
|
53
|
+
})
|
54
|
+
} catch (error) {
|
55
|
+
console.log(error)
|
56
|
+
}
|
57
|
+
} else {
|
58
|
+
// lazy transmitter loading
|
59
|
+
if (!_Transmitter) {
|
60
|
+
_Transmitter = require(require.resolve('../transmitter/Transmitter'))
|
61
|
+
}
|
62
|
+
responseByteArray = await _Transmitter.sendCommand(messageByteArray)
|
63
|
+
}
|
64
|
+
return new CommandDeserializer(responseByteArray).deserialize()
|
65
|
+
// eslint-disable-next-line no-unused-vars
|
66
|
+
} catch (error) {
|
67
|
+
// TODO: handle error exception log?
|
68
|
+
}
|
69
|
+
}
|
70
|
+
|
71
|
+
/**
|
72
|
+
*
|
73
|
+
* @param {Command} command
|
74
|
+
* @param {WsConnectionData} connectionData
|
75
|
+
* @returns {Promise<Command>}
|
76
|
+
*/
|
77
|
+
execute(command, connectionData) {
|
78
|
+
try {
|
79
|
+
let messageByteArray = new CommandSerializer().serialize(command, connectionData)
|
80
|
+
let responseByteArray
|
81
|
+
|
82
|
+
if (
|
83
|
+
command.runtimeName === RuntimeName.Nodejs &&
|
84
|
+
connectionData.connectionType === ConnectionType.IN_MEMORY
|
85
|
+
) {
|
86
|
+
// lazy receiver loading
|
87
|
+
if (!_Receiver) {
|
88
|
+
_Receiver = require(require.resolve('../receiver/Receiver'))
|
89
|
+
}
|
90
|
+
responseByteArray = _Receiver.sendCommand(messageByteArray)
|
91
|
+
} else if (
|
92
|
+
command.runtimeName === RuntimeName.Nodejs &&
|
93
|
+
connectionData.connectionType === ConnectionType.WEB_SOCKET
|
94
|
+
) {
|
95
|
+
// lazy transmitter websocket loading
|
96
|
+
if (!_TransmitterWebsocket) {
|
97
|
+
_TransmitterWebsocket = require(require.resolve('../transmitter/TransmitterWebsocket'))
|
98
|
+
}
|
99
|
+
const promise = _TransmitterWebsocket.sendCommand(messageByteArray, connectionData)
|
100
|
+
return promise
|
101
|
+
.then((_response) => {
|
102
|
+
if (_response) {
|
103
|
+
const command = new CommandDeserializer(_response).deserialize()
|
104
|
+
return command
|
105
|
+
}
|
106
|
+
})
|
107
|
+
.catch((error) => {
|
108
|
+
throw error
|
109
|
+
})
|
110
|
+
} else {
|
111
|
+
// lazy transmitter loading
|
112
|
+
if (!_Transmitter) {
|
113
|
+
_Transmitter = require(require.resolve('../transmitter/Transmitter'))
|
114
|
+
}
|
115
|
+
responseByteArray = _Transmitter.sendCommand(messageByteArray)
|
116
|
+
}
|
117
|
+
return new CommandDeserializer(responseByteArray).deserialize()
|
118
|
+
// eslint-disable-next-line no-unused-vars
|
119
|
+
} catch (error) {
|
120
|
+
// TODO: handle error exception log?
|
121
|
+
}
|
122
|
+
}
|
123
|
+
|
124
|
+
/**
|
125
|
+
*
|
126
|
+
* @param {number[]} messageByteArray
|
127
|
+
* @returns {Command}
|
128
|
+
*/
|
129
|
+
process(messageByteArray) {
|
130
|
+
if (!this.handler) {
|
131
|
+
const baseHandler = require(require.resolve('../handler/Handler'))
|
132
|
+
if (baseHandler) {
|
133
|
+
const { Handler } = baseHandler
|
134
|
+
this.handler = new Handler()
|
135
|
+
}
|
136
|
+
}
|
137
|
+
const receivedCommand = new CommandDeserializer(messageByteArray).deserialize()
|
138
|
+
return this.handler.handleCommand(receivedCommand)
|
139
|
+
}
|
140
|
+
}
|
141
|
+
|
142
|
+
module.exports = Interpreter
|