2.0.2 • Published 2 years ago
objection-table-name v2.0.2
objection-table-name
Enjoy objection-tablename? Check out my other objection plugins: objection-hashid and objection-authorize!
What To Solve
class NodeModule extends Model {
static get tableName() {
return 'nodeModules' // you type it on every model
}
}
what about:
class NodeModule extends Model {}
console.log(NodeModule.tableName)
// => nodeModules
Installation
$ npm install objection-table-name
Usage
const { Model } = require('objection')
const tableName = require('objection-table-name')
// The common way is:
// - make this is as your base class
// BaseModel.js
class BaseModel extends tableName()(Model) {}
// TransactionDetail.js
class TransactionDetail extends BaseModel {}
console.log(TransactionDetail.tableName)
// => transactionDetails
You can define your own mapper
function upperFirst([s, ...rest]) {
return [s.toUpperCase(), ...rest].join('')
}
class BaseModel extends TableNamer({
caseMapper: upperFirst
})(Model) {}
class foo_Bar extends BaseModel {}
console.log(foo_Bar.tableName)
// => Foo_Bar
Lodash provides some already defined caseMappers. You can use it too.
2.0.2
2 years ago
2.0.1
2 years ago
2.0.0
2 years ago
1.2.5
3 years ago
1.2.4
3 years ago
1.2.3
3 years ago
1.2.2
4 years ago
1.2.1
4 years ago
1.2.0
4 years ago
1.1.1
4 years ago
1.1.0
5 years ago
1.0.8
5 years ago
1.0.7
5 years ago
1.0.6
5 years ago
1.0.5
5 years ago
1.0.4
5 years ago
1.0.3
5 years ago
1.0.2
5 years ago
1.0.1
5 years ago
1.0.0
5 years ago