can-fixture falls back to legacyStore if passed a mismatched version of can-set ~3
Bajix opened this issue · comments
Thomas Sieverding commented
If a version of can-set other than what's internally loaded within can-fixture is used, then can-fixture will revert to using the legacy store. There should be a strategy to avoid this, as it makes otherwise valid code behave unexpectedly.
Store.make = function (count, make, algebra) {
/*jshint eqeqeq:false */
// check if algebra was passed
var isNew = false;
if( count instanceof canSet.Algebra || make instanceof canSet.Algebra || algebra instanceof canSet.Algebra ) {
isNew = true;
}
if(!isNew) {
return legacyStore.apply(this, arguments);
}
Justin Meyer commented
The solution here would be to duck-type an algebra. Perhaps checking what's needed by store : getSubset
and such.