Simplify slice 1l: PatternContext takes StyleResolver instead of three forwarding closures
Los mantenedores suelen responder en 1 día
Ya se ha fusionado un pull request relacionado.
- #4960 de @chubes4 — fusionado
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 78/100
Línea de trabajo
Lee Patterns/PatternContext.php y HtmlCompilation.php alrededor de los dos puntos de creación. Sustituye los tres closures de reenvío por la dependencia StyleResolver y actualiza ambas llamadas, conservando los valores predeterminados null existentes. Comprueba los puntos de creación de pruebas enumerados para ver si hay argumentos posicionales y, después, ejecuta las gates de php-transformer; se considera terminado cuando la salida es idéntica byte a byte y hay menos líneas netas.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Part of #4368. A follow-up to #4723 (PatternContext takes DisclosureControlPresentation).
Problem
Patterns/PatternContext still takes three optional closures that only forward to StyleResolver. HtmlCompilation builds each of them twice, which makes 6 closures:
PatternContext param |
Forwards to | createPatternContext() (positional, about lines 3978 to 3987) |
createProbePatternContext() (named, about lines 4074 to 4077) |
|---|---|---|---|
authoredIconColor |
authoredInheritedPropertyWinner($el, 'color') |
yes | yes |
sourceElementVisuallyClipped |
isVisuallyClippedBox($el) |
yes | yes |
socialPresentationDeclarations |
resolvedPresentationDeclarations($el) |
yes | yes |
Change
PatternContextreplaces those three?Closureparams with one?StyleResolver $styles = null(Style/StyleResolver), placed whereauthoredIconColoris now.authoredIconColor(),sourceElementVisuallyClipped()andsocialPresentationDeclarations()delegate to$this->styles, keeping today's null defaults:'',falseand[].- Delete the three fields and their
@paramlines.
- Update both construction sites in
HtmlCompilation. The first one is positional, so pass$this->styleResolverin the oldauthoredIconColorslot and drop the other two closure arguments, keeping every remaining argument in order. Alternatively, switch that call to named arguments. - Test construction sites:
tests/unit/pattern-recognizer-registry.php,pattern-registry-staged-dispatch.php,button-link-dispatcher.php,flow-container-element-converter.phpandtests/contract/run.php. Check them all: none passes these three params today, so they should need no changes. If any passes positional arguments pastauthoredIconColor, update it.
Read only HtmlCompilation.php (lines 3920 to 4080), Patterns/PatternContext.php and the test files listed above.
Acceptance
- Byte-identical output; the php-transformer gates pass.
- Net lines go down.
- The PR body reports closures removed (6) and net lines.
AI assistance: scoped by Claude Opus (Anthropic) via Pi/Roadie.
- Lenguaje dominante
- PHP
- Estrellas
- 25
- Forks
- 3
- Merge medio
- 2 h 23 min
- PR fusionados (30 d)
- 942
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Sin plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de Automattic/blocks-engine
-
Captured slideshow pass overwrites the route path, aborting compose with a rebind() TypeErrorAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Automattic/blocks-engine#5003 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Automattic/blocks-engine#4943 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
Automattic/blocks-engine#4942 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Automattic/blocks-engine#4921 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Automattic/blocks-engine#775 ·
Los mantenedores suelen responder en 1 día
Todos los issues de Automattic/blocks-engine
Issues similares
-
enhancement priority Sales
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
novalo-dev/Prestashop-MCP-Server#201 ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 74/100
web-token/jwt-framework#757 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
Include flows spanning the full report time windowPosiblemente ocupada @somethingwithproof la tomó hoy. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 77/100
Cacti/plugin_flowview#306 ·
Los mantenedores suelen responder en 1 día
-
bug origin: upstream priority: low
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
mattytap/Mattytap-Sermons#105 ·