hedera-web/js/sql/join-item.js

49 lines
720 B
JavaScript

var Target = require('./target');
var Expr = require('./expr');
var SqlObject = require('./object');
var Type = require('./join').Type;
var TypeSql = [
'INNER',
'LEFT',
'RIGHT'
];
/**
* The equivalent of a SQL join.
*/
module.exports = new Class({
Extends: SqlObject
,Tag: 'sql-join-table'
,Properties: {
/**
* The join type.
*/
type: {
enumType: Type
,value: 0
},
/**
* The right target.
*/
target: {
type: Target
,value: null
},
/**
* The join on condition.
*/
condition: {
type: Expr
,value: null
}
}
,render(params) {
return TypeSql[this.type] +' JOIN '
+ this.target.render(params)
+ this.renderIfSet(this.condition, 'ON', params);
}
});