MCPcopy Create free account
hub / github.com/effect-app/libs / make_

Function make_

packages/effect-app/src/Set.ts:618–652  ·  view source on GitHub ↗
(ord: Order.Order<A>, eq_?: Equivalence.Equivalence<A>)

Source from the content-addressed store, hash-verified

616}
617
618function make_<A>(ord: Order.Order<A>, eq_?: Equivalence.Equivalence<A>) {
619 const eq = eq_ ?? ((x, y) => ord(x, y) === 0)
620
621 const fromArray_ = fromArray(eq)
622 const concat_ = (set: Set<A>, it: Iterable<A>) => fromArray_([...set, ...it])
623 const insert__ = insert(eq)
624
625 function replace_(set: Set<A>, a: A) {
626 return pipe(filter_(set, (x) => !eq(x, a)), insert__(a))
627 }
628
629 return {
630 insert: insert__,
631 insert_: insert_(eq),
632 remove: remove(eq),
633 remove_: remove_(eq),
634 reduce: reduce(ord),
635 reduce_: reduce_(ord),
636 replace: (a: A) => (set: Set<A>) => replace_(set, a),
637 replace_,
638 toArray: toArray(ord),
639 fromArray,
640 from: (it: Iterable<A>) => fromArray_([...it]),
641 empty: () => new Set<A>(),
642 concat_,
643 concat: (it: Iterable<A>) => (set: Set<A>) => concat_(set, it),
644
645 // A and B the same, useful when editing elements.
646 map: map(eq),
647 map_: map_(eq),
648 filterMap: filterMap(eq),
649 filterMap_: filterMap_(eq)
650 }
651 // TODO: extend
652}
653
654class Wrapper<A> {
655 wrapped(ord: Order.Order<A>, eq: Equivalence.Equivalence<A>) {

Callers 1

wrappedMethod · 0.70

Calls 14

insert_Function · 0.85
remove_Function · 0.85
reduce_Function · 0.85
map_Function · 0.85
filterMapFunction · 0.85
filterMap_Function · 0.85
fromArrayFunction · 0.70
insertFunction · 0.70
removeFunction · 0.70
reduceFunction · 0.70
replace_Function · 0.70
toArrayFunction · 0.70

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…