id | title |
---|---|
Monoid |
Module Monoid |
Signature (type class) Source
export interface Monoid<A> extends Semigroup<A> {
readonly empty: A
}
Added in v1.0.0
Boolean monoid under conjunction
Signature (constant) Source
export const monoidAll: Monoid<boolean> = ...
Added in v1.0.0
Boolean monoid under disjunction
Signature (constant) Source
export const monoidAny: Monoid<boolean> = ...
Added in v1.0.0
Number monoid under multiplication
Signature (constant) Source
export const monoidProduct: Monoid<number> = ...
Added in v1.0.0
Signature (constant) Source
export const monoidString: Monoid<string> = ...
Added in v1.0.0
Number monoid under addition
Signature (constant) Source
export const monoidSum: Monoid<number> = ...
Added in v1.0.0
Signature (constant) Source
export const monoidVoid: Monoid<void> = ...
Added in v1.0.0
Signature (constant) Source
export const unsafeMonoidArray: Monoid<Array<any>> = ...
Added in v1.0.0
Signature (function) Source
export const fold = <A>(M: Monoid<A>): ((as: Array<A>) => A) => { ... }
Added in v1.0.0
Monoid under array concatenation (Array<any>
)
Signature (function) Source
export const getArrayMonoid = <A = never>(): Monoid<Array<A>> => { ... }
Added in v1.0.0
Gets Monoid instance for dictionaries given Semigroup instance for their values
Signature (function) Source
export function getDictionaryMonoid<A>(S: Semigroup<A>): Monoid< { ... }
Example
import { getDictionaryMonoid, fold } from 'fp-ts/lib/Monoid'
import { semigroupSum } from 'fp-ts/lib/Semigroup'
const M = getDictionaryMonoid(semigroupSum)
assert.deepStrictEqual(fold(M)([{ foo: 123 }, { foo: 456 }]), { foo: 579 })
Added in v1.4.0
Signature (function) Source
export const getDualMonoid = <A>(M: Monoid<A>): Monoid<A> => { ... }
Added in v1.0.0
Signature (function) Source
export const getEndomorphismMonoid = <A = never>(): Monoid<Endomorphism<A>> => { ... }
Added in v1.0.0
Signature (function) Source
export const getFunctionMonoid = <M>(M: Monoid<M>) => <A = never>(): Monoid<(a: A) => M> => { ... }
Added in v1.0.0
Signature (function) Source
export const getJoinMonoid = <A>(B: Bounded<A>): Monoid<A> => { ... }
Added in v1.9.0
Signature (function) Source
export const getMeetMonoid = <A>(B: Bounded<A>): Monoid<A> => { ... }
Added in v1.9.0
Signature (function) Source
export const getProductMonoid = <A, B>(MA: Monoid<A>, MB: Monoid<B>): Monoid<[A, B]> => { ... }
Added in v1.0.0
Signature (function) Source
export const getRecordMonoid = <O extends { [key: string]: any }>(
monoids: { [K in keyof O]: Monoid<O[K]> }
): Monoid<O> => { ... }
Added in v1.0.0