@ospin/fct-graph
Advanced tools
Comparing version 2.23.1 to 2.24.0
{ | ||
"name": "@ospin/fct-graph", | ||
"author": "danielseehausen", | ||
"version": "2.23.1", | ||
"version": "2.24.0", | ||
"description": "Graph data structure with conditional edges via 'slots' on nodes. Intended to represent physical and virtual functionalities on a device.", | ||
@@ -6,0 +6,0 @@ "main": "index.js", |
@@ -33,5 +33,5 @@ const { v4: uuidv4 } = require('uuid') | ||
function safeAddPushOutAndConnect(fctGraph, outSlot, pushOutFct) { | ||
fctGraph.addFunctionality(pushOutFct) | ||
const addConnectionResponse = outSlot.connectTo(pushOutFct.inSlots[0]) | ||
function safeAddOutputFctAndConnect(fctGraph, outSlot, outputFct) { | ||
fctGraph.addFunctionality(outputFct) | ||
const addConnectionResponse = outSlot.connectTo(outputFct.inSlots[0]) | ||
@@ -64,3 +64,3 @@ return addConnectionResponse | ||
return safeAddPushOutAndConnect(fctGraph, outSlot, outputFct) | ||
return safeAddOutputFctAndConnect(fctGraph, outSlot, outputFct) | ||
} | ||
@@ -67,0 +67,0 @@ |
@@ -0,1 +1,3 @@ | ||
const Joi = require('joi') | ||
const JOIous = require('../mixins/instanceMixins/JOIous') | ||
@@ -10,2 +12,33 @@ const OutputNode = require('./OutputNode') | ||
static get DEFAULT_PUBLISH_INTERVAL() { return 5000 } | ||
static get MIN_PUBLISH_INTERVAL() { return 1 } | ||
static get MAX_PUBLISH_INTERVAL() { return 1000 * 60 * 60 * 24 } // once a day | ||
static get SCHEMA() { | ||
return super.SCHEMA.concat(Joi.object({ | ||
publishIntervalMs: Joi.number() | ||
.integer() | ||
.strict() | ||
.min(IntervalOut.MIN_PUBLISH_INTERVAL) | ||
.max(IntervalOut.MAX_PUBLISH_INTERVAL), | ||
})) | ||
} | ||
constructor({ | ||
publishIntervalMs = IntervalOut.DEFAULT_PUBLISH_INTERVAL, | ||
...functionalityData | ||
}) { | ||
super(functionalityData) | ||
this.publishIntervalMs = publishIntervalMs | ||
} | ||
serialize() { | ||
return { | ||
...super.serialize(), | ||
publishIntervalMs: this.publishIntervalMs, | ||
} | ||
} | ||
} | ||
@@ -12,0 +45,0 @@ |
@@ -18,2 +18,3 @@ const OutputNodeSeeder = require('./OutputNodeSeeder') | ||
slots: this.generateSlots(), | ||
publishIntervalMs: IntervalOut.DEFAULT_PUBLISH_INTERVAL, | ||
...overrideData, | ||
@@ -20,0 +21,0 @@ } |
141761
2878