npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@map-aggregate/map-aggregate

v0.0.1-alpha.64

Published

Noflo map-aggregate nodes

Downloads

73

Readme

Map-Aggregate

The Map-Reduce framework is designed to enable the development of decentralized smart apps using data aggregated across multiple smart home sources.

Usage

In order to use this framework, install the library here:

npm install @map-aggregate/map-aggregate

The library can then be imported as follows:

const { runLocalGraph } = require("@map-aggregate/map-aggregate")

const result = await runLocalGraph({}, "aggregatedHistogram")

The library is designed to work as a callback, wherein you can specify what kind of graph to run and what kind of data to pass as configuration. If no data is passed in the first argument, it defaults to whatever arguments are supplied in the schema.

In order to run an arbitrary graph (program) that is not already pre-developed, use the runGraph method which accepts a string as the second parameter which represents the FBP specification to use.

Additionally, a runStoreGraph method is also provided to run graphs that are published on the Map-Aggregate store.

Components

This directory contains the definitions and implementations of the operators and implementations within the framework. Each node has defined inPorts and outPorts where data enters and exits each node.

Graphs

Graphs are FBP files that define the shape/layout of each program. In each file, there are three sections: Definition, Ports, and Connections. The first section defines all the nodes present in the program. The second section defines all the InPorts and OutPorts of each node that are not connected to other nodes in the program. The last section defines connections between nodes (port to port).

Schema

Each FBP spec file has a corresponding schema that defines the default inputs to use for a program if none are supplied. Please make sure to define a value in the schema for any values that are referenced in the graph ports.

Examples

The quickest way to get started is to create a graph and a schema. The schema defines the default values for the graph's inputs. The graph defines the shape of the program. The graph can then be run by calling the runLocalGraph function. The result is returned as a promise. The result is a JSON object that contains the output of the graph.