function mapLibraryFunctionSignatureToType()

in server/src/standardLibrary/standardLibraryUtils.ts [82:104]


function mapLibraryFunctionSignatureToType(
    xport: StandardLibraryExport,
    returnType: PQP.Language.Type.TPrimitiveType,
): PQP.Language.Type.DefinedFunction {
    const xportParameters: ReadonlyArray<StandardLibraryFunctionParameter> = xport.functionParameters ?? [];

    return PQP.Language.TypeUtils.createDefinedFunction(
        false,
        xportParameters.map((parameter: StandardLibraryFunctionParameter) => {
            const primitiveType: PQP.Language.Type.TPrimitiveType = assertPrimitiveTypeFromString(
                parameter.parameterType,
            );

            return {
                isNullable: primitiveType.isNullable,
                isOptional: !parameter.isRequired,
                maybeType: primitiveType.kind,
                nameLiteral: parameter.name,
            };
        }),
        returnType,
    );
}