@@ -26,17 +26,13 @@ public function __construct(Markdown|string $markdown)
2626 $ this ->maxHeadingLevel = Config::getInt ('docs.sidebar.table_of_contents.max_heading_level ' , 4 );
2727 }
2828
29- /**
30- * @return array<int, array{title: string, identifier: string, children: array}>
31- */
29+ /** @return array<int, array{title: string, identifier: string, children: array}> */
3230 public function execute (): array
3331 {
3432 return $ this ->buildTableOfContents ($ this ->parseHeadings ());
3533 }
3634
37- /**
38- * @return array<int, array{level: int, title: string, identifier: string}>
39- */
35+ /** @return array<int, array{level: int, title: string, identifier: string}> */
4036 protected function parseHeadings (): array
4137 {
4238 $ matches = $ this ->matchHeadingPatterns ();
@@ -55,9 +51,7 @@ protected function parseHeadings(): array
5551 return $ headings ;
5652 }
5753
58- /**
59- * @return array{0: array<int, string>, 1: array<int, string>, 2: array<int, string>, 3: array<int, string>}
60- */
54+ /** @return array{0: array<int, string>, 1: array<int, string>, 2: array<int, string>, 3: array<int, string>} */
6155 protected function matchHeadingPatterns (): array
6256 {
6357 // Match both ATX-style (###) and Setext-style (===, ---) headers
@@ -80,9 +74,7 @@ protected function parseHeadingData(string $heading, array $matches, int $index)
8074 return $ this ->parseSetextHeading ($ matches [2 ][$ index ], $ matches [3 ][$ index ]);
8175 }
8276
83- /**
84- * @return array{level: int, title: string}
85- */
77+ /** @return array{level: int, title: string} */
8678 protected function parseAtxHeading (string $ heading , string $ title ): array
8779 {
8880 return [
@@ -91,9 +83,7 @@ protected function parseAtxHeading(string $heading, string $title): array
9183 ];
9284 }
9385
94- /**
95- * @return array{level: int, title: string}|null
96- */
86+ /** @return array{level: int, title: string}|null */
9787 protected function parseSetextHeading (string $ title , string $ marker ): ?array
9888 {
9989 $ level = $ marker === '= ' ? 1 : 2 ;
@@ -144,9 +134,7 @@ protected function buildTableOfContents(array $headings): array
144134 return $ items ;
145135 }
146136
147- /**
148- * @param array{level: int, title: string, identifier: string} $heading
149- */
137+ /** @param array{level: int, title: string, identifier: string} $heading */
150138 protected function isHeadingWithinBounds (array $ heading ): bool
151139 {
152140 return $ heading ['level ' ] >= $ this ->minHeadingLevel &&
@@ -166,9 +154,7 @@ protected function createTableItem(array $heading): array
166154 ];
167155 }
168156
169- /**
170- * @param array<int, array<int, array{title: string, identifier: string, children: array}>> $stack
171- */
157+ /** @param array<int, array<int, array{title: string, identifier: string, children: array}>> $stack */
172158 protected function updateStackForHeadingLevel (array &$ stack , int $ currentLevel , int $ previousLevel ): void
173159 {
174160 if ($ currentLevel > $ previousLevel ) {
@@ -180,9 +166,7 @@ protected function updateStackForHeadingLevel(array &$stack, int $currentLevel,
180166 }
181167 }
182168
183- /**
184- * @param array<int, array<int, array{title: string, identifier: string, children: array}>> $stack
185- */
169+ /** @param array<int, array<int, array{title: string, identifier: string, children: array}>> $stack */
186170 protected function nestNewLevel (array &$ stack ): void
187171 {
188172 $ lastStackIndex = count ($ stack ) - 1 ;
@@ -191,9 +175,7 @@ protected function nestNewLevel(array &$stack): void
191175 $ stack [] = &$ stack [$ lastStackIndex ][$ lastItemIndex ]['children ' ];
192176 }
193177
194- /**
195- * @param array<int, array<int, array{title: string, identifier: string, children: array}>> $stack
196- */
178+ /** @param array<int, array<int, array{title: string, identifier: string, children: array}>> $stack */
197179 protected function unwindStack (array &$ stack , int $ currentLevel ): void
198180 {
199181 array_splice ($ stack , $ currentLevel - $ this ->minHeadingLevel + 1 );
0 commit comments