---@param data string Input data---@return string Processed data---@see validateData For data validation---@see formatOutput For output formattingfunction processData(data) local validated = validateData(data) return formatOutput(validated)end
---@class User---@field id number---@field name string---@see UserManager For user management operations---@see UserValidator For user data validationlocal User = {}
---@class Databaselocal Database = {}---@param query string SQL query---@return table[] Query results---@see Database:execute For direct query execution---@see Database:prepare For prepared statementsfunction Database:select(query) return self:execute("SELECT " .. query)end---@param table string Table name---@param data table Data to insert---@return boolean Success---@see Database:select For data retrieval---@see Database:update For data modificationfunction Database:insert(table, data) local query = buildInsertQuery(table, data) return self:execute(query)end
---@param user User User object---@param permissions table Permissions table---@return boolean Has permission---@see User For user object structure---@see PermissionManager For permission management---@see SecurityPolicy For security guidelines---@see audit.log For permission check loggingfunction checkPermission(user, permissions) return PermissionManager.validate(user, permissions)end
---@param operation function Operation to execute---@return any result---@return string? error---@see ErrorHandler For error processing---@see Logger For error logging---@see RetryPolicy For retry strategiesfunction safeExecute(operation) local success, result = pcall(operation) if success then return result, nil else ErrorHandler.process(result) return nil, result endend
---@class Factory---@see Builder For complex object construction---@see Singleton For single instance management---@see Observer For event notification patternslocal Factory = {}
---@param array table Array to sort---@return table Sorted array---@see quickSort For large datasets---@see mergeSort For stable sorting---@see insertionSort For small datasetsfunction bubbleSort(array) -- Implementation return arrayend
---@module utils---@see string_utils For string manipulation functions---@see math_utils For mathematical utilities---@see file_utils For file system operations
---@class AppConfig---@field database table Database configuration---@field server table Server configuration---@see config/database.lua For database settings---@see config/server.lua For server settings---@see docs/configuration.md For configuration guidelocal AppConfig = {}
---@param input string Input to validate---@return boolean Is valid---@see tests/validation_test.lua For test cases---@see spec/validation.spec For behavior specificationfunction validateInput(input) return input ~= nil and #input > 0end
---@param userId number User ID---@return User User data---@see GET /api/users/:id API endpoint---@see UserController.show Controller methodfunction getUser(userId) return api.get("/users/" .. userId)end
---@param data table Data to validate---@return boolean, string? Valid, error message---@see validateSchema For schema validation---@see sanitizeData For data sanitization---@see transformData For data transformationfunction validateData(data) -- Validation logicend
---@see create For creating records---@see update For modifying records---@see delete For removing records---@see list For retrieving multiple recordsfunction read(id) return database.findById(id)end