@@ -90,82 +90,71 @@ export function phrase(value: Phrase): string {
9090 return preposition ( value ) ;
9191 }
9292}
93- function particle ( type : "and" | "anu" , particle : string ) {
94- if ( type === "and" ) {
95- return particle ;
96- } else {
97- return "anu;" ;
98- }
99- }
100- export function multiplePhrases (
101- phrases : MultiplePhrases ,
102- andParticle : string ,
103- ) : string {
93+ export function multiplePhrases ( phrases : MultiplePhrases ) : string {
10494 switch ( phrases . type ) {
10595 case "simple" :
10696 return phrase ( phrases . phrase ) ;
10797 case "and" :
10898 case "anu" : {
10999 return phrases . phrases
110- . map ( ( phrases ) => multiplePhrases ( phrases , andParticle ) )
111- . join ( ` ${ particle ( phrases . type , andParticle ) } ` ) ;
100+ . map ( ( phrases ) => multiplePhrases ( phrases ) )
101+ . join ( ` ${ phrases . particle } ` ) ;
112102 }
113103 }
114104}
115105export function preposition ( preposition : Preposition ) : string {
116106 return [
117107 wordUnit ( preposition . preposition ) ,
118108 ...preposition . modifiers . map ( modifier ) ,
119- multiplePhrases ( preposition . phrases , "" ) ,
109+ multiplePhrases ( preposition . phrases ) ,
120110 ...emphasisAsArray ( preposition . emphasis ) ,
121111 ]
122112 . join ( " " ) ;
123113}
124114export function multiplePredicates (
125115 predicates : Predicate ,
126- andParticle : string ,
127116) : string {
128117 switch ( predicates . type ) {
129118 case "simple" :
130119 return phrase ( predicates . predicate ) ;
131120 case "associated" : {
132121 return [
133- multiplePhrases ( predicates . predicates , andParticle ) ,
122+ multiplePhrases ( predicates . predicates ) ,
134123 ...nullableAsArray ( predicates . objects ) . map ( ( ) => "e" ) ,
135124 ...nullableAsArray ( predicates . objects )
136- . map ( ( objects ) => multiplePhrases ( objects , "e" ) ) ,
125+ . map ( ( objects ) => multiplePhrases ( objects ) ) ,
137126 ...predicates . prepositions . map ( preposition ) ,
138127 ]
139128 . join ( " " ) ;
140129 }
141130 case "and" :
142131 case "anu" :
143132 return predicates . predicates
144- . map ( ( predicates ) => multiplePredicates ( predicates , andParticle ) )
145- . join ( ` ${ particle ( predicates . type , andParticle ) } ` ) ;
133+ . map ( ( predicates ) => multiplePredicates ( predicates ) )
134+ . join ( ` ${ predicates . particle } ` ) ;
146135 }
147136}
148137export function clause ( clause : Clause ) : string {
149138 switch ( clause . type ) {
150139 case "phrases" :
151- return multiplePhrases ( clause . phrases , "en" ) ;
140+ return multiplePhrases ( clause . phrases ) ;
152141 case "o vocative" :
153- return `${ multiplePhrases ( clause . phrases , "en" ) } o` ;
142+ return `${ multiplePhrases ( clause . phrases ) } o` ;
154143 case "li clause" : {
155144 const li = clause . explicitLi ? [ "li" ] : [ ] ;
156145 return [
157- multiplePhrases ( clause . subjects , "en" ) ,
146+ multiplePhrases ( clause . subjects ) ,
158147 ...li ,
159- multiplePredicates ( clause . predicates , "li" ) ,
148+ multiplePredicates ( clause . predicates ) ,
160149 ]
161150 . join ( " " ) ;
162151 }
163152 case "o clause" :
164153 return [
165154 ...nullableAsArray ( clause . subjects )
166- . map ( ( subjects ) => multiplePhrases ( subjects , "en" ) ) ,
155+ . map ( ( subjects ) => multiplePhrases ( subjects ) ) ,
167156 "o" ,
168- multiplePredicates ( clause . predicates , "o" ) ,
157+ multiplePredicates ( clause . predicates ) ,
169158 ]
170159 . join ( " " ) ;
171160 }
0 commit comments