javonet-ruby-sdk 2.5.17 → 2.5.18

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.
Files changed (312) hide show
  1. checksums.yaml +4 -4
  2. data/VERSION +1 -1
  3. data/lib/javonet-ruby-sdk/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  4. data/lib/javonet-ruby-sdk/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  5. data/lib/javonet-ruby-sdk/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  6. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  7. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  8. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  9. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  10. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  11. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPhpRuntimeNative.so +0 -0
  12. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  13. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRuby342RuntimeNative.so +0 -0
  14. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  15. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  16. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  17. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  18. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/ARM64/version.txt +1 -1
  19. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  20. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  21. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  22. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  23. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  24. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs2214RuntimeNative.so +0 -0
  25. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  26. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerl534RuntimeNative.so +0 -0
  27. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  28. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPhpRuntimeNative.so +0 -0
  29. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPython2RuntimeNative.so +0 -0
  30. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  31. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  32. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRuby342RuntimeNative.so +0 -0
  33. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  34. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  35. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  36. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libUtils.so +0 -0
  37. data/lib/javonet-ruby-sdk/Binaries/Native/{MacOs/X64/libnode.108.dylib → Linux/X64/libnode.so.127} +0 -0
  38. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/version.txt +1 -1
  39. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  40. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  41. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  42. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  43. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  44. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs2214RuntimeNative.dylib +0 -0
  45. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  46. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPhpRuntimeNative.dylib +0 -0
  47. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  48. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  49. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRuby342RuntimeNative.dylib +0 -0
  50. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  51. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  52. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  53. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  54. data/lib/javonet-ruby-sdk/Binaries/Native/{Linux/X64/libnode.so.108 → MacOs/X64/libnode.127.dylib} +0 -0
  55. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/version.txt +1 -1
  56. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  57. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  58. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  59. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  60. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  61. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPhpRuntimeNative.dll +0 -0
  62. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  63. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  64. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  65. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  66. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  67. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  68. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/ARM64/version.txt +0 -0
  69. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  70. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  71. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  72. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  73. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  74. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  75. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs2214RuntimeNative.dll +0 -0
  76. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  77. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerl540RuntimeNative.dll +0 -0
  78. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  79. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPhpRuntimeNative.dll +0 -0
  80. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPython2RuntimeNative.dll +0 -0
  81. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  82. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  83. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  84. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  85. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  86. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/Utils.dll +0 -0
  87. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/libnode.dll +0 -0
  88. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/version.txt +1 -1
  89. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  90. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  91. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  92. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  93. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  94. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  95. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPhpRuntimeNative.dll +0 -0
  96. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPython2RuntimeNative.dll +0 -0
  97. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  98. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  99. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  100. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/Utils.dll +0 -0
  101. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X86/version.txt +1 -1
  102. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  103. data/lib/javonet-ruby-sdk/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  104. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/AbstractHandler.cjs +23 -6
  105. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ArrayGetItemHandler.cjs +4 -1
  106. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ArrayGetRankHandler.cjs +3 -0
  107. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ArrayGetSizeHandler.cjs +3 -0
  108. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ArrayHandler.cjs +3 -0
  109. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ArraySetItemHandler.cjs +4 -1
  110. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/CastingHandler.cjs +3 -1
  111. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ConvertTypeHandler.cjs +4 -4
  112. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/CreateClassInstanceHandler.cjs +5 -2
  113. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/DestructReferenceHandler.cjs +3 -0
  114. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/EnableNamespaceHandler.cjs +3 -0
  115. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/EnableTypeHandler.cjs +3 -0
  116. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetGlobalStaticFieldHandler.cjs +3 -0
  117. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetInstanceFieldHandler.cjs +3 -0
  118. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetInstanceMethodAsDelegateHandler.cjs +15 -4
  119. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetStaticFieldHandler.cjs +4 -0
  120. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetStaticMethodAsDelegateHandler.cjs +8 -6
  121. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/GetTypeHandler.cjs +10 -2
  122. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/Handler.cjs +8 -11
  123. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeGlobalFunctionHandler.cjs +3 -0
  124. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeInstanceMethodHandler.cjs +3 -0
  125. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/InvokeStaticMethodHandler.cjs +3 -0
  126. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/LoadLibraryHandler.cjs +4 -0
  127. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/SetGlobalStaticFieldHandler.cjs +3 -0
  128. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/SetInstanceFieldHandler.cjs +3 -0
  129. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/SetStaticFieldHandler.cjs +3 -0
  130. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/handler/ValueHandler.cjs +4 -0
  131. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/interpreter/Interpreter.cjs +28 -12
  132. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/namespaceCache/NamespaceCache.cjs +12 -0
  133. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandDeserializer.cjs +10 -2
  134. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/CommandSerializer.cjs +24 -4
  135. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/TypeDeserializer.cjs +35 -0
  136. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/protocol/TypeSerializer.cjs +51 -7
  137. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/Receiver.cjs +1 -1
  138. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/receiver/ReceiverNative.cjs +6 -0
  139. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/transmitter/Transmitter.cjs +18 -2
  140. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/transmitter/TransmitterWebsocket.cjs +8 -5
  141. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/transmitter/TransmitterWebsocketBrowser.cjs +1 -1
  142. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/transmitter/TransmitterWrapper.cjs +25 -8
  143. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/typeCache/TypeCache.cjs +8 -0
  144. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/webSocketClient/WebSocketClient.cjs +22 -12
  145. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/core/webSocketClient/WebSocketClientBrowser.cjs +2 -2
  146. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/ConfigRuntimeFactory.cjs +60 -55
  147. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/InvocationContext.cjs +81 -23
  148. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/Javonet.cjs +14 -33
  149. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeContext.cjs +85 -30
  150. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/RuntimeFactory.cjs +3 -0
  151. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/tools/ActivationHelper.cjs +66 -0
  152. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/tools/JsonResolver.cjs +214 -0
  153. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/AbstractHandler.d.ts +23 -4
  154. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ArrayGetItemHandler.d.ts +8 -1
  155. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ArrayGetRankHandler.d.ts +8 -1
  156. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ArrayGetSizeHandler.d.ts +8 -1
  157. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ArrayHandler.d.ts +8 -1
  158. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ArraySetItemHandler.d.ts +8 -1
  159. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/CastingHandler.d.ts +4 -0
  160. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ConvertTypeHandler.d.ts +8 -4
  161. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/CreateClassInstanceHandler.d.ts +8 -1
  162. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/DestructReferenceHandler.d.ts +8 -1
  163. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/EnableNamespaceHandler.d.ts +8 -1
  164. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/EnableTypeHandler.d.ts +8 -1
  165. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/GetGlobalStaticFieldHandler.d.ts +8 -1
  166. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/GetInstanceFieldHandler.d.ts +8 -1
  167. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/GetStaticFieldHandler.d.ts +9 -1
  168. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/GetStaticMethodAsDelegateHandler.d.ts +4 -3
  169. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/GetTypeHandler.d.ts +17 -8
  170. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/Handler.d.ts +8 -8
  171. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/InvokeDelegateHandler.d.ts +4 -0
  172. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/InvokeGlobalFunctionHandler.d.ts +8 -1
  173. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/InvokeInstanceMethodHandler.d.ts +8 -1
  174. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/InvokeStaticMethodHandler.d.ts +8 -1
  175. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/LoadLibraryHandler.d.ts +8 -3
  176. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/SetGlobalStaticFieldHandler.d.ts +4 -0
  177. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/SetInstanceFieldHandler.d.ts +8 -1
  178. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/SetStaticFieldHandler.d.ts +8 -1
  179. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/handler/ValueHandler.d.ts +9 -1
  180. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/interpreter/Interpreter.d.ts +11 -10
  181. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/namespaceCache/NamespaceCache.d.ts +17 -5
  182. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandDeserializer.d.ts +10 -3
  183. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/CommandSerializer.d.ts +19 -2
  184. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/TypeDeserializer.d.ts +46 -11
  185. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/protocol/TypeSerializer.d.ts +53 -13
  186. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/Receiver.d.ts +2 -2
  187. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/receiver/ReceiverNative.d.ts +8 -2
  188. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/transmitter/Transmitter.d.ts +20 -4
  189. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/transmitter/TransmitterWebsocket.d.ts +8 -4
  190. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/transmitter/TransmitterWebsocketBrowser.d.ts +4 -7
  191. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/transmitter/TransmitterWrapper.d.ts +12 -3
  192. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/typeCache/TypeCache.d.ts +15 -5
  193. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/core/webSocketClient/WebSocketClient.d.ts +17 -21
  194. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/ConfigRuntimeFactory.d.ts +9 -6
  195. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/InvocationContext.d.ts +38 -6
  196. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/Javonet.d.ts +12 -7
  197. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeContext.d.ts +23 -7
  198. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/RuntimeFactory.d.ts +9 -2
  199. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/tools/ActivationHelper.d.ts +20 -0
  200. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/tools/JsonResolver.d.ts +87 -0
  201. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/Command.d.ts +18 -14
  202. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/CustomError.d.ts +5 -1
  203. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/Runtime.d.ts +1 -2
  204. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/RuntimeNameHandler.d.ts +6 -2
  205. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/Type.d.ts +1 -0
  206. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/TypesHandler.d.ts +16 -0
  207. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/UtilsConst.d.ts +32 -0
  208. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/connectionData/IConnectionData.d.ts +16 -3
  209. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/connectionData/InMemoryConnectionData.d.ts +4 -3
  210. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/connectionData/WsConnectionData.d.ts +7 -10
  211. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/nodejs/connectionData/TcpConnectionData.d.ts +17 -10
  212. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/Command.cjs +9 -9
  213. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/CustomError.cjs +4 -0
  214. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/RuntimeNameHandler.cjs +1 -1
  215. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/Type.cjs +2 -1
  216. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/TypesHandler.cjs +55 -0
  217. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/UtilsConst.cjs +101 -0
  218. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/connectionData/IConnectionData.cjs +9 -0
  219. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/connectionData/InMemoryConnectionData.cjs +10 -0
  220. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/connectionData/WsConnectionData.cjs +4 -0
  221. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/nodejs/connectionData/TcpConnectionData.cjs +33 -3
  222. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/Module/Build/Tiny.pm +9 -6
  223. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util/XS.pm +42 -0
  224. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/List/Util.pm +836 -0
  225. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/List/Utils.pm +43 -0
  226. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Scalar/Util.pm +380 -0
  227. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/Sub/Util.pm +153 -0
  228. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  229. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  230. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  231. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  232. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  233. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  234. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  235. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  236. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Scalar/Util/Numeric/Numeric.so +0 -0
  237. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  238. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/autobox/autobox.so +0 -0
  239. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/include/ffi_platypus_config.h +2 -2
  240. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/share/dist/FFI-Platypus/lib/libplfill.so +0 -0
  241. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +113 -91
  242. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Handler/PerlHandler.pm +5 -11
  243. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +2 -2
  244. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +21 -20
  245. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/Type.pm +2 -1
  246. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Core/TypesHandler.pm +13 -0
  247. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +6 -2
  248. data/lib/javonet-ruby-sdk/Binaries/Perl/Linux/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +6 -2
  249. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  250. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  251. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  252. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  253. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  254. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +16 -38
  255. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/aliased.pm +371 -0
  256. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Handler/PerlHandler.pm +5 -11
  257. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Interpreter/Interpreter.pm +2 -2
  258. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Core/Protocol/CommandSerializer.pm +21 -20
  259. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/Type.pm +2 -1
  260. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Core/TypesHandler.pm +13 -0
  261. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/InvocationContext.pm +6 -2
  262. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/lib/Javonet/Sdk/Internal/RuntimeContext.pm +6 -2
  263. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/handler/Handler.py +6 -13
  264. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/CommandSerializer.py +9 -1
  265. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/core/protocol/TypeSerializer.py +1 -1
  266. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/Type.py +1 -0
  267. data/lib/javonet-ruby-sdk/Binaries/Python/javonet/utils/TypesHandler.py +5 -0
  268. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/handler/Handler.py +5 -27
  269. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/CommandSerializer.py +8 -3
  270. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/core/protocol/TypeSerializer.py +2 -1
  271. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/Type.py +5 -2
  272. data/lib/javonet-ruby-sdk/Binaries/Python2/javonet/utils/TypesHandler.py +8 -0
  273. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/handler/handler.rb +2 -9
  274. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/command_serializer.rb +6 -2
  275. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_deserializer.rb +1 -1
  276. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/core/protocol/type_serializer.rb +5 -4
  277. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/type.rb +2 -1
  278. data/lib/javonet-ruby-sdk/Binaries/Ruby/Linux/X64/utils/types_handler.rb +10 -0
  279. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/handler/handler.rb +2 -9
  280. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/command_serializer.rb +6 -2
  281. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_deserializer.rb +1 -1
  282. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/core/protocol/type_serializer.rb +5 -4
  283. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/type.rb +2 -1
  284. data/lib/javonet-ruby-sdk/Binaries/Ruby/MacOs/X64/utils/types_handler.rb +10 -0
  285. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/handler/handler.rb +2 -9
  286. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/command_serializer.rb +6 -2
  287. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_deserializer.rb +1 -1
  288. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/core/protocol/type_serializer.rb +5 -4
  289. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/type.rb +2 -1
  290. data/lib/javonet-ruby-sdk/Binaries/Ruby/Windows/X64/utils/types_handler.rb +10 -0
  291. data/lib/javonet-ruby-sdk/Binaries/version.txt +1 -1
  292. data/lib/javonet-ruby-sdk/core/handler/handler.rb +2 -9
  293. data/lib/javonet-ruby-sdk/core/protocol/command_serializer.rb +6 -2
  294. data/lib/javonet-ruby-sdk/core/protocol/type_deserializer.rb +1 -1
  295. data/lib/javonet-ruby-sdk/core/protocol/type_serializer.rb +5 -4
  296. data/lib/javonet-ruby-sdk/sdk/invocation_context.rb +5 -3
  297. data/lib/javonet-ruby-sdk/sdk/runtime_context.rb +4 -7
  298. data/lib/javonet-ruby-sdk/utils/type.rb +2 -1
  299. data/lib/javonet-ruby-sdk/utils/types_handler.rb +10 -0
  300. metadata +32 -16
  301. data/lib/javonet-ruby-sdk/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  302. data/lib/javonet-ruby-sdk/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  303. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  304. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerl532RuntimeNativeAuxiliary.dll +0 -0
  305. data/lib/javonet-ruby-sdk/Binaries/Native/Windows/X64/JavonetPerl540RuntimeNativeAuxiliary.dll +0 -0
  306. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/tools/browser/ConfigSourceResolver.cjs +0 -153
  307. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/sdk/tools/nodejs/JsonFileResolver.cjs +0 -120
  308. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/tools/browser/ConfigSourceResolver.d.ts +0 -46
  309. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/sdk/tools/nodejs/JsonFileResolver.d.ts +0 -13
  310. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/types/utils/nodejs/TypesConverter.d.ts +0 -48
  311. data/lib/javonet-ruby-sdk/Binaries/Nodejs/dist/utils/nodejs/TypesConverter.cjs +0 -102
  312. data/lib/javonet-ruby-sdk/Binaries/Perl/Windows/X64/deps/lib/perl5/Test/Fatal.pm +0 -477
@@ -0,0 +1,371 @@
1
+ package aliased; # git description: v0.33-3-g0a61221
2
+ # ABSTRACT: Use shorter versions of class names.
3
+ $aliased::VERSION = '0.34';
4
+ require Exporter;
5
+ @EXPORT = qw(alias prefix);
6
+
7
+ use strict;
8
+ use warnings;
9
+
10
+ sub _croak {
11
+ require Carp;
12
+ Carp::croak(@_);
13
+ }
14
+
15
+ sub import {
16
+ # Without args, just export @EXPORT
17
+ goto &Exporter::import if @_ <= 1;
18
+
19
+ my ( $class, $package, $alias, @import ) = @_;
20
+
21
+ my $callpack = caller(0);
22
+ _load_alias( $package, $callpack, @import );
23
+ _make_alias( $package, $callpack, $alias );
24
+ }
25
+
26
+ sub _get_alias {
27
+ my $package = shift;
28
+ $package =~ s/.*(?:::|')//;
29
+ return $package;
30
+ }
31
+
32
+ sub _make_alias {
33
+ my ( $package, $callpack, $alias ) = @_;
34
+
35
+ $alias ||= _get_alias($package);
36
+
37
+ my $destination = $alias =~ /::/
38
+ ? $alias
39
+ : "$callpack\::$alias";
40
+
41
+ # need a scalar not referenced elsewhere to make the sub inlinable
42
+ my $pack2 = $package;
43
+
44
+ no strict 'refs';
45
+ *{ $destination } = sub () { $pack2 };
46
+ }
47
+
48
+ sub _load_alias {
49
+ my ( $package, $callpack, @import ) = @_;
50
+
51
+ # We don't localize $SIG{__DIE__} here because we need to be careful about
52
+ # restoring its value if there is a failure. Very, very tricky.
53
+ my $sigdie = $SIG{__DIE__};
54
+ {
55
+ my $code =
56
+ @import == 0
57
+ ? "package $callpack; use $package;"
58
+ : "package $callpack; use $package (\@import)";
59
+ eval $code;
60
+ if ( my $error = $@ ) {
61
+ $SIG{__DIE__} = $sigdie;
62
+ _croak($error);
63
+ }
64
+ $sigdie = $SIG{__DIE__}
65
+ if defined $SIG{__DIE__};
66
+ }
67
+
68
+ # Make sure a global $SIG{__DIE__} makes it out of the localization.
69
+ $SIG{__DIE__} = $sigdie if defined $sigdie;
70
+ return $package;
71
+ }
72
+
73
+ sub alias {
74
+ my ( $package, @import ) = @_;
75
+
76
+ my $callpack = scalar caller(0);
77
+ return _load_alias( $package, $callpack, @import );
78
+ }
79
+
80
+ sub prefix {
81
+ my ($class) = @_;
82
+ return sub {
83
+ my ($name) = @_;
84
+ my $callpack = caller(0);
85
+ if ( not @_ ) {
86
+ return _load_alias( $class, $callpack );
87
+ }
88
+ elsif ( @_ == 1 && defined $name ) {
89
+ return _load_alias( "${class}::$name", $callpack );
90
+ }
91
+ else {
92
+ _croak("Too many arguments to prefix('$class')");
93
+ }
94
+ };
95
+ }
96
+
97
+ 1;
98
+
99
+ __END__
100
+
101
+ =pod
102
+
103
+ =encoding UTF-8
104
+
105
+ =head1 NAME
106
+
107
+ aliased - Use shorter versions of class names.
108
+
109
+ =head1 VERSION
110
+
111
+ version 0.34
112
+
113
+ =head1 SYNOPSIS
114
+
115
+ # Class name interface
116
+ use aliased 'My::Company::Namespace::Customer';
117
+ my $cust = Customer->new;
118
+
119
+ use aliased 'My::Company::Namespace::Preferred::Customer' => 'Preferred';
120
+ my $pref = Preferred->new;
121
+
122
+
123
+ # Variable interface
124
+ use aliased;
125
+ my $Customer = alias "My::Other::Namespace::Customer";
126
+ my $cust = $Customer->new;
127
+
128
+ my $Preferred = alias "My::Other::Namespace::Preferred::Customer";
129
+ my $pref = $Preferred->new;
130
+
131
+ =head1 DESCRIPTION
132
+
133
+ C<aliased> is simple in concept but is a rather handy module. It loads the
134
+ class you specify and exports into your namespace a subroutine that returns
135
+ the class name. You can explicitly alias the class to another name or, if you
136
+ prefer, you can do so implicitly. In the latter case, the name of the
137
+ subroutine is the last part of the class name. Thus, it does something
138
+ similar to the following:
139
+
140
+ #use aliased 'Some::Annoyingly::Long::Module::Name::Customer';
141
+
142
+ use Some::Annoyingly::Long::Module::Name::Customer;
143
+ sub Customer {
144
+ return 'Some::Annoyingly::Long::Module::Name::Customer';
145
+ }
146
+ my $cust = Customer->new;
147
+
148
+ This module is useful if you prefer a shorter name for a class. It's also
149
+ handy if a class has been renamed.
150
+
151
+ (Some may object to the term "aliasing" because we're not aliasing one
152
+ namespace to another, but it's a handy term. Just keep in mind that this is
153
+ done with a subroutine and not with typeglobs and weird namespace munging.)
154
+
155
+ Note that this is B<only> for C<use>ing OO modules. You cannot use this to
156
+ load procedural modules. See the L<Why OO Only?> section. Also, don't let
157
+ the version number fool you. This code is ridiculously simple and is just
158
+ fine for most use.
159
+
160
+ =head2 Implicit Aliasing
161
+
162
+ The most common use of this module is:
163
+
164
+ use aliased 'Some::Module::name';
165
+
166
+ C<aliased> will allow you to reference the class by the last part of the
167
+ class name. Thus, C<Really::Long::Name> becomes C<Name>. It does this by
168
+ exporting a subroutine into your namespace with the same name as the aliased
169
+ name. This subroutine returns the original class name.
170
+
171
+ For example:
172
+
173
+ use aliased "Acme::Company::Customer";
174
+ my $cust = Customer->find($id);
175
+
176
+ Note that any class method can be called on the shorter version of the class
177
+ name, not just the constructor.
178
+
179
+ =head2 Explicit Aliasing
180
+
181
+ Sometimes two class names can cause a conflict (they both end with C<Customer>
182
+ for example), or you already have a subroutine with the same name as the
183
+ aliased name. In that case, you can make an explicit alias by stating the
184
+ name you wish to alias to:
185
+
186
+ use aliased 'Original::Module::Name' => 'NewName';
187
+
188
+ Here's how we use C<aliased> to avoid conflicts:
189
+
190
+ use aliased "Really::Long::Name";
191
+ use aliased "Another::Really::Long::Name" => "Aname";
192
+ my $name = Name->new;
193
+ my $aname = Aname->new;
194
+
195
+ You can even alias to a different package:
196
+
197
+ use aliased "Another::Really::Long::Name" => "Another::Name";
198
+ my $aname = Another::Name->new;
199
+
200
+ Messing around with different namespaces is a really bad idea and you probably
201
+ don't want to do this. However, it might prove handy if the module you are
202
+ using has been renamed. If the interface has not changed, this allows you to
203
+ use the new module by only changing one line of code.
204
+
205
+ use aliased "New::Module::Name" => "Old::Module::Name";
206
+ my $thing = Old::Module::Name->new;
207
+
208
+ =head2 Import Lists
209
+
210
+ Sometimes, even with an OO module, you need to specify extra arguments when
211
+ using the module. When this happens, simply use L<Explicit Aliasing> followed
212
+ by the import list:
213
+
214
+ Snippet 1:
215
+
216
+ use Some::Module::Name qw/foo bar/;
217
+ my $o = Some::Module::Name->some_class_method;
218
+
219
+ Snippet 2 (equivalent to snippet 1):
220
+
221
+ use aliased 'Some::Module::Name' => 'Name', qw/foo bar/;
222
+ my $o = Name->some_class_method;
223
+
224
+ B<Note>: remember, you cannot use import lists with L<Implicit Aliasing>. As
225
+ a result, you may simply prefer to only use L<Explicit Aliasing> as a matter
226
+ of style.
227
+
228
+ =head2 alias()
229
+
230
+ This function is only exported if you specify C<use aliased> with no import
231
+ list.
232
+
233
+ use aliased;
234
+ my $alias = alias($class);
235
+ my $alias = alias($class, @imports);
236
+
237
+ C<alias()> is an alternative to C<use aliased ...> which uses less magic and
238
+ avoids some of the ambiguities.
239
+
240
+ Like C<use aliased> it C<use>s the C<$class> (pass in C<@imports>, if given)
241
+ but instead of providing an C<Alias> constant it simply returns a scalar set
242
+ to the C<$class> name.
243
+
244
+ my $thing = alias("Some::Thing::With::A::Long::Name");
245
+
246
+ # Just like Some::Thing::With::A::Long::Name->method
247
+ $thing->method;
248
+
249
+ The use of a scalar instead of a constant avoids any possible ambiguity
250
+ when aliasing two similar names:
251
+
252
+ # No ambiguity despite the fact that they both end with "Name"
253
+ my $thing = alias("Some::Thing::With::A::Long::Name");
254
+ my $other = alias("Some::Other::Thing::With::A::Long::Name");
255
+
256
+ and there is no magic constant exported into your namespace.
257
+
258
+ The only caveat is loading of the $class happens at run time. If C<$class>
259
+ exports anything you might want to ensure it is loaded at compile time with:
260
+
261
+ my $thing;
262
+ BEGIN { $thing = alias("Some::Thing"); }
263
+
264
+ However, since OO classes rarely export this should not be necessary.
265
+
266
+ =head2 prefix() (experimental)
267
+
268
+ This function is only exported if you specify C<use aliased> with no import
269
+ list.
270
+
271
+ use aliased;
272
+
273
+ Sometimes you find you have a ton of packages in the same top-level namespace
274
+ and you want to alias them, but only use them on demand. For example:
275
+
276
+ # instead of:
277
+ MailVerwaltung::Client::Exception::REST::Response->throw()
278
+
279
+ my $error = prefix('MailVerwaltung::Client::Exception');
280
+ $error->('REST::Response')->throw(); # same as above
281
+ $error->()->throw; # same as MailVerwaltung::Client::Exception->throw
282
+
283
+ =head2 Why OO Only?
284
+
285
+ Some people have asked why this code only support object-oriented modules
286
+ (OO). If I were to support normal subroutines, I would have to allow the
287
+ following syntax:
288
+
289
+ use aliased 'Some::Really::Long::Module::Name';
290
+ my $data = Name::data();
291
+
292
+ =for stopwords nilly
293
+
294
+ That causes a serious problem. The only (reasonable) way it can be done is to
295
+ handle the aliasing via typeglobs. Thus, instead of a subroutine that
296
+ provides the class name, we alias one package to another (as the
297
+ L<namespace|namespace> module does.) However, we really don't want to simply
298
+ alias one package to another and wipe out namespaces willy-nilly. By merely
299
+ exporting a single subroutine to a namespace, we minimize the issue.
300
+
301
+ Fortunately, this doesn't seem to be that much of a problem. Non-OO modules
302
+ generally support exporting of the functions you need and this eliminates the
303
+ need for a module such as this.
304
+
305
+ =head1 EXPORT
306
+
307
+ This modules exports a subroutine with the same name as the "aliased" name.
308
+
309
+ =head1 SEE ALSO
310
+
311
+ The L<namespace> module.
312
+
313
+ =head1 THANKS
314
+
315
+ =for stopwords Rentrak
316
+
317
+ Many thanks to Rentrak, Inc. (http://www.rentrak.com/) for graciously allowing
318
+ me to replicate the functionality of some of their internal code.
319
+
320
+ =head1 AUTHOR
321
+
322
+ Curtis "Ovid" Poe <ovid@cpan.org>
323
+
324
+ =head1 COPYRIGHT AND LICENSE
325
+
326
+ This software is copyright (c) 2005 by Curtis "Ovid" Poe.
327
+
328
+ This is free software; you can redistribute it and/or modify it under
329
+ the same terms as the Perl 5 programming language system itself.
330
+
331
+ =head1 CONTRIBUTORS
332
+
333
+ =for stopwords Karen Etheridge Curtis Poe Ovid Florian Ragwitz Grzegorz Rożniecki Father Chrysostomos Belden Lyman Olivier Mengué
334
+
335
+ =over 4
336
+
337
+ =item *
338
+
339
+ Karen Etheridge <ether@cpan.org>
340
+
341
+ =item *
342
+
343
+ Curtis Poe <ovid@cpan.org>
344
+
345
+ =item *
346
+
347
+ Ovid <curtis_ovid_poe@yahoo.com>
348
+
349
+ =item *
350
+
351
+ Florian Ragwitz <rafl@debian.org>
352
+
353
+ =item *
354
+
355
+ Grzegorz Rożniecki <xaerxess@gmail.com>
356
+
357
+ =item *
358
+
359
+ Father Chrysostomos <sprout@cpan.org>
360
+
361
+ =item *
362
+
363
+ Belden Lyman <belden@shutterstock.com>
364
+
365
+ =item *
366
+
367
+ Olivier Mengué <dolmen@cpan.org>
368
+
369
+ =back
370
+
371
+ =cut
@@ -29,8 +29,9 @@ use aliased 'Javonet::Sdk::Core::PerlCommandType' => 'PerlCommandType', qw(get_c
29
29
  use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
30
30
  use aliased 'Javonet::Core::Handler::ReferencesCache' => 'ReferencesCache';
31
31
  use aliased 'Javonet::Core::Handler::AbstractHandler' => 'AbstractHandler';
32
- use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib', qw(get_runtime);
33
- use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary', qw(get_handler);
32
+ use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib';
33
+ use aliased 'Javonet::Core::Handler::HandlerDictionary' => 'HandlerDictionary';
34
+ use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
34
35
 
35
36
  my $value_handler = ValueHandler->new();
36
37
  my $load_library_handler = LoadLibraryHandler->new();
@@ -130,21 +131,14 @@ sub handle_command {
130
131
  my ($self, $command) = @_;
131
132
  my $response = Javonet::Core::Handler::HandlerDictionary::get_handler($command->{command_type})->handle_command($command);
132
133
 
133
- if (!defined $response) {
134
+ if (TypesHandler->is_primitive_or_none($response)) {
134
135
  return PerlCommand->new(
135
136
  runtime => Javonet::Sdk::Core::RuntimeLib::get_runtime('Perl'),
136
137
  command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Value'),
137
138
  payload => [ $response ]
138
- )
139
+ );
139
140
  }
140
141
 
141
- if (ref $response eq '') {
142
- return PerlCommand->new(
143
- runtime => Javonet::Sdk::Core::RuntimeLib::get_runtime('Perl'),
144
- command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Value'),
145
- payload => [ $response ]
146
- )
147
- }
148
142
  # elsif (ref $response eq 'ARRAY') {
149
143
  # {
150
144
  # my $reference_cache = ReferencesCache->new();
@@ -16,7 +16,7 @@ sub execute_ {
16
16
  my $command = shift;
17
17
  my $connection_type = shift;
18
18
  my $tcp_address = shift;
19
- my @serialized_command = Javonet::Core::Protocol::CommandSerializer->encode($command, $connection_type, $tcp_address, 0);
19
+ my @serialized_command = Javonet::Core::Protocol::CommandSerializer->serialize($command, $connection_type, $tcp_address, 0);
20
20
  my $response_byte_array_ref;
21
21
  if ($command->{runtime} eq Javonet::Sdk::Core::RuntimeLib::get_runtime('Perl')) {
22
22
  require Javonet::Core::Receiver::Receiver;
@@ -37,7 +37,7 @@ sub process {
37
37
  my $command = $commandDeserializer->decode();
38
38
  my $response = $handler->handle_command($command);
39
39
  my $commandSerializer = CommandSerializer->new();
40
- my @response_byte_array = $commandSerializer->encode($response, 0, 0, 0);
40
+ my @response_byte_array = $commandSerializer->serialize($response, 0, 0, 0);
41
41
  return @response_byte_array;
42
42
  }
43
43
 
@@ -8,16 +8,17 @@ use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
8
8
  use aliased 'Javonet::Sdk::Core::RuntimeLib' => 'RuntimeLib', qw(get_runtime);
9
9
  use aliased 'Javonet::Sdk::Core::Type' => 'Type', qw(get_type);
10
10
  use aliased 'Javonet::Core::Protocol::TypeSerializer' => 'TypeSerializer';
11
+ use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
11
12
  use Javonet::Sdk::Internal::ConnectionType;
12
13
  use Thread::Queue;
13
14
 
14
15
  use Exporter qw(import);
15
- our @EXPORT = qw(encode serialize_tcp_address serialize_recursively insert_into_buffer);
16
+ our @EXPORT = qw(serialize serialize_tcp_address serialize_recursively insert_into_buffer);
16
17
 
17
18
  my @byte_buffer = ();
18
19
  my $queue = Thread::Queue->new();
19
20
 
20
- sub encode {
21
+ sub serialize {
21
22
  my ($self, $root_command, $connection_type, $tcp_address, $runtimeVersion) = @_;
22
23
  @byte_buffer = ();
23
24
  $queue = Thread::Queue->new();
@@ -32,10 +33,10 @@ sub encode {
32
33
  sub serialize_tcp_address {
33
34
  my ($connection_type, $tcp_address) = @_;
34
35
  my @tcp_byte_array;
35
- if ( Javonet::Sdk::Internal::ConnectionType::get_connection_type('Tcp') eq $connection_type) {
36
+ if (Javonet::Sdk::Internal::ConnectionType::get_connection_type('Tcp') eq $connection_type) {
36
37
  my @tcp_array = split(':', $tcp_address);
37
38
  my @tcp_ip = split('\\.', $tcp_array[0]);
38
- my @bytes_port = unpack "C*", pack "v", $tcp_array[1];
39
+ my @bytes_port = unpack "C*", pack "v", $tcp_array[1];
39
40
  @tcp_byte_array = (Javonet::Sdk::Internal::ConnectionType::get_connection_type('Tcp'), @tcp_ip, @bytes_port);
40
41
  return @tcp_byte_array;
41
42
  }
@@ -45,10 +46,9 @@ sub serialize_tcp_address {
45
46
  }
46
47
  }
47
48
 
48
-
49
- sub serialize_recursively{
49
+ sub serialize_recursively {
50
50
  my $left = $queue->pending();
51
- if ($left == 0){
51
+ if ($left == 0) {
52
52
  return @byte_buffer;
53
53
  }
54
54
  my $command = $queue->dequeue();
@@ -56,24 +56,25 @@ sub serialize_recursively{
56
56
  my $current_payload_ref = $command->{payload};
57
57
  my @cur_payload = @$current_payload_ref;
58
58
  my $payload_len = @cur_payload;
59
- if ($payload_len > 0){
60
- if (!defined $cur_payload[0]){
59
+ if ($payload_len > 0) {
60
+ if (!defined $cur_payload[0]) {
61
61
  insert_into_buffer(TypeSerializer->serializePrimitive(undef));
62
62
  }
63
+ elsif ($cur_payload[0]->isa("Javonet::Sdk::Core::PerlCommand")) {
64
+ my $inner_command = $cur_payload[0];
65
+ insert_into_buffer(TypeSerializer->serializeCommand($inner_command));
66
+ $queue->insert(0, $inner_command);
67
+ }
68
+ elsif (TypesHandler->is_primitive_or_none($cur_payload[0])) {
69
+ my @result = TypeSerializer->serializePrimitive($cur_payload[0]);
70
+ insert_into_buffer(@result);
71
+ }
63
72
  else {
64
- if ($cur_payload[0]->isa("Javonet::Sdk::Core::PerlCommand")) {
65
- my $inner_command = $cur_payload[0];
66
- insert_into_buffer(TypeSerializer->serializeCommand($inner_command));
67
- $queue->insert(0, $inner_command);
68
- }
69
- else {
70
- my @result = TypeSerializer->serializePrimitive($cur_payload[0]);
71
- insert_into_buffer(@result);
72
- }
73
+ die "Unsupported payload item type: " . ref($cur_payload[0]) . " for payload item: $cur_payload[0].";
73
74
  }
74
75
  return serialize_recursively();
75
76
  }
76
- else{
77
+ else {
77
78
  $queue->dequeue();
78
79
  }
79
80
  return serialize_recursively();
@@ -85,4 +86,4 @@ sub insert_into_buffer {
85
86
  }
86
87
 
87
88
  no Moose;
88
- 1;
89
+ 1;
@@ -18,6 +18,7 @@ my %my_type = (
18
18
  'JavonetUnsignedLongLong' => 9,
19
19
  'JavonetUnsignedInteger' => 10,
20
20
  'JavonetNull' => 11,
21
+ 'JavonetVoid' => 12,
21
22
  );
22
23
 
23
24
  sub get_type {
@@ -27,4 +28,4 @@ sub get_type {
27
28
 
28
29
  no Moose;
29
30
 
30
- 1;
31
+ 1;
@@ -0,0 +1,13 @@
1
+ package Javonet::Sdk::Core::TypesHandler;
2
+ use strict;
3
+ use warnings FATAL => 'all';
4
+ use Exporter qw(import);
5
+ our @EXPORT = qw(is_primitive_or_none);
6
+
7
+ sub is_primitive_or_none {
8
+ my ($self, $item) = @_;
9
+ return (!defined $item || $item =~ /^(?:-?\d+(?:\.\d+)?|true|false)$/ || !ref $item);
10
+ }
11
+
12
+
13
+ 1;
@@ -7,6 +7,7 @@ use aliased 'Javonet::Sdk::Core::PerlCommand' => 'PerlCommand';
7
7
  use aliased 'Javonet::Core::Handler::PerlHandler' => 'PerlHandler';
8
8
  use aliased 'Javonet::Core::Interpreter::Interpreter' => 'Interpreter', qw(execute_);
9
9
  use aliased 'Javonet::Core::Exception::ExceptionThrower' => 'ExceptionThrower';
10
+ use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
10
11
 
11
12
  extends 'Javonet::Sdk::Internal::Abstract::AbstractInstanceContext',
12
13
  'Javonet::Sdk::Internal::Abstract::AbstractMethodInvocationContext',
@@ -437,14 +438,17 @@ sub encapsulate_payload_item {
437
438
  elsif ($payload_item->isa('Javonet::Sdk::Internal::InvocationContext')) {
438
439
  return $payload_item->get_current_command();
439
440
  }
440
- else {
441
+ elsif (TypesHandler->is_primitive_or_none($payload_item)) {
441
442
  return PerlCommand->new(
442
443
  runtime => $self->{runtime_name},
443
444
  command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Value'),
444
445
  payload => [ $payload_item ]
445
446
  );
446
447
  }
448
+ else {
449
+ die "Unsupported payload item type: " . ref($payload_item) . " for payload item: $payload_item.";
450
+ }
447
451
  }
448
452
 
449
453
  no Moose;
450
- 1;
454
+ 1;
@@ -8,6 +8,7 @@ use aliased 'Javonet::Sdk::Internal::InvocationContext' => 'InvocationContext';
8
8
  use aliased 'Javonet::Core::Handler::PerlHandler' => 'PerlHandler';
9
9
  use aliased 'Javonet::Core::Interpreter::Interpreter' => 'Interpreter', qw(execute_);
10
10
  use aliased 'Javonet::Core::Exception::ExceptionThrower' => 'ExceptionThrower';
11
+ use aliased 'Javonet::Sdk::Core::TypesHandler' => 'TypesHandler';
11
12
 
12
13
  extends 'Javonet::Sdk::Internal::Abstract::AbstractRuntimeContext',
13
14
  'Javonet::Sdk::Internal::Abstract::AbstractTypeContext';
@@ -267,13 +268,16 @@ sub encapsulate_payload_item {
267
268
  elsif ($payload_item->isa('Javonet::Sdk::Internal::InvocationContext')) {
268
269
  return $payload_item->get_current_command();
269
270
  }
270
- else {
271
+ elsif (TypesHandler->is_primitive_or_none($payload_item)) {
271
272
  return PerlCommand->new(
272
273
  runtime => $self->{runtime_name},
273
274
  command_type => Javonet::Sdk::Core::PerlCommandType::get_command_type('Value'),
274
275
  payload => [ $payload_item ]
275
276
  );
276
277
  }
278
+ else {
279
+ die "Unsupported payload item type: " . ref($payload_item) . " for payload item: $payload_item.";
280
+ }
277
281
  }
278
282
 
279
283
  sub health_check {
@@ -289,4 +293,4 @@ sub health_check {
289
293
  }
290
294
 
291
295
  no Moose;
292
- 1;
296
+ 1;
@@ -31,6 +31,7 @@ from javonet.core.handler.InvokeGlobalFunctionHandler import InvokeGlobalFunctio
31
31
 
32
32
  from javonet.core.handler.HandlerDictionary import handler_dict
33
33
  from javonet.core.referenceCache.ReferencesCache import ReferencesCache
34
+ from javonet.utils.TypesHandler import TypesHandler
34
35
  from javonet.utils.exception.ExceptionSerializer import ExceptionSerializer
35
36
  from javonet.utils.CommandType import CommandType
36
37
  from javonet.utils.Command import Command
@@ -79,22 +80,14 @@ class Handler(AbstractHandler):
79
80
  except Exception as e:
80
81
  return ExceptionSerializer.serialize_exception(e, command)
81
82
 
82
- def __parse_response(self, response, runtime_name):
83
- if self.__is_response_simple_type(response) or self.__is_response_null(response):
83
+ @staticmethod
84
+ def __parse_response(response, runtime_name):
85
+ if TypesHandler.is_primitive_or_none(response):
84
86
  return Command.create_response(response, runtime_name)
85
87
  else:
86
- reference_cache = ReferencesCache()
87
- guid = reference_cache.cache_reference(response)
88
+ guid = ReferencesCache().cache_reference(response)
88
89
  return Command.create_reference(guid, runtime_name)
89
90
 
90
- @staticmethod
91
- def __is_response_simple_type(response):
92
- return isinstance(response, (int, float, bool, str))
93
-
94
- @staticmethod
95
- def __is_response_null(response):
96
- return response is None
97
-
98
91
  @staticmethod
99
92
  def __is_response_array(response):
100
- return isinstance(response, list);
93
+ return isinstance(response, list)
@@ -1,7 +1,10 @@
1
1
  import io
2
2
  from javonet.core.protocol.TypeSerializer import TypeSerializer
3
+ from javonet.core.referenceCache.ReferencesCache import ReferencesCache
3
4
  from javonet.utils.Command import Command
5
+ from javonet.utils.CommandType import CommandType
4
6
  from javonet.utils.RuntimeName import RuntimeName
7
+ from javonet.utils.TypesHandler import TypesHandler
5
8
  from javonet.utils.connectionData.IConnectionData import IConnectionData
6
9
 
7
10
  class CommandSerializer:
@@ -25,5 +28,10 @@ class CommandSerializer:
25
28
  if isinstance(item, Command):
26
29
  ms.write(bytes(TypeSerializer.serialize_command(item)))
27
30
  self.serialize_recursively(item, ms)
31
+ elif TypesHandler.is_primitive_or_none(item):
32
+ ms.write(bytes(TypeSerializer.serialize_primitive(item)))
28
33
  else:
29
- ms.write(bytes(TypeSerializer.serialize_primitive(item)))
34
+ cached_reference = ReferencesCache().cache_reference(item)
35
+ ref_command = Command(RuntimeName.python, CommandType.Reference, cached_reference)
36
+ ms.write(bytes(TypeSerializer.serialize_command(ref_command)))
37
+ self.serialize_recursively(ref_command, ms)
@@ -24,7 +24,7 @@ class TypeSerializer:
24
24
  elif isinstance(payload_item, str):
25
25
  return TypeSerializer.serialize_string(payload_item)
26
26
  else:
27
- raise Exception("Python: Type serialization not supported for type: " + payload_item)
27
+ raise TypeError(f"Unsupported payload item type: {type(payload_item)} for payload item: {payload_item}.")
28
28
 
29
29
  @staticmethod
30
30
  def serialize_command(command):
@@ -14,3 +14,4 @@ class Type(Enum):
14
14
  JavonetUnsignedLongLong = 9
15
15
  JavonetUnsignedInteger = 10
16
16
  JavonetNoneType = 11
17
+ JavonetVoidType = 12
@@ -0,0 +1,5 @@
1
+ class TypesHandler:
2
+
3
+ @staticmethod
4
+ def is_primitive_or_none(item):
5
+ return isinstance(item, (int, float, bool, str)) or item is None