Я работаю с форматом JSON API, который имеет понятие свойства data
, которое может содержать либо скалярный (одиночный), либо массив (несколько ) стоимость. Я пишу код для кодирования и декодирования в формат, а при названии моих типов пытался найти хорошее имя для таких типов значений. В TypeScript это будет
type Poly<T> = T | T[];
Для вашей информации, вот соответствующая часть документа JSON API (мой акцент):
Первичные данные ДОЛЖНЫ быть или:
объект одиночный ресурс, один объект идентификатора ресурса или null, для запросов, предназначенных для одиночных ресурсов
массив объектов ресурсов, массив объектов идентификатора ресурса или пустой массив ([]) для запросов, предназначенных для коллекций ресурсов
В качестве примера здесь представлена функция отображения для таких значений мутанта:
function polymap<T, U>(data: Poly<T>, fn: (input: T) => U, thisArg?: any): Poly<U> {
if (data instanceof Array) return (data as T[]).map(fn, thisArg);
return fn.call(thisArg, data as T);
}
В любом случае, как вы можете видеть, я собираюсь использовать "поли", но есть ли какая-либо установленная терминология для этого или другие хорошие предложения?