MCPcopy Create free account
hub / github.com/Effect-TS/effect / pipeArguments

Function pipeArguments

packages/effect/src/Pipeable.ts:564–594  ·  view source on GitHub ↗
(self: A, args: IArguments)

Source from the content-addressed store, hash-verified

562 * @since 2.0.0
563 */
564export const pipeArguments = <A>(self: A, args: IArguments): unknown => {
565 switch (args.length) {
566 case 0:
567 return self
568 case 1:
569 return args[0](self)
570 case 2:
571 return args[1](args[0](self))
572 case 3:
573 return args[2](args[1](args[0](self)))
574 case 4:
575 return args[3](args[2](args[1](args[0](self))))
576 case 5:
577 return args[4](args[3](args[2](args[1](args[0](self)))))
578 case 6:
579 return args[5](args[4](args[3](args[2](args[1](args[0](self))))))
580 case 7:
581 return args[6](args[5](args[4](args[3](args[2](args[1](args[0](self)))))))
582 case 8:
583 return args[7](args[6](args[5](args[4](args[3](args[2](args[1](args[0](self))))))))
584 case 9:
585 return args[8](args[7](args[6](args[5](args[4](args[3](args[2](args[1](args[0](self)))))))))
586 default: {
587 let ret = self
588 for (let i = 0, len = args.length; i < len; i++) {
589 ret = args[i](ret)
590 }
591 return ret
592 }
593 }
594}
595
596/**
597 * Reusable prototype that implements `Pipeable.pipe`.

Callers 15

pipeFunction · 0.90
pipeMethod · 0.90
pipeFunction · 0.90
pipeFunction · 0.90
pipeMethod · 0.90
pipeMethod · 0.90
pipeFunction · 0.90
pipeFunction · 0.90
pipeFunction · 0.90
pipeMethod · 0.90
pipeMethod · 0.90
pipeMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected