"use strict";Object.defineProperty(exports, "__esModule", {value: true});


var _chunkOTKMOSH2js = require('./chunk-OTKMOSH2.js');


var _chunk6C3VEZWHjs = require('./chunk-6C3VEZWH.js');

// src/Witherable.ts
var Witherable_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, Witherable_exports, {
  filterE: () => filterE,
  wiltDefault: () => wiltDefault,
  witherDefault: () => witherDefault
});
function wiltDefault(T, C) {
  return (F) => {
    const traverseF = T.traverse(F);
    return (wa, f) => F.map(traverseF(wa, f), C.separate);
  };
}
function witherDefault(T, C) {
  return (F) => {
    const traverseF = T.traverse(F);
    return (wa, f) => F.map(traverseF(wa, f), C.compact);
  };
}
function filterE(W) {
  return (F) => {
    const witherF = W.wither(F);
    return (predicate) => (ga) => witherF(ga, (a) => F.map(predicate(a), (b) => b ? _chunkOTKMOSH2js.some.call(void 0, a) : _chunkOTKMOSH2js.none));
  };
}






exports.wiltDefault = wiltDefault; exports.witherDefault = witherDefault; exports.filterE = filterE; exports.Witherable_exports = Witherable_exports;
