parsePath static method

Map<String, dynamic> parsePath(
  1. String template,
  2. String path
)

Implementation

static Map<String,dynamic> parsePath(String template,String path){
  final templateparts = template.split('/');
  final pathparts = path.split('/');
  final params = Map<String,dynamic>();
  if(templateparts.length==pathparts.length){
    for(int i=0;i<templateparts.length;i++){
      if(templateparts[i].startsWith('<')){
        final s = templateparts[i].replaceAll('<','').replaceAll('>','').split(':');
        switch(s[0]){
          case 'num':
            final x = int.tryParse(pathparts[i]);
            params[s[1]] = x!=null?x:double.tryParse(pathparts[i]);
            break;
          default:
            params[s[1]] = pathparts[i];
            break;
        }
      }
    }
  }
  return params;
}