UNPKG

bam-lambda

Version:

Serverless framework for AWS Lambda and API Gateway

32 lines (24 loc) 997 B
const { readFile, getStagingPath, } = require('./fileUtils'); const getLambdaFileAboveExport = (lambdaFile) => { const lambdaFileParts = lambdaFile.split('exports'); return lambdaFileParts.length > 1 ? lambdaFileParts[0] : ''; }; const getDescriptionFromLambdaFile = async (lambdaFile) => { const descriptionStr = '// description:'; const descriptionRegEx = new RegExp(`${descriptionStr}.*`); const lambdaFileAboveExport = getLambdaFileAboveExport(lambdaFile); const descriptionArr = lambdaFileAboveExport.match(descriptionRegEx) || []; if (descriptionArr.length) { return descriptionArr[0].split(descriptionStr).join('').trim().slice(0, 255); } return ''; }; module.exports = async function getDescription(lambdaName, path) { const stagingPath = getStagingPath(path); const lambdaFile = await readFile(`${stagingPath}/${lambdaName}/index.js`, 'utf8'); const lambdaDescription = await getDescriptionFromLambdaFile(lambdaFile); return lambdaDescription; };