@@ -74,7 +74,6 @@ function catDeriv(regex, x) {
7474 } )
7575 )
7676 ) ;
77- } else {
7877 }
7978
8079 return palt ( {
@@ -119,14 +118,16 @@ export function deriv(regex, x) {
119118 case cat :
120119 return catDeriv ( regex , x ) ;
121120 }
122- throw new Error ( `Cannot derive unknown operation "${ symbolToString ( op ) } "` ) ;
121+ throw new Error (
122+ `Cannot derive unknown operation "${ symbolToString ( regex . op ) } "`
123+ ) ;
123124}
124125
125126function getReturn ( regex ) {
126127 switch ( regex . op ) {
127128 case cat :
128129 const catProcessed = regex . ret . reduce (
129- ( agg , val ) => Object . assign ( agg , val ) ,
130+ ( agg , val ) => ( { ... agg , ... val } ) ,
130131 { }
131132 ) ;
132133 // unprocessed values
@@ -305,10 +306,14 @@ function palt(opts = {}) {
305306 ks,
306307 ret
307308 } ;
309+ console . log ( JSON . stringify ( ps , null , 2 ) ) ;
308310 // if any of the alternatives is accepted, return that
309311 const acceptIdx = ps . findIndex ( p => accepted ( p ) ) ;
310312 if ( acceptIdx !== - 1 ) {
311313 if ( ks [ acceptIdx ] ) {
314+ console . log ( acceptIdx , {
315+ [ ks [ acceptIdx ] ] : ps [ acceptIdx ] . ret
316+ } ) ;
312317 return accept ( {
313318 [ ks [ acceptIdx ] ] : ps [ acceptIdx ] . ret
314319 } ) ;
@@ -370,7 +375,7 @@ export function maybeImpl(name, predicate) {
370375 throw new Error ( `Must provide a predicate to maybe.` ) ;
371376 }
372377 return palt ( {
373- ps : [ predicate , p . nil ] ,
378+ ps : [ p . nil , predicate ] ,
374379 ks : [ name , name ]
375380 } ) ;
376381}
0 commit comments