@charpeni/one-of

中文文档
1.1.1发布于 2025/08/30MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 1.2万

从数组返回随机元素或从对象中随机输入的安全类型工具

中文使用文档
文档目录3 节
  1. 安装
  2. 使用量
  3. 许可证

@charpeni/一个

library's logo

Version Monthly Downloads CodeCov GitHub License

类型安全并经过测试的公用设备从数组中返回随机元素或从对象中随机输入.


安装

npm install @charpeni/one-of

使用量

oneOf 是接受数组或对象并从中返回随机元素或条目的函数.

它的建造大多是为了用于测试或生成随机数据(它也可以安全地用于任何其他类型的行为,包括生产应用),例如:

<Card color={oneOf(['red', 'blue', 'green'])}>{/* ... */}</Card>

[注] oneOf 是类型安全函数。 它会推断所传递的数组或对象的类型作为参数,并返回相应的类型,以确保返回类型是一种可能性的结合而非原始类型(E1 | 2 改为 number[]) (中文(简体) ).

如果输入通过内衬,则 const 将采用修改语句,因此该类型将推断为: ReadonlyArray 或只读 Record否则,使用 as const 建议.

import { oneOf } from '@charpeni/one-of';

// Returns a random element from the array
const element = oneOf([1, 2, 3]); // 2
//    ^? const element: 1 | 2 | 3

// Returns a random entry from the object
const entry = oneOf({ a: 1, b: 2, c: 3 }); // ['b', 2]
//    ^? const entry: ['a', 1] | ['b', 2] | ['c', 3]

具体职能也有: oneElementOf 财务报告和审定财务报表 oneEntryOf,这就是 oneOf 在罩下使用:

import { oneElementOf, oneEntryOf } from '@charpeni/one-of';

// Returns a random element from the array
const element = oneElementOf([1, 2, 3]); // 2
//    ^? const element: 1 | 2 | 3

// Returns a random entry from the object
const entry = oneEntryOf({ a: 1, b: 2, c: 3 }); // ['b', 2]
//    ^? const entry: ['a', 1] | ['b', 2] | ['c', 3]

许可证

@charpeni/一个是 麻省理工学院执照。 。 。 .

版本与发布记录

@charpeni/one-of 共发布 4 个版本,首次发布于 2024/08/13;过去 12 个月发布了 0 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
1.1.1latest2025/08/301.2 年前
1.1.02025/06/171.4 年前
1.0.02024/08/132 年前
0.0.12024/08/132 年前

关于 @charpeni/one-of 的常见问题

@charpeni/one-of 是什么?

从数组返回随机元素或从对象中随机输入的安全类型工具

如何安装 @charpeni/one-of?

在项目目录运行 npm install @charpeni/one-of,或使用 pnpm add / yarn add / bun add。

@charpeni/one-of 支持 TypeScript 吗?

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

@charpeni/one-of 支持 ESM 还是 CommonJS?

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

@charpeni/one-of 可以商用吗?

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

@charpeni/one-of 的下载量有多少?

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

@charpeni/one-of 还在维护吗?

最新版本 1.1.1 发布于 2025/08/30(1.2 年前);至今共发布 4 个版本,其中过去 12 个月发布了 0 个;首次发布于 2024/08/13。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。