@foblex/mediator

中文文档
1.1.3发布于 2025/07/03MITTypeScriptESM + CJS近 30 天下载 35.4万

执行调解人模式的Angular 库,提供处理请求的集中方式 验证和执行管道.

中文使用文档
文档目录9 节
  1. 概览
  2. 安装
  3. 使用量
  4. 1. 界定请求类型
  5. 2. 创建验证器(可选)
  6. 3. 创建执行处理器
  7. 4. 在模块中提供处理器
  8. 5. 利用调解人
  9. 许可证

角调解人

执行调解人模式的Angular 库,提供处理请求的集中方式 验证和执行管道.

概览

Angular 流程介面库允许您简化Angular应用程序中的请求处理:

  • 集中请求处理逻辑.
  • 分离论证与执行关切.
  • 简化新增请求类型.

通过使用装饰器,您可以轻松注册特定请求类型的验证器和执行处理器,促进 清洁代码组织和模块化.

安装

通过 npm 安装库 :

  npm install @foblex/mediator

使用量

1. 界定请求类型

创建一个代表您请求的类 :

export class MyRequest {
  static readonly fToken = Symbol('MyRequest');
  constructor(public payload: any) {}
}

2. 创建验证器(可选)

通过扩展 IValidator 并使用 FValidator 装饰符执行验证符 :

import { Injectable } from '@angular/core';
import { IValidator, FValidatorRegister } from 'angular-flow-mediator';
import { MyRequest } from './my-request';

@Injectable()
@FValidatorRegister(MyRequest)
export class MyRequestValidator implements IValidator<MyRequest> {
  handle(request: MyRequest): boolean {
    // Implement validation logic
    return request.payload !== null; // Return true if valid, false otherwise
  }
}

3. 创建执行处理器

通过扩展 IExecution 并使用 FExecutiveRegister 装饰符执行执行处理器 :

import { Injectable } from '@angular/core';
import { IExecution, FExecutionRegister } from 'angular-flow-mediator';
import { MyRequest } from './my-request';

@Injectable()
@FExecutionRegister(MyRequest)
export class MyRequestHandler implements IExecution<MyRequest, any> {
  handle(request: MyRequest): any {
    // Implement execution logic
    return `Processed payload: ${request.payload}`;
  }
}

4. 在模块中提供处理器

确保您在您的角模块中提供您的处理器 :

import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
import { AppComponent } from './app.component';

import { FMediator } from '@foblex/mediator';
import { MyRequestValidator } from './my-request.validator';
import { MyRequestHandler } from './my-request.handler';

@NgModule({
  declarations: [AppComponent],
  imports: [BrowserModule],
  providers: [
    FMediator,
    MyRequestValidator,
    MyRequestHandler
  ],
  bootstrap: [AppComponent]
})
export class AppModule { }

5. 利用调解人

将调频器注入您的组件或服务,并发送请求 :

import { Component } from '@angular/core';
import { FMediator } from '@foblex/mediator';
import { MyRequest } from './my-request';

@Component({
  selector: 'app-root',
  template: `<h1>Angular Mediator Example</h1>`
})
export class AppComponent {
  constructor(private mediator: FMediator) {
    const response = this.mediator.send(new MyRequest('Sample Data'));
    console.log(response);
  }
}

许可证

这个项目根据麻省理工学院的许可证获得许可.

通过遵循这一指南,你应当能够将角调解人纳入您的申请,以干净而高效的调解人模式加强您的请求处理机制.

版本与发布记录

@foblex/mediator 共发布 21 个版本,首次发布于 2023/10/10;过去 12 个月发布了 0 个版本。

版本发布日期距今
1.1.3latest2025/07/031.4 年前
1.1.22025/01/161.8 年前
1.1.12025/01/161.8 年前
1.1.02024/09/142 年前
1.0.52023/10/103 年前
1.0.42023/10/103 年前

关于 @foblex/mediator 的常见问题

@foblex/mediator 是什么?

执行调解人模式的Angular 库,提供处理请求的集中方式 验证和执行管道.

如何安装 @foblex/mediator?

在项目目录运行 npm install @foblex/mediator,或使用 pnpm add / yarn add / bun add。它还需要宿主项目提供 peer 依赖:@angular/common(>=12.0.0)、@angular/core(>=12.0.0)、rxjs(>=6.6.0)。npm 7 及以上与 pnpm 8 及以上默认会自动安装必需的 peer 依赖,Yarn 需要手动安装。

@foblex/mediator 支持 TypeScript 吗?

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

@foblex/mediator 支持 ESM 还是 CommonJS?

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

@foblex/mediator 可以商用吗?

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

@foblex/mediator 的下载量有多少?

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

@foblex/mediator 还在维护吗?

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