@ddd-framework/dto (英语)
@ddd-framework/dto是一个在综合@ddd-framework框架。 它为数据传输对象(DTO)提供了一类别名来方便以数据为中心的操作和对象/类的初始化器.
说明
这个 @ddd-framework/dto 软件包扩展函数 @ddd-framework 提供一种别名, DataTransferObject<T>,使开发者能够将通用类型深刻地转换成动能类型。 这对在节点Js应用程序中的DDD背景下与数据传输对象(DTO)合作特别有用.
文档
详细信息 @ddd-framework/dto请参考 正式文件。 。 。 .
安装
要安装 @ddd-framework/dto,确保您具备下列先决条件:
- 节点.js 稳定版本
- 小时
一旦设置了先决条件,就运行以下命令:
$ pnpm i @ddd-framework/dto
...
这将安装 @ddd-framework/dto 软件包及其依赖性.
类型别名
数据传输对象<T>
这个 DataTransferObject<T> 类型别名允许将通用类型深度转换为动能类型。 它排除了任何方法并侧重于以数据为中心的操作或对象/类初始化器. 该类型别名对于数据传输对象(DTO)的工作特别有用.
type DataTransferObject<T> = T extends FunctionType
? never
: Extract<T, undefined> extends never
? Serialize<T>
: Serialize<T> | undefined;
通过使用 DataTransferObject<T> 类型别名 @ddd-framework/dto 软件包,开发者可以以数据为中心有效与DTO合作,简化对象/类初始化和数据操作.
使用量
用于 @ddd-framework/dto,导入 DataTransferObject 类型中的别名。 例如:
import { DataTransferObject } from '@ddd-framework/dto';
interface User {
id: string;
name: string;
email: string;
}
// Usage example
const user: DataTransferObject<User> = {
id: '123',
name: 'John Doe',
email: '[email protected]',
};
console.log(user); // Output: { id: '123', name: 'John Doe', email: '[email protected]' }
import { DataTransferObject } from '@ddd-framework/dto';
const money = new Money(10, new CurrencyDetails('USD', '$', 2, true));
const dto = serialize(money);
expect(dto.amount as number).toBeTruthy();
expect(dto.currency.currencyCode as string).toBeTruthy();
import { DataTransferObject } from '@ddd-framework/dto';
const order = new Order({
id: new OrderId(faker.string.uuid()),
status: 'PROCESSING',
createdAt: DateValue.now(),
updatedAt: DateValue.null
});
const dto = serialize(order);
order.id as DomainPrimitive<string>;
expect(dto.id as string).toBeTruthy();
order.status as string;
expect(dto.status as string).toBeTruthy();
order.createdAt as DateValue;
expect(dto.createdAt as string).toBeTruthy();
order.updatedAt as DateValue | undefined;
expect(dto.updatedAt as string | undefined).toBeTruthy();
通过使用 DataTransferObject 类型别名 @ddd-framework/dto 软件包,开发者可以将一个通用类型深刻地转换为动能类型,方便DTOs在其Node.js应用中使用.
许可证
@ddd-framework/dto 以麻省理工学院的许可证发放。 随你随意定制吧 更适合你的需要.