* 流利建设者
生成任意接口或类型的流畅,打出的对象构建器.
fluent-builder 使用种子设计,并生成一个与所建类型完全相同的签名的构建器,但带有 mutate 函数,对对象进行迭代修改。 建造者还有两处地产, reset() 财务报告和审定财务报表 build()。 。 。 .
createBuilder<Product>(schema).name('Shirt').price(42).build();
为什么?
fluent-builder 旨在简化使用 构建器模式 用于Typescript,使用通用名. 这种模式允许迭代构造复杂而常被嵌入的物体. 通常情况下,每个独特的接口或类型都需要执行一个独特的构建器类,以确保有正确的打字功能.
安装
和平常一样
yarn add -D @develohpanda/fluent-builder
npm i --save-dev @develohpanda/fluent-builder
抓到他们了!
为了在 VS 代码中正确检测类型( 如悬浮时的IntelliSense), 任何使用文件 fluent-builder 包含在默认项目中 tsconfig 待编纂。 如果你知道如何解决这个问题,请提交公关
使用量
定义您的接口/ 类型
interface Product {
name: string;
price: number;
color?: string;
buy: () => void;
}
定义一个方案
import {Schema} from '@develohpanda/fluent-builder';
const schema: Schema<Product> = {
name: () => 'Shirt',
price: () => 2,
color: () => undefined,
buy: () => jest.fn(),
}
创建构建器
import {createBuilder} from '@develohpanda/fluent-builder';
const builder = createBuilder(schema);
旋转
describe('suite', () => {
beforeEach(() => builder.reset());
it('test', () => {
const mock = jest.fn();
const instance = builder.price(4).buy(mock).build();
// use instance and mock
});
});
建造新建筑工的间接费用可通过使用 builder.reset() 方法。 这个将变异的图案重回原作,并且可以被连锁.
builder.reset().price(5).build();
捐款
请通过 Github 问题跟踪器。 。 。 .
你可以随心所欲地提出拉动请求!
yarn install
yarn test