@data-fair/lib-utils

中文文档
1.14.2发布于 2026/11/09MITES Module零依赖近 30 天下载 2314

用于数据公平堆栈的小型无依赖或有依赖光的功能.

中文使用文档
文档目录7 节
  1. 安装
  2. 模块
  3. 使用量
  4. HTTP 错误
  5. 衍生计划
  6. 以 Vuetify 类标记下
  7. ESLint 语录

@ data-fair/ lib- utils

数据公平堆栈共享的小型无依赖或有依赖光的公用功能:服务(Node.js),Vue应用程序和处理. 每个模块都是由文件路径所导入的独立ES模块.

安装

npm i @data-fair/lib-utils

可选对等依赖 : dayjs (v1),仅需满足 format/date-tz.js 财务报告和审定财务报表 format/field.js。 。 。 .

marked-vuetify.js, (中文(简体) ), sanitize-html.js 财务报告和审定财务报表 eslint/recommended.js 仅导入类型 marked, (中文(简体) ), sanitize-html 财务报告和审定财务报表 eslint:在使用这些包的地方安装这些包.

模块

导入路径说明
@data-fair/lib-utils/http-errors.jshttpError(status, message?, { expose? }) 编辑 HttpError 4xx的生产没有昂贵的堆栈痕迹.
@data-fair/lib-utils/clone.js快速深克隆(rfdc的轻度无害环境管理副本)处理日期、地图、套件和缓冲器.
@data-fair/lib-utils/json-schema.jsjsonSchema(schema) 取出图案的包装(取出/移出属性、PATCH和PUT变体.), resolveXI18n, (中文(简体) ), makeLocalDefs。 。 。 .
@data-fair/lib-utils/micro-template.jsmicroTemplate(txt, params) 替换 {param} 字符串中的占位符.
@data-fair/lib-utils/event-promise.jseventPromise(emitter, event, { timeout? }) 等待一个节点事件 EventEmitter (拒绝) error 或默认在60后).
@data-fair/lib-utils/marked-vuetify.jsmarked 扩展渲染下加 Vuetify 类(markedVuetify, (中文(简体) ), createMarkedVuetify({ density, headingClasses })) (中文(简体) ).
@data-fair/lib-utils/sanitize-html.jsgetSanitizeOpts(defaults) 共享 sanitize-html 选项(添加) img, (中文(简体) ), class 属性).
@data-fair/lib-utils/filters/index.js转换共享 Filtres 过滤对象到 REST 参数(filter2params, (中文(简体) ), filters2params)或到一个 lucene 查询字符串(filter2qs, (中文(简体) ), filters2qs(一) 贬值; escape, (中文(简体) ), filterByDate。 。 。 .
@data-fair/lib-utils/format/field.js格式化用于显示的数据集列值( X)formatFieldValue, (中文(简体) ), formatFieldValues, (中文(简体) ), formatField, (中文(简体) ), getFieldLabel) (中文(简体) ).
@data-fair/lib-utils/format/bytes.jsformatBytes(bytes, locale = 'fr') 人类可读尺寸(1,2 Mo) (中文(简体) ).
@data-fair/lib-utils/format/date-tz.jsdateTimeInOwnTimeZone(value) 返回字符串所带的相冲中保留的一个日日; explicitOffsetMinutes。 。 。 .
@data-fair/lib-utils/format/attachment.jsattachmentFilename(url) 财务报告和审定财务报表 webPageLabel(url) 用于附件和网页列的短标签.
@data-fair/lib-utils/maps.jsbbox2zoom(bbox) 财务报告和审定财务报表 svgToDataURL(svgStr)。 。 。 .
@data-fair/lib-utils/in-iframe.jsinIframe 布尔,当页面运行在 iframe (仅浏览器) 内时为真 .
@data-fair/lib-utils/webgl-supported.jsisWebglSupported() (只浏览器).
@data-fair/lib-utils/eslint/recommended.jsESLint 平面配置 禁止进口由 lib 所取代的模块(rfdc, (中文(简体) ), http-errors, (中文(简体) ), event-to-promise(......) (中文(简体) ).

使用量

HTTP 错误

import { httpError } from '@data-fair/lib-utils/http-errors.js'

if (!dataset) throw httpError(404, 'dataset not found')
// a 5xx message is hidden by the error handler unless exposed explicitly
throw httpError(502, 'remote service unavailable', { expose: true })

衍生计划

jsonSchema() 复制计程器,每种方法都返回包装器 所以调用链 .schema 保持结果.

import jsonSchema from '@data-fair/lib-utils/json-schema.js'
import pageSchema from '#types/page/schema.js'

export default {
  ...jsonSchema(pageSchema)
    .pickProperties(['title', 'owner'])
    .removeRequired()
    .schema,
  $id: 'https://github.com/data-fair/portals/pages/patch-req-body',
  'x-exports': ['validate', 'types']
}

makePatchSchema(properties?) 财务报告和审定财务报表 makePutSchema() 生成通常的 PATCH(不需要,可选属性无效,只读去除)和PUT(只读从不要求)变体.

以 Vuetify 类标记下

import { marked } from 'marked'
import sanitizeHtml from 'sanitize-html'
import { markedVuetify } from '@data-fair/lib-utils/marked-vuetify.js'
import { getSanitizeOpts } from '@data-fair/lib-utils/sanitize-html.js'

marked.use(markedVuetify)
const html = sanitizeHtml(marked.parse(markdown) as string, getSanitizeOpts(sanitizeHtml.defaults))

ESLint 语录

// eslint.config.js
import neostandard from 'neostandard'
import dfLibRecommended from '@data-fair/lib-utils/eslint/recommended.js'

export default [
  ...dfLibRecommended,
  ...neostandard({ ts: true })
]

版本与发布记录

@data-fair/lib-utils 共发布 28 个版本,首次发布于 2024/10/07;过去 12 个月发布了 18 个版本。

版本发布日期距今
1.14.2latest2026/11/092 天前
1.14.12026/10/2319 天前
1.14.02026/09/082 个月前
1.13.12026/08/262 个月前
1.13.02026/08/172 个月前
1.12.22026/08/132 个月前

关于 @data-fair/lib-utils 的常见问题

@data-fair/lib-utils 是什么?

用于数据公平堆栈的小型无依赖或有依赖光的功能.

如何安装 @data-fair/lib-utils?

在项目目录运行 npm install @data-fair/lib-utils,或使用 pnpm add / yarn add / bun add。

@data-fair/lib-utils 支持 TypeScript 吗?

该包的 package.json 没有声明类型入口。需要类型提示时,可以在 npm 上查找社区维护的 @types/data-fair__lib-utils 是否存在。

@data-fair/lib-utils 支持 ESM 还是 CommonJS?

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

@data-fair/lib-utils 可以商用吗?

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

@data-fair/lib-utils 的下载量有多少?

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

@data-fair/lib-utils 还在维护吗?

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