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

Dependencies (1)

Dev Dependencies (1)

Package Sidebar

Install

npm i econ

Weekly Downloads

4

Version

1.0.0

License

none

Unpacked Size

117 kB

Total Files

48

Last publish

Collaborators

  • samchon