javonet-nodejs-sdk 2.5.11 → 2.5.12
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.
- package/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
- package/Binaries/Clr/JavonetClrRuntime.dll +0 -0
- package/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
- package/Binaries/Native/Linux/ARM64/version.txt +1 -1
- package/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -30
- package/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
- package/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
- package/Binaries/Native/Linux/X64/version.txt +1 -1
- package/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
- package/Binaries/Native/MacOs/X64/version.txt +1 -1
- package/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
- package/Binaries/Native/Windows/ARM64/version.txt +0 -0
- package/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X64/Utils.dll +0 -0
- package/Binaries/Native/Windows/X64/version.txt +1 -1
- package/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
- package/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
- package/Binaries/Native/Windows/X86/Utils.dll +0 -0
- package/Binaries/Native/Windows/X86/version.txt +1 -1
- package/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
- package/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
- package/Binaries/Nodejs/lib/core/handler/Handler.js +6 -9
- package/Binaries/Nodejs/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/Binaries/Nodejs/lib/core/interpreter/Interpreter.js +11 -15
- package/Binaries/Nodejs/lib/core/protocol/TypeSerializer.js +7 -0
- package/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +1 -1
- package/Binaries/Nodejs/lib/sdk/InvocationContext.js +7 -17
- package/Binaries/Nodejs/lib/sdk/RuntimeContext.js +27 -0
- package/Binaries/Nodejs/lib/utils/CommandType.js +1 -2
- package/Binaries/Nodejs/lib/utils/CustomError.js +8 -0
- package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load +8 -5
- package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load-dump +8 -5
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema.pm +6 -6
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP.pm +29 -3
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.50/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.47/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.227/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.05/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.10/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.051/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2207/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.15/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.281/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.146/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Safe-Isa-1.000010/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.991/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.32/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{YAML-PP-v0.38.1 → YAML-PP-v0.39.0}/MYMETA.json +34 -34
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.39.0/install.json +1 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.2/install.json +1 -1
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +96 -96
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load +8 -5
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump +8 -5
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +8 -5
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +8 -5
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.227/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.15/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.281/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Safe-Isa-1.000010/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Test-Fatal-0.017/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/{YAML-PP-v0.38.1 → YAML-PP-v0.39.0}/MYMETA.json +34 -34
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.39.0/install.json +1 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/install.json +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +26 -26
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Common.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Constructor.pm +7 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Dumper.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Exception.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Grammar.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Highlight.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Lexer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Loader.pm +3 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Parser.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Perl.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Reader.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Render.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Representer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Catchall.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema.pm +6 -6
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer.pm +1 -1
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP.pm +29 -3
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/CommandHandler/InvokeGlobalFunctionHandler.pm +63 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +7 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/PerlCommandType.pm +6 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractRuntimeContext.pm +17 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +21 -0
- package/Binaries/Python/javonet/core/handler/Handler.py +2 -0
- package/Binaries/Python/javonet/core/handler/InvokeGlobalFunctionHandler.py +46 -0
- package/Binaries/Python/javonet/utils/CommandType.py +2 -1
- package/Binaries/Ruby/Linux/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/Linux/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/Linux/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/Linux/X64/utils/command_type.rb +18 -3
- package/Binaries/Ruby/MacOs/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/MacOs/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/MacOs/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/MacOs/X64/utils/command_type.rb +18 -3
- package/Binaries/Ruby/Windows/X64/core/handler/handler.rb +3 -0
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_global_function_handler.rb +45 -0
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_instance_method_handler.rb +9 -5
- package/Binaries/Ruby/Windows/X64/core/handler/invoke_static_method_handler.rb +4 -3
- package/Binaries/Ruby/Windows/X64/core/receiver/receiver.rb +6 -2
- package/Binaries/Ruby/Windows/X64/utils/command_type.rb +18 -3
- package/Binaries/version.txt +1 -1
- package/dist/Javonet.d.ts +89 -682
- package/dist/lib/core/handler/Handler.js +6 -9
- package/dist/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/dist/lib/core/interpreter/Interpreter.js +11 -15
- package/dist/lib/core/protocol/TypeSerializer.js +7 -0
- package/dist/lib/core/transmitter/TransmitterWrapper.js +1 -1
- package/dist/lib/sdk/InvocationContext.js +7 -17
- package/dist/lib/sdk/RuntimeContext.js +27 -0
- package/dist/lib/utils/CommandType.js +1 -2
- package/dist/lib/utils/CustomError.js +8 -0
- package/lib/core/handler/Handler.js +6 -9
- package/lib/core/handler/InvokeGlobalFunctionHandler.js +39 -0
- package/lib/core/transmitter/TransmitterWrapper.js +1 -1
- package/package.json +1 -1
- package/Binaries/Nodejs/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/Binaries/Nodejs/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/Binaries/Nodejs/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/Binaries/Nodejs/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/Binaries/Nodejs/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/Binaries/Nodejs/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/handler/Handlers.js +0 -58
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/Binaries/Nodejs/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/Binaries/Nodejs/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/Binaries/Nodejs/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/Binaries/Nodejs/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/Binaries/Nodejs/lib/core/generator/utils/StringUtils.js +0 -7
- package/Binaries/Nodejs/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/Binaries/Nodejs/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.38.1/install.json +0 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
- package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.38.1/install.json +0 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/Abstract/AbstractModuleContext.pm +0 -11
- package/dist/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/dist/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/dist/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/dist/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/dist/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/dist/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/dist/lib/core/generator/handler/Handlers.js +0 -58
- package/dist/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/dist/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/dist/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/dist/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/dist/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/dist/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/dist/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/dist/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/dist/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/dist/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/dist/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/dist/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/dist/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/dist/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/dist/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/dist/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/dist/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/dist/lib/core/generator/utils/StringUtils.js +0 -7
- package/dist/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/dist/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/lib/core/generator/handler/AbstractGeneratorHandler.js +0 -11
- package/lib/core/generator/handler/CreateInstanceGeneratorHandler.js +0 -27
- package/lib/core/generator/handler/GeneratorHandler.js +0 -38
- package/lib/core/generator/handler/GetInstanceFieldGeneratorHandler.js +0 -26
- package/lib/core/generator/handler/GetStaticFieldGeneratorHandler.js +0 -24
- package/lib/core/generator/handler/GetTypeGeneratorHandler.js +0 -39
- package/lib/core/generator/handler/Handlers.js +0 -58
- package/lib/core/generator/handler/InvokeInstanceMethodGeneratorHandler.js +0 -33
- package/lib/core/generator/handler/InvokeStandaloneMethodGeneratorHandler.js +0 -35
- package/lib/core/generator/handler/InvokeStaticMethodGeneratorHandler.js +0 -35
- package/lib/core/generator/handler/shared/SharedArgumentNameHandler.js +0 -15
- package/lib/core/generator/handler/shared/SharedClassInstanceHandler.js +0 -12
- package/lib/core/generator/handler/shared/SharedClassNameHandler.js +0 -44
- package/lib/core/generator/handler/shared/SharedMethodNameHandler.js +0 -42
- package/lib/core/generator/handler/shared/SharedReturnTypeHandler.js +0 -9
- package/lib/core/generator/handler/shared/body/SharedBodyHandler.js +0 -18
- package/lib/core/generator/handler/shared/body/SharedCreateInstanceBodyHandler.js +0 -29
- package/lib/core/generator/handler/shared/body/SharedGetInstanceFieldBodyHandler.js +0 -21
- package/lib/core/generator/handler/shared/body/SharedGetStaticFieldBodyHandler.js +0 -31
- package/lib/core/generator/handler/shared/body/SharedGetTypeBodyHandler.js +0 -21
- package/lib/core/generator/handler/shared/body/SharedInvokeInstanceMethodBodyHandler.js +0 -33
- package/lib/core/generator/handler/shared/body/SharedInvokeStandaloneMethodBodyHandler.js +0 -39
- package/lib/core/generator/handler/shared/body/SharedInvokeStaticMethodBodyHandler.js +0 -39
- package/lib/core/generator/internal/CommonGenerator.js +0 -39
- package/lib/core/generator/internal/NodejsStringBuilder.js +0 -17
- package/lib/core/generator/internal/SharedHandlerType.js +0 -10
- package/lib/core/generator/utils/StringUtils.js +0 -7
- package/lib/core/handler/InvokeGlobalMethodHandler.js +0 -43
- package/lib/core/handler/InvokeStandaloneMethodHandler.js +0 -56
- package/lib/sdk/RuntimeContext.js +0 -36
|
@@ -4,7 +4,7 @@ package YAML::PP::Schema;
|
|
|
4
4
|
use B;
|
|
5
5
|
use Module::Load qw//;
|
|
6
6
|
|
|
7
|
-
our $VERSION = 'v0.
|
|
7
|
+
our $VERSION = 'v0.39.0'; # VERSION
|
|
8
8
|
|
|
9
9
|
use YAML::PP::Common qw/ YAML_PLAIN_SCALAR_STYLE /;
|
|
10
10
|
|
|
@@ -320,9 +320,9 @@ sub load_scalar {
|
|
|
320
320
|
}
|
|
321
321
|
}
|
|
322
322
|
}
|
|
323
|
-
unless ($res) {
|
|
324
|
-
|
|
325
|
-
}
|
|
323
|
+
#unless ($res) {
|
|
324
|
+
# croak "Unknown tag '$tag'. Use schema 'Catchall' to ignore unknown tags";
|
|
325
|
+
#}
|
|
326
326
|
}
|
|
327
327
|
else {
|
|
328
328
|
$res = $resolvers->{value};
|
|
@@ -383,7 +383,7 @@ sub create_sequence {
|
|
|
383
383
|
}
|
|
384
384
|
}
|
|
385
385
|
}
|
|
386
|
-
croak "Unknown tag '$tag'. Use schema 'Catchall' to ignore unknown tags";
|
|
386
|
+
#croak "Unknown tag '$tag'. Use schema 'Catchall' to ignore unknown tags";
|
|
387
387
|
}
|
|
388
388
|
|
|
389
389
|
return ($data, $on_data);
|
|
@@ -414,7 +414,7 @@ sub create_mapping {
|
|
|
414
414
|
}
|
|
415
415
|
}
|
|
416
416
|
}
|
|
417
|
-
croak "Unknown tag '$tag'. Use schema 'Catchall' to ignore unknown tags";
|
|
417
|
+
#croak "Unknown tag '$tag'. Use schema 'Catchall' to ignore unknown tags";
|
|
418
418
|
}
|
|
419
419
|
|
|
420
420
|
return ($data, $on_data);
|
|
@@ -3,7 +3,7 @@ use strict;
|
|
|
3
3
|
use warnings;
|
|
4
4
|
package YAML::PP;
|
|
5
5
|
|
|
6
|
-
our $VERSION = 'v0.
|
|
6
|
+
our $VERSION = 'v0.39.0'; # VERSION
|
|
7
7
|
|
|
8
8
|
use YAML::PP::Schema;
|
|
9
9
|
use YAML::PP::Schema::JSON;
|
|
@@ -30,6 +30,7 @@ sub new {
|
|
|
30
30
|
my $writer = delete $args{writer};
|
|
31
31
|
my $header = delete $args{header};
|
|
32
32
|
my $footer = delete $args{footer};
|
|
33
|
+
my $require_footer = delete $args{require_footer};
|
|
33
34
|
my $duplicate_keys = delete $args{duplicate_keys};
|
|
34
35
|
my $yaml_version = $class->_arg_yaml_version(delete $args{yaml_version});
|
|
35
36
|
my $default_yaml_version = $yaml_version->[0];
|
|
@@ -69,6 +70,7 @@ sub new {
|
|
|
69
70
|
default_yaml_version => $default_yaml_version,
|
|
70
71
|
preserve => $preserve,
|
|
71
72
|
duplicate_keys => $duplicate_keys,
|
|
73
|
+
require_footer => $require_footer,
|
|
72
74
|
);
|
|
73
75
|
my $dumper = YAML::PP::Dumper->new(
|
|
74
76
|
schema => $default_schema,
|
|
@@ -667,6 +669,29 @@ This option is for dumping.
|
|
|
667
669
|
|
|
668
670
|
Print document footer C<...>
|
|
669
671
|
|
|
672
|
+
=item require_footer
|
|
673
|
+
|
|
674
|
+
Default: 0
|
|
675
|
+
|
|
676
|
+
Will require a C<...> at the end of each document.
|
|
677
|
+
This can be useful in a context where you want to make sure you received
|
|
678
|
+
the complete content, for example over network.
|
|
679
|
+
|
|
680
|
+
# Good
|
|
681
|
+
---
|
|
682
|
+
a: 1
|
|
683
|
+
...
|
|
684
|
+
---
|
|
685
|
+
a: 2
|
|
686
|
+
...
|
|
687
|
+
|
|
688
|
+
# Bad
|
|
689
|
+
---
|
|
690
|
+
a: 1
|
|
691
|
+
---
|
|
692
|
+
a: 2
|
|
693
|
+
|
|
694
|
+
|
|
670
695
|
=item yaml_version
|
|
671
696
|
|
|
672
697
|
Since version 0.020
|
|
@@ -1035,9 +1060,10 @@ YAML 1.1 merge keys for mappings
|
|
|
1035
1060
|
|
|
1036
1061
|
=item L<YAML::PP::Schema::Catchall>
|
|
1037
1062
|
|
|
1038
|
-
|
|
1063
|
+
Experimental.
|
|
1039
1064
|
|
|
1040
|
-
|
|
1065
|
+
It was accidentally added in 0.38.1, and unknown tags forbidden.
|
|
1066
|
+
This was reverted in 0.39.0
|
|
1041
1067
|
|
|
1042
1068
|
By default they will result in an error.
|
|
1043
1069
|
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
package Javonet::Core::Handler::CommandHandler::InvokeGlobalFunctionHandler;
|
|
2
|
+
use strict;
|
|
3
|
+
use warnings FATAL => 'all';
|
|
4
|
+
use lib 'lib';
|
|
5
|
+
use Moose;
|
|
6
|
+
use Nice::Try;
|
|
7
|
+
use aliased 'Javonet::Core::Exception::Exception' => 'Exception';
|
|
8
|
+
extends 'Javonet::Core::Handler::CommandHandler::AbstractCommandHandler';
|
|
9
|
+
|
|
10
|
+
sub new {
|
|
11
|
+
my $class = shift;
|
|
12
|
+
my $self = {
|
|
13
|
+
required_parameters_count => 1
|
|
14
|
+
};
|
|
15
|
+
return bless $self, $class;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
sub process {
|
|
19
|
+
my ($self, $command) = @_;
|
|
20
|
+
try {
|
|
21
|
+
# Get the payload array reference and convert to array
|
|
22
|
+
my $payload_ref = $command->{payload};
|
|
23
|
+
my @payload = @$payload_ref;
|
|
24
|
+
my $parameters_length = scalar @payload;
|
|
25
|
+
|
|
26
|
+
# Verify at least one parameter is provided
|
|
27
|
+
if ($parameters_length < $self->{required_parameters_count}) {
|
|
28
|
+
die Exception->new("InvokeGlobalFunctionHandler parameters mismatch: requires at least one parameter (fully qualified method name)");
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
# The first parameter should be the fully qualified method name
|
|
32
|
+
my $fully_qualified_method = $payload[0];
|
|
33
|
+
|
|
34
|
+
# Extract the package name and method name using a regex
|
|
35
|
+
unless ($fully_qualified_method =~ /^(.*)::([^:]+)$/) {
|
|
36
|
+
die Exception->new("Invalid fully qualified method name: $fully_qualified_method");
|
|
37
|
+
}
|
|
38
|
+
my ($package, $function_name) = $fully_qualified_method =~ /^(.*)::([^:]+)$/;
|
|
39
|
+
|
|
40
|
+
# Attempt to load the package (if not already loaded)
|
|
41
|
+
eval "require $package";
|
|
42
|
+
if ($@) {
|
|
43
|
+
die Exception->new("Failed to load package '$package': $@");
|
|
44
|
+
}
|
|
45
|
+
#
|
|
46
|
+
# Check if the package can perform the method
|
|
47
|
+
my $code_ref = $package->can($function_name);
|
|
48
|
+
unless ($code_ref) {
|
|
49
|
+
die Exception->new("Method '$function_name' not found in package '$package'");
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
# Any additional payload elements are passed as arguments to the method
|
|
53
|
+
my @args = @payload[1 .. $#payload];
|
|
54
|
+
|
|
55
|
+
# Invoke the method with the arguments and return the result
|
|
56
|
+
return $code_ref->(@args);
|
|
57
|
+
}
|
|
58
|
+
catch ($e) {
|
|
59
|
+
return Exception->new($e);
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
1;
|
|
@@ -22,6 +22,7 @@ use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetItemHandler' => 'Ar
|
|
|
22
22
|
use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetSizeHandler' => 'ArrayGetSizeHandler';
|
|
23
23
|
use aliased 'Javonet::Core::Handler::CommandHandler::ArrayGetRankHandler' => 'ArrayGetRankHandler';
|
|
24
24
|
use aliased 'Javonet::Core::Handler::CommandHandler::ArraySetItemHandler' => 'ArraySetItemHandler';
|
|
25
|
+
use aliased 'Javonet::Core::Handler::CommandHandler::InvokeGlobalFunctionHandler' => 'InvokeGlobalFunctionHandler';
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_command_type);
|
|
@@ -48,6 +49,7 @@ my $array_get_item_handler = ArrayGetItemHandler->new();
|
|
|
48
49
|
my $array_get_size_handler = ArrayGetSizeHandler->new();
|
|
49
50
|
my $array_get_rank_handler = ArrayGetRankHandler->new();
|
|
50
51
|
my $array_set_item_handler = ArraySetItemHandler->new();
|
|
52
|
+
my $invoke_global_function_handler = InvokeGlobalFunctionHandler->new();
|
|
51
53
|
|
|
52
54
|
|
|
53
55
|
Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
@@ -119,6 +121,11 @@ Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
|
119
121
|
$array_set_item_handler
|
|
120
122
|
);
|
|
121
123
|
|
|
124
|
+
Javonet::Core::Handler::HandlerDictionary::add_handler_to_dict(
|
|
125
|
+
Javonet::Sdk::Core::PerlCommandType::get_command_type('InvokeGlobalFunction'),
|
|
126
|
+
$invoke_global_function_handler
|
|
127
|
+
);
|
|
128
|
+
|
|
122
129
|
sub handle_command {
|
|
123
130
|
my ($self, $command) = @_;
|
|
124
131
|
my $response = Javonet::Core::Handler::HandlerDictionary::get_handler($command->{command_type})->handle_command($command);
|
|
@@ -20,7 +20,7 @@ my %command_type = (
|
|
|
20
20
|
'GetInstanceField' => 13,
|
|
21
21
|
'Optimize' => 14,
|
|
22
22
|
'GenerateLib' => 15,
|
|
23
|
-
'
|
|
23
|
+
'InvokeGlobalFunction' => 16,
|
|
24
24
|
'DestructReference' => 17,
|
|
25
25
|
'Array' => 18,
|
|
26
26
|
'ArrayGetItem' => 19,
|
|
@@ -41,6 +41,11 @@ my %command_type = (
|
|
|
41
41
|
'EnableNamespace' => 34,
|
|
42
42
|
'EnableType' => 35,
|
|
43
43
|
'CreateNull' => 36,
|
|
44
|
+
'GetStaticMethodAsDelegate' => 37,
|
|
45
|
+
'GetInstanceMethodAsDelegate' => 38,
|
|
46
|
+
'PassDelegate' => 39,
|
|
47
|
+
'InvokeDelegate' => 40,
|
|
48
|
+
'ConvertType' => 41,
|
|
44
49
|
);
|
|
45
50
|
|
|
46
51
|
sub get_command_type {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
package Javonet::Sdk::Internal::Abstract::AbstractRuntimeContext;
|
|
2
|
+
use strict;
|
|
3
|
+
use warnings FATAL => 'all';
|
|
4
|
+
use Moose;
|
|
5
|
+
use Scalar::Util qw( blessed );
|
|
6
|
+
use Attribute::Abstract;
|
|
7
|
+
|
|
8
|
+
sub load_library : Abstract;
|
|
9
|
+
sub get_type : Abstract;
|
|
10
|
+
sub cast : Abstract;
|
|
11
|
+
sub get_enum_item : Abstract;
|
|
12
|
+
sub as_out: Abstract;
|
|
13
|
+
sub as_ref: Abstract;
|
|
14
|
+
sub invoke_global_function: Abstract;
|
|
15
|
+
|
|
16
|
+
no Moose;
|
|
17
|
+
1;
|
|
@@ -167,6 +167,7 @@ sub get_enum_item {
|
|
|
167
167
|
);
|
|
168
168
|
}
|
|
169
169
|
|
|
170
|
+
#@override
|
|
170
171
|
sub as_out {
|
|
171
172
|
my $self = shift;
|
|
172
173
|
my @arguments = @_;
|
|
@@ -186,6 +187,7 @@ sub as_out {
|
|
|
186
187
|
);
|
|
187
188
|
}
|
|
188
189
|
|
|
190
|
+
#@override
|
|
189
191
|
sub as_ref {
|
|
190
192
|
my $self = shift;
|
|
191
193
|
my @arguments = @_;
|
|
@@ -206,6 +208,25 @@ sub as_ref {
|
|
|
206
208
|
}
|
|
207
209
|
|
|
208
210
|
#@override
|
|
211
|
+
sub invoke_global_function {
|
|
212
|
+
my $self = shift;
|
|
213
|
+
my @arguments = @_;
|
|
214
|
+
|
|
215
|
+
my $command = PerlCommand->new(
|
|
216
|
+
runtime => $self->{runtime_name},
|
|
217
|
+
command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('InvokeGlobalFunction'),
|
|
218
|
+
payload => \@arguments
|
|
219
|
+
);
|
|
220
|
+
|
|
221
|
+
return Javonet::Sdk::Internal::InvocationContext->new(
|
|
222
|
+
$self->{runtime_name},
|
|
223
|
+
$self->{connection_type},
|
|
224
|
+
$self->{tcp_address},
|
|
225
|
+
$self->build_command($command),
|
|
226
|
+
0
|
|
227
|
+
);
|
|
228
|
+
}
|
|
229
|
+
|
|
209
230
|
sub build_command {
|
|
210
231
|
my ($self, $command) = @_;
|
|
211
232
|
my $payload_length = @{$command->{payload}};
|
|
@@ -26,6 +26,7 @@ from javonet.core.handler.GetStaticMethodAsDelegateHandler import GetStaticMetho
|
|
|
26
26
|
from javonet.core.handler.GetInstanceMethodAsDelegateHandler import GetInstanceMethodAsDelegateHandler
|
|
27
27
|
from javonet.core.handler.PassDelegateHandler import PassDelegateHandler
|
|
28
28
|
from javonet.core.handler.InvokeDelegateHandler import InvokeDelegateHandler
|
|
29
|
+
from javonet.core.handler.InvokeGlobalFunctionHandler import InvokeGlobalFunctionHandler
|
|
29
30
|
|
|
30
31
|
|
|
31
32
|
from javonet.core.handler.HandlerDictionary import handler_dict
|
|
@@ -65,6 +66,7 @@ class Handler(AbstractHandler):
|
|
|
65
66
|
handler_dict[CommandType.GetInstanceMethodAsDelegate] = GetInstanceMethodAsDelegateHandler()
|
|
66
67
|
handler_dict[CommandType.PassDelegate] = PassDelegateHandler()
|
|
67
68
|
handler_dict[CommandType.InvokeDelegate] = InvokeDelegateHandler()
|
|
69
|
+
handler_dict[CommandType.InvokeGlobalFunction] = InvokeGlobalFunctionHandler()
|
|
68
70
|
|
|
69
71
|
def handle_command(self, command):
|
|
70
72
|
try:
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import importlib
|
|
2
|
+
from javonet.core.handler.AbstractCommandHandler import AbstractCommandHandler
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
class InvokeGlobalFunctionHandler(AbstractCommandHandler):
|
|
6
|
+
def __init__(self):
|
|
7
|
+
self._required_parameters_count = 1
|
|
8
|
+
|
|
9
|
+
def process(self, command):
|
|
10
|
+
try:
|
|
11
|
+
if len(command.payload) < self._required_parameters_count:
|
|
12
|
+
raise Exception("InvokeGlobalFunction Parameters mismatch! "
|
|
13
|
+
"Expected at least a fully qualified function name (module.function).")
|
|
14
|
+
|
|
15
|
+
# The first payload parameter must be the fully qualified function name,
|
|
16
|
+
# e.g. "my_module.my_function".
|
|
17
|
+
full_function_name = command.payload[0]
|
|
18
|
+
if '.' not in full_function_name:
|
|
19
|
+
raise Exception("Invalid function name format. "
|
|
20
|
+
"Expected a fully qualified name like 'module_name.function_name'.")
|
|
21
|
+
|
|
22
|
+
module_name, function_name = full_function_name.rsplit('.', 1)
|
|
23
|
+
|
|
24
|
+
try:
|
|
25
|
+
module = importlib.import_module(module_name)
|
|
26
|
+
except ImportError as e:
|
|
27
|
+
raise ImportError(f"Could not import module '{module_name}'.") from e
|
|
28
|
+
|
|
29
|
+
try:
|
|
30
|
+
function = getattr(module, function_name)
|
|
31
|
+
except AttributeError as e:
|
|
32
|
+
available = [attr for attr in dir(module) if callable(getattr(module, attr))]
|
|
33
|
+
message = (f"Function '{function_name}' not found in module '{module_name}'. "
|
|
34
|
+
"Available functions:\n" + "\n".join(available))
|
|
35
|
+
raise AttributeError(message) from e
|
|
36
|
+
|
|
37
|
+
if not callable(function):
|
|
38
|
+
raise Exception(f"Attribute '{function_name}' in module '{module_name}' is not callable.")
|
|
39
|
+
|
|
40
|
+
function_args = command.payload[1:]
|
|
41
|
+
return function(*function_args)
|
|
42
|
+
|
|
43
|
+
except Exception as e:
|
|
44
|
+
exc_type, exc_value = type(e), e
|
|
45
|
+
new_exc = exc_type(exc_value).with_traceback(e.__traceback__)
|
|
46
|
+
raise new_exc from None
|
|
@@ -18,7 +18,7 @@ class CommandType(Enum):
|
|
|
18
18
|
GetInstanceField = 13
|
|
19
19
|
Optimize = 14
|
|
20
20
|
GenerateLib = 15
|
|
21
|
-
|
|
21
|
+
InvokeGlobalFunction = 16
|
|
22
22
|
DestructReference = 17
|
|
23
23
|
ArrayReference = 18
|
|
24
24
|
ArrayGetItem = 19
|
|
@@ -43,3 +43,4 @@ class CommandType(Enum):
|
|
|
43
43
|
GetInstanceMethodAsDelegate = 38
|
|
44
44
|
PassDelegate = 39
|
|
45
45
|
InvokeDelegate = 40
|
|
46
|
+
ConvertType = 41
|
|
@@ -22,6 +22,7 @@ require_relative '../../core/handler/array_set_item_handler'
|
|
|
22
22
|
require_relative '../../core/handler/array_handler'
|
|
23
23
|
require_relative '../../core/handler/enable_namespace_handler'
|
|
24
24
|
require_relative '../../core/handler/enable_type_handler'
|
|
25
|
+
require_relative '../../core/handler/invoke_global_function_handler'
|
|
25
26
|
require_relative '../../core/reference_cache/references_cache'
|
|
26
27
|
require_relative '../../utils/exceptions/exception_serializer'
|
|
27
28
|
|
|
@@ -50,6 +51,7 @@ class Handler < AbstractHandler
|
|
|
50
51
|
array_handler = ArrayHandler.new
|
|
51
52
|
enable_namespace_handler = EnableNamespaceHandler.new
|
|
52
53
|
enable_type_handler = EnableTypeHandler.new
|
|
54
|
+
invoke_global_function_handler = InvokeGlobalFunctionHandler.new
|
|
53
55
|
|
|
54
56
|
|
|
55
57
|
$handler_dict[CommandType::VALUE] = value_handler
|
|
@@ -72,6 +74,7 @@ class Handler < AbstractHandler
|
|
|
72
74
|
$handler_dict[CommandType::ARRAY] = array_handler
|
|
73
75
|
$handler_dict[CommandType::ENABLE_NAMESPACE] = enable_namespace_handler
|
|
74
76
|
$handler_dict[CommandType::ENABLE_TYPE] = enable_type_handler
|
|
77
|
+
$handler_dict[CommandType::INVOKE_GLOBAL_FUNCTION] = invoke_global_function_handler
|
|
75
78
|
end
|
|
76
79
|
|
|
77
80
|
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
require_relative 'abstract_command_handler'
|
|
2
|
+
|
|
3
|
+
class InvokeGlobalFunctionHandler < AbstractCommandHandler
|
|
4
|
+
def process(command)
|
|
5
|
+
invoke_function(command)
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def invoke_function(command)
|
|
9
|
+
begin
|
|
10
|
+
payload = command.payload
|
|
11
|
+
raise ArgumentError, "InvokeGlobalFunction requires at least one parameter" if payload.empty?
|
|
12
|
+
|
|
13
|
+
# Expect the first parameter to be a string in the form "ModuleName.function_name"
|
|
14
|
+
full_method_string = payload[0]
|
|
15
|
+
unless full_method_string.is_a?(String) && full_method_string.include?(".")
|
|
16
|
+
raise ArgumentError, "Expected a string in the format 'ModuleName.function_name'"
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
parts = full_method_string.split(".")
|
|
20
|
+
if parts.size < 2
|
|
21
|
+
raise ArgumentError, "Invalid function identifier format. Expected 'ModuleName.function_name'"
|
|
22
|
+
end
|
|
23
|
+
|
|
24
|
+
function_name = parts.pop
|
|
25
|
+
module_name = parts.join("::") # Convert dot-separated names to Ruby's "::" notation
|
|
26
|
+
|
|
27
|
+
begin
|
|
28
|
+
target = Object.const_get(module_name)
|
|
29
|
+
rescue NameError => e
|
|
30
|
+
raise NameError, "Module/Class #{module_name} not found: #{e.message}"
|
|
31
|
+
end
|
|
32
|
+
|
|
33
|
+
args = payload[1..-1] || []
|
|
34
|
+
|
|
35
|
+
if target.respond_to?(function_name)
|
|
36
|
+
target.send(function_name, *args)
|
|
37
|
+
else
|
|
38
|
+
available_methods = target.methods.join(', ')
|
|
39
|
+
raise NoMethodError, "Method #{function_name} not found in module #{module_name}. Available methods: #{available_methods}"
|
|
40
|
+
end
|
|
41
|
+
rescue Exception => e
|
|
42
|
+
e
|
|
43
|
+
end
|
|
44
|
+
end
|
|
45
|
+
end
|
|
@@ -6,7 +6,7 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
|
6
6
|
end
|
|
7
7
|
|
|
8
8
|
def process(command)
|
|
9
|
-
|
|
9
|
+
invoke_instance_method(command)
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
def invoke_instance_method(command)
|
|
@@ -14,15 +14,19 @@ class InvokeInstanceMethodHandler < AbstractCommandHandler
|
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
|
15
15
|
raise ArgumentError.new "InvokeInstanceMethod parameters mismatch"
|
|
16
16
|
end
|
|
17
|
+
|
|
18
|
+
instance = command.payload[0]
|
|
19
|
+
method_name = command.payload[1]
|
|
20
|
+
|
|
17
21
|
if command.payload.length > 2
|
|
18
22
|
arguments = command.payload[2..]
|
|
19
|
-
return
|
|
23
|
+
return instance.send(method_name, *arguments)
|
|
20
24
|
else
|
|
21
|
-
return
|
|
25
|
+
return instance.send(method_name)
|
|
22
26
|
end
|
|
23
27
|
rescue NoMethodError
|
|
24
|
-
methods =
|
|
25
|
-
message = "Method #{
|
|
28
|
+
methods = instance.methods
|
|
29
|
+
message = "Method #{method_name} not found in object of class #{instance.class.name}. Available methods:\n"
|
|
26
30
|
methods.each { |method_iter| message += "#{method_iter}\n" }
|
|
27
31
|
raise Exception, message
|
|
28
32
|
rescue Exception => e
|
|
@@ -14,14 +14,15 @@ class InvokeStaticMethodHandler < AbstractCommandHandler
|
|
|
14
14
|
if command.payload.length < @required_parameters_count
|
|
15
15
|
raise ArgumentError.new "Static method parameters mismatch"
|
|
16
16
|
end
|
|
17
|
-
|
|
17
|
+
|
|
18
|
+
type = command.payload[0]
|
|
18
19
|
method_name = command.payload[1]
|
|
19
20
|
begin
|
|
20
21
|
if command.payload.length > @required_parameters_count
|
|
21
22
|
args = command.payload[2..]
|
|
22
|
-
result =
|
|
23
|
+
result = type.send(method_name, *args)
|
|
23
24
|
else
|
|
24
|
-
result =
|
|
25
|
+
result = type.send(method_name)
|
|
25
26
|
end
|
|
26
27
|
return result
|
|
27
28
|
rescue NoMethodError
|
|
@@ -3,9 +3,9 @@ require_relative '../../utils/runtime_logger'
|
|
|
3
3
|
require_relative '../protocol/command_serializer'
|
|
4
4
|
|
|
5
5
|
class Receiver
|
|
6
|
-
|
|
6
|
+
|
|
7
7
|
def initialize
|
|
8
|
-
RuntimeLogger.print_runtime_info
|
|
8
|
+
puts RuntimeLogger.print_runtime_info
|
|
9
9
|
end
|
|
10
10
|
|
|
11
11
|
def send_command(message_array, message_array_len)
|
|
@@ -15,4 +15,8 @@ class Receiver
|
|
|
15
15
|
def heart_beat(message_array, message_array_len)
|
|
16
16
|
[49,48]
|
|
17
17
|
end
|
|
18
|
+
|
|
19
|
+
def get_runtime_info
|
|
20
|
+
RuntimeLogger.get_runtime_info(true)
|
|
21
|
+
end
|
|
18
22
|
end
|
|
@@ -15,7 +15,7 @@ class CommandType
|
|
|
15
15
|
GET_INSTANCE_FIELD = 13
|
|
16
16
|
OPTIMIZE = 14
|
|
17
17
|
GENERATE_LIB = 15
|
|
18
|
-
|
|
18
|
+
INVOKE_GLOBAL_FUNCTION = 16
|
|
19
19
|
DESTRUCT_REFERENCE = 17
|
|
20
20
|
ARRAY_REFERENCE = 18
|
|
21
21
|
ARRAY_GET_ITEM = 19
|
|
@@ -36,6 +36,11 @@ class CommandType
|
|
|
36
36
|
ENABLE_NAMESPACE = 34
|
|
37
37
|
ENABLE_TYPE = 35
|
|
38
38
|
CREATE_NULL = 36
|
|
39
|
+
GET_STATIC_METHOD_AS_DELEGATE = 37
|
|
40
|
+
GET_INSTANCE_METHOD_AS_DELEGATE = 38
|
|
41
|
+
PASS_DELEGATE = 39
|
|
42
|
+
INVOKE_DELEGATE = 40
|
|
43
|
+
CONVERT_TYPE = 41
|
|
39
44
|
|
|
40
45
|
def self.get_name(command_number)
|
|
41
46
|
case command_number
|
|
@@ -62,7 +67,7 @@ class CommandType
|
|
|
62
67
|
when 10
|
|
63
68
|
return 'EXCEPTION'
|
|
64
69
|
when 11
|
|
65
|
-
return '
|
|
70
|
+
return 'HEARTBEAT'
|
|
66
71
|
when 12
|
|
67
72
|
return 'CAST'
|
|
68
73
|
when 13
|
|
@@ -72,7 +77,7 @@ class CommandType
|
|
|
72
77
|
when 15
|
|
73
78
|
return 'GENERATE_LIB'
|
|
74
79
|
when 16
|
|
75
|
-
return '
|
|
80
|
+
return 'INVOKE_GLOBAL_FUNCTION'
|
|
76
81
|
when 17
|
|
77
82
|
return 'DESTRUCT_REFERENCE'
|
|
78
83
|
when 18
|
|
@@ -113,6 +118,16 @@ class CommandType
|
|
|
113
118
|
return 'ENABLE_TYPE'
|
|
114
119
|
when 36
|
|
115
120
|
return 'CREATE_NULL'
|
|
121
|
+
when 37
|
|
122
|
+
return 'GET_STATIC_METHOD_AS_DELEGATE'
|
|
123
|
+
when 38
|
|
124
|
+
return 'GET_INSTANCE_METHOD_AS_DELEGATE'
|
|
125
|
+
when 39
|
|
126
|
+
return 'PASS_DELEGATE'
|
|
127
|
+
when 40
|
|
128
|
+
return 'INVOKE_DELEGATE'
|
|
129
|
+
when 41
|
|
130
|
+
return 'CONVERT_TYPE'
|
|
116
131
|
else
|
|
117
132
|
raise 'Unknown command type'
|
|
118
133
|
end
|
|
@@ -22,6 +22,7 @@ require_relative '../../core/handler/array_set_item_handler'
|
|
|
22
22
|
require_relative '../../core/handler/array_handler'
|
|
23
23
|
require_relative '../../core/handler/enable_namespace_handler'
|
|
24
24
|
require_relative '../../core/handler/enable_type_handler'
|
|
25
|
+
require_relative '../../core/handler/invoke_global_function_handler'
|
|
25
26
|
require_relative '../../core/reference_cache/references_cache'
|
|
26
27
|
require_relative '../../utils/exceptions/exception_serializer'
|
|
27
28
|
|
|
@@ -50,6 +51,7 @@ class Handler < AbstractHandler
|
|
|
50
51
|
array_handler = ArrayHandler.new
|
|
51
52
|
enable_namespace_handler = EnableNamespaceHandler.new
|
|
52
53
|
enable_type_handler = EnableTypeHandler.new
|
|
54
|
+
invoke_global_function_handler = InvokeGlobalFunctionHandler.new
|
|
53
55
|
|
|
54
56
|
|
|
55
57
|
$handler_dict[CommandType::VALUE] = value_handler
|
|
@@ -72,6 +74,7 @@ class Handler < AbstractHandler
|
|
|
72
74
|
$handler_dict[CommandType::ARRAY] = array_handler
|
|
73
75
|
$handler_dict[CommandType::ENABLE_NAMESPACE] = enable_namespace_handler
|
|
74
76
|
$handler_dict[CommandType::ENABLE_TYPE] = enable_type_handler
|
|
77
|
+
$handler_dict[CommandType::INVOKE_GLOBAL_FUNCTION] = invoke_global_function_handler
|
|
75
78
|
end
|
|
76
79
|
|
|
77
80
|
|