UNPKG

memory-card

Version:

ES6 Map like Async API, with Swagger API Backend Support.

98 lines (63 loc) 2.91 kB
# MEMORY CARD [![NPM Version](https://img.shields.io/npm/v/memory-card?color=brightgreen)](https://www.npmjs.com/package/memory-card) [![npm (next)](https://img.shields.io/npm/v/memory-card/next.svg)](https://www.npmjs.com/package/memory-card?activeTab=versions) [![GitHub Action](https://github.com/huan/memory-card/workflows/NPM/badge.svg)](https://github.com/huan/memory-card/actions?query=workflow%3ANPM) [![TypeScript](https://img.shields.io/badge/%3C%2F%3E-TypeScript-blue.svg)](https://www.typescriptlang.org/) Memory Card is an Easy to Use Key/Value Store, with Swagger API Backend &amp; Serialization Support. - It is design for using in distribution scenarios. - It is NOT design for performance. ![Memory Card](https://huan.github.io/memory-card/images/memory-card-logo.png) ## API ```ts /** * ES6 Map like Async API */ export interface AsyncMapLike<K = any, V = any> { size: Promise<number> [Symbol.asyncIterator](): AsyncIterableIterator<[K, V]> entries() : AsyncIterableIterator<[K, V]> keys () : AsyncIterableIterator<K> values () : AsyncIterableIterator<V> get (key: K) : Promise<V | undefined> set (key: K, value: V) : Promise<void> has (key: K) : Promise<boolean> delete (key: K) : Promise<void> clear () : Promise<void> } export class MemoryCard implements AsyncMapLike { ... } ``` > `MemoryCard` is an [AsyncMapLike](https://github.com/huan/async-map-like) interface ### 1. load() ### 2. save() ### 3. destroy() ### 4. multiplex() ## TODO 1. Swagger API Backend Support 1. toJSON Serializable with Metadata ## CHANGELOG ### master v1.0 (Nov 10, 2021) 1. Release v1.0 1. ES Module support ### v0.13 (Aug, 2021) 1. Move S3 & OBS to peer dependency to reduce install size 1. Add Etcd Storage support ### v0.6 master (Aug 2018) 1. Support AWS S3 Cloud Storage ### v0.4 July 2018 1. Add `multiplex()` method to Multiplex MemoryStore to sub-MemoryStores. ### v0.2 June 2018 1. Unit Testing 1. NPM Pack Testing 1. DevOps to NPM with `@next` tag support for developing branch ### v0.0 May 31st, 2018 1. Promote `Profile` of Wechaty to SOLO NPM Module: `MemoryCard` 1. Update the API to ES6 `Map`-like, the difference is that MemoryCard is all **Async**. ## AUTHOR [Huan LI](http://linkedin.com/in/zixia) \<zixia@zixia.net\> <a href="http://stackoverflow.com/users/1123955/zixia"> <img src="http://stackoverflow.com/users/flair/1123955.png" width="208" height="58" alt="profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers" title="profile for zixia at Stack Overflow, Q&amp;A for professional and enthusiast programmers"> </a> ## COPYRIGHT & LICENSE - Code & Docs © 2017-now Huan LI \<zixia@zixia.net\> - Code released under the Apache-2.0 License - Docs released under Creative Commons