NameSpaced IDs (NSID) API
Usage
import { NSID } from '@atproto/nsid'
const id1 = NSID.parse('com.example.foo')
id1.authority // => 'example.com'
id1.name // => 'foo'
id1.toString() // => 'com.example.foo'
const id2 = NSID.create('example.com', 'foo')
id2.authority // => 'example.com'
id2.name // => 'foo'
id2.toString() // => 'com.example.foo'
const id3 = NSID.create('example.com', 'someRecord')
id3.authority // => 'example.com'
id3.name // => 'someRecord'
id3.toString() // => 'com.example.someRecord'
NSID.isValid('com.example.foo') // => true
NSID.isValid('com.example.someRecord') // => true
NSID.isValid('example.com/foo') // => false
NSID.isValid('foo') // => false
License
MIT
关于 @atproto/nsid 的常见问题
@atproto/nsid 是什么?
Usage注意:该包已被作者标记为弃用——This package is now deprecated. Please use @atproto/syntax, which provides the same interfaces.
如何安装 @atproto/nsid?
在项目目录运行 npm install @atproto/nsid,或使用 pnpm add / yarn add / bun add。
@atproto/nsid 支持 TypeScript 吗?
支持。包内自带 TypeScript 类型声明(package.json 声明了 types 入口),安装后即可获得类型提示,无需再安装 @types 包。
@atproto/nsid 支持 ESM 还是 CommonJS?
以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。
@atproto/nsid 可以商用吗?
@atproto/nsid 使用 MIT 许可。宽松许可:允许商业使用、修改和再分发,通常只需在分发时保留原版权与许可声明。以上为概括,不构成法律意见,请以许可原文为准。
@atproto/nsid 的下载量有多少?
根据 npm 官方下载统计,@atproto/nsid 在 2026/10/07 – 2026/11/05 这 30 天内被下载 4,076 次,日均约 136 次。下载量会把 CI 构建、镜像同步和作为其他包依赖的安装一并计入,适合横向比较热度,不能直接等同于使用人数。
@atproto/nsid 还在维护吗?
最新版本 0.1.1 发布于 2023/09/16(3 年前);至今共发布 3 个版本,其中过去 12 个月发布了 0 个;首次发布于 2022/12/22。作者已将其标记为弃用,新项目建议寻找替代方案。