include node_modules so release .zip is deployable
This commit is contained in:
+151
@@ -0,0 +1,151 @@
|
||||
"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 (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
|
||||
return extendStatics(d, b);
|
||||
};
|
||||
return function (d, b) {
|
||||
if (typeof b !== "function" && b !== null)
|
||||
throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
|
||||
extendStatics(d, b);
|
||||
function __() { this.constructor = d; }
|
||||
d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
|
||||
};
|
||||
})();
|
||||
Object.defineProperty(exports, "__esModule", { value: true });
|
||||
exports.SetContainer = void 0;
|
||||
var Container_1 = require("./Container");
|
||||
var NativeArrayIterator_1 = require("../../internal/iterator/disposable/NativeArrayIterator");
|
||||
/**
|
||||
* Basic set container.
|
||||
*
|
||||
* @template Key Key type
|
||||
* @template Unique Whether duplicated key is blocked or not
|
||||
* @template Source Derived type extending this {@link SetContainer}
|
||||
* @template IteratorT Iterator type
|
||||
* @template ReverseT Reverse iterator type
|
||||
*
|
||||
* @author Jeongho Nam - https://github.com/samchon
|
||||
*/
|
||||
var SetContainer = /** @class */ (function (_super) {
|
||||
__extends(SetContainer, _super);
|
||||
/* ---------------------------------------------------------
|
||||
CONSTURCTORS
|
||||
--------------------------------------------------------- */
|
||||
/**
|
||||
* Default Constructor.
|
||||
*/
|
||||
function SetContainer(factory) {
|
||||
var _this = _super.call(this) || this;
|
||||
_this.data_ = factory(_this);
|
||||
return _this;
|
||||
}
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
SetContainer.prototype.assign = function (first, last) {
|
||||
// INSERT
|
||||
this.clear();
|
||||
this.insert(first, last);
|
||||
};
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
SetContainer.prototype.clear = function () {
|
||||
// TO BE ABSTRACT
|
||||
this.data_.clear();
|
||||
};
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
SetContainer.prototype.begin = function () {
|
||||
return this.data_.begin();
|
||||
};
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
SetContainer.prototype.end = function () {
|
||||
return this.data_.end();
|
||||
};
|
||||
/* ---------------------------------------------------------
|
||||
ELEMENTS
|
||||
--------------------------------------------------------- */
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
SetContainer.prototype.has = function (key) {
|
||||
return !this.find(key).equals(this.end());
|
||||
};
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
SetContainer.prototype.size = function () {
|
||||
return this.data_.size();
|
||||
};
|
||||
/* =========================================================
|
||||
ELEMENTS I/O
|
||||
- INSERT
|
||||
- ERASE
|
||||
- UTILITY
|
||||
- POST-PROCESS
|
||||
============================================================
|
||||
INSERT
|
||||
--------------------------------------------------------- */
|
||||
/**
|
||||
* @inheritDoc
|
||||
*/
|
||||
SetContainer.prototype.push = function () {
|
||||
var items = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
items[_i] = arguments[_i];
|
||||
}
|
||||
if (items.length === 0)
|
||||
return this.size();
|
||||
// INSERT BY RANGE
|
||||
var first = new NativeArrayIterator_1.NativeArrayIterator(items, 0);
|
||||
var last = new NativeArrayIterator_1.NativeArrayIterator(items, items.length);
|
||||
this._Insert_by_range(first, last);
|
||||
// RETURN SIZE
|
||||
return this.size();
|
||||
};
|
||||
SetContainer.prototype.insert = function () {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
if (args.length === 1)
|
||||
return this._Insert_by_key(args[0]);
|
||||
else if (args[0].next instanceof Function &&
|
||||
args[1].next instanceof Function)
|
||||
return this._Insert_by_range(args[0], args[1]);
|
||||
else
|
||||
return this._Insert_by_hint(args[0], args[1]);
|
||||
};
|
||||
SetContainer.prototype.erase = function () {
|
||||
var args = [];
|
||||
for (var _i = 0; _i < arguments.length; _i++) {
|
||||
args[_i] = arguments[_i];
|
||||
}
|
||||
if (args.length === 1 &&
|
||||
!(args[0] instanceof this.end().constructor &&
|
||||
args[0].source() === this))
|
||||
return this._Erase_by_val(args[0]);
|
||||
else if (args.length === 1)
|
||||
return this._Erase_by_range(args[0]);
|
||||
else
|
||||
return this._Erase_by_range(args[0], args[1]);
|
||||
};
|
||||
SetContainer.prototype._Erase_by_range = function (first, last) {
|
||||
if (last === void 0) { last = first.next(); }
|
||||
// ERASE
|
||||
var it = this.data_.erase(first, last);
|
||||
// POST-PROCESS
|
||||
this._Handle_erase(first, last);
|
||||
return it;
|
||||
};
|
||||
return SetContainer;
|
||||
}(Container_1.Container));
|
||||
exports.SetContainer = SetContainer;
|
||||
//# sourceMappingURL=SetContainer.js.map
|
||||
Reference in New Issue
Block a user