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

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

// src/Ordering.ts
var Ordering_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, 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;














exports.matchW = matchW; exports.match = match; exports.reverse = reverse; exports.Eq = Eq; exports.Semigroup = Semigroup; exports.Monoid = Monoid; exports.sign = sign; exports.invert = invert; exports.semigroupOrdering = semigroupOrdering; exports.eqOrdering = eqOrdering; exports.monoidOrdering = monoidOrdering; exports.Ordering_exports = Ordering_exports;
