MCPcopy
hub / github.com/freshframework/fresh / getOrCreateSegment

Function getOrCreateSegment

packages/fresh/src/segments.ts:49–73  ·  view source on GitHub ↗
(
  root: Segment<State>,
  path: string,
  includeLast: boolean,
)

Source from the content-addressed store, hash-verified

47}
48
49export function getOrCreateSegment<State>(
50 root: Segment<State>,
51 path: string,
52 includeLast: boolean,
53): Segment<State> {
54 let current = root;
55
56 const segments = patternToSegments(path, root.pattern, includeLast);
57 for (let i = 0; i < segments.length; i++) {
58 const seg = segments[i];
59 if (seg === root.pattern) {
60 current = root;
61 } else {
62 let child = current.children.get(seg);
63 if (child === undefined) {
64 child = newSegment(seg, current);
65 current.children.set(seg, child);
66 }
67
68 current = child;
69 }
70 }
71
72 return current;
73}
74
75export function segmentToMiddlewares<State>(
76 segment: Segment<State>,

Callers 2

applyCommandsInnerFunction · 0.90
segments_test.tsFile · 0.90

Calls 3

patternToSegmentsFunction · 0.90
newSegmentFunction · 0.85
getMethod · 0.45

Tested by

no test coverage detected