node.js - 两个类之间的打字稿复杂映射
问题描述
免责声明:首先我不得不说我有不同的背景——Java/Scala 和 Typescript 绝对不是我最大的优势。
我有两个相当复杂的类和预定义的合同,它们将每个属性从 A 类映射到 B 类。我必须根据需要将 A 类的实例转换为 B 类,反之亦然。我知道这可以通过一个静态映射器来完成,它在代码中进行翻译,但我想知道是否有一些包/技术可以减轻我的痛苦。我已经检查了https://github.com/typestack/class-transformer,但它似乎并没有涵盖我想要的所有内容。
要求:
- 一个类中的一些数组字段可以在映射到另一个类之前进行转换或展平。
- A 类是一个简单的 {[key:string], string} 映射,而 B 的字段更复杂,类型是从合约中推断出来的。
- A 类中的键可能映射到 B 类中的键 Y。
示例 A->B:
class A {
"key1" = "1234"
"key2" = "text"
"key3" = "10/07/2021"
"key5" = "otherText"
}
and after conversion
class B {
"newKey1" = 1234,
"newKey2" = "text",
"newKey3" = Date(..),
"key4": {
"key5": "otherText"
}
任何提示,建议将不胜感激。
解决方案
推荐阅读
- swift - 在swift iOS中以编程方式批量设置按钮图像
- javascript - 在附加的 td 上获得 x-editable
- c# - C# WebApi 登录验证
- netlogo - 如何使用两条相交线的概念在 Netlogo 中实现避障(龟头与由补丁组成的墙)
- vue.js - 组件错误地从其他组件输出内容
- blazor - 如何知道 EventCallback 何时被触发?
- openssl - LibreSSL 为 aes-256-gcm 提供身份验证标签
- django - docker容器中的cronjob无法连接到其他容器
- datetime - Hive:在“yyyy-MM-dd'T'HH:mm:ss.SSS'Z'”中转换缺少秒数的字符串日期时间
- java - 如何从数据库中获取数据?