GeoKnow/Jassa-Core

View on GitHub
lib/sparql/expr/ExprFunctionBase.js

Summary

Maintainability
A
0 mins
Test Coverage
var Class = require('../../ext/Class');
var PatternUtils = require('../PatternUtils');
var ExprFunction = require('./ExprFunction');

var ExprFunctionBase = Class.create(ExprFunction, {
    initialize: function(name) {
        this.name = name;
    },

    copySubstitute: function(fnNodeMap) {
        var args = this.getArgs();
        var newArgs = args.map(function(arg) {
            var r = arg.copySubstitute(fnNodeMap);
            return r;
        });

        var result = this.copy(newArgs);
        return result;
    },

    getVarsMentioned: function() {
        var result = PatternUtils.getVarsMentioned(this.getArgs());
        return result;
    },

    toString: function() {
        var result = this.name + '(' + this.getArgs().join(', ') + ')';
        return result;
    },
});

module.exports = ExprFunctionBase;