键盘
一套用于在阵列成员支持下处理物体及其特性的无种类安全设施.
KeyPath.of - 一个类型安全的方法 创建一个密钥路径.
KeyPath.get - 一个通过给定的密钥路径获取值的函数.
KeyPath.set - 用给定的密钥路径设置值的函数.
KeyPath.isWritable - 检查一个密钥路径是否可写入.
const customer = {
name: 'John Doe',
addresses: [
{ street: '123 Main St', city: 'Anytown' },
{ street: '456 Elm St', city: 'Anytown' },
] as const,
}
const keyPath = KeyPath.of<typeof customer>('addresses.0.street') // 'addresses.0.street'
const value = KeyPath.get(customer, 'addresses.0.street') // '123 Main St'
KeyPath.set(customer, 'addresses.0.street', '180 Azadi St')
/*
{
name: 'John Doe',
addresses: [
{ street: '180 Azadi St', city: 'Anytown' },
{ street: '456 Elm St', city: 'Anytown' },
] as const,
}
*/
出口
关于 @a11d/key-path 的常见问题
@a11d/key-path 是什么?
用于读取、写作和推断物体(包括阵列成员)的嵌入特性的型式安全密钥路径.
如何安装 @a11d/key-path?
在项目目录运行 npm install @a11d/key-path,或使用 pnpm add / yarn add / bun add。
@a11d/key-path 支持 TypeScript 吗?
支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。
@a11d/key-path 支持 ESM 还是 CommonJS?
以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。
@a11d/key-path 可以商用吗?
@a11d/key-path 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。
@a11d/key-path 的下载量有多少?
根据 npm 官方下载统计,@a11d/key-path 在 2026/10/05 – 2026/11/03 这 30 天内被下载 4,720 次,日均约 157 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。
@a11d/key-path 还在维护吗?
最新版本 2.1.3 发布于 2026/10/07(30 天前);至今共发布 9 个版本,其中过去 12 个月发布了 3 个;首次发布于 2023/10/16。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。