Have ideas to improve npm?Join in the discussion! »

    korean-syllable-search-highlight

    1.0.3 • Public • Published

    Korean Syllable Search and Highlight Engine

    • 한국어 초성 검색 & 하이라이트 엔진
    • Pure javascirpt로 개발 되어있습니다.

    Sample

    • Clone this repository and run npm install to ready to run sample
    node sample
    // import 
    const SyllableSearchEngine = require('./index.js');
    
    // search data
    const testList = [
      {name:'동해물과', phone:'02-1234-0000'},
      {name:'백두산이'},
      {name:'마르고'},
      {name:'닳도록'},
      {name:'하느님이'},
      {name:'보우하사'},
      {name:'우리나라만세'},
      {name:'무궁화'},
      {name:'삼천리'},
      {name:'화려강산'},
      {name:'대한사람'},
      {name:'대한으로'},
      {name:'길이 보전하세'},
      {name:'잠진적인 가능성 족적'},
    ];
    
    // define decorator
    const _decorator = ( element, isMatched )=>{
      if( isMatched ) return element.red.bgWhite;
      return element;
    }
    
    // genrate engine instance with query 
    const searchEngine = new SyllableSearchEngine( query, {multi:true} );
    
    // do search
    const filteredList = testList.filter( searchEngine.search( item=>{
      return [
        item.name, 
        item.phone && item.phone
      ].filter(e=>e);
    }));
    
    // highlighting
    const _renderItem = ( searchEngine, item )=>{
      let name = searchEngine.decorator(item.name, _decorator ).join(''), phone;
      if( item.phone ){
        phone = searchEngine.decorator(item.phone, _decorator ).join('');
        return `${name} (${phone})`;
      }
      return name;
    }
    
    console.log( filteredList.map(_renderItem.bind(this, searchEngine)).join('\n') );

    Keywords

    none

    Install

    npm i korean-syllable-search-highlight

    DownloadsWeekly Downloads

    3

    Version

    1.0.3

    License

    ISC

    Unpacked Size

    8.6 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar