javonet-nodejs-sdk 2.5.9 → 2.5.10

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 (521) hide show
  1. package/Binaries/Clr/Javonet.Clr.Utils.dll +0 -0
  2. package/Binaries/Clr/JavonetClrRuntime.dll +0 -0
  3. package/Binaries/Jvm/JavonetJvmRuntime.jar +0 -0
  4. package/Binaries/Native/Linux/ARM64/libJavonetActivationService.so +0 -0
  5. package/Binaries/Native/Linux/ARM64/libJavonetCppRuntimeNative.so +0 -0
  6. package/Binaries/Native/Linux/ARM64/libJavonetGoRuntimeNative.so +0 -0
  7. package/Binaries/Native/Linux/ARM64/libJavonetJvmRuntimeNative.so +0 -0
  8. package/Binaries/Native/Linux/ARM64/libJavonetNetcoreRuntimeNative.so +0 -0
  9. package/Binaries/Native/Linux/ARM64/libJavonetPythonRuntimeNative.so +0 -0
  10. package/Binaries/Native/Linux/ARM64/libJavonetRuby278RuntimeNative.so +0 -0
  11. package/Binaries/Native/Linux/ARM64/libJavonetRubyRuntimeNative.so +0 -0
  12. package/Binaries/Native/Linux/ARM64/libJavonetTcpClient.so +0 -0
  13. package/Binaries/Native/Linux/ARM64/libJavonetTcpTlsClient.so +0 -0
  14. package/Binaries/Native/Linux/ARM64/libUtils.so +0 -0
  15. package/Binaries/Native/Linux/ARM64/version.txt +1 -1
  16. package/Binaries/Native/Linux/X64/NativeUtilsUnitTests.xml +30 -30
  17. package/Binaries/Native/Linux/X64/libJavonetActivationService.so +0 -0
  18. package/Binaries/Native/Linux/X64/libJavonetCppRuntimeNative.so +0 -0
  19. package/Binaries/Native/Linux/X64/libJavonetGoRuntimeNative.so +0 -0
  20. package/Binaries/Native/Linux/X64/libJavonetJvmRuntimeNative.so +0 -0
  21. package/Binaries/Native/Linux/X64/libJavonetNetcoreRuntimeNative.so +0 -0
  22. package/Binaries/Native/Linux/X64/libJavonetNodejs1816RuntimeNative.so +0 -0
  23. package/Binaries/Native/Linux/X64/libJavonetNodejsRuntimeNative.so +0 -0
  24. package/Binaries/Native/Linux/X64/libJavonetPerlRuntimeNative.so +0 -0
  25. package/Binaries/Native/Linux/X64/libJavonetPythonRuntimeNative.so +0 -0
  26. package/Binaries/Native/Linux/X64/libJavonetRuby278RuntimeNative.so +0 -0
  27. package/Binaries/Native/Linux/X64/libJavonetRubyRuntimeNative.so +0 -0
  28. package/Binaries/Native/Linux/X64/libJavonetTcpClient.so +0 -0
  29. package/Binaries/Native/Linux/X64/libJavonetTcpTlsClient.so +0 -0
  30. package/Binaries/Native/Linux/X64/libUtils.so +0 -0
  31. package/Binaries/Native/Linux/X64/openssl3/libJavonetActivationService.so +0 -0
  32. package/Binaries/Native/Linux/X64/openssl3/libJavonetTcpTlsClient.so +0 -0
  33. package/Binaries/Native/Linux/X64/openssl3/libUtils.so +0 -0
  34. package/Binaries/Native/Linux/X64/version.txt +1 -1
  35. package/Binaries/Native/MacOs/X64/libJavonetActivationService.dylib +0 -0
  36. package/Binaries/Native/MacOs/X64/libJavonetCppRuntimeNative.dylib +0 -0
  37. package/Binaries/Native/MacOs/X64/libJavonetGoRuntimeNative.dylib +0 -0
  38. package/Binaries/Native/MacOs/X64/libJavonetJvmRuntimeNative.dylib +0 -0
  39. package/Binaries/Native/MacOs/X64/libJavonetNetcoreRuntimeNative.dylib +0 -0
  40. package/Binaries/Native/MacOs/X64/libJavonetNodejs1816RuntimeNative.dylib +0 -0
  41. package/Binaries/Native/MacOs/X64/libJavonetNodejsRuntimeNative.dylib +0 -0
  42. package/Binaries/Native/MacOs/X64/libJavonetPerlRuntimeNative.dylib +0 -0
  43. package/Binaries/Native/MacOs/X64/libJavonetPythonRuntimeNative.dylib +0 -0
  44. package/Binaries/Native/MacOs/X64/libJavonetRuby278RuntimeNative.dylib +0 -0
  45. package/Binaries/Native/MacOs/X64/libJavonetRubyRuntimeNative.dylib +0 -0
  46. package/Binaries/Native/MacOs/X64/libJavonetTcpClient.dylib +0 -0
  47. package/Binaries/Native/MacOs/X64/libJavonetTcpTlsClient.dylib +0 -0
  48. package/Binaries/Native/MacOs/X64/libUtils.dylib +0 -0
  49. package/Binaries/Native/MacOs/X64/version.txt +1 -1
  50. package/Binaries/Native/Windows/ARM64/JavonetActivationService.dll +0 -0
  51. package/Binaries/Native/Windows/ARM64/JavonetCppRuntimeNative.dll +0 -0
  52. package/Binaries/Native/Windows/ARM64/JavonetGoRuntimeNative.dll +0 -0
  53. package/Binaries/Native/Windows/ARM64/JavonetJvmRuntimeNative.dll +0 -0
  54. package/Binaries/Native/Windows/ARM64/JavonetNetcoreRuntimeNative.dll +0 -0
  55. package/Binaries/Native/Windows/ARM64/JavonetPythonRuntimeNative.dll +0 -0
  56. package/Binaries/Native/Windows/ARM64/JavonetRuby278RuntimeNative.dll +0 -0
  57. package/Binaries/Native/Windows/ARM64/JavonetRubyRuntimeNative.dll +0 -0
  58. package/Binaries/Native/Windows/ARM64/JavonetTcpClient.dll +0 -0
  59. package/Binaries/Native/Windows/ARM64/JavonetTcpTlsClient.dll +0 -0
  60. package/Binaries/Native/Windows/ARM64/Utils.dll +0 -0
  61. package/Binaries/Native/Windows/ARM64/version.txt +0 -0
  62. package/Binaries/Native/Windows/X64/JavonetActivationService.dll +0 -0
  63. package/Binaries/Native/Windows/X64/JavonetClrRuntimeNative.dll +0 -0
  64. package/Binaries/Native/Windows/X64/JavonetCppRuntimeNative.dll +0 -0
  65. package/Binaries/Native/Windows/X64/JavonetGoRuntimeNative.dll +0 -0
  66. package/Binaries/Native/Windows/X64/JavonetJvmRuntimeNative.dll +0 -0
  67. package/Binaries/Native/Windows/X64/JavonetNetcoreRuntimeNative.dll +0 -0
  68. package/Binaries/Native/Windows/X64/JavonetNodejs1816RuntimeNative.dll +0 -0
  69. package/Binaries/Native/Windows/X64/JavonetNodejsRuntimeNative.dll +0 -0
  70. package/Binaries/Native/Windows/X64/JavonetPerlRuntimeNative.dll +0 -0
  71. package/Binaries/Native/Windows/X64/JavonetPythonRuntimeNative.dll +0 -0
  72. package/Binaries/Native/Windows/X64/JavonetRuby278RuntimeNative.dll +0 -0
  73. package/Binaries/Native/Windows/X64/JavonetRubyRuntimeNative.dll +0 -0
  74. package/Binaries/Native/Windows/X64/JavonetTcpClient.dll +0 -0
  75. package/Binaries/Native/Windows/X64/JavonetTcpTlsClient.dll +0 -0
  76. package/Binaries/Native/Windows/X64/Utils.dll +0 -0
  77. package/Binaries/Native/Windows/X64/version.txt +1 -1
  78. package/Binaries/Native/Windows/X86/JavonetActivationService.dll +0 -0
  79. package/Binaries/Native/Windows/X86/JavonetClrRuntimeNative.dll +0 -0
  80. package/Binaries/Native/Windows/X86/JavonetCppRuntimeNative.dll +0 -0
  81. package/Binaries/Native/Windows/X86/JavonetGoRuntimeNative.dll +0 -0
  82. package/Binaries/Native/Windows/X86/JavonetJvmRuntimeNative.dll +0 -0
  83. package/Binaries/Native/Windows/X86/JavonetNetcoreRuntimeNative.dll +0 -0
  84. package/Binaries/Native/Windows/X86/JavonetPythonRuntimeNative.dll +0 -0
  85. package/Binaries/Native/Windows/X86/JavonetTcpClient.dll +0 -0
  86. package/Binaries/Native/Windows/X86/JavonetTcpTlsClient.dll +0 -0
  87. package/Binaries/Native/Windows/X86/Utils.dll +0 -0
  88. package/Binaries/Native/Windows/X86/version.txt +1 -1
  89. package/Binaries/Netcore/Javonet.Netcore.Core.dll +0 -0
  90. package/Binaries/Netcore/Javonet.Netcore.Utils.dll +0 -0
  91. package/Binaries/Nodejs/index.js +2 -0
  92. package/Binaries/Nodejs/lib/core/delegatesCache/DelegatesCache.js +35 -0
  93. package/Binaries/Nodejs/lib/core/handler/ConvertTypeHandler.js +38 -0
  94. package/Binaries/Nodejs/lib/core/handler/GetInstanceMethodAsDelegateHandler.js +73 -0
  95. package/Binaries/Nodejs/lib/core/handler/GetStaticMethodAsDelegateHandler.js +74 -0
  96. package/Binaries/Nodejs/lib/core/handler/Handler.js +10 -0
  97. package/Binaries/Nodejs/lib/core/handler/InvokeDelegateHandler.js +36 -0
  98. package/Binaries/Nodejs/lib/core/handler/PassDelegateHandler.js +157 -0
  99. package/Binaries/Nodejs/lib/sdk/InvocationContext.js +43 -0
  100. package/Binaries/Nodejs/lib/sdk/RuntimeContext.js +9 -0
  101. package/Binaries/Nodejs/lib/utils/CommandType.js +6 -1
  102. package/Binaries/Nodejs/lib/utils/TypesConverter.js +91 -0
  103. package/Binaries/Nodejs/lib/utils/guid/generateGuid.js +9 -0
  104. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-events +62 -0
  105. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-highlight +54 -0
  106. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load +144 -0
  107. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-load-dump +303 -0
  108. package/Binaries/Perl/Linux/X64/deps/bin/yamlpp-parse-emit +123 -0
  109. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Capture/Tiny.pm +23 -7
  110. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Cache.pm +1 -1
  111. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Document/File.pm +1 -1
  112. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Document/Fragment.pm +1 -1
  113. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Document/Normalized.pm +1 -1
  114. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Document.pm +102 -19
  115. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Dumper.pm +1 -1
  116. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Element.pm +24 -1
  117. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Exception/ParserRejection.pm +1 -1
  118. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Exception.pm +1 -1
  119. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Find.pm +1 -1
  120. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Lexer.pm +39 -4
  121. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Node.pm +1 -1
  122. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Normal/Standard.pm +1 -1
  123. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Normal.pm +1 -1
  124. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Singletons.pm +1 -1
  125. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Break.pm +1 -1
  126. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Compound.pm +6 -2
  127. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Data.pm +1 -1
  128. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/End.pm +1 -1
  129. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Expression.pm +1 -1
  130. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Given.pm +1 -1
  131. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Include/Perl6.pm +1 -1
  132. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Include.pm +101 -1
  133. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Null.pm +1 -1
  134. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Package.pm +1 -1
  135. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Scheduled.pm +1 -1
  136. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Sub.pm +1 -1
  137. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Unknown.pm +1 -1
  138. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/UnmatchedBrace.pm +1 -1
  139. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/Variable.pm +1 -1
  140. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement/When.pm +1 -1
  141. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Statement.pm +1 -1
  142. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Block.pm +1 -1
  143. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Condition.pm +1 -1
  144. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Constructor.pm +1 -1
  145. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/For.pm +1 -1
  146. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Given.pm +1 -1
  147. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/List.pm +1 -1
  148. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Signature.pm +61 -0
  149. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Subscript.pm +1 -1
  150. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/Unknown.pm +1 -1
  151. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure/When.pm +1 -1
  152. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Structure.pm +2 -1
  153. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/ArrayIndex.pm +1 -1
  154. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Attribute.pm +1 -1
  155. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/BOM.pm +1 -1
  156. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Cast.pm +1 -1
  157. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Comment.pm +1 -1
  158. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/DashedWord.pm +1 -1
  159. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Data.pm +1 -1
  160. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/End.pm +1 -1
  161. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/HereDoc.pm +1 -1
  162. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Label.pm +1 -1
  163. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Magic.pm +1 -1
  164. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Binary.pm +1 -1
  165. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Exp.pm +1 -1
  166. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Float.pm +1 -1
  167. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Hex.pm +1 -1
  168. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Octal.pm +1 -1
  169. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number/Version.pm +1 -1
  170. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Number.pm +1 -1
  171. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Operator.pm +1 -1
  172. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Pod.pm +1 -1
  173. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Prototype.pm +1 -1
  174. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote/Double.pm +1 -1
  175. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote/Interpolate.pm +1 -1
  176. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote/Literal.pm +1 -1
  177. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote/Single.pm +1 -1
  178. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Quote.pm +1 -1
  179. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Backtick.pm +1 -1
  180. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Command.pm +1 -1
  181. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Readline.pm +1 -1
  182. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Regexp.pm +1 -1
  183. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike/Words.pm +1 -1
  184. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/QuoteLike.pm +1 -1
  185. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Regexp/Match.pm +1 -1
  186. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Regexp/Substitute.pm +1 -1
  187. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Regexp/Transliterate.pm +1 -1
  188. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Regexp.pm +1 -1
  189. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Separator.pm +1 -1
  190. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Structure.pm +1 -1
  191. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Symbol.pm +1 -1
  192. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Unknown.pm +28 -1
  193. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Whitespace.pm +3 -3
  194. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/Word.pm +1 -1
  195. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/_QuoteEngine/Full.pm +1 -1
  196. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/_QuoteEngine/Simple.pm +1 -1
  197. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token/_QuoteEngine.pm +1 -1
  198. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Token.pm +1 -1
  199. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Tokenizer.pm +26 -1
  200. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Transform/UpdateCopyright.pm +1 -1
  201. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Transform.pm +1 -1
  202. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/Util.pm +1 -1
  203. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI/XSAccessor.pm +1 -1
  204. package/Binaries/Perl/Linux/X64/deps/lib/perl5/PPI.pm +1 -1
  205. package/Binaries/Perl/Linux/X64/deps/lib/perl5/Safe/Isa.pm +213 -0
  206. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Common.pm +273 -0
  207. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Constructor.pm +429 -0
  208. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Dumper.pm +283 -0
  209. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1165 -0
  210. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Exception.pm +79 -0
  211. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Grammar.pm +2150 -0
  212. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Highlight.pm +235 -0
  213. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Lexer.pm +962 -0
  214. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Loader.pm +101 -0
  215. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Parser.pm +1469 -0
  216. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Perl.pm +83 -0
  217. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Reader.pm +78 -0
  218. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Render.pm +155 -0
  219. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Representer.pm +230 -0
  220. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +102 -0
  221. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +155 -0
  222. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +49 -0
  223. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +259 -0
  224. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +259 -0
  225. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +109 -0
  226. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1000 -0
  227. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +156 -0
  228. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +249 -0
  229. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Schema.pm +438 -0
  230. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +40 -0
  231. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +104 -0
  232. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP/Writer.pm +89 -0
  233. package/Binaries/Perl/Linux/X64/deps/lib/perl5/YAML/PP.pm +1513 -0
  234. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Attribute-Util-1.07/install.json +1 -1
  235. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{Capture-Tiny-0.48 → Capture-Tiny-0.50}/MYMETA.json +12 -7
  236. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.50/install.json +1 -0
  237. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-0.25/install.json +1 -1
  238. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Class-Load-XS-0.10/install.json +1 -1
  239. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Clone-0.47/install.json +1 -1
  240. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-Cmp-0.010/install.json +1 -1
  241. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-OptList-0.114/install.json +1 -1
  242. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Data-UUID-1.227/install.json +1 -1
  243. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-GlobalDestruction-0.14/install.json +1 -1
  244. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-OverloadInfo-0.007/install.json +1 -1
  245. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Devel-StackTrace-2.05/install.json +1 -1
  246. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Dist-CheckConflicts-0.11/install.json +1 -1
  247. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Eval-Closure-0.14/install.json +1 -1
  248. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Config-0.010/install.json +1 -1
  249. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-Helpers-0.028/install.json +1 -1
  250. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/ExtUtils-InstallPaths-0.014/install.json +1 -1
  251. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-CheckLib-0.31/install.json +1 -1
  252. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{FFI-Platypus-2.09 → FFI-Platypus-2.10}/MYMETA.json +1 -1
  253. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.10/install.json +1 -0
  254. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/File-Which-1.27/install.json +1 -1
  255. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/IPC-System-Simple-1.30/install.json +1 -1
  256. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/MRO-Compat-0.15/install.json +1 -1
  257. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-0.4234/install.json +1 -1
  258. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Build-Tiny-0.051/install.json +1 -1
  259. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Implementation-0.09/install.json +1 -1
  260. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-0.016/install.json +1 -1
  261. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Module-Runtime-Conflicts-0.003/install.json +1 -1
  262. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Moose-2.2207/install.json +1 -1
  263. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Nice-Try-v1.3.15/install.json +1 -1
  264. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/{PPI-1.279 → PPI-1.281}/MYMETA.json +101 -94
  265. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.281/install.json +1 -0
  266. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-XS-0.910/install.json +1 -1
  267. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-DeprecationManager-0.18/install.json +1 -1
  268. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-0.40/install.json +1 -1
  269. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Package-Stash-XS-0.30/install.json +1 -1
  270. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Params-Util-1.102/install.json +1 -1
  271. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Path-Tiny-0.146/install.json +1 -1
  272. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Safe-Isa-1.000010/MYMETA.json +64 -0
  273. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Safe-Isa-1.000010/install.json +1 -0
  274. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-List-Utils-1.68/install.json +1 -1
  275. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  276. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Scope-Guard-0.21/install.json +1 -1
  277. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-0.991/install.json +1 -1
  278. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Exporter-Progressive-0.001013/install.json +1 -1
  279. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Sub-Install-0.929/install.json +1 -1
  280. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Task-Weaken-1.06/install.json +1 -1
  281. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Test-Fatal-0.017/install.json +1 -1
  282. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Try-Tiny-0.32/install.json +1 -1
  283. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Want-0.29/install.json +1 -1
  284. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.38.0/MYMETA.json +218 -0
  285. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/YAML-PP-v0.38.0/install.json +1 -0
  286. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/aliased-0.34/install.json +1 -1
  287. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/autobox-v3.0.2/install.json +1 -1
  288. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Build.pm +2 -2
  289. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/API.pm +2 -2
  290. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Buffer.pm +2 -2
  291. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Bundle.pm +2 -2
  292. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Closure.pm +3 -3
  293. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Constant.pm +2 -2
  294. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/DL.pm +2 -2
  295. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Function.pm +2 -2
  296. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Internal.pm +2 -2
  297. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Lang/ASM.pm +2 -2
  298. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Lang/C.pm +2 -2
  299. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Lang/Win32.pm +2 -2
  300. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Lang.pm +2 -2
  301. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Legacy.pm +2 -2
  302. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Memory.pm +2 -2
  303. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Record/Meta.pm +2 -2
  304. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Record/TieArray.pm +2 -2
  305. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Record.pm +2 -2
  306. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/ShareConfig.pm +2 -2
  307. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type/PointerSizeBuffer.pm +2 -2
  308. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type/StringArray.pm +2 -2
  309. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type/StringPointer.pm +2 -2
  310. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type/WideString.pm +2 -2
  311. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/Type.pm +2 -2
  312. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/TypeParser/Version0.pm +2 -2
  313. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/TypeParser/Version1.pm +2 -2
  314. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/TypeParser/Version2.pm +2 -2
  315. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus/TypeParser.pm +2 -2
  316. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Platypus.pm +2 -2
  317. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Probe/Runner/Builder.pm +2 -2
  318. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Probe/Runner/Result.pm +2 -2
  319. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Probe/Runner.pm +2 -2
  320. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Probe.pm +2 -2
  321. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/FFI/Temp.pm +2 -2
  322. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Class/Load/XS/XS.so +0 -0
  323. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Data/UUID/UUID.so +0 -0
  324. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/FFI/Platypus/Platypus.so +0 -0
  325. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/Util/Util.so +0 -0
  326. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Moose/Moose.so +0 -0
  327. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/.packlist +2 -0
  328. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/PPI/XS/XS.so +0 -0
  329. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Package/Stash/XS/XS.so +0 -0
  330. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Params/Util/Util.so +0 -0
  331. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Safe/Isa/.packlist +2 -0
  332. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/Want/Want.so +0 -0
  333. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/auto/YAML/PP/.packlist +53 -0
  334. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/perllocal.pod +131 -87
  335. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events +62 -0
  336. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-events.bat +79 -0
  337. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight +54 -0
  338. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-highlight.bat +71 -0
  339. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load +144 -0
  340. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump +303 -0
  341. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load-dump.bat +320 -0
  342. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-load.bat +161 -0
  343. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit +123 -0
  344. package/Binaries/Perl/Windows/X64/deps/bin/yamlpp-parse-emit.bat +140 -0
  345. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Attribute-Util-1.07/install.json +1 -1
  346. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-Cmp-0.010/install.json +1 -1
  347. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Data-UUID-1.227/install.json +1 -1
  348. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Nice-Try-v1.3.15/install.json +1 -1
  349. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/{PPI-1.279 → PPI-1.281}/MYMETA.json +101 -94
  350. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.281/install.json +1 -0
  351. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-XS-0.910/install.json +1 -1
  352. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Safe-Isa-1.000010/MYMETA.json +64 -0
  353. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Safe-Isa-1.000010/install.json +1 -0
  354. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Scalar-Util-Numeric-0.40/install.json +1 -1
  355. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Test-Fatal-0.017/install.json +1 -1
  356. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/Want-0.29/install.json +1 -1
  357. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.38.0/MYMETA.json +218 -0
  358. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/YAML-PP-v0.38.0/install.json +1 -0
  359. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/autobox-v3.0.2/install.json +1 -1
  360. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Data/UUID/UUID.xs.dll +0 -0
  361. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/.packlist +1 -0
  362. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/PPI/XS/XS.xs.dll +0 -0
  363. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Safe/Isa/.packlist +1 -0
  364. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Scalar/Util/Numeric/Numeric.xs.dll +0 -0
  365. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/Want/Want.xs.dll +0 -0
  366. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/YAML/PP/.packlist +38 -0
  367. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/auto/autobox/autobox.xs.dll +0 -0
  368. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/perllocal.pod +62 -18
  369. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Cache.pm +1 -1
  370. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Document/File.pm +1 -1
  371. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Document/Fragment.pm +1 -1
  372. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Document/Normalized.pm +1 -1
  373. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Document.pm +102 -19
  374. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Dumper.pm +1 -1
  375. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Element.pm +24 -1
  376. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Exception/ParserRejection.pm +1 -1
  377. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Exception.pm +1 -1
  378. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Find.pm +1 -1
  379. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Lexer.pm +39 -4
  380. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Node.pm +1 -1
  381. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Normal/Standard.pm +1 -1
  382. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Normal.pm +1 -1
  383. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Singletons.pm +1 -1
  384. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Break.pm +1 -1
  385. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Compound.pm +6 -2
  386. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Data.pm +1 -1
  387. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/End.pm +1 -1
  388. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Expression.pm +1 -1
  389. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Given.pm +1 -1
  390. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Include/Perl6.pm +1 -1
  391. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Include.pm +101 -1
  392. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Null.pm +1 -1
  393. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Package.pm +1 -1
  394. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Scheduled.pm +1 -1
  395. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Sub.pm +1 -1
  396. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Unknown.pm +1 -1
  397. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/UnmatchedBrace.pm +1 -1
  398. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/Variable.pm +1 -1
  399. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement/When.pm +1 -1
  400. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Statement.pm +1 -1
  401. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Block.pm +1 -1
  402. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Condition.pm +1 -1
  403. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Constructor.pm +1 -1
  404. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/For.pm +1 -1
  405. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Given.pm +1 -1
  406. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/List.pm +1 -1
  407. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Signature.pm +61 -0
  408. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Subscript.pm +1 -1
  409. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/Unknown.pm +1 -1
  410. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure/When.pm +1 -1
  411. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Structure.pm +2 -1
  412. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/ArrayIndex.pm +1 -1
  413. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Attribute.pm +1 -1
  414. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/BOM.pm +1 -1
  415. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Cast.pm +1 -1
  416. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Comment.pm +1 -1
  417. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/DashedWord.pm +1 -1
  418. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Data.pm +1 -1
  419. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/End.pm +1 -1
  420. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/HereDoc.pm +1 -1
  421. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Label.pm +1 -1
  422. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Magic.pm +1 -1
  423. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Binary.pm +1 -1
  424. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Exp.pm +1 -1
  425. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Float.pm +1 -1
  426. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Hex.pm +1 -1
  427. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Octal.pm +1 -1
  428. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number/Version.pm +1 -1
  429. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Number.pm +1 -1
  430. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Operator.pm +1 -1
  431. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Pod.pm +1 -1
  432. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Prototype.pm +1 -1
  433. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote/Double.pm +1 -1
  434. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote/Interpolate.pm +1 -1
  435. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote/Literal.pm +1 -1
  436. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote/Single.pm +1 -1
  437. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Quote.pm +1 -1
  438. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Backtick.pm +1 -1
  439. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Command.pm +1 -1
  440. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Readline.pm +1 -1
  441. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Regexp.pm +1 -1
  442. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike/Words.pm +1 -1
  443. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/QuoteLike.pm +1 -1
  444. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Regexp/Match.pm +1 -1
  445. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Regexp/Substitute.pm +1 -1
  446. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Regexp/Transliterate.pm +1 -1
  447. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Regexp.pm +1 -1
  448. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Separator.pm +1 -1
  449. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Structure.pm +1 -1
  450. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Symbol.pm +1 -1
  451. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Unknown.pm +28 -1
  452. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Whitespace.pm +3 -3
  453. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/Word.pm +1 -1
  454. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/_QuoteEngine/Full.pm +1 -1
  455. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/_QuoteEngine/Simple.pm +1 -1
  456. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token/_QuoteEngine.pm +1 -1
  457. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Token.pm +1 -1
  458. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Tokenizer.pm +26 -1
  459. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Transform/UpdateCopyright.pm +1 -1
  460. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Transform.pm +1 -1
  461. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/Util.pm +1 -1
  462. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI/XSAccessor.pm +1 -1
  463. package/Binaries/Perl/Windows/X64/deps/lib/perl5/PPI.pm +1 -1
  464. package/Binaries/Perl/Windows/X64/deps/lib/perl5/Safe/Isa.pm +213 -0
  465. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Common.pm +273 -0
  466. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Constructor.pm +429 -0
  467. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Dumper.pm +283 -0
  468. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Emitter.pm +1165 -0
  469. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Exception.pm +79 -0
  470. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Grammar.pm +2150 -0
  471. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Highlight.pm +235 -0
  472. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Lexer.pm +962 -0
  473. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Loader.pm +101 -0
  474. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Parser.pm +1469 -0
  475. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Perl.pm +83 -0
  476. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Reader.pm +78 -0
  477. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Render.pm +155 -0
  478. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Representer.pm +230 -0
  479. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Binary.pm +102 -0
  480. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Core.pm +155 -0
  481. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Failsafe.pm +49 -0
  482. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Include.pm +259 -0
  483. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/JSON.pm +259 -0
  484. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Merge.pm +109 -0
  485. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Perl.pm +1000 -0
  486. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/Tie/IxHash.pm +156 -0
  487. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema/YAML1_1.pm +249 -0
  488. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Schema.pm +438 -0
  489. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Type/MergeKey.pm +40 -0
  490. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer/File.pm +104 -0
  491. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP/Writer.pm +89 -0
  492. package/Binaries/Perl/Windows/X64/deps/lib/perl5/YAML/PP.pm +1513 -0
  493. package/Binaries/Python/javonet/core/handler/GetTypeHandler.py +9 -10
  494. package/Binaries/version.txt +1 -1
  495. package/dist/Javonet.d.ts +1137 -102
  496. package/dist/index.js +2 -0
  497. package/dist/lib/core/delegatesCache/DelegatesCache.js +35 -0
  498. package/dist/lib/core/handler/ConvertTypeHandler.js +38 -0
  499. package/dist/lib/core/handler/GetInstanceMethodAsDelegateHandler.js +73 -0
  500. package/dist/lib/core/handler/GetStaticMethodAsDelegateHandler.js +74 -0
  501. package/dist/lib/core/handler/Handler.js +10 -0
  502. package/dist/lib/core/handler/InvokeDelegateHandler.js +36 -0
  503. package/dist/lib/core/handler/PassDelegateHandler.js +157 -0
  504. package/dist/lib/sdk/InvocationContext.js +43 -0
  505. package/dist/lib/sdk/RuntimeContext.js +9 -0
  506. package/dist/lib/utils/CommandType.js +6 -1
  507. package/dist/lib/utils/TypesConverter.js +91 -0
  508. package/dist/lib/utils/guid/generateGuid.js +9 -0
  509. package/lib/core/handler/ConvertTypeHandler.js +38 -0
  510. package/lib/core/handler/GetInstanceMethodAsDelegateHandler.js +73 -0
  511. package/lib/core/handler/GetStaticMethodAsDelegateHandler.js +74 -0
  512. package/lib/core/handler/Handler.js +10 -0
  513. package/lib/core/handler/InvokeDelegateHandler.js +36 -0
  514. package/lib/core/handler/PassDelegateHandler.js +157 -0
  515. package/lib/sdk/RuntimeContext.js +4 -220
  516. package/lib/utils/TypesConverter.js +91 -0
  517. package/package.json +1 -1
  518. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/Capture-Tiny-0.48/install.json +0 -1
  519. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/FFI-Platypus-2.09/install.json +0 -1
  520. package/Binaries/Perl/Linux/X64/deps/lib/perl5/x86_64-linux-gnu-thread-multi/.meta/PPI-1.279/install.json +0 -1
  521. package/Binaries/Perl/Windows/X64/deps/lib/perl5/MSWin32-x64-multi-thread/.meta/PPI-1.279/install.json +0 -1
@@ -0,0 +1,1000 @@
1
+ use strict;
2
+ use warnings;
3
+ package YAML::PP::Schema::Perl;
4
+
5
+ our $VERSION = 'v0.38.0'; # VERSION
6
+
7
+ use Scalar::Util qw/ blessed reftype /;
8
+
9
+ my $qr_prefix;
10
+ # workaround to avoid growing regexes when repeatedly loading and dumping
11
+ # e.g. (?^:(?^:regex))
12
+ {
13
+ $qr_prefix = qr{\(\?-xism\:};
14
+ if ($] >= 5.014) {
15
+ $qr_prefix = qr{\(\?\^(?:[uadl])?\:};
16
+ }
17
+ }
18
+
19
+ sub new {
20
+ my ($class, %args) = @_;
21
+ my $tags = $args{tags} || [];
22
+ my $loadcode = $args{loadcode} || 0;
23
+ my $dumpcode = $args{dumpcode};
24
+ $dumpcode = 1 unless defined $dumpcode;
25
+ my $classes = $args{classes};
26
+
27
+ my $self = bless {
28
+ tags => $tags,
29
+ loadcode => $loadcode,
30
+ dumpcode => $dumpcode,
31
+ classes => $classes,
32
+ }, $class;
33
+ }
34
+
35
+ sub register {
36
+ my ($self, %args) = @_;
37
+ my $schema = $args{schema};
38
+
39
+ my $tags;
40
+ my $loadcode = 0;
41
+ my $dumpcode = 1;
42
+ my $classes;
43
+ if (blessed($self)) {
44
+ $tags = $self->{tags};
45
+ @$tags = ('!perl') unless @$tags;
46
+ $loadcode = $self->{loadcode};
47
+ $dumpcode = $self->{dumpcode};
48
+ $classes = $self->{classes};
49
+ }
50
+ else {
51
+ my $options = $args{options};
52
+ my $tagtype = '!perl';
53
+ for my $option (@$options) {
54
+ if ($option =~ m/^tags?=(.+)$/) {
55
+ $tagtype = $1;
56
+ }
57
+ elsif ($option eq '+loadcode') {
58
+ $loadcode = 1;
59
+ }
60
+ elsif ($option eq '-dumpcode') {
61
+ $dumpcode = 0;
62
+ }
63
+ }
64
+ $tags = [split m/\+/, $tagtype];
65
+ }
66
+
67
+
68
+ my $perl_tag;
69
+ my %tagtypes;
70
+ my @perl_tags;
71
+ for my $type (@$tags) {
72
+ if ($type eq '!perl') {
73
+ $perl_tag ||= $type;
74
+ push @perl_tags, '!perl';
75
+ }
76
+ elsif ($type eq '!!perl') {
77
+ $perl_tag ||= 'tag:yaml.org,2002:perl';
78
+ push @perl_tags, 'tag:yaml.org,2002:perl';
79
+ }
80
+ else {
81
+ die "Invalid tagtype '$type'";
82
+ }
83
+ $tagtypes{ $type } = 1;
84
+ }
85
+
86
+ my $perl_regex = '!perl';
87
+ if ($tagtypes{'!perl'} and $tagtypes{'!!perl'}) {
88
+ $perl_regex = '(?:tag:yaml\\.org,2002:|!)perl';
89
+ }
90
+ elsif ($tagtypes{'!perl'}) {
91
+ $perl_regex = '!perl';
92
+ }
93
+ elsif ($tagtypes{'!!perl'}) {
94
+ $perl_regex = 'tag:yaml\\.org,2002:perl';
95
+ }
96
+
97
+ my $class_regex = qr{.+};
98
+ my $no_objects = 0;
99
+ if ($classes) {
100
+ if (@$classes) {
101
+ $class_regex = '(' . join( '|', map "\Q$_\E", @$classes ) . ')';
102
+ }
103
+ else {
104
+ $no_objects = 1;
105
+ $class_regex = '';
106
+ }
107
+ }
108
+
109
+ # Code
110
+ if ($loadcode) {
111
+ my $load_code = sub {
112
+ my ($constructor, $event) = @_;
113
+ return $self->evaluate_code($event->{value});
114
+ };
115
+ my $load_code_blessed = sub {
116
+ my ($constructor, $event) = @_;
117
+ my $class = $event->{tag};
118
+ $class =~ s{^$perl_regex/code:}{};
119
+ my $sub = $self->evaluate_code($event->{value});
120
+ return $self->object($sub, $class);
121
+ };
122
+ $schema->add_resolver(
123
+ tag => "$_/code",
124
+ match => [ all => $load_code],
125
+ implicit => 0,
126
+ ) for @perl_tags;
127
+ $schema->add_resolver(
128
+ tag => qr{^$perl_regex/code:$class_regex$},
129
+ match => [ all => $load_code_blessed ],
130
+ implicit => 0,
131
+ );
132
+ $schema->add_resolver(
133
+ tag => qr{^$perl_regex/code:.+},
134
+ match => [ all => $load_code ],
135
+ implicit => 0,
136
+ ) if $no_objects;
137
+ }
138
+ else {
139
+ my $loadcode_dummy = sub { return sub {} };
140
+ my $loadcode_blessed_dummy = sub {
141
+ my ($constructor, $event) = @_;
142
+ my $class = $event->{tag};
143
+ $class =~ s{^$perl_regex/code:}{};
144
+ return $self->object(sub {}, $class);
145
+ };
146
+ $schema->add_resolver(
147
+ tag => "$_/code",
148
+ match => [ all => $loadcode_dummy ],
149
+ implicit => 0,
150
+ ) for @perl_tags;
151
+ $schema->add_resolver(
152
+ tag => qr{^$perl_regex/code:$class_regex$},
153
+ match => [ all => $loadcode_blessed_dummy ],
154
+ implicit => 0,
155
+ );
156
+ $schema->add_resolver(
157
+ tag => qr{^$perl_regex/code:.+},
158
+ match => [ all => $loadcode_dummy ],
159
+ implicit => 0,
160
+ ) if $no_objects;
161
+ }
162
+
163
+ # Glob
164
+ my $load_glob = sub {
165
+ my $value = undef;
166
+ return \$value;
167
+ };
168
+ my $load_glob_blessed = sub {
169
+ my ($constructor, $event) = @_;
170
+ my $class = $event->{tag};
171
+ $class =~ s{^$perl_regex/glob:}{};
172
+ my $value = undef;
173
+ return $self->object(\$value, $class);
174
+ };
175
+
176
+ $schema->add_mapping_resolver(
177
+ tag => "$_/glob",
178
+ on_create => $load_glob,
179
+ on_data => sub {
180
+ my ($constructor, $ref, $list) = @_;
181
+ $$ref = $self->construct_glob($list);
182
+ },
183
+ ) for @perl_tags;
184
+ if ($no_objects) {
185
+ $schema->add_mapping_resolver(
186
+ tag => qr{^$perl_regex/glob:.+$},
187
+ on_create => $load_glob,
188
+ on_data => sub {
189
+ my ($constructor, $ref, $list) = @_;
190
+ $$ref = $self->construct_glob($list);
191
+ },
192
+ );
193
+ }
194
+ else {
195
+ $schema->add_mapping_resolver(
196
+ tag => qr{^$perl_regex/glob:$class_regex$},
197
+ on_create => $load_glob_blessed,
198
+ on_data => sub {
199
+ my ($constructor, $ref, $list) = @_;
200
+ $$$ref = $self->construct_glob($list);
201
+ },
202
+ );
203
+ }
204
+
205
+ # Regex
206
+ my $load_regex = sub {
207
+ my ($constructor, $event) = @_;
208
+ return $self->construct_regex($event->{value});
209
+ };
210
+ my $load_regex_blessed = sub {
211
+ my ($constructor, $event) = @_;
212
+ my $class = $event->{tag};
213
+ $class =~ s{^$perl_regex/regexp:}{};
214
+ my $qr = $self->construct_regex($event->{value});
215
+ return $self->object($qr, $class);
216
+ };
217
+ $schema->add_resolver(
218
+ tag => "$_/regexp",
219
+ match => [ all => $load_regex ],
220
+ implicit => 0,
221
+ ) for @perl_tags;
222
+ $schema->add_resolver(
223
+ tag => qr{^$perl_regex/regexp:$class_regex$},
224
+ match => [ all => $load_regex_blessed ],
225
+ implicit => 0,
226
+ );
227
+ $schema->add_resolver(
228
+ tag => qr{^$perl_regex/regexp:$class_regex$},
229
+ match => [ all => $load_regex ],
230
+ implicit => 0,
231
+ ) if $no_objects;
232
+
233
+ my $load_sequence = sub { return [] };
234
+ my $load_sequence_blessed = sub {
235
+ my ($constructor, $event) = @_;
236
+ my $class = $event->{tag};
237
+ $class =~ s{^$perl_regex/array:}{};
238
+ return $self->object([], $class);
239
+ };
240
+ $schema->add_sequence_resolver(
241
+ tag => "$_/array",
242
+ on_create => $load_sequence,
243
+ ) for @perl_tags;
244
+ $schema->add_sequence_resolver(
245
+ tag => qr{^$perl_regex/array:$class_regex$},
246
+ on_create => $load_sequence_blessed,
247
+ );
248
+ $schema->add_sequence_resolver(
249
+ tag => qr{^$perl_regex/array:.+$},
250
+ on_create => $load_sequence,
251
+ ) if $no_objects;
252
+
253
+ my $load_mapping = sub { return {} };
254
+ my $load_mapping_blessed = sub {
255
+ my ($constructor, $event) = @_;
256
+ my $class = $event->{tag};
257
+ $class =~ s{^$perl_regex/hash:}{};
258
+ return $self->object({}, $class);
259
+ };
260
+ $schema->add_mapping_resolver(
261
+ tag => "$_/hash",
262
+ on_create => $load_mapping,
263
+ ) for @perl_tags;
264
+ $schema->add_mapping_resolver(
265
+ tag => qr{^$perl_regex/hash:$class_regex$},
266
+ on_create => $load_mapping_blessed,
267
+ );
268
+ $schema->add_mapping_resolver(
269
+ tag => qr{^$perl_regex/hash:.+$},
270
+ on_create => $load_mapping,
271
+ ) if $no_objects;
272
+
273
+ # Ref
274
+ my $load_ref = sub {
275
+ my $value = undef;
276
+ return \$value;
277
+ };
278
+ my $load_ref_blessed = sub {
279
+ my ($constructor, $event) = @_;
280
+ my $class = $event->{tag};
281
+ $class =~ s{^$perl_regex/ref:}{};
282
+ my $value = undef;
283
+ return $self->object(\$value, $class);
284
+ };
285
+ $schema->add_mapping_resolver(
286
+ tag => "$_/ref",
287
+ on_create => $load_ref,
288
+ on_data => sub {
289
+ my ($constructor, $ref, $list) = @_;
290
+ $$$ref = $self->construct_ref($list);
291
+ },
292
+ ) for @perl_tags;
293
+ $schema->add_mapping_resolver(
294
+ tag => qr{^$perl_regex/ref:$class_regex$},
295
+ on_create => $load_ref_blessed,
296
+ on_data => sub {
297
+ my ($constructor, $ref, $list) = @_;
298
+ $$$ref = $self->construct_ref($list);
299
+ },
300
+ );
301
+ $schema->add_mapping_resolver(
302
+ tag => qr{^$perl_regex/ref:.+$},
303
+ on_create => $load_ref,
304
+ on_data => sub {
305
+ my ($constructor, $ref, $list) = @_;
306
+ $$$ref = $self->construct_ref($list);
307
+ },
308
+ ) if $no_objects;
309
+
310
+ # Scalar ref
311
+ my $load_scalar_ref = sub {
312
+ my $value = undef;
313
+ return \$value;
314
+ };
315
+ my $load_scalar_ref_blessed = sub {
316
+ my ($constructor, $event) = @_;
317
+ my $class = $event->{tag};
318
+ $class =~ s{^$perl_regex/scalar:}{};
319
+ my $value = undef;
320
+ return $self->object(\$value, $class);
321
+ };
322
+ $schema->add_mapping_resolver(
323
+ tag => "$_/scalar",
324
+ on_create => $load_scalar_ref,
325
+ on_data => sub {
326
+ my ($constructor, $ref, $list) = @_;
327
+ $$$ref = $self->construct_scalar($list);
328
+ },
329
+ ) for @perl_tags;
330
+ $schema->add_mapping_resolver(
331
+ tag => qr{^$perl_regex/scalar:$class_regex$},
332
+ on_create => $load_scalar_ref_blessed,
333
+ on_data => sub {
334
+ my ($constructor, $ref, $list) = @_;
335
+ $$$ref = $self->construct_scalar($list);
336
+ },
337
+ );
338
+ $schema->add_mapping_resolver(
339
+ tag => qr{^$perl_regex/scalar:.+$},
340
+ on_create => $load_scalar_ref,
341
+ on_data => sub {
342
+ my ($constructor, $ref, $list) = @_;
343
+ $$$ref = $self->construct_scalar($list);
344
+ },
345
+ ) if $no_objects;
346
+
347
+ $schema->add_representer(
348
+ scalarref => 1,
349
+ code => sub {
350
+ my ($rep, $node) = @_;
351
+ $node->{tag} = $perl_tag . "/scalar";
352
+ $node->{data} = $self->represent_scalar($node->{value});
353
+ },
354
+ );
355
+ $schema->add_representer(
356
+ refref => 1,
357
+ code => sub {
358
+ my ($rep, $node) = @_;
359
+ $node->{tag} = $perl_tag . "/ref";
360
+ $node->{data} = $self->represent_ref($node->{value});
361
+ },
362
+ );
363
+ $schema->add_representer(
364
+ coderef => 1,
365
+ code => sub {
366
+ my ($rep, $node) = @_;
367
+ $node->{tag} = $perl_tag . "/code";
368
+ $node->{data} = $dumpcode ? $self->represent_code($node->{value}) : '{ "DUMMY" }';
369
+ },
370
+ );
371
+ $schema->add_representer(
372
+ glob => 1,
373
+ code => sub {
374
+ my ($rep, $node) = @_;
375
+ $node->{tag} = $perl_tag . "/glob";
376
+ $node->{data} = $self->represent_glob($node->{value});
377
+ },
378
+ );
379
+
380
+ $schema->add_representer(
381
+ class_matches => 1,
382
+ code => sub {
383
+ my ($rep, $node) = @_;
384
+ my $blessed = blessed $node->{value};
385
+ my $tag_blessed = ":$blessed";
386
+ if ($blessed !~ m/^$class_regex$/) {
387
+ $tag_blessed = '';
388
+ }
389
+ $node->{tag} = sprintf "$perl_tag/%s%s",
390
+ lc($node->{reftype}), $tag_blessed;
391
+ if ($node->{reftype} eq 'HASH') {
392
+ $node->{data} = $node->{value};
393
+ }
394
+ elsif ($node->{reftype} eq 'ARRAY') {
395
+ $node->{data} = $node->{value};
396
+ }
397
+
398
+ # Fun with regexes in perl versions!
399
+ elsif ($node->{reftype} eq 'REGEXP') {
400
+ if ($blessed eq 'Regexp') {
401
+ $node->{tag} = $perl_tag . "/regexp";
402
+ }
403
+ $node->{data} = $self->represent_regex($node->{value});
404
+ }
405
+ elsif ($node->{reftype} eq 'SCALAR') {
406
+
407
+ # in perl <= 5.10 regex reftype(regex) was SCALAR
408
+ if ($blessed eq 'Regexp') {
409
+ $node->{tag} = $perl_tag . '/regexp';
410
+ $node->{data} = $self->represent_regex($node->{value});
411
+ }
412
+
413
+ # In perl <= 5.10 there seemed to be no better pure perl
414
+ # way to detect a blessed regex?
415
+ elsif (
416
+ $] <= 5.010001
417
+ and not defined ${ $node->{value} }
418
+ and $node->{value} =~ m/^\(\?/
419
+ ) {
420
+ $node->{tag} = $perl_tag . '/regexp' . $tag_blessed;
421
+ $node->{data} = $self->represent_regex($node->{value});
422
+ }
423
+ else {
424
+ # phew, just a simple scalarref
425
+ $node->{data} = $self->represent_scalar($node->{value});
426
+ }
427
+ }
428
+ elsif ($node->{reftype} eq 'REF') {
429
+ $node->{data} = $self->represent_ref($node->{value});
430
+ }
431
+
432
+ elsif ($node->{reftype} eq 'CODE') {
433
+ $node->{data} = $dumpcode ? $self->represent_code($node->{value}) : '{ "DUMMY" }';
434
+ }
435
+ elsif ($node->{reftype} eq 'GLOB') {
436
+ $node->{data} = $self->represent_glob($node->{value});
437
+ }
438
+ else {
439
+ die "Reftype '$node->{reftype}' not implemented";
440
+ }
441
+
442
+ return 1;
443
+ },
444
+ );
445
+ return;
446
+ }
447
+
448
+ sub evaluate_code {
449
+ my ($self, $code) = @_;
450
+ unless ($code =~ m/^ \s* \{ .* \} \s* \z/xs) {
451
+ die "Malformed code";
452
+ }
453
+ $code = "sub $code";
454
+ my $sub = eval $code;
455
+ if ($@) {
456
+ die "Couldn't eval code: $@>>$code<<";
457
+ }
458
+ return $sub;
459
+ }
460
+
461
+ sub construct_regex {
462
+ my ($self, $regex) = @_;
463
+ if ($regex =~ m/^$qr_prefix(.*)\)\z/s) {
464
+ $regex = $1;
465
+ }
466
+ my $qr = qr{$regex};
467
+ return $qr;
468
+ }
469
+
470
+ sub construct_glob {
471
+ my ($self, $list) = @_;
472
+ if (@$list % 2) {
473
+ die "Unexpected data in perl/glob construction";
474
+ }
475
+ my %globdata = @$list;
476
+ my $name = delete $globdata{NAME} or die "Missing NAME in perl/glob";
477
+ my $pkg = delete $globdata{PACKAGE};
478
+ $pkg = 'main' unless defined $pkg;
479
+ my @allowed = qw(SCALAR ARRAY HASH CODE IO);
480
+ delete @globdata{ @allowed };
481
+ if (my @keys = keys %globdata) {
482
+ die "Unexpected keys in perl/glob: @keys";
483
+ }
484
+ no strict 'refs';
485
+ return *{"${pkg}::$name"};
486
+ }
487
+
488
+ sub construct_scalar {
489
+ my ($self, $list) = @_;
490
+ if (@$list != 2) {
491
+ die "Unexpected data in perl/scalar construction";
492
+ }
493
+ my ($key, $value) = @$list;
494
+ unless ($key eq '=') {
495
+ die "Unexpected data in perl/scalar construction";
496
+ }
497
+ return $value;
498
+ }
499
+
500
+ sub construct_ref {
501
+ &construct_scalar;
502
+ }
503
+
504
+ sub represent_scalar {
505
+ my ($self, $value) = @_;
506
+ return { '=' => $$value };
507
+ }
508
+
509
+ sub represent_ref {
510
+ &represent_scalar;
511
+ }
512
+
513
+ sub represent_code {
514
+ my ($self, $code) = @_;
515
+ require B::Deparse;
516
+ my $deparse = B::Deparse->new("-p", "-sC");
517
+ return $deparse->coderef2text($code);
518
+ }
519
+
520
+
521
+ my @stats = qw/ device inode mode links uid gid rdev size
522
+ atime mtime ctime blksize blocks /;
523
+ sub represent_glob {
524
+ my ($self, $glob) = @_;
525
+ my %glob;
526
+ for my $type (qw/ PACKAGE NAME SCALAR ARRAY HASH CODE IO /) {
527
+ my $value = *{ $glob }{ $type };
528
+ if ($type eq 'SCALAR') {
529
+ $value = $$value;
530
+ }
531
+ elsif ($type eq 'IO') {
532
+ if (defined $value) {
533
+ undef $value;
534
+ $value->{stat} = {};
535
+ if ($value->{fileno} = fileno(*{ $glob })) {
536
+ @{ $value->{stat} }{ @stats } = stat(*{ $glob });
537
+ $value->{tell} = tell *{ $glob };
538
+ }
539
+ }
540
+ }
541
+ $glob{ $type } = $value if defined $value;
542
+ }
543
+ return \%glob;
544
+ }
545
+
546
+ sub represent_regex {
547
+ my ($self, $regex) = @_;
548
+ $regex = "$regex";
549
+ if ($regex =~ m/^$qr_prefix(.*)\)\z/s) {
550
+ $regex = $1;
551
+ }
552
+ return $regex;
553
+ }
554
+
555
+ sub object {
556
+ my ($self, $data, $class) = @_;
557
+ return bless $data, $class;
558
+ }
559
+
560
+ 1;
561
+
562
+ __END__
563
+
564
+ =pod
565
+
566
+ =encoding utf-8
567
+
568
+ =head1 NAME
569
+
570
+ YAML::PP::Schema::Perl - Schema for serializing perl objects and special types
571
+
572
+ =head1 SYNOPSIS
573
+
574
+ use YAML::PP;
575
+ # This can be dangerous when loading untrusted YAML!
576
+ my $yp = YAML::PP->new( schema => [qw/ + Perl /] );
577
+ # or
578
+ my $yp = YAML::PP->new( schema => [qw/ Core Perl /] );
579
+ my $yaml = $yp->dump_string(sub { return 23 });
580
+
581
+ # loading code references
582
+ # This is very dangerous when loading untrusted YAML!!
583
+ my $yp = YAML::PP->new( schema => [qw/ + Perl +loadcode /] );
584
+ my $code = $yp->load_string(<<'EOM');
585
+ --- !perl/code |
586
+ {
587
+ use 5.010;
588
+ my ($name) = @_;
589
+ say "Hello $name!";
590
+ }
591
+ EOM
592
+ $code->("Ingy");
593
+
594
+ =head1 DESCRIPTION
595
+
596
+ This schema allows you to load and dump perl objects and special types.
597
+
598
+ Please note that loading objects of arbitrary classes can be dangerous
599
+ in Perl. You have to load the modules yourself, but if an exploitable module
600
+ is loaded and an object is created, its C<DESTROY> method will be called
601
+ when the object falls out of scope. L<File::Temp> is an example that can
602
+ be exploitable and might remove arbitrary files.
603
+
604
+ Dumping code references is on by default, but not loading (because that is
605
+ easily exploitable since it's using string C<eval>).
606
+
607
+ =head2 Tag Styles
608
+
609
+ You can define the style of tags you want to support:
610
+
611
+ my $yp_perl_two_one = YAML::PP->new(
612
+ schema => [qw/ + Perl tags=!!perl+!perl /],
613
+ );
614
+
615
+ =over
616
+
617
+ =item C<!perl> (default)
618
+
619
+ Only C<!perl/type> tags are supported.
620
+
621
+ =item C<!!perl>
622
+
623
+ Only C<!!perl/type> tags are supported.
624
+
625
+ =item C<!perl+!!perl>
626
+
627
+ Both C<!perl/type> and C<!!perl/tag> are supported when loading. When dumping,
628
+ C<!perl/type> is used.
629
+
630
+ =item C<!!perl+!perl>
631
+
632
+ Both C<!perl/type> and C<!!perl/tag> are supported when loading. When dumping,
633
+ C<!!perl/type> is used.
634
+
635
+ =back
636
+
637
+ L<YAML>.pm, L<YAML::Syck> and L<YAML::XS> are using C<!!perl/type> when dumping.
638
+
639
+ L<YAML>.pm and L<YAML::Syck> are supporting both C<!perl/type> and
640
+ C<!!perl/type> when loading. L<YAML::XS> currently only supports the latter.
641
+
642
+ =head2 Allow only certain classes
643
+
644
+ Since v0.017
645
+
646
+ Blessing arbitrary objects can be dangerous. Maybe you want to allow blessing
647
+ only specific classes and ignore others. For this you have to instantiate
648
+ a Perl Schema object first and use the C<classes> option.
649
+
650
+ Currently it only allows a list of strings:
651
+
652
+ my $perl = YAML::PP::Schema::Perl->new(
653
+ classes => ['Foo', 'Bar'],
654
+ );
655
+ my $yp = YAML::PP::Perl->new(
656
+ schema => [qw/ + /, $perl],
657
+ );
658
+
659
+ Allowed classes will be loaded and dumped as usual. The others will be ignored.
660
+
661
+ If you want to allow no objects at all, pass an empty array ref.
662
+
663
+
664
+ =cut
665
+
666
+ =head2 EXAMPLES
667
+
668
+ This is a list of the currently supported types and how they are dumped into
669
+ YAML:
670
+
671
+ =cut
672
+
673
+ ### BEGIN EXAMPLE
674
+
675
+ =pod
676
+
677
+ =over 4
678
+
679
+ =item array
680
+
681
+ # Code
682
+ [
683
+ qw/ one two three four /
684
+ ]
685
+
686
+
687
+ # YAML
688
+ ---
689
+ - one
690
+ - two
691
+ - three
692
+ - four
693
+
694
+
695
+ =item array_blessed
696
+
697
+ # Code
698
+ bless [
699
+ qw/ one two three four /
700
+ ], "Just::An::Arrayref"
701
+
702
+
703
+ # YAML
704
+ --- !perl/array:Just::An::Arrayref
705
+ - one
706
+ - two
707
+ - three
708
+ - four
709
+
710
+
711
+ =item circular
712
+
713
+ # Code
714
+ my $circle = bless [ 1, 2 ], 'Circle';
715
+ push @$circle, $circle;
716
+ $circle;
717
+
718
+
719
+ # YAML
720
+ --- &1 !perl/array:Circle
721
+ - 1
722
+ - 2
723
+ - *1
724
+
725
+
726
+ =item coderef
727
+
728
+ # Code
729
+ sub {
730
+ my (%args) = @_;
731
+ return $args{x} + $args{y};
732
+ }
733
+
734
+
735
+ # YAML
736
+ --- !perl/code |-
737
+ {
738
+ use warnings;
739
+ use strict;
740
+ (my(%args) = @_);
741
+ (return ($args{'x'} + $args{'y'}));
742
+ }
743
+
744
+
745
+ =item coderef_blessed
746
+
747
+ # Code
748
+ bless sub {
749
+ my (%args) = @_;
750
+ return $args{x} - $args{y};
751
+ }, "I::Am::Code"
752
+
753
+
754
+ # YAML
755
+ --- !perl/code:I::Am::Code |-
756
+ {
757
+ use warnings;
758
+ use strict;
759
+ (my(%args) = @_);
760
+ (return ($args{'x'} - $args{'y'}));
761
+ }
762
+
763
+
764
+ =item hash
765
+
766
+ # Code
767
+ {
768
+ U => 2,
769
+ B => 52,
770
+ }
771
+
772
+
773
+ # YAML
774
+ ---
775
+ B: 52
776
+ U: 2
777
+
778
+
779
+ =item hash_blessed
780
+
781
+ # Code
782
+ bless {
783
+ U => 2,
784
+ B => 52,
785
+ }, 'A::Very::Exclusive::Class'
786
+
787
+
788
+ # YAML
789
+ --- !perl/hash:A::Very::Exclusive::Class
790
+ B: 52
791
+ U: 2
792
+
793
+
794
+ =item refref
795
+
796
+ # Code
797
+ my $ref = { a => 'hash' };
798
+ my $refref = \$ref;
799
+ $refref;
800
+
801
+
802
+ # YAML
803
+ --- !perl/ref
804
+ =:
805
+ a: hash
806
+
807
+
808
+ =item refref_blessed
809
+
810
+ # Code
811
+ my $ref = { a => 'hash' };
812
+ my $refref = bless \$ref, 'Foo';
813
+ $refref;
814
+
815
+
816
+ # YAML
817
+ --- !perl/ref:Foo
818
+ =:
819
+ a: hash
820
+
821
+
822
+ =item regexp
823
+
824
+ # Code
825
+ my $string = 'unblessed';
826
+ qr{$string}
827
+
828
+
829
+ # YAML
830
+ --- !perl/regexp unblessed
831
+
832
+
833
+ =item regexp_blessed
834
+
835
+ # Code
836
+ my $string = 'blessed';
837
+ bless qr{$string}, "Foo"
838
+
839
+
840
+ # YAML
841
+ --- !perl/regexp:Foo blessed
842
+
843
+
844
+ =item scalarref
845
+
846
+ # Code
847
+ my $scalar = "some string";
848
+ my $scalarref = \$scalar;
849
+ $scalarref;
850
+
851
+
852
+ # YAML
853
+ --- !perl/scalar
854
+ =: some string
855
+
856
+
857
+ =item scalarref_blessed
858
+
859
+ # Code
860
+ my $scalar = "some other string";
861
+ my $scalarref = bless \$scalar, 'Foo';
862
+ $scalarref;
863
+
864
+
865
+ # YAML
866
+ --- !perl/scalar:Foo
867
+ =: some other string
868
+
869
+
870
+
871
+
872
+ =back
873
+
874
+ =cut
875
+
876
+ ### END EXAMPLE
877
+
878
+ =head2 METHODS
879
+
880
+ =over
881
+
882
+ =item new
883
+
884
+ my $perl = YAML::PP::Schema::Perl->new(
885
+ tags => "!perl",
886
+ classes => ['MyClass'],
887
+ loadcode => 1,
888
+ dumpcode => 1,
889
+ );
890
+
891
+ The constructor recognizes the following options:
892
+
893
+ =over
894
+
895
+ =item tags
896
+
897
+ Default: 'C<!perl>'
898
+
899
+ See L<"Tag Styles">
900
+
901
+ =item classes
902
+
903
+ Default: C<undef>
904
+
905
+ Since: v0.017
906
+
907
+ Accepts an array ref of class names
908
+
909
+ =item loadcode
910
+
911
+ Default: 0
912
+
913
+ =item dumpcode
914
+
915
+ Default: 1
916
+
917
+ my $yp = YAML::PP->new( schema => [qw/ + Perl -dumpcode /] );
918
+
919
+ =back
920
+
921
+ =item register
922
+
923
+ A class method called by L<YAML::PP::Schema>
924
+
925
+ =item construct_ref, represent_ref
926
+
927
+ Perl variables of the type C<REF> are represented in yaml like this:
928
+
929
+ --- !perl/ref
930
+ =:
931
+ a: 1
932
+
933
+ C<construct_ref> returns the perl data:
934
+
935
+ my $data = YAML::PP::Schema::Perl->construct_ref([ '=', { some => 'data' } );
936
+ my $data = \{ a => 1 };
937
+
938
+ C<represent_ref> turns a C<REF> variable into a YAML mapping:
939
+
940
+ my $data = YAML::PP::Schema::Perl->represent_ref(\{ a => 1 });
941
+ my $data = { '=' => { a => 1 } };
942
+
943
+ =item construct_scalar, represent_scalar
944
+
945
+ Perl variables of the type C<SCALAR> are represented in yaml like this:
946
+
947
+ --- !perl/scalar
948
+ =: string
949
+
950
+ C<construct_scalar> returns the perl data:
951
+
952
+ my $data = YAML::PP::Schema::Perl->construct_ref([ '=', 'string' );
953
+ my $data = \'string';
954
+
955
+ C<represent_scalar> turns a C<SCALAR> variable into a YAML mapping:
956
+
957
+ my $data = YAML::PP::Schema::Perl->represent_scalar(\'string');
958
+ my $data = { '=' => 'string' };
959
+
960
+ =item construct_regex, represent_regex
961
+
962
+ C<construct_regex> returns a C<qr{}> object from the YAML string:
963
+
964
+ my $qr = YAML::PP::Schema::Perl->construct_regex('foo.*');
965
+
966
+ C<represent_regex> returns a string representing the regex object:
967
+
968
+ my $string = YAML::PP::Schema::Perl->represent_regex(qr{...});
969
+
970
+ =item evaluate_code, represent_code
971
+
972
+ C<evaluate_code> returns a code reference from a string. The string must
973
+ start with a C<{> and end with a C<}>.
974
+
975
+ my $code = YAML::PP::Schema::Perl->evaluate_code('{ return 23 }');
976
+
977
+ C<represent_code> returns a string representation of the code reference
978
+ with the help of B::Deparse:
979
+
980
+ my $string = YAML::PP::Schema::Perl->represent_code(sub { return 23 });
981
+
982
+ =item construct_glob, represent_glob
983
+
984
+ C<construct_glob> returns a glob from a hash.
985
+
986
+ my $glob = YAML::PP::Schema::Perl->construct_glob($hash);
987
+
988
+ C<represent_glob> returns a hash representation of the glob.
989
+
990
+ my $hash = YAML::PP::Schema::Perl->represent_glob($glob);
991
+
992
+ =item object
993
+
994
+ Does the same as C<bless>:
995
+
996
+ my $object = YAML::PP::Schema::Perl->object($data, $class);
997
+
998
+ =back
999
+
1000
+ =cut