@dloizides/utils

中文文档
1.11.1发布于 2026/11/09MITTypeScriptESM + CJS零依赖近 30 天下载 2768

TypeScript 项目的类型安全公用功能

中文使用文档
文档目录10 节
  1. 安装
  2. 特征
  3. 使用量
  4. 类型警卫
  5. 请求
  6. 子路径导入
  7. API 参考
  8. 类型警卫
  9. 请求
  10. 许可证

@dloizides/ utils (英语)

TypeScript 项目的类型安全公用功能

npm version License: MIT

安装

npm install @dloizides/utils
# or
yarn add @dloizides/utils
# or
pnpm add @dloizides/utils

特征

  • 类型警卫数字 : isValueDefined, (中文(简体) ), isNotEmptyArray, (中文(简体) ), isNotEmptyString, (中文(简体) ), isNullOrUndefined, (中文(简体) ), isEmptyArray, (中文(简体) ), isEmptyString
  • 请求数字 : assertDefined
  • 无依赖: 无运行时间依赖性
  • 树能震动: 只导入您需要的东西
  • 类型脚本第一: 完全类型推论并缩小范围

使用量

类型警卫

import { isValueDefined, isNotEmptyArray, isNotEmptyString } from '@dloizides/utils';

// isValueDefined - Check if value is not null or undefined
const user = getUserOrNull();
if (isValueDefined(user)) {
  console.log(user.name); // TypeScript knows user is defined
}

// isNotEmptyArray - Check if array has elements
const items = getItems();
if (isNotEmptyArray(items)) {
  console.log(items[0]); // Safe to access first element
}

// isNotEmptyString - Check if string has content
const input = formData.get('name');
if (isNotEmptyString(input)) {
  saveUser(input); // String is guaranteed to have content
}

请求

import { assertDefined } from '@dloizides/utils';

function processUser(user: User | null) {
  assertDefined(user, 'User is required');
  // user is now narrowed to User
  return user.name.toUpperCase();
}

子路径导入

// Import only guards
import { isValueDefined } from '@dloizides/utils/guards';

// Import only assertions
import { assertDefined } from '@dloizides/utils/assertions';

API 参考

类型警卫

函数说明
isValueDefined<T>(value)回返 true 如果数值不是 null 或者说 undefined
isNotEmptyArray<T>(value)回返 true 如果值是长度大于0的数组
isNotEmptyString(value)回返 true 如果值是非空字符串( 修剪后)
isNullOrUndefined(value)回返 true 如果值是 null 或者说 undefined
isEmptyArray(value)回返 true 如果值是一个空数组
isEmptyString(value)回返 true 如果数值是空的或空白的

请求

函数说明
assertDefined<T>(value, message?)如果值为 null 或者说 undefined

许可证

麻省理工学院

版本与发布记录

@dloizides/utils 共发布 13 个版本,首次发布于 2026/01/27;过去 12 个月发布了 13 个版本。

版本发布日期距今
1.11.1latest2026/11/093 天前
1.11.02026/11/056 天前
1.10.02026/11/056 天前
1.9.02026/10/2122 天前
1.8.02026/09/092 个月前
1.7.02026/08/033 个月前

关于 @dloizides/utils 的常见问题

@dloizides/utils 是什么?

TypeScript 项目的类型安全公用功能

如何安装 @dloizides/utils?

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

@dloizides/utils 支持 TypeScript 吗?

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

@dloizides/utils 支持 ESM 还是 CommonJS?

同时提供 ES Module 与 CommonJS 入口,import 和 require() 都可以使用,打包工具会自动选择合适的版本。

@dloizides/utils 需要什么版本的 Node.js?

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

@dloizides/utils 可以商用吗?

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

@dloizides/utils 的下载量有多少?

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

@dloizides/utils 还在维护吗?

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