Я думаю, что решение здесь состоит в том, чтобы поместить некоторые общие логики c в пакет / функцию, которую вы можете использовать в каждом. Вы не хотите включать код для одной лямбда-функции в другую. Как можно больше вы хотите уменьшить этот размер вашего кода, чтобы холодный запуск происходил быстрее. Конечно, если ваш код маленький, это не будет большой разницей, но это немного анти-шаблонный пакет с одним и тем же кодом в нескольких функциях, и пусть код делает что-то другое в зависимости от того, как он называется.
С учетом сказанного вы всегда можете включить в свою функцию несколько точек входа, а затем передать что-нибудь, чтобы решить, что вызывать оттуда, или даже передать функцию, которую вы хотите вызвать. Вот как то так:
export const emailHandler = (event, context, callback) => {
genericHandler(event, context, callback, email);
}
export const loginHandler = (event, context, callback) => {
genericHandler(event, context, callback, login);
}
export const genericHandler => (event, context, callback, function) => {
console.log('Event', event);
// How can I also make this work for login handler?
return function(event, context, callback)
}
const email = (event, context, callback) => {
// email code
}
const login = (event, context, callback) => {
// login code
}