Appearance
Utils Documentation
Overview
Utility functions provide reusable helper methods used throughout the application. They are located in the utils/ directory.
Utility Files
Helper Functions
- File:
utils/helper.js - Purpose: General utility functions
API Helpers
- File:
utils/index.js - Purpose: API-related utilities
File Hierarchy
- File:
utils/fileHierarchy.js - Purpose: File hierarchy management
Cache Helpers
- File:
utils/cacheHelpers.js - Purpose: Caching utilities
Cancel Token Manager
- File:
utils/cancelTokenManager.js - Purpose: Axios cancel token management
API Rate Limiter
- File:
utils/apiRateLimiter.js - Purpose: API rate limiting
Common Utilities
validateEmailAddr(email)
Validates email address format.
Parameters:
email(String) - Email address
Returns: String|null - Error message or null if valid
Example:
javascript
import { validateEmailAddr } from '~/utils'
const error = validateEmailAddr('[email protected]')normalizeFileExtension(extension)
Normalizes file extension.
Parameters:
extension(String) - File extension
Returns: String - Normalized extension
Example:
javascript
import { normalizeFileExtension } from '~/utils'
const ext = normalizeFileExtension('.JPG') // 'jpg'deepSearch(object, key)
Deep searches object for key.
Parameters:
object(Object) - Object to searchkey(String) - Key to find
Returns: Any - Found value or undefined
Example:
javascript
import { deepSearch } from '~/utils'
const value = deepSearch(nestedObject, 'nested.key')toQueryString(params)
Converts object to query string.
Parameters:
params(Object) - Parameters object
Returns: String - Query string
Example:
javascript
import { toQueryString } from '~/utils'
const query = toQueryString({ page: 1, limit: 10 })
// '?page=1&limit=10'File Hierarchy Utilities
buildFileHierarchy(files)
Builds hierarchical file structure.
Parameters:
files(Array) - Flat file list
Returns: Object - Hierarchical structure
findFileInHierarchy(hierarchy, fileId)
Finds file in hierarchy.
Parameters:
hierarchy(Object) - File hierarchyfileId(String|Number) - File ID
Returns: Object|null - File object or null
Cache Utilities
setCache(key, value, ttl)
Sets cache value with TTL.
Parameters:
key(String) - Cache keyvalue(Any) - Value to cachettl(Number) - Time to live in seconds
getCache(key)
Gets cached value.
Parameters:
key(String) - Cache key
Returns: Any - Cached value or null
clearCache(key)
Clears cache entry.
Parameters:
key(String) - Cache key
Cancel Token Management
createCancelToken()
Creates new cancel token.
Returns: CancelToken - Axios cancel token
cancelRequest(token)
Cancels request.
Parameters:
token(CancelToken) - Cancel token
Rate Limiting
createRateLimiter(maxRequests, windowMs)
Creates rate limiter.
Parameters:
maxRequests(Number) - Maximum requestswindowMs(Number) - Time window in milliseconds
Returns: Function - Rate limiter function
Usage Examples
In Component
javascript
import { validateEmailAddr, normalizeFileExtension } from '~/utils'
export default {
methods: {
validateEmail(email) {
return validateEmailAddr(email)
},
normalizeExtension(ext) {
return normalizeFileExtension(ext)
}
}
}In API Service
javascript
import { toQueryString } from '~/utils'
const query = toQueryString({ page: 1, limit: 10 })
const response = await axios.get(`/api/endpoint${query}`)