问题标签 [bucklescript]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ocaml - 如何为嵌套递归数据定义数据类型
我从 js 端得到了一个数据,看起来像这样
{
"selectionSet": {
"type": 1,
"selections": [
{
"name": {
"kind": "Name",
"value": "viewer"
},
"selectionSet": {
"type": 1,
"selections": [
{
"name": {
"kind": "Name",
"value": "avatarUrl"
},
"selectionSet": null
}
]
}
}
]
}
}
我想知道如何为selectionSet
and定义类型selections
。
似乎在定义时selections
,我应该定义,selectionSet
因为它有一个类型为的字段selectionSet
。但是当定义时selectionSet
,我应该定义selections
有人可以用 OCaml 风格回答吗?我想将此 JSON 样式数据转换为记录。
datetime - 如何获得当前年份?
有没有办法在 Reason 中获取当前年份?我找到了一个名为bs-luxon的库,但我无法使用它。我已经按照网站上的说明安装了它,但我不知道如何导入它。
如何使用此库或其他方式获取当前年份?
types - 如何为 Js.Dict.get 使用 Js.Dict.t 类型
我正在尝试将一些 JS 转换为 Reason,在此过程中我需要输入 JSON 响应并检查对象中是否存在键。
这是我当前的代码:
目前我收到此错误:
我不能删除Js.Dict.t
类型,因为Js.Dict.get
不喜欢它。
如何键入响应以使其正常工作?
谢谢!
ffi - 基于外部JS创建绑定
在这篇文章中,作者教授如何将 NodeJS 库绑定到 Reason。但是,我想为无法通过 NPM 安装的Google Maps Javascript API创建一个绑定。相反,它通常加载在<body>
with<script>
标签的底部。
callback=funcName
此外,Google Maps Javascript API 仅在作为 url ( )中的参数传递的函数内导出它的函数。这在 Reason 中会像在原始 JS 中一样工作吗?
我怎样才能进行这种绑定?
graphql - Decoding Json/Reading Errors in ReasonML
I have got an graphql query coming back from aws's appsync service. This is the json that comes back from the query.
This is what it looks like logged to the console.
This is the query response in apollo-dev-tools:
Error accessing items
array.
Trying to log the items
values to console by running
https://github.com/idkjs/reason-apollo-question/blob/d38e7fbc33f02ab718c7227958d88f02adba1696/src/Persons.re#L66-L70
produces this error:
How do I resolve this type error?
Thank you!
ocaml - OCaml 多态递归错误
给定以下类型:
我从编译器得到一个错误:
错误:此表达式具有类型 b#1 堆栈,但预期的表达式类型为 'a 堆栈类型构造函数 b#1 将逃脱其范围
在这行代码中:
需要一段时间才能做到这一点,而不会遇到通过使用一些帮助类型不可避免地纠正的晦涩错误消息,但我似乎无法弄清楚如何使用助手纠正这个问题,或者我是否正在尝试对我的类型做一些愚蠢的事情。
消除此错误的正确方法是什么?
promise - 如何将承诺错误转换为自定义类型?
嘿,我有这段代码
在 catch 中,错误字段包含一个字段code
,我可以使用它来获取有关错误的更多详细信息。
我正在尝试编写一个包装函数来将其error
转换为“自定义”类型,但我不知道该怎么做。
到目前为止我有(感谢贾里德)
如何添加额外的检查以确保该code
属性存在于错误中?
json - 将 JSON 字段转换为 ReasonML 变体
我有一个 JSON 结构,其中包含一个period
可以是对象或字符串的字段。我的代码中已经准备好变体,并且工作正常:
问题是当我尝试将输入 JSON 转换为变体类型时:我根本不知道该怎么做。这是我的尝试的样子:
现在,这当然行不通,因为我正在尝试匹配仍然属于 my 一部分的类型的东西Js.Json.t
,String
但periodVariant
我不知道如何实现我想要的。
ocaml - 带有可选和可变字段的记录
在文档中:https ://bucklescript.github.io/docs/en/object.html有关于可变字段和可选字段的记录示例。当我尝试同时使用两者时,它失败了:
编译:
添加[@bs.optional]
属性:
错误信息:
第 7、20 行:此表达式的类型为 unit -> person,但表达式应为 person 类型
第 7 行是该ageSet
行。
我在这里错过了什么吗?