Configs API - Quick Reference
Import
import { Configs }Uploadpriss";
import type { ConfigKey, FileUploadConfig } from "xypriss";
Basic Usage
// Get configuration (type-safe)
const config = Configs.get("fileUpload");
// Get with default
const config = Configs.getOrDefault("fileUpload", { enabled: false });
// Check existence
if (Configs.has("fileUpload")) {
/* ... */
}
// Get all configs
const all = Configs.getAll();
Type-Safe File Upload
import { FileUploadAPI } from "xypriss";
import type { FileUploadConfig } from "xypriss";
const upload = new FileUploadAPI();
const config: FileUploadConfig | undefined = Configs.get("fileUpload");
await upload.initialize(config);
Update Configuration
// Update specific section
Configs.update("fileUpload", {
enabled: true,
maxFileSize: 20 * 1024 * 1024,
});
// Merge (deep merge for nested objects)
Configs.merge({
fileUpload: { maxFileSize: 15 * 1024 * 1024 },
});
// Set entire config
Configs.set({ server: { port: 3000 } });
Available Keys
env- Environment modecache- Cache configurationperformance- Performance settingsmonitoring- Monitoring configserver- Server settingsmultiServer- Multi-server configrequestManagement- Request managementfileUpload- File upload config ⭐security- Security settingscluster- Cluster configlogging- Logging configmiddleware- Middleware config
Common Patterns
Pattern 1: Modular Service
class MyService {
async initialize() {
const config = Configs.get("fileUpload");
if (!config?.enabled) throw new Error("Not enabled");
// Use config...
}
}
Pattern 2: Validation
function validate() {
const required: Array<keyof ServerOptions> = ["server", "security"];
return required.every((key) => Configs.has(key));
}
Pattern 3: Conditional Setup
const security = Configs.get("security");
if (security?.enabled) {
app.middleware().security(security);
}
Migration
Before:
await upload.initialize(app.configs?.fileUpload); // ❌ May fail
After:
await upload.initialize(Configs.get("fileUpload")); // ✅ Type-safe
See Also
docs/CONFIGS_API.md- Full documentationdocs/CONFIGS_IMPLEMENTATION.md- Implementation details.private/configs-example.ts- Comprehensive examples.private/type-safe-configs.ts- Type-safe examples