如何在纯脚本中制作大写记录?

How to make uppercase records in purescript?

我有一个 API 迫使我 return 以

的形式 JSON
{ Field1: "something"
, Field2: 12 }

但是,到目前为止,我在 Purescript 中对此建模失败。

我理解纯脚本语法看到大写的字段名,认为是没有字段名的字段类型。所以我不直接编码像

这样的函数
test :: Number -> { Field1 :: String, Field2 :: Number }

如果不借助外部 javascript 函数将对象更改为其他对象,是否可以在纯脚本中构造具有大写字段名称的记录?如果是,怎么做?

当然! PureScript 允许 any 字段名称,而不仅仅是“有效标识符”。如果它们很奇怪,你只需要双引号:

x :: { "Field1" :: String, "Field2" :: String, "" :: String }
x = { "Field1": "foo", "Field2": "bar", "": "yum" }

y :: String
y = x.""

与JavaScript基本相同。