Rescript 记录:作为数组的键
Rescript Record: Key as Array
在 Rescript 中,可以这样定义一个 Record
:
type record1 = {
a : String
}
但不是:
type record2 = {
[a] : String
}
我正在寻找 编译为 JS 的记录,例如:
{
[Op.or]: [12,13]
}
以上用例来自Sequelize
,参考文献here.
我的当前解决方案:
%raw(`{[Op.or]:[12,13]}`)
目前还不完全清楚您打算如何与 Op
构造交互,是否可以绑定到它,但这里有一个示例,并且与 Js.Dict.t
一起有效地产生了相同的输出:
module Op = {
@val external or: string = "Op.or"
}
Js.Dict.fromList(list{
(Op.or, [12, 23])
})
它不会直接编译成你想要的 JS,但是,如果你依赖于实际解析源代码的东西,这可能是一个问题。但除此之外,我相信这应该可以满足您的要求。
在 Rescript 中,可以这样定义一个 Record
:
type record1 = {
a : String
}
但不是:
type record2 = {
[a] : String
}
我正在寻找 编译为 JS 的记录,例如:
{
[Op.or]: [12,13]
}
以上用例来自Sequelize
,参考文献here.
我的当前解决方案:
%raw(`{[Op.or]:[12,13]}`)
目前还不完全清楚您打算如何与 Op
构造交互,是否可以绑定到它,但这里有一个示例,并且与 Js.Dict.t
一起有效地产生了相同的输出:
module Op = {
@val external or: string = "Op.or"
}
Js.Dict.fromList(list{
(Op.or, [12, 23])
})
它不会直接编译成你想要的 JS,但是,如果你依赖于实际解析源代码的东西,这可能是一个问题。但除此之外,我相信这应该可以满足您的要求。