javonet-nodejs-sdk 2.5.10 → 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/libJavonetCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
- package/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.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/libJavonetCppRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
- package/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.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/libJavonetTcpTlsClient.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/libJavonetCppRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
- package/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.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/Transmitter.js +4 -4
- package/Binaries/Nodejs/lib/core/transmitter/TransmitterWrapper.js +27 -14
- package/Binaries/Nodejs/lib/sdk/ConfigRuntimeFactory.js +1 -1
- package/Binaries/Nodejs/lib/sdk/InvocationContext.js +7 -17
- package/Binaries/Nodejs/lib/sdk/Javonet.js +17 -1
- 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 +11 -0
- package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load-dump +11 -0
- 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 +76 -0
- 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 +23 -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 +13 -9
- 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 +10 -1
- 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 +39 -5
- 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.0 → YAML-PP-v0.39.0}/MYMETA.json +39 -35
- 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/auto/YAML/PP/.packlist +2 -0
- package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +91 -91
- 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/Core/Transmitter/PerlTransmitter.pm +6 -1
- package/Binaries/Perl/Linux/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +15 -0
- package/Binaries/Perl/Linux/X64/lib/Javonet/Javonet.pm +22 -4
- 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 +11 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump +11 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +11 -0
- package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +11 -0
- 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.0 → YAML-PP-v0.39.0}/MYMETA.json +39 -35
- 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/YAML/PP/.packlist +1 -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 +24 -24
- 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 +76 -0
- 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 +23 -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 +13 -9
- 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 +10 -1
- 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 +39 -5
- 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/Core/Transmitter/PerlTransmitter.pm +6 -1
- package/Binaries/Perl/Windows/X64/lib/Javonet/Core/Transmitter/PerlTransmitterWrapper.pm +15 -0
- package/Binaries/Perl/Windows/X64/lib/Javonet/Javonet.pm +22 -4
- 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/core/transmitter/Transmitter.py +5 -1
- package/Binaries/Python/javonet/core/transmitter/TransmitterWrapper.py +20 -1
- 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/core/transmitter/transmitter.rb +10 -0
- package/Binaries/Ruby/Linux/X64/core/transmitter/transmitter_wrapper.rb +1 -0
- 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/core/transmitter/transmitter.rb +10 -0
- package/Binaries/Ruby/MacOs/X64/core/transmitter/transmitter_wrapper.rb +1 -0
- 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/core/transmitter/transmitter.rb +10 -0
- package/Binaries/Ruby/Windows/X64/core/transmitter/transmitter_wrapper.rb +1 -0
- package/Binaries/Ruby/Windows/X64/utils/command_type.rb +18 -3
- package/Binaries/version.txt +1 -1
- package/addon/JavonetNodejsRuntimeAddon.cpp +114 -16
- package/addon/JavonetNodejsRuntimeAddon.h +12 -2
- package/dist/Javonet.d.ts +119 -688
- 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/Transmitter.js +4 -4
- package/dist/lib/core/transmitter/TransmitterWrapper.js +27 -14
- package/dist/lib/sdk/ConfigRuntimeFactory.js +1 -1
- package/dist/lib/sdk/InvocationContext.js +7 -17
- package/dist/lib/sdk/Javonet.js +17 -1
- 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/Transmitter.js +4 -4
- package/lib/core/transmitter/TransmitterWrapper.js +27 -14
- package/lib/sdk/ConfigRuntimeFactory.js +1 -1
- package/lib/sdk/Javonet.js +17 -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.0/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.0/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
|
@@ -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);
|
|
@@ -2,7 +2,7 @@ package Javonet::Core::Transmitter::PerlTransmitter;
|
|
|
2
2
|
use strict;
|
|
3
3
|
use warnings;
|
|
4
4
|
use Cwd;
|
|
5
|
-
use aliased 'Javonet::Core::Transmitter::PerlTransmitterWrapper' => 'PerlTransmitterWrapper' , qw(send_command activate);
|
|
5
|
+
use aliased 'Javonet::Core::Transmitter::PerlTransmitterWrapper' => 'PerlTransmitterWrapper' , qw(send_command activate set_config_source set_javonet_working_directory);
|
|
6
6
|
|
|
7
7
|
sub send_command {
|
|
8
8
|
my ($self, $message_byte_array_ref) = @_;
|
|
@@ -20,4 +20,9 @@ sub set_config_source {
|
|
|
20
20
|
PerlTransmitterWrapper->set_config_source($config_path);
|
|
21
21
|
}
|
|
22
22
|
|
|
23
|
+
sub set_javonet_working_directory {
|
|
24
|
+
my ($self, $working_directory) = @_;
|
|
25
|
+
PerlTransmitterWrapper->set_javonet_working_directory($working_directory);
|
|
26
|
+
}
|
|
27
|
+
|
|
23
28
|
1;
|
|
@@ -15,6 +15,7 @@ my $read_response_native;
|
|
|
15
15
|
my $activate_native;
|
|
16
16
|
my $get_native_error_native;
|
|
17
17
|
my $set_config_source_native;
|
|
18
|
+
my $set_working_directory_native;
|
|
18
19
|
|
|
19
20
|
sub initialize {
|
|
20
21
|
my $osname = $^O;
|
|
@@ -53,6 +54,7 @@ sub initialize {
|
|
|
53
54
|
$activate_native = $ffi->function('Activate' => ['string'] => 'int');
|
|
54
55
|
$get_native_error_native = $ffi->function('GetNativeError' => [] => 'string');
|
|
55
56
|
$set_config_source_native = $ffi->function('SetConfigSource' => ['string'] => 'int');
|
|
57
|
+
$set_working_directory_native = $ffi->function('SetWorkingDirectory' => ['string'] => 'int');
|
|
56
58
|
}
|
|
57
59
|
}
|
|
58
60
|
|
|
@@ -102,4 +104,17 @@ sub set_config_source {
|
|
|
102
104
|
}
|
|
103
105
|
}
|
|
104
106
|
|
|
107
|
+
sub set_javonet_working_directory {
|
|
108
|
+
my ($self, $working_directory) = @_;
|
|
109
|
+
initialize();
|
|
110
|
+
my $set_working_directory_result = $set_working_directory_native->($working_directory);
|
|
111
|
+
if ($set_working_directory_result < 0) {
|
|
112
|
+
my $error_message = $get_native_error_native->();
|
|
113
|
+
die "Javonet set working directory result: $set_working_directory_result. Native error message: $error_message";
|
|
114
|
+
}
|
|
115
|
+
else {
|
|
116
|
+
return $set_working_directory_result;
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
|
|
105
120
|
1;
|
|
@@ -6,12 +6,12 @@ use lib 'lib';
|
|
|
6
6
|
use Try::Tiny;
|
|
7
7
|
use threads;
|
|
8
8
|
use aliased 'Javonet::Sdk::Internal::RuntimeFactory' => 'RuntimeFactory';
|
|
9
|
-
use aliased 'Javonet::Core::Transmitter::PerlTransmitter' => 'Transmitter', qw(
|
|
9
|
+
use aliased 'Javonet::Core::Transmitter::PerlTransmitter' => 'Transmitter', qw(activate send_command set_config_source set_javonet_working_directory);
|
|
10
10
|
use aliased 'Javonet::Core::Exception::SdkExceptionHelper' => 'SdkExceptionHelper';
|
|
11
11
|
use aliased 'Javonet::Sdk::Core::RuntimeLogger' => 'RuntimeLogger', qw(get_runtime_info);
|
|
12
12
|
|
|
13
13
|
BEGIN {
|
|
14
|
-
SdkExceptionHelper->send_exception_to_app_insights("SdkMessage","Javonet Sdk initialized");
|
|
14
|
+
SdkExceptionHelper->send_exception_to_app_insights("SdkMessage", "Javonet Sdk initialized");
|
|
15
15
|
}
|
|
16
16
|
|
|
17
17
|
sub activate {
|
|
@@ -40,7 +40,7 @@ sub with_config {
|
|
|
40
40
|
Transmitter->set_config_source($config_path);
|
|
41
41
|
return RuntimeFactory->new(Javonet::Sdk::Internal::ConnectionType::get_connection_type('WithConfig'), undef, $config_path);
|
|
42
42
|
} catch {
|
|
43
|
-
SdkExceptionHelper->send_exception_to_app_insights($_
|
|
43
|
+
SdkExceptionHelper->send_exception_to_app_insights("SdkException", $_);
|
|
44
44
|
die $_;
|
|
45
45
|
};
|
|
46
46
|
}
|
|
@@ -54,9 +54,27 @@ sub set_config_source {
|
|
|
54
54
|
try {
|
|
55
55
|
Transmitter->set_config_source($config_path);
|
|
56
56
|
} catch {
|
|
57
|
-
SdkExceptionHelper->send_exception_to_app_insights($_
|
|
57
|
+
SdkExceptionHelper->send_exception_to_app_insights("SdkException", $_);
|
|
58
58
|
die $_;
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
|
|
62
|
+
# Sets the working directory for the Javonet SDK.
|
|
63
|
+
# @param $path [String] The working directory path.
|
|
64
|
+
sub set_javonet_working_directory {
|
|
65
|
+
my ($self, $path) = @_;
|
|
66
|
+
try {
|
|
67
|
+
$path =~ s{\\}{/}g;
|
|
68
|
+
$path .= '/' unless $path =~ m{/$};
|
|
69
|
+
mkdir $path, 0700 unless -d $path;
|
|
70
|
+
#ActivationHelper->working_directory($path);
|
|
71
|
+
Transmitter->set_javonet_working_directory($path);
|
|
72
|
+
} catch {
|
|
73
|
+
SdkExceptionHelper->send_exception_to_app_insights("SdkException", $_);
|
|
74
|
+
die $_;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
|
|
79
|
+
|
|
62
80
|
1;
|
|
@@ -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}};
|
|
@@ -13,7 +13,10 @@ GetOptions(
|
|
|
13
13
|
'help|h' => \my $help,
|
|
14
14
|
'boolean=s' => \my $boolean,
|
|
15
15
|
'cyclic' => \my $cyclic,
|
|
16
|
+
'duplicate-keys' => \my $duplicate_keys,
|
|
16
17
|
'merge' => \my $merge,
|
|
18
|
+
#'catchall' => \my $catchall,
|
|
19
|
+
'require-footer' => \my $require_footer,
|
|
17
20
|
'perl' => \my $perl,
|
|
18
21
|
'module|M=s' => \my $module,
|
|
19
22
|
'yaml-version=s' => \my $yaml_version,
|
|
@@ -32,6 +35,9 @@ if ($merge) {
|
|
|
32
35
|
if ($perl) {
|
|
33
36
|
push @schema, 'Perl';
|
|
34
37
|
}
|
|
38
|
+
#if ($catchall) {
|
|
39
|
+
# push @schema, 'Catchall';
|
|
40
|
+
#}
|
|
35
41
|
|
|
36
42
|
my ($file) = @ARGV;
|
|
37
43
|
my $yaml;
|
|
@@ -70,8 +76,10 @@ sub _yamlpp {
|
|
|
70
76
|
schema => \@schema,
|
|
71
77
|
boolean => $boolean,
|
|
72
78
|
cyclic_refs => $cyclic ? 'allow' : 'fatal',
|
|
79
|
+
duplicate_keys => $duplicate_keys ? 1 : 0,
|
|
73
80
|
preserve => PRESERVE_ORDER,
|
|
74
81
|
yaml_version => \@yaml_versions,
|
|
82
|
+
require_footer => $require_footer,
|
|
75
83
|
);
|
|
76
84
|
my @docs = $ypp->load_string($yaml);
|
|
77
85
|
return @docs;
|
|
@@ -133,12 +141,15 @@ Usage:
|
|
|
133
141
|
Options:
|
|
134
142
|
--boolean= 'perl', 'JSON::PP', 'boolean'
|
|
135
143
|
--cyclic Allow cyclic references
|
|
144
|
+
--duplicate-keys Allow duplicate keys
|
|
136
145
|
--merge Enable loading merge keys '<<'
|
|
146
|
+
--require-footer Require '...' and the end of each document
|
|
137
147
|
--perl Enable loading perl types and objects (use only
|
|
138
148
|
on trusted input!)
|
|
139
149
|
--module -M YAML::PP (default), YAML, YAML::PP::LibYAML,
|
|
140
150
|
YAML::Syck, YAML::Tiny, YAML::XS, YAML::PP::Ref
|
|
141
151
|
--yaml-version= '1.2' (default), '1.1', '1.2,1.1', '1.1,1.2'
|
|
142
152
|
EOM
|
|
153
|
+
#--catchall Ignore any unknown tags
|
|
143
154
|
exit $rc;
|
|
144
155
|
}
|
|
@@ -15,11 +15,14 @@ GetOptions(
|
|
|
15
15
|
'help|h' => \my $help,
|
|
16
16
|
'boolean=s' => \my $boolean,
|
|
17
17
|
'cyclic' => \my $cyclic,
|
|
18
|
+
'duplicate-keys' => \my $duplicate_keys,
|
|
18
19
|
'indent=i' => \my $indent,
|
|
19
20
|
'width=i' => \my $width,
|
|
20
21
|
'header!' => \my $header,
|
|
21
22
|
'footer!' => \my $footer,
|
|
22
23
|
'merge' => \my $merge,
|
|
24
|
+
#'catchall' => \my $catchall,
|
|
25
|
+
'require-footer' => \my $require_footer,
|
|
23
26
|
'perl' => \my $perl,
|
|
24
27
|
'preserve|P=s' => \my $preserve,
|
|
25
28
|
'module|M=s' => \my $module,
|
|
@@ -49,6 +52,9 @@ if ($merge) {
|
|
|
49
52
|
if ($perl) {
|
|
50
53
|
push @schema, 'Perl';
|
|
51
54
|
}
|
|
55
|
+
#if ($catchall) {
|
|
56
|
+
# push @schema, 'Catchall';
|
|
57
|
+
#}
|
|
52
58
|
|
|
53
59
|
my $preserve_order = 1;
|
|
54
60
|
if (defined $preserve) {
|
|
@@ -131,6 +137,7 @@ sub _yamlpp {
|
|
|
131
137
|
schema => \@schema,
|
|
132
138
|
boolean => $boolean,
|
|
133
139
|
cyclic_refs => $cyclic ? 'allow' : 'fatal',
|
|
140
|
+
duplicate_keys => $duplicate_keys ? 1 : 0,
|
|
134
141
|
preserve => $preserve,
|
|
135
142
|
indent => $indent,
|
|
136
143
|
width => $width,
|
|
@@ -138,6 +145,7 @@ sub _yamlpp {
|
|
|
138
145
|
footer => $footer ? 1 : 0,
|
|
139
146
|
yaml_version => \@yaml_versions,
|
|
140
147
|
version_directive => $version_directive || 0,
|
|
148
|
+
require_footer => $require_footer,
|
|
141
149
|
);
|
|
142
150
|
if ($inc) {
|
|
143
151
|
$inc->yp($ypp);
|
|
@@ -279,11 +287,13 @@ Usage:
|
|
|
279
287
|
Options:
|
|
280
288
|
--boolean= 'perl', 'JSON::PP', 'boolean'
|
|
281
289
|
--cyclic Allow cyclic references
|
|
290
|
+
--duplicate-keys Allow duplicate keys
|
|
282
291
|
--indent= Number of spaces for indentation
|
|
283
292
|
--width= Maximum column width (only used in flow style for now)
|
|
284
293
|
--[no-]header Print '---' (default)
|
|
285
294
|
--[no-]footer Print '...'
|
|
286
295
|
--merge Enable loading merge keys '<<'
|
|
296
|
+
--require-footer Require '...' and the end of each document
|
|
287
297
|
--perl Enable loading perl types and objects (use only
|
|
288
298
|
on trusted input!)
|
|
289
299
|
--preserve, -P Comma separated: 'order', 'scalar', 'flow', 'alias'.
|
|
@@ -299,5 +309,6 @@ Options:
|
|
|
299
309
|
--include-absolute Allow absolute paths and ../../../ in includes (use
|
|
300
310
|
only on trusted input!)
|
|
301
311
|
EOM
|
|
312
|
+
# --catchall Ignore any unknown tags
|
|
302
313
|
exit $rc;
|
|
303
314
|
}
|
|
@@ -29,11 +29,14 @@ GetOptions(
|
|
|
29
29
|
'help|h' => \my $help,
|
|
30
30
|
'boolean=s' => \my $boolean,
|
|
31
31
|
'cyclic' => \my $cyclic,
|
|
32
|
+
'duplicate-keys' => \my $duplicate_keys,
|
|
32
33
|
'indent=i' => \my $indent,
|
|
33
34
|
'width=i' => \my $width,
|
|
34
35
|
'header!' => \my $header,
|
|
35
36
|
'footer!' => \my $footer,
|
|
36
37
|
'merge' => \my $merge,
|
|
38
|
+
#'catchall' => \my $catchall,
|
|
39
|
+
'require-footer' => \my $require_footer,
|
|
37
40
|
'perl' => \my $perl,
|
|
38
41
|
'preserve|P=s' => \my $preserve,
|
|
39
42
|
'module|M=s' => \my $module,
|
|
@@ -63,6 +66,9 @@ if ($merge) {
|
|
|
63
66
|
if ($perl) {
|
|
64
67
|
push @schema, 'Perl';
|
|
65
68
|
}
|
|
69
|
+
#if ($catchall) {
|
|
70
|
+
# push @schema, 'Catchall';
|
|
71
|
+
#}
|
|
66
72
|
|
|
67
73
|
my $preserve_order = 1;
|
|
68
74
|
if (defined $preserve) {
|
|
@@ -145,6 +151,7 @@ sub _yamlpp {
|
|
|
145
151
|
schema => \@schema,
|
|
146
152
|
boolean => $boolean,
|
|
147
153
|
cyclic_refs => $cyclic ? 'allow' : 'fatal',
|
|
154
|
+
duplicate_keys => $duplicate_keys ? 1 : 0,
|
|
148
155
|
preserve => $preserve,
|
|
149
156
|
indent => $indent,
|
|
150
157
|
width => $width,
|
|
@@ -152,6 +159,7 @@ sub _yamlpp {
|
|
|
152
159
|
footer => $footer ? 1 : 0,
|
|
153
160
|
yaml_version => \@yaml_versions,
|
|
154
161
|
version_directive => $version_directive || 0,
|
|
162
|
+
require_footer => $require_footer,
|
|
155
163
|
);
|
|
156
164
|
if ($inc) {
|
|
157
165
|
$inc->yp($ypp);
|
|
@@ -293,11 +301,13 @@ Usage:
|
|
|
293
301
|
Options:
|
|
294
302
|
--boolean= 'perl', 'JSON::PP', 'boolean'
|
|
295
303
|
--cyclic Allow cyclic references
|
|
304
|
+
--duplicate-keys Allow duplicate keys
|
|
296
305
|
--indent= Number of spaces for indentation
|
|
297
306
|
--width= Maximum column width (only used in flow style for now)
|
|
298
307
|
--[no-]header Print '---' (default)
|
|
299
308
|
--[no-]footer Print '...'
|
|
300
309
|
--merge Enable loading merge keys '<<'
|
|
310
|
+
--require-footer Require '...' and the end of each document
|
|
301
311
|
--perl Enable loading perl types and objects (use only
|
|
302
312
|
on trusted input!)
|
|
303
313
|
--preserve, -P Comma separated: 'order', 'scalar', 'flow', 'alias'.
|
|
@@ -313,6 +323,7 @@ Options:
|
|
|
313
323
|
--include-absolute Allow absolute paths and ../../../ in includes (use
|
|
314
324
|
only on trusted input!)
|
|
315
325
|
EOM
|
|
326
|
+
# --catchall Ignore any unknown tags
|
|
316
327
|
exit $rc;
|
|
317
328
|
}
|
|
318
329
|
__END__
|
|
@@ -27,7 +27,10 @@ GetOptions(
|
|
|
27
27
|
'help|h' => \my $help,
|
|
28
28
|
'boolean=s' => \my $boolean,
|
|
29
29
|
'cyclic' => \my $cyclic,
|
|
30
|
+
'duplicate-keys' => \my $duplicate_keys,
|
|
30
31
|
'merge' => \my $merge,
|
|
32
|
+
#'catchall' => \my $catchall,
|
|
33
|
+
'require-footer' => \my $require_footer,
|
|
31
34
|
'perl' => \my $perl,
|
|
32
35
|
'module|M=s' => \my $module,
|
|
33
36
|
'yaml-version=s' => \my $yaml_version,
|
|
@@ -46,6 +49,9 @@ if ($merge) {
|
|
|
46
49
|
if ($perl) {
|
|
47
50
|
push @schema, 'Perl';
|
|
48
51
|
}
|
|
52
|
+
#if ($catchall) {
|
|
53
|
+
# push @schema, 'Catchall';
|
|
54
|
+
#}
|
|
49
55
|
|
|
50
56
|
my ($file) = @ARGV;
|
|
51
57
|
my $yaml;
|
|
@@ -84,8 +90,10 @@ sub _yamlpp {
|
|
|
84
90
|
schema => \@schema,
|
|
85
91
|
boolean => $boolean,
|
|
86
92
|
cyclic_refs => $cyclic ? 'allow' : 'fatal',
|
|
93
|
+
duplicate_keys => $duplicate_keys ? 1 : 0,
|
|
87
94
|
preserve => PRESERVE_ORDER,
|
|
88
95
|
yaml_version => \@yaml_versions,
|
|
96
|
+
require_footer => $require_footer,
|
|
89
97
|
);
|
|
90
98
|
my @docs = $ypp->load_string($yaml);
|
|
91
99
|
return @docs;
|
|
@@ -147,13 +155,16 @@ Usage:
|
|
|
147
155
|
Options:
|
|
148
156
|
--boolean= 'perl', 'JSON::PP', 'boolean'
|
|
149
157
|
--cyclic Allow cyclic references
|
|
158
|
+
--duplicate-keys Allow duplicate keys
|
|
150
159
|
--merge Enable loading merge keys '<<'
|
|
160
|
+
--require-footer Require '...' and the end of each document
|
|
151
161
|
--perl Enable loading perl types and objects (use only
|
|
152
162
|
on trusted input!)
|
|
153
163
|
--module -M YAML::PP (default), YAML, YAML::PP::LibYAML,
|
|
154
164
|
YAML::Syck, YAML::Tiny, YAML::XS, YAML::PP::Ref
|
|
155
165
|
--yaml-version= '1.2' (default), '1.1', '1.2,1.1', '1.1,1.2'
|
|
156
166
|
EOM
|
|
167
|
+
#--catchall Ignore any unknown tags
|
|
157
168
|
exit $rc;
|
|
158
169
|
}
|
|
159
170
|
__END__
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"provides":{"Attribute::Memoize":{"version":"1.02","file":"lib/Attribute/Memoize.pm"},"Attribute::Alias":{"version":"1.02","file":"lib/Attribute/Alias.pm"},"Attribute::Abstract":{"file":"lib/Attribute/Abstract.pm","version":"1.02"},"Attribute::Method":{"version":"1.04","file":"lib/Attribute/Method.pm"},"Attribute::SigHandler":{"file":"lib/Attribute/SigHandler.pm","version":"1.02"},"Attribute::Util":{"version":"1.07","file":"lib/Attribute/Util.pm"}},"pathname":"D/DA/DANKOGAI/Attribute-Util-1.07.tar.gz","version":"1.07","name":"Attribute::Util","dist":"Attribute-Util-1.07","target":"Attribute::Abstract"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"dist":"Data-Cmp-0.010","name":"Data::Cmp","version":"0.010","provides":{"Data::Cmp
|
|
1
|
+
{"target":"Data::Cmp","dist":"Data-Cmp-0.010","name":"Data::Cmp","pathname":"P/PE/PERLANCAR/Data-Cmp-0.010.tar.gz","version":"0.010","provides":{"Data::Cmp":{"version":"0.010","file":"lib/Data/Cmp.pm"},"Data::Cmp::StrOrNumeric":{"version":"0.010","file":"lib/Data/Cmp/StrOrNumeric.pm"},"Data::Cmp::Numeric":{"version":"0.010","file":"lib/Data/Cmp/Numeric.pm"}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"provides":{"Data::UUID":{"file":"UUID.pm","version":"1.227"}},"pathname":"G/GT/GTERMARS/Data-UUID-1.227.tar.gz","version":"1.227","name":"Data::UUID","dist":"Data-UUID-1.227","target":"Data::UUID"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"provides":{"Nice::Try":{"version":"1.003015","file":"lib/Nice/Try.pm"}},"version":"1.003015","
|
|
1
|
+
{"name":"Nice::Try","dist":"Nice-Try-v1.3.15","target":"Nice::Try","provides":{"Nice::Try":{"version":"1.003015","file":"lib/Nice/Try.pm"}},"version":"1.003015","pathname":"J/JD/JDEGUEST/Nice-Try-v1.3.15.tar.gz"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"version":"1.281","pathname":"M/MI/MITHALDU/PPI-1.281.tar.gz","provides":{"PPI::Document::File":{"version":"1.281","file":"lib/PPI/Document/File.pm"},"PPI::Token::Prototype":{"file":"lib/PPI/Token/Prototype.pm","version":"1.281"},"PPI::Statement::Sub":{"file":"lib/PPI/Statement/Sub.pm","version":"1.281"},"PPI::Find":{"file":"lib/PPI/Find.pm","version":"1.281"},"PPI::Statement::Null":{"file":"lib/PPI/Statement/Null.pm","version":"1.281"},"PPI::Structure::Given":{"version":"1.281","file":"lib/PPI/Structure/Given.pm"},"PPI::Statement::Expression":{"file":"lib/PPI/Statement/Expression.pm","version":"1.281"},"PPI::Token::Attribute":{"file":"lib/PPI/Token/Attribute.pm","version":"1.281"},"PPI::Util":{"file":"lib/PPI/Util.pm","version":"1.281"},"PPI::Document":{"version":"1.281","file":"lib/PPI/Document.pm"},"PPI::Token::Number":{"file":"lib/PPI/Token/Number.pm","version":"1.281"},"PPI::Token::Data":{"version":"1.281","file":"lib/PPI/Token/Data.pm"},"PPI::Token::ArrayIndex":{"version":"1.281","file":"lib/PPI/Token/ArrayIndex.pm"},"PPI::Token::Label":{"version":"1.281","file":"lib/PPI/Token/Label.pm"},"PPI::Token::BOM":{"file":"lib/PPI/Token/BOM.pm","version":"1.281"},"PPI::Token::QuoteLike::Regexp":{"file":"lib/PPI/Token/QuoteLike/Regexp.pm","version":"1.281"},"PPI::Token::Separator":{"version":"1.281","file":"lib/PPI/Token/Separator.pm"},"PPI::Structure::List":{"version":"1.281","file":"lib/PPI/Structure/List.pm"},"PPI::Normal::Standard":{"version":"1.281","file":"lib/PPI/Normal/Standard.pm"},"PPI::Token::QuoteLike::Command":{"version":"1.281","file":"lib/PPI/Token/QuoteLike/Command.pm"},"PPI::Structure::Unknown":{"file":"lib/PPI/Structure/Unknown.pm","version":"1.281"},"PPI::Token::Unknown":{"file":"lib/PPI/Token/Unknown.pm","version":"1.281"},"PPI::Statement::Compound":{"version":"1.281","file":"lib/PPI/Statement/Compound.pm"},"PPI::Token::Comment":{"file":"lib/PPI/Token/Comment.pm","version":"1.281"},"PPI::Transform":{"file":"lib/PPI/Transform.pm","version":"1.281"},"PPI::Structure::Constructor":{"version":"1.281","file":"lib/PPI/Structure/Constructor.pm"},"PPI::Token::Regexp::Match":{"version":"1.281","file":"lib/PPI/Token/Regexp/Match.pm"},"PPI::Statement::Include::Perl6":{"file":"lib/PPI/Statement/Include/Perl6.pm","version":"1.281"},"PPI::Token::QuoteLike::Words":{"file":"lib/PPI/Token/QuoteLike/Words.pm","version":"1.281"},"PPI::Token::QuoteLike::Backtick":{"version":"1.281","file":"lib/PPI/Token/QuoteLike/Backtick.pm"},"PPI::Structure::Subscript":{"file":"lib/PPI/Structure/Subscript.pm","version":"1.281"},"PPI::Exception":{"file":"lib/PPI/Exception.pm","version":"1.281"},"PPI::Statement::Break":{"file":"lib/PPI/Statement/Break.pm","version":"1.281"},"PPI::Statement::When":{"version":"1.281","file":"lib/PPI/Statement/When.pm"},"PPI::Element":{"version":"1.281","file":"lib/PPI/Element.pm"},"PPI::Lexer":{"file":"lib/PPI/Lexer.pm","version":"1.281"},"PPI::Token::Regexp":{"version":"1.281","file":"lib/PPI/Token/Regexp.pm"},"PPI::Token::Operator":{"version":"1.281","file":"lib/PPI/Token/Operator.pm"},"PPI":{"file":"lib/PPI.pm","version":"1.281"},"PPI::Node":{"file":"lib/PPI/Node.pm","version":"1.281"},"PPI::Structure":{"file":"lib/PPI/Structure.pm","version":"1.281"},"PPI::Structure::Block":{"file":"lib/PPI/Structure/Block.pm","version":"1.281"},"PPI::Token::Symbol":{"file":"lib/PPI/Token/Symbol.pm","version":"1.281"},"PPI::Statement::UnmatchedBrace":{"file":"lib/PPI/Statement/UnmatchedBrace.pm","version":"1.281"},"PPI::Exception::ParserRejection":{"file":"lib/PPI/Exception/ParserRejection.pm","version":"1.281"},"PPI::Token::Structure":{"file":"lib/PPI/Token/Structure.pm","version":"1.281"},"PPI::Statement::Given":{"file":"lib/PPI/Statement/Given.pm","version":"1.281"},"PPI::Token::Number::Exp":{"file":"lib/PPI/Token/Number/Exp.pm","version":"1.281"},"PPI::Token::Regexp::Substitute":{"version":"1.281","file":"lib/PPI/Token/Regexp/Substitute.pm"},"PPI::Document::Fragment":{"version":"1.281","file":"lib/PPI/Document/Fragment.pm"},"PPI::Token::Number::Version":{"version":"1.281","file":"lib/PPI/Token/Number/Version.pm"},"PPI::Token::QuoteLike":{"file":"lib/PPI/Token/QuoteLike.pm","version":"1.281"},"PPI::Token::Pod":{"version":"1.281","file":"lib/PPI/Token/Pod.pm"},"PPI::Token::Whitespace":{"version":"1.281","file":"lib/PPI/Token/Whitespace.pm"},"PPI::Document::Normalized":{"version":"1.281","file":"lib/PPI/Document/Normalized.pm"},"PPI::Token::Number::Octal":{"file":"lib/PPI/Token/Number/Octal.pm","version":"1.281"},"PPI::Token::Quote::Interpolate":{"version":"1.281","file":"lib/PPI/Token/Quote/Interpolate.pm"},"PPI::Statement::Unknown":{"version":"1.281","file":"lib/PPI/Statement/Unknown.pm"},"PPI::Token":{"file":"lib/PPI/Token.pm","version":"1.281"},"PPI::Statement::Package":{"file":"lib/PPI/Statement/Package.pm","version":"1.281"},"PPI::Cache":{"file":"lib/PPI/Cache.pm","version":"1.281"},"PPI::Token::Quote":{"file":"lib/PPI/Token/Quote.pm","version":"1.281"},"PPI::Token::DashedWord":{"version":"1.281","file":"lib/PPI/Token/DashedWord.pm"},"PPI::Statement::Scheduled":{"version":"1.281","file":"lib/PPI/Statement/Scheduled.pm"},"PPI::Singletons":{"version":"1.281","file":"lib/PPI/Singletons.pm"},"PPI::Transform::UpdateCopyright":{"file":"lib/PPI/Transform/UpdateCopyright.pm","version":"1.281"},"PPI::Structure::For":{"file":"lib/PPI/Structure/For.pm","version":"1.281"},"PPI::Structure::Condition":{"version":"1.281","file":"lib/PPI/Structure/Condition.pm"},"PPI::Statement::Data":{"version":"1.281","file":"lib/PPI/Statement/Data.pm"},"PPI::Token::Number::Float":{"file":"lib/PPI/Token/Number/Float.pm","version":"1.281"},"PPI::Normal":{"version":"1.281","file":"lib/PPI/Normal.pm"},"PPI::Token::QuoteLike::Readline":{"version":"1.281","file":"lib/PPI/Token/QuoteLike/Readline.pm"},"PPI::Token::Quote::Literal":{"version":"1.281","file":"lib/PPI/Token/Quote/Literal.pm"},"PPI::Statement::Include":{"version":"1.281","file":"lib/PPI/Statement/Include.pm"},"PPI::Tokenizer":{"file":"lib/PPI/Tokenizer.pm","version":"1.281"},"PPI::Token::Quote::Double":{"file":"lib/PPI/Token/Quote/Double.pm","version":"1.281"},"PPI::Dumper":{"version":"1.281","file":"lib/PPI/Dumper.pm"},"PPI::Token::HereDoc":{"version":"1.281","file":"lib/PPI/Token/HereDoc.pm"},"PPI::Structure::Signature":{"version":"1.281","file":"lib/PPI/Structure/Signature.pm"},"PPI::XSAccessor":{"file":"lib/PPI/XSAccessor.pm","version":"1.281"},"PPI::Structure::When":{"version":"1.281","file":"lib/PPI/Structure/When.pm"},"PPI::Statement::Variable":{"file":"lib/PPI/Statement/Variable.pm","version":"1.281"},"PPI::Token::Regexp::Transliterate":{"file":"lib/PPI/Token/Regexp/Transliterate.pm","version":"1.281"},"PPI::Token::Cast":{"file":"lib/PPI/Token/Cast.pm","version":"1.281"},"PPI::Token::End":{"file":"lib/PPI/Token/End.pm","version":"1.281"},"PPI::Token::Quote::Single":{"version":"1.281","file":"lib/PPI/Token/Quote/Single.pm"},"PPI::Token::Word":{"version":"1.281","file":"lib/PPI/Token/Word.pm"},"PPI::Token::Number::Hex":{"version":"1.281","file":"lib/PPI/Token/Number/Hex.pm"},"PPI::Statement::End":{"file":"lib/PPI/Statement/End.pm","version":"1.281"},"PPI::Statement":{"version":"1.281","file":"lib/PPI/Statement.pm"},"PPI::Token::Magic":{"file":"lib/PPI/Token/Magic.pm","version":"1.281"},"PPI::Token::Number::Binary":{"version":"1.281","file":"lib/PPI/Token/Number/Binary.pm"}},"target":"PPI","dist":"PPI-1.281","name":"PPI"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"dist":"PPI-XS-0.910","name":"PPI::XS","target":"PPI::XS","provides":{"PPI::XS":{"version":"0.910","file":"lib/PPI/XS.pm"}},"pathname":"E/ET/ETHER/PPI-XS-0.910.tar.gz","version":"0.910"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"pathname":"E/ET/ETHER/Safe-Isa-1.000010.tar.gz","version":"1.000010","provides":{"Safe::Isa":{"file":"lib/Safe/Isa.pm","version":"1.000010"}},"target":"Safe::Isa","dist":"Safe-Isa-1.000010","name":"Safe::Isa"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"
|
|
1
|
+
{"provides":{"Scalar::Util::Numeric":{"version":"0.40","file":"lib/Scalar/Util/Numeric.pm"}},"version":"0.40","pathname":"C/CH/CHOCOLATE/Scalar-Util-Numeric-0.40.tar.gz","dist":"Scalar-Util-Numeric-0.40","name":"Scalar::Util::Numeric","target":"Scalar::Util::Numeric"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"target":"Test::Fatal","
|
|
1
|
+
{"target":"Test::Fatal","name":"Test::Fatal","dist":"Test-Fatal-0.017","pathname":"R/RJ/RJBS/Test-Fatal-0.017.tar.gz","version":"0.017","provides":{"Test::Fatal":{"file":"lib/Test/Fatal.pm","version":"0.017"}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"pathname":"R/RO/ROBIN/Want-0.29.tar.gz","
|
|
1
|
+
{"pathname":"R/RO/ROBIN/Want-0.29.tar.gz","version":"0.29","provides":{"Want":{"version":"0.29","file":"Want.pm"}},"target":"Want","name":"Want","dist":"Want-0.29"}
|