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

var _chunk67GC34HGjs = require('./chunk-67GC34HG.js');


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

// src/string.ts
var string_exports = {};
_chunk6C3VEZWHjs.__export.call(void 0, string_exports, {
  Eq: () => Eq,
  Monoid: () => Monoid,
  Ord: () => Ord,
  Semigroup: () => Semigroup,
  Show: () => Show,
  empty: () => empty,
  endsWith: () => endsWith,
  includes: () => includes,
  isEmpty: () => isEmpty,
  isString: () => isString,
  replace: () => replace,
  size: () => size,
  slice: () => slice,
  split: () => split,
  startsWith: () => startsWith,
  toLowerCase: () => toLowerCase,
  toUpperCase: () => toUpperCase,
  trim: () => trim,
  trimLeft: () => trimLeft,
  trimRight: () => trimRight
});
var Eq = {
  equals: (first, second) => first === second
};
var Semigroup = {
  concat: (first, second) => first + second
};
var empty = "";
var Monoid = {
  concat: Semigroup.concat,
  empty
};
var Ord = {
  equals: Eq.equals,
  compare: (first, second) => first < second ? -1 : first > second ? 1 : 0
};
var Show = {
  show: (s) => JSON.stringify(s)
};
var isString = (u) => typeof u === "string";
var toUpperCase = (s) => s.toUpperCase();
var toLowerCase = (s) => s.toLowerCase();
var replace = (searchValue, replaceValue) => (s) => s.replace(searchValue, replaceValue);
var trim = (s) => s.trim();
var trimLeft = (s) => s.trimLeft();
var trimRight = (s) => s.trimRight();
var slice = (start, end) => (s) => s.slice(start, end);
var isEmpty = (s) => s.length === 0;
var size = (s) => s.length;
var split = (separator) => (s) => {
  const out = s.split(separator);
  return _chunk67GC34HGjs.isNonEmpty.call(void 0, out) ? out : [s];
};
var includes = (searchString, position) => (s) => s.includes(searchString, position);
var startsWith = (searchString, position) => (s) => s.startsWith(searchString, position);
var endsWith = (searchString, position) => (s) => s.endsWith(searchString, position);























exports.Eq = Eq; exports.Semigroup = Semigroup; exports.empty = empty; exports.Monoid = Monoid; exports.Ord = Ord; exports.Show = Show; exports.isString = isString; exports.toUpperCase = toUpperCase; exports.toLowerCase = toLowerCase; exports.replace = replace; exports.trim = trim; exports.trimLeft = trimLeft; exports.trimRight = trimRight; exports.slice = slice; exports.isEmpty = isEmpty; exports.size = size; exports.split = split; exports.includes = includes; exports.startsWith = startsWith; exports.endsWith = endsWith; exports.string_exports = string_exports;
