Skip to content

Commit 604cf11

Browse files
committed
refactor: ♻️ Converted Node type to String value
1 parent a590a0a commit 604cf11

5 files changed

Lines changed: 52 additions & 52 deletions

File tree

README.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,13 +51,13 @@ class CustomOption extends Option {
5151
return parent::renderMark($markType, $text);
5252
}
5353
}
54-
function renderNode(NodeType $nodeType, object $node, string $innerHtml): string
54+
function renderNode(string $nodeType, object $node, string $innerHtml): string
5555
{
5656
switch ($nodeType)
5757
{
58-
case NodeType::get(NodeType::PARAGRAPH):
58+
case "p":
5959
return "<p class='class-id'>".$innerHtml."</p>";
60-
case NodeType::get(NodeType::HEADING_1):
60+
case "h1":
6161
return "<h1 class='class-id'>".$innerHtml."</h1>";
6262
default:
6363
return parent::renderNode($nodeType, $node, $innerHtml);

src/Model/Option.php

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -54,79 +54,79 @@ function renderMark(MarkType $markType, string $text): string
5454
return $resultString;
5555
}
5656

57-
function renderNode(NodeType $nodeType, object $node, string $innerHtml): string
57+
function renderNode(string $nodeType, object $node, string $innerHtml): string
5858
{
5959
$resultString = "";
6060
$attrs = get_object_vars($node->attrs);
6161
switch ($nodeType)
6262
{
63-
case NodeType::get(NodeType::PARAGRAPH):
63+
case NodeType::get(NodeType::PARAGRAPH)->getValue():
6464
$resultString = "<p>".$innerHtml."</p>";
6565
break;
66-
case NodeType::get(NodeType::LINK):
66+
case NodeType::get(NodeType::LINK)->getValue():
6767
$resultString = "<a href=\"".($attrs["url"] ?? "")."\">".$innerHtml."</a>";
6868
break;
69-
case NodeType::get(NodeType::IMAGE):
69+
case NodeType::get(NodeType::IMAGE)->getValue():
7070
$resultString = "<img src=\"".($attrs["url"] ?? "")."\" />".$innerHtml;
7171
break;
72-
case NodeType::get(NodeType::EMBED):
72+
case NodeType::get(NodeType::EMBED)->getValue():
7373
$resultString = "<iframe src=\"".($attrs["url"] ?? "")."\">".$innerHtml."</iframe>";
7474
break;
75-
case NodeType::get(NodeType::HEADING_1):
75+
case NodeType::get(NodeType::HEADING_1)->getValue():
7676
$resultString = "<h1>".$innerHtml."</h1>";
7777
break;
78-
case NodeType::get(NodeType::HEADING_2):
78+
case NodeType::get(NodeType::HEADING_2)->getValue():
7979
$resultString = "<h2>".$innerHtml."</h2>";
8080
break;
81-
case NodeType::get(NodeType::HEADING_3):
81+
case NodeType::get(NodeType::HEADING_3)->getValue():
8282
$resultString = "<h3>".$innerHtml."</h3>";
8383
break;
84-
case NodeType::get(NodeType::HEADING_4):
84+
case NodeType::get(NodeType::HEADING_4)->getValue():
8585
$resultString = "<h4>".$innerHtml."</h4>";
8686
break;
87-
case NodeType::get(NodeType::HEADING_5):
87+
case NodeType::get(NodeType::HEADING_5)->getValue():
8888
$resultString = "<h5>".$innerHtml."</h5>";
8989
break;
90-
case NodeType::get(NodeType::HEADING_6):
90+
case NodeType::get(NodeType::HEADING_6)->getValue():
9191
$resultString = "<h6>".$innerHtml."</h6>";
9292
break;
93-
case NodeType::get(NodeType::ORDER_LIST):
93+
case NodeType::get(NodeType::ORDER_LIST)->getValue():
9494
$resultString = "<ol>".$innerHtml."</ol>";
9595
break;
96-
case NodeType::get(NodeType::UNORDER_LIST):
96+
case NodeType::get(NodeType::UNORDER_LIST)->getValue():
9797
$resultString = "<ul>".$innerHtml."</ul>";
9898
break;
99-
case NodeType::get(NodeType::LIST_ITEM):
99+
case NodeType::get(NodeType::LIST_ITEM)->getValue():
100100
$resultString = "<li>".$innerHtml."</li>";
101101
break;
102-
case NodeType::get(NodeType::HR):
102+
case NodeType::get(NodeType::HR)->getValue():
103103
$resultString = "<hr>";
104104
break;
105-
case NodeType::get(NodeType::TABLE):
105+
case NodeType::get(NodeType::TABLE)->getValue():
106106
$resultString = "<table>".$innerHtml."</table>";
107107
break;
108-
case NodeType::get(NodeType::TABLE_HEADER):
108+
case NodeType::get(NodeType::TABLE_HEADER)->getValue():
109109
$resultString = "<thead>".$innerHtml."</thead>";
110110
break;
111-
case NodeType::get(NodeType::TABLE_BODY):
111+
case NodeType::get(NodeType::TABLE_BODY)->getValue():
112112
$resultString = "<tbody>".$innerHtml."</tbody>";
113113
break;
114-
case NodeType::get(NodeType::TABLE_FOOTER):
114+
case NodeType::get(NodeType::TABLE_FOOTER)->getValue():
115115
$resultString = "<tfoot>".$innerHtml."</tfoot>";
116116
break;
117-
case NodeType::get(NodeType::TABLE_ROW):
117+
case NodeType::get(NodeType::TABLE_ROW)->getValue():
118118
$resultString = "<tr>".$innerHtml."</tr>";
119119
break;
120-
case NodeType::get(NodeType::TABLE_HEAD):
120+
case NodeType::get(NodeType::TABLE_HEAD)->getValue():
121121
$resultString = "<th>".$innerHtml."</th>";
122122
break;
123-
case NodeType::get(NodeType::TABLE_DATA):
123+
case NodeType::get(NodeType::TABLE_DATA)->getValue():
124124
$resultString = "<td>".$innerHtml."</td>";
125125
break;
126-
case NodeType::get(NodeType::BLOCK_QUOTE):
126+
case NodeType::get(NodeType::BLOCK_QUOTE)->getValue():
127127
$resultString = "<blockquote>".$innerHtml."</blockquote>";
128128
break;
129-
case NodeType::get(NodeType::CODE):
129+
case NodeType::get(NodeType::CODE)->getValue():
130130
$resultString = "<code>".$innerHtml."</code>";
131131
break;
132132
default:

src/Resource/RenderableInterface.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ function renderMark(MarkType $markType, string $text): string;
2727
* @param $node - Json node content for rendering
2828
* @param $innerHtml - Child Html content for the node
2929
*/
30-
function renderNode(NodeType $nodeType, object $node, string $innerHtml): string;
30+
function renderNode(string $nodeType, object $node, string $innerHtml): string;
3131
}

src/Utils.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,7 @@ private static function nodeToHtml(object $node, Option $option): string {
9595
$innerHtml = Utils::nodeChildrenToHtml($node->children, $option);
9696
}
9797
$resultHtml = $option->renderNode(
98-
NodeType::byValue($node->type),
98+
$node->type,
9999
$node,
100100
$innerHtml
101101
);

tests/DefaultOptionTest.php

Lines changed: 23 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -127,7 +127,7 @@ function testShouldReturnParagraphHtmlForParagraphnode(): void
127127
{
128128
$node = json_decode(BlankDocument);
129129

130-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::PARAGRAPH), $node, DefaultOptionTest::$text);
130+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::PARAGRAPH)->getValue(), $node, DefaultOptionTest::$text);
131131

132132
$this->assertEquals("<p>".DefaultOptionTest::$text."</p>", $resultString);
133133
}
@@ -136,7 +136,7 @@ function testShouldReturnLinkHtmlForLinkNode(): void
136136
{
137137
$node = json_decode(BlankDocument);
138138

139-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::LINK), $node, DefaultOptionTest::$text);
139+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::LINK)->getValue(), $node, DefaultOptionTest::$text);
140140

141141
$this->assertEquals("<a href=\"\">".DefaultOptionTest::$text."</a>", $resultString);
142142
}
@@ -145,7 +145,7 @@ function testShouldReturnImageHtmlForImageNode(): void
145145
{
146146
$node = json_decode(BlankDocument);
147147

148-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::IMAGE), $node, DefaultOptionTest::$text);
148+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::IMAGE)->getValue(), $node, DefaultOptionTest::$text);
149149

150150
$this->assertEquals("<img src=\"\" />".DefaultOptionTest::$text, $resultString);
151151
}
@@ -154,7 +154,7 @@ function testShouldReturnEmbedHtmlForEmbedNode(): void
154154
{
155155
$node = json_decode(BlankDocument);
156156

157-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::EMBED), $node, DefaultOptionTest::$text);
157+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::EMBED)->getValue(), $node, DefaultOptionTest::$text);
158158

159159
$this->assertEquals("<iframe src=\"\">".DefaultOptionTest::$text."</iframe>", $resultString);
160160
}
@@ -163,7 +163,7 @@ function testShouldReturnH1HtmlForH1Node(): void
163163
{
164164
$node = json_decode(BlankDocument);
165165

166-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_1), $node, DefaultOptionTest::$text);
166+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_1)->getValue(), $node, DefaultOptionTest::$text);
167167

168168
$this->assertEquals("<h1>".DefaultOptionTest::$text."</h1>", $resultString);
169169
}
@@ -172,7 +172,7 @@ function testShouldReturnH2HtmlForH2Node(): void
172172
{
173173
$node = json_decode(BlankDocument);
174174

175-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_2), $node, DefaultOptionTest::$text);
175+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_2)->getValue(), $node, DefaultOptionTest::$text);
176176

177177
$this->assertEquals("<h2>".DefaultOptionTest::$text."</h2>", $resultString);
178178
}
@@ -181,7 +181,7 @@ function testShouldReturnH3HtmlForH3Node(): void
181181
{
182182
$node = json_decode(BlankDocument);
183183

184-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_3), $node, DefaultOptionTest::$text);
184+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_3)->getValue(), $node, DefaultOptionTest::$text);
185185

186186
$this->assertEquals("<h3>".DefaultOptionTest::$text."</h3>", $resultString);
187187
}
@@ -190,7 +190,7 @@ function testShouldReturnH4HtmlForH4Node(): void
190190
{
191191
$node = json_decode(BlankDocument);
192192

193-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_4), $node, DefaultOptionTest::$text);
193+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_4)->getValue(), $node, DefaultOptionTest::$text);
194194

195195
$this->assertEquals("<h4>".DefaultOptionTest::$text."</h4>", $resultString);
196196
}
@@ -199,7 +199,7 @@ function testShouldReturnH5HtmlForH5Node(): void
199199
{
200200
$node = json_decode(BlankDocument);
201201

202-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_5), $node, DefaultOptionTest::$text);
202+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_5)->getValue(), $node, DefaultOptionTest::$text);
203203

204204
$this->assertEquals("<h5>".DefaultOptionTest::$text."</h5>", $resultString);
205205
}
@@ -208,7 +208,7 @@ function testShouldReturnH6HtmlForH6Node(): void
208208
{
209209
$node = json_decode(BlankDocument);
210210

211-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_6), $node, DefaultOptionTest::$text);
211+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HEADING_6)->getValue(), $node, DefaultOptionTest::$text);
212212

213213
$this->assertEquals("<h6>".DefaultOptionTest::$text."</h6>", $resultString);
214214
}
@@ -217,7 +217,7 @@ function testShouldReturnHRHtmlForHRNode(): void
217217
{
218218
$node = json_decode(BlankDocument);
219219

220-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HR), $node, DefaultOptionTest::$text);
220+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::HR)->getValue(), $node, DefaultOptionTest::$text);
221221

222222
$this->assertEquals("<hr>", $resultString);
223223
}
@@ -226,7 +226,7 @@ function testShouldReturnTableHtmlForTableNode(): void
226226
{
227227
$node = json_decode(BlankDocument);
228228

229-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE), $node, DefaultOptionTest::$text);
229+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE)->getValue(), $node, DefaultOptionTest::$text);
230230

231231
$this->assertEquals("<table>".DefaultOptionTest::$text."</table>", $resultString);
232232
}
@@ -235,7 +235,7 @@ function testShouldReturnTableHeaderHtmlForTableHeaderNode(): void
235235
{
236236
$node = json_decode(BlankDocument);
237237

238-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_HEADER), $node, DefaultOptionTest::$text);
238+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_HEADER)->getValue(), $node, DefaultOptionTest::$text);
239239

240240
$this->assertEquals("<thead>".DefaultOptionTest::$text."</thead>", $resultString);
241241
}
@@ -244,7 +244,7 @@ function testShouldReturnTableBodyHtmlForTableBodyNode(): void
244244
{
245245
$node = json_decode(BlankDocument);
246246

247-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_BODY), $node, DefaultOptionTest::$text);
247+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_BODY)->getValue(), $node, DefaultOptionTest::$text);
248248

249249
$this->assertEquals("<tbody>".DefaultOptionTest::$text."</tbody>", $resultString);
250250
}
@@ -253,7 +253,7 @@ function testShouldReturnTableFooterHtmlForTableFooterNode(): void
253253
{
254254
$node = json_decode(BlankDocument);
255255

256-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_FOOTER), $node, DefaultOptionTest::$text);
256+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_FOOTER)->getValue(), $node, DefaultOptionTest::$text);
257257

258258
$this->assertEquals("<tfoot>".DefaultOptionTest::$text."</tfoot>", $resultString);
259259
}
@@ -262,7 +262,7 @@ function testShouldReturnTableRowHtmlForTableRowNode(): void
262262
{
263263
$node = json_decode(BlankDocument);
264264

265-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_ROW), $node, DefaultOptionTest::$text);
265+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_ROW)->getValue(), $node, DefaultOptionTest::$text);
266266

267267
$this->assertEquals("<tr>".DefaultOptionTest::$text."</tr>", $resultString);
268268
}
@@ -271,7 +271,7 @@ function testShouldReturnTableHeadHtmlForTableHeadNode(): void
271271
{
272272
$node = json_decode(BlankDocument);
273273

274-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_HEAD), $node, DefaultOptionTest::$text);
274+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_HEAD)->getValue(), $node, DefaultOptionTest::$text);
275275

276276
$this->assertEquals("<th>".DefaultOptionTest::$text."</th>", $resultString);
277277
}
@@ -280,7 +280,7 @@ function testShouldReturnTableDataHtmlForTableDataNode(): void
280280
{
281281
$node = json_decode(BlankDocument);
282282

283-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_DATA), $node, DefaultOptionTest::$text);
283+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TABLE_DATA)->getValue(), $node, DefaultOptionTest::$text);
284284

285285
$this->assertEquals("<td>".DefaultOptionTest::$text."</td>", $resultString);
286286
}
@@ -289,7 +289,7 @@ function testShouldReturnblockquoteHtmlForblockquoteNode(): void
289289
{
290290
$node = json_decode(BlankDocument);
291291

292-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::BLOCK_QUOTE), $node, DefaultOptionTest::$text);
292+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::BLOCK_QUOTE)->getValue(), $node, DefaultOptionTest::$text);
293293

294294
$this->assertEquals("<blockquote>".DefaultOptionTest::$text."</blockquote>", $resultString);
295295
}
@@ -298,7 +298,7 @@ function testShouldReturnCodeHtmlForCodeNode(): void
298298
{
299299
$node = json_decode(BlankDocument);
300300

301-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::CODE), $node, DefaultOptionTest::$text);
301+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::CODE)->getValue(), $node, DefaultOptionTest::$text);
302302

303303
$this->assertEquals("<code>".DefaultOptionTest::$text."</code>", $resultString);
304304
}
@@ -307,7 +307,7 @@ function testShouldReturnReferenceHtmlForReferenceNode(): void
307307
{
308308
$node = json_decode(BlankDocument);
309309

310-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::REFERENCE), $node, DefaultOptionTest::$text);
310+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::REFERENCE)->getValue(), $node, DefaultOptionTest::$text);
311311

312312
$this->assertEquals(DefaultOptionTest::$text, $resultString);
313313
}
@@ -316,7 +316,7 @@ function testShouldTextReferenceHtmlForTextNode(): void
316316
{
317317
$node = json_decode(BlankDocument);
318318

319-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TEXT), $node, DefaultOptionTest::$text);
319+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::TEXT)->getValue(), $node, DefaultOptionTest::$text);
320320

321321
$this->assertEquals(DefaultOptionTest::$text, $resultString);
322322
}
@@ -325,7 +325,7 @@ function testShouldTextDocumentHtmlForDocumentNode(): void
325325
{
326326
$node = json_decode(BlankDocument);
327327

328-
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::DOCUMENT), $node, DefaultOptionTest::$text);
328+
$resultString = DefaultOptionTest::$defaultRender->renderNode(NodeType::get(NodeType::DOCUMENT)->getValue(), $node, DefaultOptionTest::$text);
329329

330330
$this->assertEquals(DefaultOptionTest::$text, $resultString);
331331
}

0 commit comments

Comments
 (0)