Introduction
The @supercharge/method-missing
package allows you to handle missing methods in your JavaScript classes. It calls the __call(methodName, args)
method in your class when trying to invoke a missing method.
Installation
npm i @supercharge/method-missing
Docs
Find all the details for @supercharge/method-missing
in the extensive Supercharge docs.
Usage
Using @supercharge/method-missing
is pretty straightforward. The package exports a class that you must extend in your implemented class. Then, add a __call(methodName, args)
method to your class. The __call
method allows you to handle all calls for methods that are not existent in your class.
I guess an example clears things up:
const MethodMissing = require('@supercharge/method-missing')
class QueryInterface extends MethodMissing {
constructor (queryInterface) {
super()
this.queryInterface = queryInterface
}
async hasColumn(tableName, columnName) {
const description = await this.queryInterface.describeTable(tableName)
return !!description[columnName]
}
__call(methodName, args) {
return this.queryInterface[methodName](...args)
}
}
Contributing
Do you miss a function? We very much appreciate your contribution! Please send in a pull request 😊
- Create a fork
- Create your feature branch:
git checkout -b my-feature
- Commit your changes:
git commit -am 'Add some feature'
- Push to the branch:
git push origin my-new-feature
- Submit a pull request 🚀
License
MIT © Supercharge
superchargejs.com ·
GitHub @superchargejs ·
Twitter @superchargejs