Nonlinear Performance Magnification

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

    1.0.0 • Public • Published

    Event Containers

    Build Status npm version Downloads DeepScan grade Chat on Gitter

    Extension of TypeScript-STL Containers dispatching Events.

    TSTL is an open-source project providing features of STL, migrated from C++ to TypeScript. You can enjoy the STL's own specific containers, algorithms and functors in the JavaScript. If TypeScript, you also can take advantage of type restrictions and generic programming with the TypeScript.

    ECON is an extension module of such TSTL, providing special containers dispatching events. The special containers are almost similar with the original STL Containers, but you also can observe elements' I/O events with the special containers. Types of the event dispatched by the special containers are "insert", "erase" and "refresh".

    Features

    Linear Containers

    • Vector
    • Deque
    • List
    • VectorBoolean

    Set Containers

    • Tree-based Containers
      • TreeSet
      • TreeMultiSet
    • Hash-buckets based Containers
      • HashSet
      • HashMultiSet

    Map Containers

    • Tree-based Containers
      • TreeMap
      • TreeMultiMap
    • Hash-buckets based Containers
      • HashMap
      • HashMultiMap

    Installation

    NPM Module

    Installing ECON in NodeJS is very easy. Just install with the npm.

    # Install TSTL from the NPM module 
    npm install --save econ

    Usage

    import econ = require("econ");
     
    function listener(event: econ.TreeMap.Event<number, string>): void
    {
        console.log("Event type is: " + event.type);
     
        for (let it = event.first; !it.equals(event.last); it = it.next())
            console.log("\t", "An element by that event:", it.value);
    }
     
    function main(): void
    {
        // CONSTRUCT EVENT TREE-MAP
        let map: econ.TreeMap<number, string> = new econ.TreeMap();
        map.addEventListener("insert", listener);
        map.addEventListener("erase", listener);
     
        // DISPATCHES INSERT EVENT
        map.set(1, "One");
        map.set(2, "Two");
        map.set(3, "Three");
     
        // DISPATCHES ERASE EVENT
        map.erase(2);
        map.erase(3);
    }
    main();

    References

    Install

    npm i econ

    DownloadsWeekly Downloads

    3

    Version

    1.0.0

    License

    none

    Unpacked Size

    117 kB

    Total Files

    48

    Last publish

    Collaborators

    • samchon