You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
1.0 KiB
33 lines
1.0 KiB
"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
|