diffusion
Version:
Diffusion JavaScript client
37 lines (28 loc) • 1.11 kB
JavaScript
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();