gulp-phug 1.3.3 → 1.3.5

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 (260) hide show
  1. package/index.js +23 -8
  2. package/package.json +4 -4
  3. package/support/composer.json +1 -1
  4. package/support/composer.lock +93 -178
  5. package/support/vendor/autoload.php +15 -0
  6. package/support/vendor/bin/phug +119 -0
  7. package/support/vendor/bin/var-dump-server +119 -0
  8. package/support/vendor/composer/ClassLoader.php +166 -32
  9. package/support/vendor/composer/InstalledVersions.php +387 -329
  10. package/support/vendor/composer/autoload_classmap.php +1 -5
  11. package/support/vendor/composer/autoload_files.php +2 -3
  12. package/support/vendor/composer/autoload_namespaces.php +1 -1
  13. package/support/vendor/composer/autoload_psr4.php +3 -4
  14. package/support/vendor/composer/autoload_real.php +12 -37
  15. package/support/vendor/composer/autoload_static.php +6 -17
  16. package/support/vendor/composer/installed.json +97 -184
  17. package/support/vendor/composer/installed.php +129 -151
  18. package/support/vendor/composer/platform_check.php +16 -4
  19. package/support/vendor/phug/phug/.github/workflows/coverage.yml +71 -0
  20. package/support/vendor/phug/phug/.github/workflows/multi-tester.yml +46 -0
  21. package/support/vendor/phug/phug/.github/workflows/split.yml +41 -0
  22. package/support/vendor/phug/phug/.github/workflows/style.yml +48 -0
  23. package/support/vendor/phug/phug/.github/workflows/tests.yml +49 -0
  24. package/support/vendor/phug/phug/.multi-tester.yml +42 -10
  25. package/support/vendor/phug/phug/composer.json +25 -16
  26. package/support/vendor/phug/phug/phpcs.xml +4 -0
  27. package/support/vendor/phug/phug/phpunit.xml +2 -0
  28. package/support/vendor/phug/phug/phug +1 -1
  29. package/support/vendor/phug/phug/release.php +8 -0
  30. package/support/vendor/phug/phug/src/Phug/Ast/Ast/Node.php +7 -1
  31. package/support/vendor/phug/phug/src/Phug/Ast/composer.json +1 -2
  32. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/Element/BlockElement.php +1 -1
  33. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AssignmentNodeCompiler.php +9 -1
  34. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/AttributeNodeCompiler.php +1 -0
  35. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ElementNodeCompiler.php +6 -0
  36. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompiler/ImportNodeCompiler.php +4 -4
  37. package/support/vendor/phug/phug/src/Phug/Compiler/Compiler/NodeCompilerInterface.php +1 -1
  38. package/support/vendor/phug/phug/src/Phug/Compiler/composer.json +5 -2
  39. package/support/vendor/phug/phug/src/Phug/DependencyInjection/DependencyInjection.php +1 -1
  40. package/support/vendor/phug/phug/src/Phug/DependencyInjection/composer.json +1 -2
  41. package/support/vendor/phug/phug/src/Phug/Event/Event/ListenerQueue.php +3 -0
  42. package/support/vendor/phug/phug/src/Phug/Event/EventManagerTrait.php +1 -1
  43. package/support/vendor/phug/phug/src/Phug/Event/composer.json +1 -2
  44. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AbstractFormat.php +15 -12
  45. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/AssignmentContainerInterface.php +2 -1
  46. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractAssignmentContainerElement.php +11 -1
  47. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AbstractMarkupElement.php +1 -1
  48. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AssignmentElement.php +9 -4
  49. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/AttributeElement.php +4 -1
  50. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/CodeElement.php +2 -2
  51. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MarkupElement.php +10 -8
  52. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinCallElement.php +2 -1
  53. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Element/MixinElement.php +2 -1
  54. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Format/XmlFormat.php +213 -20
  55. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/AssignmentHelpersTrait.php +7 -4
  56. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/HandleVariable.php +4 -4
  57. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter/Partial/MagicAccessorTrait.php +1 -7
  58. package/support/vendor/phug/phug/src/Phug/Formatter/Formatter.php +1 -1
  59. package/support/vendor/phug/phug/src/Phug/Formatter/composer.json +1 -2
  60. package/support/vendor/phug/phug/src/Phug/Invoker/Invoker.php +1 -1
  61. package/support/vendor/phug/phug/src/Phug/Invoker/composer.json +5 -2
  62. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Partial/IndentStyleTrait.php +5 -5
  63. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AssignmentScanner.php +8 -2
  64. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/AttributeScanner.php +23 -11
  65. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/ConditionalScanner.php +1 -1
  66. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/FilterScanner.php +6 -10
  67. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/IndentationScanner.php +1 -1
  68. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/KeywordScanner.php +1 -1
  69. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/MultilineScanner.php +6 -12
  70. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/Partial/TrailingOutdentHandlerTrait.php +26 -0
  71. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/Scanner/TextScanner.php +3 -3
  72. package/support/vendor/phug/phug/src/Phug/Lexer/Lexer/State.php +9 -9
  73. package/support/vendor/phug/phug/src/Phug/Lexer/composer.json +1 -2
  74. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Event/NodeEvent.php +3 -2
  75. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AssignmentNode.php +5 -1
  76. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/AttributeNode.php +4 -1
  77. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/ElementNode.php +5 -1
  78. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/FilterNode.php +2 -1
  79. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinCallNode.php +5 -1
  80. package/support/vendor/phug/phug/src/Phug/Parser/Parser/Node/MixinNode.php +5 -1
  81. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AbstractTokenHandler.php +87 -0
  82. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AssignmentTokenHandler.php +6 -21
  83. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeEndTokenHandler.php +5 -10
  84. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeStartTokenHandler.php +7 -23
  85. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AttributeTokenHandler.php +21 -19
  86. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/AutoCloseTokenHandler.php +5 -17
  87. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/BlockTokenHandler.php +4 -10
  88. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CaseTokenHandler.php +4 -10
  89. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ClassTokenHandler.php +7 -34
  90. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CodeTokenHandler.php +4 -10
  91. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/CommentTokenHandler.php +4 -10
  92. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ConditionalTokenHandler.php +4 -10
  93. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoTokenHandler.php +4 -10
  94. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/DoctypeTokenHandler.php +4 -10
  95. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/EachTokenHandler.php +4 -10
  96. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpansionTokenHandler.php +5 -11
  97. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ExpressionTokenHandler.php +4 -10
  98. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/FilterTokenHandler.php +4 -10
  99. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ForTokenHandler.php +4 -10
  100. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IdTokenHandler.php +7 -33
  101. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/ImportTokenHandler.php +14 -20
  102. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/IndentTokenHandler.php +4 -10
  103. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationEndTokenHandler.php +4 -10
  104. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/InterpolationStartTokenHandler.php +29 -30
  105. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/KeywordTokenHandler.php +4 -10
  106. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinCallTokenHandler.php +4 -10
  107. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/MixinTokenHandler.php +4 -10
  108. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/NewLineTokenHandler.php +4 -10
  109. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/OutdentTokenHandler.php +4 -10
  110. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/Partial/StaticAttributeTrait.php +36 -0
  111. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationEndTokenHandler.php +4 -10
  112. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagInterpolationStartTokenHandler.php +7 -10
  113. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TagTokenHandler.php +6 -21
  114. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/TextTokenHandler.php +4 -10
  115. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/VariableTokenHandler.php +4 -10
  116. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhenTokenHandler.php +4 -10
  117. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/WhileTokenHandler.php +4 -10
  118. package/support/vendor/phug/phug/src/Phug/Parser/Parser/TokenHandler/YieldTokenHandler.php +4 -10
  119. package/support/vendor/phug/phug/src/Phug/Parser/Parser.php +1 -1
  120. package/support/vendor/phug/phug/src/Phug/Parser/composer.json +1 -2
  121. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Cli.php +5 -5
  122. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/ExtensionsTrait.php +1 -1
  123. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Partial/FacadeOptionsTrait.php +1 -1
  124. package/support/vendor/phug/phug/src/Phug/Phug/Phug/Phug.php +14 -5
  125. package/support/vendor/phug/phug/src/Phug/Phug/composer.json +5 -2
  126. package/support/vendor/phug/phug/src/Phug/Reader/Reader.php +9 -9
  127. package/support/vendor/phug/phug/src/Phug/Reader/composer.json +4 -0
  128. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/FileAdapter.php +21 -4
  129. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/Stream/Template.php +5 -0
  130. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Adapter/StreamAdapter.php +1 -1
  131. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/CacheInterface.php +1 -1
  132. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/AdapterTrait.php +1 -1
  133. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/Debug/DebuggerTrait.php +56 -10
  134. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Partial/RendererOptionsTrait.php +1 -1
  135. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/Dump.php +1 -1
  136. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/LinkDump.php +2 -2
  137. package/support/vendor/phug/phug/src/Phug/Renderer/Renderer/Profiler/ProfilerModule.php +1 -1
  138. package/support/vendor/phug/phug/src/Phug/Renderer/composer.json +7 -3
  139. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseTyped.php +67 -0
  140. package/support/vendor/phug/phug/src/Phug/Util/CompatibilityUtil/TestCaseUntyped.php +67 -0
  141. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesInterface.php +16 -0
  142. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesOrderInterface.php +17 -0
  143. package/support/vendor/phug/phug/src/Phug/Util/Util/AttributesStorage.php +44 -0
  144. package/support/vendor/phug/phug/src/Phug/Util/Util/Collection.php +2 -0
  145. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderableInterface.php +22 -0
  146. package/support/vendor/phug/phug/src/Phug/Util/Util/OrderedValue.php +25 -0
  147. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributeTrait.php +2 -1
  148. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/AttributesOrderTrait.php +19 -0
  149. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ModuleContainerTrait.php +3 -3
  150. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OptionTrait.php +1 -1
  151. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/OrderTrait.php +27 -0
  152. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/StaticMemberTrait.php +1 -1
  153. package/support/vendor/phug/phug/src/Phug/Util/Util/Partial/ValueTrait.php +5 -3
  154. package/support/vendor/phug/phug/src/Phug/Util/Util/SandBox.php +1 -0
  155. package/support/vendor/phug/phug/src/Phug/Util/Util/TestCase.php +47 -4
  156. package/support/vendor/phug/phug/src/Phug/Util/composer.json +5 -6
  157. package/support/vendor/symfony/deprecation-contracts/CHANGELOG.md +5 -0
  158. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/LICENSE +1 -1
  159. package/support/vendor/symfony/deprecation-contracts/README.md +26 -0
  160. package/support/vendor/symfony/{polyfill-php72 → deprecation-contracts}/composer.json +9 -9
  161. package/support/vendor/symfony/deprecation-contracts/function.php +27 -0
  162. package/support/vendor/symfony/polyfill-mbstring/LICENSE +1 -1
  163. package/support/vendor/symfony/polyfill-mbstring/Mbstring.php +256 -57
  164. package/support/vendor/symfony/polyfill-mbstring/README.md +1 -1
  165. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/caseFolding.php +119 -0
  166. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/lowerCase.php +1 -1
  167. package/support/vendor/symfony/polyfill-mbstring/Resources/unidata/upperCase.php +102 -27
  168. package/support/vendor/symfony/polyfill-mbstring/bootstrap.php +33 -8
  169. package/support/vendor/symfony/polyfill-mbstring/bootstrap80.php +167 -0
  170. package/support/vendor/symfony/polyfill-mbstring/composer.json +5 -4
  171. package/support/vendor/symfony/var-dumper/CHANGELOG.md +63 -0
  172. package/support/vendor/symfony/var-dumper/Caster/AddressInfoCaster.php +82 -0
  173. package/support/vendor/symfony/var-dumper/Caster/AmqpCaster.php +12 -10
  174. package/support/vendor/symfony/var-dumper/Caster/ArgsStub.php +6 -7
  175. package/support/vendor/symfony/var-dumper/Caster/Caster.php +59 -31
  176. package/support/vendor/symfony/var-dumper/Caster/ClassStub.php +7 -9
  177. package/support/vendor/symfony/var-dumper/Caster/ConstStub.php +20 -4
  178. package/support/vendor/symfony/var-dumper/Caster/CurlCaster.php +31 -0
  179. package/support/vendor/symfony/var-dumper/Caster/CutArrayStub.php +1 -1
  180. package/support/vendor/symfony/var-dumper/Caster/CutStub.php +2 -2
  181. package/support/vendor/symfony/var-dumper/Caster/DOMCaster.php +61 -156
  182. package/support/vendor/symfony/var-dumper/Caster/DateCaster.php +27 -26
  183. package/support/vendor/symfony/var-dumper/Caster/DoctrineCaster.php +6 -4
  184. package/support/vendor/symfony/var-dumper/Caster/DsCaster.php +1 -1
  185. package/support/vendor/symfony/var-dumper/Caster/DsPairStub.php +1 -1
  186. package/support/vendor/symfony/var-dumper/Caster/EnumStub.php +4 -5
  187. package/support/vendor/symfony/var-dumper/Caster/ExceptionCaster.php +64 -49
  188. package/support/vendor/symfony/var-dumper/Caster/FFICaster.php +171 -0
  189. package/support/vendor/symfony/var-dumper/Caster/FiberCaster.php +43 -0
  190. package/support/vendor/symfony/var-dumper/Caster/FrameStub.php +6 -8
  191. package/support/vendor/symfony/var-dumper/Caster/GdCaster.php +30 -0
  192. package/support/vendor/symfony/var-dumper/Caster/GmpCaster.php +4 -2
  193. package/support/vendor/symfony/var-dumper/Caster/ImagineCaster.php +2 -0
  194. package/support/vendor/symfony/var-dumper/Caster/ImgStub.php +1 -1
  195. package/support/vendor/symfony/var-dumper/Caster/IntlCaster.php +10 -8
  196. package/support/vendor/symfony/var-dumper/Caster/LinkStub.php +14 -17
  197. package/support/vendor/symfony/var-dumper/Caster/MemcachedCaster.php +10 -8
  198. package/support/vendor/symfony/var-dumper/Caster/MysqliCaster.php +33 -0
  199. package/support/vendor/symfony/var-dumper/Caster/OpenSSLCaster.php +69 -0
  200. package/support/vendor/symfony/var-dumper/Caster/PdoCaster.php +8 -6
  201. package/support/vendor/symfony/var-dumper/Caster/PgSqlCaster.php +21 -19
  202. package/support/vendor/symfony/var-dumper/Caster/ProxyManagerCaster.php +4 -2
  203. package/support/vendor/symfony/var-dumper/Caster/RdKafkaCaster.php +188 -0
  204. package/support/vendor/symfony/var-dumper/Caster/RedisCaster.php +31 -31
  205. package/support/vendor/symfony/var-dumper/Caster/ReflectionCaster.php +100 -44
  206. package/support/vendor/symfony/var-dumper/Caster/ResourceCaster.php +33 -46
  207. package/support/vendor/symfony/var-dumper/Caster/ScalarStub.php +27 -0
  208. package/support/vendor/symfony/var-dumper/Caster/SocketCaster.php +64 -0
  209. package/support/vendor/symfony/var-dumper/Caster/SplCaster.php +57 -44
  210. package/support/vendor/symfony/var-dumper/Caster/SqliteCaster.php +32 -0
  211. package/support/vendor/symfony/var-dumper/Caster/StubCaster.php +15 -5
  212. package/support/vendor/symfony/var-dumper/Caster/SymfonyCaster.php +66 -10
  213. package/support/vendor/symfony/var-dumper/Caster/TraceStub.php +7 -11
  214. package/support/vendor/symfony/var-dumper/Caster/UninitializedStub.php +25 -0
  215. package/support/vendor/symfony/var-dumper/Caster/UuidCaster.php +2 -0
  216. package/support/vendor/symfony/var-dumper/Caster/VirtualStub.php +21 -0
  217. package/support/vendor/symfony/var-dumper/Caster/XmlReaderCaster.php +25 -10
  218. package/support/vendor/symfony/var-dumper/Caster/XmlResourceCaster.php +7 -5
  219. package/support/vendor/symfony/var-dumper/Cloner/AbstractCloner.php +103 -72
  220. package/support/vendor/symfony/var-dumper/Cloner/ClonerInterface.php +1 -5
  221. package/support/vendor/symfony/var-dumper/Cloner/Cursor.php +21 -21
  222. package/support/vendor/symfony/var-dumper/Cloner/Data.php +51 -77
  223. package/support/vendor/symfony/var-dumper/Cloner/DumperInterface.php +11 -14
  224. package/support/vendor/symfony/var-dumper/Cloner/Stub.php +40 -31
  225. package/support/vendor/symfony/var-dumper/Cloner/VarCloner.php +21 -104
  226. package/support/vendor/symfony/var-dumper/Command/Descriptor/CliDescriptor.php +9 -19
  227. package/support/vendor/symfony/var-dumper/Command/Descriptor/HtmlDescriptor.php +10 -11
  228. package/support/vendor/symfony/var-dumper/Command/ServerDumpCommand.php +27 -15
  229. package/support/vendor/symfony/var-dumper/Dumper/AbstractDumper.php +68 -48
  230. package/support/vendor/symfony/var-dumper/Dumper/CliDumper.php +126 -113
  231. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/CliContextProvider.php +1 -1
  232. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/ContextProviderInterface.php +0 -3
  233. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/RequestContextProvider.php +5 -6
  234. package/support/vendor/symfony/var-dumper/Dumper/ContextProvider/SourceContextProvider.php +10 -15
  235. package/support/vendor/symfony/var-dumper/Dumper/ContextualizedDumper.php +8 -11
  236. package/support/vendor/symfony/var-dumper/Dumper/DataDumperInterface.php +3 -0
  237. package/support/vendor/symfony/var-dumper/Dumper/HtmlDumper.php +122 -146
  238. package/support/vendor/symfony/var-dumper/Dumper/ServerDumper.php +10 -10
  239. package/support/vendor/symfony/var-dumper/Exception/ThrowingCasterException.php +1 -1
  240. package/support/vendor/symfony/var-dumper/LICENSE +1 -1
  241. package/support/vendor/symfony/var-dumper/README.md +6 -6
  242. package/support/vendor/symfony/var-dumper/Resources/bin/var-dump-server +4 -0
  243. package/support/vendor/symfony/var-dumper/Resources/functions/dump.php +35 -10
  244. package/support/vendor/symfony/var-dumper/Server/Connection.php +16 -14
  245. package/support/vendor/symfony/var-dumper/Server/DumpServer.php +16 -14
  246. package/support/vendor/symfony/var-dumper/Test/VarDumperTestTrait.php +9 -9
  247. package/support/vendor/symfony/var-dumper/VarDumper.php +69 -17
  248. package/support/vendor/symfony/var-dumper/composer.json +10 -16
  249. package/support/vendor/symfony/polyfill-php72/Php72.php +0 -217
  250. package/support/vendor/symfony/polyfill-php72/README.md +0 -28
  251. package/support/vendor/symfony/polyfill-php72/bootstrap.php +0 -57
  252. package/support/vendor/symfony/polyfill-php80/LICENSE +0 -19
  253. package/support/vendor/symfony/polyfill-php80/Php80.php +0 -105
  254. package/support/vendor/symfony/polyfill-php80/README.md +0 -24
  255. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Attribute.php +0 -22
  256. package/support/vendor/symfony/polyfill-php80/Resources/stubs/Stringable.php +0 -11
  257. package/support/vendor/symfony/polyfill-php80/Resources/stubs/UnhandledMatchError.php +0 -5
  258. package/support/vendor/symfony/polyfill-php80/Resources/stubs/ValueError.php +0 -5
  259. package/support/vendor/symfony/polyfill-php80/bootstrap.php +0 -42
  260. package/support/vendor/symfony/polyfill-php80/composer.json +0 -40
@@ -364,8 +364,8 @@ class FileAdapter extends AbstractAdapter implements CacheInterface, LocatorInte
364
364
  * Return true if the file or content is up to date in the cache folder,
365
365
  * false else.
366
366
  *
367
- * @param &string $path to be filled
368
- * @param string $input file or pug code
367
+ * @param string &$path to be filled
368
+ * @param string $input file or pug code
369
369
  *
370
370
  * @return bool
371
371
  */
@@ -389,18 +389,35 @@ class FileAdapter extends AbstractAdapter implements CacheInterface, LocatorInte
389
389
  return file_exists($path);
390
390
  }
391
391
 
392
- private function getCacheDirectory()
392
+ private function readCacheDirectoryFromOptions()
393
393
  {
394
394
  $cacheFolder = $this->hasOption('cache_dir')
395
395
  ? $this->getOption('cache_dir')
396
396
  : null;
397
+
397
398
  if (!$cacheFolder && $cacheFolder !== false) {
398
399
  $cacheFolder = $this->getRenderer()->hasOption('cache_dir')
399
400
  ? $this->getRenderer()->getOption('cache_dir')
400
401
  : null;
401
402
  }
403
+
402
404
  if ($cacheFolder === true) {
403
- $cacheFolder = $this->getOption('tmp_dir');
405
+ return $this->getOption('tmp_dir');
406
+ }
407
+
408
+ return $cacheFolder;
409
+ }
410
+
411
+ private function getCacheDirectory()
412
+ {
413
+ $cacheFolder = $this->readCacheDirectoryFromOptions();
414
+
415
+ if ($cacheFolder === null) {
416
+ throw new RuntimeException(
417
+ 'You need to set "cache_dir" option to a writable location in order '.
418
+ 'to use cache feature.',
419
+ 7
420
+ );
404
421
  }
405
422
 
406
423
  if (!is_dir($cacheFolder) && !@mkdir($cacheFolder, 0777, true)) {
@@ -19,6 +19,11 @@ class Template
19
19
  */
20
20
  private $data = '';
21
21
 
22
+ /**
23
+ * @var mixed
24
+ */
25
+ public $context;
26
+
22
27
  /**
23
28
  * @param $path
24
29
  *
@@ -31,7 +31,7 @@ class StreamAdapter extends AbstractAdapter
31
31
  {
32
32
  $stream = $this->getOption('stream_name').$this->getOption('stream_suffix');
33
33
 
34
- if (!in_array($stream, stream_get_wrappers())) {
34
+ if (!in_array($stream, stream_get_wrappers(), true)) {
35
35
  stream_register_wrapper($stream, Template::class);
36
36
  }
37
37
 
@@ -11,7 +11,7 @@ interface CacheInterface
11
11
  /**
12
12
  * Return the cached file path after cache optional process.
13
13
  *
14
- * @param $path
14
+ * @param string $path
15
15
  * @param string $input pug input
16
16
  * @param callable $rendered method to compile the source into PHP
17
17
  * @param bool $success
@@ -145,7 +145,7 @@ trait AdapterTrait
145
145
  $adapter->displayCached($path, $input, $getSource, $parameters);
146
146
  };
147
147
 
148
- return in_array($method, ['display', 'displayFile'])
148
+ return in_array($method, ['display', 'displayFile'], true)
149
149
  ? $display()
150
150
  : $adapter->captureBuffer($display);
151
151
  }
@@ -105,7 +105,7 @@ trait DebuggerTrait
105
105
  $contextLines = $data->options['error_context_lines'];
106
106
  $code = '';
107
107
  $sourceOffset = max(0, $line - 1);
108
- $untilOffset = isset($source[$sourceOffset]) ? (mb_substr($source[$sourceOffset], 0, $offset ?: 0) ?: '') : '';
108
+ $untilOffset = isset($source[$sourceOffset]) ? mb_substr((string) $source[$sourceOffset], 0, $offset ?: 0) : '';
109
109
  $htmlError = $data->options['html_error'];
110
110
  $start = null;
111
111
  foreach ($source as $index => $lineText) {
@@ -178,17 +178,63 @@ trait DebuggerTrait
178
178
  ), $code, $error);
179
179
  }
180
180
 
181
+ /**
182
+ * @return bool
183
+ *
184
+ * @codeCoverageIgnore
185
+ */
181
186
  private function hasColorSupport()
182
187
  {
183
- // @codeCoverageIgnoreStart
184
- return DIRECTORY_SEPARATOR === '\\'
185
- ? false !== getenv('ANSICON') ||
186
- 'ON' === getenv('ConEmuANSI') ||
187
- false !== getenv('BABUN_HOME')
188
- : (false !== getenv('BABUN_HOME')) ||
189
- function_exists('posix_isatty') &&
190
- @posix_isatty(STDOUT);
191
- // @codeCoverageIgnoreEnd
188
+ if ('Hyper' === getenv('TERM_PROGRAM') || getenv('BABUN_HOME') !== false) {
189
+ return true;
190
+ }
191
+
192
+ if (DIRECTORY_SEPARATOR === '\\') {
193
+ return $this->hasStdOutVt100Support()
194
+ || getenv('ANSICON') !== false
195
+ || getenv('ConEmuANSI') === 'ON'
196
+ || getenv('TERM') === 'xterm';
197
+ }
198
+
199
+ return $this->isStdOutATTY();
200
+ }
201
+
202
+ /**
203
+ * @return bool
204
+ *
205
+ * @codeCoverageIgnore
206
+ */
207
+ private function hasStdOutVt100Support()
208
+ {
209
+ return defined('STDOUT')
210
+ && function_exists('sapi_windows_vt100_support')
211
+ && @sapi_windows_vt100_support(STDOUT);
212
+ }
213
+
214
+ /**
215
+ * @return bool
216
+ *
217
+ * @codeCoverageIgnore
218
+ */
219
+ private function isStdOutATTY()
220
+ {
221
+ if (!defined('STDOUT')) {
222
+ return false;
223
+ }
224
+
225
+ if (is_resource(STDOUT)) {
226
+ // These functions require a descriptor that is a real resource, not a numeric ID of it
227
+ if (function_exists('stream_isatty') && @stream_isatty(STDOUT)) {
228
+ return true;
229
+ }
230
+
231
+ $stat = @fstat(STDOUT);
232
+
233
+ // Check if formatted mode is S_IFCHR
234
+ return $stat ? 0020000 === ($stat['mode'] & 0170000) : false;
235
+ }
236
+
237
+ return function_exists('posix_isatty') && @posix_isatty(STDOUT);
192
238
  }
193
239
 
194
240
  private function getDebuggedException($error, $code, $source, $path, $parameters, $options)
@@ -63,7 +63,7 @@ trait RendererOptionsTrait
63
63
  {
64
64
  /* @var ModuleContainerInterface $this */
65
65
 
66
- if (in_array($className, class_implements($moduleClassName)) &&
66
+ if (in_array($className, class_implements($moduleClassName), true) &&
67
67
  !$container->hasModule($moduleClassName)
68
68
  ) {
69
69
  $container->addModule($moduleClassName);
@@ -102,7 +102,7 @@ class Dump
102
102
  'string',
103
103
  'resource',
104
104
  'NULL',
105
- ])) {
105
+ ], true)) {
106
106
  return var_export($object, true);
107
107
  }
108
108
 
@@ -33,11 +33,11 @@ class LinkDump
33
33
  foreach ([
34
34
  ['current', EndLexEvent::class, 'lexing', [
35
35
  'background' => '#7200c4',
36
- 'color' => 'white',
36
+ 'color' => 'white',
37
37
  ]],
38
38
  ['current', HtmlEvent::class, 'rendering', [
39
39
  'background' => '#648481',
40
- 'color' => 'white',
40
+ 'color' => 'white',
41
41
  ]],
42
42
  ['previous', CompileEvent::class, '%s', [
43
43
  'background' => '#ffff78',
@@ -85,7 +85,7 @@ class ProfilerModule extends AbstractModule
85
85
 
86
86
  $this->eventDump = $this->getContainer()->getOption('profiler.dump_event');
87
87
 
88
- if (in_array($this->eventDump, ['var_dump', 'print_r'])) {
88
+ if (in_array($this->eventDump, ['var_dump', 'print_r'], true)) {
89
89
  $function = $this->eventDump;
90
90
  $this->eventDump = function ($value) use ($function) {
91
91
  return $this->getFunctionDump($value, $function);
@@ -7,9 +7,12 @@
7
7
  "homepage": "http://phug-lang.com",
8
8
  "authors": [
9
9
  {
10
- "name": "KyleKatarn",
11
- "email": "jade-php@selfbuild.fr",
10
+ "name": "kylekatarnls",
12
11
  "homepage": "http://github.com/kylekatarnls"
12
+ },
13
+ {
14
+ "name": "Torben Koehn",
15
+ "email": "torben@talesoft.codes"
13
16
  }
14
17
  ],
15
18
  "support": {
@@ -21,9 +24,10 @@
21
24
  "minimum-stability": "dev",
22
25
  "require": {
23
26
  "php": ">=5.5.0",
27
+ "phug/formatter": "^1.8.1",
24
28
  "phug/compiler": "^1.2",
25
29
  "phug/util": "^1.5",
26
- "symfony/var-dumper": "^3.4 || ^4.0"
30
+ "symfony/var-dumper": "^3.4 || ^4.0 || ^5.0 || ^6.0 || ^7.0"
27
31
  },
28
32
  "autoload": {
29
33
  "psr-4": {
@@ -0,0 +1,67 @@
1
+ <?php
2
+
3
+ namespace Phug\CompatibilityUtil;
4
+
5
+ use PHPUnit\Framework\TestCase as PHPUnitTestCase;
6
+
7
+ // @codeCoverageIgnoreStart
8
+ if (!isset($testCaseInitialization) || !class_exists(TestCaseTypeBase::class, false)) {
9
+ return;
10
+ }
11
+
12
+ class TestCaseTypeBase extends PHPUnitTestCase
13
+ {
14
+ protected function prepareTest()
15
+ {
16
+ // Override
17
+ }
18
+
19
+ protected function finishTest()
20
+ {
21
+ // Override
22
+ }
23
+
24
+ protected function setUp(): void
25
+ {
26
+ $this->prepareTest();
27
+ }
28
+
29
+ protected function tearDown(): void
30
+ {
31
+ $this->finishTest();
32
+ }
33
+
34
+ public static function assertMatchesRegularExpression(string $pattern, string $string, string $message = ''): void
35
+ {
36
+ if (!method_exists(parent::class, 'assertMatchesRegularExpression')) {
37
+ self::assertRegExp($pattern, $string, $message);
38
+
39
+ return;
40
+ }
41
+
42
+ parent::assertMatchesRegularExpression($pattern, $string, $message);
43
+ }
44
+
45
+ public static function assertFileDoesNotExist(string $filename, string $message = ''): void
46
+ {
47
+ if (!method_exists(parent::class, 'assertFileDoesNotExist')) {
48
+ self::assertFileNotExists($filename, $message);
49
+
50
+ return;
51
+ }
52
+
53
+ parent::assertFileDoesNotExist($filename, $message);
54
+ }
55
+
56
+ public static function assertIsArray($actual, string $message = ''): void
57
+ {
58
+ if (!method_exists(parent::class, 'assertIsArray')) {
59
+ self::assertSame('array', gettype($actual));
60
+
61
+ return;
62
+ }
63
+
64
+ parent::assertIsArray($actual, $message);
65
+ }
66
+ }
67
+ // @codeCoverageIgnoreEnd
@@ -0,0 +1,67 @@
1
+ <?php
2
+
3
+ namespace Phug\CompatibilityUtil;
4
+
5
+ use PHPUnit\Framework\TestCase as PHPUnitTestCase;
6
+
7
+ // @codeCoverageIgnoreStart
8
+ if (!isset($testCaseInitialization) || !class_exists(TestCaseTypeBase::class, false)) {
9
+ return;
10
+ }
11
+
12
+ class TestCaseTypeBase extends PHPUnitTestCase
13
+ {
14
+ protected function prepareTest()
15
+ {
16
+ // Override
17
+ }
18
+
19
+ protected function finishTest()
20
+ {
21
+ // Override
22
+ }
23
+
24
+ protected function setUp()
25
+ {
26
+ $this->prepareTest();
27
+ }
28
+
29
+ protected function tearDown()
30
+ {
31
+ $this->finishTest();
32
+ }
33
+
34
+ public static function assertMatchesRegularExpression($pattern, $string, $message = '')
35
+ {
36
+ if (!method_exists(parent::class, 'assertMatchesRegularExpression')) {
37
+ self::assertRegExp($pattern, $string, $message);
38
+
39
+ return;
40
+ }
41
+
42
+ parent::assertMatchesRegularExpression($pattern, $string, $message);
43
+ }
44
+
45
+ public static function assertFileDoesNotExist($filename, $message = '')
46
+ {
47
+ if (!method_exists(parent::class, 'assertFileDoesNotExist')) {
48
+ self::assertFileNotExists($filename, $message);
49
+
50
+ return;
51
+ }
52
+
53
+ parent::assertFileDoesNotExist($filename, $message);
54
+ }
55
+
56
+ public static function assertIsArray($actual, $message = '')
57
+ {
58
+ if (!method_exists(parent::class, 'assertIsArray')) {
59
+ self::assertSame('array', gettype($actual));
60
+
61
+ return;
62
+ }
63
+
64
+ parent::assertIsArray($actual, $message);
65
+ }
66
+ }
67
+ // @codeCoverageIgnoreEnd
@@ -0,0 +1,16 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ use SplObjectStorage;
6
+
7
+ /**
8
+ * Interface AttributesInterface.
9
+ */
10
+ interface AttributesInterface
11
+ {
12
+ /**
13
+ * @return SplObjectStorage
14
+ */
15
+ public function getAttributes();
16
+ }
@@ -0,0 +1,17 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ /**
6
+ * Interface AttributesOrderInterface.
7
+ *
8
+ * Allow objects that have attributes to remember of the order in which attributes and assignments
9
+ * were added to them.
10
+ */
11
+ interface AttributesOrderInterface
12
+ {
13
+ /**
14
+ * @return int
15
+ */
16
+ public function getNextAttributeIndex();
17
+ }
@@ -0,0 +1,44 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ use ReturnTypeWillChange;
6
+ use SplObjectStorage;
7
+
8
+ class AttributesStorage extends SplObjectStorage
9
+ {
10
+ /** @var mixed */
11
+ private $holder;
12
+
13
+ public function __construct($holder)
14
+ {
15
+ $this->holder = $holder;
16
+ }
17
+
18
+ #[ReturnTypeWillChange]
19
+ public function attach($object, $info = null)
20
+ {
21
+ if ($object instanceof OrderableInterface &&
22
+ $object->getOrder() === null &&
23
+ $this->holder instanceof AttributesOrderInterface
24
+ ) {
25
+ $object->setOrder($this->holder->getNextAttributeIndex());
26
+ }
27
+
28
+ parent::attach($object, $info);
29
+ }
30
+
31
+ #[ReturnTypeWillChange]
32
+ public function addAll($storage)
33
+ {
34
+ if ($storage && $this->holder instanceof AttributesOrderInterface) {
35
+ foreach ($storage as $element) {
36
+ if ($element instanceof OrderableInterface && $element->getOrder() === null) {
37
+ $element->setOrder($this->holder->getNextAttributeIndex());
38
+ }
39
+ }
40
+ }
41
+
42
+ parent::addAll($storage);
43
+ }
44
+ }
@@ -4,6 +4,7 @@ namespace Phug\Util;
4
4
 
5
5
  use Generator;
6
6
  use IteratorAggregate;
7
+ use ReturnTypeWillChange;
7
8
  use Traversable;
8
9
 
9
10
  class Collection implements IteratorAggregate
@@ -51,6 +52,7 @@ class Collection implements IteratorAggregate
51
52
  *
52
53
  * @return Traversable An instance of an object implementing <b>Iterator</b> or <b>Traversable</b>
53
54
  */
55
+ #[ReturnTypeWillChange]
54
56
  public function getIterator()
55
57
  {
56
58
  return $this->traversable instanceof Traversable ? $this->traversable : $this->getGenerator();
@@ -0,0 +1,22 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ /**
6
+ * Interface OrderableInterface.
7
+ *
8
+ * Allow objects to have an order index which allow, when compared to others in a list,
9
+ * to know if they were added earlier or later.
10
+ */
11
+ interface OrderableInterface
12
+ {
13
+ /**
14
+ * @return int|null
15
+ */
16
+ public function getOrder();
17
+
18
+ /**
19
+ * @param int|null $order
20
+ */
21
+ public function setOrder($order);
22
+ }
@@ -0,0 +1,25 @@
1
+ <?php
2
+
3
+ namespace Phug\Util;
4
+
5
+ use Phug\Util\Partial\OrderTrait;
6
+ use Phug\Util\Partial\ValueTrait;
7
+
8
+ /**
9
+ * Class OrderedValue.
10
+ *
11
+ * @template T
12
+ *
13
+ * @template-implements ValueTrait<T>
14
+ */
15
+ class OrderedValue implements OrderableInterface
16
+ {
17
+ use ValueTrait;
18
+ use OrderTrait;
19
+
20
+ public function __construct($value, $order)
21
+ {
22
+ $this->value = $value;
23
+ $this->order = $order;
24
+ }
25
+ }
@@ -2,6 +2,7 @@
2
2
 
3
3
  namespace Phug\Util\Partial;
4
4
 
5
+ use Phug\Util\AttributesStorage;
5
6
  use SplObjectStorage;
6
7
 
7
8
  /**
@@ -20,7 +21,7 @@ trait AttributeTrait
20
21
  public function getAttributes()
21
22
  {
22
23
  if (!$this->attributes) {
23
- $this->attributes = new SplObjectStorage();
24
+ $this->attributes = new AttributesStorage($this);
24
25
  }
25
26
 
26
27
  return $this->attributes;
@@ -0,0 +1,19 @@
1
+ <?php
2
+
3
+ namespace Phug\Util\Partial;
4
+
5
+ trait AttributesOrderTrait
6
+ {
7
+ /**
8
+ * @var int
9
+ */
10
+ protected $attributeIndex = 0;
11
+
12
+ /**
13
+ * @return int
14
+ */
15
+ public function getNextAttributeIndex()
16
+ {
17
+ return $this->attributeIndex++;
18
+ }
19
+ }
@@ -27,7 +27,7 @@ trait ModuleContainerTrait
27
27
  public function hasModule($module)
28
28
  {
29
29
  return $module instanceof ModuleInterface
30
- ? in_array($module, $this->modules)
30
+ ? in_array($module, $this->modules, true)
31
31
  : isset($this->modules[$module]);
32
32
  }
33
33
 
@@ -69,7 +69,7 @@ trait ModuleContainerTrait
69
69
  public function addModule($module)
70
70
  {
71
71
  if ($module instanceof ModuleInterface) {
72
- if (in_array($module, $this->modules)) {
72
+ if (in_array($module, $this->modules, true)) {
73
73
  throw new InvalidArgumentException(
74
74
  'This occurrence of '.get_class($module).' is already registered.'
75
75
  );
@@ -142,7 +142,7 @@ trait ModuleContainerTrait
142
142
  public function removeModule($module)
143
143
  {
144
144
  if ($module instanceof ModuleInterface) {
145
- if (!in_array($module, $this->modules)) {
145
+ if (!in_array($module, $this->modules, true)) {
146
146
  throw new InvalidArgumentException(
147
147
  'This occurrence of '.get_class($module).' is not registered.'
148
148
  );
@@ -91,7 +91,7 @@ trait OptionTrait
91
91
 
92
92
  private function mergeOptionValue($name, $current, $addedValue, $functionName)
93
93
  {
94
- if ($functionName === $this->recursiveReplaceFunction && in_array($name, $this->nonDeepOptions)) {
94
+ if ($functionName === $this->recursiveReplaceFunction && in_array($name, $this->nonDeepOptions, true)) {
95
95
  $functionName = $this->replaceFunction;
96
96
  }
97
97
 
@@ -0,0 +1,27 @@
1
+ <?php
2
+
3
+ namespace Phug\Util\Partial;
4
+
5
+ trait OrderTrait
6
+ {
7
+ /**
8
+ * @var int|null
9
+ */
10
+ private $order = null;
11
+
12
+ /**
13
+ * @return int|null
14
+ */
15
+ public function getOrder()
16
+ {
17
+ return $this->order;
18
+ }
19
+
20
+ /**
21
+ * @param int|null $order
22
+ */
23
+ public function setOrder($order)
24
+ {
25
+ $this->order = $order;
26
+ }
27
+ }
@@ -19,7 +19,7 @@ trait StaticMemberTrait
19
19
  return
20
20
  count($tokens) === 1 &&
21
21
  is_array($tokens[0]) &&
22
- in_array($tokens[0][0], [T_CONSTANT_ENCAPSED_STRING, T_DNUMBER, T_LNUMBER]);
22
+ in_array($tokens[0][0], [T_CONSTANT_ENCAPSED_STRING, T_DNUMBER, T_LNUMBER], true);
23
23
  }
24
24
 
25
25
  return false;
@@ -4,18 +4,20 @@ namespace Phug\Util\Partial;
4
4
 
5
5
  /**
6
6
  * Class ValueTrait.
7
+ *
8
+ * @template T of mixed
7
9
  */
8
10
  trait ValueTrait
9
11
  {
10
12
  use StaticMemberTrait;
11
13
 
12
14
  /**
13
- * @var mixed
15
+ * @var T
14
16
  */
15
17
  private $value = null;
16
18
 
17
19
  /**
18
- * @return mixed
20
+ * @return T
19
21
  */
20
22
  public function getValue()
21
23
  {
@@ -31,7 +33,7 @@ trait ValueTrait
31
33
  }
32
34
 
33
35
  /**
34
- * @param mixed $value
36
+ * @param T $value
35
37
  *
36
38
  * @return $this
37
39
  */