Comparing version
@@ -39,11 +39,13 @@ var lentil; | ||
var s = this.run(a); | ||
return s ? s.value : or; | ||
return s && s.value != null ? s.value : or; | ||
}; | ||
PLens.prototype.set = function (a, b, or) { | ||
var s = this.run(a); | ||
return s ? s.set(b) : or; | ||
var result = s ? s.set(b) : null; | ||
return result != null ? result : or; | ||
}; | ||
PLens.prototype.modify = function (a, map, or) { | ||
var s = this.run(a); | ||
return s ? s.set(map(s.value)) : or; | ||
var result = s ? s.set(map(s.value)) : null; | ||
return result != null ? result : or; | ||
}; | ||
@@ -60,3 +62,3 @@ return PLens; | ||
return new PLens(function (a) { | ||
return new Store(function (b) { return set(a, b); }, get(a)); | ||
return a == null ? null : new Store(function (b) { return set(a, b); }, get(a)); | ||
}); | ||
@@ -63,0 +65,0 @@ } |
{ | ||
"name": "lentil", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"description": "Partial lenses for TypeScript and JavaScript", | ||
@@ -5,0 +5,0 @@ "main": "./dist/lentil.js", |
@@ -46,3 +46,3 @@ module lentil { | ||
var s = this.run(a); | ||
return s ? s.value : or; | ||
return s && s.value != null ? s.value : or; | ||
} | ||
@@ -52,3 +52,4 @@ | ||
var s = this.run(a); | ||
return s ? s.set(b) : or; | ||
var result = s ? s.set(b) : null; | ||
return result != null ? result : or; | ||
} | ||
@@ -58,3 +59,4 @@ | ||
var s = this.run(a); | ||
return s ? s.set(map(s.value)) : or; | ||
var result = s ? s.set(map(s.value)) : null; | ||
return result != null ? result : or; | ||
} | ||
@@ -70,3 +72,3 @@ } | ||
return new PLens<A, B>(a => { | ||
return new Store<B, A>(b => set(a, b), get(a)); | ||
return a == null ? null : new Store<B, A>(b => set(a, b), get(a)); | ||
}); | ||
@@ -73,0 +75,0 @@ } |
16623
1.79%481
0.84%