0
1
Fork 0
hedera-web-mindshore/js/sql/function.js

49 lines
748 B
JavaScript
Raw Normal View History

2016-09-26 09:28:47 +00:00
2022-06-06 08:53:59 +00:00
var Expr = require('./expr');
var ListHolder = require('./list-holder');
2016-09-26 09:28:47 +00:00
/**
* The equivalent of a SQL function.
2022-05-26 06:08:31 +00:00
*/
2022-06-06 08:53:59 +00:00
module.exports = new Class({
2016-09-26 09:28:47 +00:00
Extends: Expr
2022-05-30 01:30:33 +00:00
,Tag: 'sql-function'
,Implements: ListHolder
2022-06-06 08:53:59 +00:00
,Properties: {
2022-05-30 01:30:33 +00:00
/**
* The function name.
*/
2022-06-06 08:53:59 +00:00
name: {
type: String
,value: null
},
2022-05-30 01:30:33 +00:00
/**
* The function schema.
*/
2022-06-06 08:53:59 +00:00
schema: {
type: String
,value: null
},
2022-05-30 01:30:33 +00:00
/**
* The function parameters.
*/
2022-06-06 08:53:59 +00:00
params: {
2022-05-30 01:30:33 +00:00
type: Array
2022-06-06 08:53:59 +00:00
,set: function(x) {
2022-05-30 01:30:33 +00:00
this.list = x;
}
2022-06-06 08:53:59 +00:00
,get: function() {
2022-05-30 01:30:33 +00:00
return this.list;
}
}
}
2022-06-06 08:53:59 +00:00
,render: function(params) {
return this.renderPreIdent(this.schema)
+ this.renderIdent(this.name)
2022-05-30 01:30:33 +00:00
+ '('
2022-06-06 08:53:59 +00:00
+ this.renderListWs(this.list, params, ', ')
2022-05-30 01:30:33 +00:00
+ ')';
}
});