Skip to content

Commit 30150ea

Browse files
committed
docs: refine README
1 parent 61206ad commit 30150ea

File tree

1 file changed

+30
-6
lines changed

1 file changed

+30
-6
lines changed

README.md

Lines changed: 30 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
1-
# Keyval
1+
# Keyval – _Simple Dictionary API for Modern Apps_
2+
3+
[![npm version][npm-version-src]][npm-version-href]<!--[![npm downloads][npm-downloads-src]][npm-downloads-href]-->
4+
[![bundle][bundle-src]][bundle-href]
5+
[![License][license-src]][license-href]
26

37
**Keyval** is a small key/value storage layer with a consistent API across environments and backends:
48

@@ -388,7 +392,7 @@ const kv = new RedisKV({
388392

389393
When enabled:
390394

391-
* Field-level `expires` semantics begin to take effect.
395+
* Field-level `expires` semantics take effect.
392396
* On every `set()` or `json()` mutation, the namespace-level TTL is **re-applied/renewed**
393397
* If a key has an `expires` later than the namespace-level TTL:
394398

@@ -399,8 +403,6 @@ When enabled:
399403

400404
## Recipes
401405

402-
The following patterns are intentionally practical—they mirror real architectural decisions rather than abstract examples.
403-
404406
### 1. Session-scoped state (ephemeral)
405407

406408
```js
@@ -473,7 +475,7 @@ All Keyval backends share the same *conceptual* model and API surface, but they
473475
* how expiry is enforced,
474476
* what metadata is supported.
475477

476-
This section documents those differences explicitly, so developers know exactly what to expect when choosing a backend.
478+
This section documents those differences explicitly, so you know exactly what to expect when choosing a backend.
477479

478480
### InMemoryKV
479481

@@ -757,7 +759,7 @@ Example structure:
757759
**Expiry**
758760

759761
* Standard hash-level TTL is enforced natively by Redis.
760-
* Field-level expiry is supported (when a namespace-level TTL is set).
762+
* Field-level expiry is supported (when a namespace-level TTL is set and `options.fieldLevelExpiry` is set).
761763
* Expired keys are removed lazily on next access.
762764

763765
**Typical use cases**
@@ -968,3 +970,25 @@ await kv.close(); // releases backend resources
968970
```
969971
970972
---
973+
974+
## Contributing
975+
976+
All forms of contributions are welcome at this time. For example, syntax and other implementation details are all up for discussion. Also, help is needed with more formal documentation. And here are specific links:
977+
978+
+ [Project](https://github.com/webqit/keyval)
979+
+ [Documentation](https://github.com/webqit/keyval/wiki)
980+
+ [Discusions](https://github.com/webqit/keyval/discussions)
981+
+ [Issues](https://github.com/webqit/keyval/issues)
982+
983+
## License
984+
985+
MIT.
986+
987+
[npm-version-src]: https://img.shields.io/npm/v/@webqit/keyval?style=flat&colorA=18181B&colorB=F0DB4F
988+
[npm-version-href]: https://npmjs.com/package/@webqit/keyval
989+
[npm-downloads-src]: https://img.shields.io/npm/dm/@webqit/keyval?style=flat&colorA=18181B&colorB=F0DB4F
990+
[npm-downloads-href]: https://npmjs.com/package/@webqit/keyval
991+
[bundle-src]: https://img.shields.io/bundlephobia/minzip/@webqit/keyval?style=flat&colorA=18181B&colorB=F0DB4F
992+
[bundle-href]: https://bundlephobia.com/result?p=@webqit/keyval
993+
[license-src]: https://img.shields.io/github/license/webqit/keyval.svg?style=flat&colorA=18181B&colorB=F0DB4F
994+
[license-href]: https://github.com/webqit/keyval/blob/master/LICENSE

0 commit comments

Comments
 (0)