@@ -1381,10 +1381,10 @@ A.push = x => xs => (xs.push(x), xs);
13811381A . pushr = xs => x => ( xs . push ( x ) , xs ) ;
13821382
13831383
1384- A . pushn = ys => xs => ( xs . push . apply ( xs , ys ) , xs ) ;
1385-
1386-
1387- A . pushnr = xs => ys => ( xs . push . apply ( xs , ys ) , xs ) ;
1384+ A . pushn = ys => xs => {
1385+ for ( const y of ys ) xs . push ( y ) ;
1386+ return xs ;
1387+ } ;
13881388
13891389
13901390A . unshift = x => xs => ( xs . unshift ( x ) , xs ) ;
@@ -1396,9 +1396,6 @@ A.unshiftr = xs => x => (xs.unshift(x), xs);
13961396A . unshiftn = ys => xs => ( xs . unshift . apply ( xs , ys ) , xs ) ;
13971397
13981398
1399- A . unshiftnr = xs => ys => ( xs . unshift . apply ( xs , ys ) , xs ) ;
1400-
1401-
14021399A . pop = xs => [ xs . length === 0 ? null : xs . pop ( ) , xs ] ;
14031400
14041401
@@ -9322,6 +9319,30 @@ S.splitAscii = s => {
93229319} ;
93239320
93249321
9322+ S . splitName = s => {
9323+ if ( / , / . test ( s ) ) {
9324+ const [ lastName , firstName ] = s . split ( / , + / ) ,
9325+ [ firstName2 , ...middleNames ] = firstName . split ( / [ \- ] / ) ,
9326+ lastNames = lastName . split ( / [ \- ] / ) ;
9327+
9328+ return { firstName : firstName2 , middleNames, lastNames} ;
9329+ }
9330+
9331+ else {
9332+ const compos = s . split ( / + / ) ;
9333+
9334+ const compos2 = compos . slice ( 0 , - 1 ) . reduce ( ( acc , compo ) =>
9335+ A . pushn ( compo . split ( / - / ) ) ( acc ) , [ ] ) ;
9336+
9337+ const firstName = compos2 [ 0 ] ,
9338+ middleNames = compos2 . slice ( 1 ) ,
9339+ lastNames = compos [ compos . length - 1 ] . split ( / - / ) ;
9340+
9341+ return { firstName, middleNames, lastNames} ;
9342+ }
9343+ } ;
9344+
9345+
93259346//█████ Retrieval █████████████████████████████████████████████████████████████
93269347
93279348
0 commit comments