var inherits = require('util').inherits;

// var Property = require('gremlin-core/src/structure/Property');
// var GraphKey = require('gremlin-core/src/structure/Graph.Key');

function TinkerProperty(element, key, value) {
  this.element = element;
  this.key = key;
  this.value = value;
  this.graph = this.element.graph;
}

// inherits(TinkerProperty, Property);

TinkerProperty.prototype.getElement = function() {
  return this.element;
};

TinkerProperty.prototype.getKey = function() {
  // return GraphKey.unHide(this.key);
};

TinkerProperty.prototype.getValue = function() {
  return this.value;
};

TinkerProperty.prototype.isPresent = function() {
  return !!this.value;
};

TinkerProperty.prototype.isHidden = function() {
  // return GraphKey.isHidden(this.key);
};



module.exports = TinkerProperty;
class TinkerProperty {
  constructor(element, key, value) {
    this.element = element;
    this.key = key;
    this.value = value;
    this.graph = this.element.graph;
  }

  getElement() {
    return this.element;
  };

  getKey() {
    // return GraphKey.unHide(this.key);
  };

  getValue() {
    return this.value;
  };

  isPresent() {
    return !!this.value;
  };

  isHidden() {
    // return GraphKey.isHidden(this.key);
  };
}

export default TinkerProperty;

Convert Property to ES6 class