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

var _chunk7K74W2G3js = require('./chunk-7K74W2G3.js');




var _chunkSQA7G4TEjs = require('./chunk-SQA7G4TE.js');


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

// src/Const.ts
var Const_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, Const_exports, {
  Bifunctor: () => Bifunctor,
  Contravariant: () => Contravariant,
  Functor: () => Functor,
  URI: () => URI,
  bimap: () => bimap,
  const_: () => const_,
  contramap: () => contramap,
  flap: () => flap2,
  getApplicative: () => getApplicative,
  getApply: () => getApply,
  getBooleanAlgebra: () => getBooleanAlgebra,
  getBounded: () => getBounded,
  getEq: () => getEq,
  getHeytingAlgebra: () => getHeytingAlgebra,
  getMonoid: () => getMonoid,
  getOrd: () => getOrd,
  getRing: () => getRing,
  getSemigroup: () => getSemigroup,
  getSemiring: () => getSemiring,
  getShow: () => getShow,
  make: () => make,
  map: () => map,
  mapLeft: () => mapLeft
});
var make = _chunkSQA7G4TEjs.unsafeCoerce;
function getShow(S) {
  return {
    show: (c) => `make(${S.show(c)})`
  };
}
var getEq = _chunkSQA7G4TEjs.identity;
var getOrd = _chunkSQA7G4TEjs.identity;
var getBounded = _chunkSQA7G4TEjs.identity;
var getSemigroup = _chunkSQA7G4TEjs.identity;
var getMonoid = _chunkSQA7G4TEjs.identity;
var getSemiring = _chunkSQA7G4TEjs.identity;
var getRing = _chunkSQA7G4TEjs.identity;
var getHeytingAlgebra = _chunkSQA7G4TEjs.identity;
var getBooleanAlgebra = _chunkSQA7G4TEjs.identity;
function getApply(S) {
  return {
    URI,
    _E: void 0,
    map: _map,
    ap: (fab, fa) => make(S.concat(fab, fa))
  };
}
function getApplicative(M) {
  const A = getApply(M);
  return {
    URI,
    _E: void 0,
    map: A.map,
    ap: A.ap,
    of: () => make(M.empty)
  };
}
var _contramap = (fa, f) => _chunkSQA7G4TEjs.pipe.call(void 0, fa, contramap(f));
var _map = (fa, f) => _chunkSQA7G4TEjs.pipe.call(void 0, fa, map(f));
var _bimap = (fa, f, g) => _chunkSQA7G4TEjs.pipe.call(void 0, fa, bimap(f, g));
var _mapLeft = (fa, f) => _chunkSQA7G4TEjs.pipe.call(void 0, fa, mapLeft(f));
var contramap = () => _chunkSQA7G4TEjs.unsafeCoerce;
var map = () => _chunkSQA7G4TEjs.unsafeCoerce;
var bimap = (f) => (fa) => make(f(fa));
var mapLeft = (f) => (fa) => make(f(fa));
var URI = "Const";
var Functor = {
  URI,
  map: _map
};
var flap2 = /* @__PURE__ */ _chunk7K74W2G3js.flap.call(void 0, Functor);
var Contravariant = {
  URI,
  contramap: _contramap
};
var Bifunctor = {
  URI,
  bimap: _bimap,
  mapLeft: _mapLeft
};
var const_ = {
  URI,
  map: _map,
  contramap: _contramap,
  bimap: _bimap,
  mapLeft: _mapLeft
};


























exports.make = make; exports.getShow = getShow; exports.getEq = getEq; exports.getOrd = getOrd; exports.getBounded = getBounded; exports.getSemigroup = getSemigroup; exports.getMonoid = getMonoid; exports.getSemiring = getSemiring; exports.getRing = getRing; exports.getHeytingAlgebra = getHeytingAlgebra; exports.getBooleanAlgebra = getBooleanAlgebra; exports.getApply = getApply; exports.getApplicative = getApplicative; exports.contramap = contramap; exports.map = map; exports.bimap = bimap; exports.mapLeft = mapLeft; exports.URI = URI; exports.Functor = Functor; exports.flap = flap2; exports.Contravariant = Contravariant; exports.Bifunctor = Bifunctor; exports.const_ = const_; exports.Const_exports = Const_exports;
