Page
Library
Module
Module type
Parameter
Class
Class type
Source
Low-level bindings to fetch for Melange.
melange-fetch is intended as a thin layer atop the JS API, upon which more high-level and idiomatic libraries can be made. Once such a library has been established, these bindings will likely be refactored to be even thinner.
Js.Promise.(
Fetch.fetch("/api/hellos/1")
|> then_(Fetch.Response.text)
|> then_(text => print_endline(text) |> resolve)
);opam pin add melange-fetch.dev git+https://github.com/melange-community/melange-fetch.git#masterThen add melange-fetch to the libraries field in your dune file:
(melange.emit ;; or (library ...)
...
(libraries melange-fetch))See usage examples in ocaml_examples.ml and reason_examples.re. The source is a single file!
fetch is a Web API that isn't available out-of-the-box in Node.js, and will therefore need to be polyfilled. isomorphic-fetch one such polyfill that seems to work well. Just install it via npm and add [%raw "require('isomorphic-fetch')"] to the top of your main file, but be aware that there are some subtle differences and even parts that are missing entirely.
FormData bindingsResponse._type was generating _type instead of typeResponse._type to Response.type_ to follow the name mangling convention trendsAbortControllerHeaders.append and Headers.delete. They were missing the return type.bs-platform to 5.0.4 to stop compiler from complaining.HeadersInit.makeWithDict so as to be able to make headers in OCaml toobs-platform >= 3.0.0 due to internal dependency on Js.boolean that has now been removedBs_fetch module to Fetch. Bs_fetch is kept around as an alias for backwards compatibility, but should be considered deprecated.