Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/justinwoo/purescript-xiaomian

Make a record of SProxy of keys of a row type easily, and just plug in the inferred type when you're finished.
https://github.com/justinwoo/purescript-xiaomian

purescript type-level

Last synced: about 2 months ago
JSON representation

Make a record of SProxy of keys of a row type easily, and just plug in the inferred type when you're finished.

Awesome Lists containing this project

README

        

# purescript-xiaomian

Make a record of `SProxy` of keys of a row type easily, and just plug in the inferred type when you're finished.

![](https://i.imgur.com/HhmRpVb.jpg)

## Usage

See [test/Main.purs](./test/Main.purs)

```purs
test :: Unit
test = do
let
expected = Proxy :: Proxy (RProxy ( a :: SProxy "a", b :: SProxy "b", c :: SProxy "c" ))
actual = X.getKeysRow { a: 1, b: 2, c: 3 }
expectInferred expected actual

test2 :: Unit
test2 = do
let
expected = Proxy :: Proxy ({ a :: SProxy "a", b :: SProxy "b", c :: SProxy "c" })
actual = X.getKeysRecord { a: 1, b: 2, c: 3 }
expectInferred expected actual

test3 :: Unit
test3 = do
let
expected = Proxy :: Proxy ({ a :: SProxy "a", b :: SProxy "b", c :: SProxy "c" })
actual = X.getKeysRecord' (Proxy :: Proxy { a :: Int, b :: Int, c :: Int })
expectInferred expected actual
```