The following is a mwe:
% !TEX encoding = UTF-8 Unicode
% !TEX program = lualatex
% !BIB program = biber
\begin{filecontents}[overwrite]{\jobname.bib}
@customa{a,
type = {type1},
author = {Familyname, Givenname},
title = {Title},
date = {2000},
}
@customa{b,
type = {type2},
author = {Institution A},
title = {Title},
date = {3000},
}
@customa{c,
type = {type3},
author = {Institution B},
title = {Title},
date = {1000},
}
\end{filecontents}
\documentclass{article}
\usepackage[style=authortitle]{biblatex}
\addbibresource{\jobname.bib}
\DeclareBibliographyDriver{customa}{%
\usebibmacro{bibindex}%
\usebibmacro{begentry}%
\printnames{author}%
\newunit\newblock
\usebibmacro{title}%
\newunit\newblock
\printdate%
\usebibmacro{finentry}}
\begin{document}
\nocite{*}
\printbibliography
\end{document}
The author field contains both personal names (with first and last names) and institutions. For various reasons, I preferred to use the same field instead of separate fields (like author and institution).
Therefore, under certain conditions, author field must be wrapped in an extra pair of curly braces to prevent data parsing from treating them as personal names which are to be dissected into their components (see §2.3.3 of the biblatex Guide).
Since the value of the type field determines the "type" of the author (personal name or institution name), the "pseudo-conditions" regarding sourcemapping are as follows:
IF
entrytype = customa;
field "type" is defined and its value <> "type1";
THEN
wrap the field "author" in an extra pair of curly braces;
ELSE
nothing
So, what are the \steps to be set in \DeclareSourcemap?

.bibfile. Either use double curly braces or set stuff up to use a different field altogether. Trying to fix messy.bibdata with a sourcemap is usually not the best idea. – moewe Jul 11 '23 at 19:50