Utilities & Helpers
High-level overview of utility functions and helper modules available in AquaGen.
Overview
AquaGen provides 20+ utility modules for common operations.
Location: libs/shared/src/utils/ and libs/shared/src/helper/
Date & Time Utilities
dateFormatter.js
Purpose: Format dates for display
Functions:
formatDate()- Format date stringsformatTime()- Format timegetDateRange()- Calculate date ranges
Usage:
import { formatDate } from '@aquagen-mf-webapp/shared/utils';
const formatted = formatDate(new Date(), 'DD/MM/YYYY');
datePickerUtil.js
Purpose: Date picker helper functions
Functions:
- Date range validation
- Calendar utilities
- Date selection helpers
Data Formatting
formatter.js
Purpose: General data formatting
Functions:
formatNumber()- Format numbers with commasformatCurrency()- Format currencyformatPercentage()- Format percentagesroundNumber()- Round to decimals
numberUtils.js
Purpose: Number operations
Functions:
- Number validation
- Number conversion
- Precision handling
Graph & Chart Utilities
graphData.js
Purpose: Prepare data for charts
Functions:
- Transform API data to chart format
- Calculate graph points
- Data aggregation
graphUtil.js
Purpose: Graph-specific utilities
Functions:
- Chart configuration
- Color schemes
- Graph legends
labelData.js
Purpose: Generate chart labels
Functions:
- X-axis labels
- Y-axis labels
- Legend labels
Navigation Helpers
navigationHelper.js
Purpose: Navigation utilities
Functions:
handleNavigationOnResponse()- Navigate after API response- Route validation
- Navigation guards
Usage:
import { handleNavigationOnResponse } from '@aquagen-mf-webapp/shared/utils';
handleNavigationOnResponse(response, setLoginData, setCategory, navigate);
navHelperInstance.js
Purpose: Navigation helper singleton
Functions:
navigate()- Programmatic navigationgoBack()- Navigate back- Route management
Download Utilities
downloadUtil.js
Purpose: File download helpers
Functions:
downloadCSV()- Download CSV filesdownloadPDF()- Download PDF reportsdownloadExcel()- Download Excel filesdownloadImage()- Download images
Usage:
import { downloadCSV } from '@aquagen-mf-webapp/shared/utils';
downloadCSV(data, 'report.csv');
Validation Utilities
urlValidator.js
Purpose: URL validation
Functions:
isValidUrl()- Check if URL is validsanitizeUrl()- Clean URL
otpLoginChecks.js
Purpose: OTP login validation
Functions:
numberCheck()- Validate phone numberotpCheck()- Validate OTPlengthCheck()- Check input length
Helper Instances
alertHelperInstance.js
Purpose: Alert management helper
Functions:
- Alert filtering
- Alert sorting
- Alert categorization
subscriptionHelper.js
Purpose: Subscription management
Functions:
calculateSubscriptionData()- Calculate subscription status- Check expiry
- Handle subscription states
energyNavigationHelperInstance.js
Purpose: Energy module navigation
Functions:
- Energy route management
- Energy category navigation
executiveNavigationHelperInstance.js
Purpose: Executive dashboard navigation
Functions:
- Leadership route management
- Executive views
Notification Utilities
notificationUtil.js
Purpose: Browser notifications
Functions:
checkAndGetNotificationPermission()- Request permissionsendNotification()- Show notificationhandleNotificationClick()- Click handlers
Parameter Utilities
getParams.js
Purpose: URL parameter extraction
Functions:
getQueryParams()- Get URL query paramsgetPathParams()- Get path parameters
paramHelper.js
Purpose: Parameter management
Functions:
- Parameter validation
- Parameter transformation
- Default values
Search Utilities
searchOptionSelectUtils.js
Purpose: Search and filter helpers
Functions:
- Search option filtering
- Multi-select utilities
- Search results formatting
Specialized Utilities
RwiHelper.js
Purpose: Rain Water Index calculations
Functions:
- RWI formula calculations
- RWI data processing
barClick.js
Purpose: Chart interaction handlers
Functions:
- Handle bar chart clicks
- Navigate from charts
- Chart drill-down
helperUtil.js
Purpose: General helper functions
Functions:
- Common operations
- Reusable utilities
- Data transformations
Custom Hooks
Location: libs/shared/src/hooks/
useQueryParams
Purpose: Access URL query parameters
import { useQueryParams } from '@aquagen-mf-webapp/shared/hooks';
const { filter, sort } = useQueryParams();
useNavigateSearch
Purpose: Navigate with query params
import { useNavigateSearch } from '@aquagen-mf-webapp/shared/hooks';
const navigateSearch = useNavigateSearch();
navigateSearch('/dashboard', { view: 'graph' });
useScrollToElement
Purpose: Scroll to specific element
import { useScrollToElement } from '@aquagen-mf-webapp/shared/hooks';
const scrollTo = useScrollToElement();
scrollTo('section-id');
useLineGraphToggle
Purpose: Toggle line graph visibility
import { useLineGraphToggle } from '@aquagen-mf-webapp/shared/hooks';
const { visible, toggle } = useLineGraphToggle();
Common Patterns
1. Date Formatting
import { formatDate } from '@aquagen-mf-webapp/shared/utils';
const displayDate = formatDate(apiDate, 'DD MMM YYYY');
2. Number Formatting
import { formatNumber } from '@aquagen-mf-webapp/shared/utils';
const display = formatNumber(12345.67, 2); // "12,345.67"
3. File Download
import { downloadCSV } from '@aquagen-mf-webapp/shared/utils';
const handleDownload = () => {
downloadCSV(tableData, 'water-report.csv');
};
4. Navigation
import { navHelperInstance } from '@aquagen-mf-webapp/shared/helper';
navHelperInstance.navigate('/dashboard');
navHelperInstance.goBack();
Best Practices
- Import from shared - Don't duplicate utilities
- Use helpers - Reuse existing functions
- Keep DRY - Don't repeat code
- Follow patterns - Use established utilities
- Document custom utils - Add comments
Next Steps
- See API & Services for API utilities
- Check State Management for state helpers
- Review Components for UI utilities
Last Updated: February 2026