MCPcopy Index your code
hub / github.com/Effect-TS/effect / group

Function group

packages/printer/src/internal/doc.ts:381–405  ·  view source on GitHub ↗
(self: Doc.Doc<A>)

Source from the content-addressed store, hash-verified

379
380/** @internal */
381export const group = <A>(self: Doc.Doc<A>): Doc.Doc<A> => {
382 switch (self._tag) {
383 case "FlatAlt": {
384 const flattened = changesUponFlattening(self.right)
385 switch (flattened._tag) {
386 case "Flattened": {
387 return union(flattened.value, self.left)
388 }
389 case "AlreadyFlat": {
390 return union(self.right, self.left)
391 }
392 case "NeverFlat": {
393 return self.left
394 }
395 }
396 }
397 case "Union": {
398 return self
399 }
400 default: {
401 const flattened = changesUponFlattening(self)
402 return InternalFlatten.isFlattened(flattened) ? union(flattened.value, self) : self
403 }
404 }
405}
406
407// -----------------------------------------------------------------------------
408// Reactive Layouts

Callers 4

catsFunction · 0.70
sepsFunction · 0.70
listFunction · 0.70
tupledFunction · 0.70

Calls 1

changesUponFlatteningFunction · 0.85

Tested by

no test coverage detected