pessimism
    TypeScript icon, indicating that this package has built-in type declarations

    1.1.4 • Public • Published

    pessimism

    A fast and compact HAMT-based KV-Cache with optimistic entries

    pessimism is a fast and compact KV-Cache primarily built for @urql/exchange-graphcache. It's a functional and immutable HAMT structure, which increases structural sharing, while keeping memory usage compact. It supports optimistic entries, which can be invalidated in a single go.

    Usage

    This library works with both TypeScript and BuckleScript (Reason/OCaml).

    yarn add pessimism
    # or 
    npm install --save pessimism

    The basic methods support making a map and setting, getting, and removing entries:

    import * as Map from 'pessimism';
     
    let map = Map.set(Map.make(), "key", "value");
    Map.get(map, "key"); // "value"
     
    map = Map.remove(map, "key");
    Map.get(map, "key"); // undefined

    Optimistic entries can be set using setOptimistic and cleared using clearOptimistic:

    import * as Map from 'pessimism';
     
    let map = Map.set(Map.make(), "key", "value");
    // Set an optimistic entry with the ID 1
    map = Map.setOptimistic("key", "temp", 1);
     
    Map.get(map, "key"); // "temp" which is the optimistic value
     
    // Clear all optimistic entries with ID 1
    map = Map.clearOptimistic(map, 1);
    Map.get(map, "key"); // "value" which was the original value

    Install

    npm i pessimism

    DownloadsWeekly Downloads

    4

    Version

    1.1.4

    License

    MIT

    Unpacked Size

    97.1 kB

    Total Files

    25

    Last publish

    Collaborators

    • philpl