@flesh-and-blood/search
Version:
TypeScript search engine for Flesh and Blood cards
30 lines (29 loc) • 1.04 kB
TypeScript
import { Card, DoubleSidedCard, Foiling, Hero, Printing, Release, Treatment } from "@flesh-and-blood/types";
import { AppliedFilter } from "./filters";
export interface SearchCard extends DoubleSidedCard {
matchingPrintings?: Printing[];
}
export interface SearchResults {
appliedFilters: AppliedFilter[];
keywords: string[];
attributes: {
artists: string[];
foilings: Foiling[];
prints: string[];
releases: Release[];
treatments: Treatment[];
};
searchResults: SearchCard[];
}
declare class Search {
private additionalHeroes;
private additionalSets;
private cards;
private debug;
private fuse;
constructor(cards: DoubleSidedCard[], additionalHeroes?: Hero[], additionalSets?: Release[], debug?: boolean);
log: (message?: any, ...optionalParams: any[]) => void;
search: (text: string, includeMemes?: boolean) => SearchResults;
}
export default Search;
export declare const filterCard: (card: Card, appliedFilters: AppliedFilter[]) => boolean;