finish refactor

This commit is contained in:
Rowan 2025-04-13 04:45:12 -05:00
parent 17a10b92f2
commit d661524857
4 changed files with 28 additions and 0 deletions

View file

@ -55,5 +55,9 @@ export class IO extends Algebra(Monad) {
run() { run() {
return this._effect() return this._effect()
} }
toString() {
return `IO(${this._effect})`
}
} }

View file

@ -70,6 +70,10 @@ class Empty extends Interfaces {
isEmpty() { isEmpty() {
return true return true
} }
toString() {
return `List(Empty)`
}
} }
/** @template T */ /** @template T */
@ -172,6 +176,10 @@ class Element extends Interfaces {
[] []
) )
} }
toString() {
return `List(${this.toArray()})`
}
} }
class TypeRef { class TypeRef {

View file

@ -85,6 +85,10 @@ export class Some extends Interfaces {
reduce(f, init) { reduce(f, init) {
return f(init, this.#value) return f(init, this.#value)
} }
toString() {
return `Some(${this.#value})`
}
} }
/** @template T */ /** @template T */
@ -151,6 +155,10 @@ export class None extends Interfaces {
reduce(_f, init) { reduce(_f, init) {
return init return init
} }
toString() {
return 'None'
}
} }
/** /**

View file

@ -140,6 +140,10 @@ export class Ok extends Interfaces {
bimap(f, _g) { bimap(f, _g) {
return /** @type {Result<T2, E2>} */ (this.map(f)) return /** @type {Result<T2, E2>} */ (this.map(f))
} }
toString() {
return `Ok(${this.#value})`
}
} }
/** /**
@ -257,6 +261,10 @@ export class Err extends Interfaces {
bimap(_f, g) { bimap(_f, g) {
return /** @type {Result<T2, E2>} */ (err(g(this.#value))) return /** @type {Result<T2, E2>} */ (err(g(this.#value)))
} }
toString() {
return `Err(${this.#value})`
}
} }
/** /**