AirPower-Transformer 是一个基于 TypeScript
的数据转换器,提供了从 JSON
对象到 类实例
对象之间互相转换的系列装饰器和方法。
npm install @airpower/transformer # or yarn add @airpower/transformer # or cnpm install @airpower/transformer # or ...
import { IgnorePrefix, Prefix, Transformer, Type } from '@airpower/transformer' @Prefix('role____') class Role extends Transformer { id!: number name!: string } @Prefix('user_') class User extends Transformer { id!: number name!: string @IgnorePrefix() age!: number @Type(Role) role!: Role @Type(Role, true) roleList: Role[] = [] } const user = new User() user.id = 1 user.name = 'Hamm' user.age = 18 const role = new Role() role.name = 'Admin' user.role = role const roleItem = new Role() roleItem.name = 'User' user.roleList.push(roleItem) const json = user.copy().toJson() console.warn('json', JSON.stringify(json)) json.name = '???' // 无效 const user2 = User.fromJson(json) console.warn('user2', user2)
如有疑问,可以通过本仓库的 Issues 与我们联系,如果你有一些代码贡献,可以通过 Pull Request 将代码贡献,为这个项目添砖加瓦。
如果有更多的需求和建议,欢迎通过本仓库的 Issues
提出,也欢迎加入 QQ群 555156313 与我们及时反馈。
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4