Many of the more "advanced" typescript features can be used for creating "value-derived" types.
At its simplest form:
let vehicle = { name: "Van", wheels: 4 }| // This is a proper alternative to | |
| // https://github.com/BuckleScript/bucklescript/blob/b9508105b1a35537bdea9a1fabd10f6c65f776b4/jscomp/bsb/templates/react-hooks/src/FetchedDogPictures/FetchedDogPictures.re#L14 | |
| // The one in that file uses Promise, but that's *wrong*. | |
| // We only used promise as a demo of its API. We'll remove it soon. | |
| // As you can see below, the pure XMLHttpRequest code is just as clean, | |
| // less mysterious for all, more performant, extensible, and actually correct. | |
| // Ignore these externals for now. They're just for illustration | |
| // purposes. I just copy pasted the Js code from |
| # Get Graphics Magick | |
| > cd / | |
| > mkdir /dowload | |
| > cd /download | |
| > wget ftp://ftp.graphicsmagick.org/pub/GraphicsMagick/GraphicsMagick-LATEST.tar.gz | |
| > tar -xzvf GraphicsMagick-LATEST.tar.gz | |
| > cd GraphicsMagick-1.3.21 (or the lastest graphics magick) | |
| # Install Graphics Magick | |
| ## Get libs |
| #!/usr/bin/env bash | |
| rm -rf "${HOME}/Library/Caches/CocoaPods" | |
| rm -rf "`pwd`/Pods/" | |
| pod update |