const SEPARATOR = '$!$'; const make = ({ names, name }: { readonly names: ReadonlyArray; readonly name: string }) => names.concat([name]).join(SEPARATOR); const extract = (name: string): { readonly names: ReadonlyArray; readonly name: string } => { const names = name.split(SEPARATOR); return { names: names.slice(0, -1), name: names[names.length - 1], }; }; export const compoundName = { SEPARATOR, make, extract, };