all files / src/context/reflection/ function.js

100% Statements 7/7
100% Branches 0/0
100% Functions 1/1
100% Lines 7/7
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45                      1× 10× 10× 10× 10× 10×                                                     1×  
/*!
 * Copyright (C) 2017 Glayzzle (BSD3 License)
 * @authors https://github.com/glayzzle/php-transpiler/graphs/contributors
 * @url http://glayzzle.com
 */
'use strict';
 
/**
 * Defines a function structure
 * @constructor Function
 */
var Fn = function(fn, name) {
  this.fn = fn;
  this.name = name;
  this.namespace = null;
  this.arguments = [];
  this.type = null;
};
 
/**
 * Gets callback entry
Function.prototype.get = function() {
  return this.call.bind(this);
};
*/
 
/**
 * Make a call to the specified function
Function.prototype.call = function(context, args) {
  var result = this.fn.apply(context, args);
  if (this.type) {
    switch(this.type) {
      case 'integer':
        if (typeof result !== 'number') {
          // @todo
        }
        break;
    }
  }
  return result;
};
*/
 
module.exports = Fn;