Skip to content

Instantly share code, notes, and snippets.

View jihchi's full-sized avatar
🦀

Jihchi Lee jihchi

🦀
View GitHub Profile
@jihchi
jihchi / Lets.re
Last active December 23, 2019 12:11
bs-let / let%Anything utilities and example from https://github.com/notablemind/renm/blob/master/src/utils/Lets.re
// source: https://github.com/notablemind/renm/blob/master/src/utils/Lets.re
module Async = {
type t('a) = Js.Promise.t('a);
let try_ = (promise, continuation) => Js.Promise.catch(continuation, promise);
let let_ = (promise, continuation) =>
Js.Promise.then_(continuation, promise);
let resolve = Js.Promise.resolve;
let reject = Js.Promise.reject;
let map = (promise, fn) => Js.Promise.then_(v => Js.Promise.resolve(fn(v)), promise);
/**
AsyncData represents the state of data that is being loaded asynchronously.
This type does not represent failures by default, but it can by using Belt.Result.t as your 'a type.
The reason for this is that not all async data loading mechanisms will necessarily fail.
The other interesting bit is that `Reloading` can be used if you already have data (e.g. an Ok or Error Result),
but you need to reload the data to get a new Result.
*/
@jihchi
jihchi / README.md
Last active February 22, 2020 12:21
curl -sSL https://git.io/Jv0mR | sudo bash
@jihchi
jihchi / df
Last active December 5, 2020 01:41
123

Pros

  • Usage is simple, you could directly access the config via process.env.NEXT_PUBLIC_*, for example:
// call-site, agents.js
const restaurantApi = axios.createConfig({
 baseUrl: process.env.NEXT_PUBLIC_RESTAURANT_API_URI,