in server/src/standardLibrary/standardLibraryUtils.ts [45:80]
function mapExport(xport: StandardLibraryExport): PQLS.Library.TLibraryDefinition {
const primitiveType: PQP.Language.Type.TPrimitiveType = assertPrimitiveTypeFromString(xport.dataType);
const label: string = xport.name;
const description: string = xport.documentation?.description ?? "No description available";
if (primitiveType.kind === PQP.Language.Type.TypeKind.Type) {
return {
kind: PQLS.Library.LibraryDefinitionKind.Type,
label,
description,
asPowerQueryType: primitiveType,
completionItemKind: assertGetCompletionItemKind(xport.completionItemType),
};
} else if (xport.functionParameters) {
const asPowerQueryType: PQP.Language.Type.DefinedFunction = mapLibraryFunctionSignatureToType(
xport,
primitiveType,
);
return {
kind: PQLS.Library.LibraryDefinitionKind.Function,
label: PQP.Language.TypeUtils.nameOf(asPowerQueryType),
description,
asPowerQueryType,
completionItemKind: assertGetCompletionItemKind(xport.completionItemType),
parameters: xport.functionParameters.map(mapParameterToLibraryParameter),
};
} else {
return {
kind: PQLS.Library.LibraryDefinitionKind.Constant,
label,
description,
asPowerQueryType: primitiveType,
completionItemKind: assertGetCompletionItemKind(xport.completionItemType),
};
}
}