33 lines
1.0 KiB
JavaScript
33 lines
1.0 KiB
JavaScript
|
"use strict";
|
||
|
var root_1 = require('./root');
|
||
|
function minimalSetImpl() {
|
||
|
// THIS IS NOT a full impl of Set, this is just the minimum
|
||
|
// bits of functionality we need for this library.
|
||
|
return (function () {
|
||
|
function MinimalSet() {
|
||
|
this._values = [];
|
||
|
}
|
||
|
MinimalSet.prototype.add = function (value) {
|
||
|
if (!this.has(value)) {
|
||
|
this._values.push(value);
|
||
|
}
|
||
|
};
|
||
|
MinimalSet.prototype.has = function (value) {
|
||
|
return this._values.indexOf(value) !== -1;
|
||
|
};
|
||
|
Object.defineProperty(MinimalSet.prototype, "size", {
|
||
|
get: function () {
|
||
|
return this._values.length;
|
||
|
},
|
||
|
enumerable: true,
|
||
|
configurable: true
|
||
|
});
|
||
|
MinimalSet.prototype.clear = function () {
|
||
|
this._values.length = 0;
|
||
|
};
|
||
|
return MinimalSet;
|
||
|
}());
|
||
|
}
|
||
|
exports.minimalSetImpl = minimalSetImpl;
|
||
|
exports.Set = root_1.root.Set || minimalSetImpl();
|
||
|
//# sourceMappingURL=Set.js.map
|