higlass
Version:
HiGlass Hi-C / genomic / large data viewer
22 lines (21 loc) • 1.25 kB
TypeScript
export default getDefaultTrackForDatatype;
export type DataTypeMapping = typeof DEFAULT_TRACKS_FOR_DATATYPE;
export type DataType = keyof DataTypeMapping;
export type TrackPosition = "top" | "bottom" | "left" | "right" | "center";
export type ExtractDataType<D extends string, P extends string> = D extends DataType ? P extends keyof DataTypeMapping[D] ? DataTypeMapping[D][P] : undefined : undefined;
/**
* Gets the default track as defined in utils/default-tracks-for-datatype.js
*
* @template {DataType | string & {}} D
* @template {TrackPosition} P
* @template {ReadonlyArray<{ type: string }>} ATracks
*
* @param {D} datatype - The datatype to get the default track for
* @param {P} position - top, bottom, left, right, center
* @param {ATracks} availableTracks - List of tracks to choose from, typically obtained from AVAILABLE_TRACK_TYPES(...)
* @return {ATracks[number] | undefined} An element of availableTracks or undefined
*/
declare function getDefaultTrackForDatatype<D extends DataType | (string & {}), P extends TrackPosition, ATracks extends ReadonlyArray<{
type: string;
}>>(datatype: D, position: P, availableTracks: ATracks): ATracks[number] | undefined;
import { DEFAULT_TRACKS_FOR_DATATYPE } from '../configs';