🚨 Shai-Hulud Strikes Again:834 Packages Compromised.Technical Analysis →
Socket
Book a DemoInstallSign in
Socket

@lwmqn/smartobject-watchify

Package Overview
Dependencies
Maintainers
2
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@lwmqn/smartobject-watchify

An extension to make a Smart Object instance listenable to its resource changes

latest
Source
npmnpm
Version
0.9.2
Version published
Maintainers
2
Created
Source

smartobject-watchify

An extension to make a smartobject instance listenable to its resource changes

NPM

Travis branch npm PyPI npm Greenkeeper badge Coverage Status


1. Overview

This module is used make a smartobject instance able to listen to its resource changes, which could be helpful for creating a machine node responsive to any reosurce change within it.


2. Installation

$ npm install smartobject-watchify --save


3. Basic Usage

const SmartObject = require('@lwmqn/smartobject')
const soWatchify = require('@lwmqn/smartobject-watchify')

var so = new SmartObject()
so = soWatchify(so)

so.init('temperature', 0, { sensorValue: 31, units : 'C' })

// attach a listener to receive the change from resource 'temperature/0/sensorValue'
so.onChange('temperature/0/sensorValue', function (cVal, pVal) {
  console.log('A listener to this resource')
  console.log(cVal) // current value
  console.log(pVal) // previous value
})

so.onChange('temperature/0/sensorValue', function (cVal, pVal) {
  console.log('Another listener to this resource')
})

// Modify the sensorValue of the temperature sensor and the listener will be triggered
so.write('temperature', 0, 'sensorValue', 80, function (err, data) {
  if (err) console.log(err)
})

4. APIs


require('smartobject-watchify')(so)

smartobject-watchify exports a function that receives the smartobject instance as the parameter to be extended and returned.

Arguments:

  • so (Object): The instance of SmartObject class.

Returns:

  • (Object) Watchified smartobject.

Examples:

const SmartObject = require('@lwmqn/smartobject')
const soWatchify = require('@lwmqn/smartobject-watchify')

const so = soWatchify(new SmartObject())


so.onChange(path, listener)

Attach a listener to observe a given resource for its change.

Arguments:

  • path (String): The path to the resource, e.g. 'humidity/6/sensorValue'.
  • listener (Function): function(cVal, pVal) {}, where cVal is the current value and pVal is the previous value before updated.

Returns:

  • (none)

Examples:

so.onChange('temperature/3/sensorValue', function (cVal, pVal) {
  // Listen to 'temperature/3/sensorValue' for its change
})


so.onChangeOnce(path, listener)

Attach an one-time listener to observe a given resource for its change.

Arguments:

  • path (String): The path to the resource, e.g. 'humidity/6/sensorValue'.
  • listener (Function): function(cVal, pVal) {}, where cVal is the current value and pVal is the previous value before updated.

Returns:

  • (Constructor) WatchifiedSmartObject

Examples:

so.onChangeOnce('presence/7/dInState', function (cVal, pVal) {
  // Listen to 'presence/7/dInState' only once for its change
})


so.removeListener(path, listener)

Remove a specified listener from listening to the given resource path.

Arguments:

  • path (String): The path to the resource, e.g. 'humidity/6/sensorValue'.
  • listener (Function): The listener function.

Returns:

  • (none)

Examples:

var presenceListener = function (cVal, pVal) {
  // Listen to 'presence/7/dInState' only once for its change
}

// attach listener
so.onChange('presence/7/dInState', presenceListener)

// remove listener
so.removeListener('presence/7/dInState', presenceListener)


so.removeAllListeners(path)

Remove all listeners from listening to the given resource path.

Arguments:

  • path (String): The path to the resource, e.g. 'humidity/6/sensorValue'.

Returns:

  • (none)

Examples:

so.removeAllListeners('temperature/0/sensorValue')

## License

Licensed under MIT.

FAQs

Package last updated on 23 Dec 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts