如何在purescript中将记录字段转换为大写?

3

我有一个API,强制要求我以以下形式返回JSON:

{ Field1: "something"
, Field2: 12 }

但是,到目前为止,我在Purescript中未能对其进行建模。

我明白purescript语法会把大写的字段名视为没有字段名的字段类型。因此,编码这样一个函数并不是一件直截了当的事情:

test :: Number -> { Field1 :: String, Field2 :: Number }

不使用外部的JavaScript函数将对象更改为其他内容,是否有可能在Purescript中构建具有大写字段名称的记录?如果可能,怎样做呢?

1个回答

5
当然可以! PureScript 允许使用任何字段名称,而不仅仅是“有效标识符”名称。如果它们很奇怪,你只需要用双引号将其括起来即可。
x :: { "Field1" :: String, "Field2" :: String, "" :: String }
x = { "Field1": "foo", "Field2": "bar", "": "yum" }

y :: String
y = x.""

基本与JavaScript相同。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接