File tree Expand file tree Collapse file tree 6 files changed +21
-24
lines changed
Expand file tree Collapse file tree 6 files changed +21
-24
lines changed Original file line number Diff line number Diff line change @@ -74,12 +74,12 @@ export type Clause =
7474 type : "o clause" ;
7575 subjects : null | MultiplePhrases ;
7676 predicates : Predicate ;
77- } >
78- | Readonly <
79- { type : "prepositions" ; prepositions : ReadonlyArray < Preposition > }
80- > ;
77+ } > ;
8178export type ContextClause =
8279 | Clause
80+ | Readonly <
81+ { type : "prepositions" ; prepositions : ReadonlyArray < Preposition > }
82+ >
8383 | ( Readonly < { type : "nanpa" } > & Nanpa )
8484 | ( Readonly < { type : "anu" ; anu : HeadedWordUnit } > ) ;
8585export type Sentence =
Original file line number Diff line number Diff line change @@ -171,12 +171,12 @@ export function clause(clause: Clause): string {
171171 multiplePredicates ( clause . predicates , "o" ) ,
172172 ]
173173 . join ( " " ) ;
174- case "prepositions" :
175- return clause . prepositions . map ( preposition ) . join ( " " ) ;
176174 }
177175}
178176export function contextClause ( contextClause : ContextClause ) : string {
179177 switch ( contextClause . type ) {
178+ case "prepositions" :
179+ return contextClause . prepositions . map ( preposition ) . join ( " " ) ;
180180 case "nanpa" :
181181 return nanpa ( contextClause ) ;
182182 case "anu" :
Original file line number Diff line number Diff line change @@ -94,14 +94,14 @@ export function everyWordUnitInClause(clause: Clause): ReadonlyArray<WordUnit> {
9494 . flatMap ( everyWordUnitInMultiplePhrases ) ,
9595 ...everyWordUnitInMultiplePredicates ( clause . predicates ) ,
9696 ] ;
97- case "prepositions" :
98- return clause . prepositions . flatMap ( everyWordUnitInPreposition ) ;
9997 }
10098}
10199export function everyWordUnitInContextClause (
102100 contextClause : ContextClause ,
103101) : ReadonlyArray < WordUnit > {
104102 switch ( contextClause . type ) {
103+ case "prepositions" :
104+ return contextClause . prepositions . flatMap ( everyWordUnitInPreposition ) ;
105105 case "nanpa" :
106106 return everyWordUnitInNanpa ( contextClause ) ;
107107 case "anu" :
Original file line number Diff line number Diff line change @@ -261,8 +261,6 @@ export const CLAUSE_RULE: ReadonlyArray<(clause: Clause) => boolean> = [
261261 return true ;
262262 }
263263 break ;
264- case "prepositions" :
265- return true ;
266264 }
267265 if (
268266 everyPhraseInMultiplePhrases ( phrases ) . some ( hasPrepositionInPhrase )
Original file line number Diff line number Diff line change @@ -559,18 +559,6 @@ const clause = choice<Clause>(
559559 predicates,
560560 explicitLi : false ,
561561 } ) ) ,
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- } ) ) ,
574562 subjectPhrases
575563 . map ( ( phrases ) => ( { type : "phrases" , phrases } ) ) ,
576564 subjectPhrases
@@ -605,6 +593,18 @@ const clause = choice<Clause>(
605593)
606594 . filter ( filter ( CLAUSE_RULE ) ) ;
607595const 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+ } ) ) ,
608608 nanpa . map ( ( nanpa ) => ( { ...nanpa , type : "nanpa" } ) ) ,
609609 wordUnit ( new Set ( [ "anu" ] ) , '"anu"' ) . map ( ( anu ) => ( { type : "anu" , anu } ) ) ,
610610 clause ,
Original file line number Diff line number Diff line change @@ -200,14 +200,13 @@ export function clause(clause: TokiPona.Clause): ArrayResult<English.Clause> {
200200 return liClause ( clause ) ;
201201 case "o clause" :
202202 return oClause ( clause ) ;
203- case "prepositions" :
204- return new ArrayResult ( new TranslationTodoError ( clause . type ) ) ;
205203 }
206204}
207205export function contextClause (
208206 contextClause : TokiPona . ContextClause ,
209207) : ArrayResult < English . Clause > {
210208 switch ( contextClause . type ) {
209+ case "prepositions" :
211210 case "nanpa" :
212211 case "anu" :
213212 return new ArrayResult (
You can’t perform that action at this time.
0 commit comments