| 562 | * @since 2.0.0 |
| 563 | */ |
| 564 | export 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`. |