functype 1.18.0 → 1.20.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (44) hide show
  1. package/dist/cli/exports.js +1 -1
  2. package/dist/cli/index.js +1 -1
  3. package/dist/conditional/index.d.ts +1 -1
  4. package/dist/conditional/index.js +1 -1
  5. package/dist/core/task/index.d.ts +1 -1
  6. package/dist/core/task/index.js +1 -1
  7. package/dist/decoder/index.d.ts +1 -1
  8. package/dist/decoder/index.js +1 -1
  9. package/dist/do/index.d.ts +1 -1
  10. package/dist/do/index.js +1 -1
  11. package/dist/either/index.d.ts +1 -1
  12. package/dist/either/index.js +1 -1
  13. package/dist/fetch/index.d.ts +2 -2
  14. package/dist/fetch/index.js +1 -1
  15. package/dist/{full-interfaces-DGgGSNkg.js → full-interfaces-CAORzL-T.js} +25 -2
  16. package/dist/functype/index.d.ts +1 -1
  17. package/dist/{index-fXZaC5V_.d.ts → index-C5IrHYtk.d.ts} +66 -24
  18. package/dist/index.d.ts +2 -2
  19. package/dist/index.js +1 -1
  20. package/dist/io/index.d.ts +1 -1
  21. package/dist/io/index.js +1 -1
  22. package/dist/lazy/index.d.ts +1 -1
  23. package/dist/lazy/index.js +1 -1
  24. package/dist/list/index.d.ts +1 -1
  25. package/dist/list/index.js +1 -1
  26. package/dist/map/index.d.ts +1 -1
  27. package/dist/map/index.js +1 -1
  28. package/dist/obj/index.d.ts +1 -1
  29. package/dist/obj/index.js +1 -1
  30. package/dist/option/index.d.ts +1 -1
  31. package/dist/option/index.js +1 -1
  32. package/dist/serialization/index.d.ts +1 -1
  33. package/dist/serialization/index.js +1 -1
  34. package/dist/serialization-BThDTD74.js +4 -0
  35. package/dist/set/index.d.ts +1 -1
  36. package/dist/set/index.js +1 -1
  37. package/dist/src-DskkjCdD.js +17 -0
  38. package/dist/try/index.d.ts +1 -1
  39. package/dist/try/index.js +1 -1
  40. package/dist/tuple/index.js +1 -1
  41. package/dist/typeclass/index.d.ts +1 -1
  42. package/package.json +4 -3
  43. package/dist/serialization-WH9MifUy.js +0 -4
  44. package/dist/src-509UWZ5f.js +0 -17
@@ -1 +1 @@
1
- import{a as e,i as t,n,r,t as i}from"../full-interfaces-DGgGSNkg.js";export{n as CATEGORIES,i as FULL_INTERFACES,r as INTERFACES,t as TYPES,e as VERSION};
1
+ import{a as e,i as t,n,r,t as i}from"../full-interfaces-CAORzL-T.js";export{n as CATEGORIES,i as FULL_INTERFACES,r as INTERFACES,t as TYPES,e as VERSION};
package/dist/cli/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import{Mt as e,et as t,wt as n}from"../src-509UWZ5f.js";import{a as r,i,n as a,r as o,t as s}from"../full-interfaces-DGgGSNkg.js";const c=()=>{let t=n([`functype ${r} - Scala-inspired FP for TypeScript`,``]);return n(Object.entries(a)).foldLeft(t)((t,[r,a])=>{let o=t.add(r.toUpperCase());return n(a).foldLeft(o)((t,n)=>e(i[n]).fold(()=>t,e=>{let r=e.interfaces.length>0?` [${e.interfaces.join(`, `)}]`:``;return t.add(` ${n}${r}`).add(` ${e.description}`)})).add(``)}).concat(n([`Use: npx functype <Type> for details`,`Use: npx functype interfaces for interface reference`])).toArray().join(`
2
+ import{Mt as e,et as t,wt as n}from"../src-DskkjCdD.js";import{a as r,i,n as a,r as o,t as s}from"../full-interfaces-CAORzL-T.js";const c=()=>{let t=n([`functype ${r} - Scala-inspired FP for TypeScript`,``]);return n(Object.entries(a)).foldLeft(t)((t,[r,a])=>{let o=t.add(r.toUpperCase());return n(a).foldLeft(o)((t,n)=>e(i[n]).fold(()=>t,e=>{let r=e.interfaces.length>0?` [${e.interfaces.join(`, `)}]`:``;return t.add(` ${n}${r}`).add(` ${e.description}`)})).add(``)}).concat(n([`Use: npx functype <Type> for details`,`Use: npx functype interfaces for interface reference`])).toArray().join(`
3
3
  `)},l=(t,r)=>{let i=r.interfaces.length>0?` [${r.interfaces.join(`, `)}]`:``,a=n([`create`,`transform`,`extract`,`check`,`other`]),o=n([`${t}<T>${i}`,``,r.description,``]);return a.foldLeft(o)((t,i)=>e(r.methods[i]).filter(e=>e.length>0).fold(()=>t,e=>{let r=t.add(i.toUpperCase());return n(e).foldLeft(r)((e,t)=>e.add(` ${t}`)).add(``)})).toArray().join(`
4
4
  `).trimEnd()},u=()=>{let e=n([`INTERFACES`,``]);return n(Object.entries(o)).foldLeft(e)((e,[t,r])=>{let i=r.extends?` extends ${r.extends}`:``,a=e.add(`${t}<A>${i}`).add(` ${r.description}`);return n(r.methods).foldLeft(a)((e,t)=>e.add(` ${t}`)).add(``)}).toArray().join(`
5
5
  `).trimEnd()},d=e=>JSON.stringify(e,null,2),f=()=>({version:r,categories:a,types:i}),p=t=>e(i[t]).map(e=>({name:t,data:e})).or(n(Object.entries(i)).find(([e])=>e.toLowerCase()===t.toLowerCase()).map(([e,t])=>({name:e,data:t}))).orUndefined(),m=()=>Object.keys(i),h=()=>o,g=e=>{let t=n(e.slice(2));return{flags:{json:t.contains(`--json`),full:t.contains(`--full`),help:t.exists(e=>e===`--help`||e===`-h`)},args:t.filter(e=>!e.startsWith(`--`)&&e!==`-h`)}},_=t=>e(s[t]).or(n(Object.entries(s)).find(([e])=>e.toLowerCase()===t.toLowerCase()).map(([,e])=>e)),v=()=>{let e=n([`FULL INTERFACE DEFINITIONS`,`=`.repeat(60),``]);return n(Object.entries(s)).foldLeft(e)((e,[t,r])=>e.concat(n([`// ${t}`,r,``,`-`.repeat(60),``]))).toArray().join(`
@@ -1,2 +1,2 @@
1
- import { Pr as Cond, n as UntypedMatch, t as Match } from "../index-fXZaC5V_.js";
1
+ import { Fr as Cond, n as UntypedMatch, t as Match } from "../index-C5IrHYtk.js";
2
2
  export { Cond, Match, UntypedMatch };
@@ -1 +1 @@
1
- import{et as e,tt as t}from"../src-509UWZ5f.js";export{t as Cond,e as Match};
1
+ import{et as e,tt as t}from"../src-DskkjCdD.js";export{t as Cond,e as Match};
@@ -1,2 +1,2 @@
1
- import { $t as Sync, Jt as Async, Qt as Ok, Xt as CancellationTokenSource, Yt as CancellationToken, Zt as Err, an as TaskParams, cn as createCancellationTokenSource, en as TaggedThrowable, in as TaskOutcome, ln as isTaggedThrowable, nn as TaskFailure, on as TaskResult, rn as TaskMetadata, sn as TaskSuccess, tn as Task } from "../../index-fXZaC5V_.js";
1
+ import { $t as Sync, Jt as Async, Qt as Ok, Xt as CancellationTokenSource, Yt as CancellationToken, Zt as Err, an as TaskParams, cn as createCancellationTokenSource, en as TaggedThrowable, in as TaskOutcome, ln as isTaggedThrowable, nn as TaskFailure, on as TaskResult, rn as TaskMetadata, sn as TaskSuccess, tn as Task } from "../../index-C5IrHYtk.js";
2
2
  export { Async, CancellationToken, CancellationTokenSource, Err, Ok, Sync, TaggedThrowable, Task, TaskFailure, TaskMetadata, TaskOutcome, TaskParams, TaskResult, TaskSuccess, createCancellationTokenSource, isTaggedThrowable };
@@ -1 +1 @@
1
- import{J as e,K as t,X as n,Y as r,q as i}from"../../src-509UWZ5f.js";export{t as Err,i as Ok,e as Task,r as createCancellationTokenSource,n as isTaggedThrowable};
1
+ import{J as e,K as t,X as n,Y as r,q as i}from"../../src-DskkjCdD.js";export{t as Err,i as Ok,e as Task,r as createCancellationTokenSource,n as isTaggedThrowable};
@@ -1,2 +1,2 @@
1
- import { Gt as DecoderError, Kt as DecoderErrorComposite, Ut as Decoder, Wt as Encoder, qt as DecoderErrorLeaf } from "../index-fXZaC5V_.js";
1
+ import { Gt as DecoderError, Kt as DecoderErrorComposite, Ut as Decoder, Wt as Encoder, qt as DecoderErrorLeaf } from "../index-C5IrHYtk.js";
2
2
  export { Decoder, DecoderError, type DecoderErrorComposite, type DecoderErrorLeaf, type Encoder };
@@ -1 +1 @@
1
- import{H as e,U as t}from"../src-509UWZ5f.js";export{e as Decoder,t as DecoderError};
1
+ import{H as e,U as t}from"../src-DskkjCdD.js";export{e as Decoder,t as DecoderError};
@@ -1,2 +1,2 @@
1
- import { Bt as NoneError, Ft as EmptyListError, Ht as unwrap, It as FailureError, Lt as FailureErrorType, Mr as DoResult, Mt as Do, Nr as Doable, Nt as DoAsync, Pt as DoGenerator, Rt as LeftError, Vt as isDoCapable, jt as $, zt as LeftErrorType } from "../index-fXZaC5V_.js";
1
+ import { Bt as NoneError, Ft as EmptyListError, Ht as unwrap, It as FailureError, Lt as FailureErrorType, Mt as Do, Nr as DoResult, Nt as DoAsync, Pr as Doable, Pt as DoGenerator, Rt as LeftError, Vt as isDoCapable, jt as $, zt as LeftErrorType } from "../index-C5IrHYtk.js";
2
2
  export { $, Do, DoAsync, DoGenerator, type DoResult, type Doable, EmptyListError, FailureError, FailureErrorType, LeftError, LeftErrorType, NoneError, isDoCapable, unwrap };
package/dist/do/index.js CHANGED
@@ -1 +1 @@
1
- import{B as e,F as t,I as n,L as r,N as i,P as a,R as o,V as s,z as c}from"../src-509UWZ5f.js";export{i as $,a as Do,t as DoAsync,n as EmptyListError,r as FailureError,o as LeftError,c as NoneError,e as isDoCapable,s as unwrap};
1
+ import{B as e,F as t,I as n,L as r,N as i,P as a,R as o,V as s,z as c}from"../src-DskkjCdD.js";export{i as $,a as Do,t as DoAsync,n as EmptyListError,r as FailureError,o as LeftError,c as NoneError,e as isDoCapable,s as unwrap};
@@ -1,2 +1,2 @@
1
- import { ar as EitherBase, cr as Right, dr as TypeCheckLeft, fr as TypeCheckRight, gr as tryCatchAsync, hr as tryCatch, ir as Either, lr as RightOf, mr as isRight, or as Left, pr as isLeft, sr as LeftOf, ur as TestEither } from "../index-fXZaC5V_.js";
1
+ import { _r as tryCatchAsync, ar as Either, cr as LeftOf, dr as TestEither, fr as TypeCheckLeft, gr as tryCatch, hr as isRight, lr as Right, mr as isLeft, or as EitherBase, pr as TypeCheckRight, sr as Left, ur as RightOf } from "../index-C5IrHYtk.js";
2
2
  export { Either, EitherBase, Left, LeftOf, Right, RightOf, TestEither, TypeCheckLeft, TypeCheckRight, isLeft, isRight, tryCatch, tryCatchAsync };
@@ -1 +1 @@
1
- import{Ct as e,St as t,_t as n,bt as r,gt as i,ht as a,vt as o,xt as s,yt as c}from"../src-509UWZ5f.js";export{a as Either,i as Left,n as Right,o as TypeCheckLeft,c as TypeCheckRight,r as isLeft,s as isRight,t as tryCatch,e as tryCatchAsync};
1
+ import{Ct as e,St as t,_t as n,bt as r,gt as i,ht as a,vt as o,xt as s,yt as c}from"../src-DskkjCdD.js";export{a as Either,i as Left,n as Right,o as TypeCheckLeft,c as TypeCheckRight,r as isLeft,s as isRight,t as tryCatch,e as tryCatchAsync};
@@ -1,2 +1,2 @@
1
- import { A as Http, B as HttpError, F as HttpRequestOptions, H as HttpStatusError, I as HttpRequestView, L as HttpResponse, M as HttpClientConfig, N as HttpMethodOptions, P as HttpQueryParams, R as ParseMode, U as NetworkError, V as HttpMethod, W as ResponseDecodeError, j as HttpClient, z as DecodeError } from "../index-fXZaC5V_.js";
2
- export { type DecodeError, Http, HttpClient, type HttpClientConfig, type HttpError, HttpError as HttpErrors, type HttpMethod, type HttpMethodOptions, type HttpQueryParams, type HttpRequestOptions, type HttpRequestView, type HttpResponse, type HttpStatusError, type NetworkError, type ParseMode, type ResponseDecodeError };
1
+ import { A as Http, B as HttpError, F as HttpRequestOptions, H as HttpStatusError, I as HttpRequestView, L as HttpResponse, M as HttpClientConfig, N as HttpMethodOptions, P as HttpQueryParams, R as ParseMode, U as NetworkError, V as HttpMethod, W as ResponseDecodeError, j as HttpClient, z as DecodeError } from "../index-C5IrHYtk.js";
2
+ export { type DecodeError, Http, HttpClient, type HttpClientConfig, HttpError, HttpError as HttpErrors, type HttpMethod, type HttpMethodOptions, type HttpQueryParams, type HttpRequestOptions, type HttpRequestView, type HttpResponse, type HttpStatusError, type NetworkError, type ParseMode, type ResponseDecodeError };
@@ -1 +1 @@
1
- import{d as e,f as t,p as n}from"../src-509UWZ5f.js";export{e as Http,n as HttpClient,t as HttpErrors};
1
+ import{d as e,f as t,p as n}from"../src-DskkjCdD.js";export{e as Http,n as HttpClient,t as HttpError,t as HttpErrors};
@@ -1,4 +1,4 @@
1
- var e=`1.18.0`;const t={Option:[`Applicative`,`AsyncMonad`,`Doable`,`Extractable`,`Foldable`,`Functor`,`Matchable`,`Monad`,`Promisable`,`Reshapeable`,`Serializable`,`Traversable`],Either:[`Applicative`,`AsyncMonad`,`Doable`,`Extractable`,`Foldable`,`Functor`,`Monad`,`Promisable`,`Reshapeable`,`Serializable`],Try:[`Applicative`,`AsyncMonad`,`Doable`,`Extractable`,`Foldable`,`Functor`,`Monad`,`Promisable`,`Reshapeable`,`Serializable`],List:[`Collection`,`Doable`,`Iterable`,`Reshapeable`],Set:[`Collection`,`Iterable`],Map:[`Collection`,`Foldable`,`Iterable`,`KVTraversable`,`Serializable`],Obj:[`Doable`,`Promisable`,`Reshapeable`],Lazy:[`Applicative`,`AsyncMonad`,`Extractable`,`Foldable`,`Functor`,`Monad`,`Serializable`,`Traversable`],LazyList:[`Foldable`,`Serializable`],Tuple:[`Foldable`,`Serializable`],Task:[`Applicative`,`AsyncMonad`,`Doable`,`Extractable`,`Foldable`,`Functor`,`Monad`,`Promisable`,`Serializable`,`Traversable`]},n=e,r=(e,...n)=>Array.from(/* @__PURE__ */ new Set([...t[e],...n])).sort(),i={Option:{description:`Safe nullable handling - Some<T> or None`,interfaces:r(`Option`),methods:{create:[`Option(v)`,`Option.none()`,`Some(v)`,`None()`],transform:[`.map(f)`,`.flatMap(f)`,`.filter(p)`,`.ap(ff)`],extract:[`.fold(n, s)`,`.foldAsync(n, s)`,`.orElse(d)`,`.orThrow(err | () => Error)`,`.expect(() => never)`,`.orNull()`,`.match({Some, None})`,`.toEither(left | () => left)`,`.toList()`,`.toArray()`],check:[`.isSome()`,`.isNone()`,`.isEmpty`],other:[`Option.sequence(arr)`,`Option.traverse(arr, f)`]}},Either:{description:`Error handling with Left (error) or Right (success)`,interfaces:r(`Either`,`Traversable`),methods:{create:[`Right(v)`,`Left(e)`,`Either.right(v)`,`Either.left(e)`,`Either.void()`],transform:[`.map(f)`,`.flatMap(f)`,`.mapLeft(f)`,`.swap()`],extract:[`.fold(l, r)`,`.foldAsync(l, r)`,`.orElse(d)`,`.orThrow(err | (left) => Error)`,`.expect((l) => never)`,`.match({Left, Right})`],check:[`.isRight()`,`.isLeft()`],other:[`Either.sequence(arr)`,`Either.traverse(arr, f)`,`Either.traverseAsync(items, f, {concurrency?}) // in order by default, stops at first Left`,`Either.fromNullable(v, e)`]}},Try:{description:`Wrap operations that may throw - Success<T> or Failure`,interfaces:r(`Try`,`Matchable`,`Traversable`),methods:{create:[`Try(() => expr)`,`Try.success(v)`,`Try.failure(e)`,`Try.fromPromise(p)`,`Try.async(() => Promise<T>)`],transform:[`.map(f)`,`.flatMap(f)`,`.recover(f)`,`.recoverWith(f)`],extract:[`.fold(f, s)`,`.foldAsync(f, s)`,`.orElse(d)`,`.orThrow(err | (error) => Error)`,`.expect((e) => never)`,`.toOption()`,`.toEither(left | (err) => left)`,`.toList()`,`.toArray()`],check:[`.isSuccess()`,`.isFailure()`],other:[`Try.sequence(arr)`,`Try.traverse(arr, f)`]}},List:{description:`Immutable array with functional operations`,interfaces:r(`List`,`Functor`,`Monad`,`Foldable`,`Serializable`,`Traversable`),methods:{create:[`List([...])`,`List.of(...)`,`List.empty()`],transform:[`.map(f)`,`.flatMap(f)`,`.filter(p)`,`.take(n)`,`.takeWhile(p)`,`.takeRight(n)`,`.drop(n)`,`.dropWhile(p)`,`.concat(list)`,`.reverse()`,`.distinct()`,`.sorted()`,`.sortBy(f)`,`.zip(list)`,`.zipWithIndex()`,`.prepend(v)`,`.slice(s, e)`],extract:[`.fold(z, f)`,`.reduce(f)`,`.head`,`.headOption`,`.tail`,`.last`,`.lastOption`,`.init`,`.indexOf(v)`,`.toArray()`],check:[`.isEmpty`,`.size`,`.contains(v)`],other:[`.groupBy(f)`,`.partition(p)`,`.span(p)`,`.mapAsync(f, {concurrency?}) // in order by default`,`.flatMapAsync(f, {concurrency?})`]}},Set:{description:`Immutable set of unique values`,interfaces:r(`Set`,`Functor`,`Foldable`,`Serializable`,`Traversable`),methods:{create:[`Set([...])`,`Set.of(...)`,`Set.empty()`],transform:[`.map(f)`,`.flatMap(f)`,`.filter(p)`,`.filterNot(p)`,`.add(v)`,`.remove(v)`,`.mapAsync(f, {concurrency?}) // in order by default`],extract:[`.fold(z, f)`,`.toArray()`],check:[`.has(v)`,`.isEmpty`,`.size`],other:[`import { Set } from "functype" // its own name; the built-in is globalThis.Set`]}},Obj:{description:`Immutable object wrapper with fluent operations`,interfaces:r(`Obj`,`KVTraversable`,`Foldable`,`Matchable`,`Extractable`,`Serializable`),methods:{create:[`Obj({...})`,`Obj.of({...})`,`Obj.empty()`],transform:[`.set(k, v)`,`.assign(partial)`,`.merge(obj)`,`.when(cond, partial)`,`.omit(...keys)`,`.pick(...keys)`,`.map(f)`,`.flatMap(f)`],extract:[`.get(k)`,`.value()`,`.keys()`,`.values()`,`.entries()`,`.fold(n, s)`,`.match({Obj})`],check:[`.has(k)`,`.isEmpty`,`.size`]}},Map:{description:`Immutable key-value store`,interfaces:r(`Map`),methods:{create:[`Map([[k, v], ...])`,`Map.of([k, v], ...)`,`Map.empty()`,`Map.fromJSON(json)`,`Map.fromYAML(yaml)`,`Map.fromBinary(b)`],transform:[`.add(Tuple([k, v]))`,`.remove(k)`,`.map(f)`,`.flatMap(f)`,`.ap(ff)`,`.flatMapAsync(f)`],extract:[`.get(k) // Option<V>`,`.keys() // List<K>`,`.values() // List<V>`,`.getOrElse(k, d)`,`.orElse(k, Option<V>)`,`.fold(z, f)`,`.foldLeft(z)(f)`,`.foldRight(z)(f)`,`.match({Empty, NonEmpty})`,`.toList()`,`.toSet()`,`[...map] // iterate [k, v] pairs`],check:[`.has(k) // key only`,`.contains(Tuple([k, v])) // === on the value`,`.isEmpty`,`.size`],other:[`import { Map } from "functype" // its own name; the built-in is globalThis.Map`]}},Lazy:{description:"Deferred computation with memoization. Note: `serialize()` and `toValue()` FORCE the thunk (visible side effect) since a closure cannot be JSON-serialized — there is no representable 'unevaluated post-serialize' state. Thunk failures are captured via SerializedError and rethrown on access after fromJSON.",interfaces:r(`Lazy`),methods:{create:[`Lazy(() => expr)`,`Lazy.fromValue(value) — wrap a non-deferred value`,`Lazy.evaluated(value) — reads as 'already-forced'; used by fromJSON`,`Lazy.fail(error) — Lazy that throws on access`],transform:[`.map(f)`,`.flatMap(f)`],extract:[`.fold(f)`,`.foldWith(onFailure, onSuccess)`,`.orElse(d)`,`.orNull()`,`.orThrow()`,`.toJSON()`,`Lazy.fromJSON(json)`],check:[`.isEvaluated`]}},LazyList:{description:`Lazy sequences for large/infinite data`,interfaces:r(`LazyList`,`Functor`,`Monad`,`Iterable`),methods:{create:[`LazyList(iterable)`,`LazyList.from(a, b, ...)`,`LazyList.range(start, end)`,`LazyList.iterate(seed, f)`,`LazyList.generate(f)`,`LazyList.fromJSON(json)`],transform:[`.map(f)`,`.filter(p)`,`.take(n)`,`.takeRight(n)`,`.drop(n)`,`.takeWhile(p)`,`.dropWhile(p)`,`.concat(ll)`,`.reverse()`,`.distinct()`,`.zip(ll)`,`.zipWithIndex()`],extract:[`.head`,`.headOption`,`.tail`,`.last`,`.lastOption`,`.init`,`.find(p)`,`.toArray()`,`.toJSON()`],check:[`.some(p)`,`.every(p)`,`.count()`]}},Task:{description:`Async operations with cancellation and progress tracking. Returns TaskOutcome<T> (Ok/Err) which implements Functor, AsyncMonad, Foldable, Extractable, Serializable`,interfaces:r(`Task`),methods:{create:[`Task(params).Async(fn, errFn)`,`Task(params).Sync(fn, errFn)`,`Task.ok(value)`,`Task.err(error)`,`Task.fromEither(either)`,`Task.fromTry(try)`,`Task.fromPromise(fn)`,`Task.fromNodeCallback(fn)`,`Task.fromJSON(json) — reconstruct from serialize() output`],transform:[`.map(f)`,`.flatMap(f)`,`.mapError(f)`,`.recover(v)`,`.recoverWith(f)`],extract:[`.fold(onErr, onOk)`,`.match({Ok, Err})`,`.orElse(v)`,`.orThrow()`,`.toEither()`,`.toOption()`,`.toJSON()`],other:[`Task.cancellable(fn)`,`Task.withProgress(fn, onProgress)`,`Task.race(tasks, timeout?)`,`Task.getErrorChain(error)`,`Task.formatErrorChain(error)`]}},TaskOutcome:{description:`Result of a Task execution — Ok<T> or Err<T>. Implements Functor, AsyncMonad, Foldable, Extractable, Serializable. Construct via Ok(v) / Err(e) or as the resolved value of Task(...).Sync() / Task(...).Async().`,interfaces:[`AsyncMonad`,`Extractable`,`Foldable`,`Functor`,`Serializable`],methods:{create:[`Ok(value)`,`Err(error)`,`Task.ok(value)`,`Task.err(error)`],transform:[`.map(f)`,`.flatMap(f)`,`.mapError(f)`,`.recover(v)`,`.recoverWith(f)`,`.mapAsync(f)`,`.flatMapAsync(f)`],extract:[`.fold(onErr, onOk)`,`.match({Ok, Err})`,`.orElse(v)`,`.orThrow()`,`.toEither()`,`.toOption()`,`.toJSON()`],check:[`.isOk()`,`.isErr()`,`.isSuccess()`,`.isFailure()`]}},TaskResult:{description:"Type alias for `Promise<TaskOutcome<T>>`. Returned by Task(params).Async(...) and adapter functions like Fs.readFile, Process.exec. Await it to get the inner TaskOutcome; chain Promise methods on the outside, TaskOutcome methods after the await.",interfaces:[],methods:{create:[`Task(params).Async(fn, errFn) → TaskResult<T>`,`Task.fromPromise(fn) → (...args) => TaskResult<U>`],other:[`await taskResult → TaskOutcome<T>`,`// then use any TaskOutcome method (.fold, .map, .toEither, ...)`]}},Exit:{description:`Outcome of running an IO effect — Success | Failure | Die | Interrupted, returned by .runExit(). Die carries a defect: a value that is not an E. Either has no branch for one, so .run() cannot show it.`,interfaces:[],methods:{create:[`Exit.succeed(v)`,`Exit.fail(e)`,`Exit.die(defect)`,`Exit.interrupt(fiberId)`,`Exit.interrupted()`],transform:[`.map(f)`,`.mapError(f)`,`.mapBoth(onErr, onOk)`,`.flatMap(f)`],extract:[`.fold(onFailure, onSuccess, onInterrupted?, onDie?)`,`.match({Success, Failure, Interrupted, Die?})`,`.orThrow()`,`.orElse(v)`,`.toOption()`,`.toEither()`,`.toValue()`],check:[`.isSuccess()`,`.isFailure()`,`.isDie()`,`.isInterrupted()`],other:[`Exit.zip(a, b)`,`Exit.all(exits)`,`Exit.fromEither(e)`,`Exit.fromOption(o, onNone)`,`// after a guard: .value / .error / .defect / .fiberId`,`// onDie / Die are optional and fall back to the failure handler`,`// defects stay recoverable: .recover/.recoverWith/.fold/.mapError treat Die as Failure`]}},IO:{description:`Lazy effect type with typed errors and dependency injection`,interfaces:[`Functor`,`Monad`,`Foldable`,`Matchable`],methods:{create:[`IO(() => v)`,`IO.succeed(v)`,`IO.fail(e)`,`IO.sync(f)`,`IO.async(f)`,`IO.tryPromise({try, catch})`,`IO.fromEither(e)`,`IO.fromPromiseEither(f, onReject?)`,`IO.fromOption(o)`,`IO.fromTry(t)`,`IO.die(defect)`],transform:[`.map(f)`,`.flatMap(f)`,`.tap(f)`,`.mapError(f)`,`.recover(v)`,`.recoverWith(f)`],extract:[`.run() // Either<E,A> — a defect or interruption arrives in the Left, raw`,`.runOrThrow()`,`.runSync()`,`.runSyncOrThrow()`,`.runExit() // Exit<E,A> — the only terminal that distinguishes Failure/Die/Interrupted`,`.runCancellable() // { result, cancel }`,`.runExit({ signal }) // Interrupted on abort, E unchanged`,`.runOption()`,`.runTry()`,`.fold(onErr, onOk)`,`.match({failure, success})`],check:[],other:[`.catchTag(tag, f)`,`.catchAll(f)`,`.retry(n)`,`.retryWithDelay(n, ms)`,`.retryWhile({ n, while, delayMs? })`,`.retryWithBackoff({ n, baseMs, maxMs?, factor?, jitter?, while? })`,`.repeatUntil(done, { max, delayMs? })`,`.repeatWhile(cont, { max, delayMs? })`,`.timeout(ms)`,`.interruptOn(signal) // stops at the next step once the AbortSignal fires; E gains InterruptedError`,`IO.async((signal?) => fetch(url, { signal })) // thunk gets the run's AbortSignal inside a region`,`.delay(ms)`,`.zip(io)`,`.pipe(f)`,`IO.all([...], { concurrency? }) // in order by default; first failure interrupts the rest`,`IO.forEach(items, f, { concurrency? })`,`IO.race([...])`,`IO.iterate(seed, step, done, { max? })`,`IO.bracket(acquire, use, release)`,`IO.gen(function*() {...})`,`IO.Do.bind().map()`,`IO.service(Tag)`,`.provideService(Tag, impl)`,`.provideLayer(layer)`]}},Cond:{description:`Conditional expression builder - replace if-else chains`,interfaces:[],methods:{create:[`Cond<T>()`],other:[`.case(pred, result)`,`.otherwise(result)`,`.eval()`]}},Match:{description:`Pattern matching - replace switch statements`,interfaces:[],methods:{create:[`Match(value)`],other:[`.case(pattern, result)`,`.when(pred, result)`,`.default(result)`,`.done()`]}},Brand:{description:`Nominal typing without runtime overhead`,interfaces:[],methods:{create:[`Brand<K, T>(value)`],extract:[`.unwrap()`,`.toString()`]}},Wire:{description:`Serialization-boundary marker for a row, collection or nullable field at DB / HTTP / JSONB boundaries. Zero runtime, assignable both ways with T. prefer-list and prefer-option skip everything inside it. A collection is Wire<ReadonlyArray<Row>>.`,interfaces:[],methods:{create:[`type UserRow = Wire<{ email: string | null }>`,`type Rows = Wire<ReadonlyArray<Row>>`,`email: Wire<string | null>`],other:[`List(rows).filter(...) // convert to List for transformation`,`Option(row.email) // convert to Option`]}},ValidatedBrand:{description:`Branded types with runtime validation`,interfaces:[],methods:{create:[`ValidatedBrand(validator)`,`.of(v)`,`.from(v)`,`.unsafeOf(v)`],check:[`.is(v)`],other:[`.refine(validator)`]}},Tuple:{description:`Fixed-size typed array`,interfaces:r(`Tuple`,`Typeable`,`Valuable`,`Iterable`),methods:{create:[`Tuple([a, b, ...])`,`Tuple.of(a, b, ...)`,`Tuple.fromJSON(json)`],extract:[`.get(i)`,`.length`,`.toArray()`,`.toJSON()`],transform:[`.map(f)`]}},Identity:{description:`The identity monad: wraps a value with no extra effect. Useful as a neutral container in generic code.`,interfaces:[],methods:{create:[`Identity(value)`,`Identity.of(value)`,`Identity.pure(value)`],extract:[`.id`],other:[`.isSame(other)`]}},Ref:{description:`Mutable reference cell for controlled, local mutability. Invariant in A by design (a mutable cell can't be widened).`,interfaces:[],methods:{create:[`Ref(initial)`,`Ref.of(initial)`],extract:[`.get()`],transform:[`.set(a)`,`.update(f)`,`.modify(f) // returns B, stores A`],other:[`.getAndSet(a)`,`.updateAndGet(f)`,`.getAndUpdate(f)`,`.compareAndSet(expected, next)`]}},Do:{description:`Generator do-notation across Option, Either, List and Try (DoAsync for promises). Short-circuits on None/Left/Failure/empty List.`,interfaces:[],methods:{create:[`Do(function* () { const a = yield* $(opt); return a })`,`DoAsync(async function* () { … })`],other:[`$(monad) // unwrap inside Do`,`isDoCapable(value)`,`unwrap(monad)`]}},invariant:{description:`One-line bug check: invariant(cond, msg) throws a tagged InvariantViolation when cond is falsy and narrows cond after it. For programmer errors only; expected failures return Either.`,interfaces:[],methods:{create:[`invariant(row, "upsert returned no row")`,"invariant(n >= 0, () => `bad step ${n}`) // lazy message"],other:[`InvariantViolation(msg) // throw directly for an unreachable branch`]}},TracedOption:{description:`Opt-in Option wrapper that emits one TraceEvent per combinator to an injected Tracer, then delegates. For code-path introspection.`,interfaces:[],methods:{create:[`TracedOption(option, tracer, spanId, seq?)`],transform:[`.map(f, label?)`,`.flatMap(f, label?)`,`.filter(p, label?)`],extract:[`.fold(onNone, onSome, label?)`,`.orElse(default, label?)`,`.unwrap() // back to Option`]}},Tracer:{description:`One-method trace sink consumed by TracedOption. Type-only, like Logger; declare your own Tag for injection.`,interfaces:[],methods:{create:[`const tracer: Tracer = { emit: (e: TraceEvent) => … }`],other:[`TraceEvent: { spanId, seq, op, tag, inTag, outTag?, label?, meta? }`]}},Stack:{description:`Immutable LIFO stack`,interfaces:[`Foldable`,`Collection`,`Serializable`,`Traversable`],methods:{create:[`Stack()`,`Stack.of(...)`],transform:[`.push(v)`,`.pop()`],extract:[`.peek()`,`.toArray()`],check:[`.isEmpty`,`.size`]}},Http:{description:"HTTP fetch wrapper returning IO<never, HttpError, HttpResponse<T>>. Pass `decode: Decoder<T>` (Either-returning) for typed responses; the deprecated `validate: (data) => T` field is still accepted for throw-pattern back-compat. Request bodies auto-flatten functype ADTs to primitives; `flatten: false` preserves tagged emission for functype-to-functype services. Per-call `params` (HttpQueryParams) appends query strings with proper encoding. Http.client accepts `beforeRequest` and `afterResponse` (both effectful IO transformers). `afterResponse` runs on the success path only — error handling belongs in .catchTag. Composes via .tap/.map/.flatMap/.catchTag/.retry/.retryWhile/.retryWithBackoff/.timeout.",interfaces:[],methods:{create:[`Http.get(url, { decode, params }?)`,`Http.post(url, { body, decode, params }?)`,`Http.put(url, { body, decode, params }?)`,`Http.patch(url, { body, decode, params }?)`,`Http.delete(url, { decode, params }?)`,`Http.request({ url, decode, params })`,`Http.client({ baseUrl, defaultHeaders, fetch, beforeRequest, afterResponse })`],transform:[`.tap(f)`,`.map(f)`,`.flatMap(f)`,`.mapError(f)`,`.retry(n)`,`.retryWithDelay(n, ms)`,`.retryWhile({ n, while, delayMs? })`,`.retryWithBackoff({ n, baseMs, maxMs?, factor?, jitter?, while? })`,`.timeout(ms)`],extract:[`.run()`,`.runOrThrow()`,`.runOption()`,`.runTry()`,`.runExit()`,`.runCancellable()`],check:[],other:[`.catchTag(tag, handler)`,`.catchAll(handler)`,`.recover(fallback)`,`decode: Decoder<T> (Either-returning, structural failures preserved)`,`validate: (data) => T (deprecated, throws — for back-compat / Zod .parse)`,`flatten: boolean (default true; false preserves tagged emission)`,`encode: Encoder<TReq> = (value) => JSONValue (custom wire shape; overrides flatten)`,`params: HttpQueryParams (scalar | array; undefined/null dropped; percent-encoded)`,`beforeRequest: (req) => IO<never, HttpError, HttpRequestView>`,`afterResponse: (HttpResponse<unknown>) => IO<never, HttpError, HttpResponse<unknown>> — success path only; refresh-on-401 uses .catchTag`]}},HttpError:{description:`Three-variant ADT for HTTP failures: NetworkError | HttpStatusError | DecodeError (also exported as ResponseDecodeError alias)`,interfaces:[],methods:{create:[`HttpError.networkError(url, method, cause)`,`HttpError.httpStatusError(url, method, status, statusText, body)`,`HttpError.decodeError(url, method, body, cause)`],check:[`HttpError.isNetworkError(e)`,`HttpError.isHttpStatusError(e)`,`HttpError.isDecodeError(e)`],other:[`HttpError.match(error, { NetworkError, HttpStatusError, DecodeError })`]}},Decoder:{description:"Either-returning decoder contract: `Decoder<A> = (raw: unknown) => Either<DecoderError, A>`. Bundled combinators for primitives + functype ADTs (Option/Either/List/Map, null-bias). `Decoder.tagged.*` round-trips the `{_tag, value}` shape for functype-to-functype services.",interfaces:[],methods:{create:[`Decoder.string / .number / .boolean / .unknown / .nullable(inner)`,`Decoder.fromThrowing(parse) // adapt a throwing parser such as Zod's schema.parse`,`Decoder.option(inner)`,`Decoder.either.envelope({ok, err})`,`Decoder.either.discriminated({tag, leftTag, rightTag}, l, r)`,`Decoder.list(inner) / .array(inner) / .map(inner)`,`Decoder.object({k: Decoder<V>, ...}) — accumulates field failures into Composite`,`Decoder.tagged.option/either/try/list/map/obj(inner?) — round-trips {_tag, value}`],other:[`Pluggable by construction: any (raw) => Either<DecoderError, T> IS a Decoder<T>`,`Composes across sources: Decoder.object({a: Decoder.fromZod(s), b: Decoder.option(myAjv)})`]}},DecoderError:{description:"Recursive ADT for decoder failures: Leaf | Composite. Children mirror the input tree so multi-field failures preserve structural paths. Distinct from `HttpError.DecodeError` — this is the inner structural cause that the HTTP wrapper carries.",interfaces:[],methods:{create:[`DecoderError.leaf(path, message, cause?)`,`DecoderError.composite(path, children: List<DecoderError>)`],check:[`DecoderError.isLeaf(e)`,`DecoderError.isComposite(e)`],other:[`DecoderError.match(e, { Leaf, Composite })`,`DecoderError.prepend(segment, e) — used by combinators to attribute child failures`,`DecoderError.flatten(e): List<{path, message}> — collect leaves`,`DecoderError.format(e): string — render tree as multi-line`]}},Serialization:{description:"Universal `@functype`-marked JSON serialization. `deserialize` walks parsed JSON and reconstructs any functype value found — no type argument needed. Lenient: plain JSON passes through. Strict on unknown markers (defends against Effect/fp-ts `_tag` collision). 1.2.1 adds `toEnvelope`/`fromEnvelope` for nesting inside structured serializers (SuperJSON, DBOS), and `deserializeStrict` for boundaries that require functype on the wire.",interfaces:[],methods:{create:[],transform:[`Serialization.serialize(value: unknown): string — lenient JSON codec`,`Serialization.deserialize(json: string): Try<unknown> — lenient; pass-through for unmarked JSON`,`Serialization.deserializeStrict(json: string): Try<unknown> — Failure if no @functype marker at top level`,`Serialization.toEnvelope(value: unknown): JSONValue — parsed JSON shape (1.2.2 tightened from unknown)`,`Serialization.fromEnvelope(envelope: unknown): Try<unknown> — inverse of toEnvelope; input stays permissive (Postel's law)`,`Serialization.JSONValue — exported recursive type for the envelope shape`],check:[`Serialization.isFunctypeValue(v): v is Serializable<unknown>`],other:[`Plain JSON passthrough: non-functype data walks through unchanged (use deserializeStrict to reject)`,`Strict policy on unknown markers: unknown @functype marker → Try.Failure`,`Dispatch table covers all 12 Serializable types (Option, Either, Try, List, Set, Map, Obj, Stack, Tuple, LazyList, Lazy, Task)`,`Algebraic square: serialize ≡ JSON.stringify ∘ toEnvelope; deserialize ≡ fromEnvelope ∘ JSON.parse`,`No DBOS / SuperJSON facade — consumers wire host serializer in ~8 lines via toEnvelope/fromEnvelope`]}},SerializedError:{description:"Canonical Error projection used by Try.Failure, Task.Err, Lazy-with-thrown-thunk. Round-trips name + message + stack + cause chain. `e.name === 'TypeError'` survives; `instanceof TypeError` does NOT.",interfaces:[],methods:{create:[`serializeError(err: unknown): SerializedError`,`deserializeError(s: SerializedError | string): Error`],other:[`Shape: { name: string; message: string; stack?: string; cause?: SerializedError | string }`,`Non-Error throwables (strings, plain objects) projected under name: 'NonErrorThrowable'`,`Cause chain is recursive — arbitrary nesting depth survives`]}},Logger:{description:`Minimal 4-method logging interface every functype-* package targets. Type-only, no runtime. Impls live in consumers: consoleBootLogger (functype-os/config), DirectLogger (functype-log/direct). Tracer is type-only on the same terms; Clock/Random are not added.`,interfaces:[],methods:{create:[`interface Logger { debug, info, warn, error: (msg, meta?) => void }`,`import type { Logger } from "functype"`],check:[],other:[`All 4 methods MANDATORY (no defensive logger.debug?.() at call sites)`,`Signature: (message: string, metadata?: Record<string, unknown>) => void`,`DirectLogger from functype-log/direct structurally satisfies Logger (superset shape)`,`IO-shaped Logger from functype-log does NOT satisfy core Logger (methods return IO<>, not void) — bridge via toDirectLogger(ioLogger)`,`Used by: bootDiagnostics({ logger? }) in functype-os/config`]}},TypedError:{description:`Code-tagged structured error ADT (extends Throwable); TypedError.validation(...) feeds accumulating validation.`,interfaces:[],methods:{create:[`TypedError.validation(field, value, rule) → TypedError<"VALIDATION_FAILED">`,`TypedError.badRequest(reason, expected?)`,`TypedError.notFound(resource, id)`,`TypedError.auth(resource, requiredRole?)`,`TypedError.permission(action, resource, userId?)`,`TypedError.conflict(resource, value) / .rateLimit(limit, window, retryAfter?)`,`TypedError.timeout(ms, operation) / .network(url, method, status?) / .internal(errorId)`],check:[`TypedError.isTypedError(v)`,`TypedError.hasCode(e, code)`],other:[`Fields: .code, .message, .status (HTTP), .context, .timestamp, .traceId?`,`VALIDATION_FAILED context shape: { field, value, rule }`]}},Validation:{description:`Error-accumulating validation (functype's Validated role) — FormValidation<T> collects all field errors, not fail-fast.`,interfaces:[],methods:{create:[`Validation.rule<T>('min:18' | 'email' | 'required' | 'in:a,b' | ...)`,`Validation.combine(...validators) / Validation.custom(predicate, message)`,`Validation.validators.email / .url / .uuid / .required / .numeric / .positiveNumber / .nonEmptyString`],transform:[`Validation.form(schema, data) → FormValidation<T> (accumulates all field errors)`,`Validator<T> = (value: unknown) => Either<TypedError<'VALIDATION_FAILED'>, T>`],other:[`FormValidation<T> = Either<List<TypedError<"VALIDATION_FAILED">>, T> — functype's "Validated" accumulating result type`,`form() is flat/per-field: for cross-field (lo < hi) or dynamic-key (weights.*) checks, hand-accumulate into a List<TypedError> and return the FormValidation shape`]}}},a={Functor:{description:`Transform contained values`,methods:[`.map<B>(f: A => B): Functor<B>`]},Applicative:{extends:`Functor`,description:`Apply wrapped functions`,methods:[`.ap<B>(ff: Applicative<A => B>): Applicative<B>`]},Monad:{extends:`Applicative`,description:`Chain operations returning wrapped values`,methods:[`.flatMap<B>(f: A => Monad<B>): Monad<B>`]},Foldable:{description:`Extract via pattern matching`,methods:[`.fold<B>(empty: () => B, f: A => B): B`,`.foldLeft<B>(z: B, op: (B, A) => B): B`,`.foldRight<B>(z: B, op: (A, B) => B): B`]},Extractable:{description:`Get contained value with fallback`,methods:[`.orElse(d: T): T`,`.orThrow(e?: Error): T`,`.expect(handler: (e?) => never): T`,`.orNull(): T | null`,`.orUndefined(): T | undefined`]},Matchable:{description:`Pattern match on type variants`,methods:[`.match<R>(patterns: Record<Tag, Handler>): R`]},Traversable:{description:`Iterate and check contents`,methods:[`.size: number`,`.isEmpty: boolean`,`.contains(v: A): boolean`,`.reduce<B>(f, init): B`]},Collection:{description:`Collection operations`,methods:[`.toArray(): A[]`,`.forEach(f: A => void): void`]},Serializable:{description:`Convert to string formats`,methods:[`.serialize().toJSON(): string`,`.serialize().toYAML(): string`]}},o={Core:[`Option`,`Either`,`Try`,`Obj`,`Identity`],Collection:[`List`,`Set`,`Map`,`LazyList`,`Tuple`,`Stack`],Effect:[`IO`,`Exit`,`Task`,`TaskOutcome`,`TaskResult`,`Http`,`HttpError`,`Decoder`,`DecoderError`],Utility:[`Lazy`,`Cond`,`Match`,`Do`,`Ref`,`Brand`,`ValidatedBrand`,`Wire`,`invariant`,`TracedOption`],Validation:[`TypedError`,`Validation`],Serialization:[`Serialization`,`SerializedError`],Service:[`Logger`,`Tracer`]},s={Option:`export interface Option<out T extends Type>
1
+ var e=`1.20.0`;const t={Option:[`Applicative`,`AsyncMonad`,`Doable`,`Extractable`,`Foldable`,`Functor`,`Matchable`,`Monad`,`Promisable`,`Reshapeable`,`Serializable`,`Traversable`],Either:[`Applicative`,`AsyncMonad`,`Doable`,`Extractable`,`Foldable`,`Functor`,`Monad`,`Promisable`,`Reshapeable`,`Serializable`],Try:[`Applicative`,`AsyncMonad`,`Doable`,`Extractable`,`Foldable`,`Functor`,`Monad`,`Promisable`,`Reshapeable`,`Serializable`],List:[`Collection`,`Doable`,`Iterable`,`Reshapeable`],Set:[`Collection`,`Iterable`],Map:[`Collection`,`Foldable`,`Iterable`,`KVTraversable`,`Serializable`],Obj:[`Doable`,`Promisable`,`Reshapeable`],Lazy:[`Applicative`,`AsyncMonad`,`Extractable`,`Foldable`,`Functor`,`Monad`,`Serializable`,`Traversable`],LazyList:[`Foldable`,`Serializable`],Tuple:[`Foldable`,`Serializable`],Task:[`Applicative`,`AsyncMonad`,`Doable`,`Extractable`,`Foldable`,`Functor`,`Monad`,`Promisable`,`Serializable`,`Traversable`]},n=e,r=(e,...n)=>Array.from(/* @__PURE__ */ new Set([...t[e],...n])).sort(),i={Option:{description:`Safe nullable handling - Some<T> or None`,interfaces:r(`Option`),methods:{create:[`Option(v)`,`Option.none()`,`Some(v)`,`None()`],transform:[`.map(f)`,`.flatMap(f)`,`.filter(p)`,`.ap(ff)`],extract:[`.fold(n, s)`,`.foldAsync(n, s)`,`.orElse(d)`,`.orThrow(err | () => Error)`,`.expect(() => never)`,`.orNull()`,`.match({Some, None})`,`.toEither(left | () => left)`,`.toList()`,`.toArray()`],check:[`.isSome()`,`.isNone()`,`.isEmpty`],other:[`Option.sequence(arr)`,`Option.traverse(arr, f)`]}},Either:{description:`Error handling with Left (error) or Right (success)`,interfaces:r(`Either`,`Traversable`),methods:{create:[`Right(v)`,`Left(e)`,`Either.right(v)`,`Either.left(e)`,`Either.void()`],transform:[`.map(f)`,`.flatMap(f)`,`.mapLeft(f)`,`.swap()`],extract:[`.fold(l, r)`,`.foldAsync(l, r)`,`.orElse(d)`,`.orThrow(err | (left) => Error)`,`.expect((l) => never)`,`.match({Left, Right})`],check:[`.isRight()`,`.isLeft()`],other:[`Either.sequence(arr)`,`Either.traverse(arr, f)`,`Either.traverseAsync(items, f, {concurrency?}) // in order by default, stops at first Left`,`Either.fromNullable(v, e)`]}},Try:{description:`Wrap operations that may throw - Success<T> or Failure`,interfaces:r(`Try`,`Matchable`,`Traversable`),methods:{create:[`Try(() => expr)`,`Try.success(v)`,`Try.failure(e)`,`Try.fromPromise(p)`,`Try.async(() => Promise<T>)`],transform:[`.map(f)`,`.flatMap(f)`,`.recover(f)`,`.recoverWith(f)`],extract:[`.fold(f, s)`,`.foldAsync(f, s)`,`.orElse(d)`,`.orThrow(err | (error) => Error)`,`.expect((e) => never)`,`.toOption()`,`.toEither(left | (err) => left)`,`.toList()`,`.toArray()`],check:[`.isSuccess()`,`.isFailure()`],other:[`Try.sequence(arr)`,`Try.traverse(arr, f)`]}},List:{description:`Immutable array with functional operations`,interfaces:r(`List`,`Functor`,`Monad`,`Foldable`,`Serializable`,`Traversable`),methods:{create:[`List([...])`,`List.of(...)`,`List.empty()`],transform:[`.map(f)`,`.flatMap(f)`,`.filter(p)`,`.take(n)`,`.takeWhile(p)`,`.takeRight(n)`,`.drop(n)`,`.dropWhile(p)`,`.concat(list)`,`.reverse()`,`.distinct()`,`.sorted()`,`.sortBy(f)`,`.zip(list)`,`.zipWithIndex()`,`.prepend(v)`,`.slice(s, e)`],extract:[`.fold(z, f)`,`.reduce(f)`,`.head`,`.headOption`,`.tail`,`.last`,`.lastOption`,`.init`,`.indexOf(v)`,`.toArray()`],check:[`.isEmpty`,`.size`,`.contains(v)`,`.exists(p)`,`.every(p)`],other:[`.groupBy(f)`,`.partition(p)`,`.span(p)`,`.mapAsync(f, {concurrency?}) // in order by default`,`.flatMapAsync(f, {concurrency?})`]}},Set:{description:`Immutable set of unique values`,interfaces:r(`Set`,`Functor`,`Foldable`,`Serializable`,`Traversable`),methods:{create:[`Set([...])`,`Set.of(...)`,`Set.empty()`],transform:[`.map(f)`,`.flatMap(f)`,`.filter(p)`,`.filterNot(p)`,`.add(v)`,`.remove(v)`,`.union(other)`,`.intersection(other)`,`.difference(other)`,`.symmetricDifference(other)`,`.mapAsync(f, {concurrency?}) // in order by default`],extract:[`.fold(z, f)`,`.toArray()`],check:[`.has(v)`,`.isEmpty`,`.size`,`.exists(p)`,`.every(p)`,`.isSubsetOf(other)`,`.isSupersetOf(other)`,`.isDisjointFrom(other)`],other:[`import { Set } from "functype" // its own name; the built-in is globalThis.Set`]}},Obj:{description:`Immutable object wrapper with fluent operations`,interfaces:r(`Obj`,`KVTraversable`,`Foldable`,`Matchable`,`Extractable`,`Serializable`),methods:{create:[`Obj({...})`,`Obj.of({...})`,`Obj.empty()`],transform:[`.set(k, v)`,`.assign(partial)`,`.merge(obj)`,`.when(cond, partial)`,`.omit(...keys)`,`.pick(...keys)`,`.map(f)`,`.flatMap(f)`],extract:[`.get(k)`,`.value()`,`.keys()`,`.values()`,`.entries()`,`.fold(n, s)`,`.match({Obj})`],check:[`.has(k)`,`.isEmpty`,`.size`]}},Map:{description:`Immutable key-value store`,interfaces:r(`Map`),methods:{create:[`Map([[k, v], ...])`,`Map.of([k, v], ...)`,`Map.empty()`,`Map.fromJSON(json)`,`Map.fromYAML(yaml)`,`Map.fromBinary(b)`],transform:[`.add(Tuple([k, v]))`,`.remove(k)`,`.map(f)`,`.flatMap(f)`,`.ap(ff)`,`.flatMapAsync(f)`],extract:[`.get(k) // Option<V>`,`.keys() // List<K>`,`.values() // List<V>`,`.getOrElse(k, d)`,`.orElse(k, Option<V>)`,`.fold(z, f)`,`.foldLeft(z)(f)`,`.foldRight(z)(f)`,`.match({Empty, NonEmpty})`,`.toList()`,`.toSet()`,`[...map] // iterate [k, v] pairs`],check:[`.has(k) // key only`,`.contains(Tuple([k, v])) // === on the value`,`.isEmpty`,`.size`],other:[`import { Map } from "functype" // its own name; the built-in is globalThis.Map`]}},Lazy:{description:"Deferred computation with memoization. Note: `serialize()` and `toValue()` FORCE the thunk (visible side effect) since a closure cannot be JSON-serialized — there is no representable 'unevaluated post-serialize' state. Thunk failures are captured via SerializedError and rethrown on access after fromJSON.",interfaces:r(`Lazy`),methods:{create:[`Lazy(() => expr)`,`Lazy.fromValue(value) — wrap a non-deferred value`,`Lazy.evaluated(value) — reads as 'already-forced'; used by fromJSON`,`Lazy.fail(error) — Lazy that throws on access`],transform:[`.map(f)`,`.flatMap(f)`],extract:[`.fold(f)`,`.foldWith(onFailure, onSuccess)`,`.orElse(d)`,`.orNull()`,`.orThrow()`,`.toJSON()`,`Lazy.fromJSON(json)`],check:[`.isEvaluated`]}},LazyList:{description:`Lazy sequences for large/infinite data`,interfaces:r(`LazyList`,`Functor`,`Monad`,`Iterable`),methods:{create:[`LazyList(iterable)`,`LazyList.from(a, b, ...)`,`LazyList.of(a, b, ...)`,`LazyList.range(start, end)`,`LazyList.iterate(seed, f)`,`LazyList.generate(f)`,`LazyList.fromJSON(json)`],transform:[`.map(f)`,`.filter(p)`,`.take(n)`,`.takeRight(n)`,`.drop(n)`,`.takeWhile(p)`,`.dropWhile(p)`,`.concat(ll)`,`.reverse()`,`.distinct()`,`.zip(ll)`,`.zipWithIndex()`],extract:[`.head`,`.headOption`,`.tail`,`.last`,`.lastOption`,`.init`,`.find(p)`,`.toArray()`,`.toJSON()`],check:[`.some(p)`,`.every(p)`,`.count()`]}},Task:{description:`Async operations with cancellation and progress tracking. Returns TaskOutcome<T> (Ok/Err) which implements Functor, AsyncMonad, Foldable, Extractable, Serializable`,interfaces:r(`Task`),methods:{create:[`Task(params).Async(fn, errFn)`,`Task(params).Sync(fn, errFn)`,`Task.ok(value)`,`Task.err(error)`,`Task.fromEither(either)`,`Task.fromTry(try)`,`Task.fromPromise(fn)`,`Task.fromNodeCallback(fn)`,`Task.fromJSON(json) — reconstruct from serialize() output`],transform:[`.map(f)`,`.flatMap(f)`,`.mapError(f)`,`.recover(v)`,`.recoverWith(f)`],extract:[`.fold(onErr, onOk)`,`.match({Ok, Err})`,`.orElse(v)`,`.orThrow()`,`.toEither()`,`.toOption()`,`.toJSON()`],other:[`Task.cancellable(fn)`,`Task.withProgress(fn, onProgress)`,`Task.race(tasks, timeout?)`,`Task.getErrorChain(error)`,`Task.formatErrorChain(error)`]}},TaskOutcome:{description:`Result of a Task execution — Ok<T> or Err<T>. Implements Functor, AsyncMonad, Foldable, Extractable, Serializable. Construct via Ok(v) / Err(e) or as the resolved value of Task(...).Sync() / Task(...).Async().`,interfaces:[`AsyncMonad`,`Extractable`,`Foldable`,`Functor`,`Serializable`],methods:{create:[`Ok(value)`,`Err(error)`,`Task.ok(value)`,`Task.err(error)`],transform:[`.map(f)`,`.flatMap(f)`,`.mapError(f)`,`.recover(v)`,`.recoverWith(f)`,`.mapAsync(f)`,`.flatMapAsync(f)`],extract:[`.fold(onErr, onOk)`,`.match({Ok, Err})`,`.orElse(v)`,`.orThrow()`,`.toEither()`,`.toOption()`,`.toJSON()`],check:[`.isOk()`,`.isErr()`,`.isSuccess()`,`.isFailure()`]}},TaskResult:{description:"Type alias for `Promise<TaskOutcome<T>>`. Returned by Task(params).Async(...) and adapter functions like Fs.readFile, Process.exec. Await it to get the inner TaskOutcome; chain Promise methods on the outside, TaskOutcome methods after the await.",interfaces:[],methods:{create:[`Task(params).Async(fn, errFn) → TaskResult<T>`,`Task.fromPromise(fn) → (...args) => TaskResult<U>`],other:[`await taskResult → TaskOutcome<T>`,`// then use any TaskOutcome method (.fold, .map, .toEither, ...)`]}},Exit:{description:`Outcome of running an IO effect — Success | Failure | Die | Interrupted, returned by .runExit(). Die carries a defect: a value that is not an E. Either has no branch for one, so .run() cannot show it.`,interfaces:[],methods:{create:[`Exit.succeed(v)`,`Exit.fail(e)`,`Exit.die(defect)`,`Exit.interrupt(fiberId)`,`Exit.interrupted()`],transform:[`.map(f)`,`.mapError(f)`,`.mapBoth(onErr, onOk)`,`.flatMap(f)`],extract:[`.fold(onFailure, onSuccess, onInterrupted?, onDie?)`,`.match({Success, Failure, Interrupted, Die?})`,`.orThrow()`,`.orElse(v)`,`.toOption()`,`.toEither()`,`.toValue()`],check:[`.isSuccess()`,`.isFailure()`,`.isDie()`,`.isInterrupted()`],other:[`Exit.zip(a, b)`,`Exit.all(exits)`,`Exit.fromEither(e)`,`Exit.fromOption(o, onNone)`,`// after a guard: .value / .error / .defect / .fiberId`,`// onDie / Die are optional and fall back to the failure handler`,`// defects stay recoverable: .recover/.recoverWith/.fold/.mapError treat Die as Failure`]}},IO:{description:`Lazy effect type with typed errors and dependency injection`,interfaces:[`Functor`,`Monad`,`Foldable`,`Matchable`],methods:{create:[`IO(() => v)`,`IO.succeed(v)`,`IO.fail(e)`,`IO.sync(f)`,`IO.async(f)`,`IO.tryPromise({try, catch})`,`IO.fromEither(e)`,`IO.fromPromiseEither(f, onReject?)`,`IO.fromOption(o)`,`IO.fromTry(t)`,`IO.die(defect)`],transform:[`.map(f)`,`.flatMap(f)`,`.tap(f)`,`.mapError(f)`,`.recover(v)`,`.recoverWith(f)`],extract:[`.run() // Either<E,A> — a defect or interruption arrives in the Left, raw`,`.runOrThrow()`,`.runSync()`,`.runSyncOrThrow()`,`.runExit() // Exit<E,A> — the only terminal that distinguishes Failure/Die/Interrupted`,`.runCancellable() // { result, cancel }`,`.runExit({ signal }) // Interrupted on abort, E unchanged`,`.runOption()`,`.runTry()`,`.fold(onErr, onOk)`,`.match({failure, success})`],check:[],other:[`.catchTag(tag, f)`,`.catchAll(f)`,`.retry(n)`,`.retryWithDelay(n, ms)`,`.retryWhile({ n, while, delayMs? })`,`.retryWithBackoff({ n, baseMs, maxMs?, factor?, jitter?, while? })`,`.repeatUntil(done, { max, delayMs? })`,`.repeatWhile(cont, { max, delayMs? })`,`.timeout(ms)`,`.interruptOn(signal) // stops at the next step once the AbortSignal fires; E gains InterruptedError`,`IO.async((signal?) => fetch(url, { signal })) // thunk gets the run's AbortSignal inside a region`,`.delay(ms)`,`.zip(io)`,`.pipe(f)`,`IO.all([...], { concurrency? }) // in order by default; first failure interrupts the rest`,`IO.forEach(items, f, { concurrency? })`,`IO.race([...])`,`IO.iterate(seed, step, done, { max? })`,`IO.bracket(acquire, use, release)`,`IO.gen(function*() {...})`,`IO.Do.bind().map()`,`IO.service(Tag)`,`.provideService(Tag, impl)`,`.provideLayer(layer)`]}},Cond:{description:`Conditional expression builder - replace if-else chains`,interfaces:[],methods:{create:[`Cond<T>()`],other:[`.case(pred, result)`,`.otherwise(result)`,`.eval()`]}},Match:{description:`Pattern matching - replace switch statements`,interfaces:[],methods:{create:[`Match(value)`],other:[`.case(pattern, result)`,`.when(pred, result)`,`.default(result)`,`.done()`]}},Brand:{description:`Nominal typing without runtime overhead`,interfaces:[],methods:{create:[`Brand<K, T>(value)`],extract:[`.unwrap()`,`.toString()`]}},Wire:{description:`Serialization-boundary marker for a row, collection or nullable field at DB / HTTP / JSONB boundaries. Zero runtime, assignable both ways with T. prefer-list and prefer-option skip everything inside it. A collection is Wire<ReadonlyArray<Row>>.`,interfaces:[],methods:{create:[`type UserRow = Wire<{ email: string | null }>`,`type Rows = Wire<ReadonlyArray<Row>>`,`email: Wire<string | null>`],other:[`List(rows).filter(...) // convert to List for transformation`,`Option(row.email) // convert to Option`]}},ValidatedBrand:{description:`Branded types with runtime validation`,interfaces:[],methods:{create:[`ValidatedBrand(validator)`,`.of(v)`,`.from(v)`,`.unsafeOf(v)`],check:[`.is(v)`],other:[`.refine(validator)`]}},Tuple:{description:`Fixed-size typed array`,interfaces:r(`Tuple`,`Typeable`,`Valuable`,`Iterable`),methods:{create:[`Tuple([a, b, ...])`,`Tuple.of(a, b, ...)`,`Tuple.fromJSON(json)`],extract:[`.get(i)`,`.length`,`.toArray()`,`.toJSON()`],transform:[`.map(f)`]}},Identity:{description:`The identity monad: wraps a value with no extra effect. Useful as a neutral container in generic code.`,interfaces:[],methods:{create:[`Identity(value)`,`Identity.of(value)`,`Identity.pure(value)`],extract:[`.id`],other:[`.isSame(other)`]}},Ref:{description:`Mutable reference cell for controlled, local mutability. Invariant in A by design (a mutable cell can't be widened).`,interfaces:[],methods:{create:[`Ref(initial)`,`Ref.of(initial)`],extract:[`.get()`],transform:[`.set(a)`,`.update(f)`,`.modify(f) // returns B, stores A`],other:[`.getAndSet(a)`,`.updateAndGet(f)`,`.getAndUpdate(f)`,`.compareAndSet(expected, next)`]}},Do:{description:`Generator do-notation across Option, Either, List and Try (DoAsync for promises). Short-circuits on None/Left/Failure/empty List.`,interfaces:[],methods:{create:[`Do(function* () { const a = yield* $(opt); return a })`,`DoAsync(async function* () { … })`],other:[`$(monad) // unwrap inside Do`,`isDoCapable(value)`,`unwrap(monad)`]}},invariant:{description:`One-line bug check: invariant(cond, msg) throws a tagged InvariantViolation when cond is falsy and narrows cond after it. For programmer errors only; expected failures return Either.`,interfaces:[],methods:{create:[`invariant(row, "upsert returned no row")`,"invariant(n >= 0, () => `bad step ${n}`) // lazy message"],other:[`InvariantViolation(msg) // throw directly for an unreachable branch`]}},TracedOption:{description:`Opt-in Option wrapper that emits one TraceEvent per combinator to an injected Tracer, then delegates. For code-path introspection.`,interfaces:[],methods:{create:[`TracedOption(option, tracer, spanId, seq?)`],transform:[`.map(f, label?)`,`.flatMap(f, label?)`,`.filter(p, label?)`],extract:[`.fold(onNone, onSome, label?)`,`.orElse(default, label?)`,`.unwrap() // back to Option`]}},Tracer:{description:`One-method trace sink consumed by TracedOption. Type-only, like Logger; declare your own Tag for injection.`,interfaces:[],methods:{create:[`const tracer: Tracer = { emit: (e: TraceEvent) => … }`],other:[`TraceEvent: { spanId, seq, op, tag, inTag, outTag?, label?, meta? }`]}},Stack:{description:`Immutable LIFO stack`,interfaces:[`Foldable`,`Collection`,`Serializable`,`Traversable`],methods:{create:[`Stack()`,`Stack.of(...)`],transform:[`.push(v)`,`.pop()`],extract:[`.peek()`,`.toArray()`],check:[`.isEmpty`,`.size`]}},Http:{description:"HTTP fetch wrapper returning IO<never, HttpError, HttpResponse<T>>. Pass `decode: Decoder<T>` (Either-returning) for typed responses; the deprecated `validate: (data) => T` field is still accepted for throw-pattern back-compat. Request bodies auto-flatten functype ADTs to primitives; `flatten: false` preserves tagged emission for functype-to-functype services. Per-call `params` (HttpQueryParams) appends query strings with proper encoding. Http.client accepts `beforeRequest` and `afterResponse` (both effectful IO transformers). `afterResponse` runs on the success path only — error handling belongs in .catchTag. Composes via .tap/.map/.flatMap/.catchTag/.retry/.retryWhile/.retryWithBackoff/.timeout.",interfaces:[],methods:{create:[`Http.get(url, { decode, params }?)`,`Http.post(url, { body, decode, params }?)`,`Http.put(url, { body, decode, params }?)`,`Http.patch(url, { body, decode, params }?)`,`Http.delete(url, { decode, params }?)`,`Http.request({ url, decode, params })`,`Http.client({ baseUrl, defaultHeaders, fetch, beforeRequest, afterResponse })`],transform:[`.tap(f)`,`.map(f)`,`.flatMap(f)`,`.mapError(f)`,`.retry(n)`,`.retryWithDelay(n, ms)`,`.retryWhile({ n, while, delayMs? })`,`.retryWithBackoff({ n, baseMs, maxMs?, factor?, jitter?, while? })`,`.timeout(ms)`],extract:[`.run()`,`.runOrThrow()`,`.runOption()`,`.runTry()`,`.runExit()`,`.runCancellable()`],check:[],other:[`.catchTag(tag, handler)`,`.catchAll(handler)`,`.recover(fallback)`,`decode: Decoder<T> (Either-returning, structural failures preserved)`,`validate: (data) => T (deprecated, throws — for back-compat / Zod .parse)`,`flatten: boolean (default true; false preserves tagged emission)`,`encode: Encoder<TReq> = (value) => JSONValue (custom wire shape; overrides flatten)`,`params: HttpQueryParams (scalar | array; undefined/null dropped; percent-encoded)`,`beforeRequest: (req) => IO<never, HttpError, HttpRequestView>`,`afterResponse: (HttpResponse<unknown>) => IO<never, HttpError, HttpResponse<unknown>> — success path only; refresh-on-401 uses .catchTag`]}},HttpError:{description:`Three-variant ADT for HTTP failures: NetworkError | HttpStatusError | DecodeError (also exported as ResponseDecodeError alias)`,interfaces:[],methods:{create:[`HttpError.networkError(url, method, cause)`,`HttpError.httpStatusError(url, method, status, statusText, body)`,`HttpError.decodeError(url, method, body, cause)`],check:[`HttpError.isNetworkError(e)`,`HttpError.isHttpStatusError(e)`,`HttpError.isDecodeError(e)`],other:[`HttpError.match(error, { NetworkError, HttpStatusError, DecodeError })`]}},Decoder:{description:"Either-returning decoder contract: `Decoder<A> = (raw: unknown) => Either<DecoderError, A>`. Bundled combinators for primitives + functype ADTs (Option/Either/List/Map, null-bias). `Decoder.tagged.*` round-trips the `{_tag, value}` shape for functype-to-functype services.",interfaces:[],methods:{create:[`Decoder.string / .number / .boolean / .unknown / .nullable(inner)`,`Decoder.fromThrowing(parse) // adapt a throwing parser such as Zod's schema.parse`,`Decoder.option(inner)`,`Decoder.either.envelope({ok, err})`,`Decoder.either.discriminated({tag, leftTag, rightTag}, l, r)`,`Decoder.list(inner) / .array(inner) / .map(inner)`,`Decoder.object({k: Decoder<V>, ...}) — accumulates field failures into Composite`,`Decoder.tagged.option/either/try/list/map/obj(inner?) — round-trips {_tag, value}`],other:[`Pluggable by construction: any (raw) => Either<DecoderError, T> IS a Decoder<T>`,`Composes across sources: Decoder.object({a: Decoder.fromZod(s), b: Decoder.option(myAjv)})`]}},DecoderError:{description:"Recursive ADT for decoder failures: Leaf | Composite. Children mirror the input tree so multi-field failures preserve structural paths. Distinct from `HttpError.DecodeError` — this is the inner structural cause that the HTTP wrapper carries.",interfaces:[],methods:{create:[`DecoderError.leaf(path, message, cause?)`,`DecoderError.composite(path, children: List<DecoderError>)`],check:[`DecoderError.isLeaf(e)`,`DecoderError.isComposite(e)`],other:[`DecoderError.match(e, { Leaf, Composite })`,`DecoderError.prepend(segment, e) — used by combinators to attribute child failures`,`DecoderError.flatten(e): List<{path, message}> — collect leaves`,`DecoderError.format(e): string — render tree as multi-line`]}},Serialization:{description:"Universal `@functype`-marked JSON serialization. `deserialize` walks parsed JSON and reconstructs any functype value found — no type argument needed. Lenient: plain JSON passes through. Strict on unknown markers (defends against Effect/fp-ts `_tag` collision). 1.2.1 adds `toEnvelope`/`fromEnvelope` for nesting inside structured serializers (SuperJSON, DBOS), and `deserializeStrict` for boundaries that require functype on the wire.",interfaces:[],methods:{create:[],transform:[`Serialization.serialize(value: unknown): string — lenient JSON codec`,`Serialization.deserialize(json: string): Try<unknown> — lenient; pass-through for unmarked JSON`,`Serialization.deserializeStrict(json: string): Try<unknown> — Failure if no @functype marker at top level`,`Serialization.toEnvelope(value: unknown): JSONValue — parsed JSON shape (1.2.2 tightened from unknown)`,`Serialization.fromEnvelope(envelope: unknown): Try<unknown> — inverse of toEnvelope; input stays permissive (Postel's law)`,`Serialization.JSONValue — exported recursive type for the envelope shape`],check:[`Serialization.isFunctypeValue(v): v is Serializable<unknown>`],other:[`Plain JSON passthrough: non-functype data walks through unchanged (use deserializeStrict to reject)`,`Strict policy on unknown markers: unknown @functype marker → Try.Failure`,`Dispatch table covers all 12 Serializable types (Option, Either, Try, List, Set, Map, Obj, Stack, Tuple, LazyList, Lazy, Task)`,`Algebraic square: serialize ≡ JSON.stringify ∘ toEnvelope; deserialize ≡ fromEnvelope ∘ JSON.parse`,`No DBOS / SuperJSON facade — consumers wire host serializer in ~8 lines via toEnvelope/fromEnvelope`]}},SerializedError:{description:"Canonical Error projection used by Try.Failure, Task.Err, Lazy-with-thrown-thunk. Round-trips name + message + stack + cause chain. `e.name === 'TypeError'` survives; `instanceof TypeError` does NOT.",interfaces:[],methods:{create:[`serializeError(err: unknown): SerializedError`,`deserializeError(s: SerializedError | string): Error`],other:[`Shape: { name: string; message: string; stack?: string; cause?: SerializedError | string }`,`Non-Error throwables (strings, plain objects) projected under name: 'NonErrorThrowable'`,`Cause chain is recursive — arbitrary nesting depth survives`]}},Logger:{description:`Minimal 4-method logging interface every functype-* package targets. Type-only, no runtime. Impls live in consumers: consoleBootLogger (functype-os/config), DirectLogger (functype-log/direct). Tracer is type-only on the same terms; Clock/Random are not added.`,interfaces:[],methods:{create:[`interface Logger { debug, info, warn, error: (msg, meta?) => void }`,`import type { Logger } from "functype"`],check:[],other:[`All 4 methods MANDATORY (no defensive logger.debug?.() at call sites)`,`Signature: (message: string, metadata?: Record<string, unknown>) => void`,`DirectLogger from functype-log/direct structurally satisfies Logger (superset shape)`,`IO-shaped Logger from functype-log does NOT satisfy core Logger (methods return IO<>, not void) — bridge via toDirectLogger(ioLogger)`,`Used by: bootDiagnostics({ logger? }) in functype-os/config`]}},TypedError:{description:`Code-tagged structured error ADT (extends Throwable); TypedError.validation(...) feeds accumulating validation.`,interfaces:[],methods:{create:[`TypedError.validation(field, value, rule) → TypedError<"VALIDATION_FAILED">`,`TypedError.badRequest(reason, expected?)`,`TypedError.notFound(resource, id)`,`TypedError.auth(resource, requiredRole?)`,`TypedError.permission(action, resource, userId?)`,`TypedError.conflict(resource, value) / .rateLimit(limit, window, retryAfter?)`,`TypedError.timeout(ms, operation) / .network(url, method, status?) / .internal(errorId)`],check:[`TypedError.isTypedError(v)`,`TypedError.hasCode(e, code)`],other:[`Fields: .code, .message, .status (HTTP), .context, .timestamp, .traceId?`,`VALIDATION_FAILED context shape: { field, value, rule }`]}},Validation:{description:`Error-accumulating validation (functype's Validated role) — FormValidation<T> collects all field errors, not fail-fast.`,interfaces:[],methods:{create:[`Validation.rule<T>('min:18' | 'email' | 'required' | 'in:a,b' | ...)`,`Validation.combine(...validators) / Validation.custom(predicate, message)`,`Validation.validators.email / .url / .uuid / .required / .numeric / .positiveNumber / .nonEmptyString`],transform:[`Validation.form(schema, data) → FormValidation<T> (accumulates all field errors)`,`Validator<T> = (value: unknown) => Either<TypedError<'VALIDATION_FAILED'>, T>`],other:[`FormValidation<T> = Either<List<TypedError<"VALIDATION_FAILED">>, T> — functype's "Validated" accumulating result type`,`form() is flat/per-field: for cross-field (lo < hi) or dynamic-key (weights.*) checks, hand-accumulate into a List<TypedError> and return the FormValidation shape`]}}},a={Functor:{description:`Transform contained values`,methods:[`.map<B>(f: A => B): Functor<B>`]},Applicative:{extends:`Functor`,description:`Apply wrapped functions`,methods:[`.ap<B>(ff: Applicative<A => B>): Applicative<B>`]},Monad:{extends:`Applicative`,description:`Chain operations returning wrapped values`,methods:[`.flatMap<B>(f: A => Monad<B>): Monad<B>`]},Foldable:{description:`Extract via pattern matching`,methods:[`.fold<B>(empty: () => B, f: A => B): B`,`.foldLeft<B>(z: B, op: (B, A) => B): B`,`.foldRight<B>(z: B, op: (A, B) => B): B`]},Extractable:{description:`Get contained value with fallback`,methods:[`.orElse(d: T): T`,`.orThrow(e?: Error): T`,`.expect(handler: (e?) => never): T`,`.orNull(): T | null`,`.orUndefined(): T | undefined`]},Matchable:{description:`Pattern match on type variants`,methods:[`.match<R>(patterns: Record<Tag, Handler>): R`]},Traversable:{description:`Iterate and check contents`,methods:[`.size: number`,`.isEmpty: boolean`,`.contains(v: A): boolean`,`.reduce<B>(f, init): B`]},Collection:{description:`Collection operations`,methods:[`.toArray(): A[]`,`.forEach(f: A => void): void`]},Serializable:{description:`Convert to string formats`,methods:[`.serialize().toJSON(): string`,`.serialize().toYAML(): string`]}},o={Core:[`Option`,`Either`,`Try`,`Obj`,`Identity`],Collection:[`List`,`Set`,`Map`,`LazyList`,`Tuple`,`Stack`],Effect:[`IO`,`Exit`,`Task`,`TaskOutcome`,`TaskResult`,`Http`,`HttpError`,`Decoder`,`DecoderError`],Utility:[`Lazy`,`Cond`,`Match`,`Do`,`Ref`,`Brand`,`ValidatedBrand`,`Wire`,`invariant`,`TracedOption`],Validation:[`TypedError`,`Validation`],Serialization:[`Serialization`,`SerializedError`],Service:[`Logger`,`Tracer`]},s={Option:`export interface Option<out T extends Type>
2
2
  extends Functype<T, "Some" | "None">, Promisable<T>, Doable<T>, Reshapeable<T> {
3
3
  /** The contained value (undefined for None) */
4
4
  readonly value: T | undefined
@@ -198,7 +198,7 @@ const RightConstructor = <L extends Type, R extends Type>(value: R): RightOf<L,
198
198
  return { "@functype": "Either" as const, _tag: "Right" as const, value }
199
199
  },
200
200
  toString: () => {
201
- return \`Right(\${safeStringify(value)})\`
201
+ return \`Right(\${showValue(value)})\`
202
202
  },
203
203
  *[Symbol.iterator]() {
204
204
  yield value
@@ -516,6 +516,29 @@ export interface RightOf<out L extends Type, out R extends Type> extends EitherB
516
516
  add<B>(value: B): Set<A | B>
517
517
  remove: (value: unknown) => Set<A>
518
518
  has(value: unknown): boolean
519
+ /**
520
+ * Elements in this set or \`other\`. \`other\` can be any iterable: an array, a native Set or a functype Set.
521
+ * Like every Set method, it compares elements as \`has\` does: by SameValueZero, so objects by identity and
522
+ * \`NaN\` equal to \`NaN\`.
523
+ *
524
+ * @example
525
+ * \`\`\`typescript
526
+ * Set([1, 2]).union([2, 3]) // Set([1, 2, 3])
527
+ * \`\`\`
528
+ */
529
+ union<B>(other: Iterable<B>): Set<A | B>
530
+ /** Elements in both this set and \`other\`, in this set's order (native \`intersection\` follows the smaller set's). */
531
+ intersection(other: Iterable<unknown>): Set<A>
532
+ /** Elements in this set and not in \`other\`. */
533
+ difference(other: Iterable<unknown>): Set<A>
534
+ /** Elements in exactly one of this set and \`other\`. */
535
+ symmetricDifference<B>(other: Iterable<B>): Set<A | B>
536
+ /** True if every element of this set is in \`other\`. True for an empty set. */
537
+ isSubsetOf(other: Iterable<unknown>): boolean
538
+ /** True if every element of \`other\` is in this set. */
539
+ isSupersetOf(other: Iterable<unknown>): boolean
540
+ /** True if this set and \`other\` share no element. */
541
+ isDisjointFrom(other: Iterable<unknown>): boolean
519
542
  map: <B>(f: (a: A) => B) => Set<B>
520
543
  flatMap: <B>(f: (a: A) => Iterable<B>) => Set<B>
521
544
  /**
@@ -1,2 +1,2 @@
1
- import { An as FunctypeBase, Ar as Concurrency, On as FunctypeSum, jn as FunctypeCollection, jr as ConcurrencyOptions, kn as Functype } from "../index-fXZaC5V_.js";
1
+ import { An as FunctypeBase, Mr as ConcurrencyOptions, On as FunctypeSum, jn as FunctypeCollection, jr as Concurrency, kn as Functype } from "../index-C5IrHYtk.js";
2
2
  export { type Concurrency, type ConcurrencyOptions, Functype, FunctypeBase, FunctypeCollection, FunctypeSum };
@@ -287,6 +287,17 @@ interface ContainerOps<out A extends Type> {
287
287
  * @typeParam Self - The collection type itself for proper return types
288
288
  */
289
289
  interface CollectionOps<out A extends Type, Self> {
290
+ /**
291
+ * Tests whether every element satisfies the predicate. True for an empty collection.
292
+ * Stops at the first element that fails. The counterpart of `exists`.
293
+ *
294
+ * @example
295
+ * ```typescript
296
+ * List([1, 2, 3]).every((x) => x > 0) // true
297
+ * List<number>([]).every((x) => x > 0) // true
298
+ * ```
299
+ */
300
+ every(p: (a: A) => boolean): boolean;
290
301
  /**
291
302
  * Left-associative fold over all elements using an initial value and combining function.
292
303
  * Unlike foldLeft (which is curried), this provides a convenient uncurried signature.
@@ -668,14 +679,15 @@ declare const Either: (<L extends Type, R extends Type>(value: R | L, isRight: b
668
679
  * @param eithers - Array of Either values
669
680
  * @returns Either with array of values or first Left encountered
670
681
  */
671
- sequence: <L extends Type, R extends Type>(eithers: Either<L, R>[]) => Either<L, R[]>;
682
+ sequence: <L extends Type, R extends Type>(eithers: ReadonlyArray<Either<L, R>>) => Either<L, R[]>;
672
683
  /**
673
- * Maps an array through a function that returns Either, then sequences the results
684
+ * Maps an array through a function that returns Either, then sequences the results.
685
+ * Short-circuits on the first Left: `f` is not called for the elements after it.
674
686
  * @param arr - Array of values
675
- * @param f - Function that returns Either
687
+ * @param f - Function that returns Either, given each value and its index
676
688
  * @returns Either with array of results or first Left encountered
677
689
  */
678
- traverse: <L extends Type, R extends Type, U extends Type>(arr: R[], f: (value: R) => Either<L, U>) => Either<L, U[]>;
690
+ traverse: <L extends Type, R extends Type, U extends Type>(arr: ReadonlyArray<R>, f: (value: R, index: number) => Either<L, U>) => Either<L, U[]>;
679
691
  /**
680
692
  * Async traverse: runs `f` over `items` and collects the Right values, stopping at the first Left.
681
693
  *
@@ -834,13 +846,14 @@ declare const LazyList: (<A extends Type>(iterable: Iterable<A>) => LazyList<A>)
834
846
  */
835
847
  empty: <A extends Type>() => LazyList<A>;
836
848
  /**
837
- * Create a LazyList from a single value
849
+ * Create a LazyList from values (one or more)
838
850
  * @example
839
851
  * const single = LazyList.of(42)
840
852
  * .map(x => x * 2)
841
853
  * .toArray() // [84]
854
+ * LazyList.of(1, 2, 3).toArray() // [1, 2, 3], same as LazyList.from(1, 2, 3)
842
855
  */
843
- of: <A extends Type>(value: A) => LazyList<A>;
856
+ of: <A extends Type>(...values: A[]) => LazyList<A>;
844
857
  /**
845
858
  * Create a LazyList from multiple values
846
859
  */
@@ -1399,7 +1412,7 @@ declare const Try: (<T>(f: () => T) => Try<T>) & {
1399
1412
  * @param tries - Array of Try values
1400
1413
  * @returns Success with array of values, or first Failure
1401
1414
  */
1402
- sequence: <T>(tries: Try<T>[]) => Try<T[]>;
1415
+ sequence: <T>(tries: ReadonlyArray<Try<T>>) => Try<T[]>;
1403
1416
  /**
1404
1417
  * Maps an array through a function returning Try, then sequences the results.
1405
1418
  * Short-circuits on the first Failure.
@@ -1622,6 +1635,29 @@ interface Set<out A> extends FunctypeCollection<A, "Set">, Collection<A> {
1622
1635
  add<B>(value: B): Set<A | B>;
1623
1636
  remove: (value: unknown) => Set<A>;
1624
1637
  has(value: unknown): boolean;
1638
+ /**
1639
+ * Elements in this set or `other`. `other` can be any iterable: an array, a native Set or a functype Set.
1640
+ * Like every Set method, it compares elements as `has` does: by SameValueZero, so objects by identity and
1641
+ * `NaN` equal to `NaN`.
1642
+ *
1643
+ * @example
1644
+ * ```typescript
1645
+ * Set([1, 2]).union([2, 3]) // Set([1, 2, 3])
1646
+ * ```
1647
+ */
1648
+ union<B>(other: Iterable<B>): Set<A | B>;
1649
+ /** Elements in both this set and `other`, in this set's order (native `intersection` follows the smaller set's). */
1650
+ intersection(other: Iterable<unknown>): Set<A>;
1651
+ /** Elements in this set and not in `other`. */
1652
+ difference(other: Iterable<unknown>): Set<A>;
1653
+ /** Elements in exactly one of this set and `other`. */
1654
+ symmetricDifference<B>(other: Iterable<B>): Set<A | B>;
1655
+ /** True if every element of this set is in `other`. True for an empty set. */
1656
+ isSubsetOf(other: Iterable<unknown>): boolean;
1657
+ /** True if every element of `other` is in this set. */
1658
+ isSupersetOf(other: Iterable<unknown>): boolean;
1659
+ /** True if this set and `other` share no element. */
1660
+ isDisjointFrom(other: Iterable<unknown>): boolean;
1625
1661
  map: <B>(f: (a: A) => B) => Set<B>;
1626
1662
  flatMap: <B>(f: (a: A) => Iterable<B>) => Set<B>;
1627
1663
  /**
@@ -2426,7 +2462,8 @@ declare const Decoder: {
2426
2462
  type OptionLike = {
2427
2463
  _tag: "Some" | "None";
2428
2464
  isSome(): boolean;
2429
- get(): unknown;
2465
+ orThrow(): unknown;
2466
+ doUnwrap(): unknown;
2430
2467
  };
2431
2468
  type EitherLike = {
2432
2469
  _tag: "Left" | "Right";
@@ -2441,7 +2478,8 @@ type ListLike = {
2441
2478
  type TryLike = {
2442
2479
  _tag: "Success" | "Failure";
2443
2480
  isSuccess(): boolean;
2444
- get(): unknown;
2481
+ orThrow(): unknown;
2482
+ doUnwrap(): unknown;
2445
2483
  };
2446
2484
  /**
2447
2485
  * Executes a generator-based monadic comprehension
@@ -2455,7 +2493,7 @@ type TryLike = {
2455
2493
  * Type Inference Notes:
2456
2494
  * - TypeScript infers the correct return type for homogeneous comprehensions
2457
2495
  * - For mixed monad types, TypeScript returns a union type
2458
- * - Use DoTyped<T> or type assertions for mixed scenarios
2496
+ * - Use a type assertion for a mix that includes Option or Try
2459
2497
  *
2460
2498
  * @example
2461
2499
  * ```typescript
@@ -2483,7 +2521,7 @@ type TryLike = {
2483
2521
  * });
2484
2522
  * // result: List([4, 5, 5, 6])
2485
2523
  *
2486
- * // Mixed types - use type assertion or DoTyped:
2524
+ * // Mixed types - use a type assertion:
2487
2525
  * const result = Do(function* () {
2488
2526
  * const x = yield* $(Option(5));
2489
2527
  * const y = yield* $(Right<string, number>(10));
@@ -2499,7 +2537,7 @@ declare function Do<T>(gen: () => Generator<OptionLike, T, unknown>): Option<T>;
2499
2537
  declare function Do<L, R>(gen: () => Generator<EitherLike, R, unknown>): Either<L, R>;
2500
2538
  declare function Do<T>(gen: () => Generator<ListLike, T, unknown>): List<T>;
2501
2539
  declare function Do<T>(gen: () => Generator<TryLike, T, unknown>): Try<T>;
2502
- declare function Do<T>(gen: () => Generator<OptionLike | EitherLike | ListLike | TryLike, T, unknown>): Reshapeable<T>;
2540
+ declare function Do<T>(gen: () => Generator<EitherLike | ListLike, T, unknown>): Reshapeable<T>;
2503
2541
  declare function Do<T>(gen: () => Generator<unknown, T, unknown>): unknown;
2504
2542
  /**
2505
2543
  * Executes an async generator-based monadic comprehension
@@ -2522,7 +2560,7 @@ declare function DoAsync<T>(gen: () => AsyncGenerator<OptionLike, T, unknown>):
2522
2560
  declare function DoAsync<L, R>(gen: () => AsyncGenerator<EitherLike, R, unknown>): Promise<Either<L, R>>;
2523
2561
  declare function DoAsync<T>(gen: () => AsyncGenerator<ListLike, T, unknown>): Promise<List<T>>;
2524
2562
  declare function DoAsync<T>(gen: () => AsyncGenerator<TryLike, T, unknown>): Promise<Try<T>>;
2525
- declare function DoAsync<T>(gen: () => AsyncGenerator<OptionLike | EitherLike | ListLike | TryLike, T, unknown>): Promise<Reshapeable<T>>;
2563
+ declare function DoAsync<T>(gen: () => AsyncGenerator<EitherLike | ListLike, T, unknown>): Promise<Reshapeable<T>>;
2526
2564
  declare function DoAsync<T>(gen: () => AsyncGenerator<unknown, T, unknown>): Promise<unknown>;
2527
2565
  /**
2528
2566
  * Helper function to check if a value implements the Doable interface
@@ -2578,7 +2616,8 @@ declare function $<T>(monad: Doable<T>): Generator<Doable<T>, T, T>;
2578
2616
  declare function $<M>(monad: M): Generator<M, InferYieldType<M>, InferYieldType<M>>;
2579
2617
  type InferYieldType<M> = M extends {
2580
2618
  isSome(): boolean;
2581
- get(): infer T;
2619
+ orThrow(): infer T;
2620
+ doUnwrap(): unknown;
2582
2621
  } ? T : M extends {
2583
2622
  isRight(): boolean;
2584
2623
  value: infer R;
@@ -2586,7 +2625,8 @@ type InferYieldType<M> = M extends {
2586
2625
  toArray(): (infer T)[];
2587
2626
  } ? T : M extends {
2588
2627
  isSuccess(): boolean;
2589
- get(): infer T;
2628
+ orThrow(): infer T;
2629
+ doUnwrap(): unknown;
2590
2630
  } ? T : M extends Doable<infer T> ? T : unknown;
2591
2631
  declare const NoneError: (message?: string) => Error;
2592
2632
  interface LeftErrorType<L> extends Error {
@@ -3108,8 +3148,8 @@ type ExitTag = "Success" | "Failure" | "Die" | "Interrupted";
3108
3148
  * recovered it.
3109
3149
  *
3110
3150
  * Note the sync interpreter cannot distinguish the two. `runSync` returns
3111
- * `Either<E, A>`, which has no third branch to put a defect in, and the sync
3112
- * interpreter signals failure by throwing the raw value — so `Fail` and `Die` arrive
3151
+ * `Either<E, A>`, which has no third branch to put a defect in: both a failure and a
3152
+ * defect land in the `Left` as the raw value — so `Fail` and `Die` arrive
3113
3153
  * identically. `Die` is observable through the async terminals (`runExit`) and
3114
3154
  * through the `Exit` handed to a `bracketExit` release.
3115
3155
  */
@@ -4376,7 +4416,7 @@ declare const IO: (<A extends Type>(f: () => A | Promise<A>) => IO<never, unknow
4376
4416
  * (state) => fetchJob(state.id),
4377
4417
  * (state) => state.status === "done" || state.status === "failed",
4378
4418
  * { max: 30 },
4379
- * ).runEither()
4419
+ * ).run()
4380
4420
  * ```
4381
4421
  *
4382
4422
  * @param seed - Initial state.
@@ -5852,11 +5892,13 @@ declare const Stack: (<A extends Type>(values?: A[]) => Stack<A>) & {
5852
5892
  */
5853
5893
  empty: <A extends Type>() => Stack<A>;
5854
5894
  /**
5855
- * Creates a Stack from a single value
5856
- * @param value - The value to create a stack with
5857
- * @returns A Stack with a single value
5895
+ * Creates a Stack from values, like `Stack([...values])`
5896
+ * @example
5897
+ * Stack.of(1, 2, 3) // same as Stack([1, 2, 3])
5898
+ * @param values - The values to create the stack with
5899
+ * @returns A Stack holding the values
5858
5900
  */
5859
- of: <A extends Type>(value: A) => Stack<A>;
5901
+ of: <A extends Type>(...values: A[]) => Stack<A>;
5860
5902
  /**
5861
5903
  * Creates a Stack from JSON string
5862
5904
  * @param json - The JSON string
@@ -6241,7 +6283,7 @@ declare const Option: (<T extends Type>(value: T | null | undefined) => Option<T
6241
6283
  * @param options - Array of Option values
6242
6284
  * @returns Some with array of values, or None if any element is None
6243
6285
  */
6244
- sequence: <T extends Type>(options: Option<T>[]) => Option<T[]>;
6286
+ sequence: <T extends Type>(options: ReadonlyArray<Option<T>>) => Option<T[]>;
6245
6287
  /**
6246
6288
  * Maps an array through a function returning Option, then sequences the results.
6247
6289
  * Short-circuits on the first None — `f` is not invoked for elements after the
@@ -6532,4 +6574,4 @@ declare const Match: (<T extends Type>(value: T) => UntypedMatch<T>) & {
6532
6574
  };
6533
6575
  };
6534
6576
  //#endregion
6535
- export { TimeoutError as $, taggedEnvelope as $n, Sync as $t, Http as A, FunctypeBase as An, Concurrency as Ar, safeStringify as At, HttpError as B, JSONValue as Bn, NoneError as Bt, HKT as C, PositiveNumber as Cn, Functor as Cr, ErrorChainElement as Ct, TryKind as D, ValidatedBrandCompanion as Dn, Extractable as Dr, createErrorSerializer as Dt, OptionKind as E, ValidatedBrand as En, ContainerOps as Er, TaskErrorInfo as Et, HttpRequestOptions as F, Collection as Fn, EmptyListError as Ft, TestClock as G, createCustomSerializer as Gn, DecoderError as Gt, HttpStatusError as H, FUNCTYPE_MARKER as Hn, unwrap as Ht, HttpRequestView as I, Set as In, FailureError as It, IO as J, createTaggedSerializer as Jn, Async as Jt, TestClockTag as K, createSerializationCompanion as Kn, DecoderErrorComposite as Kt, HttpResponse as L, List as Ln, FailureErrorType as Lt, HttpClientConfig as M, Traversable as Mn, DoResult as Mr, Do as Mt, HttpMethodOptions as N, Matchable as Nn, Doable as Nr, DoAsync as Nt, UniversalContainer as O, FunctypeSum as On, isExtractable as Or, formatError as Ot, HttpQueryParams as P, MatchableUtils as Pn, Cond as Pr, DoGenerator as Pt, Task as Q, fromYAML as Qn, Ok as Qt, ParseMode as R, Try as Rn, LeftError as Rt, EitherKind as S, PositiveInteger as Sn, AsyncMonad as Sr, TypedErrorContext as St, ListKind as T, UrlString as Tn, CollectionOps as Tr, ErrorWithTaskInfo as Tt, NetworkError as U, FunctypeEnvelope as Un, Decoder as Ut, HttpMethod as V, Serialization_d_exports as Vn, isDoCapable as Vt, ResponseDecodeError as W, SerializationResult as Wn, Encoder as Wt, RIO as X, fromBinary as Xn, CancellationTokenSource as Xt, InterruptedError as Y, envelope as Yn, CancellationToken as Yt, RepeatExhausted as Z, fromJSON as Zn, Err as Zt, ESMapType as _, ISO8601Date as _n, Widen as _r, Validator as _t, OptionConstructor as a, TaskParams as an, EitherBase as ar, LayerOutput as at, Lazy as b, NonNegativeNumber as bn, Promisable as br, ErrorStatus as bt, Tracer as c, createCancellationTokenSource as cn, Right as cr, Context as ct, Stack as d, Throwable as dn, TypeCheckLeft as dr, Tag as dt, TaggedThrowable as en, SerializedError as er, UIO as et, Valuable as f, ThrowableType as fn, TypeCheckRight as fr, TagService as ft, ESMap as g, EmailAddress as gn, tryCatchAsync as gr, ValidationRule as gt, Obj as h, BoundedString as hn, tryCatch as hr, Validation as ht, Option as i, TaskOutcome as in, Either as ir, LayerInput as it, HttpClient as j, FunctypeCollection as jn, ConcurrencyOptions as jr, $ as jt, FoldableUtils as k, Functype as kn, ParseError as kr, formatStackTrace as kt, TraceEvent as l, isTaggedThrowable as ln, RightOf as lr, ContextServices as lt, Ref as m, BoundedNumber as mn, isRight as mr, FormValidation as mt, UntypedMatch as n, TaskFailure as nn, serializeError as nr, Layer as nt, Some as o, TaskResult as on, Left as or, Exit as ot, ValuableParams as p, Base as pn, isLeft as pr, FieldValidation as pt, TestContext as q, createSerializer as qn, DecoderErrorLeaf as qt, None as r, TaskMetadata as rn, LazyList as rr, LayerError as rt, TracedOption as s, TaskSuccess as sn, LeftOf as sr, ExitTag as st, Match as t, Task$1 as tn, deserializeError as tr, UnsupportedSyncOperationError as tt, TraceOp as u, NAME as un, TestEither as ur, HasService as ut, Map$1 as v, IntegerNumber as vn, reduceRightWiden as vr, ErrorCode as vt, Kind as w, UUID as wn, Monad as wr, ErrorFormatterOptions as wt, Identity as x, PatternString as xn, Applicative as xr, TypedError as xt, KVTraversable as y, NonEmptyString as yn, reduceWiden as yr, ErrorMessage as yt, DecodeError as z, TypeNames as zn, LeftErrorType as zt };
6577
+ export { TimeoutError as $, fromYAML as $n, Sync as $t, Http as A, FunctypeBase as An, ParseError as Ar, safeStringify as At, HttpError as B, TypeNames as Bn, NoneError as Bt, HKT as C, PositiveNumber as Cn, AsyncMonad as Cr, ErrorChainElement as Ct, TryKind as D, ValidatedBrandCompanion as Dn, ContainerOps as Dr, createErrorSerializer as Dt, OptionKind as E, ValidatedBrand as En, CollectionOps as Er, TaskErrorInfo as Et, HttpRequestOptions as F, Collection as Fn, Cond as Fr, EmptyListError as Ft, TestClock as G, SerializationResult as Gn, DecoderError as Gt, HttpStatusError as H, Serialization_d_exports as Hn, unwrap as Ht, HttpRequestView as I, Set as In, FailureError as It, IO as J, createSerializer as Jn, Async as Jt, TestClockTag as K, createCustomSerializer as Kn, DecoderErrorComposite as Kt, HttpResponse as L, List as Ln, FailureErrorType as Lt, HttpClientConfig as M, Traversable as Mn, ConcurrencyOptions as Mr, Do as Mt, HttpMethodOptions as N, Matchable as Nn, DoResult as Nr, DoAsync as Nt, UniversalContainer as O, FunctypeSum as On, Extractable as Or, formatError as Ot, HttpQueryParams as P, MatchableUtils as Pn, Doable as Pr, DoGenerator as Pt, Task as Q, fromJSON as Qn, Ok as Qt, ParseMode as R, Reshapeable as Rn, LeftError as Rt, EitherKind as S, PositiveInteger as Sn, Applicative as Sr, TypedErrorContext as St, ListKind as T, UrlString as Tn, Monad as Tr, ErrorWithTaskInfo as Tt, NetworkError as U, FUNCTYPE_MARKER as Un, Decoder as Ut, HttpMethod as V, JSONValue as Vn, isDoCapable as Vt, ResponseDecodeError as W, FunctypeEnvelope as Wn, Encoder as Wt, RIO as X, envelope as Xn, CancellationTokenSource as Xt, InterruptedError as Y, createTaggedSerializer as Yn, CancellationToken as Yt, RepeatExhausted as Z, fromBinary as Zn, Err as Zt, ESMapType as _, ISO8601Date as _n, tryCatchAsync as _r, Validator as _t, OptionConstructor as a, TaskParams as an, Either as ar, LayerOutput as at, Lazy as b, NonNegativeNumber as bn, reduceWiden as br, ErrorStatus as bt, Tracer as c, createCancellationTokenSource as cn, LeftOf as cr, Context as ct, Stack as d, Throwable as dn, TestEither as dr, Tag as dt, TaggedThrowable as en, taggedEnvelope as er, UIO as et, Valuable as f, ThrowableType as fn, TypeCheckLeft as fr, TagService as ft, ESMap as g, EmailAddress as gn, tryCatch as gr, ValidationRule as gt, Obj as h, BoundedString as hn, isRight as hr, Validation as ht, Option as i, TaskOutcome as in, LazyList as ir, LayerInput as it, HttpClient as j, FunctypeCollection as jn, Concurrency as jr, $ as jt, FoldableUtils as k, Functype as kn, isExtractable as kr, formatStackTrace as kt, TraceEvent as l, isTaggedThrowable as ln, Right as lr, ContextServices as lt, Ref as m, BoundedNumber as mn, isLeft as mr, FormValidation as mt, UntypedMatch as n, TaskFailure as nn, deserializeError as nr, Layer as nt, Some as o, TaskResult as on, EitherBase as or, Exit as ot, ValuableParams as p, Base as pn, TypeCheckRight as pr, FieldValidation as pt, TestContext as q, createSerializationCompanion as qn, DecoderErrorLeaf as qt, None as r, TaskMetadata as rn, serializeError as rr, LayerError as rt, TracedOption as s, TaskSuccess as sn, Left as sr, ExitTag as st, Match as t, Task$1 as tn, SerializedError as tr, UnsupportedSyncOperationError as tt, TraceOp as u, NAME as un, RightOf as ur, HasService as ut, Map$1 as v, IntegerNumber as vn, Widen as vr, ErrorCode as vt, Kind as w, UUID as wn, Functor as wr, ErrorFormatterOptions as wt, Identity as x, PatternString as xn, Promisable as xr, TypedError as xt, KVTraversable as y, NonEmptyString as yn, reduceRightWiden as yr, ErrorMessage as yt, DecodeError as z, Try as zn, LeftErrorType as zt };
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  import { a as ExtractBrand, c as hasBrand, i as BrandedString, l as unwrapBrand, n as BrandedBoolean, o as Unwrap, r as BrandedNumber, s as createBrander, t as Brand } from "./Brand-bfnGXuum.js";
2
2
  import { i as Companion, n as InstanceType, r as isCompanion, t as CompanionMethods } from "./CompanionTypes-Cc90cQ4P.js";
3
3
  import { a as isTypeable, c as SerializationMethods, d as Type, i as TypeableParams, l as Pipe, n as ExtractTag, o as Serializable, r as Typeable, s as SerializableEnvelope, t as Tuple, u as Foldable } from "./Tuple-B8KM-H8Y.js";
4
- import { $ as TimeoutError, $n as taggedEnvelope, $t as Sync, A as Http, An as FunctypeBase, Ar as Concurrency, At as safeStringify, B as HttpError, Bn as JSONValue, Bt as NoneError, C as HKT, Cn as PositiveNumber, Cr as Functor, Ct as ErrorChainElement, D as TryKind, Dn as ValidatedBrandCompanion, Dr as Extractable, Dt as createErrorSerializer, E as OptionKind, En as ValidatedBrand, Er as ContainerOps, Et as TaskErrorInfo, F as HttpRequestOptions, Fn as Collection, Ft as EmptyListError, G as TestClock, Gn as createCustomSerializer, Gt as DecoderError, H as HttpStatusError, Hn as FUNCTYPE_MARKER, Ht as unwrap, I as HttpRequestView, In as Set, It as FailureError, J as IO, Jn as createTaggedSerializer, Jt as Async, K as TestClockTag, Kn as createSerializationCompanion, Kt as DecoderErrorComposite, L as HttpResponse, Ln as List, Lt as FailureErrorType, M as HttpClientConfig, Mn as Traversable, Mr as DoResult, Mt as Do, N as HttpMethodOptions, Nn as Matchable, Nr as Doable, Nt as DoAsync, O as UniversalContainer, On as FunctypeSum, Or as isExtractable, Ot as formatError, P as HttpQueryParams, Pn as MatchableUtils, Pr as Cond, Pt as DoGenerator, Q as Task, Qn as fromYAML, Qt as Ok, R as ParseMode, Rn as Try, Rt as LeftError, S as EitherKind, Sn as PositiveInteger, Sr as AsyncMonad, St as TypedErrorContext, T as ListKind, Tn as UrlString, Tr as CollectionOps, Tt as ErrorWithTaskInfo, U as NetworkError, Un as FunctypeEnvelope, Ut as Decoder, V as HttpMethod, Vn as Serialization_d_exports, Vt as isDoCapable, W as ResponseDecodeError, Wn as SerializationResult, Wt as Encoder, X as RIO, Xn as fromBinary, Xt as CancellationTokenSource, Y as InterruptedError, Yn as envelope, Yt as CancellationToken, Z as RepeatExhausted, Zn as fromJSON, Zt as Err, _ as ESMapType, _n as ISO8601Date, _r as Widen, _t as Validator, a as OptionConstructor, an as TaskParams, ar as EitherBase, at as LayerOutput, b as Lazy, bn as NonNegativeNumber, br as Promisable, bt as ErrorStatus, c as Tracer, cn as createCancellationTokenSource, cr as Right, ct as Context, d as Stack, dn as Throwable, dr as TypeCheckLeft, dt as Tag, en as TaggedThrowable, er as SerializedError, et as UIO, f as Valuable, fn as ThrowableType, fr as TypeCheckRight, ft as TagService, g as ESMap, gn as EmailAddress, gr as tryCatchAsync, gt as ValidationRule, h as Obj, hn as BoundedString, hr as tryCatch, ht as Validation, i as Option, in as TaskOutcome, ir as Either, it as LayerInput, j as HttpClient, jn as FunctypeCollection, jr as ConcurrencyOptions, jt as $, k as FoldableUtils, kn as Functype, kr as ParseError, kt as formatStackTrace, l as TraceEvent, ln as isTaggedThrowable, lr as RightOf, lt as ContextServices, m as Ref, mn as BoundedNumber, mr as isRight, mt as FormValidation, n as UntypedMatch, nn as TaskFailure, nr as serializeError, nt as Layer, o as Some, on as TaskResult, or as Left, ot as Exit, p as ValuableParams, pn as Base, pr as isLeft, pt as FieldValidation, q as TestContext, qn as createSerializer, qt as DecoderErrorLeaf, r as None, rn as TaskMetadata, rr as LazyList, rt as LayerError, s as TracedOption, sn as TaskSuccess, sr as LeftOf, st as ExitTag, t as Match, tn as Task$1, tr as deserializeError, tt as UnsupportedSyncOperationError, u as TraceOp, un as NAME, ur as TestEither, ut as HasService, v as Map, vn as IntegerNumber, vr as reduceRightWiden, vt as ErrorCode, w as Kind, wn as UUID, wr as Monad, wt as ErrorFormatterOptions, x as Identity, xn as PatternString, xr as Applicative, xt as TypedError, y as KVTraversable, yn as NonEmptyString, yr as reduceWiden, yt as ErrorMessage, z as DecodeError, zn as TypeNames, zt as LeftErrorType } from "./index-fXZaC5V_.js";
4
+ import { $ as TimeoutError, $n as fromYAML, $t as Sync, A as Http, An as FunctypeBase, Ar as ParseError, At as safeStringify, B as HttpError, Bn as TypeNames, Bt as NoneError, C as HKT, Cn as PositiveNumber, Cr as AsyncMonad, Ct as ErrorChainElement, D as TryKind, Dn as ValidatedBrandCompanion, Dr as ContainerOps, Dt as createErrorSerializer, E as OptionKind, En as ValidatedBrand, Er as CollectionOps, Et as TaskErrorInfo, F as HttpRequestOptions, Fn as Collection, Fr as Cond, Ft as EmptyListError, G as TestClock, Gn as SerializationResult, Gt as DecoderError, H as HttpStatusError, Hn as Serialization_d_exports, Ht as unwrap, I as HttpRequestView, In as Set, It as FailureError, J as IO, Jn as createSerializer, Jt as Async, K as TestClockTag, Kn as createCustomSerializer, Kt as DecoderErrorComposite, L as HttpResponse, Ln as List, Lt as FailureErrorType, M as HttpClientConfig, Mn as Traversable, Mr as ConcurrencyOptions, Mt as Do, N as HttpMethodOptions, Nn as Matchable, Nr as DoResult, Nt as DoAsync, O as UniversalContainer, On as FunctypeSum, Or as Extractable, Ot as formatError, P as HttpQueryParams, Pn as MatchableUtils, Pr as Doable, Pt as DoGenerator, Q as Task, Qn as fromJSON, Qt as Ok, R as ParseMode, Rn as Reshapeable, Rt as LeftError, S as EitherKind, Sn as PositiveInteger, Sr as Applicative, St as TypedErrorContext, T as ListKind, Tn as UrlString, Tr as Monad, Tt as ErrorWithTaskInfo, U as NetworkError, Un as FUNCTYPE_MARKER, Ut as Decoder, V as HttpMethod, Vn as JSONValue, Vt as isDoCapable, W as ResponseDecodeError, Wn as FunctypeEnvelope, Wt as Encoder, X as RIO, Xn as envelope, Xt as CancellationTokenSource, Y as InterruptedError, Yn as createTaggedSerializer, Yt as CancellationToken, Z as RepeatExhausted, Zn as fromBinary, Zt as Err, _ as ESMapType, _n as ISO8601Date, _r as tryCatchAsync, _t as Validator, a as OptionConstructor, an as TaskParams, ar as Either, at as LayerOutput, b as Lazy, bn as NonNegativeNumber, br as reduceWiden, bt as ErrorStatus, c as Tracer, cn as createCancellationTokenSource, cr as LeftOf, ct as Context, d as Stack, dn as Throwable, dr as TestEither, dt as Tag, en as TaggedThrowable, er as taggedEnvelope, et as UIO, f as Valuable, fn as ThrowableType, fr as TypeCheckLeft, ft as TagService, g as ESMap, gn as EmailAddress, gr as tryCatch, gt as ValidationRule, h as Obj, hn as BoundedString, hr as isRight, ht as Validation, i as Option, in as TaskOutcome, ir as LazyList, it as LayerInput, j as HttpClient, jn as FunctypeCollection, jr as Concurrency, jt as $, k as FoldableUtils, kn as Functype, kr as isExtractable, kt as formatStackTrace, l as TraceEvent, ln as isTaggedThrowable, lr as Right, lt as ContextServices, m as Ref, mn as BoundedNumber, mr as isLeft, mt as FormValidation, n as UntypedMatch, nn as TaskFailure, nr as deserializeError, nt as Layer, o as Some, on as TaskResult, or as EitherBase, ot as Exit, p as ValuableParams, pn as Base, pr as TypeCheckRight, pt as FieldValidation, q as TestContext, qn as createSerializationCompanion, qt as DecoderErrorLeaf, r as None, rn as TaskMetadata, rr as serializeError, rt as LayerError, s as TracedOption, sn as TaskSuccess, sr as Left, st as ExitTag, t as Match, tn as Task$1, tr as SerializedError, tt as UnsupportedSyncOperationError, u as TraceOp, un as NAME, ur as RightOf, ut as HasService, v as Map, vn as IntegerNumber, vr as Widen, vt as ErrorCode, w as Kind, wn as UUID, wr as Functor, wt as ErrorFormatterOptions, x as Identity, xn as PatternString, xr as Promisable, xt as TypedError, y as KVTraversable, yn as NonEmptyString, yr as reduceRightWiden, yt as ErrorMessage, z as DecodeError, zn as Try, zt as LeftErrorType } from "./index-C5IrHYtk.js";
5
5
  import { n as invariant, t as InvariantViolation } from "./Invariant-DEan-SxV.js";
6
6
  import { t as Logger } from "./Logger-BmprRS8v.js";
7
7
  import { n as WireMark, t as Wire } from "./Wire-3hvw0Ogg.js";
8
- export { $, type Applicative, Async, type AsyncMonad, Base, BoundedNumber, BoundedString, Brand, BrandedBoolean, type BrandedBoolean as BrandedBooleanType, BrandedNumber, type BrandedNumber as BrandedNumberType, BrandedString, type BrandedString as BrandedStringType, CancellationToken, CancellationTokenSource, Collection, type CollectionOps, Companion, CompanionMethods, type Concurrency, type ConcurrencyOptions, Cond, type ContainerOps, Context, type Context as ContextType, type ContextServices, type DecodeError, Decoder, DecoderError, type DecoderErrorComposite, type DecoderErrorLeaf, Do, DoAsync, DoGenerator, type DoResult, type Doable, ESMap, ESMapType, Either, EitherBase, EitherKind, EmailAddress, EmptyListError, type Encoder, Err, ErrorChainElement, ErrorCode, ErrorFormatterOptions, ErrorMessage, ErrorStatus, ErrorWithTaskInfo, Exit, type Exit as ExitType, type ExitTag, type ExtractBrand, ExtractTag, type Extractable, FUNCTYPE_MARKER, FailureError, FailureErrorType, FieldValidation, Foldable, FoldableUtils, FormValidation, type Functor, Functype, FunctypeBase, FunctypeCollection, FunctypeEnvelope, FunctypeSum, HKT, type HasService, Http, HttpClient, type HttpClientConfig, type HttpError, HttpError as HttpErrors, type HttpMethod, type HttpMethodOptions, type HttpQueryParams, type HttpRequestOptions, type HttpRequestView, type HttpResponse, type HttpStatusError, IO, type IO as IOType, type Task as IOTask, ISO8601Date, Identity, InstanceType, IntegerNumber, InterruptedError, InvariantViolation, type JSONValue, KVTraversable, Kind, Layer, type Layer as LayerType, type LayerError, type LayerInput, type LayerOutput, Lazy, type Lazy as LazyType, LazyList, Left, LeftError, LeftErrorType, LeftOf, List, ListKind, type Logger, Map, Match, type Matchable, MatchableUtils, type Monad, NAME, type NetworkError, NonEmptyString, NonNegativeNumber, None, NoneError, Obj, Ok, Option, OptionConstructor, OptionKind, ParseError, type ParseMode, PatternString, Pipe, PositiveInteger, PositiveNumber, type Promisable, type RIO, Ref, type Ref as RefType, RepeatExhausted, type ResponseDecodeError, Right, RightOf, Serializable, SerializableEnvelope, Serialization_d_exports as Serialization, SerializationMethods, SerializationResult, SerializedError, Set, Some, Stack, Sync, Tag, type Tag as TagType, type TagService, TaggedThrowable, Task$1 as Task, TaskErrorInfo, TaskFailure, TaskMetadata, TaskOutcome, TaskParams, TaskResult, TaskSuccess, TestClock, type TestClock as TestClockType, TestClockTag, TestContext, type TestContext as TestContextType, TestEither, Throwable, ThrowableType, TimeoutError, type TraceEvent, type TraceOp, TracedOption, type Tracer, Traversable, Try, TryKind, Tuple, Type, TypeCheckLeft, TypeCheckRight, TypeNames, Typeable, TypeableParams, TypedError, TypedErrorContext, type UIO, UUID, UniversalContainer, UnsupportedSyncOperationError, UntypedMatch, type Unwrap, UrlString, ValidatedBrand, type ValidatedBrand as ValidatedBrandType, type ValidatedBrandCompanion, Validation, ValidationRule, Validator, Valuable, ValuableParams, type Widen, type Wire, type WireMark, createBrander, createCancellationTokenSource, createCustomSerializer, createErrorSerializer, createSerializationCompanion, createSerializer, createTaggedSerializer, deserializeError, envelope, formatError, formatStackTrace, fromBinary, fromJSON, fromYAML, hasBrand, invariant, isCompanion, isDoCapable, isExtractable, isLeft, isRight, isTaggedThrowable, isTypeable, reduceRightWiden, reduceWiden, safeStringify, serializeError, taggedEnvelope, tryCatch, tryCatchAsync, unwrap, unwrapBrand };
8
+ export { $, type Applicative, Async, type AsyncMonad, Base, BoundedNumber, BoundedString, Brand, BrandedBoolean, type BrandedBoolean as BrandedBooleanType, BrandedNumber, type BrandedNumber as BrandedNumberType, BrandedString, type BrandedString as BrandedStringType, CancellationToken, CancellationTokenSource, Collection, type CollectionOps, Companion, CompanionMethods, type Concurrency, type ConcurrencyOptions, Cond, type ContainerOps, Context, type Context as ContextType, type ContextServices, type DecodeError, Decoder, DecoderError, type DecoderErrorComposite, type DecoderErrorLeaf, Do, DoAsync, DoGenerator, type DoResult, type Doable, ESMap, ESMapType, Either, EitherBase, EitherKind, EmailAddress, EmptyListError, type Encoder, Err, ErrorChainElement, ErrorCode, ErrorFormatterOptions, ErrorMessage, ErrorStatus, ErrorWithTaskInfo, Exit, type Exit as ExitType, type ExitTag, type ExtractBrand, ExtractTag, type Extractable, FUNCTYPE_MARKER, FailureError, FailureErrorType, FieldValidation, Foldable, FoldableUtils, FormValidation, type Functor, Functype, FunctypeBase, FunctypeCollection, FunctypeEnvelope, FunctypeSum, HKT, type HasService, Http, HttpClient, type HttpClientConfig, HttpError, HttpError as HttpErrors, type HttpMethod, type HttpMethodOptions, type HttpQueryParams, type HttpRequestOptions, type HttpRequestView, type HttpResponse, type HttpStatusError, IO, type IO as IOType, type Task as IOTask, ISO8601Date, Identity, InstanceType, IntegerNumber, InterruptedError, InvariantViolation, type JSONValue, KVTraversable, Kind, Layer, type Layer as LayerType, type LayerError, type LayerInput, type LayerOutput, Lazy, type Lazy as LazyType, LazyList, Left, LeftError, LeftErrorType, LeftOf, List, ListKind, type Logger, Map, Match, type Matchable, MatchableUtils, type Monad, NAME, type NetworkError, NonEmptyString, NonNegativeNumber, None, NoneError, Obj, Ok, Option, OptionConstructor, OptionKind, ParseError, type ParseMode, PatternString, Pipe, PositiveInteger, PositiveNumber, type Promisable, type RIO, Ref, type Ref as RefType, RepeatExhausted, type Reshapeable, type ResponseDecodeError, Right, RightOf, Serializable, SerializableEnvelope, Serialization_d_exports as Serialization, SerializationMethods, SerializationResult, SerializedError, Set, Some, Stack, Sync, Tag, type Tag as TagType, type TagService, TaggedThrowable, Task$1 as Task, TaskErrorInfo, TaskFailure, TaskMetadata, TaskOutcome, TaskParams, TaskResult, TaskSuccess, TestClock, type TestClock as TestClockType, TestClockTag, TestContext, type TestContext as TestContextType, TestEither, Throwable, ThrowableType, TimeoutError, type TraceEvent, type TraceOp, TracedOption, type Tracer, Traversable, Try, TryKind, Tuple, Type, TypeCheckLeft, TypeCheckRight, TypeNames, Typeable, TypeableParams, TypedError, TypedErrorContext, type UIO, UUID, UniversalContainer, UnsupportedSyncOperationError, UntypedMatch, type Unwrap, UrlString, ValidatedBrand, type ValidatedBrand as ValidatedBrandType, type ValidatedBrandCompanion, Validation, ValidationRule, Validator, Valuable, ValuableParams, type Widen, type Wire, type WireMark, createBrander, createCancellationTokenSource, createCustomSerializer, createErrorSerializer, createSerializationCompanion, createSerializer, createTaggedSerializer, deserializeError, envelope, formatError, formatStackTrace, fromBinary, fromJSON, fromYAML, hasBrand, invariant, isCompanion, isDoCapable, isExtractable, isLeft, isRight, isTaggedThrowable, isTypeable, reduceRightWiden, reduceWiden, safeStringify, serializeError, taggedEnvelope, tryCatch, tryCatchAsync, unwrap, unwrapBrand };
package/dist/index.js CHANGED
@@ -1 +1 @@
1
- import{Brand as e,BrandedBoolean as t,BrandedNumber as n,BrandedString as r,createBrander as i,hasBrand as a,unwrap as o}from"./branded/index.js";import{$ as s,A as c,At as l,B as u,C as d,Ct as f,D as p,Dt as m,E as h,Et as g,F as _,Ft as v,G as y,H as b,I as x,J as S,K as C,L as w,M as T,Mt as E,N as D,Nt as O,O as k,Ot as A,P as j,Pt as M,Q as N,R as P,S as F,St as I,T as L,Tt as R,U as z,V as B,W as V,X as H,Y as U,Z as W,_ as G,_t as K,a as q,at as J,b as Y,bt as X,c as Z,ct as Q,d as $,dt as ee,et as te,f as ne,ft as re,g as ie,gt as ae,h as oe,ht as se,i as ce,it as le,j as ue,jt as de,k as fe,kt as pe,l as me,lt as he,m as ge,mt as _e,n as ve,nt as ye,o as be,ot as xe,p as Se,pt as Ce,q as we,r as Te,rt as Ee,s as De,st as Oe,t as ke,tt as Ae,u as je,ut as Me,v as Ne,vt as Pe,w as Fe,wt as Ie,x as Le,xt as Re,y as ze,yt as Be,z as Ve}from"./src-509UWZ5f.js";import{t as He}from"./Companion-DiOMBHDG.js";import{a as Ue,c as We,d as Ge,f as Ke,i as qe,l as Je,n as Ye,o as Xe,r as Ze,s as Qe,t as $e,u as et}from"./serialization-WH9MifUy.js";import{n as tt,t as nt}from"./typeclass-C61yDVYd.js";import{t as rt}from"./CompanionTypes-BVqO7Kc2.js";import{Tuple as it}from"./tuple/index.js";import{InvariantViolation as at,invariant as ot}from"./invariant/index.js";export{D as $,s as Base,ye as BoundedNumber,Ee as BoundedString,e as Brand,t as BrandedBoolean,n as BrandedNumber,r as BrandedString,He as Companion,Ae as Cond,L as Context,b as Decoder,z as DecoderError,j as Do,_ as DoAsync,y as ESMap,se as Either,le as EmailAddress,x as EmptyListError,C as Err,Fe as Exit,$e as FUNCTYPE_MARKER,w as FailureError,je as FoldableUtils,me as HKT,$ as Http,Se as HttpClient,ne as HttpErrors,ze as IO,J as ISO8601Date,Z as Identity,xe as IntegerNumber,Y as InterruptedError,at as InvariantViolation,Ne as Layer,De as Lazy,A as LazyList,ae as Left,P as LeftError,Ie as List,V as Map,te as Match,be as MatchableUtils,W as NAME,Oe as NonEmptyString,Q as NonNegativeNumber,de as None,Ve as NoneError,q as Obj,we as Ok,E as Option,O as OptionConstructor,v as ParseError,he as PatternString,Me as PositiveInteger,ee as PositiveNumber,pe as Ref,Le as RepeatExhausted,K as Right,Te as Serialization,l as Set,M as Some,ce as Stack,G as Tag,S as Task,ge as TestClock,oe as TestClockTag,ie as TestContext,N as Throwable,F as TimeoutError,ve as TracedOption,m as Try,it as Tuple,Pe as TypeCheckLeft,Be as TypeCheckRight,R as Typeable,k as TypedError,re as UUID,d as UnsupportedSyncOperationError,Ce as UrlString,_e as ValidatedBrand,p as Validation,ke as Valuable,i as createBrander,U as createCancellationTokenSource,Ye as createCustomSerializer,fe as createErrorSerializer,Ze as createSerializationCompanion,qe as createSerializer,Ue as createTaggedSerializer,Ge as deserializeError,Xe as envelope,c as formatError,ue as formatStackTrace,Qe as fromBinary,We as fromJSON,Je as fromYAML,a as hasBrand,ot as invariant,rt as isCompanion,u as isDoCapable,h as isExtractable,X as isLeft,Re as isRight,H as isTaggedThrowable,g as isTypeable,nt as reduceRightWiden,tt as reduceWiden,T as safeStringify,Ke as serializeError,et as taggedEnvelope,I as tryCatch,f as tryCatchAsync,B as unwrap,o as unwrapBrand};
1
+ import{Brand as ee,BrandedBoolean as te,BrandedNumber as ne,BrandedString as e,createBrander as t,hasBrand as n,unwrap as r}from"./branded/index.js";import{$ as i,A as a,At as o,B as s,C as c,Ct as l,D as u,Dt as d,E as f,Et as p,F as m,Ft as h,G as g,H as _,I as v,J as y,K as b,L as x,M as S,Mt as C,N as w,Nt as T,O as E,Ot as D,P as O,Pt as k,Q as A,R as j,S as M,St as N,T as P,Tt as F,U as I,V as L,W as R,X as z,Y as B,Z as V,_ as H,_t as U,a as W,at as G,b as K,bt as q,c as J,ct as Y,d as X,dt as Z,et as re,f as Q,ft as ie,g as ae,gt as oe,h as se,ht as ce,i as le,it as $,j as ue,jt as de,k as fe,kt as pe,l as me,lt as he,m as ge,mt as _e,n as ve,nt as ye,o as be,ot as xe,p as Se,pt as Ce,q as we,r as Te,rt as Ee,s as De,st as Oe,t as ke,tt as Ae,u as je,ut as Me,v as Ne,vt as Pe,w as Fe,wt as Ie,x as Le,xt as Re,y as ze,yt as Be,z as Ve}from"./src-DskkjCdD.js";import{t as He}from"./Companion-DiOMBHDG.js";import{a as Ue,c as We,d as Ge,f as Ke,i as qe,l as Je,n as Ye,o as Xe,r as Ze,s as Qe,t as $e,u as et}from"./serialization-BThDTD74.js";import{n as tt,t as nt}from"./typeclass-C61yDVYd.js";import{t as rt}from"./CompanionTypes-BVqO7Kc2.js";import{Tuple as it}from"./tuple/index.js";import{InvariantViolation as at,invariant as ot}from"./invariant/index.js";export{w as $,i as Base,ye as BoundedNumber,Ee as BoundedString,ee as Brand,te as BrandedBoolean,ne as BrandedNumber,e as BrandedString,He as Companion,Ae as Cond,P as Context,_ as Decoder,I as DecoderError,O as Do,m as DoAsync,g as ESMap,ce as Either,$ as EmailAddress,v as EmptyListError,b as Err,Fe as Exit,$e as FUNCTYPE_MARKER,x as FailureError,je as FoldableUtils,me as HKT,X as Http,Se as HttpClient,Q as HttpError,Q as HttpErrors,ze as IO,G as ISO8601Date,J as Identity,xe as IntegerNumber,K as InterruptedError,at as InvariantViolation,Ne as Layer,De as Lazy,D as LazyList,oe as Left,j as LeftError,Ie as List,R as Map,re as Match,be as MatchableUtils,V as NAME,Oe as NonEmptyString,Y as NonNegativeNumber,de as None,Ve as NoneError,W as Obj,we as Ok,C as Option,T as OptionConstructor,h as ParseError,he as PatternString,Me as PositiveInteger,Z as PositiveNumber,pe as Ref,Le as RepeatExhausted,U as Right,Te as Serialization,o as Set,k as Some,le as Stack,H as Tag,y as Task,ge as TestClock,se as TestClockTag,ae as TestContext,A as Throwable,M as TimeoutError,ve as TracedOption,d as Try,it as Tuple,Pe as TypeCheckLeft,Be as TypeCheckRight,F as Typeable,E as TypedError,ie as UUID,c as UnsupportedSyncOperationError,Ce as UrlString,_e as ValidatedBrand,u as Validation,ke as Valuable,t as createBrander,B as createCancellationTokenSource,Ye as createCustomSerializer,fe as createErrorSerializer,Ze as createSerializationCompanion,qe as createSerializer,Ue as createTaggedSerializer,Ge as deserializeError,Xe as envelope,a as formatError,ue as formatStackTrace,Qe as fromBinary,We as fromJSON,Je as fromYAML,n as hasBrand,ot as invariant,rt as isCompanion,s as isDoCapable,f as isExtractable,q as isLeft,Re as isRight,z as isTaggedThrowable,p as isTypeable,nt as reduceRightWiden,tt as reduceWiden,S as safeStringify,Ke as serializeError,et as taggedEnvelope,N as tryCatch,l as tryCatchAsync,L as unwrap,r as unwrapBrand};
@@ -1,2 +1,2 @@
1
- import { $ as TimeoutError, G as TestClock, J as IO, K as TestClockTag, Q as Task, X as RIO, Y as InterruptedError, Z as RepeatExhausted, at as LayerOutput, ct as Context, dt as Tag, et as UIO, ft as TagService, it as LayerInput, lt as ContextServices, nt as Layer, ot as Exit, q as TestContext, rt as LayerError, st as ExitTag, tt as UnsupportedSyncOperationError, ut as HasService } from "../index-fXZaC5V_.js";
1
+ import { $ as TimeoutError, G as TestClock, J as IO, K as TestClockTag, Q as Task, X as RIO, Y as InterruptedError, Z as RepeatExhausted, at as LayerOutput, ct as Context, dt as Tag, et as UIO, ft as TagService, it as LayerInput, lt as ContextServices, nt as Layer, ot as Exit, q as TestContext, rt as LayerError, st as ExitTag, tt as UnsupportedSyncOperationError, ut as HasService } from "../index-C5IrHYtk.js";
2
2
  export { Context, type Context as ContextType, type ContextServices, Exit, type Exit as ExitType, type ExitTag, type HasService, IO, type IO as IOType, type Task as IOTask, InterruptedError, Layer, type Layer as LayerType, type LayerError, type LayerInput, type LayerOutput, type RIO, RepeatExhausted, Tag, type Tag as TagType, type TagService, TestClock, type TestClock as TestClockType, TestClockTag, TestContext, type TestContext as TestContextType, TimeoutError, type UIO, UnsupportedSyncOperationError };
package/dist/io/index.js CHANGED
@@ -1 +1 @@
1
- import{C as e,S as t,T as n,_ as r,b as i,g as a,h as o,m as s,v as c,w as l,x as u,y as d}from"../src-509UWZ5f.js";export{n as Context,l as Exit,d as IO,i as InterruptedError,c as Layer,u as RepeatExhausted,r as Tag,s as TestClock,o as TestClockTag,a as TestContext,t as TimeoutError,e as UnsupportedSyncOperationError};
1
+ import{C as e,S as t,T as n,_ as r,b as i,g as a,h as o,m as s,v as c,w as l,x as u,y as d}from"../src-DskkjCdD.js";export{n as Context,l as Exit,d as IO,i as InterruptedError,c as Layer,u as RepeatExhausted,r as Tag,s as TestClock,o as TestClockTag,a as TestContext,t as TimeoutError,e as UnsupportedSyncOperationError};
@@ -1,2 +1,2 @@
1
- import { b as Lazy } from "../index-fXZaC5V_.js";
1
+ import { b as Lazy } from "../index-C5IrHYtk.js";
2
2
  export { Lazy, type Lazy as LazyType };
@@ -1 +1 @@
1
- import{s as e}from"../src-509UWZ5f.js";export{e as Lazy};
1
+ import{s as e}from"../src-DskkjCdD.js";export{e as Lazy};
@@ -1,2 +1,2 @@
1
- import { Ln as List } from "../index-fXZaC5V_.js";
1
+ import { Ln as List } from "../index-C5IrHYtk.js";
2
2
  export { List };
@@ -1 +1 @@
1
- import{wt as e}from"../src-509UWZ5f.js";export{e as List};
1
+ import{wt as e}from"../src-DskkjCdD.js";export{e as List};
@@ -1,2 +1,2 @@
1
- import { v as Map } from "../index-fXZaC5V_.js";
1
+ import { v as Map } from "../index-C5IrHYtk.js";
2
2
  export { Map };
package/dist/map/index.js CHANGED
@@ -1 +1 @@
1
- import{W as e}from"../src-509UWZ5f.js";export{e as Map};
1
+ import{W as e}from"../src-DskkjCdD.js";export{e as Map};