From 3c8dfb178e596ea080c2f446e9475f1a8b6b2e79 Mon Sep 17 00:00:00 2001 From: Michael Whapples Date: Mon, 23 Mar 2026 10:41:02 +0000 Subject: [PATCH] Performance boost finding head element. --- utd/src/main/java/org/brailleblaster/utd/utils/UTDHelper.kt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/utd/src/main/java/org/brailleblaster/utd/utils/UTDHelper.kt b/utd/src/main/java/org/brailleblaster/utd/utils/UTDHelper.kt index c32fe03e..c55e8698 100644 --- a/utd/src/main/java/org/brailleblaster/utd/utils/UTDHelper.kt +++ b/utd/src/main/java/org/brailleblaster/utd/utils/UTDHelper.kt @@ -236,11 +236,11 @@ fun getFirstTextDescendant(brlElement: Element): Text { fun Document?.getDocumentHead(): Element? = this?.rootElement?.findHead() -private fun Node.findHead(): Element? = childNodes.filterIsInstance().map { when(it.localName) { +private fun Element.findHead(): Element? = childElements.firstOrNull()?.let { when(localName) { "head" -> it "book" -> null else -> it.findHead() -} }.firstOrNull() +} } @JvmOverloads