UNPKG

diffusion

Version:

Diffusion JavaScript client

37 lines (28 loc) 1.11 kB
var _implements = require('util/interface')._implements; var api = require('../../topic-update/update-constraint'); var Constraints = require('topic-update/update-constraint'); var DataTypes = require('data/datatypes'); var requireNonNull = require("util/require-non-null"); var UpdateConstraintFactory = _implements( api.UpdateConstraintFactory, function UpdateConstraintFactory() { this.locked = function(lock) { return new Constraints.Locked(lock); }; this.value = function(value, dataType) { requireNonNull(value, "value"); var valueType = (dataType!==undefined)?dataType:DataTypes.getByValue(value); return new Constraints.BinaryValue(valueType.toBytes(value)); }; this.noValue = function() { return new Constraints.NoValue(); }; this.noTopic = function() { return new Constraints.NoTopic(); }; this.jsonValue = function() { return new Constraints.PartialJSONImpl(); }; } ); module.exports = new UpdateConstraintFactory();