Compare commits

..

2 commits

Author SHA1 Message Date
48df37e502 documented crimes 2025-03-31 05:17:07 -05:00
0d29eb50d2 crimes! 2025-03-31 05:16:22 -05:00
3 changed files with 12 additions and 21 deletions

View file

@ -19,5 +19,8 @@ result.bind(() => Err(new Error(-Infinity)))
.bind(Ok) .bind(Ok)
result.isErr() // true result.isErr() // true
// crimes!
None == None() // true
``` ```

View file

@ -81,13 +81,12 @@ function isSome() {
* @returns {this is None} * @returns {this is None}
*/ */
function isNone() { function isNone() {
return this === none return this === None
} }
/** /**
* @template T * @template T
* @param {?T} value * @param {?T} value
* @variation 2
* @returns {Some<T>} * @returns {Some<T>}
*/ */
export const Some = value => ({ export const Some = value => ({
@ -101,21 +100,13 @@ export const Some = value => ({
fold fold
}) })
/** export const None = () => None
* @returns {None} None.isSome = isSome
*/ None.isNone = isNone
export const None = () => none None.chain = constant
None.map = constant
/** @type {None} */ None.alt = alt
export const none = ({ None.fold = fold
isSome,
isNone,
chain: constant,
map: constant,
alt,
fold
})
/** /**
* @template T * @template T

View file

@ -1,5 +1,2 @@
import { Result } from './algebra/result.js' export * from './algebra/index.js'
const a = Result.of(2).chain(x => Result.zero())
console.log(a)