/** * フリーワード検索マッチャーを作成する * * - カンマ区切り・空白区切りはどちらも複数語の OR(いずれかを含めばよい)として扱う * - フィールドをクォート(`"..."`)で囲むと、そのフィールドは対象全体との完全一致 * (大文字小文字・全角半角は区別しない)になる。クォートの有無はフィールドごとに * 判定するため、`"apple",banana` のように一部だけクォートしても意図通りに動く。 * - 比較前に target・query の双方を正規化する(NFKC + 小文字化) * - 有効な検索語が1つもない場合(空クエリ、カンマだけのクエリなど)は * フィルタなし(常にマッチ)として扱う * * 検索語のパースはクエリが変わらない限り不要なため、多数の候補を1つのクエリで * 繰り返し判定する場合(Select2 の options.filter など)は、ループの外でこの関数を * 呼び出してマッチャーを作り、ループ内ではそのマッチャーを再利用すること。 */ export declare const createFreeWordMatcher: (query: string) => ((target: string) => boolean); /** * フリーワード検索: target が query に一致するかを判定する * * 1つの target を1回だけ判定する場合に使う。多数の候補を同じクエリで繰り返し * 判定する場合は `createFreeWordMatcher` を使うこと。 */ export declare const matchesFreeWordQuery: (target: string, query: string) => boolean;