UNPKG

node-red-contrib-tak-registration

Version:

A Node-RED node to register to TAK and to help wrap files as datapackages to send to TAK

83 lines (69 loc) 1.56 kB
import Collection from './Collection' import NoSuchElementException from './NoSuchElementException' import UnsupportedOperationException from '../lang/UnsupportedOperationException' import SortedSet from './SortedSet' /** * @see http://download.oracle.com/javase/6/docs/api/java/util/TreeSet.html */ export default class TreeSet extends SortedSet { constructor(o) { super() this.array = [] if (o instanceof Collection) this.addAll(o) } contains(o) { for (const e of this.array) if (e.compareTo(o) === 0) return true return false } add(o) { if (this.contains(o)) return false for (let i = 0, len = this.array.length; i < len; i++) { const e = this.array[i] if (e.compareTo(o) === 1) return !!this.array.splice(i, 0, o) } this.array.push(o) return true } addAll(c) { for (const e of c) this.add(e) return true } remove() { throw new UnsupportedOperationException() } size() { return this.array.length } isEmpty() { return this.array.length === 0 } toArray() { return this.array.slice() } iterator() { return new Iterator(this.array) } } class Iterator { constructor(array) { this.array = array this.position = 0 } next() { if (this.position === this.array.length) throw new NoSuchElementException() return this.array[this.position++] } hasNext() { return this.position < this.array.length } remove() { throw new UnsupportedOperationException() } }