You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

43 lines
1.0 KiB
JavaScript

const dicts = require('./dicts.js')
const randomGenerators = require('./generators.js')
const {
//genStar,
genNamedStar,
genPlanet,
genStation,
genStarship
} = randomGenerators(dicts)
const generators = {
'random-star-name': genNamedStar,
'random-planet-name': genPlanet,
'random-station-name': genStation,
'random-starship-name': genStarship,
}
// Docs on event and context https://www.netlify.com/docs/functions/#the-handler-method
const handler = async (event) => {
try {
// path looks like this: /.netlify/functions/random-names/foo
const generatorKey = event.path.slice(33) // cheapo path segmentation
const generator = generators[generatorKey]
if (!generator) return {
statusCode: 404,
body: JSON.stringify({ statusCode: 404, body: `Unkown generator "${generatorKey}".` }),
}
const name = generator()
return {
statusCode: 200,
body: JSON.stringify({ name }),
}
} catch (error) {
return { statusCode: 500, body: error.toString() }
}
}
module.exports = { handler }