MCPcopy Create free account
hub / github.com/CJex/regulex / intersect

Function intersect

src/Kit.ts:556–569  ·  view source on GitHub ↗
(a: CharRangeRepr, b: CharRangeRepr)

Source from the content-addressed store, hash-verified

554 }
555
556 export function intersect(a: CharRangeRepr, b: CharRangeRepr): Maybe<CharRangeRepr> {
557 let a1 = begin(a);
558 let a2 = end(a);
559 let b1 = begin(b);
560 let b2 = end(b);
561 if (b2 < a1 || a2 < b1) return;
562 if (a1 <= b1) {
563 if (b2 <= a2) return b;
564 else return pack(b1, a2);
565 } else {
566 if (a2 <= b2) return a;
567 else return pack(a1, b2);
568 }
569 }
570
571 export function join(a: CharRangeRepr, b: CharRangeRepr): Maybe<CharRangeRepr> {
572 let a1 = begin(a);

Callers

nothing calls this directly

Calls 3

beginFunction · 0.85
endFunction · 0.85
packFunction · 0.85

Tested by

no test coverage detected