Skip to content

Commit ae6a618

Browse files
committed
fix: do not treat null control values as boxed values
1 parent 3805143 commit ae6a618

File tree

3 files changed

+18
-1
lines changed

3 files changed

+18
-1
lines changed

CHANGELOG.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
## ngrx-forms Changelog
22

3+
<a name="3.0.2"></a>
4+
### 3.0.2
5+
6+
#### Bugfixes
7+
8+
* do not treat `null` control values as boxed values, closes [#94](https://github.com/MrWolfZ/ngrx-forms/issues/94)
9+
310
<a name="3.0.1"></a>
411
### 3.0.1
512

src/control/value-converter.spec.ts

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,16 @@ describe('NgrxValueConverters', () => {
3232
const stateValue = box(['A']);
3333
expect(NgrxValueConverters.default<typeof stateValue.value>().convertStateToViewValue(stateValue)).toEqual(stateValue.value);
3434
});
35+
36+
it('should return null view value', () => {
37+
const viewValue = null;
38+
expect(NgrxValueConverters.default<typeof viewValue>().convertViewToStateValue(viewValue)).toBe(viewValue);
39+
});
40+
41+
it('should return undefined view value', () => {
42+
const viewValue = undefined;
43+
expect(NgrxValueConverters.default<typeof viewValue>().convertViewToStateValue(viewValue)).toBe(viewValue);
44+
});
3545
});
3646

3747
describe('dateToISOString', () => {

src/control/value-converter.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export interface NgrxValueConverter<TView, TState> {
99
export const NgrxValueConverters = {
1010
default<T>() {
1111
return {
12-
convertViewToStateValue: value => typeof value === 'object' ? box(value) : value,
12+
convertViewToStateValue: value => typeof value === 'object' && value !== null ? box(value) : value,
1313
convertStateToViewValue: unbox,
1414
} as NgrxValueConverter<T, Boxed<T> | T>;
1515
},

0 commit comments

Comments
 (0)