Simplify slice 1l: PatternContext takes StyleResolver instead of three forwarding closures
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 78/100
Direzione di ricerca
Leggi Patterns/PatternContext.php e HtmlCompilation.php intorno ai due punti di costruzione. Sostituisci le tre closure di inoltro con la dipendenza StyleResolver e aggiorna entrambe le chiamate, mantenendo i valori predefiniti null esistenti. Controlla i punti di costruzione dei test elencati per verificare la presenza di argomenti posizionali, quindi esegui i gate di php-transformer; il lavoro è completato quando l'output è identico byte per byte e le righe nette sono diminuite.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
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.
- Lingua principale
- PHP
- Stelle
- 25
- Fork
- 3
- Merge medio
- 2h 29m
- PR unite (30g)
- 931
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di Automattic/blocks-engine
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 79/100
Automattic/blocks-engine#4836 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Automattic/blocks-engine#775 ·
I maintainer di solito rispondono entro 1 giorno
-
Shared-chrome CSS factoring merges device-document stylesheets, so phones render the desktop widthAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
Automattic/blocks-engine#4894 ·
I maintainer di solito rispondono entro 1 giorno
-
non core block: layout-shell@a[data-testid][href][target]Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 46/100
Automattic/blocks-engine#4888 ·
I maintainer di solito rispondono entro 1 giorno
-
non core block: layout-shell@div[data-bg-effect-name][data-has-ssr-src][data-image-info][data-motion-part]Forse già presa Una pull request collegata a questa issue è aperta o già unita. Aperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 35/100
Automattic/blocks-engine#4887 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di Automattic/blocks-engine
Issue simili
-
Visual COBOL: missing 11.0 and 12.0, and 9.0 date differs from Rocket Software's lifecycle pageAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
endoflife-date/endoflife.date#11561 ·
I maintainer di solito rispondono entro 1 giorno
-
area:php-extension priority:low type:bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
crazy-goat/go-mesi#623 ·
I maintainer di solito rispondono entro 1 giorno
-
good first issue priority:low type:bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
crazy-goat/fdb-php#184 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
nextcloud/groupfolders#5218 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 66/100
nextcloud/fulltextsearch_elasticsearch#621 ·
I maintainer di solito rispondono entro 1 giorno