From 2ffea3e4902c7cb4f0e0732b1aae0027227a4321 Mon Sep 17 00:00:00 2001 From: Thelonius Kort Date: Wed, 22 Feb 2023 14:24:49 +0100 Subject: [PATCH] Add rest of other commit (appr. HEAD~20?) --- lib/outlook/internal_tree/internal_tree.ex | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/lib/outlook/internal_tree/internal_tree.ex b/lib/outlook/internal_tree/internal_tree.ex index b3e3166..08e1d69 100644 --- a/lib/outlook/internal_tree/internal_tree.ex +++ b/lib/outlook/internal_tree/internal_tree.ex @@ -58,4 +58,19 @@ defmodule Outlook.InternalTree.InternalTree do |> Enum.into(node_atts) %{node | eph: Map.put(node.eph, :attributes, attributes)} end + + + def collect_tunit_ids([%TranslationUnit{} = node | rest]) do + [node.nid | collect_tunit_ids(rest)] + end + + def collect_tunit_ids([%{type: :element} = node | rest]) do + collect_tunit_ids(node.content) ++ collect_tunit_ids(rest) + end + + def collect_tunit_ids([node | rest]) do + collect_tunit_ids(rest) + end + + def collect_tunit_ids([]), do: [] end