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

55 lines
746 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: function (params)
{
return TypeSql[this.type] +' JOIN '
+ this.target.render (params)
+ this.renderIfSet (this.condition, 'ON', params);
}
});