UNPKG

ts-collection

Version:

This is re-write of the java collection classes in typescript. There is some tweak as typescript templates are not as equivalent as Java.

63 lines (62 loc) 2.45 kB
"use strict"; var __extends = (this && this.__extends) || (function () { var extendStatics = function (d, b) { extendStatics = Object.setPrototypeOf || ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) || function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; }; return extendStatics(d, b); }; return function (d, b) { extendStatics(d, b); function __() { this.constructor = d; } d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __()); }; })(); Object.defineProperty(exports, "__esModule", { value: true }); var abstractcollection_1 = require("../abstractcollection"); var ValueIterator_1 = require("./ValueIterator"); var objects_1 = require("../objects"); var RedBlackTree_1 = require("../RedBlackTree"); var treemap_1 = require("../treemap"); var TreeMapValues = /** @class */ (function (_super) { __extends(TreeMapValues, _super); function TreeMapValues(rbTree) { var _this = _super.call(this) || this; _this.rbTree = rbTree; return _this; } TreeMapValues.prototype.iterator = function () { return new ValueIterator_1.TreeMapValueIterator(this.rbTree.getFirstNode(), this.rbTree); }; TreeMapValues.prototype.size = function () { return this.rbTree.size(); }; TreeMapValues.prototype.contains = function (value) { var node = this.rbTree.getFirstNode(); while (node !== null) { var entry = RedBlackTree_1.RedBlackTree.entryOrNull(node); var v = treemap_1.TreeMap.valueOrNull(entry); if (v.equals(value)) { return true; } node = this.rbTree.successor(node); } return false; }; TreeMapValues.prototype.remove = function (value) { for (var e = this.rbTree.getFirstNode(); e !== null; e = this.rbTree.successor(e)) { var entry = RedBlackTree_1.RedBlackTree.entryOrNull(e); var v = entry.getValue(); if (objects_1.Objects.equals(v, value)) { this.rbTree.deleteEntry(e); return true; } } return false; }; TreeMapValues.prototype.clear = function () { this.rbTree.clear(); }; return TreeMapValues; }(abstractcollection_1.AbstractCollection)); exports.TreeMapValues = TreeMapValues;