@@ -6,12 +6,6 @@ import { FilteredError } from "./error.ts";
6
6
import { simpleNounForms } from "./noun.ts" ;
7
7
import { word } from "./word.ts" ;
8
8
9
- function filterKind (
10
- determiners : ReadonlyArray < English . Determiner > ,
11
- kinds : ReadonlyArray < Dictionary . DeterminerType > ,
12
- ) {
13
- return determiners . filter ( ( { kind } ) => kinds . includes ( kind ) ) ;
14
- }
15
9
function filterQuantity (
16
10
determiners : ReadonlyArray < English . Determiner > ,
17
11
targetQuantity : Dictionary . Quantity ,
@@ -61,78 +55,6 @@ export function determiner(
61
55
determiner : word ( { ...options , word : determiner } ) ,
62
56
} ) ) ;
63
57
}
64
- export function fixDeterminer (
65
- determiner : ReadonlyArray < English . Determiner > ,
66
- ) : ReadonlyArray < English . Determiner > {
67
- const negative = filterKind ( determiner , [ "negative" ] ) ;
68
- const first = filterKind ( determiner , [
69
- "article" ,
70
- "demonstrative" ,
71
- "possessive" ,
72
- ] ) ;
73
- const article = filterKind ( determiner , [ "article" ] ) ;
74
- const demonstrative = filterKind ( determiner , [ "demonstrative" ] ) ;
75
- const possessive = filterKind ( determiner , [ "possessive" ] ) ;
76
- const distributive = filterKind ( determiner , [ "distributive" ] ) ;
77
- const interrogative = filterKind ( determiner , [ "interrogative" ] ) ;
78
- const quantitative = filterKind ( determiner , [ "numeral" , "quantifier" ] ) ;
79
- const errors = filterSet ( [
80
- [
81
- negative . length > 1 ,
82
- encodeDeterminer `multiple negative determiners ${ negative } ` ,
83
- ] ,
84
- [ article . length > 1 , encodeDeterminer `multiple articles ${ article } ` ] ,
85
- [
86
- demonstrative . length > 1 ,
87
- encodeDeterminer `multiple demonstrative determiners ${ demonstrative } ` ,
88
- ] ,
89
- [
90
- possessive . length > 1 ,
91
- encodeDeterminer `multiple possessive determiners ${ possessive } ` ,
92
- ] ,
93
- [
94
- distributive . length > 1 ,
95
- encodeDeterminer `multiple distributive determiners ${ distributive } ` ,
96
- ] ,
97
- [
98
- interrogative . length > 1 ,
99
- encodeDeterminer `multiple interrogative determiners ${ interrogative } ` ,
100
- ] ,
101
- [
102
- quantitative . length > 1 ,
103
- encodeDeterminer `multiple quantitative determiners ${ quantitative } ` ,
104
- ] ,
105
- [
106
- article . length > 0 && demonstrative . length > 0 ,
107
- encodeDeterminer `article ${ article } with demonstrative determiner ${ demonstrative } ` ,
108
- ] ,
109
- [
110
- article . length > 0 && possessive . length > 0 ,
111
- encodeDeterminer `article ${ article } with possessive determiner ${ possessive } ` ,
112
- ] ,
113
- [
114
- demonstrative . length > 0 && possessive . length > 0 ,
115
- encodeDeterminer `demonstrative determiner ${ demonstrative } with possessive determiner ${ possessive } ` ,
116
- ] ,
117
- [
118
- negative . length > 0 && interrogative . length > 0 ,
119
- encodeDeterminer `negative determiner ${ negative } with interrogative determiner ${ interrogative } ` ,
120
- ] ,
121
- ] ) ;
122
- if ( errors . length === 0 ) {
123
- return [
124
- ...negative ,
125
- ...first ,
126
- ...distributive ,
127
- ...interrogative ,
128
- ...quantitative ,
129
- ] ;
130
- } else {
131
- throw new AggregateError (
132
- errors . map ( ( element ) => new FilteredError ( element ( ) ) ) ,
133
- ) ;
134
- }
135
- }
136
58
export function extractNegativeFromDeterminers (
137
59
determiner : ReadonlyArray < English . Determiner > ,
138
60
) : null | ReadonlyArray < English . Determiner > {
@@ -145,10 +67,10 @@ export function extractNegativeFromDeterminers(
145
67
return spliced ;
146
68
}
147
69
}
148
- function encodeDeterminer (
70
+ export function encodeDeterminer (
149
71
strings : TemplateStringsArray ,
150
72
...determiners : ReadonlyArray < ReadonlyArray < English . Determiner > >
151
- ) {
73
+ ) : ( ) => string {
152
74
return ( ) =>
153
75
zip ( strings , [
154
76
...determiners
@@ -160,8 +82,3 @@ function encodeDeterminer(
160
82
. flat ( )
161
83
. join ( "" ) ;
162
84
}
163
- function filterSet < const T > (
164
- set : ReadonlyArray < readonly [ condition : boolean , value : T ] > ,
165
- ) {
166
- return set . filter ( ( [ condition ] ) => condition ) . map ( ( [ _ , value ] ) => value ) ;
167
- }
0 commit comments