UNPKG

hangul-search

Version:

Json객체에서 한글 검색을 수행. 한글 초성 검색을 지원. Korean search within JSON objects. Supports Korean initial consonant search.

32 lines (28 loc) 1.73 kB
/** * 한글 초성 기반 검색을 수행하는 함수. * @param {Record<string, any>[]} jsonObj - 검색할 JSON 객체 배열 * @param {string} keyWord - 초성 검색에 사용될 키워드 * @param {Object} [options] - 옵션 객체 * @param {Options string[]} [options.keys] - 검색할 특정 키(들)를 선택할 수 있습니다. 문자열 배열로 전달합니다. * @param {Options Record<string, any>[]} [options.keys] - 검색 모드 지정 및 검색할 특정 키(들)를 선택할 수 있습니다. JSON 객체 배열로 전달합니다. * @returns {Record<string, any>[]} - 검색 결과를 포함한 JSON 객체 배열을 반환합니다. * @example * const result = hansearch(jsonArray, "키워드"); // jsonArray의 모든 키값을 탐색 * const result = hansearch(jsonArray, "키워드", ["key1", "key2"]); // jsonArray의 key1 및 key2 값만 탐색 * const result = hansearch(jsonArray, "키워드").mark(); // 결과 값 <mark></mark> 태그 치환 * const result = hansearch(jsonArray, "키워드").mark("my-tag"); // 결과 값 <my-tag></my-tag> 태그 치환 * const result = hansearch(jsonArray, "키워드", {'mode':'exact'}); // 정확히 일치하는 검색을 수행 * const result = hansearch(jsonArray, "키워드", {'mode':'exact', 'keys' : ["key1", "key2"]}); // 정확히 일치하는 검색을 수행하며, key1 및 key2 값만 탐색 **/ interface MarkedResult { mark: (tag?: string) => Record<string, any>[]; } type Options = Record<string, any> | string[]; declare module "hangul-search" { const hansearch: ( jsonObj: Record<string, any>[], keyWord: string, options?: Options ) => MarkedResult; export = hansearch; }