mdict-parser.js
function(phrase) {
        var word = phrase.trim().toLowerCase();
        word = '\\' + word.replace(/(^[/\\])|([/]$)/, '');
        word = word.replace(/\//g, '\\');
        return seekVanguard(word).spread(function(kdx, idx, list) {
          return list.slice(idx).filter(function(one) {
            return one.toLowerCase() === word;
          });
        }).then(function(candidates) {
          if (candidates.length === 0) {
            throw '*RESOURCE NOT FOUND* ' + phrase;
          } else {
            return findResource(candidates[0]);
          }
        });
      }
function(phrase) {
        var word = phrase.trim().toLowerCase();
        word = '\\' + word.replace(/(^[/\\])|([/]$)/, '');
        word = word.replace(/\//g, '\\');
        return seekVanguard(word).spread(function(kdx, idx, list) {
          return list.slice(idx).filter(function(one) {
            return one.toLowerCase() === word;
          });
        }).then(function(candidates) {
          if (candidates.length === 0) {
            throw '*RESOURCE NOT FOUND* ' + phrase;
          } else {
            return findResource(candidates[0]);
          }
        });
      }
function ( phrase ) { var word = phrase . trim ( ) . toLowerCase ( ) ; word = '\\' + word . replace ( / (^[/\\])|([/]$) / , '' ) ; word = word . replace ( / \/ / g , '\\' ) ; return seekVanguard ( word ) . spread ( function ( kdx , idx , list ) { return list . slice ( idx ) . filter ( function ( one ) { return one . toLowerCase ( ) === word ; } ) ; } ) . then ( function ( candidates ) { if ( candidates . length === 0 ) { throw '*RESOURCE NOT FOUND* ' + phrase ; } else { return findResource ( candidates [ 0 ] ) ; } } ) ; }
TODO: chain multiple mdd file
TODO : chain multiple mdd file