2.1.0 • Published 7 years ago

mqtt-store v2.1.0

Weekly downloads
184
License
MIT
Repository
github
Last release
7 years ago

mqtt-store

Store and retrieve data using MQTT keypaths. You can set values, then query for values that match a wildcard. Or set values with wildcards and find all wildcards that match a simple topic.

npm install mqtt-store --save

Example:

var MQTTStore = require("mqtt-store");

var store = new MQTTStore();

store.set("hello/world", "Greetings");
store.get("hello/world");
// #=> {key: "hello/world", value: "Greetings"}

store.set("foo/bar/baz", "woot");
store.set("foo/bar", "woot wooo");
store.findMatching("foo/#");
// #=> [
//	{key: "foo/bar/baz", value: "woot"},
//	{key: "foo/bar", value: "woot wooo"}
// ]

store.set("fizz/#", "lolwat");
store.set("fizz/buzz/+", "neat");
store.findPatterns("fizz/buzz/quix");
// #=> [
//	{key: "fizz/#", value: "lolwat"},
//	{key: "fizz/buzz/+", value: "neat"}
// ]

API

MQTTStore.Result(sections, value)

All results from queries are represented as a Result object.

MQTTStore.Result#key : String

The full key string for where the result was found

MQTTStore.Result#value : Any

The value stored in this result

MQTTStore.Result#sections : Array<String>

The key, split in to an array of sections

MQTTStore()

There is no configuration for the store currently, can be called either with new or just as a function.

MQTTStore#put(key : String, value : Any)

Sets a value in the store. In the background the topic will get split up into a path and will build up a tree. Topics with wildcards get set as through the wildcard was a literal key.

MQTTStore#get(key : String) : Result<Any>

Gets a single value from the store that was set at the given topic. If nothing was set at this topic, then MQTTStore.NO_RESULT is returned.

MQTTStore#.del(key : String) : Boolean

Deletes the value stored at the key if it exists. Returns true if the key contained a value, false if the key didn't exist or had no value.

MQTTStore#findMatching(key : String) : Array<Result<Any>>

Takes a topic with wildcards and returns all keys that match that topic. Returns an array of Results.

MQTTStore#match(key : String) : Array<Result<Any>>

Takes a topic and returns all values (that might contain wildcards) that match against that topic. Returns an array of Results.

2.1.0

7 years ago

2.0.0

7 years ago

1.0.4

8 years ago

1.0.3

8 years ago

1.0.2

9 years ago

1.0.1

9 years ago

1.0.0

9 years ago