E*vent *Containers
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
- Repositories
- Documents
- Dependency