DanielHreben/sequelize-transparent-cache

View on GitHub
packages/sequelize-transparent-cache/src/index.js

Summary

Maintainability
A
0 mins
Test Coverage
const buildClassMethods = require('./methods/class')
const buildInstanceMethods = require('./methods/instance')

module.exports = client => ({
  withCache (modelClass) {
    modelClass.cache = function (customId) {
      return customId
        ? buildClassMethods.manual(client, this, customId)
        : buildClassMethods.auto(client, this)
    }

    modelClass.prototype.cache = function () {
      return buildInstanceMethods(client, this)
    }

    return modelClass
  }
})