Skip to content

Commit 39cc618

Browse files
committed
reduce code duplication
1 parent e1b35c2 commit 39cc618

File tree

1 file changed

+14
-15
lines changed

1 file changed

+14
-15
lines changed

src/translator/clause.ts

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -156,27 +156,26 @@ function oClause(
156156
preposition: [],
157157
emphasis: false,
158158
}]);
159-
return ArrayResult.concat(
160-
ArrayResult.combine(subject, predicate(clause.predicates, "o"))
161-
.flatMap(([subject, predicate]) =>
162-
verb(predicate, perspective(subject), subject.quantity)
163-
.map<English.Clause>((verb) => iWish(subject, verb))
164-
),
165-
ArrayResult.combine(
166-
subject,
167-
predicate(clause.predicates, "o")
168-
.map((verb) => addModalToAll(unemphasized("should"), verb)),
169-
)
170-
.flatMap(([subject, predicate]) =>
159+
return ArrayResult.combine(subject, predicate(clause.predicates, "o"))
160+
.flatMap(([subject, predicate]) =>
161+
ArrayResult.concat(
171162
verb(predicate, perspective(subject), subject.quantity)
163+
.map<English.Clause>((verb) => iWish(subject, verb)),
164+
ArrayResult.from(() =>
165+
verb(
166+
addModalToAll(unemphasized("should"), predicate),
167+
perspective(subject),
168+
subject.quantity,
169+
)
170+
)
172171
.map((verb) => ({
173172
type: "default",
174173
subject,
175174
verb,
176175
hideSubject: false,
177-
}))
178-
),
179-
);
176+
})),
177+
)
178+
);
180179
}
181180
export function clause(clause: TokiPona.Clause): ArrayResult<English.Clause> {
182181
switch (clause.type) {

0 commit comments

Comments
 (0)