in engine/src/main/kotlin/io/kotless/opt/LambdaMergeOptimizer.kt [55:70]
override fun optimize(schema: Schema, optimization: Optimization, context: OptimizationContext): Schema {
val mergedMap = merge(schema.lambdas, optimization.mergeLambda, context)
val scheduled = if (optimization.autoWarm.enable) {
(schema.application.events.scheduled.filter { it.type != ScheduledEventType.Autowarm } +
mergedMap.entries.distinctBy { it.value }.map { (key, lambda) ->
Application.Events.Scheduled(lambda.name, everyNMinutes(optimization.autoWarm.minutes), ScheduledEventType.Autowarm, key)
}).toSet()
} else schema.application.events.scheduled
return schema.copy(
lambdas = TypedStorage(HashMap(mergedMap)),
application = schema.application.copy(
events = schema.application.events.copy(scheduled = scheduled)
)
)
}