UNPKG

cloud-ide-lms-model

Version:

Package for Model management of Cloud IDEsys LMS

71 lines (70 loc) 2.04 kB
"use strict"; /** * Admission Confirmation Types * Purpose: Type definitions for admission confirmation functionality */ Object.defineProperty(exports, "__esModule", { value: true }); exports.isPopulatedObject = isPopulatedObject; exports.extractIdFromField = extractIdFromField; exports.extractTitleFromGeneralMaster = extractTitleFromGeneralMaster; exports.extractTitleFromClassProgram = extractTitleFromClassProgram; exports.extractTitleFromAcademicYear = extractTitleFromAcademicYear; /** * Type guard to check if a value is a populated object */ function isPopulatedObject(value) { return typeof value === 'object' && value !== null && '_id' in value && typeof value._id === 'string'; } /** * Extract ID from a populated field or string */ function extractIdFromField(field) { if (!field) return ''; if (typeof field === 'string') return field; if (isPopulatedObject(field)) return field._id; return ''; } /** * Extract title from a populated general master field */ function extractTitleFromGeneralMaster(field) { if (!field) return 'N/A'; if (typeof field === 'string') return 'N/A'; if (isPopulatedObject(field)) { return field.sygms_title || 'N/A'; } return 'N/A'; } /** * Extract title from a populated class program field */ function extractTitleFromClassProgram(field) { if (!field) return 'N/A'; if (typeof field === 'string') return 'N/A'; if (isPopulatedObject(field)) { const program = field; return program.acacpm_alise_title || program.acacpm_name || program.acacpm_title || 'N/A'; } return 'N/A'; } /** * Extract title from a populated academic year field */ function extractTitleFromAcademicYear(field) { if (!field) return 'N/A'; if (typeof field === 'string') return 'N/A'; if (isPopulatedObject(field)) { const year = field; return year.acayr_name || year.acayr_title || year.acayr_code || 'N/A'; } return 'N/A'; }