@arxo/law-types

中文文档
0.3.4发布于 2026/10/16Apache-2.0TypeScriptES Module零依赖近 30 天下载 2218

Axo Law Core Core 0.1的TypeScript类型,由规范的JSON schemas(合法的IR,评价文件,诊断,锁文件,决策表,查询)生成,外加最不发达国家诊断代码的机器可读登记册. 只类型: 没有运行时引擎

中文使用文档
文档目录8 节
  1. 安装
  2. 使用
  3. 这些类型的来源
  4. 诊断代码
  5. 匹配代码, 而不是消息
  6. 版本
  7. 许可证
  8. 从源头建楼

@arxo/law类型

类型脚本 阿克索法 核心0.1:合法的IR(CLIR), 评价文件、诊断、包单、锁文件、决定 表格、参数数据集、查询和规范文件的其余部分 型号.

只有类型. 没有运行时引擎, 没有依赖, 一个小生成的运行时 用于诊断码登记册的模块。 实际运行法律,使用 @arxo/law-engine这些是 和它所搭载的一样, 单独出版的消费者只和 引擎在电线上不需要拉 4.5 MB的Web Assembly.

安装

npm install --save-dev @arxo/law-types

使用

import type { EvaluationDocument, Diagnostic, LegalIr } from '@arxo/law-types';

function firstIssue(doc: EvaluationDocument) {
  return doc.issues?.[0];
}

这些类型的来源

他们是 生成从来没有手写。 规范的JSON计划 定义每个文档的形状; 代码生成器将其转换为 TypeScript, 和自动检查验证计划目录 生成器的注册, 生成的文件和此软件包的构建列表 说吧 切换计划没有达到类型,反而会失败 而不是说谎言.

如果一个计划使用有条件的成分(allOf 编号 : if-then生成 类型是故意宽的,并在评论中这样说。 准确性是 必须是 可见而不是假装准确.

诊断代码

import type { LawDiagnosticCode } from '@arxo/law-types/diagnostics';
import {
  KNOWN_DIAGNOSTIC_CODES,
  isKnownDiagnosticCode,
} from '@arxo/law-types/diagnostics';

KnownDiagnosticCode 是每个人的结合 LDC-… 从两者收集代码 引擎执行和从规格通货。 四门课是 工会由下列机构组成:

  • 发射 ——至少一项实施实际产生本守则;
  • 文档 规格名称,尚未发布;
  • 保留 仅由配套文件命名 LDC-E8xxx 范围为 保留给尚未遵守的建议.

消费型是故意的 打开数字 :

export type LawDiagnosticCode = KnownDiagnosticCode | (string & {});

代码是添加剂——被冰冻的0.1语义通过添加而生长——所以是一个引擎 比这套计划更新 工会从不以密码合法回答 听说了 一个封闭的enum会拒绝这个答案,这将是关于 引擎,不是检查它. string & {} 保持编辑器自动补全 接受未知代码时已知代码。 同样的原因 isKnownDiagnosticCode(code) === false 意思是"不知道... .. 这个 软件包 版本,从来没有"不是真正的代码".

匹配代码, 而不是消息

引擎信息是俄语,其确切文本属于字节级 两个独立执行同一语义的契约——它 在不违反合同的情况下,无法在一方翻译。 马厩, 静态诊断语言独立控件是其 code数字 :

// yes
if (diagnostic.code === 'LDC-E1104') { … }

// no — this string is a contract between two engines, not an API
if (diagnostic.message.includes('пакет')) { … }

如果您正在构建一个面向用户的产品, 请将代码映射到本地化 字符串而不是通过引擎文本。 医生也一样 在生成类型中的评论 : 它们带有 schemas' 的俄语正文, 因为 计划是规范的来源 在这里翻译它们会创造一个 第二,不加限制的描述.

版本

每个软件包的独立成像器,引擎和客户端版本 分别. 0.x 发布精确相容版本的比克包.

许可证

阿帕奇2.0 (英语). 见 LICENSE 财务报告和审定财务报表 NOTICE。 。 。 .

从源头建楼

在源检出中 :

npm run build -- --public --package-out /tmp/new-law-types-package

建筑复制了所制作的种类和公众诊断 登记;不运行货物或再生计划.

登记处还支持 historical 代码通过记录的更改而退役. 结构类型描述文档格式;其存在不承诺 生成该格式的每个操作都在此分布中.

版本与发布记录

@arxo/law-types 共发布 18 个版本,首次发布于 2026/09/14;过去 12 个月发布了 18 个版本。

版本发布日期距今
0.3.4latest2026/10/1622 天前
0.3.32026/10/1425 天前
0.3.22026/10/1325 天前
0.3.12026/10/1226 天前
0.3.02026/10/1226 天前
0.2.112026/10/1028 天前

其他发布通道:next → 0.2.0。

关于 @arxo/law-types 的常见问题

@arxo/law-types 是什么?

Axo Law Core Core 0.1的TypeScript类型,由规范的JSON schemas(合法的IR,评价文件,诊断,锁文件,决策表,查询)生成,外加最不发达国家诊断代码的机器可读登记册. 只类型: 没有运行时引擎

如何安装 @arxo/law-types?

在项目目录运行 npm install @arxo/law-types,或使用 pnpm add / yarn add / bun add。

@arxo/law-types 支持 TypeScript 吗?

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

@arxo/law-types 支持 ESM 还是 CommonJS?

以 ES Module 形式发布,推荐使用 import 引入。在 CommonJS 项目中,Node.js 20.19+ / 22.12+ 可以直接 require() 不含顶层 await 的 ES Module,更早的版本需要改用动态 import()。

@arxo/law-types 需要什么版本的 Node.js?

package.json 的 engines 字段要求 Node.js >=18。版本不符时 npm 默认只给出警告,开启 engine-strict 后会拒绝安装。

@arxo/law-types 可以商用吗?

@arxo/law-types 使用 Apache-2.0 许可。宽松许可:允许商业使用、修改和再分发,并附带明确的专利授权;分发时需保留许可与 NOTICE 文件,修改过的文件要注明改动。以上为概括,不构成法律意见,请以许可原文为准。

@arxo/law-types 的下载量有多少?

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

@arxo/law-types 还在维护吗?

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