@@ -8,46 +8,46 @@ export type ValueRest<T> = Readonly<{ rest: string; value: T }>;
88export type ParserResult < T > = ArrayResult < ValueRest < T > > ;
99
1010export class Parser < T > {
11- readonly unmemoizedParser : ( src : string ) => ParserResult < T > ;
11+ readonly nonMemoizedParser : ( src : string ) => ParserResult < T > ;
1212 readonly rawParser : ( src : string ) => ParserResult < T > ;
1313 static cache : null | ClearableCacheSet = null ;
1414 constructor ( parser : ( src : string ) => ParserResult < T > ) {
15- this . unmemoizedParser = parser ;
15+ this . nonMemoizedParser = parser ;
1616 if ( Parser . cache != null ) {
1717 const cache = new Map < string , MemoizationCacheResult < ParserResult < T > > > ( ) ;
1818 Parser . addToCache ( cache ) ;
19- this . rawParser = memoize ( this . unmemoizedParser , { cache } ) ;
19+ this . rawParser = memoize ( this . nonMemoizedParser , { cache } ) ;
2020 } else {
21- this . rawParser = this . unmemoizedParser ;
21+ this . rawParser = this . nonMemoizedParser ;
2222 }
2323 }
2424 parser ( ) : ( src : string ) => ArrayResult < T > {
2525 const { rawParser } = this ;
2626 return ( src ) => rawParser ( src ) . map ( ( { value } ) => value ) ;
2727 }
2828 map < U > ( mapper : ( value : T ) => U ) : Parser < U > {
29- const { unmemoizedParser } = this ;
29+ const { nonMemoizedParser : unmemoizedParser } = this ;
3030 return new Parser ( ( src ) =>
3131 unmemoizedParser ( src )
3232 . map ( ( { value, rest } ) => ( { value : mapper ( value ) , rest } ) )
3333 ) ;
3434 }
3535 filter ( mapper : ( value : T ) => boolean ) : Parser < T > {
36- const { unmemoizedParser } = this ;
36+ const { nonMemoizedParser : unmemoizedParser } = this ;
3737 return new Parser ( ( src ) =>
3838 unmemoizedParser ( src ) . filter ( ( { value } ) => mapper ( value ) )
3939 ) ;
4040 }
4141 then < U > ( mapper : ( value : T ) => Parser < U > ) : Parser < U > {
4242 const { cache } = Parser ;
43- const { unmemoizedParser } = this ;
43+ const { nonMemoizedParser : unmemoizedParser } = this ;
4444 return new Parser ( ( src ) => {
4545 const parser = Parser . inContext ( ( ) => unmemoizedParser ( src ) , cache ) ;
4646 return parser . flatMap ( ( { value, rest } ) => mapper ( value ) . rawParser ( rest ) ) ;
4747 } ) ;
4848 }
4949 sort ( comparer : ( left : T , right : T ) => number ) : Parser < T > {
50- const { unmemoizedParser } = this ;
50+ const { nonMemoizedParser : unmemoizedParser } = this ;
5151 return new Parser ( ( src ) =>
5252 unmemoizedParser ( src ) . sort ( ( left , right ) =>
5353 comparer ( left . value , right . value )
@@ -105,18 +105,18 @@ export const nothing = new Parser((src) =>
105105export const emptyArray = nothing . map ( ( ) => [ ] ) ;
106106export function lookAhead < T > ( parser : Parser < T > ) : Parser < T > {
107107 return new Parser ( ( src ) =>
108- parser . unmemoizedParser ( src ) . map ( ( { value } ) => ( { value, rest : src } ) )
108+ parser . nonMemoizedParser ( src ) . map ( ( { value } ) => ( { value, rest : src } ) )
109109 ) ;
110110}
111111export function lazy < T > ( parser : ( ) => Parser < T > ) : Parser < T > {
112112 const { cache } = Parser ;
113113 if ( Parser . cache != null ) {
114114 const cachedParser = new Lazy ( ( ) => Parser . inContext ( parser , cache ) ) ;
115115 Parser . addToCache ( cachedParser ) ;
116- return new Parser ( ( src ) => cachedParser . getValue ( ) . unmemoizedParser ( src ) ) ;
116+ return new Parser ( ( src ) => cachedParser . getValue ( ) . nonMemoizedParser ( src ) ) ;
117117 } else {
118118 return new Parser ( ( src ) =>
119- Parser . inContext ( parser , cache ) . unmemoizedParser ( src )
119+ Parser . inContext ( parser , cache ) . nonMemoizedParser ( src )
120120 ) ;
121121 }
122122}
@@ -272,7 +272,7 @@ export function withSource<T>(
272272 parser : Parser < T > ,
273273) : Parser < readonly [ value : T , source : string ] > {
274274 return new Parser ( ( src ) =>
275- parser . unmemoizedParser ( src ) . map ( ( { value, rest } ) => ( {
275+ parser . nonMemoizedParser ( src ) . map ( ( { value, rest } ) => ( {
276276 value : [ value , src . slice ( 0 , src . length - rest . length ) ] ,
277277 rest,
278278 } ) )
0 commit comments