replacer function

dynamic replacer(
  1. dynamic replacement$1
)

Implementation

dc.dynamic replacer(dc.dynamic replacement$1, ){
if((replacement$1 is dc.String)){
final dc.RegExp re$1=dc.RegExp("((?:[^\\\$\\\\]|\\\\.)+)|(?:\\\$([0-9]+))", );
dc.dynamic vs$1=lcoc_core.$_EMPTY_VECTOR;
dc.dynamic i$1=0;
do {
final dc.Match? some$7481_$AUTO_$1=(re$1.matchAsPrefix((replacement$1 as dc.String), (i$1 as dc.int), ));
if((null==some$7481_$AUTO_$1)){
final dc.dynamic coll7677$1=vs$1;
late final dc.int cast$1;
if((coll7677$1 is lcoc_core.ICounted$iface)){
cast$1=(((coll7677$1 as lcoc_core.ICounted$iface).$_count$0()) as dc.int);
}else{
cast$1=(((lcoc_core.ICounted.extensions(coll7677$1, ) as lcoc_core.ICounted$ext).$_count$0(coll7677$1, )) as dc.int);
}
final dc.bool and$7468_$AUTO_$1=(lcoc_core.$EQ_.$_invoke$2(1, cast$1, ));
late final dc.bool $if_$1;
if(and$7468_$AUTO_$1){
$if_$1=(lcoc_core.peek(vs$1, ) is dc.String);
}else{
$if_$1=and$7468_$AUTO_$1;
}
if($if_$1){
return lcoc_core.peek(vs$1, );
}
final dc.dynamic vs$2=vs$1;
return (dc.dynamic m$1, ){
final dc.StringBuffer sb$2=dc.StringBuffer();
final dc.dynamic coll7657$2=vs$2;
void f7658$2(dc.dynamic p1$9378_$SHARP_$2, dc.dynamic p2$9377_$SHARP_$2, ){
late final dc.dynamic $if_$3;
if((p2$9377_$SHARP_$2 is dc.String)){
$if_$3=p2$9377_$SHARP_$2;
}else{
$if_$3=((m$1 as dc.Match).group((p2$9377_$SHARP_$2 as dc.int), ));
}
return (sb$2.write($if_$3, ));
}
if((coll7657$2 is lcoc_core.IReduce$iface)){
(coll7657$2 as lcoc_core.IReduce$iface).$_reduce$2(f7658$2, null, );
}else{
(lcoc_core.IReduce.extensions(coll7657$2, ) as lcoc_core.IReduce$ext).$_reduce$2(coll7657$2, f7658$2, null, );
}
return (sb$2.toString());
};
}
final dc.Match? m$2=some$7481_$AUTO_$1;
final dc.dynamic coll7642$1=vs$1;
final dc.String? some$7481_$AUTO_$2=((m$2 as dc.Match).group(1, ));
late final dc.Comparable<dc.Comparable<dc.Object>> o7643$1;
if((null==some$7481_$AUTO_$2)){
o7643$1=(dc.int.parse((((m$2 as dc.Match).group(2, )) as dc.String), ));
}else{
final dc.String? r$1=some$7481_$AUTO_$2;
o7643$1=lcoc_string.re_unquote_replacement(r$1, );
}
if((coll7642$1 is lcoc_core.ICollection$iface)){
vs$1=((coll7642$1 as lcoc_core.ICollection$iface).$_conj$1(o7643$1, ));
}else{
vs$1=((lcoc_core.ICollection.extensions(coll7642$1, ) as lcoc_core.ICollection$ext).$_conj$1(coll7642$1, o7643$1, ));
}
i$1=(m$2 as dc.Match).end;
continue;
} while(true);
}
return (dc.dynamic m$3, ){
final dc.dynamic arg$1=lcoc_core.re_groups((m$3 as dc.Match), );
late final dc.dynamic $if_$4;
if((replacement$1 is dc.Function)){
$if_$4=(replacement$1 as dc.Function)(arg$1, );
}else if((replacement$1 is lcoc_core.IFn$iface)){
$if_$4=((replacement$1 as lcoc_core.IFn$iface).$_invoke$1(arg$1, ));
}else{
$if_$4=(lcoc_core.IFn.extensions(replacement$1, ).$_invoke$1(replacement$1, arg$1, ));
}
return ($if_$4 as dc.String);
};
}