@coniface/trial

中文文档
2.0.0发布于 2024/06/25MITTypeScriptESM + CJS零依赖近 30 天下载 2721

A promise helper tool to inline them and reduce indentation-complexity.

原始使用文档
文档目录3 节
  1. How to install it
  2. How to use it?
  3. Why this naming?

Trial

"I promise before Almighty God that the evidence which I shall give shall be the truth, the whole truth, and nothing but the truth."

A great tool to ensure your code keeps its promise!

How to install it

Use your favorite packet manager:

pnpm i @coniface/trial
yarn add @coniface/trial
npm i @coniface/trial

How to use it?

It could not be simpler than that!

  • Reduces promise declaration indentation
// Instead of
const promise = new Promise((resolve, reject) => {
  console.log(`Let's get to work!`);
});
import { getTrial } from '@coniface/trial';

// Inline your promise
const [promise, resolve, reject] = getTrial<T>();
console.log(`Let's get to work!`);

ℹ Since early 2024, it became part of the Promise API
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise/withResolvers

  • Encourages the use of strong typings instead of try/catch blocks
// Instead of
async function somewhereInYourCode<T>(promise: Promise<T>) {
  try {
    const result = await promise;
    console.log(`Let's get to work!`);
  } catch (error) {
    console.error('An error occured', error);
  }
}
import { trial } from '@coniface/trial';

// Use typings and inline your code
async function somewhereInYourCode<T>(promise: Promise<T>) {
  const [data, error] = await trial(promise);
  if (error) {
    // error exists in this context
    // data type is never
    console.error('An error occured', error);
    return;
  }
  // error does not exist in this context
  // data type is T
  console.log(`Let's get to work!`);
}

Why this naming?

  • trial is a concise 5-letter word to use as a function.
  • The reference to the promise in tribunal.
  • The result (guilty / not guilty) that matches with a promise state (resolved / rejected).

版本与发布记录

@coniface/trial 共发布 3 个版本,首次发布于 2023/02/04;过去 12 个月发布了 0 个版本。

版本发布日期距今
2.0.0latest2024/06/252 年前
1.0.12024/04/292 年前
1.0.02023/02/043 年前

关于 @coniface/trial 的常见问题

@coniface/trial 是什么?

A promise helper tool to inline them and reduce indentation-complexity.

如何安装 @coniface/trial?

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

@coniface/trial 支持 TypeScript 吗?

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

@coniface/trial 支持 ESM 还是 CommonJS?

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

@coniface/trial 可以商用吗?

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

@coniface/trial 的下载量有多少?

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

@coniface/trial 还在维护吗?

最新版本 2.0.0 发布于 2024/06/25(2 年前);至今共发布 3 个版本,其中过去 12 个月发布了 0 个;首次发布于 2023/02/04。发布频率只是参考信号:功能稳定的工具可能很少需要更新,建议结合源码仓库的 issue 和提交记录判断。