Skip to content

Commit 4223f9d

Browse files
author
André Schreck
committed
less mutants are generated
1 parent c3f8025 commit 4223f9d

File tree

1 file changed

+5
-9
lines changed

1 file changed

+5
-9
lines changed

src/index.ts

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
import { Operator, TerminalOperator, OperatorResult } from './operators/operator';
22

3-
interface ChainContext {
4-
lastOperatorIsTerminal: boolean
5-
}
6-
73
class ChainedOperator<F> {
84
constructor(private delegate: Operator<F, any>,
95
private next: ChainedOperator<any>) {}
106

11-
public performChain(from: F, context: ChainContext): OperatorResult<any> {
7+
public performChain(from: F): OperatorResult<any> {
128
let result: OperatorResult<any>;
139
const to: OperatorResult<any> = this.delegate.perform(from);
1410
if (!to.skip && this.next) {
1511
if (to.needsFlattening) {
1612
const tmp: Array<any> = [];
1713
for (let i=0; i<to.value.length; i++) {
18-
const value: OperatorResult<any> = this.next.performChain(to.value[i], context);
14+
const value: OperatorResult<any> = this.next.performChain(to.value[i]);
1915
tmp.push(value.value);
2016
}
2117
result = {
@@ -24,7 +20,7 @@ class ChainedOperator<F> {
2420
needsFlattening: true
2521
}
2622
} else {
27-
result = this.next.performChain(to.value, context);
23+
result = this.next.performChain(to.value);
2824
}
2925
} else {
3026
result = to;
@@ -67,7 +63,7 @@ declare global {
6763
function handleTerminalPipe(chainedOperator: ChainedOperator<any>, array: Array<any>, lastOperator: Operator<any, any>): any {
6864
let result: any;
6965
for (let i=0; i<array.length; i++) {
70-
const value: OperatorResult<any> = chainedOperator.performChain(array[i], { lastOperatorIsTerminal: true });
66+
const value: OperatorResult<any> = chainedOperator.performChain(array[i]);
7167
if (!value.skip) {
7268
result = value.value;
7369
break;
@@ -82,7 +78,7 @@ function handleTerminalPipe(chainedOperator: ChainedOperator<any>, array: Array<
8278
function handleIntermediatePipe(chainedOperator: ChainedOperator<any>, array: Array<any>): Array<any> {
8379
const result: Array<any> = []
8480
for (let i=0; i<array.length; i++) {
85-
const value: OperatorResult<any> = chainedOperator.performChain(array[i], { lastOperatorIsTerminal: false });
81+
const value: OperatorResult<any> = chainedOperator.performChain(array[i]);
8682
if (!value.skip) {
8783
if (value.needsFlattening) {
8884
for (let j=0; j<value.value.length; j++) {

0 commit comments

Comments
 (0)