import {
  ArrayExt,
  BooleanExt,
  DateExt,
  FunctionExt,
  MapExt,
  NumberExt,
  ObjectExt,
  PromiseExt,
  SetExt,
  StringExt,
  absurd,
  addDays,
  addHours,
  addMilliseconds,
  addMinutes,
  addMonths,
  addSeconds,
  addWeeks,
  addYears,
  after,
  allFulfilled,
  before,
  camelCase,
  capitalize,
  ceilTo,
  chunk,
  clamp,
  clampDate,
  compact,
  complement,
  constant,
  converge,
  createDeferred,
  curry2,
  curry3,
  dayOfYear,
  daysInMonth,
  daysInYear,
  debounce,
  deepMerge,
  defaults,
  delay,
  diffInDays,
  diffInHours,
  diffInMilliseconds,
  diffInMinutes,
  diffInMonths,
  diffInSeconds,
  diffInWeeks,
  diffInYears,
  digitSum,
  digits,
  divisors,
  downTo,
  dropWhile,
  eachDay,
  endOfDay,
  endOfMonth,
  endOfYear,
  factorial,
  fallbackTo,
  fibonacci,
  filterConcurrent,
  filterMapKeys,
  filterMapValues,
  flatten,
  flip,
  floorTo,
  formatDate,
  formatDateTime,
  formatISO,
  formatRelative,
  formatTime,
  gcd,
  groupBy,
  identity,
  intersperse,
  inverseLerp,
  invert,
  isAfter,
  isBefore,
  isBetween,
  isBetweenDates,
  isBlank,
  isEven,
  isFiniteNum,
  isInteger,
  isLeapYear,
  isMultipleOf,
  isNaN_,
  isNegative,
  isOdd,
  isPerfectSquare,
  isPositive,
  isPowerOfTwo,
  isPrime,
  isSameDay,
  isSameMonth,
  isSameYear,
  isToday,
  isTomorrow,
  isWeekday,
  isWeekend,
  isYesterday,
  isZero,
  isqrt,
  juxt,
  kebabCase,
  lazy,
  lcm,
  lerp,
  mapConcurrent,
  mapKeys,
  mapValues,
  maxDate,
  memo,
  memoize,
  memoizeWeak,
  minDate,
  nCr,
  nPr,
  negate,
  noop,
  omit,
  on,
  once,
  padStart,
  partial,
  partial2,
  partition,
  pascalCase,
  pick,
  props,
  quarter,
  randomFloat,
  randomInt,
  rangeTo,
  rangeUntil,
  recover,
  remap,
  retry,
  roundTo,
  saturatingAdd,
  saturatingSub,
  setDifference,
  setIntersection,
  setUnion,
  settle,
  shuffle,
  sleep,
  snakeCase,
  snap,
  sortBy,
  startOfDay,
  startOfMonth,
  startOfWeek,
  startOfYear,
  takeWhile,
  tap,
  tapError,
  throttle,
  timeout,
  timeoutOr,
  times,
  timesVoid,
  toBase,
  toBin,
  toCompact,
  toDuration,
  toFileSize,
  toHex,
  toInt,
  toInt2,
  toMap,
  toMap2,
  toOct,
  toOrdinal,
  toPercent,
  toRoman,
  toWords,
  truncTo,
  truncate,
  tryCatch,
  tupled,
  tupled3,
  uncurry2,
  uncurry3,
  unique,
  uniqueBy,
  untupled,
  upTo,
  weekOfYear,
  words,
  wrappingAdd,
  wrappingSub,
  zip,
  zipWith
} from "./chunk-4ILFFER5.js";
import {
  RangeExt,
  TupleExt,
  bimap,
  both,
  curryPair,
  eqPair,
  eqRange,
  eqTriple,
  fst,
  mapFst,
  mapSnd,
  ordPair,
  ordRange,
  ordTriple,
  pair,
  pairToArray,
  range,
  rangeBy,
  rangeContains,
  rangeFilter,
  rangeFirst,
  rangeForEach,
  rangeInclusive,
  rangeIsEmpty,
  rangeIterator,
  rangeLast,
  rangeMap,
  rangeReduce,
  rangeReversed,
  rangeSize,
  rangeToArray,
  snd,
  swap,
  triple,
  tripleFirst,
  tripleMap,
  tripleSecond,
  tripleThird,
  tripleToArray,
  uncurryPair,
  unzipPairs,
  zipToPairs
} from "./chunk-5PGNJFUU.js";
import {
  EQ_ORD,
  GT,
  LT,
  bigIntToNumber,
  booleanToNumber,
  boundedBigInt,
  boundedBoolean,
  boundedNumber,
  boundedString,
  clampWith,
  copyableArray,
  copyableBigInt,
  copyableBoolean,
  copyableDate,
  copyableMap,
  copyableNumber,
  copyableSet,
  copyableString,
  dateToNumber,
  defaultArray,
  defaultBigInt,
  defaultBoolean,
  defaultDate,
  defaultMap,
  defaultNumber,
  defaultSet,
  defaultString,
  enumBoolean,
  enumNumber,
  enumString,
  eqArray,
  eqBigInt,
  eqBoolean,
  eqBy,
  eqDate,
  eqNumber,
  eqStrict,
  eqString,
  floatingNumber,
  fractionalNumber,
  fromInt,
  fromInteger,
  gcdWith,
  getParCombine,
  getParCombineBuilder,
  groupBigInt,
  groupNumber,
  integralBigInt,
  integralNumber,
  inverseLerpWith,
  lcmWith,
  lerpWith,
  makeEq,
  makeOrd,
  max,
  maxBy,
  min,
  minBy,
  monoidArray,
  monoidBigInt,
  monoidNumber,
  monoidString,
  numberToBigInt,
  numberToBoolean,
  numberToDate,
  numberToString,
  numericBigInt,
  numericNumber,
  ordArray,
  ordBigInt,
  ordBoolean,
  ordBy,
  ordDate,
  ordNumber,
  ordString,
  parCombineArray,
  parCombineAsyncIterable,
  parCombineIterable,
  parCombinePromise,
  parseableBigInt,
  parseableBoolean,
  parseableNumber,
  pow,
  powFrac,
  printableBoolean,
  printableDate,
  printableNumber,
  printableString,
  product,
  registerParCombine,
  reverseOrd,
  semigroupArray,
  semigroupBigInt,
  semigroupNumber,
  semigroupString,
  sizedArray,
  sizedMap,
  sizedSet,
  sizedString,
  stringToBoolean,
  stringToNumber,
  sum
} from "./chunk-FCKUZQOW.js";
import {
  flatMapArray,
  flatMapAsyncIterable,
  flatMapIterable,
  flatMapPromise,
  getFlatMap,
  hasFlatMap,
  registerFlatMap
} from "./chunk-4LPO3PYW.js";
import {
  P,
  isType,
  letYieldMacro,
  match,
  matchGuard,
  matchGuardMacro,
  matchLiteral,
  matchLiteralMacro,
  matchMacro,
  otherwise,
  parYieldMacro,
  registerLetYield,
  registerParYield,
  registerStdInstances,
  registerStdInstancesMacro,
  when
} from "./chunk-7M4W4PN2.js";
import {
  collectReferencedIdentifiers,
  createArrowFn,
  createIIFE,
  createMethodCall,
  extractReturnExpr,
  inferTypeConstructor
} from "./chunk-RZHX2YRY.js";
import "./chunk-4QIJY5PM.js";

// src/specialize/index.ts
var stdFlatMapArray = flatMapArray;
var stdFlatMapPromise = flatMapPromise;
var stdFlatMapIterable = flatMapIterable;
var stdFlatMapAsyncIterable = flatMapAsyncIterable;
function arrayMap(fa, f) {
  return flatMapArray.map(fa, f);
}
function arrayFlatMap(fa, f) {
  return flatMapArray.flatMap(fa, f);
}
function promiseMap(fa, f) {
  return fa.then(f);
}
function promiseFlatMap(fa, f) {
  return fa.then(f);
}
function* iterableMap(fa, f) {
  for (const a of fa) {
    yield f(a);
  }
}
function* iterableFlatMap(fa, f) {
  for (const a of fa) {
    yield* f(a);
  }
}
async function* asyncIterableMap(fa, f) {
  for await (const a of fa) {
    yield f(a);
  }
}
async function* asyncIterableFlatMap(fa, f) {
  for await (const a of fa) {
    yield* f(a);
  }
}
export {
  ArrayExt,
  BooleanExt,
  DateExt,
  EQ_ORD,
  FunctionExt,
  GT,
  LT,
  MapExt,
  NumberExt,
  ObjectExt,
  P,
  PromiseExt,
  RangeExt,
  SetExt,
  StringExt,
  TupleExt,
  absurd,
  addDays,
  addHours,
  addMilliseconds,
  addMinutes,
  addMonths,
  addSeconds,
  addWeeks,
  addYears,
  after,
  allFulfilled,
  arrayFlatMap,
  groupBy as arrayGroupBy,
  arrayMap,
  toMap as arrayToMap,
  asyncIterableFlatMap,
  asyncIterableMap,
  before,
  bigIntToNumber,
  bimap,
  toInt2 as boolToInt,
  booleanToNumber,
  both,
  boundedBigInt,
  boundedBoolean,
  boundedNumber,
  boundedString,
  camelCase,
  capitalize,
  ceilTo,
  chunk,
  clamp,
  clampDate,
  clampWith,
  collectReferencedIdentifiers,
  compact,
  complement,
  constant,
  converge,
  copyableArray,
  copyableBigInt,
  copyableBoolean,
  copyableDate,
  copyableMap,
  copyableNumber,
  copyableSet,
  copyableString,
  createArrowFn,
  createDeferred,
  createIIFE,
  createMethodCall,
  curry2,
  curry3,
  curryPair,
  dateToNumber,
  dayOfYear,
  daysInMonth,
  daysInYear,
  debounce,
  deepMerge,
  defaultArray,
  defaultBigInt,
  defaultBoolean,
  defaultDate,
  defaultMap,
  defaultNumber,
  defaultSet,
  defaultString,
  defaults,
  delay,
  diffInDays,
  diffInHours,
  diffInMilliseconds,
  diffInMinutes,
  diffInMonths,
  diffInSeconds,
  diffInWeeks,
  diffInYears,
  digitSum,
  digits,
  divisors,
  downTo,
  dropWhile,
  eachDay,
  endOfDay,
  endOfMonth,
  endOfYear,
  enumBoolean,
  enumNumber,
  enumString,
  eqArray,
  eqBigInt,
  eqBoolean,
  eqBy,
  eqDate,
  eqNumber,
  eqPair,
  eqRange,
  eqStrict,
  eqString,
  eqTriple,
  extractReturnExpr,
  factorial,
  fallbackTo,
  fibonacci,
  filterConcurrent,
  filterMapKeys,
  filterMapValues,
  flatMapArray,
  flatMapAsyncIterable,
  flatMapIterable,
  flatMapPromise,
  flatten,
  flip,
  floatingNumber,
  floorTo,
  formatDate,
  formatDateTime,
  formatISO,
  formatRelative,
  formatTime,
  fractionalNumber,
  fromInt,
  fromInteger,
  fst,
  gcd,
  gcdWith,
  getFlatMap,
  getParCombine,
  getParCombineBuilder,
  groupBigInt,
  groupNumber,
  hasFlatMap,
  identity,
  inferTypeConstructor,
  integralBigInt,
  integralNumber,
  intersperse,
  inverseLerp,
  inverseLerpWith,
  invert,
  isAfter,
  isBefore,
  isBetween,
  isBetweenDates,
  isBlank,
  isEven,
  isFiniteNum,
  isInteger,
  isLeapYear,
  isMultipleOf,
  isNaN_,
  isNegative,
  isOdd,
  isPerfectSquare,
  isPositive,
  isPowerOfTwo,
  isPrime,
  isSameDay,
  isSameMonth,
  isSameYear,
  isToday,
  isTomorrow,
  isType,
  isWeekday,
  isWeekend,
  isYesterday,
  isZero,
  isqrt,
  iterableFlatMap,
  iterableMap,
  juxt,
  kebabCase,
  lazy,
  lcm,
  lcmWith,
  lerp,
  lerpWith,
  letYieldMacro,
  makeEq,
  makeOrd,
  mapConcurrent,
  mapFst,
  mapKeys,
  mapSnd,
  mapValues,
  match,
  matchGuard,
  matchGuardMacro,
  matchLiteral,
  matchLiteralMacro,
  matchMacro,
  max,
  maxBy,
  maxDate,
  memo,
  memoize,
  memoizeWeak,
  min,
  minBy,
  minDate,
  monoidArray,
  monoidBigInt,
  monoidNumber,
  monoidString,
  nCr,
  nPr,
  negate,
  noop,
  numberToBigInt,
  numberToBoolean,
  numberToDate,
  numberToString,
  numericBigInt,
  numericNumber,
  toMap2 as objectToMap,
  omit,
  on,
  once,
  ordArray,
  ordBigInt,
  ordBoolean,
  ordBy,
  ordDate,
  ordNumber,
  ordPair,
  ordRange,
  ordString,
  ordTriple,
  otherwise,
  padStart,
  pair,
  pairToArray,
  parCombineArray,
  parCombineAsyncIterable,
  parCombineIterable,
  parCombinePromise,
  parYieldMacro,
  toInt as parseIntSafe,
  parseableBigInt,
  parseableBoolean,
  parseableNumber,
  partial,
  partial2,
  partition,
  pascalCase,
  pick,
  pow,
  powFrac,
  printableBoolean,
  printableDate,
  printableNumber,
  printableString,
  product,
  promiseFlatMap,
  promiseMap,
  props,
  quarter,
  randomFloat,
  randomInt,
  range,
  rangeBy,
  rangeContains,
  rangeFilter,
  rangeFirst,
  rangeForEach,
  rangeInclusive,
  rangeIsEmpty,
  rangeIterator,
  rangeLast,
  rangeMap,
  rangeReduce,
  rangeReversed,
  rangeSize,
  rangeTo,
  rangeToArray,
  rangeUntil,
  recover,
  registerFlatMap,
  registerLetYield,
  registerParCombine,
  registerParYield,
  registerStdInstances,
  registerStdInstancesMacro,
  remap,
  retry,
  reverseOrd,
  roundTo,
  saturatingAdd,
  saturatingSub,
  semigroupArray,
  semigroupBigInt,
  semigroupNumber,
  semigroupString,
  setDifference,
  setIntersection,
  setUnion,
  settle,
  shuffle,
  sizedArray,
  sizedMap,
  sizedSet,
  sizedString,
  sleep,
  snakeCase,
  snap,
  snd,
  sortBy,
  startOfDay,
  startOfMonth,
  startOfWeek,
  startOfYear,
  stdFlatMapArray,
  stdFlatMapAsyncIterable,
  stdFlatMapIterable,
  stdFlatMapPromise,
  stringToBoolean,
  stringToNumber,
  sum,
  swap,
  takeWhile,
  tap,
  tapError,
  throttle,
  timeout,
  timeoutOr,
  times,
  timesVoid,
  toBase,
  toBin,
  toCompact,
  toDuration,
  toFileSize,
  toHex,
  toOct,
  toOrdinal,
  toPercent,
  toRoman,
  toWords,
  triple,
  tripleFirst,
  tripleMap,
  tripleSecond,
  tripleThird,
  tripleToArray,
  truncTo,
  truncate,
  tryCatch,
  tupled,
  tupled3,
  uncurry2,
  uncurry3,
  uncurryPair,
  unique,
  uniqueBy,
  untupled,
  unzipPairs,
  upTo,
  weekOfYear,
  when,
  words,
  wrappingAdd,
  wrappingSub,
  zip,
  zipToPairs,
  zipWith
};
//# sourceMappingURL=index.js.map