All files / src/util item.js

100% Statements 10/10
100% Branches 2/2
100% Functions 2/2
100% Lines 10/10

Press n or j to go to the next uncovered block, b, p or k for the previous block.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22    16x 16x   12x 1x 1x 1x   1x     11x 11x   11x          
export default {
  create: (defaultTTL, log) => {
    log(`Init defaultTTL: ${defaultTTL}`)
    return {
      build: (value) => {
        if (value.ttl) {
          log(`Using provided ttl: ${value.ttl}`)
          let ttl = value.ttl
          delete value.ttl
 
          return { value: value, ttl }
        }
 
        let ttl = Date.now() + defaultTTL
        log(`Setting ttl: ${ttl}`)
 
        return { value, ttl }
      }
    }
  }
}