Skip to content

v0.16.0 - Breaking change to remove clone()

Pre-release
Pre-release

Choose a tag to compare

@staltz staltz released this 16 Mar 21:08
· 3132 commits to master since this release

clone() removed from all DataFlowNodes, including Model, View, Intent, and DOMUser. This is in order to reduce API surface, and clone() isn't essential, and is easily replaceable.

BEFORE

var node = Cycle.createDataFlowNode(function (input) {
  return {out$: input.delay(100)};
});
var cloned = node.clone();

AFTER

function definitionFn(input) {
  return {out$: input.delay(100)};
}
var node = Cycle.createDataFlowNode(definitionFn);
var cloned = Cycle.createDataFlowNode(definitionFn);

v0.16 also adds a type property to each DataFlowNode and other entities. For instance

var node = Cycle.createDataFlowNode(function (input) {
  return {out$: input.delay(100)};
});
console.log(node.type); // 'DataFlowNode'
var view = Cycle.createView(function (input) {
  return {vtree$: input.delay(100)};
});
console.log(view.type); // 'View'