Skip to content

Commit 6ac4371

Browse files
authored
Merge pull request #36 from canjs/can-define-397-default-value
Fixes can-define#397. ResolverObservable accepts default value
2 parents 24312ff + 0f10dcd commit 6ac4371

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

resolver/resolver-test.js

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -270,3 +270,10 @@ QUnit.test("reading observables does not leak the observable read", function(){
270270
QUnit.equal(records.keyDependencies.size, 0, "there are no key dependencies");
271271
QUnit.equal(records.valueDependencies.size, 0, "there are no valueDependencies");
272272
});
273+
274+
QUnit.test("initial value on lastSet can be set (can-define#397)", function () {
275+
var defaulted = new ResolverObservable(function(props) {
276+
QUnit.equal(props.lastSet.get(), 5, "observable has default value");
277+
}, {}, 5);
278+
defaulted.get();
279+
});

resolver/resolver.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,15 +10,15 @@ var SimpleObservable = require("../can-simple-observable");
1010

1111
var getChangesSymbol = canSymbol.for("can.getChangesDependencyRecord");
1212

13-
function ResolverObservable(resolver, context) {
13+
function ResolverObservable(resolver, context, initialValue) {
1414
// we don't want reads leaking out. We should be binding to all of this ourselves.
1515
this.resolver = ObservationRecorder.ignore(resolver);
1616
this.context = context;
1717
this._valueOptions = {
1818
resolve: this.resolve.bind(this),
1919
listenTo: this.listenTo.bind(this),
2020
stopListening: this.stopListening.bind(this),
21-
lastSet: new SimpleObservable(undefined)
21+
lastSet: new SimpleObservable(initialValue)
2222
};
2323

2424
this.update = this.update.bind(this);

0 commit comments

Comments
 (0)