quote-api / methods /index.js
akkun3704's picture
Upload folder using huggingface_hub
5ae7e18
raw
history blame contribute delete
848 Bytes
const crypto = require('crypto')
const LRU = require('lru-cache')
const sizeof = require('object-sizeof')
const generate = require('./generate')
const methods = {
generate
}
const cache = new LRU({
max: 1000 * 1000 * 1000,
length: (n) => { return sizeof(n) },
maxAge: 1000 * 60 * 45
})
module.exports = async (method, parm) => {
if (methods[method]) {
let methodResult = {}
let cacheString = crypto.createHash('md5').update(JSON.stringify({ method, parm })).digest('hex')
const methodResultCache = cache.get(cacheString)
if (!methodResultCache) {
methodResult = await methods[method](parm)
if (!methodResult.error) cache.set(cacheString, methodResult)
} else {
methodResult = methodResultCache
}
return methodResult
} else {
return {
error: 'method not found'
}
}
}