Run a pipeline of async tasks
npm install @supercharge/method-missing
Handle missing methods on your classes, like PHP’s __call.
Installation ·
Docs ·
Usage
Follow @marcuspoehls and @superchargejs for updates!
@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.
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:
`js
const MethodMissing = require('@supercharge/method-missing')
class QueryInterface extends MethodMissing {
/**
* Creates an instance wrapping the Sequelize queryInterface instance.
*
* @param {QueryInterface} queryInterface
*/
constructor (queryInterface) {
super()
this.queryInterface = queryInterface
}
/**
* Determine whether the given column already exists in the given table.
*
* @param {String} table
* @param {String} column
*
* @returns {Boolean}
*/
async hasColumn(tableName, columnName) {
const description = await this.queryInterface.describeTable(tableName)
return !!description[columnName]
}
/**
* Pass through all calls to the original query interface.
*
* @param {String} methodName
* @param {Array} args
*
@returns {}
*/
__call(methodName, args) {
return this.queryInterfacemethodName
}
}
`
Contributing
Do you miss a function? We very much appreciate your contribution! Please send in a pull request 😊
1. Create a fork
2. Create your feature branch: git checkout -b my-feature
3. Commit your changes: git commit -am 'Add some feature'
4. Push to the branch: git push origin my-new-feature`