{"size": 747, "ext": "js", "max_stars_repo_path": "src/proccess/traversal/step/util/EmptyPath.js", "max_stars_repo_name": "navikom/tinkerpop-js", "max_stars_repo_stars_event_min_datetime": null, "max_stars_repo_stars_event_max_datetime": null, "max_issues_repo_path": "src/proccess/traversal/step/util/EmptyPath.js", "max_issues_repo_name": "navikom/tinkerpop-js", "max_issues_repo_issues_event_min_datetime": null, "max_issues_repo_issues_event_max_datetime": null, "max_forks_repo_path": "src/proccess/traversal/step/util/EmptyPath.js", "max_forks_repo_name": "navikom/tinkerpop-js", "max_forks_repo_forks_event_min_datetime": null, "max_forks_repo_forks_event_max_datetime": null}
{"max_stars_count": null, "max_issues_count": null, "max_forks_count": null, "avg_line_length": 12.0483870968, "max_line_length": 65, "alphanum_fraction": 0.5448460509}
import Path from '../../Path';
import { List } from '../../../../util';

let INSTANCE = null;

/**
 * EmptyPath
 */
export default class EmptyPath extends Path {

  constructor() {
    super();
    if (!INSTANCE) {
      INSTANCE = this;
    }
    return INSTANCE;
  }

  size() {
    return 0;
  }

  extend(object, labels) {
    return this;
  }


  retract(labels) {
    return this;
  }

  getValue(label) {
    throw (`step With Provided Label (${label}) Does Not Exist`);
  }


  hasLabel(label) {
    return false;
  }

  objects() {
    return new List();
  }

  labels() {
    return new List();
  }

  isSimple() {
    return true;
  }

  clone() {
    return this;
  }

  equals(object) {
    return object instanceof EmptyPath;
  }

}
