package runtime // DefaultEntrypoint возвращает точку входа по умолчанию для языка lang. // // Формат entrypoint зависит от среды выполнения Fission: // - python: "module.function" → Fission импортирует модуль и вызывает функцию // - nodejs: "main" → имя экспортированной default-функции в main.js // - php: "main.php::handler" → имя файла + "::" + имя функции // - ruby: "handler" → имя метода в загруженном файле // - go: "Handler" → экспортированная Go-функция (с большой буквы) func DefaultEntrypoint(lang string) string { switch lang { case "nodejs": // "main" (без .js): node-env.specializeV2 делает split(".") для functionName // с точкой → funcname="js" → ищет экспорт "js" → 500. // Без расширения: funcname=undefined → берёт default export (module.exports = __invoke). return "main" case "php": // Fission php-env: filename::functionName return "main.php::handler" case "ruby": return "handler" case "go": // Go: экспортированная функция (заглавная) — go/plugin требует экспорт return "Handler" default: // python и неизвестные языки: "main.main" = модуль main, функция main return "main.main" } }