Fab*_*der 3 record uppercase purescript
我有一个 API 强制我以以下形式返回 JSON
{ Field1: "something"
, Field2: 12 }
Run Code Online (Sandbox Code Playgroud)
然而,到目前为止,我还没有在 Purescript 中对此进行建模。
据我了解,purescript 语法看到大写字段名称并认为它是没有字段名称的字段类型。所以我并不直接编码像这样的函数
test :: Number -> { Field1 :: String, Field2 :: Number }
Run Code Online (Sandbox Code Playgroud)
在不使用外部 javascript 函数将对象更改为其他内容的情况下,是否可以在 purescript 中构造具有大写字段名称的记录?如果是这样,怎么办?
绝对地!PureScript 允许任何字段名称,而不仅仅是“有效标识符”名称。如果它们很奇怪,你只需要用双引号引用它们即可:
x :: { "Field1" :: String, "Field2" :: String, "" :: String }
x = { "Field1": "foo", "Field2": "bar", "": "yum" }
y :: String
y = x.""
Run Code Online (Sandbox Code Playgroud)
与 JavaScript 中的处理基本相同。