@dinush/srilankan-universities-faculties-degrees
Version:
Library to fetch all Sri Lankan Universities, Faculties and their Degree programmes
117 lines (105 loc) • 3.7 kB
TypeScript
/**
* Interface for a Sri Lankan university
*/
interface University {
id: string;
name: string;
code: string;
}
/**
* Interface for a faculty within a Sri Lankan university
*/
interface Faculty {
id: string;
universityId: string;
name: string;
}
/**
* Interface for a degree program offered by a faculty
*/
interface Degree {
id: string;
universityId: string;
facultyId: string;
name: string;
}
/**
* Re-export all types for easy import
*/
/**
* Legacy data structure type for compatibility
*/
interface LegacyUniversityData {
[university: string]: {
[faculty: string]: string[];
};
}
/**
* Get all universities in Sri Lanka
* @returns Array of all universities with full data
*/
declare function getAllUniversities(): University[];
/**
* Get university by name or ID (case-insensitive)
* @param nameOrId University name or ID
* @returns University object or undefined if not found
*/
declare function getUniversity(nameOrId: string): University | undefined;
/**
* Validate if university exists
* @param nameOrId University name or ID
* @returns True if university exists, false otherwise
*/
declare function validateUniversity(nameOrId: string): boolean;
/**
* Get all faculties in Sri Lankan universities
* @returns Array of all faculties
*/
declare function getAllFaculties(): Faculty[];
/**
* Get faculties in a specific university
* @param universityNameOrId University name or ID (case-insensitive)
* @returns Array of faculties or empty array if university not found
*/
declare function getFacultiesByUniversity(universityNameOrId: string): Faculty[];
/**
* Get faculty by ID or name within a specific university
* @param universityNameOrId University name or ID (case-insensitive)
* @param facultyNameOrId Faculty name or ID (case-insensitive)
* @returns Faculty object or undefined if not found
*/
declare function getFaculty(universityNameOrId: string, facultyNameOrId: string): Faculty | undefined;
/**
* Validate if faculty exists in a university
* @param universityNameOrId University name or ID
* @param facultyNameOrId Faculty name or ID
* @returns True if faculty exists in the university, false otherwise
*/
declare function validateFaculty(universityNameOrId: string, facultyNameOrId: string): boolean;
/**
* Get all degrees in Sri Lankan universities
* @returns Array of all degrees
*/
declare function getAllDegrees(): Degree[];
/**
* Get degrees offered by a specific faculty in a university
* @param universityNameOrId University name or ID (case-insensitive)
* @param facultyNameOrId Faculty name or ID (case-insensitive)
* @returns Array of degrees or empty array if university or faculty not found
*/
declare function getDegreesByFaculty(universityNameOrId: string, facultyNameOrId: string): Degree[];
/**
* Legacy data structure for backward compatibility with v1.x
* Complete list of all universities, faculties and degree programs
*/
declare const legacyData: LegacyUniversityData;
declare function getUniversities(): string[];
declare function getFaculties(university: string): string[];
declare function getDegrees(university: string, faculty: string): string[];
declare const legacyAPI: {
getUniversities: typeof getUniversities;
getFaculties: typeof getFaculties;
getDegrees: typeof getDegrees;
universities: LegacyUniversityData;
};
export { Degree, Faculty, University, legacyAPI as default, getAllDegrees, getAllFaculties, getAllUniversities, getDegrees, getDegreesByFaculty, getFaculties, getFacultiesByUniversity, getFaculty, getUniversities, getUniversity, legacyData as universities_data, validateFaculty, validateUniversity };