toStreamFromProperty
Create a stream based on a property
DefineMap.toStreamFromProperty( property )
Creates a stream from a property that gets updated whenever the property value changes.
var DefineMap = require('can-define/map/map');
var canStream = require("can-stream-kefir");
var canDefineStream = require("can-define-stream");
var Person = DefineMap.extend({
name: "string",
lastValidName: {
stream: function() {
return this.toStreamFromProperty(".name").filter(function(name) { // using propName
return name.indexOf(" ") >= 0;
});
}
}
});
canDefineStream(canStream)(Person);
var me = new Person({name: "James"});
me.on("lastValidName", function(lastValid) {});
me.name = "JamesAtherton"; //lastValidName -> undefined
me.name = "James Atherton"; //lastValidName -> James Atherton
Parameters
- property
{String}
:A property name prepended by a dot. '.prop'