@clipboard-health/json-api

中文文档
2.11.18发布于 2026/11/05MITTypeScriptCommonJS近 30 天下载 2.7万

符合JSON:API规格的TypeScript友好公用设备.

中文使用文档
文档目录5 节
  1. 目录
  2. 安装
  3. 使用量
  4. 查询助手
  5. 地方发展指挥部

@clipboard-health/json-api 页面存档备份,存于互联网档案馆

用于遵守《公约》的方便脚本工具 亚庇: 规格.

目录

安装

npm install @clipboard-health/json-api

使用量

查询助手

从客户打电话 stringifyQuery 转换自 JsonApiQuery 改为 URLSearchParams数字 :

import { deepEqual } from "node:assert/strict";

import { stringifyQuery } from "@clipboard-health/json-api";

import type { ClientJsonApiQuery } from "../src/lib/types";

const [date1, date2] = ["2024-01-01", "2024-01-02"];
const query: ClientJsonApiQuery = {
  fields: { user: ["age", "dateOfBirth"] },
  filter: {
    age: 2,
    dateOfBirth: {
      gt: date1,
      lt: date2,
    },
    isActive: true,
  },
  include: "article",
  page: {
    size: 10,
  },
  sort: "-age",
};

deepEqual(
  stringifyQuery(query),
  new URLSearchParams(
    `fields[user]=age,dateOfBirth&filter[age]=2&filter[dateOfBirth][gt]=${date1}&filter[dateOfBirth][lt]=${date2}&filter[isActive]=true&include=article&page[size]=10&sort=-age`,
  ).toString(),
);

从服务器呼叫 parseQuery 转换自 URLSearchParams 改为 ServerJsonApiQuery数字 :

import { deepEqual } from "node:assert/strict";

import { parseQuery } from "@clipboard-health/json-api";

import type { ServerJsonApiQuery } from "../src/lib/types";

const [date1, date2] = ["2024-01-01", "2024-01-02"];
// The URLSearchParams constructor also supports URL-encoded strings
const searchParams = new URLSearchParams(
  `fields[user]=age,dateOfBirth&filter[age]=2&filter[dateOfBirth][gt]=${date1}&filter[dateOfBirth][lt]=${date2}&filter[isActive]=true&include=article&page[size]=10&sort=-age`,
);

const query: ServerJsonApiQuery = parseQuery(searchParams.toString());

deepEqual(query, {
  fields: { user: ["age", "dateOfBirth"] },
  filter: {
    age: "2",
    dateOfBirth: { gt: date1, lt: date2 },
    isActive: "true",
  },
  include: "article",
  page: {
    size: "10",
  },
  sort: "-age",
});

地方发展指挥部

见 package.json scripts 用于命令列表.

版本与发布记录

@clipboard-health/json-api 共发布 469 个版本,首次发布于 2024/08/23;过去 12 个月发布了 382 个版本。

版本发布日期距今
2.11.18latest2026/11/054 天前
2.11.172026/11/054 天前
2.11.162026/11/055 天前
2.11.152026/11/045 天前
2.11.142026/11/045 天前
2.11.132026/10/3110 天前

关于 @clipboard-health/json-api 的常见问题

@clipboard-health/json-api 是什么?

符合JSON:API规格的TypeScript友好公用设备.

如何安装 @clipboard-health/json-api?

在项目目录运行 npm install @clipboard-health/json-api,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:qs(^6.14)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@clipboard-health/json-api 支持 TypeScript 吗?

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

@clipboard-health/json-api 支持 ESM 还是 CommonJS?

以 CommonJS 形式发布,可以直接 require();在 ES Module 项目中也可以用 import 引入(Node.js 会把 module.exports 作为默认导出)。

@clipboard-health/json-api 可以商用吗?

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

@clipboard-health/json-api 的下载量有多少?

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

@clipboard-health/json-api 还在维护吗?

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