@@ -119,11 +119,11 @@ export class UnrecognizedError extends PositionedError {
119
119
export function error ( error : ArrayResultError ) : Parser < never > {
120
120
return new Parser ( ( ) => ArrayResult . errors ( [ error ] ) ) ;
121
121
}
122
- export const empty = new Parser < never > ( ( ) => ArrayResult . empty ( ) ) ;
123
- export const nothing = new Parser ( ( ) =>
122
+ export const empty : Parser < never > = new Parser ( ( ) => ArrayResult . empty ( ) ) ;
123
+ export const nothing : Parser < null > = new Parser ( ( ) =>
124
124
new ArrayResult ( [ { value : null , length : 0 } ] )
125
125
) ;
126
- export const emptyArray = nothing . map ( ( ) => [ ] ) ;
126
+ export const emptyArray : Parser < ReadonlyArray < never > > = nothing . map ( ( ) => [ ] ) ;
127
127
export function lookAhead < T > ( parser : Parser < T > ) : Parser < T > {
128
128
return new Parser ( ( input ) =>
129
129
parser . rawParser ( input )
@@ -188,7 +188,7 @@ export function sequence<T extends ReadonlyArray<unknown>>(
188
188
) as Parser < any > ;
189
189
}
190
190
export const many = memoize ( < T > ( parser : Parser < T > ) : Parser < ReadonlyArray < T > > =>
191
- choice (
191
+ choice < ReadonlyArray < T > > (
192
192
sequence ( parser , lazy ( lazyEval ( ( ) => many ( parser ) ) ) )
193
193
. map ( ( [ first , rest ] ) => [ first , ...rest ] ) ,
194
194
emptyArray ,
@@ -201,7 +201,7 @@ export function manyAtLeastOnce<T>(
201
201
. map ( ( [ first , rest ] ) => [ first , ...rest ] ) ;
202
202
}
203
203
export const all = memoize ( < T > ( parser : Parser < T > ) : Parser < ReadonlyArray < T > > =>
204
- choiceOnlyOne (
204
+ choiceOnlyOne < ReadonlyArray < T > > (
205
205
sequence ( parser , lazy ( lazyEval ( ( ) => all ( parser ) ) ) )
206
206
. map ( ( [ first , rest ] ) => [ first , ...rest ] ) ,
207
207
emptyArray ,
@@ -278,18 +278,18 @@ export function matchString(
278
278
}
279
279
} ) ;
280
280
}
281
- export const allRest = new Parser ( ( position ) =>
281
+ export const allRest : Parser < string > = new Parser ( ( position ) =>
282
282
new ArrayResult ( [ {
283
283
value : currentSource . slice ( position ) ,
284
284
length : currentSource . length - position ,
285
285
} ] )
286
286
) ;
287
- export const end = new Parser ( ( position ) =>
287
+ export const end : Parser < null > = new Parser ( ( position ) =>
288
288
position === currentSource . length
289
289
? new ArrayResult ( [ { value : null , length : 0 } ] )
290
290
: generateError ( position , "end of text" )
291
291
) ;
292
- export const notEnd = new Parser ( ( position ) =>
292
+ export const notEnd : Parser < null > = new Parser ( ( position ) =>
293
293
position < currentSource . length
294
294
? new ArrayResult ( [ { value : null , length : 0 } ] )
295
295
: ArrayResult . errors ( [
@@ -377,7 +377,7 @@ export function optionalWithCheck<T>(
377
377
export const allWithCheck = memoize ( < T > (
378
378
parser : CheckedParser < T > ,
379
379
) : Parser < ReadonlyArray < T > > =>
380
- choiceWithCheck (
380
+ choiceWithCheck < ReadonlyArray < T > > (
381
381
new CheckedParser (
382
382
parser . check ,
383
383
sequence ( parser . parser , lazy ( lazyEval ( ( ) => allWithCheck ( parser ) ) ) )
0 commit comments