Add :eph field to %TranslationUnit{} and remove :sibling_with

Using :eph from now on to store ephemeral data like :sibling_with. Additionally
added cleaning up :eph before saving to db. And renamed InternalTree.Basic
to InternalTree.RawInternalBasic to make clear that it contains function
for an intermediary tree structure.
This commit is contained in:
Thelonius Kort
2022-12-29 22:09:26 +01:00
parent fba40236d7
commit b48274eaef
7 changed files with 100 additions and 68 deletions

View File

@ -3,6 +3,7 @@ defmodule Outlook.Articles.InternalTree do
alias Outlook.InternalTree.InternalNode
alias Outlook.InternalTree.TranslationUnit
alias Outlook.InternalTree.Basic
def type, do: :string
@ -16,7 +17,10 @@ defmodule Outlook.Articles.InternalTree do
{:ok, Jason.decode!(tree, keys: :atoms!) |> from_json}
end
def dump(tree) when is_list(tree), do: {:ok, Jason.encode!(tree)}
def dump(tree) when is_list(tree) do
{:ok, Basic.clean_eph(tree) |> Jason.encode!()}
end
def dump(_), do: :error