@@ -1,13 +1,13 @@
11# Vault
22
3−[](https://github.com/purescript-community/purescript-vault/actions?query=workflow%3ACI+branch%3Amaster)
4−[](https://github.com/purescript-community/purescript-vault/releases)
3+[](https://github.com/rowtype-yoga/purescript-vault/actions?query=workflow%3ACI+branch%3Amaster)
4+[](https://github.com/rowtype-yoga/purescript-vault/releases)
55[](https://pursuit.purescript.org/packages/purescript-vault)
66[](https://github.com/nsaunders)
77
8−A typed, persistent store for values of arbitrary types. This is a port of the haskell [Vault](https://github.com/HeinrichApfelmus/vault) library Heinrich Apfelmus.
8+A typed, persistent store for values of arbitrary types, ported from the Haskell [Vault](https://github.com/HeinrichApfelmus/vault) library by Heinrich Apfelmus.
99
10−Think of it as Map that can store for values of arbitrary types, but it's type-safe. You can store of any types by creating Key a first, this key used to parameterized the type you are going to store in vault.
10+Think of a vault like a map that can store any value in a type-safe manner. The first step is to generate a new `Key a` value using the `newKey` function. Then, use `insert`, `lookup`, `delete`, etc., just like their [Data.Map](https://pursuit.purescript.org/packages/purescript-ordered-collections/3.0.0/docs/Data.Map) analogs.
1111
1212```purescript
1313data Vault
@@ -15,8 +15,8 @@ data Key a
1515
1616newKey :: forall a. Effect (Key a)
1717empty :: Vault
18−lookup :: forall a. Key a -> Vault -> Maybe a
1918insert :: forall a. Key a -> a -> Vault -> Vault
19+lookup :: forall a. Key a -> Vault -> Maybe a
2020delete :: forall a. Key a -> Vault -> Vault
2121adjust :: forall a. (a -> a) -> Key a -> Vault -> Vault
2222```
@@ -29,13 +29,34 @@ Install `vault` with [Spago](https://github.com/purescript/spago):
2929spago install vault
3030```
3131
32+If `vault` is not included in your package set, include it in `packages.dhall`, e.g.
33+
34+```dhall
35+let upstream = -- <package set URL here>
36+in upstream
37+ with vault =
38+ { dependencies =
39+ [ "effect"
40+ , "maybe"
41+ , "ordered-collections"
42+ , "prelude"
43+ , "refs"
44+ , "unique"
45+ ]
46+ , repo =
47+ "https://github.com/rowtype-yoga/purescript-vault.git"
48+ , version =
49+ "v1.0.0"
50+ }
51+```
52+
3253## Quick start
3354
3455The quick start hasn't been written yet (contributions are welcome!). The quick start covers a common, minimal use case for the library, whereas longer examples and tutorials are kept in the [docs directory](./docs).
3556
3657## Documentation
3758
38−`vault` documentation is stored in a few places:
59+Vault documentation is stored in a few places:
3960
40611. Module documentation is [published on Pursuit](https://pursuit.purescript.org/packages/purescript-vault).
41622. Written documentation is kept in the [docs directory](./docs).
@@ -43,14 +64,14 @@ The quick start hasn't been written yet (contributions are welcome!). The quick
4364
4465If you get stuck, there are several ways to get help:
4566
46−- [Open an issue](https://github.com/purescript-community/purescript-vault/issues) if you have encountered a bug or problem.
67+- [Open an issue](https://github.com/rowtype-yoga/purescript-vault/issues/new?labels=bug&template=bug-report.md) if you have encountered a bug or problem.
4768- Ask general questions on the [PureScript Discourse](https://discourse.purescript.org) forum or the [PureScript Discord](https://discord.com/invite/sMqwYUbvz6) chat.
4869
4970## Contributing
5071
51−You can contribute to `vault` in several ways:
72+You can contribute to Vault in several ways:
5273
53−1. If you encounter a problem or have a question, please [open an issue](https://github.com/purescript-community/purescript-vault/issues). We'll do our best to work with you to resolve or answer it.
74+1. If you encounter a problem or have a question, please [open an issue](https://github.com/rowtype-yoga/purescript-vault/issues). We'll do our best to work with you to resolve or answer it.
5475
55762. If you would like to contribute code, tests, or documentation, please [read the contributor guide](./CONTRIBUTING.md). It's a short, helpful introduction to contributing to this library, including development instructions.
5677