Skip to content

Commit d280ccc

Browse files
committed
better name
1 parent 92904a0 commit d280ccc

8 files changed

Lines changed: 17 additions & 11 deletions

File tree

src/compound.ts

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -141,7 +141,9 @@ export class IterableResult<T> {
141141
) as IterableResult<T>;
142142
}
143143

144-
static from<T>(iterableResult: () => IterableResult<T>): IterableResult<T> {
144+
static handleThrows<T>(
145+
iterableResult: () => IterableResult<T>,
146+
): IterableResult<T> {
145147
try {
146148
return iterableResult();
147149
} catch (error) {
@@ -202,7 +204,9 @@ export class IterableResult<T> {
202204
for (const result of this) {
203205
switch (result.type) {
204206
case "value": {
205-
const more = IterableResult.from(() => mapper(result.value));
207+
const more = IterableResult.handleThrows(() =>
208+
mapper(result.value)
209+
);
206210
for (const result of more) {
207211
switch (result.type) {
208212
case "value":

src/translator/adjective.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ export function adjective(
3333
const { definition, reduplicationCount, emphasis } = options;
3434
type EmphasisSo = Readonly<{ emphasis: boolean; so: null | string }>;
3535
return IterableResult.concat(
36-
IterableResult.from(() => IterableResult.single(so(emphasis)))
36+
IterableResult.handleThrows(() => IterableResult.single(so(emphasis)))
3737
.map((so): EmphasisSo => ({ emphasis: false, so })),
3838
IterableResult.single<EmphasisSo>({ emphasis: emphasis != null, so: null }),
3939
)

src/translator/clause.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -170,7 +170,7 @@ function oClause(clause: TokiPona.Clause & { type: "o clause" }) {
170170
return IterableResult.concat(
171171
verb(predicate, subjectPerspective, subjectQuantity)
172172
.map((verb) => iWish(subject, verb)),
173-
IterableResult.from(() => {
173+
IterableResult.handleThrows(() => {
174174
return verb(
175175
addModalToAll({
176176
modal: "should",

src/translator/phrase.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ function nounPhrase(
4646
}>,
4747
) {
4848
const { emphasis, noun, modifier } = options;
49-
return IterableResult.from(() => {
49+
return IterableResult.handleThrows(() => {
5050
const determiners = [
5151
...modifier.determiners.toReversed(),
5252
...noun.determiners,
@@ -222,7 +222,7 @@ function defaultPhrase(
222222
} else if (
223223
headWord.type === "verb" && modifier.type === "adverbial"
224224
) {
225-
return IterableResult.from(() =>
225+
return IterableResult.handleThrows(() =>
226226
IterableResult.single<PhraseTranslation>({
227227
type: "verb",
228228
verb: {

src/translator/predicate.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ function predicateVerb(
130130
case "adjective":
131131
return make(predicate, object);
132132
case "verb":
133-
return IterableResult.from(() =>
133+
return IterableResult.handleThrows(() =>
134134
IterableResult.single(verbObject(predicate.verb, object))
135135
);
136136
}

src/translator2/adjective.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ export function adjective(
3232
const { definition, reduplicationCount, emphasis } = options;
3333
type EmphasisSo = Readonly<{ emphasis: boolean; so: null | string }>;
3434
return IterableResult.concat(
35-
IterableResult.from(() => IterableResult.single(so(emphasis)))
35+
IterableResult.handleThrows(() => IterableResult.single(so(emphasis)))
3636
.map((so): EmphasisSo => ({ emphasis: false, so })),
3737
IterableResult.single<EmphasisSo>({ emphasis: emphasis != null, so: null }),
3838
)

src/translator2/number.ts

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,10 +88,12 @@ function nasinNanpaPona(numbers: ReadonlyArray<number>) {
8888
function combineNumbers(numbers: ReadonlyArray<number>) {
8989
if (numbers.length === 1 || !numbers.includes(0)) {
9090
return IterableResult.concat(
91-
IterableResult.from(() =>
91+
IterableResult.handleThrows(() =>
9292
IterableResult.fromNullable(nasinNanpaPona(numbers))
9393
),
94-
IterableResult.from(() => IterableResult.single(regularNumber(numbers))),
94+
IterableResult.handleThrows(() =>
95+
IterableResult.single(regularNumber(numbers))
96+
),
9597
);
9698
} else {
9799
return IterableResult.errors([

src/translator2/phrase.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@ function defaultPhrase(
187187
} else if (
188188
headWord.type === "verb" && adjectivalIsNone(modifier.adjectival)
189189
) {
190-
return IterableResult.from(() =>
190+
return IterableResult.handleThrows(() =>
191191
IterableResult.single<PhraseTranslation>({
192192
type: "verb",
193193
verb: {

0 commit comments

Comments
 (0)