UNPKG

@cute-dw/core

Version:

This TypeScript library is the main part of a more powerfull package designed for the fast WEB software development. The cornerstone of the library is the **DataStore** class, which might be useful when you need a full control of the data, but do not need

145 lines 12.6 kB
var _a; import { AbstractList } from "./AbstractList"; import { LinkedList } from "./LinkedList"; /** * The Vector class implements a growable array of objects. Like an array, it contains components that can be accessed using an integer index. */ export class Vector extends AbstractList { /* //++ Iterator implemetation protected get iteratorFirstItem$(): LinkedListNode<T> | null { return this._list.getHead() }; protected iteratorValue$(node: LinkedListNode<T>): T | null { return node.value; } protected iteratorIterate$(node: LinkedListNode<T>): LinkedListNode<T> | null { if (node && node != this._list.getTail()) { return node.next; } return null; } //-- */ *[Symbol.iterator]() { yield* this._list[Symbol.iterator](); } constructor(capacity = 0) { super(); this._list = new LinkedList(); this[_a] = "Vector"; if (capacity > 0) { this.loadArray(Array(capacity).fill(null)); } } /** * Returns the number of components in this vector */ get size() { return this._list.size; } clone() { const aVector = new Vector(this.size); aVector.appendAll(this); return aVector; } getNode(index) { return this._list.getNode(index); } /** * @override */ append(value) { return this._list.append(value); } /** * @override */ appendAll(collection) { return this._list.appendAll(collection); } /** * @override */ clear() { this._list.clear(); } /** * @override */ contains(value) { return this._list.contains(value); } /** * @override */ get(index) { return this._list.get(index); } /** * @override */ indexOf(value, fromIndex) { return this._list.indexOf(value, fromIndex); } /** * @override */ insert(index, value) { return this._list.insert(index, value); } /** * @override */ lastIndexOf(value, fromIndex) { return this._list.lastIndexOf(value, fromIndex); } /** * @override */ remove(value) { return this._list.remove(value); } /** * @override */ removeAll(collection) { return this._list.removeAll(collection); } /** * @override */ removeAt(index) { return this._list.removeAt(index); } /** * @override */ removeRange(fromIndex, toIndex) { return this._list.removeRange(fromIndex, toIndex); } /** * @override */ retainAll(collection) { return this._list.retainAll(collection); } /** * @override */ set(index, value) { return this._list.set(index, value); } /** * @override */ subList(fromIndex, toIndex) { return this._list.subList(fromIndex, toIndex); } /** * @override */ loadArray(values) { this._list.loadArray(values); } /** * @override */ toArray() { return this._list.toArray(); } } _a = Symbol.toStringTag; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVmVjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY3V0ZS1jb3JlL3NyYy9saWIvY29sbGVjdGlvbnMvVmVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFVBQVUsRUFBa0IsTUFBTSxjQUFjLENBQUM7QUFHMUQ7O0dBRUc7QUFDSCxNQUFNLE9BQU8sTUFBVSxTQUFRLFlBQWU7SUFHNUM7Ozs7Ozs7Ozs7O01BV0U7SUFFRixDQUFDLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztRQUNoQixLQUFLLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLFdBQW1CLENBQUM7UUFDOUIsS0FBSyxFQUFFLENBQUM7UUFwQkEsVUFBSyxHQUFrQixJQUFJLFVBQVUsRUFBRSxDQUFDO1FBOElsRCxRQUFvQixHQUFHLFFBQVEsQ0FBQztRQXpIOUIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO1lBQ2hCLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1NBQzVDO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsSUFBSSxJQUFJLEtBQWEsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUM7SUFFOUMsS0FBSztRQUNILE1BQU0sT0FBTyxHQUFHLElBQUksTUFBTSxDQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QyxPQUFPLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hCLE9BQU8sT0FBTyxDQUFDO0lBQ2pCLENBQUM7SUFFRCxPQUFPLENBQUMsS0FBYTtRQUNuQixPQUFP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Q0FBQztDQUlGO0tBRkUsTUFBTSxDQUFDLFdBQVciLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDbG9uZWFibGUgfSBmcm9tIFwiLi4vdXRpbC9pbnRlcmZhY2UvQ2xvbmVhYmxlXCI7XHJcbmltcG9ydCB7IEFic3RyYWN0TGlzdCB9IGZyb20gXCIuL0Fic3RyYWN0TGlzdFwiO1xyXG5pbXBvcnQgeyBDb2xsZWN0aW9uLCBFbGVtZW50IH0gZnJvbSBcIi4vQ29sbGVjdGlvblwiO1xyXG5pbXBvcnQgeyBMaW5rZWRMaXN0LCBMaW5rZWRMaXN0Tm9kZSB9IGZyb20gXCIuL0xpbmtlZExpc3RcIjtcclxuaW1wb3J0IHsgTGlzdCB9IGZyb20gXCIuL0xpc3RcIjtcclxuXHJcbi8qKlxyXG4gKiBUaGUgVmVjdG9yIGNsYXNzIGltcGxlbWVudHMgYSBncm93YWJsZSBhcnJheSBvZiBvYmplY3RzLiBMaWtlIGFuIGFycmF5LCBpdCBjb250YWlucyBjb21wb25lbnRzIHRoYXQgY2FuIGJlIGFjY2Vzc2VkIHVzaW5nIGFuIGludGVnZXIgaW5kZXguXHJcbiAqL1xyXG5leHBvcnQgY2xhc3MgVmVjdG9yPFQ+IGV4dGVuZHMgQWJzdHJhY3RMaXN0PFQ+IGltcGxlbWVudHMgQ2xvbmVhYmxlIHtcclxuICBwcm90ZWN0ZWQgX2xpc3Q6IExpbmtlZExpc3Q8VD4gPSBuZXcgTGlua2VkTGlzdCgpO1xyXG5cclxuICAvKlxyXG4gIC8vKysgSXRlcmF0b3IgaW1wbGVtZXRhdGlvblxyXG4gIHByb3RlY3RlZCBnZXQgaXRlcmF0b3JGaXJzdEl0ZW0kKCk6IExpbmtlZExpc3ROb2RlPFQ+IHwgbnVsbCB7IHJldHVybiB0aGlzLl9saXN0LmdldEhlYWQoKSB9O1xyXG4gIHByb3RlY3RlZCBpdGVyYXRvclZhbHVlJChub2RlOiBMaW5rZWRMaXN0Tm9kZTxUPik6IFQgfCBudWxsIHsgcmV0dXJuIG5vZGUudmFsdWU7IH1cclxuICBwcm90ZWN0ZWQgaXRlcmF0b3JJdGVyYXRlJChub2RlOiBMaW5rZWRMaXN0Tm9kZTxUPik6IExpbmtlZExpc3ROb2RlPFQ+IHwgbnVsbCB7XHJcbiAgICBpZiAobm9kZSAmJiBub2RlICE9IHRoaXMuX2xpc3QuZ2V0VGFpbCgpKSB7XHJcbiAgICAgIHJldHVybiBub2RlLm5leHQ7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcbiAgLy8tLVxyXG4gICovXHJcblxyXG4gICpbU3ltYm9sLml0ZXJhdG9yXSgpOiBJdGVyYWJsZUl0ZXJhdG9yPEVsZW1lbnQ8VD4+IHtcclxuICAgIHlpZWxkKiB0aGlzLl9saXN0W1N5bWJvbC5pdGVyYXRvcl0oKTtcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNhcGFjaXR5OiBudW1iZXIgPSAwKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKGNhcGFjaXR5ID4gMCkge1xyXG4gICAgICB0aGlzLmxvYWRBcnJheShBcnJheShjYXBhY2l0eSkuZmlsbChudWxsKSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBSZXR1cm5zIHRoZSBudW1iZXIgb2YgY29tcG9uZW50cyBpbiB0aGlzIHZlY3RvclxyXG4gICAqL1xyXG4gIGdldCBzaXplKCk6IG51bWJlciB7IHJldHVybiB0aGlzLl9saXN0LnNpemU7IH1cclxuXHJcbiAgY2xvbmUoKTogVmVjdG9yPFQ+IHtcclxuICAgIGNvbnN0IGFWZWN0b3IgPSBuZXcgVmVjdG9yPFQ+KHRoaXMuc2l6ZSk7XHJcbiAgICBhVmVjdG9yLmFwcGVuZEFsbCh0aGlzKTtcclxuICAgIHJldHVybiBhVmVjdG9yO1xyXG4gIH1cclxuXHJcbiAgZ2V0Tm9kZShpbmRleDogbnVtYmVyKTogUmVhZG9ubHk8TGlua2VkTGlzdE5vZGU8VD4gfCBudWxsPiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGlzdC5nZXROb2RlKGluZGV4KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQG92ZXJyaWRlXHJcbiAgICovXHJcbiAgYXBwZW5kKHZhbHVlOiBFbGVtZW50PFQ+KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGlzdC5hcHBlbmQodmFsdWUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiAgQG92ZXJyaWRlXHJcbiAgICovXHJcbiAgYXBwZW5kQWxsPEUgZXh0ZW5kcyBUPihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPEU+KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGlzdC5hcHBlbmRBbGwoY29sbGVjdGlvbik7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBvdmVycmlkZVxyXG4gICAqL1xyXG4gIGNsZWFyKCk6IHZvaWQgeyB0aGlzLl9saXN0LmNsZWFyKCk7IH1cclxuICAvKipcclxuICAgKiBAb3ZlcnJpZGVcclxuICAgKi9cclxuICBjb250YWlucyh2YWx1ZTogRWxlbWVudDxUPik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpc3QuY29udGFpbnModmFsdWUpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBAb3ZlcnJpZGVcclxuICAgKi9cclxuICBnZXQoaW5kZXg6IG51bWJlcik6IEVsZW1lbnQ8VD4gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpc3QuZ2V0KGluZGV4KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQG92ZXJyaWRlXHJcbiAgICovXHJcbiAgaW5kZXhPZih2YWx1ZTogRWxlbWVudDxUPiwgZnJvbUluZGV4PzogbnVtYmVyIHwgdW5kZWZpbmVkKTogbnVtYmVyIHtcclxuICAgIHJldHVybiB0aGlzLl9saXN0LmluZGV4T2YodmFsdWUsIGZyb21JbmRleCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBvdmVycmlkZVxyXG4gICAqL1xyXG4gIGluc2VydChpbmRleDogbnVtYmVyLCB2YWx1ZTogRWxlbWVudDxUPik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpc3QuaW5zZXJ0KGluZGV4LCB2YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBvdmVycmlkZVxyXG4gICAqL1xyXG4gIGxhc3RJbmRleE9mKHZhbHVlOiBFbGVtZW50PFQ+LCBmcm9tSW5kZXg/OiBudW1iZXIgfCB1bmRlZmluZWQpOiBudW1iZXIge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpc3QubGFzdEluZGV4T2YodmFsdWUsIGZyb21JbmRleCk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBvdmVycmlkZVxyXG4gICAqL1xyXG4gIHJlbW92ZSh2YWx1ZTogRWxlbWVudDxUPik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpc3QucmVtb3ZlKHZhbHVlKTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQG92ZXJyaWRlXHJcbiAgICovXHJcbiAgcmVtb3ZlQWxsPEUgZXh0ZW5kcyBUPihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPEU+KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGlzdC5yZW1vdmVBbGwoY29sbGVjdGlvbik7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBvdmVycmlkZVxyXG4gICAqL1xyXG4gIHJlbW92ZUF0KGluZGV4OiBudW1iZXIpOiBFbGVtZW50PFQ+IHwgdW5kZWZpbmVkIHtcclxuICAgIHJldHVybiB0aGlzLl9saXN0LnJlbW92ZUF0KGluZGV4KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQG92ZXJyaWRlXHJcbiAgICovXHJcbiAgcmVtb3ZlUmFuZ2UoZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpc3QucmVtb3ZlUmFuZ2UoZnJvbUluZGV4LCB0b0luZGV4KTtcclxuICB9XHJcbiAgLyoqXHJcbiAgICogQG92ZXJyaWRlXHJcbiAgICovXHJcbiAgcmV0YWluQWxsPEUgZXh0ZW5kcyBUPihjb2xsZWN0aW9uOiBDb2xsZWN0aW9uPEU+KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5fbGlzdC5yZXRhaW5BbGwoY29sbGVjdGlvbik7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBvdmVycmlkZVxyXG4gICAqL1xyXG4gIHNldChpbmRleDogbnVtYmVyLCB2YWx1ZTogRWxlbWVudDxUPik6IEVsZW1lbnQ8VD4gfCB1bmRlZmluZWQge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpc3Quc2V0KGluZGV4LCB2YWx1ZSk7XHJcbiAgfVxyXG4gIC8qKlxyXG4gICAqIEBvdmVycmlkZVxyXG4gICAqL1xyXG4gIHN1Ykxpc3QoZnJvbUluZGV4OiBudW1iZXIsIHRvSW5kZXg6IG51bWJlcik6IExpc3Q8VD4ge1xyXG4gICAgcmV0dXJuIHRoaXMuX2xpc3Quc3ViTGlzdChmcm9tSW5kZXgsIHRvSW5kZXgpO1xyXG4gIH1cclxuICAvKipcclxuICAgKiBAb3ZlcnJpZGVcclxuICAgKi9cclxuICBsb2FkQXJyYXk8RSBleHRlbmRzIFQ+KHZhbHVlczogQXJyYXk8RWxlbWVudDxUPj4pOiB2b2lkIHtcclxuICAgIHRoaXMuX2xpc3QubG9hZEFycmF5KHZhbHVlcyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAgKiBAb3ZlcnJpZGVcclxuICAgKi9cclxuICB0b0FycmF5KCk6IEFycmF5PEVsZW1lbnQ8VD4+IHtcclxuICAgIHJldHVybiB0aGlzLl9saXN0LnRvQXJyYXkoKTtcclxuICB9XHJcblxyXG4gIFtTeW1ib2wudG9TdHJpbmdUYWddID0gXCJWZWN0b3JcIjtcclxuXHJcbn1cclxuIl19