@flesh-and-blood/search

中文文档
7.3.3发布于 2026/11/01MITTypeScriptESM + CJS

血肉卡牌的TypeScript搜索引擎

中文使用文档
文档目录4 节
  1. 安装
  2. 使用
  3. 包括什么
  4. 参与这个项目

@flesh-and-blood /搜索

一、 fuse.js的搜索引擎 血肉之躯 卡片。

安装

npm i @flesh-and-blood/search @flesh-and-blood/types

@flesh-and-blood/types 是一个 同行的依赖:与这个包一起安装

使用

import Searcher from "@flesh-and-blood/search";
import { cards, releases } from "@flesh-and-blood/cards";

const searcher = new Searcher(cards, { releases });
const { searchResults } = searcher.search("rhinar go again");
  • new Searcher(cards, { releases }),或者 { index } 共享目录索引 建立与 getCatalogueIndex(cards, releases)
  • index.getHero(name) 解析玩家为英雄写的任何名字到它的键 l: 和 sp: 做; index.getHeroMatches(name) 回答每个英雄的名字,每个英雄卡, 为了一个名字,几个英雄坚守; index.getByRole(CardRole.Hero) 列出每个英雄卡牌,和 index.getHeroCardsByFormat(format) 英雄卡牌合法的格式;过滤器任意开启 card.heroPool 一个英雄池。 getHeroFilterValue(heroCard) 写 l: 筛选英雄卡
  • 几个英雄持有的英雄名被报告 unresolvedFilters 作为 { reason: "ambiguous", values, candidates },每位候选人都有一张英雄牌的名字
  • .search(text) → SearchResults: { searchResults: SearchCard[], appliedFilters, keywords, attributes }

只有数据的模块可以作为子路径导入(方便于惰性加载的UI,如搜索栏下拉):

import { shorthands } from "@flesh-and-blood/search/shorthands";

包括什么

  • 默认导出: Searcher,搜索引擎
  • 类型: SearchResults, SearchCard
  • 数据模块(子路径导入): shorthands, memes
  • 筛选、排除和辅助工具(filters, exclusions, legality, helpers, constants, related)

参与这个项目

npm run build   # build:esm (per-file ESM) + build:cjs (bundled) + tsc declarations
npm test        # vitest

用途 @flesh-and-blood/cards (file:../cards)作为测试的开发依赖项。

版本与发布记录

@flesh-and-blood/search 共发布 1,002 个版本,首次发布于 2023/09/18;过去 12 个月发布了 345 个版本。

版本发布日期距今
7.3.3latest2026/11/012 天前
7.3.22026/11/012 天前
7.3.12026/10/304 天前
7.3.02026/10/295 天前
7.2.02026/10/285 天前
7.1.102026/10/286 天前

关于 @flesh-and-blood/search 的常见问题

@flesh-and-blood/search 是什么?

血肉卡牌的TypeScript搜索引擎

如何安装 @flesh-and-blood/search?

在项目目录运行 npm install @flesh-and-blood/search,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@flesh-and-blood/types(^7.3.3)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@flesh-and-blood/search 支持 TypeScript 吗?

支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。

@flesh-and-blood/search 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@flesh-and-blood/search 可以商用吗?

@flesh-and-blood/search 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。

@flesh-and-blood/search 还在维护吗?

最新版本 7.3.3 发布于 2026/11/01(2 天前);至今共发布 1002 个版本,其中过去 12 个月发布了 345 个;首次发布于 2023/09/18。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。