\label{doc_decisions_null_md_md_doc_decisions_null}%
\Hypertarget{doc_decisions_null_md_md_doc_decisions_null}%
 \hypertarget{doc_decisions_null_md_autotoc_md2154}{}\doxysection{Problem}\label{doc_decisions_null_md_autotoc_md2154}
Null keys do not have a semantic and make API more difficult.\hypertarget{doc_decisions_null_md_autotoc_md2155}{}\doxysection{Constraints}\label{doc_decisions_null_md_autotoc_md2155}
\hypertarget{doc_decisions_null_md_autotoc_md2156}{}\doxysection{Assumptions}\label{doc_decisions_null_md_autotoc_md2156}
\hypertarget{doc_decisions_null_md_autotoc_md2157}{}\doxysection{Considered Alternatives}\label{doc_decisions_null_md_autotoc_md2157}

\begin{DoxyItemize}
\item remove null keys, i.\+e. key\+Value always returns a string (e.\+g. empty string on new keys)
\end{DoxyItemize}\hypertarget{doc_decisions_null_md_autotoc_md2158}{}\doxysection{Decision}\label{doc_decisions_null_md_autotoc_md2158}
Null keys get clear semantics\+: they are for representing keys that do not have a value, i.\+e., only represent structure in configuration files.

For example, an INI {\ttfamily section} is a null key\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{[section]}
\DoxyCodeLine{key = value}

\end{DoxyCode}


For example, in other config formats there might be keys without any value. Here {\ttfamily key1} would be a null-\/key and thus is different to the value of {\ttfamily key2}, i.\+e., an empty string\+:


\begin{DoxyCode}{0}
\DoxyCodeLine{key1}
\DoxyCodeLine{key2 = "{}"{}}

\end{DoxyCode}
\hypertarget{doc_decisions_null_md_autotoc_md2159}{}\doxysection{Rationale}\label{doc_decisions_null_md_autotoc_md2159}
\hypertarget{doc_decisions_null_md_autotoc_md2160}{}\doxysection{Implications}\label{doc_decisions_null_md_autotoc_md2160}
\hypertarget{doc_decisions_null_md_autotoc_md2161}{}\doxysection{Related Decisions}\label{doc_decisions_null_md_autotoc_md2161}

\begin{DoxyItemize}
\item \mbox{\hyperlink{doc_decisions_separate_key_name_md}{Key Name}}
\end{DoxyItemize}\hypertarget{doc_decisions_null_md_autotoc_md2162}{}\doxysection{Notes}\label{doc_decisions_null_md_autotoc_md2162}
