@ephox/katamari

中文文档
11.0.0发布于 2026/03/31GPL-2.0-or-laterTypeScriptESM + CJS近 30 天下载 2.5万

Basic data type library

原始使用文档
文档目录6 节
  1. Install from npm
  2. Optional Data Types
  3. Asynchronous Data Types
  4. Mutable Data Types
  5. Algebraic Data Types
  6. Running Tests

Description

katamari is a collection of various data structures and reusable higher-order functions. It does not bundle any commands. It is only a collection of modules.

Installation

katamari is available as an npm package. You can install it via the npm package @ephox/katamari

Install from npm

npm install @ephox/katamari.

Usage

Note, refrain from using any modules that are not in the api package.

Below is a list of commonly used parts of katamari

Data Structures

Optional Data Types

  • Optional: A representation of None or Some(x)
  • Result: A representation of Error(str) or Value(v)

Asynchronous Data Types

  • Future: An abstraction over an asynchronous value
  • FutureResult: A composition of a Result and a Future
  • LazyValue: An asynchronous value that is only calculated once

Mutable Data Types

  • Cell: A mutable piece of data
  • Singleton: A mutable piece of optional data

Algebraic Data Types

Higher-order Functions

  • Arr: collection of functions that operate on arrays
  • Obj: collection of functions that operate on JavaScript objects
  • Merger: collection of functions to merge JavaScript objects

Tests

katamari uses bedrock to run atomic tests. The tests are chiefly written using fast-check

Running Tests

$ yarn test

版本与发布记录

@ephox/katamari 共发布 98 个版本,首次发布于 2016/12/20;过去 12 个月发布了 1 个版本。

版本发布日期距今
11.0.0latest2026/03/317 个月前
9.1.62024/02/072 年前
9.1.52023/03/153 年前
9.1.32022/11/233 年前
9.1.12022/09/084 年前
9.0.32022/06/294 年前

其他发布通道:rc → 9.0.2-alpha.1。

关于 @ephox/katamari 的常见问题

@ephox/katamari 是什么?

Basic data type library

如何安装 @ephox/katamari?

在项目目录运行 npm install @ephox/katamari,或使用 pnpm add / yarn add / bun add。

@ephox/katamari 支持 TypeScript 吗?

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

@ephox/katamari 支持 ESM 还是 CommonJS?

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

@ephox/katamari 可以商用吗?

@ephox/katamari 使用 GPL-2.0-or-later 许可。强 Copyleft:分发包含该代码的软件时,整个作品需以兼容的 GPL 许可开源。仅在内部使用、不对外分发时不触发此义务。以上为概括,不构成法律意见,请以许可原文为准。

@ephox/katamari 的下载量有多少?

根据 npm 官方下载统计,@ephox/katamari 在 2026/10/14 – 2026/11/12 这 30 天内被下载 25,264 次,日均约 842 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。

@ephox/katamari 还在维护吗?

最新版本 11.0.0 发布于 2026/03/31(7 个月前);至今共发布 98 个版本,其中过去 12 个月发布了 1 个;首次发布于 2016/12/20。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。