File tree 6 files changed +21
-24
lines changed
6 files changed +21
-24
lines changed Original file line number Diff line number Diff line change @@ -74,12 +74,12 @@ export type Clause =
74
74
type : "o clause" ;
75
75
subjects : null | MultiplePhrases ;
76
76
predicates : Predicate ;
77
- } >
78
- | Readonly <
79
- { type : "prepositions" ; prepositions : ReadonlyArray < Preposition > }
80
- > ;
77
+ } > ;
81
78
export type ContextClause =
82
79
| Clause
80
+ | Readonly <
81
+ { type : "prepositions" ; prepositions : ReadonlyArray < Preposition > }
82
+ >
83
83
| ( Readonly < { type : "nanpa" } > & Nanpa )
84
84
| ( Readonly < { type : "anu" ; anu : HeadedWordUnit } > ) ;
85
85
export type Sentence =
Original file line number Diff line number Diff line change @@ -171,12 +171,12 @@ export function clause(clause: Clause): string {
171
171
multiplePredicates ( clause . predicates , "o" ) ,
172
172
]
173
173
. join ( " " ) ;
174
- case "prepositions" :
175
- return clause . prepositions . map ( preposition ) . join ( " " ) ;
176
174
}
177
175
}
178
176
export function contextClause ( contextClause : ContextClause ) : string {
179
177
switch ( contextClause . type ) {
178
+ case "prepositions" :
179
+ return contextClause . prepositions . map ( preposition ) . join ( " " ) ;
180
180
case "nanpa" :
181
181
return nanpa ( contextClause ) ;
182
182
case "anu" :
Original file line number Diff line number Diff line change @@ -94,14 +94,14 @@ export function everyWordUnitInClause(clause: Clause): ReadonlyArray<WordUnit> {
94
94
. flatMap ( everyWordUnitInMultiplePhrases ) ,
95
95
...everyWordUnitInMultiplePredicates ( clause . predicates ) ,
96
96
] ;
97
- case "prepositions" :
98
- return clause . prepositions . flatMap ( everyWordUnitInPreposition ) ;
99
97
}
100
98
}
101
99
export function everyWordUnitInContextClause (
102
100
contextClause : ContextClause ,
103
101
) : ReadonlyArray < WordUnit > {
104
102
switch ( contextClause . type ) {
103
+ case "prepositions" :
104
+ return contextClause . prepositions . flatMap ( everyWordUnitInPreposition ) ;
105
105
case "nanpa" :
106
106
return everyWordUnitInNanpa ( contextClause ) ;
107
107
case "anu" :
Original file line number Diff line number Diff line change @@ -261,8 +261,6 @@ export const CLAUSE_RULE: ReadonlyArray<(clause: Clause) => boolean> = [
261
261
return true ;
262
262
}
263
263
break ;
264
- case "prepositions" :
265
- return true ;
266
264
}
267
265
if (
268
266
everyPhraseInMultiplePhrases ( phrases ) . some ( hasPrepositionInPhrase )
Original file line number Diff line number Diff line change @@ -559,18 +559,6 @@ const clause = choice<Clause>(
559
559
predicates,
560
560
explicitLi : false ,
561
561
} ) ) ,
562
- sequence (
563
- preposition ,
564
- many ( optionalComma . with ( preposition ) ) ,
565
- )
566
- . map (
567
- ( [ preposition , morePreposition ] ) => [ preposition , ...morePreposition ] ,
568
- )
569
- . sortBy ( ( prepositions ) => - prepositions . length )
570
- . map ( ( prepositions ) => ( {
571
- type : "prepositions" ,
572
- prepositions,
573
- } ) ) ,
574
562
subjectPhrases
575
563
. map ( ( phrases ) => ( { type : "phrases" , phrases } ) ) ,
576
564
subjectPhrases
@@ -605,6 +593,18 @@ const clause = choice<Clause>(
605
593
)
606
594
. filter ( filter ( CLAUSE_RULE ) ) ;
607
595
const contextClause = choice < ContextClause > (
596
+ sequence (
597
+ preposition ,
598
+ many ( optionalComma . with ( preposition ) ) ,
599
+ )
600
+ . map (
601
+ ( [ preposition , morePreposition ] ) => [ preposition , ...morePreposition ] ,
602
+ )
603
+ . sortBy ( ( prepositions ) => - prepositions . length )
604
+ . map ( ( prepositions ) => ( {
605
+ type : "prepositions" ,
606
+ prepositions,
607
+ } ) ) ,
608
608
nanpa . map ( ( nanpa ) => ( { ...nanpa , type : "nanpa" } ) ) ,
609
609
wordUnit ( new Set ( [ "anu" ] ) , '"anu"' ) . map ( ( anu ) => ( { type : "anu" , anu } ) ) ,
610
610
clause ,
Original file line number Diff line number Diff line change @@ -200,14 +200,13 @@ export function clause(clause: TokiPona.Clause): ArrayResult<English.Clause> {
200
200
return liClause ( clause ) ;
201
201
case "o clause" :
202
202
return oClause ( clause ) ;
203
- case "prepositions" :
204
- return new ArrayResult ( new TranslationTodoError ( clause . type ) ) ;
205
203
}
206
204
}
207
205
export function contextClause (
208
206
contextClause : TokiPona . ContextClause ,
209
207
) : ArrayResult < English . Clause > {
210
208
switch ( contextClause . type ) {
209
+ case "prepositions" :
211
210
case "nanpa" :
212
211
case "anu" :
213
212
return new ArrayResult (
You can’t perform that action at this time.
0 commit comments