@actuallab/core

中文文档
15.1.24发布于 2026/11/07MITTypeScriptESM + CJS零依赖构建来源已验证近 30 天下载 3406

实际Lab TypeScript 库的核心原始文件

中文使用文档
文档目录5 节
  1. 安装
  2. 里面的东西
  3. 实例
  4. 文档
  5. 许可证

@ actuallab/ core (中文(简体) )

npm Documentation License

每个人共享的核心原始物 实际Lab。 组合 类型脚本 软件包 - Result<T>, (中文(简体) ), AsyncContext, (中文(简体) ), AsyncLock, (中文(简体) ), PromiseSource、事件、重试政策,以及 取消帮助者。 它是部分的 TypeScript 对应版本 ActualLab.Core 在.NET中,以及它 已经 零运行时间依赖关系。 。 。 .

您很少直接安装 : @actuallab/rpc, (中文(简体) ), @actuallab/fusion, (中文(简体) ), @actuallab/fusion-rpc,以及 @actuallab/fusion-react 都取决于它。 在您想要其原始内容时明确安装 他们自己的.

安装

npm install @actuallab/core

无害环境管理首先采用CJS制;船舶自用 .d.ts。 。 。 .

里面的东西

API 密码说明
Result<T>, (中文(简体) ), result, (中文(简体) ), errorResult, (中文(简体) ), resultFrom, (中文(简体) ), resultFromAsync易变值或易变相容器(.NET) Result<T>(中文(简体) )
PromiseSource<T>, (中文(简体) ), PromiseSourceWithTimeout<T>外部解决的承诺(.NET) TaskCompletionSource<T>(中文(简体) )
AsyncContext, (中文(简体) ), AsyncContextKey, (中文(简体) ), abortSignalKeyAsyncLocal<T>- 如键入上下文; 由 AsyncLocalStorage 第20.16节
AsyncLock, (中文(简体) ), AsyncSignal基于承诺的相互排斥和示意
EventHandlerSet<T>键入多播的 pub/ sub 与 whenNext()
isCancellation, (中文(简体) ), cancellationError, (中文(简体) ), delayAsync, (中文(简体) ), abortPromise, (中文(简体) ), awaitWithCleanupAbortSignal-基于取消,带有.NET"取消不是失败"的语义学
RetryDelaySeq, (中文(简体) ), RetryDelayer, (中文(简体) ), retry指标后退重试政策
throttle, (中文(简体) ), debounce, (中文(简体) ), serialize更高顺序的同步运算符
RingBuffer, (中文(简体) ), DisposableBag小型收藏/终生助手
Log, (中文(简体) ), LogLevel, (中文(简体) ), initLogging, (中文(简体) ), LogLevelController所有 Fusion TS 包所用的范围记录

实例

import { Result, result, errorResult, resultFrom } from '@actuallab/core';

const ok = result(42);
ok.hasValue;          // true
ok.value;             // 42
ok.valueOrUndefined;  // 42 — never throws

const err = errorResult<number>(new Error('fail'));
err.hasError;         // true
err.value;            // throws Error("fail")

resultFrom(() => JSON.parse('{}'));  // Result<any>, exception captured
import { AsyncContext, AsyncContextKey } from '@actuallab/core';

const userKey = new AsyncContextKey<string>('user', 'anonymous');
const ctx = AsyncContext.empty.with(userKey, 'Alice');

ctx.run(() => AsyncContext.current!.get(userKey));  // "Alice"
import { AsyncLock, delayAsync, RetryDelaySeq } from '@actuallab/core';

const lock = new AsyncLock();
await lock.run(async () => { /* critical section */ });

await delayAsync(1000, abortSignal);   // abortable delay
RetryDelaySeq.exp(1000, 30000);        // 1s, 1.4s, 2s, 2.8s, … (×√2, ±10% spread), capped at 30s

文档

许可证

麻省理工学院——见 自由主义。 。 。 .

版本与发布记录

@actuallab/core 共发布 54 个版本,首次发布于 2026/02/18;过去 12 个月发布了 54 个版本。最新版本附带 npm provenance 构建来源证明,可追溯到公开的 CI 构建记录。

版本发布日期距今
15.1.24latest2026/11/07今天
15.1.222026/11/07今天
15.1.152026/11/07今天
15.1.112026/11/07今天
15.1.62026/11/07今天
15.0.212026/10/2414 天前

关于 @actuallab/core 的常见问题

@actuallab/core 是什么?

实际Lab TypeScript 库的核心原始文件

如何安装 @actuallab/core?

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

@actuallab/core 支持 TypeScript 吗?

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

@actuallab/core 支持 ESM 还是 CommonJS?

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

@actuallab/core 可以商用吗?

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

@actuallab/core 的下载量有多少?

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

@actuallab/core 还在维护吗?

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