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.
- package/README.md +26 -0
- package/index.js +38 -10
- package/package.json +4 -4
- package/support/bootstrap.php +6 -0
- package/support/composer.json +1 -1
- package/support/composer.lock +94 -179
- package/support/vendor/autoload.php +15 -0
- package/support/vendor/bin/phug +119 -0
- package/support/vendor/bin/var-dump-server +119 -0
- package/support/vendor/composer/ClassLoader.php +166 -32
- package/support/vendor/composer/InstalledVersions.php +387 -329
- package/support/vendor/composer/autoload_classmap.php +1 -5
- package/support/vendor/composer/autoload_files.php +2 -3
- package/support/vendor/composer/autoload_namespaces.php +1 -1
- package/support/vendor/composer/autoload_psr4.php +3 -4
- package/support/vendor/composer/autoload_real.php +12 -37
- package/support/vendor/composer/autoload_static.php +6 -17
- package/support/vendor/composer/installed.json +99 -186
- package/support/vendor/composer/installed.php +129 -151
- package/support/vendor/composer/platform_check.php +15 -4
- package/support/vendor/phug/phug/.github/workflows/coverage.yml +61 -0
- package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +48 -0
- package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
- package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
- package/support/vendor/phug/phug/.github/workflows/tests.yml +48 -0
- package/support/vendor/phug/phug/.multi-tester.yml +47 -17
- package/support/vendor/phug/phug/composer.json +27 -18
- package/support/vendor/phug/phug/phpcs.xml +4 -0
- package/support/vendor/phug/phug/phpunit.xml +2 -0
- package/support/vendor/phug/phug/phug +1 -1
- package/support/vendor/phug/phug/release.php +8 -0
- package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +9 -3
- package/support/vendor/phug/phug/src/Phug/Ast/composer.json +2 -3
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/AbstractNodeCompiler.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentListNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +10 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeListNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/BlockNodeCompiler.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CaseNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CodeNodeCompiler.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/CommentNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ConditionalNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DoctypeNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/DocumentNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/EachNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +7 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ExpressionNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/FilterNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ForNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/KeywordNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinCallNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/MixinNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/TextNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/VariableNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhenNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/WhileNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/YieldNodeCompiler.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Compiler/Compiler.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/CompilerInterface.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +10 -7
- package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
- package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +3 -4
- package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
- package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Event/composer.json +2 -3
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +17 -14
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractValueElement.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AnonymousBlockElement.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +13 -8
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +7 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/KeywordElement.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +13 -11
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/VariableElement.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Event/FormatEvent.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/HtmlFormat.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XhtmlFormat.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +214 -21
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/FormatInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/PatternTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +5 -6
- package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +9 -6
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/AbstractToken.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +24 -12
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
- package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/TokenInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +4 -5
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/State.php +4 -4
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
- package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Parser/ParserException.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Parser/composer.json +5 -6
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/PluginEnablerTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
- package/support/vendor/phug/phug/src/Phug/Phug/composer.json +9 -6
- package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +13 -13
- package/support/vendor/phug/phug/src/Phug/Reader/composer.json +6 -2
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Task/TasksGroup.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +10 -6
- package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
- package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
- package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +2 -1
- package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
- package/support/vendor/phug/phug/src/Phug/Util/composer.json +7 -8
- package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
- package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
- package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
- package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
- package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
- package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
- package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
- package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
- package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
- package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
- package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
- package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
- package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
- package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
- package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
- package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
- package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
- package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
- package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
- package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
- package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
- package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
- package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
- package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
- package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
- package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
- package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
- package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
- package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
- package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
- package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
- package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
- package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
- package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
- package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
- package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
- package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
- package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
- package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
- package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
- package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
- package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
- package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
- package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
- package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
- package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
- package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
- package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
- package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
- package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
- package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
- package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
- package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
- package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
- package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
- package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
- package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
- package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
- package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
- package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
- package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
- package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
- package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
- package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
- package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
- package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
- package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
- package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
- package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
- package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
- package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
- package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
- package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
- package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
- package/support/vendor/symfony/var-dumper/LICENSE +1 -1
- package/support/vendor/symfony/var-dumper/README.md +6 -6
- package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
- package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
- package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
- package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
- package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
- package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
- package/support/vendor/symfony/var-dumper/composer.json +10 -16
- package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
- package/support/vendor/symfony/polyfill-php72/README.md +0 -28
- package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
- package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
- package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
- package/support/vendor/symfony/polyfill-php80/README.md +0 -24
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
- package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
- package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
- package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
|
@@ -9,33 +9,58 @@
|
|
|
9
9
|
* file that was distributed with this source code.
|
|
10
10
|
*/
|
|
11
11
|
|
|
12
|
+
use Symfony\Component\VarDumper\Caster\ScalarStub;
|
|
12
13
|
use Symfony\Component\VarDumper\VarDumper;
|
|
13
14
|
|
|
14
15
|
if (!function_exists('dump')) {
|
|
15
16
|
/**
|
|
16
17
|
* @author Nicolas Grekas <p@tchwork.com>
|
|
18
|
+
* @author Alexandre Daubois <alex.daubois@gmail.com>
|
|
17
19
|
*/
|
|
18
|
-
function dump(
|
|
20
|
+
function dump(mixed ...$vars): mixed
|
|
19
21
|
{
|
|
20
|
-
|
|
22
|
+
if (!$vars) {
|
|
23
|
+
VarDumper::dump(new ScalarStub('🐛'));
|
|
21
24
|
|
|
22
|
-
|
|
23
|
-
VarDumper::dump($v);
|
|
25
|
+
return null;
|
|
24
26
|
}
|
|
25
27
|
|
|
26
|
-
if (1
|
|
27
|
-
|
|
28
|
+
if (array_key_exists(0, $vars) && 1 === count($vars)) {
|
|
29
|
+
VarDumper::dump($vars[0]);
|
|
30
|
+
$k = 0;
|
|
31
|
+
} else {
|
|
32
|
+
foreach ($vars as $k => $v) {
|
|
33
|
+
VarDumper::dump($v, is_int($k) ? 1 + $k : $k);
|
|
34
|
+
}
|
|
28
35
|
}
|
|
29
36
|
|
|
30
|
-
|
|
37
|
+
if (1 < count($vars)) {
|
|
38
|
+
return $vars;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
return $vars[$k];
|
|
31
42
|
}
|
|
32
43
|
}
|
|
33
44
|
|
|
34
45
|
if (!function_exists('dd')) {
|
|
35
|
-
function dd(...$vars)
|
|
46
|
+
function dd(mixed ...$vars): never
|
|
36
47
|
{
|
|
37
|
-
|
|
38
|
-
|
|
48
|
+
if (!in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true) && !headers_sent()) {
|
|
49
|
+
header('HTTP/1.1 500 Internal Server Error');
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
if (!$vars) {
|
|
53
|
+
VarDumper::dump(new ScalarStub('🐛'));
|
|
54
|
+
|
|
55
|
+
exit(1);
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
if (array_key_exists(0, $vars) && 1 === count($vars)) {
|
|
59
|
+
VarDumper::dump($vars[0]);
|
|
60
|
+
} else {
|
|
61
|
+
foreach ($vars as $k => $v) {
|
|
62
|
+
VarDumper::dump($v, is_int($k) ? 1 + $k : $k);
|
|
63
|
+
}
|
|
39
64
|
}
|
|
40
65
|
|
|
41
66
|
exit(1);
|
|
@@ -21,22 +21,26 @@ use Symfony\Component\VarDumper\Dumper\ContextProvider\ContextProviderInterface;
|
|
|
21
21
|
*/
|
|
22
22
|
class Connection
|
|
23
23
|
{
|
|
24
|
-
private $host;
|
|
25
|
-
|
|
24
|
+
private string $host;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* @var resource|null
|
|
28
|
+
*/
|
|
26
29
|
private $socket;
|
|
27
30
|
|
|
28
31
|
/**
|
|
29
32
|
* @param string $host The server host
|
|
30
33
|
* @param ContextProviderInterface[] $contextProviders Context providers indexed by context name
|
|
31
34
|
*/
|
|
32
|
-
public function __construct(
|
|
33
|
-
|
|
34
|
-
|
|
35
|
+
public function __construct(
|
|
36
|
+
string $host,
|
|
37
|
+
private array $contextProviders = [],
|
|
38
|
+
) {
|
|
39
|
+
if (!str_contains($host, '://')) {
|
|
35
40
|
$host = 'tcp://'.$host;
|
|
36
41
|
}
|
|
37
42
|
|
|
38
43
|
$this->host = $host;
|
|
39
|
-
$this->contextProviders = $contextProviders;
|
|
40
44
|
}
|
|
41
45
|
|
|
42
46
|
public function getContextProviders(): array
|
|
@@ -58,7 +62,7 @@ class Connection
|
|
|
58
62
|
$context = array_filter($context);
|
|
59
63
|
$encodedPayload = base64_encode(serialize([$data, $context]))."\n";
|
|
60
64
|
|
|
61
|
-
set_error_handler(
|
|
65
|
+
set_error_handler(static fn () => null);
|
|
62
66
|
try {
|
|
63
67
|
if (-1 !== stream_socket_sendto($this->socket, $encodedPayload)) {
|
|
64
68
|
return true;
|
|
@@ -78,16 +82,14 @@ class Connection
|
|
|
78
82
|
return false;
|
|
79
83
|
}
|
|
80
84
|
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
}
|
|
85
|
-
|
|
85
|
+
/**
|
|
86
|
+
* @return resource|null
|
|
87
|
+
*/
|
|
86
88
|
private function createSocket()
|
|
87
89
|
{
|
|
88
|
-
set_error_handler(
|
|
90
|
+
set_error_handler(static fn () => null);
|
|
89
91
|
try {
|
|
90
|
-
return stream_socket_client($this->host, $errno, $errstr, 3
|
|
92
|
+
return stream_socket_client($this->host, $errno, $errstr, 3) ?: null;
|
|
91
93
|
} finally {
|
|
92
94
|
restore_error_handler();
|
|
93
95
|
}
|
|
@@ -24,24 +24,28 @@ use Symfony\Component\VarDumper\Cloner\Stub;
|
|
|
24
24
|
*/
|
|
25
25
|
class DumpServer
|
|
26
26
|
{
|
|
27
|
-
private $host;
|
|
27
|
+
private string $host;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* @var resource|null
|
|
31
|
+
*/
|
|
28
32
|
private $socket;
|
|
29
|
-
private $logger;
|
|
30
33
|
|
|
31
|
-
public function __construct(
|
|
32
|
-
|
|
33
|
-
|
|
34
|
+
public function __construct(
|
|
35
|
+
string $host,
|
|
36
|
+
private ?LoggerInterface $logger = null,
|
|
37
|
+
) {
|
|
38
|
+
if (!str_contains($host, '://')) {
|
|
34
39
|
$host = 'tcp://'.$host;
|
|
35
40
|
}
|
|
36
41
|
|
|
37
42
|
$this->host = $host;
|
|
38
|
-
$this->logger = $logger;
|
|
39
43
|
}
|
|
40
44
|
|
|
41
45
|
public function start(): void
|
|
42
46
|
{
|
|
43
47
|
if (!$this->socket = stream_socket_server($this->host, $errno, $errstr)) {
|
|
44
|
-
throw new \RuntimeException(sprintf('Server start failed on "%s": ', $this->host).$errstr.' '.$errno);
|
|
48
|
+
throw new \RuntimeException(\sprintf('Server start failed on "%s": ', $this->host).$errstr.' '.$errno);
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
|
|
@@ -52,26 +56,24 @@ class DumpServer
|
|
|
52
56
|
}
|
|
53
57
|
|
|
54
58
|
foreach ($this->getMessages() as $clientId => $message) {
|
|
59
|
+
$this->logger?->info('Received a payload from client {clientId}', ['clientId' => $clientId]);
|
|
60
|
+
|
|
55
61
|
$payload = @unserialize(base64_decode($message), ['allowed_classes' => [Data::class, Stub::class]]);
|
|
56
62
|
|
|
57
63
|
// Impossible to decode the message, give up.
|
|
58
64
|
if (false === $payload) {
|
|
59
|
-
|
|
60
|
-
$this->logger->warning('Unable to decode a message from {clientId} client.', ['clientId' => $clientId]);
|
|
61
|
-
}
|
|
65
|
+
$this->logger?->warning('Unable to decode a message from {clientId} client.', ['clientId' => $clientId]);
|
|
62
66
|
|
|
63
67
|
continue;
|
|
64
68
|
}
|
|
65
69
|
|
|
66
70
|
if (!\is_array($payload) || \count($payload) < 2 || !$payload[0] instanceof Data || !\is_array($payload[1])) {
|
|
67
|
-
|
|
68
|
-
$this->logger->warning('Invalid payload from {clientId} client. Expected an array of two elements (Data $data, array $context)', ['clientId' => $clientId]);
|
|
69
|
-
}
|
|
71
|
+
$this->logger?->warning('Invalid payload from {clientId} client. Expected an array of two elements (Data $data, array $context)', ['clientId' => $clientId]);
|
|
70
72
|
|
|
71
73
|
continue;
|
|
72
74
|
}
|
|
73
75
|
|
|
74
|
-
|
|
76
|
+
[$data, $context] = $payload;
|
|
75
77
|
|
|
76
78
|
$callback($data, $context, $clientId);
|
|
77
79
|
}
|
|
@@ -22,12 +22,15 @@ trait VarDumperTestTrait
|
|
|
22
22
|
/**
|
|
23
23
|
* @internal
|
|
24
24
|
*/
|
|
25
|
-
private $varDumperConfig = [
|
|
25
|
+
private array $varDumperConfig = [
|
|
26
26
|
'casters' => [],
|
|
27
27
|
'flags' => null,
|
|
28
28
|
];
|
|
29
29
|
|
|
30
|
-
|
|
30
|
+
/**
|
|
31
|
+
* @param array<string, callable> $casters
|
|
32
|
+
*/
|
|
33
|
+
protected function setUpVarDumper(array $casters, ?int $flags = null): void
|
|
31
34
|
{
|
|
32
35
|
$this->varDumperConfig['casters'] = $casters;
|
|
33
36
|
$this->varDumperConfig['flags'] = $flags;
|
|
@@ -42,20 +45,17 @@ trait VarDumperTestTrait
|
|
|
42
45
|
$this->varDumperConfig['flags'] = null;
|
|
43
46
|
}
|
|
44
47
|
|
|
45
|
-
public function assertDumpEquals($expected, $data, $filter = 0, $message = '')
|
|
48
|
+
public function assertDumpEquals(mixed $expected, mixed $data, int $filter = 0, string $message = '')
|
|
46
49
|
{
|
|
47
50
|
$this->assertSame($this->prepareExpectation($expected, $filter), $this->getDump($data, null, $filter), $message);
|
|
48
51
|
}
|
|
49
52
|
|
|
50
|
-
public function assertDumpMatchesFormat($expected, $data, $filter = 0, $message = '')
|
|
53
|
+
public function assertDumpMatchesFormat(mixed $expected, mixed $data, int $filter = 0, string $message = '')
|
|
51
54
|
{
|
|
52
55
|
$this->assertStringMatchesFormat($this->prepareExpectation($expected, $filter), $this->getDump($data, null, $filter), $message);
|
|
53
56
|
}
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
* @return string|null
|
|
57
|
-
*/
|
|
58
|
-
protected function getDump($data, $key = null, $filter = 0)
|
|
58
|
+
protected function getDump(mixed $data, string|int|null $key = null, int $filter = 0): ?string
|
|
59
59
|
{
|
|
60
60
|
if (null === $flags = $this->varDumperConfig['flags']) {
|
|
61
61
|
$flags = getenv('DUMP_LIGHT_ARRAY') ? CliDumper::DUMP_LIGHT_ARRAY : 0;
|
|
@@ -76,7 +76,7 @@ trait VarDumperTestTrait
|
|
|
76
76
|
return rtrim($dumper->dump($data, true));
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
private function prepareExpectation($expected, int $filter): string
|
|
79
|
+
private function prepareExpectation(mixed $expected, int $filter): string
|
|
80
80
|
{
|
|
81
81
|
if (!\is_string($expected)) {
|
|
82
82
|
$expected = $this->getDump($expected, null, $filter);
|
|
@@ -11,12 +11,18 @@
|
|
|
11
11
|
|
|
12
12
|
namespace Symfony\Component\VarDumper;
|
|
13
13
|
|
|
14
|
+
use Symfony\Component\ErrorHandler\ErrorRenderer\FileLinkFormatter;
|
|
15
|
+
use Symfony\Component\HttpFoundation\Request;
|
|
16
|
+
use Symfony\Component\HttpFoundation\RequestStack;
|
|
14
17
|
use Symfony\Component\VarDumper\Caster\ReflectionCaster;
|
|
15
18
|
use Symfony\Component\VarDumper\Cloner\VarCloner;
|
|
16
19
|
use Symfony\Component\VarDumper\Dumper\CliDumper;
|
|
20
|
+
use Symfony\Component\VarDumper\Dumper\ContextProvider\CliContextProvider;
|
|
21
|
+
use Symfony\Component\VarDumper\Dumper\ContextProvider\RequestContextProvider;
|
|
17
22
|
use Symfony\Component\VarDumper\Dumper\ContextProvider\SourceContextProvider;
|
|
18
23
|
use Symfony\Component\VarDumper\Dumper\ContextualizedDumper;
|
|
19
24
|
use Symfony\Component\VarDumper\Dumper\HtmlDumper;
|
|
25
|
+
use Symfony\Component\VarDumper\Dumper\ServerDumper;
|
|
20
26
|
|
|
21
27
|
// Load the global dump() function
|
|
22
28
|
require_once __DIR__.'/Resources/functions/dump.php';
|
|
@@ -26,31 +32,21 @@ require_once __DIR__.'/Resources/functions/dump.php';
|
|
|
26
32
|
*/
|
|
27
33
|
class VarDumper
|
|
28
34
|
{
|
|
35
|
+
/**
|
|
36
|
+
* @var callable|null
|
|
37
|
+
*/
|
|
29
38
|
private static $handler;
|
|
30
39
|
|
|
31
|
-
public static function dump($var)
|
|
40
|
+
public static function dump(mixed $var, ?string $label = null): mixed
|
|
32
41
|
{
|
|
33
42
|
if (null === self::$handler) {
|
|
34
|
-
|
|
35
|
-
$cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO);
|
|
36
|
-
|
|
37
|
-
if (isset($_SERVER['VAR_DUMPER_FORMAT'])) {
|
|
38
|
-
$dumper = 'html' === $_SERVER['VAR_DUMPER_FORMAT'] ? new HtmlDumper() : new CliDumper();
|
|
39
|
-
} else {
|
|
40
|
-
$dumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg']) ? new CliDumper() : new HtmlDumper();
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
$dumper = new ContextualizedDumper($dumper, [new SourceContextProvider()]);
|
|
44
|
-
|
|
45
|
-
self::$handler = function ($var) use ($cloner, $dumper) {
|
|
46
|
-
$dumper->dump($cloner->cloneVar($var));
|
|
47
|
-
};
|
|
43
|
+
self::register();
|
|
48
44
|
}
|
|
49
45
|
|
|
50
|
-
return (self::$handler)($var);
|
|
46
|
+
return (self::$handler)($var, $label);
|
|
51
47
|
}
|
|
52
48
|
|
|
53
|
-
public static function setHandler(callable $callable
|
|
49
|
+
public static function setHandler(?callable $callable): ?callable
|
|
54
50
|
{
|
|
55
51
|
$prevHandler = self::$handler;
|
|
56
52
|
|
|
@@ -63,4 +59,60 @@ class VarDumper
|
|
|
63
59
|
|
|
64
60
|
return $prevHandler;
|
|
65
61
|
}
|
|
62
|
+
|
|
63
|
+
private static function register(): void
|
|
64
|
+
{
|
|
65
|
+
$cloner = new VarCloner();
|
|
66
|
+
$cloner->addCasters(ReflectionCaster::UNSET_CLOSURE_FILE_INFO);
|
|
67
|
+
|
|
68
|
+
$format = $_SERVER['VAR_DUMPER_FORMAT'] ?? null;
|
|
69
|
+
switch (true) {
|
|
70
|
+
case 'html' === $format:
|
|
71
|
+
$dumper = new HtmlDumper();
|
|
72
|
+
break;
|
|
73
|
+
case 'cli' === $format:
|
|
74
|
+
$dumper = new CliDumper();
|
|
75
|
+
break;
|
|
76
|
+
case 'server' === $format:
|
|
77
|
+
case $format && 'tcp' === parse_url($format, \PHP_URL_SCHEME):
|
|
78
|
+
$host = 'server' === $format ? $_SERVER['VAR_DUMPER_SERVER'] ?? '127.0.0.1:9912' : $format;
|
|
79
|
+
$dumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true) ? new CliDumper() : new HtmlDumper();
|
|
80
|
+
$dumper = new ServerDumper($host, $dumper, self::getDefaultContextProviders());
|
|
81
|
+
break;
|
|
82
|
+
default:
|
|
83
|
+
$dumper = \in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true) ? new CliDumper() : new HtmlDumper();
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
if (!$dumper instanceof ServerDumper) {
|
|
87
|
+
$dumper = new ContextualizedDumper($dumper, [new SourceContextProvider()]);
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
self::$handler = function ($var, ?string $label = null) use ($cloner, $dumper) {
|
|
91
|
+
$var = $cloner->cloneVar($var);
|
|
92
|
+
|
|
93
|
+
if (null !== $label) {
|
|
94
|
+
$var = $var->withContext(['label' => $label]);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
$dumper->dump($var);
|
|
98
|
+
};
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
private static function getDefaultContextProviders(): array
|
|
102
|
+
{
|
|
103
|
+
$contextProviders = [];
|
|
104
|
+
|
|
105
|
+
if (!\in_array(\PHP_SAPI, ['cli', 'phpdbg', 'embed'], true) && class_exists(Request::class)) {
|
|
106
|
+
$requestStack = new RequestStack();
|
|
107
|
+
$requestStack->push(Request::createFromGlobals());
|
|
108
|
+
$contextProviders['request'] = new RequestContextProvider($requestStack);
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
$fileLinkFormatter = class_exists(FileLinkFormatter::class) ? new FileLinkFormatter(null, $requestStack ?? null) : null;
|
|
112
|
+
|
|
113
|
+
return $contextProviders + [
|
|
114
|
+
'cli' => new CliContextProvider(),
|
|
115
|
+
'source' => new SourceContextProvider(null, null, $fileLinkFormatter),
|
|
116
|
+
];
|
|
117
|
+
}
|
|
66
118
|
}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "symfony/var-dumper",
|
|
3
3
|
"type": "library",
|
|
4
|
-
"description": "
|
|
4
|
+
"description": "Provides mechanisms for walking through any arbitrary PHP variable",
|
|
5
5
|
"keywords": ["dump", "debug"],
|
|
6
6
|
"homepage": "https://symfony.com",
|
|
7
7
|
"license": "MIT",
|
|
@@ -16,25 +16,19 @@
|
|
|
16
16
|
}
|
|
17
17
|
],
|
|
18
18
|
"require": {
|
|
19
|
-
"php": ">=
|
|
20
|
-
"symfony/
|
|
21
|
-
"symfony/polyfill-
|
|
22
|
-
"symfony/polyfill-php80": "^1.15"
|
|
19
|
+
"php": ">=8.2",
|
|
20
|
+
"symfony/deprecation-contracts": "^2.5|^3",
|
|
21
|
+
"symfony/polyfill-mbstring": "~1.0"
|
|
23
22
|
},
|
|
24
23
|
"require-dev": {
|
|
25
|
-
"
|
|
26
|
-
"symfony/
|
|
27
|
-
"symfony/process": "^
|
|
28
|
-
"
|
|
24
|
+
"symfony/console": "^6.4|^7.0",
|
|
25
|
+
"symfony/http-kernel": "^6.4|^7.0",
|
|
26
|
+
"symfony/process": "^6.4|^7.0",
|
|
27
|
+
"symfony/uid": "^6.4|^7.0",
|
|
28
|
+
"twig/twig": "^3.12"
|
|
29
29
|
},
|
|
30
30
|
"conflict": {
|
|
31
|
-
"
|
|
32
|
-
"symfony/console": "<3.4"
|
|
33
|
-
},
|
|
34
|
-
"suggest": {
|
|
35
|
-
"ext-iconv": "To convert non-UTF-8 strings to UTF-8 (or symfony/polyfill-iconv in case ext-iconv cannot be used).",
|
|
36
|
-
"ext-intl": "To show region name in time zone dump",
|
|
37
|
-
"symfony/console": "To use the ServerDumpCommand and/or the bin/var-dump-server script"
|
|
31
|
+
"symfony/console": "<6.4"
|
|
38
32
|
},
|
|
39
33
|
"autoload": {
|
|
40
34
|
"files": [ "Resources/functions/dump.php" ],
|
|
@@ -1,217 +0,0 @@
|
|
|
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\Polyfill\Php72;
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @author Nicolas Grekas <p@tchwork.com>
|
|
16
|
-
* @author Dariusz Rumiński <dariusz.ruminski@gmail.com>
|
|
17
|
-
*
|
|
18
|
-
* @internal
|
|
19
|
-
*/
|
|
20
|
-
final class Php72
|
|
21
|
-
{
|
|
22
|
-
private static $hashMask;
|
|
23
|
-
|
|
24
|
-
public static function utf8_encode($s)
|
|
25
|
-
{
|
|
26
|
-
$s .= $s;
|
|
27
|
-
$len = \strlen($s);
|
|
28
|
-
|
|
29
|
-
for ($i = $len >> 1, $j = 0; $i < $len; ++$i, ++$j) {
|
|
30
|
-
switch (true) {
|
|
31
|
-
case $s[$i] < "\x80": $s[$j] = $s[$i]; break;
|
|
32
|
-
case $s[$i] < "\xC0": $s[$j] = "\xC2"; $s[++$j] = $s[$i]; break;
|
|
33
|
-
default: $s[$j] = "\xC3"; $s[++$j] = \chr(\ord($s[$i]) - 64); break;
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
return substr($s, 0, $j);
|
|
38
|
-
}
|
|
39
|
-
|
|
40
|
-
public static function utf8_decode($s)
|
|
41
|
-
{
|
|
42
|
-
$s = (string) $s;
|
|
43
|
-
$len = \strlen($s);
|
|
44
|
-
|
|
45
|
-
for ($i = 0, $j = 0; $i < $len; ++$i, ++$j) {
|
|
46
|
-
switch ($s[$i] & "\xF0") {
|
|
47
|
-
case "\xC0":
|
|
48
|
-
case "\xD0":
|
|
49
|
-
$c = (\ord($s[$i] & "\x1F") << 6) | \ord($s[++$i] & "\x3F");
|
|
50
|
-
$s[$j] = $c < 256 ? \chr($c) : '?';
|
|
51
|
-
break;
|
|
52
|
-
|
|
53
|
-
case "\xF0":
|
|
54
|
-
++$i;
|
|
55
|
-
// no break
|
|
56
|
-
|
|
57
|
-
case "\xE0":
|
|
58
|
-
$s[$j] = '?';
|
|
59
|
-
$i += 2;
|
|
60
|
-
break;
|
|
61
|
-
|
|
62
|
-
default:
|
|
63
|
-
$s[$j] = $s[$i];
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
return substr($s, 0, $j);
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
public static function php_os_family()
|
|
71
|
-
{
|
|
72
|
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
|
73
|
-
return 'Windows';
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
$map = array(
|
|
77
|
-
'Darwin' => 'Darwin',
|
|
78
|
-
'DragonFly' => 'BSD',
|
|
79
|
-
'FreeBSD' => 'BSD',
|
|
80
|
-
'NetBSD' => 'BSD',
|
|
81
|
-
'OpenBSD' => 'BSD',
|
|
82
|
-
'Linux' => 'Linux',
|
|
83
|
-
'SunOS' => 'Solaris',
|
|
84
|
-
);
|
|
85
|
-
|
|
86
|
-
return isset($map[PHP_OS]) ? $map[PHP_OS] : 'Unknown';
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
public static function spl_object_id($object)
|
|
90
|
-
{
|
|
91
|
-
if (null === self::$hashMask) {
|
|
92
|
-
self::initHashMask();
|
|
93
|
-
}
|
|
94
|
-
if (null === $hash = spl_object_hash($object)) {
|
|
95
|
-
return;
|
|
96
|
-
}
|
|
97
|
-
|
|
98
|
-
// On 32-bit systems, PHP_INT_SIZE is 4,
|
|
99
|
-
return self::$hashMask ^ hexdec(substr($hash, 16 - (\PHP_INT_SIZE * 2 - 1), (\PHP_INT_SIZE * 2 - 1)));
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
public static function sapi_windows_vt100_support($stream, $enable = null)
|
|
103
|
-
{
|
|
104
|
-
if (!\is_resource($stream)) {
|
|
105
|
-
trigger_error('sapi_windows_vt100_support() expects parameter 1 to be resource, '.\gettype($stream).' given', E_USER_WARNING);
|
|
106
|
-
|
|
107
|
-
return false;
|
|
108
|
-
}
|
|
109
|
-
|
|
110
|
-
$meta = stream_get_meta_data($stream);
|
|
111
|
-
|
|
112
|
-
if ('STDIO' !== $meta['stream_type']) {
|
|
113
|
-
trigger_error('sapi_windows_vt100_support() was not able to analyze the specified stream', E_USER_WARNING);
|
|
114
|
-
|
|
115
|
-
return false;
|
|
116
|
-
}
|
|
117
|
-
|
|
118
|
-
// We cannot actually disable vt100 support if it is set
|
|
119
|
-
if (false === $enable || !self::stream_isatty($stream)) {
|
|
120
|
-
return false;
|
|
121
|
-
}
|
|
122
|
-
|
|
123
|
-
// The native function does not apply to stdin
|
|
124
|
-
$meta = array_map('strtolower', $meta);
|
|
125
|
-
$stdin = 'php://stdin' === $meta['uri'] || 'php://fd/0' === $meta['uri'];
|
|
126
|
-
|
|
127
|
-
return !$stdin
|
|
128
|
-
&& (false !== getenv('ANSICON')
|
|
129
|
-
|| 'ON' === getenv('ConEmuANSI')
|
|
130
|
-
|| 'xterm' === getenv('TERM')
|
|
131
|
-
|| 'Hyper' === getenv('TERM_PROGRAM'));
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
public static function stream_isatty($stream)
|
|
135
|
-
{
|
|
136
|
-
if (!\is_resource($stream)) {
|
|
137
|
-
trigger_error('stream_isatty() expects parameter 1 to be resource, '.\gettype($stream).' given', E_USER_WARNING);
|
|
138
|
-
|
|
139
|
-
return false;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
if ('\\' === \DIRECTORY_SEPARATOR) {
|
|
143
|
-
$stat = @fstat($stream);
|
|
144
|
-
// Check if formatted mode is S_IFCHR
|
|
145
|
-
return $stat ? 0020000 === ($stat['mode'] & 0170000) : false;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
return \function_exists('posix_isatty') && @posix_isatty($stream);
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
private static function initHashMask()
|
|
152
|
-
{
|
|
153
|
-
$obj = (object) array();
|
|
154
|
-
self::$hashMask = -1;
|
|
155
|
-
|
|
156
|
-
// check if we are nested in an output buffering handler to prevent a fatal error with ob_start() below
|
|
157
|
-
$obFuncs = array('ob_clean', 'ob_end_clean', 'ob_flush', 'ob_end_flush', 'ob_get_contents', 'ob_get_flush');
|
|
158
|
-
foreach (debug_backtrace(\PHP_VERSION_ID >= 50400 ? DEBUG_BACKTRACE_IGNORE_ARGS : false) as $frame) {
|
|
159
|
-
if (isset($frame['function'][0]) && !isset($frame['class']) && 'o' === $frame['function'][0] && \in_array($frame['function'], $obFuncs)) {
|
|
160
|
-
$frame['line'] = 0;
|
|
161
|
-
break;
|
|
162
|
-
}
|
|
163
|
-
}
|
|
164
|
-
if (!empty($frame['line'])) {
|
|
165
|
-
ob_start();
|
|
166
|
-
debug_zval_dump($obj);
|
|
167
|
-
self::$hashMask = (int) substr(ob_get_clean(), 17);
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
self::$hashMask ^= hexdec(substr(spl_object_hash($obj), 16 - (\PHP_INT_SIZE * 2 - 1), (\PHP_INT_SIZE * 2 - 1)));
|
|
171
|
-
}
|
|
172
|
-
|
|
173
|
-
public static function mb_chr($code, $encoding = null)
|
|
174
|
-
{
|
|
175
|
-
if (0x80 > $code %= 0x200000) {
|
|
176
|
-
$s = \chr($code);
|
|
177
|
-
} elseif (0x800 > $code) {
|
|
178
|
-
$s = \chr(0xC0 | $code >> 6).\chr(0x80 | $code & 0x3F);
|
|
179
|
-
} elseif (0x10000 > $code) {
|
|
180
|
-
$s = \chr(0xE0 | $code >> 12).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F);
|
|
181
|
-
} else {
|
|
182
|
-
$s = \chr(0xF0 | $code >> 18).\chr(0x80 | $code >> 12 & 0x3F).\chr(0x80 | $code >> 6 & 0x3F).\chr(0x80 | $code & 0x3F);
|
|
183
|
-
}
|
|
184
|
-
|
|
185
|
-
if ('UTF-8' !== $encoding) {
|
|
186
|
-
$s = mb_convert_encoding($s, $encoding, 'UTF-8');
|
|
187
|
-
}
|
|
188
|
-
|
|
189
|
-
return $s;
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
public static function mb_ord($s, $encoding = null)
|
|
193
|
-
{
|
|
194
|
-
if (null === $encoding) {
|
|
195
|
-
$s = mb_convert_encoding($s, 'UTF-8');
|
|
196
|
-
} elseif ('UTF-8' !== $encoding) {
|
|
197
|
-
$s = mb_convert_encoding($s, 'UTF-8', $encoding);
|
|
198
|
-
}
|
|
199
|
-
|
|
200
|
-
if (1 === \strlen($s)) {
|
|
201
|
-
return \ord($s);
|
|
202
|
-
}
|
|
203
|
-
|
|
204
|
-
$code = ($s = unpack('C*', substr($s, 0, 4))) ? $s[1] : 0;
|
|
205
|
-
if (0xF0 <= $code) {
|
|
206
|
-
return (($code - 0xF0) << 18) + (($s[2] - 0x80) << 12) + (($s[3] - 0x80) << 6) + $s[4] - 0x80;
|
|
207
|
-
}
|
|
208
|
-
if (0xE0 <= $code) {
|
|
209
|
-
return (($code - 0xE0) << 12) + (($s[2] - 0x80) << 6) + $s[3] - 0x80;
|
|
210
|
-
}
|
|
211
|
-
if (0xC0 <= $code) {
|
|
212
|
-
return (($code - 0xC0) << 6) + $s[2] - 0x80;
|
|
213
|
-
}
|
|
214
|
-
|
|
215
|
-
return $code;
|
|
216
|
-
}
|
|
217
|
-
}
|
|
@@ -1,28 +0,0 @@
|
|
|
1
|
-
Symfony Polyfill / Php72
|
|
2
|
-
========================
|
|
3
|
-
|
|
4
|
-
This component provides functions added to PHP 7.2 core:
|
|
5
|
-
|
|
6
|
-
- [`spl_object_id`](https://php.net/spl_object_id)
|
|
7
|
-
- [`stream_isatty`](https://php.net/stream_isatty)
|
|
8
|
-
|
|
9
|
-
On Windows only:
|
|
10
|
-
|
|
11
|
-
- [`sapi_windows_vt100_support`](https://php.net/sapi_windows_vt100_support)
|
|
12
|
-
|
|
13
|
-
Moved to core since 7.2 (was in the optional XML extension earlier):
|
|
14
|
-
|
|
15
|
-
- [`utf8_encode`](https://php.net/utf8_encode)
|
|
16
|
-
- [`utf8_decode`](https://php.net/utf8_decode)
|
|
17
|
-
|
|
18
|
-
Also, it provides constants added to PHP 7.2:
|
|
19
|
-
- [`PHP_FLOAT_*`](https://php.net/reserved.constants#constant.php-float-dig)
|
|
20
|
-
- [`PHP_OS_FAMILY`](https://php.net/reserved.constants#constant.php-os-family)
|
|
21
|
-
|
|
22
|
-
More information can be found in the
|
|
23
|
-
[main Polyfill README](https://github.com/symfony/polyfill/blob/master/README.md).
|
|
24
|
-
|
|
25
|
-
License
|
|
26
|
-
=======
|
|
27
|
-
|
|
28
|
-
This library is released under the [MIT license](LICENSE).
|