Skip to content
No description, website, or topics provided.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
publish
src
tests
.gitignore
Readme.md
bsconfig.json
package.json

Readme.md

get_in ppx

An exploration of the "safe call operators" pull-request, implemented as a ppx.

Installation

npm i get_in_ppx

bsconfig.json

"ppx-flags": ["get_in_ppx/ppx"]

Operators

This ppx includes two operators, that are valid within the [%get_in ] form.

  • #?? is to be used when both sides are optional. E.g. the object on the left is optional, and the attribute you're getting out is also optional. e.g. option({. "attr": option(int)})
  • #? is to be used when only the object is optional, but the attribute you're getting out is not. e.g. option({. "attr": int})

Usage

/* some data with optional attributes in javascript objects (e.g. from graphql) */
let one = Some({"two": Some({"three": 4})});

let x: option(int) = [%get_in one#??two#?three];
You can’t perform that action at this time.