@dashkite/joy
Version:
[](https://firstdonoharm.dev/version/3/0/core.html)
64 lines (63 loc) • 6.68 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", {
value: true
});
function _export(target, all) {
for(var name in all)Object.defineProperty(target, name, {
enumerable: true,
get: Object.getOwnPropertyDescriptor(all, name).get
});
}
_export(exports, {
get difference () {
return difference;
},
get duplicates () {
return duplicates;
},
get intersection () {
return intersection;
},
get symmetricDifference () {
return symmetricDifference;
},
get union () {
return union;
},
get unique () {
return unique;
}
});
const _function = require("./function");
var difference, duplicates, intersection, symmetricDifference, union, unique;
union = function(ax, bx) {
return new Set(ax).union(new Set(bx));
};
intersection = (0, _function.curry)(function(ax, bx) {
return new Set(ax).intersection(new Set(bx));
});
symmetricDifference = function(ax, bx) {
return new Set(ax).symmetricDifference(new Set(bx));
};
difference = function(ax, bx) {
return new Set(ax).difference(new Set(bx));
};
unique = function(ax) {
return new Set(ax);
};
duplicates = function(ax) {
var a, bx, cx;
bx = new Set(); // items we've seen at least once
cx = new Set(); // items we've seen at least twice
for (a of ax){
if (bx.has(a)) {
cx.add(a);
} else {
bx.add(a);
}
}
return cx;
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiL0BkYXNoa2l0ZS9qb3kvc3JjL3NldC5jb2ZmZWUiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBQSxVQUFBLEVBQUEsVUFBQSxFQUFBLFlBQUEsRUFBQSxtQkFBQSxFQUFBLEtBQUEsRUFBQTs7QUFBQSxPQUFBO0VBQVEsS0FBUjtDQUFBLE1BQUE7O0FBRUEsS0FBQSxHQUFRLFFBQUEsQ0FBRSxFQUFGLEVBQU0sRUFBTixDQUFBO1NBQ04sQ0FBRSxJQUFJLEdBQUosQ0FBUSxFQUFSLENBQUYsQ0FBYyxDQUFDLEtBQWYsQ0FBdUIsSUFBSSxHQUFKLENBQVEsRUFBUixDQUF2QjtBQURNOztBQUdSLFlBQUEsR0FBZSxLQUFBLENBQU0sUUFBQSxDQUFFLEVBQUYsRUFBTSxFQUFOLENBQUE7U0FDbkIsQ0FBRSxJQUFJLEdBQUosQ0FBUSxFQUFSLENBQUYsQ0FBYyxDQUFDLFlBQWYsQ0FBOEIsSUFBSSxHQUFKLENBQVEsRUFBUixDQUE5QjtBQURtQixDQUFOOztBQUdmLG1CQUFBLEdBQXNCLFFBQUEsQ0FBRSxFQUFGLEVBQU0sRUFBTixDQUFBO1NBQ3BCLENBQUUsSUFBSSxHQUFKLENBQVEsRUFBUixDQUFGLENBQWMsQ0FBQyxtQkFBZixDQUFxQyxJQUFJLEdBQUosQ0FBUSxFQUFSLENBQXJDO0FBRG9COztBQUd0QixVQUFBLEdBQWEsUUFBQSxDQUFFLEVBQUYsRUFBTSxFQUFOLENBQUE7U0FDWCxDQUFFLElBQUksR0FBSixDQUFRLEVBQVIsQ0FBRixDQUFjLENBQUMsVUFBZixDQUE0QixJQUFJLEdBQUosQ0FBUSxFQUFSLENBQTVCO0FBRFc7O0FBR2IsTUFBQSxHQUFTLFFBQUEsQ0FBRSxFQUFGLENBQUE7U0FBVSxJQUFJLEdBQUosQ0FBUSxFQUFSO0FBQVY7O0FBRVQsVUFBQSxHQUFhLFFBQUEsQ0FBRSxFQUFGLENBQUE7QUFDYixNQUFBLENBQUEsRUFBQSxFQUFBLEVBQUE7RUFBRSxFQUFBLEdBQUssSUFBSSxHQUFKLENBQUEsRUFBUDtFQUNFLEVBQUEsR0FBSyxJQUFJLEdBQUosQ0FBQSxFQURQO0VBRUUsS0FBQSxPQUFBO0lBQ0UsSUFBRyxFQUFFLENBQUMsR0FBSCxDQUFPLENBQVAsQ0FBSDtNQUFpQixFQUFFLENBQUMsR0FBSCxDQUFPLENBQVAsRUFBakI7S0FBQSxNQUFBO01BQStCLEVBQUUsQ0FBQyxHQUFILENBQU8sQ0FBUCxFQUEvQjs7RUFERjtTQUVBO0FBTFc7O0FBT2IsT0FBQTtFQUNFLEtBREY7RUFFRSxZQUZGO0VBR0UsbUJBSEY7RUFJRSxVQUpGO0VBS0UsTUFMRjtFQU1FLFVBTkYiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2N1cnJ5fSBmcm9tIFwiLi9mdW5jdGlvblwiXG5cbnVuaW9uID0gKCBheCwgYnggKSAtPlxuICAoIG5ldyBTZXQgYXggKS51bmlvbiAoIG5ldyBTZXQgYnggKVxuXG5pbnRlcnNlY3Rpb24gPSBjdXJyeSAoIGF4LCBieCApIC0+XG4gICggbmV3IFNldCBheCApLmludGVyc2VjdGlvbiAoIG5ldyBTZXQgYnggKVxuXG5zeW1tZXRyaWNEaWZmZXJlbmNlID0gKCBheCwgYnggKSAtPiAgXG4gICggbmV3IFNldCBheCApLnN5bW1ldHJpY0RpZmZlcmVuY2UgKCBuZXcgU2V0IGJ4IClcblxuZGlmZmVyZW5jZSA9ICggYXgsIGJ4ICkgLT5cbiAgKCBuZXcgU2V0IGF4ICkuZGlmZmVyZW5jZSAoIG5ldyBTZXQgYnggKVxuXG51bmlxdWUgPSAoIGF4ICkgLT4gbmV3IFNldCBheFxuXG5kdXBsaWNhdGVzID0gKCBheCApIC0+XG4gIGJ4ID0gbmV3IFNldCAjIGl0ZW1zIHdlJ3ZlIHNlZW4gYXQgbGVhc3Qgb25jZVxuICBjeCA9IG5ldyBTZXQgIyBpdGVtcyB3ZSd2ZSBzZWVuIGF0IGxlYXN0IHR3aWNlXG4gIGZvciBhIGZyb20gYXhcbiAgICBpZiBieC5oYXMgYSB0aGVuIGN4LmFkZCBhIGVsc2UgYnguYWRkIGFcbiAgY3hcblxuZXhwb3J0IHtcbiAgdW5pb25cbiAgaW50ZXJzZWN0aW9uXG4gIHN5bW1ldHJpY0RpZmZlcmVuY2VcbiAgZGlmZmVyZW5jZVxuICB1bmlxdWVcbiAgZHVwbGljYXRlc1xufVxuIl19
//# sourceURL=/@dashkite/joy/src/set.coffee
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyIvQGRhc2hraXRlL2pveS9zcmMvc2V0LmNvZmZlZSJdLCJzb3VyY2VSb290IjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjdXJyeX0gZnJvbSBcIi4vZnVuY3Rpb25cIlxuXG51bmlvbiA9ICggYXgsIGJ4ICkgLT5cbiAgKCBuZXcgU2V0IGF4ICkudW5pb24gKCBuZXcgU2V0IGJ4IClcblxuaW50ZXJzZWN0aW9uID0gY3VycnkgKCBheCwgYnggKSAtPlxuICAoIG5ldyBTZXQgYXggKS5pbnRlcnNlY3Rpb24gKCBuZXcgU2V0IGJ4IClcblxuc3ltbWV0cmljRGlmZmVyZW5jZSA9ICggYXgsIGJ4ICkgLT4gIFxuICAoIG5ldyBTZXQgYXggKS5zeW1tZXRyaWNEaWZmZXJlbmNlICggbmV3IFNldCBieCApXG5cbmRpZmZlcmVuY2UgPSAoIGF4LCBieCApIC0+XG4gICggbmV3IFNldCBheCApLmRpZmZlcmVuY2UgKCBuZXcgU2V0IGJ4IClcblxudW5pcXVlID0gKCBheCApIC0+IG5ldyBTZXQgYXhcblxuZHVwbGljYXRlcyA9ICggYXggKSAtPlxuICBieCA9IG5ldyBTZXQgIyBpdGVtcyB3ZSd2ZSBzZWVuIGF0IGxlYXN0IG9uY2VcbiAgY3ggPSBuZXcgU2V0ICMgaXRlbXMgd2UndmUgc2VlbiBhdCBsZWFzdCB0d2ljZVxuICBmb3IgYSBmcm9tIGF4XG4gICAgaWYgYnguaGFzIGEgdGhlbiBjeC5hZGQgYSBlbHNlIGJ4LmFkZCBhXG4gIGN4XG5cbmV4cG9ydCB7XG4gIHVuaW9uXG4gIGludGVyc2VjdGlvblxuICBzeW1tZXRyaWNEaWZmZXJlbmNlXG4gIGRpZmZlcmVuY2VcbiAgdW5pcXVlXG4gIGR1cGxpY2F0ZXNcbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztRQTJCRSxVQUpGOzs7O2VBTUUsVUFORjs7O2VBRUUsWUFGRjs7O2VBR0UsbUJBSEY7OztlQUNFLEtBREY7OztlQUtFLE1BTEY7OzswQkF2QkE7QUFBQSxJQUFBLFVBQUEsRUFBQSxVQUFBLEVBQUEsWUFBQSxFQUFBLG1CQUFBLEVBQUEsS0FBQSxFQUFBO0FBRUEsS0FBQSxHQUFRLFFBQUEsQ0FBRSxFQUFGLEVBQU0sRUFBTixDQUFBO1dBQ04sQUFBRSxJQUFJLEdBQUosQ0FBUSxFQUFSLENBQUYsQ0FBYyxBQUFDLEtBQWYsQ0FBdUIsSUFBSSxHQUFKLENBQVEsRUFBUixDQUF2QjtBQURNO0FBR1IsWUFBQSxPQUFlLGVBQUEsRUFBTSxRQUFBLENBQUUsRUFBRixFQUFNLEVBQU4sQ0FBQTtXQUNuQixBQUFFLElBQUksR0FBSixDQUFRLEVBQVIsQ0FBRixDQUFjLEFBQUMsWUFBZixDQUE4QixJQUFJLEdBQUosQ0FBUSxFQUFSLENBQTlCO0FBRG1CLENBQU47QUFHZixtQkFBQSxHQUFzQixRQUFBLENBQUUsRUFBRixFQUFNLEVBQU4sQ0FBQTtXQUNsQixBQUFGLElBQU0sR0FBSixDQUFRLEVBQVIsQ0FBRixDQUFjLEFBQUMsbUJBQWYsQ0FBcUMsSUFBSSxHQUFKLENBQVEsRUFBUixDQUFyQztBQURvQjtBQUd0QixVQUFBLEdBQWEsUUFBQSxDQUFFLEVBQUYsRUFBTSxFQUFOLENBQUE7V0FDWCxBQUFFLElBQUksR0FBSixDQUFRLEVBQVIsQ0FBRixDQUFjLEFBQUMsVUFBZixDQUE0QixJQUFJLEdBQUosQ0FBUSxFQUFSLENBQTVCO0FBRFc7QUFHYixNQUFBLEdBQVMsUUFBQSxDQUFFLEVBQUYsQ0FBQTtXQUFVLElBQUksR0FBSixDQUFRLEVBQVI7QUFBVjtBQUVULFVBQUEsR0FBYSxRQUFBLENBQUUsRUFBRixDQUFBO0lBQ2IsSUFBQSxDQUFBLEVBQUEsRUFBQSxFQUFBO0lBQUUsRUFBQSxHQUFLLElBQUksR0FBSixDQUFBLEVBQVAsQ0FBQSxpQ0FBQTtJQUNFLEVBQUEsR0FBSyxJQUFJLEdBQUosQ0FBQSxFQURQLENBQUEsa0NBQUE7SUFFRSxLQUFBLEtBQUEsRUFBQSxDQUFBO1FBQ0UsSUFBRyxFQUFFLENBQUMsR0FBSCxDQUFPLENBQVAsQ0FBSCxFQUFBO1lBQWlCLEVBQUUsQ0FBQyxHQUFILENBQU8sQ0FBUCxFQUFqQjtTQUFBLE1BQUE7WUFBK0IsRUFBRSxDQUFDLEdBQUgsQ0FBTyxDQUFQLEVBQS9COztJQURGO1dBRUE7QUFMVyJ9