fast-check
Version:
Property based testing framework for JavaScript (like QuickCheck)
20 lines (19 loc) • 776 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.map = map;
const tuple_1 = require("./tuple");
const uniqueArray_1 = require("./uniqueArray");
const ArrayToMap_1 = require("./_internals/mappers/ArrayToMap");
function mapKeyExtractor(entry) {
return entry[0];
}
/**@__NO_SIDE_EFFECTS__*/function map(keyArb, valueArb, constraints = {}) {
return (0, uniqueArray_1.uniqueArray)((0, tuple_1.tuple)(keyArb, valueArb), {
minLength: constraints.minKeys,
maxLength: constraints.maxKeys,
size: constraints.size,
selector: mapKeyExtractor,
depthIdentifier: constraints.depthIdentifier,
comparator: 'SameValueZero',
}).map(ArrayToMap_1.arrayToMapMapper, ArrayToMap_1.arrayToMapUnmapper);
}