import {
  __export
} from "./chunk-QK4PKNB3.mjs";

// src/Ordering.ts
var Ordering_exports = {};
__export(Ordering_exports, {
  Eq: () => Eq,
  Monoid: () => Monoid,
  Semigroup: () => Semigroup,
  eqOrdering: () => eqOrdering,
  invert: () => invert,
  match: () => match,
  matchW: () => matchW,
  monoidOrdering: () => monoidOrdering,
  reverse: () => reverse,
  semigroupOrdering: () => semigroupOrdering,
  sign: () => sign
});
var matchW = (onLessThan, onEqual, onGreaterThan) => (o) => o === -1 ? onLessThan() : o === 0 ? onEqual() : onGreaterThan();
var match = matchW;
var reverse = (o) => o === -1 ? 1 : o === 1 ? -1 : 0;
var Eq = {
  equals: (x, y) => x === y
};
var Semigroup = {
  concat: (x, y) => x !== 0 ? x : y
};
var Monoid = {
  concat: Semigroup.concat,
  empty: 0
};
var sign = (n) => n <= -1 ? -1 : n >= 1 ? 1 : 0;
var invert = reverse;
var semigroupOrdering = Semigroup;
var eqOrdering = Eq;
var monoidOrdering = Monoid;

export {
  matchW,
  match,
  reverse,
  Eq,
  Semigroup,
  Monoid,
  sign,
  invert,
  semigroupOrdering,
  eqOrdering,
  monoidOrdering,
  Ordering_exports
};
