gulp-phug 1.3.4 → 2.0.0

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 (304) hide show
  1. package/README.md +26 -0
  2. package/index.js +38 -10
  3. package/package.json +4 -4
  4. package/support/bootstrap.php +6 -0
  5. package/support/composer.json +1 -1
  6. package/support/composer.lock +94 -179
  7. package/support/vendor/autoload.php +15 -0
  8. package/support/vendor/bin/phug +119 -0
  9. package/support/vendor/bin/var-dump-server +119 -0
  10. package/support/vendor/composer/ClassLoader.php +166 -32
  11. package/support/vendor/composer/InstalledVersions.php +387 -329
  12. package/support/vendor/composer/autoload_classmap.php +1 -5
  13. package/support/vendor/composer/autoload_files.php +2 -3
  14. package/support/vendor/composer/autoload_namespaces.php +1 -1
  15. package/support/vendor/composer/autoload_psr4.php +3 -4
  16. package/support/vendor/composer/autoload_real.php +12 -37
  17. package/support/vendor/composer/autoload_static.php +6 -17
  18. package/support/vendor/composer/installed.json +99 -186
  19. package/support/vendor/composer/installed.php +129 -151
  20. package/support/vendor/composer/platform_check.php +15 -4
  21. package/support/vendor/phug/phug/.github/workflows/coverage.yml +61 -0
  22. package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +48 -0
  23. package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
  24. package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
  25. package/support/vendor/phug/phug/.github/workflows/tests.yml +48 -0
  26. package/support/vendor/phug/phug/.multi-tester.yml +47 -17
  27. package/support/vendor/phug/phug/composer.json +27 -18
  28. package/support/vendor/phug/phug/phpcs.xml +4 -0
  29. package/support/vendor/phug/phug/phpunit.xml +2 -0
  30. package/support/vendor/phug/phug/phug +1 -1
  31. package/support/vendor/phug/phug/release.php +8 -0
  32. package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +9 -3
  33. package/support/vendor/phug/phug/src/Phug/Ast/composer.json +2 -3
  34. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/AbstractNodeCompiler.php +4 -4
  35. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +4 -4
  36. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentListNodeCompiler.php +1 -1
  37. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +10 -2
  38. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeListNodeCompiler.php +1 -1
  39. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +2 -1
  40. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/BlockNodeCompiler.php +3 -3
  41. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CaseNodeCompiler.php +1 -1
  42. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CodeNodeCompiler.php +2 -2
  43. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CommentNodeCompiler.php +1 -1
  44. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ConditionalNodeCompiler.php +1 -1
  45. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoNodeCompiler.php +1 -1
  46. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoctypeNodeCompiler.php +1 -1
  47. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DocumentNodeCompiler.php +1 -1
  48. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/EachNodeCompiler.php +1 -1
  49. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +7 -1
  50. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ExpressionNodeCompiler.php +1 -1
  51. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/FilterNodeCompiler.php +1 -1
  52. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ForNodeCompiler.php +1 -1
  53. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +5 -5
  54. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/KeywordNodeCompiler.php +1 -1
  55. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinCallNodeCompiler.php +1 -1
  56. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinNodeCompiler.php +1 -1
  57. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/TextNodeCompiler.php +1 -1
  58. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/VariableNodeCompiler.php +1 -1
  59. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhenNodeCompiler.php +1 -1
  60. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhileNodeCompiler.php +1 -1
  61. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/YieldNodeCompiler.php +1 -1
  62. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +5 -5
  63. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler.php +2 -2
  64. package/support/vendor/phug/phug/src/Phug/Compiler/CompilerInterface.php +2 -2
  65. package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +10 -7
  66. package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
  67. package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +3 -4
  68. package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
  69. package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
  70. package/support/vendor/phug/phug/src/Phug/Event/composer.json +2 -3
  71. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractElement.php +1 -1
  72. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +17 -14
  73. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
  74. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
  75. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
  76. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractValueElement.php +3 -3
  77. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AnonymousBlockElement.php +1 -1
  78. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +13 -8
  79. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +7 -4
  80. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +5 -5
  81. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/KeywordElement.php +3 -3
  82. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +13 -11
  83. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
  84. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
  85. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/VariableElement.php +5 -5
  86. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Event/FormatEvent.php +1 -1
  87. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/HtmlFormat.php +1 -1
  88. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XhtmlFormat.php +1 -1
  89. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +214 -21
  90. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/FormatInterface.php +1 -1
  91. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
  92. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
  93. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
  94. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/PatternTrait.php +1 -1
  95. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
  96. package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +5 -6
  97. package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
  98. package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +9 -6
  99. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/AbstractToken.php +1 -1
  100. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
  101. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
  102. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +24 -12
  103. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
  104. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
  105. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +2 -2
  106. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
  107. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
  108. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
  109. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
  110. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
  111. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/TokenInterface.php +1 -1
  112. package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +4 -5
  113. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
  114. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
  115. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
  116. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
  117. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
  118. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
  119. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
  120. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node.php +5 -5
  121. package/support/vendor/phug/phug/src/Phug/Parser/Parser/State.php +4 -4
  122. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
  123. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
  124. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
  125. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
  126. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
  127. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
  128. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
  129. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
  130. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
  131. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
  132. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
  133. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
  134. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
  135. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
  136. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
  137. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
  138. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
  139. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
  140. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
  141. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
  142. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
  143. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
  144. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
  145. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
  146. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
  147. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
  148. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
  149. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
  150. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
  151. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
  152. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
  153. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
  154. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
  155. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
  156. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
  157. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
  158. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
  159. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
  160. package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
  161. package/support/vendor/phug/phug/src/Phug/Parser/ParserException.php +1 -1
  162. package/support/vendor/phug/phug/src/Phug/Parser/composer.json +5 -6
  163. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
  164. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
  165. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
  166. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/PluginEnablerTrait.php +1 -1
  167. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
  168. package/support/vendor/phug/phug/src/Phug/Phug/composer.json +9 -6
  169. package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +13 -13
  170. package/support/vendor/phug/phug/src/Phug/Reader/composer.json +6 -2
  171. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
  172. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
  173. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
  174. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
  175. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
  176. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
  177. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
  178. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
  179. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
  180. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
  181. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Task/TasksGroup.php +1 -1
  182. package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +10 -6
  183. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
  184. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
  185. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
  186. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
  187. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
  188. package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
  189. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
  190. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
  191. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
  192. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
  193. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
  194. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
  195. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
  196. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
  197. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
  198. package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +2 -1
  199. package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
  200. package/support/vendor/phug/phug/src/Phug/Util/composer.json +7 -8
  201. package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  202. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
  203. package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
  204. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
  205. package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
  206. package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
  207. package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
  208. package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
  209. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  210. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
  211. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
  212. package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
  213. package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  214. package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
  215. package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
  216. package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
  217. package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
  218. package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
  219. package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
  220. package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
  221. package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
  222. package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
  223. package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
  224. package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
  225. package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
  226. package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
  227. package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
  228. package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
  229. package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
  230. package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
  231. package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
  232. package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
  233. package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
  234. package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
  235. package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
  236. package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
  237. package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
  238. package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
  239. package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
  240. package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
  241. package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
  242. package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
  243. package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
  244. package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
  245. package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
  246. package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
  247. package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
  248. package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
  249. package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
  250. package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
  251. package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
  252. package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
  253. package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
  254. package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
  255. package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
  256. package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
  257. package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
  258. package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
  259. package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
  260. package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
  261. package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
  262. package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
  263. package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
  264. package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
  265. package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
  266. package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
  267. package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
  268. package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
  269. package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
  270. package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
  271. package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
  272. package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
  273. package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
  274. package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
  275. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
  276. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
  277. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
  278. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
  279. package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
  280. package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
  281. package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
  282. package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
  283. package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
  284. package/support/vendor/symfony/var-dumper/LICENSE +1 -1
  285. package/support/vendor/symfony/var-dumper/README.md +6 -6
  286. package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
  287. package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
  288. package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
  289. package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
  290. package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
  291. package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
  292. package/support/vendor/symfony/var-dumper/composer.json +10 -16
  293. package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
  294. package/support/vendor/symfony/polyfill-php72/README.md +0 -28
  295. package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
  296. package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
  297. package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
  298. package/support/vendor/symfony/polyfill-php80/README.md +0 -24
  299. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
  300. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
  301. package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
  302. package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
  303. package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  304. package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
@@ -18,32 +18,29 @@ namespace Symfony\Component\VarDumper\Caster;
18
18
  */
19
19
  class LinkStub extends ConstStub
20
20
  {
21
- public $inVendor = false;
21
+ public bool $inVendor = false;
22
22
 
23
- private static $vendorRoots;
24
- private static $composerRoots;
23
+ private static array $vendorRoots;
24
+ private static array $composerRoots = [];
25
25
 
26
- public function __construct($label, int $line = 0, $href = null)
26
+ public function __construct(string $label, int $line = 0, ?string $href = null)
27
27
  {
28
28
  $this->value = $label;
29
29
 
30
- if (null === $href) {
31
- $href = $label;
32
- }
33
- if (!\is_string($href)) {
30
+ if (!\is_string($href ??= $label)) {
34
31
  return;
35
32
  }
36
- if (0 === strpos($href, 'file://')) {
33
+ if (str_starts_with($href, 'file://')) {
37
34
  if ($href === $label) {
38
35
  $label = substr($label, 7);
39
36
  }
40
37
  $href = substr($href, 7);
41
- } elseif (false !== strpos($href, '://')) {
38
+ } elseif (str_contains($href, '://')) {
42
39
  $this->attr['href'] = $href;
43
40
 
44
41
  return;
45
42
  }
46
- if (!file_exists($href)) {
43
+ if (!is_file($href)) {
47
44
  return;
48
45
  }
49
46
  if ($line) {
@@ -63,16 +60,16 @@ class LinkStub extends ConstStub
63
60
  }
64
61
  }
65
62
 
66
- private function getComposerRoot(string $file, bool &$inVendor)
63
+ private function getComposerRoot(string $file, bool &$inVendor): string|false
67
64
  {
68
- if (null === self::$vendorRoots) {
65
+ if (!isset(self::$vendorRoots)) {
69
66
  self::$vendorRoots = [];
70
67
 
71
68
  foreach (get_declared_classes() as $class) {
72
- if ('C' === $class[0] && 0 === strpos($class, 'ComposerAutoloaderInit')) {
69
+ if ('C' === $class[0] && str_starts_with($class, 'ComposerAutoloaderInit')) {
73
70
  $r = new \ReflectionClass($class);
74
71
  $v = \dirname($r->getFileName(), 2);
75
- if (file_exists($v.'/composer/installed.json')) {
72
+ if (is_file($v.'/composer/installed.json')) {
76
73
  self::$vendorRoots[] = $v.\DIRECTORY_SEPARATOR;
77
74
  }
78
75
  }
@@ -85,13 +82,13 @@ class LinkStub extends ConstStub
85
82
  }
86
83
 
87
84
  foreach (self::$vendorRoots as $root) {
88
- if ($inVendor = 0 === strpos($file, $root)) {
85
+ if ($inVendor = str_starts_with($file, $root)) {
89
86
  return $root;
90
87
  }
91
88
  }
92
89
 
93
90
  $parent = $dir;
94
- while (!@file_exists($parent.'/composer.json')) {
91
+ while (!@is_file($parent.'/composer.json')) {
95
92
  if (!@file_exists($parent)) {
96
93
  // open_basedir restriction in effect
97
94
  break;
@@ -16,14 +16,16 @@ use Symfony\Component\VarDumper\Cloner\Stub;
16
16
  /**
17
17
  * @author Jan Schädlich <jan.schaedlich@sensiolabs.de>
18
18
  *
19
- * @final since Symfony 4.4
19
+ * @final
20
+ *
21
+ * @internal since Symfony 7.3
20
22
  */
21
23
  class MemcachedCaster
22
24
  {
23
- private static $optionConstants;
24
- private static $defaultOptions;
25
+ private static array $optionConstants;
26
+ private static array $defaultOptions;
25
27
 
26
- public static function castMemcached(\Memcached $c, array $a, Stub $stub, $isNested)
28
+ public static function castMemcached(\Memcached $c, array $a, Stub $stub, bool $isNested): array
27
29
  {
28
30
  $a += [
29
31
  Caster::PREFIX_VIRTUAL.'servers' => $c->getServerList(),
@@ -37,8 +39,8 @@ class MemcachedCaster
37
39
 
38
40
  private static function getNonDefaultOptions(\Memcached $c): array
39
41
  {
40
- self::$defaultOptions = self::$defaultOptions ?? self::discoverDefaultOptions();
41
- self::$optionConstants = self::$optionConstants ?? self::getOptionConstants();
42
+ self::$defaultOptions ??= self::discoverDefaultOptions();
43
+ self::$optionConstants ??= self::getOptionConstants();
42
44
 
43
45
  $nonDefaultOptions = [];
44
46
  foreach (self::$optionConstants as $constantKey => $value) {
@@ -56,7 +58,7 @@ class MemcachedCaster
56
58
  $defaultMemcached->addServer('127.0.0.1', 11211);
57
59
 
58
60
  $defaultOptions = [];
59
- self::$optionConstants = self::$optionConstants ?? self::getOptionConstants();
61
+ self::$optionConstants ??= self::getOptionConstants();
60
62
 
61
63
  foreach (self::$optionConstants as $constantKey => $value) {
62
64
  $defaultOptions[$constantKey] = $defaultMemcached->getOption($value);
@@ -71,7 +73,7 @@ class MemcachedCaster
71
73
 
72
74
  $optionConstants = [];
73
75
  foreach ($reflectedMemcached->getConstants() as $constantKey => $value) {
74
- if (0 === strpos($constantKey, 'OPT_')) {
76
+ if (str_starts_with($constantKey, 'OPT_')) {
75
77
  $optionConstants[$constantKey] = $value;
76
78
  }
77
79
  }
@@ -0,0 +1,33 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Component\VarDumper\Caster;
13
+
14
+ use Symfony\Component\VarDumper\Cloner\Stub;
15
+
16
+ /**
17
+ * @author Nicolas Grekas <p@tchwork.com>
18
+ *
19
+ * @internal
20
+ */
21
+ final class MysqliCaster
22
+ {
23
+ public static function castMysqliDriver(\mysqli_driver $c, array $a, Stub $stub, bool $isNested): array
24
+ {
25
+ foreach ($a as $k => $v) {
26
+ if (isset($c->$k)) {
27
+ $a[$k] = $c->$k;
28
+ }
29
+ }
30
+
31
+ return $a;
32
+ }
33
+ }
@@ -0,0 +1,69 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Component\VarDumper\Caster;
13
+
14
+ use Symfony\Component\VarDumper\Cloner\Stub;
15
+
16
+ /**
17
+ * @author Nicolas Grekas <p@tchwork.com>
18
+ * @author Alexandre Daubois <alex.daubois@gmail.com>
19
+ *
20
+ * @internal
21
+ */
22
+ final class OpenSSLCaster
23
+ {
24
+ public static function castOpensslX509(\OpenSSLCertificate $h, array $a, Stub $stub, bool $isNested): array
25
+ {
26
+ $stub->cut = -1;
27
+ $info = openssl_x509_parse($h, false);
28
+
29
+ $pin = openssl_pkey_get_public($h);
30
+ $pin = openssl_pkey_get_details($pin)['key'];
31
+ $pin = \array_slice(explode("\n", $pin), 1, -2);
32
+ $pin = base64_decode(implode('', $pin));
33
+ $pin = base64_encode(hash('sha256', $pin, true));
34
+
35
+ $a += [
36
+ Caster::PREFIX_VIRTUAL.'subject' => new EnumStub(array_intersect_key($info['subject'], ['organizationName' => true, 'commonName' => true])),
37
+ Caster::PREFIX_VIRTUAL.'issuer' => new EnumStub(array_intersect_key($info['issuer'], ['organizationName' => true, 'commonName' => true])),
38
+ Caster::PREFIX_VIRTUAL.'expiry' => new ConstStub(date(\DateTimeInterface::ISO8601, $info['validTo_time_t']), $info['validTo_time_t']),
39
+ Caster::PREFIX_VIRTUAL.'fingerprint' => new EnumStub([
40
+ 'md5' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'md5')), 2, ':', true)),
41
+ 'sha1' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha1')), 2, ':', true)),
42
+ 'sha256' => new ConstStub(wordwrap(strtoupper(openssl_x509_fingerprint($h, 'sha256')), 2, ':', true)),
43
+ 'pin-sha256' => new ConstStub($pin),
44
+ ]),
45
+ ];
46
+
47
+ return $a;
48
+ }
49
+
50
+ public static function castOpensslAsymmetricKey(\OpenSSLAsymmetricKey $key, array $a, Stub $stub, bool $isNested): array
51
+ {
52
+ foreach (openssl_pkey_get_details($key) as $k => $v) {
53
+ $a[Caster::PREFIX_VIRTUAL.$k] = $v;
54
+ }
55
+
56
+ unset($a[Caster::PREFIX_VIRTUAL.'rsa']); // binary data
57
+
58
+ return $a;
59
+ }
60
+
61
+ public static function castOpensslCsr(\OpenSSLCertificateSigningRequest $csr, array $a, Stub $stub, bool $isNested): array
62
+ {
63
+ foreach (openssl_csr_get_subject($csr, false) as $k => $v) {
64
+ $a[Caster::PREFIX_VIRTUAL.$k] = $v;
65
+ }
66
+
67
+ return $a;
68
+ }
69
+ }
@@ -18,11 +18,13 @@ use Symfony\Component\VarDumper\Cloner\Stub;
18
18
  *
19
19
  * @author Nicolas Grekas <p@tchwork.com>
20
20
  *
21
- * @final since Symfony 4.4
21
+ * @final
22
+ *
23
+ * @internal since Symfony 7.3
22
24
  */
23
25
  class PdoCaster
24
26
  {
25
- private static $pdoAttributes = [
27
+ private const PDO_ATTRIBUTES = [
26
28
  'CASE' => [
27
29
  \PDO::CASE_LOWER => 'LOWER',
28
30
  \PDO::CASE_NATURAL => 'NATURAL',
@@ -59,13 +61,13 @@ class PdoCaster
59
61
  ],
60
62
  ];
61
63
 
62
- public static function castPdo(\PDO $c, array $a, Stub $stub, $isNested)
64
+ public static function castPdo(\PDO $c, array $a, Stub $stub, bool $isNested): array
63
65
  {
64
66
  $attr = [];
65
67
  $errmode = $c->getAttribute(\PDO::ATTR_ERRMODE);
66
68
  $c->setAttribute(\PDO::ATTR_ERRMODE, \PDO::ERRMODE_EXCEPTION);
67
69
 
68
- foreach (self::$pdoAttributes as $k => $v) {
70
+ foreach (self::PDO_ATTRIBUTES as $k => $v) {
69
71
  if (!isset($k[0])) {
70
72
  $k = $v;
71
73
  $v = [];
@@ -76,7 +78,7 @@ class PdoCaster
76
78
  if ($v && isset($v[$attr[$k]])) {
77
79
  $attr[$k] = new ConstStub($v[$attr[$k]], $attr[$k]);
78
80
  }
79
- } catch (\Exception $e) {
81
+ } catch (\Exception) {
80
82
  }
81
83
  }
82
84
  if (isset($attr[$k = 'STATEMENT_CLASS'][1])) {
@@ -108,7 +110,7 @@ class PdoCaster
108
110
  return $a;
109
111
  }
110
112
 
111
- public static function castPdoStatement(\PDOStatement $c, array $a, Stub $stub, $isNested)
113
+ public static function castPdoStatement(\PDOStatement $c, array $a, Stub $stub, bool $isNested): array
112
114
  {
113
115
  $prefix = Caster::PREFIX_VIRTUAL;
114
116
  $a[$prefix.'errorInfo'] = $c->errorInfo();
@@ -14,15 +14,17 @@ namespace Symfony\Component\VarDumper\Caster;
14
14
  use Symfony\Component\VarDumper\Cloner\Stub;
15
15
 
16
16
  /**
17
- * Casts pqsql resources to array representation.
17
+ * Casts pgsql resources to array representation.
18
18
  *
19
19
  * @author Nicolas Grekas <p@tchwork.com>
20
20
  *
21
- * @final since Symfony 4.4
21
+ * @final
22
+ *
23
+ * @internal since Symfony 7.3
22
24
  */
23
25
  class PgSqlCaster
24
26
  {
25
- private static $paramCodes = [
27
+ private const PARAM_CODES = [
26
28
  'server_encoding',
27
29
  'client_encoding',
28
30
  'is_superuser',
@@ -35,7 +37,7 @@ class PgSqlCaster
35
37
  'standard_conforming_strings',
36
38
  ];
37
39
 
38
- private static $transactionStatus = [
40
+ private const TRANSACTION_STATUS = [
39
41
  \PGSQL_TRANSACTION_IDLE => 'PGSQL_TRANSACTION_IDLE',
40
42
  \PGSQL_TRANSACTION_ACTIVE => 'PGSQL_TRANSACTION_ACTIVE',
41
43
  \PGSQL_TRANSACTION_INTRANS => 'PGSQL_TRANSACTION_INTRANS',
@@ -43,7 +45,7 @@ class PgSqlCaster
43
45
  \PGSQL_TRANSACTION_UNKNOWN => 'PGSQL_TRANSACTION_UNKNOWN',
44
46
  ];
45
47
 
46
- private static $resultStatus = [
48
+ private const RESULT_STATUS = [
47
49
  \PGSQL_EMPTY_QUERY => 'PGSQL_EMPTY_QUERY',
48
50
  \PGSQL_COMMAND_OK => 'PGSQL_COMMAND_OK',
49
51
  \PGSQL_TUPLES_OK => 'PGSQL_TUPLES_OK',
@@ -54,7 +56,7 @@ class PgSqlCaster
54
56
  \PGSQL_FATAL_ERROR => 'PGSQL_FATAL_ERROR',
55
57
  ];
56
58
 
57
- private static $diagCodes = [
59
+ private const DIAG_CODES = [
58
60
  'severity' => \PGSQL_DIAG_SEVERITY,
59
61
  'sqlstate' => \PGSQL_DIAG_SQLSTATE,
60
62
  'message' => \PGSQL_DIAG_MESSAGE_PRIMARY,
@@ -69,22 +71,22 @@ class PgSqlCaster
69
71
  'function' => \PGSQL_DIAG_SOURCE_FUNCTION,
70
72
  ];
71
73
 
72
- public static function castLargeObject($lo, array $a, Stub $stub, $isNested)
74
+ public static function castLargeObject($lo, array $a, Stub $stub, bool $isNested): array
73
75
  {
74
76
  $a['seek position'] = pg_lo_tell($lo);
75
77
 
76
78
  return $a;
77
79
  }
78
80
 
79
- public static function castLink($link, array $a, Stub $stub, $isNested)
81
+ public static function castLink($link, array $a, Stub $stub, bool $isNested): array
80
82
  {
81
83
  $a['status'] = pg_connection_status($link);
82
84
  $a['status'] = new ConstStub(\PGSQL_CONNECTION_OK === $a['status'] ? 'PGSQL_CONNECTION_OK' : 'PGSQL_CONNECTION_BAD', $a['status']);
83
85
  $a['busy'] = pg_connection_busy($link);
84
86
 
85
87
  $a['transaction'] = pg_transaction_status($link);
86
- if (isset(self::$transactionStatus[$a['transaction']])) {
87
- $a['transaction'] = new ConstStub(self::$transactionStatus[$a['transaction']], $a['transaction']);
88
+ if (isset(self::TRANSACTION_STATUS[$a['transaction']])) {
89
+ $a['transaction'] = new ConstStub(self::TRANSACTION_STATUS[$a['transaction']], $a['transaction']);
88
90
  }
89
91
 
90
92
  $a['pid'] = pg_get_pid($link);
@@ -96,7 +98,7 @@ class PgSqlCaster
96
98
  $a['options'] = pg_options($link);
97
99
  $a['version'] = pg_version($link);
98
100
 
99
- foreach (self::$paramCodes as $v) {
101
+ foreach (self::PARAM_CODES as $v) {
100
102
  if (false !== $s = pg_parameter_status($link, $v)) {
101
103
  $a['param'][$v] = $s;
102
104
  }
@@ -108,17 +110,17 @@ class PgSqlCaster
108
110
  return $a;
109
111
  }
110
112
 
111
- public static function castResult($result, array $a, Stub $stub, $isNested)
113
+ public static function castResult($result, array $a, Stub $stub, bool $isNested): array
112
114
  {
113
115
  $a['num rows'] = pg_num_rows($result);
114
116
  $a['status'] = pg_result_status($result);
115
- if (isset(self::$resultStatus[$a['status']])) {
116
- $a['status'] = new ConstStub(self::$resultStatus[$a['status']], $a['status']);
117
+ if (isset(self::RESULT_STATUS[$a['status']])) {
118
+ $a['status'] = new ConstStub(self::RESULT_STATUS[$a['status']], $a['status']);
117
119
  }
118
120
  $a['command-completion tag'] = pg_result_status($result, \PGSQL_STATUS_STRING);
119
121
 
120
122
  if (-1 === $a['num rows']) {
121
- foreach (self::$diagCodes as $k => $v) {
123
+ foreach (self::DIAG_CODES as $k => $v) {
122
124
  $a['error'][$k] = pg_result_error_field($result, $v);
123
125
  }
124
126
  }
@@ -131,11 +133,11 @@ class PgSqlCaster
131
133
  for ($i = 0; $i < $fields; ++$i) {
132
134
  $field = [
133
135
  'name' => pg_field_name($result, $i),
134
- 'table' => sprintf('%s (OID: %s)', pg_field_table($result, $i), pg_field_table($result, $i, true)),
135
- 'type' => sprintf('%s (OID: %s)', pg_field_type($result, $i), pg_field_type_oid($result, $i)),
136
- 'nullable' => (bool) pg_field_is_null($result, $i),
136
+ 'table' => \sprintf('%s (OID: %s)', pg_field_table($result, $i), pg_field_table($result, $i, true)),
137
+ 'type' => \sprintf('%s (OID: %s)', pg_field_type($result, $i), pg_field_type_oid($result, $i)),
138
+ 'nullable' => (bool) (\PHP_VERSION_ID >= 80300 ? pg_field_is_null($result, null, $i) : pg_field_is_null($result, $i)),
137
139
  'storage' => pg_field_size($result, $i).' bytes',
138
- 'display' => pg_field_prtlen($result, $i).' chars',
140
+ 'display' => (\PHP_VERSION_ID >= 80300 ? pg_field_prtlen($result, null, $i) : pg_field_prtlen($result, $i)).' chars',
139
141
  ];
140
142
  if (' (OID: )' === $field['table']) {
141
143
  $field['table'] = null;
@@ -17,11 +17,13 @@ use Symfony\Component\VarDumper\Cloner\Stub;
17
17
  /**
18
18
  * @author Nicolas Grekas <p@tchwork.com>
19
19
  *
20
- * @final since Symfony 4.4
20
+ * @final
21
+ *
22
+ * @internal since Symfony 7.3
21
23
  */
22
24
  class ProxyManagerCaster
23
25
  {
24
- public static function castProxy(ProxyInterface $c, array $a, Stub $stub, $isNested)
26
+ public static function castProxy(ProxyInterface $c, array $a, Stub $stub, bool $isNested): array
25
27
  {
26
28
  if ($parent = get_parent_class($c)) {
27
29
  $stub->class .= ' - '.$parent;
@@ -0,0 +1,188 @@
1
+ <?php
2
+
3
+ /*
4
+ * This file is part of the Symfony package.
5
+ *
6
+ * (c) Fabien Potencier <fabien@symfony.com>
7
+ *
8
+ * For the full copyright and license information, please view the LICENSE
9
+ * file that was distributed with this source code.
10
+ */
11
+
12
+ namespace Symfony\Component\VarDumper\Caster;
13
+
14
+ use RdKafka\Conf;
15
+ use RdKafka\Exception as RdKafkaException;
16
+ use RdKafka\KafkaConsumer;
17
+ use RdKafka\Message;
18
+ use RdKafka\Metadata\Broker as BrokerMetadata;
19
+ use RdKafka\Metadata\Collection as CollectionMetadata;
20
+ use RdKafka\Metadata\Partition as PartitionMetadata;
21
+ use RdKafka\Metadata\Topic as TopicMetadata;
22
+ use RdKafka\Topic;
23
+ use RdKafka\TopicConf;
24
+ use RdKafka\TopicPartition;
25
+ use Symfony\Component\VarDumper\Cloner\Stub;
26
+
27
+ /**
28
+ * Casts RdKafka related classes to array representation.
29
+ *
30
+ * @author Romain Neutron <imprec@gmail.com>
31
+ *
32
+ * @internal since Symfony 7.3
33
+ */
34
+ class RdKafkaCaster
35
+ {
36
+ public static function castKafkaConsumer(KafkaConsumer $c, array $a, Stub $stub, bool $isNested): array
37
+ {
38
+ $prefix = Caster::PREFIX_VIRTUAL;
39
+
40
+ try {
41
+ $assignment = $c->getAssignment();
42
+ } catch (RdKafkaException) {
43
+ $assignment = [];
44
+ }
45
+
46
+ $a += [
47
+ $prefix.'subscription' => $c->getSubscription(),
48
+ $prefix.'assignment' => $assignment,
49
+ ];
50
+
51
+ $a += self::extractMetadata($c);
52
+
53
+ return $a;
54
+ }
55
+
56
+ public static function castTopic(Topic $c, array $a, Stub $stub, bool $isNested): array
57
+ {
58
+ $prefix = Caster::PREFIX_VIRTUAL;
59
+
60
+ $a += [
61
+ $prefix.'name' => $c->getName(),
62
+ ];
63
+
64
+ return $a;
65
+ }
66
+
67
+ public static function castTopicPartition(TopicPartition $c, array $a): array
68
+ {
69
+ $prefix = Caster::PREFIX_VIRTUAL;
70
+
71
+ $a += [
72
+ $prefix.'offset' => $c->getOffset(),
73
+ $prefix.'partition' => $c->getPartition(),
74
+ $prefix.'topic' => $c->getTopic(),
75
+ ];
76
+
77
+ return $a;
78
+ }
79
+
80
+ public static function castMessage(Message $c, array $a, Stub $stub, bool $isNested): array
81
+ {
82
+ $prefix = Caster::PREFIX_VIRTUAL;
83
+
84
+ $a += [
85
+ $prefix.'errstr' => $c->errstr(),
86
+ ];
87
+
88
+ return $a;
89
+ }
90
+
91
+ public static function castConf(Conf $c, array $a, Stub $stub, bool $isNested): array
92
+ {
93
+ $prefix = Caster::PREFIX_VIRTUAL;
94
+
95
+ foreach ($c->dump() as $key => $value) {
96
+ $a[$prefix.$key] = $value;
97
+ }
98
+
99
+ return $a;
100
+ }
101
+
102
+ public static function castTopicConf(TopicConf $c, array $a, Stub $stub, bool $isNested): array
103
+ {
104
+ $prefix = Caster::PREFIX_VIRTUAL;
105
+
106
+ foreach ($c->dump() as $key => $value) {
107
+ $a[$prefix.$key] = $value;
108
+ }
109
+
110
+ return $a;
111
+ }
112
+
113
+ public static function castRdKafka(\RdKafka $c, array $a, Stub $stub, bool $isNested): array
114
+ {
115
+ $prefix = Caster::PREFIX_VIRTUAL;
116
+
117
+ $a += [
118
+ $prefix.'out_q_len' => $c->getOutQLen(),
119
+ ];
120
+
121
+ $a += self::extractMetadata($c);
122
+
123
+ return $a;
124
+ }
125
+
126
+ public static function castCollectionMetadata(CollectionMetadata $c, array $a, Stub $stub, bool $isNested): array
127
+ {
128
+ $a += iterator_to_array($c);
129
+
130
+ return $a;
131
+ }
132
+
133
+ public static function castTopicMetadata(TopicMetadata $c, array $a, Stub $stub, bool $isNested): array
134
+ {
135
+ $prefix = Caster::PREFIX_VIRTUAL;
136
+
137
+ $a += [
138
+ $prefix.'name' => $c->getTopic(),
139
+ $prefix.'partitions' => $c->getPartitions(),
140
+ ];
141
+
142
+ return $a;
143
+ }
144
+
145
+ public static function castPartitionMetadata(PartitionMetadata $c, array $a, Stub $stub, bool $isNested): array
146
+ {
147
+ $prefix = Caster::PREFIX_VIRTUAL;
148
+
149
+ $a += [
150
+ $prefix.'id' => $c->getId(),
151
+ $prefix.'err' => $c->getErr(),
152
+ $prefix.'leader' => $c->getLeader(),
153
+ ];
154
+
155
+ return $a;
156
+ }
157
+
158
+ public static function castBrokerMetadata(BrokerMetadata $c, array $a, Stub $stub, bool $isNested): array
159
+ {
160
+ $prefix = Caster::PREFIX_VIRTUAL;
161
+
162
+ $a += [
163
+ $prefix.'id' => $c->getId(),
164
+ $prefix.'host' => $c->getHost(),
165
+ $prefix.'port' => $c->getPort(),
166
+ ];
167
+
168
+ return $a;
169
+ }
170
+
171
+ private static function extractMetadata(KafkaConsumer|\RdKafka $c): array
172
+ {
173
+ $prefix = Caster::PREFIX_VIRTUAL;
174
+
175
+ try {
176
+ $m = $c->getMetadata(true, null, 500);
177
+ } catch (RdKafkaException) {
178
+ return [];
179
+ }
180
+
181
+ return [
182
+ $prefix.'orig_broker_id' => $m->getOrigBrokerId(),
183
+ $prefix.'orig_broker_name' => $m->getOrigBrokerName(),
184
+ $prefix.'brokers' => $m->getBrokers(),
185
+ $prefix.'topics' => $m->getTopics(),
186
+ ];
187
+ }
188
+ }