Not sure what T extends 'getFullDomain' mean in the code below:
const cleanStep: CleanStep = {
id: '1',
type: 'clean',
runAnalyzerAsync: function <T extends 'getFullDomain'>(
analyzerName: T,
params: AnalyzerRequestParamsMap[T]
): Promise<AnalyzerResponse<GetFullDomainResult, GetFullDomainErrors>> {
if (params.columnName === 'col8') {
return Promise.resolve(analyzerErrorResponse);
}
return Promise.resolve(getAnalyZerResponse(params.columnName));
},
getOutputSchemaAsync: function (): Promise<readonly Column[]> {
return Promise.resolve([]);
},
selectAsync: function (): Promise<SelectResponse> {
throw new Error('Function not implemented.');
},
};
Does it mean that the AnalyzerRequestParamsMaptype can only take type of T and T has to be a derived type of getFullDomain ?
And I should in some where find the definition of getFullDomain type?