Complex Workflows
Examples of complex workflows using the PIPELINE pillar.
Data Processing Workflow
typescript
const dataProcessingWorkflow = pipeline.compose([
// Step 1: Validate input
data => pipeline.validate(data, InputSchema),
// Step 2: Transform data
data => pipeline.map(data, item => transformItem(item)),
// Step 3: Filter valid items
data => pipeline.filter(data, item => item.isValid),
// Step 4: Aggregate results
data => data.aggregate(data, {
groupBy: ['category'],
sum: ['amount'],
count: ['items']
})
])API Data Flow
typescript
const apiDataFlow = pipeline.compose([
// Fetch data from API
async () => service.get('/api/data'),
// Validate response
result => {
if (Result.isErr(result)) return result
return data.validate(result.value, ResponseSchema)
},
// Process data
result => {
if (Result.isErr(result)) return result
return pipeline.map(result.value, processItem)
},
// Filter and transform
result => {
if (Result.isErr(result)) return result
return pipeline.filter(result.value, item => item.active)
}
])Error Handling Workflow
typescript
const robustWorkflow = pipeline.compose([
// Try primary operation
data => {
const result = primaryOperation(data)
if (Result.isOk(result)) return result
// Fallback operation
return fallbackOperation(data)
},
// Validate result
result => {
if (Result.isErr(result)) return result
return data.validate(result.value, ResultSchema)
},
// Transform for output
result => {
if (Result.isErr(result)) return result
return data.transform(result.value, outputMapping)
}
])