Skip to content

Commit 8b02f14

Browse files
committed
initialValues can be optional
1 parent 14e747c commit 8b02f14

2 files changed

Lines changed: 16 additions & 4 deletions

File tree

packages/mobx/__tests__/v5/base/typescript-tests.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1962,6 +1962,15 @@ test("observable.map() accepts an undefined value with or without options", () =
19621962
mobx.observable.map(undefined)
19631963
})
19641964

1965+
test("observable.map() accepts optional initial values", () => {
1966+
interface Usage {}
1967+
1968+
;(data?: [string, Usage][]) => observable.map(data, { name: "test" })
1969+
;(data?: readonly (readonly [string, Usage])[]) => observable.map(data, { name: "test" })
1970+
;(data?: Record<string, Usage>) => observable.map(data, { name: "test" })
1971+
;(data?: Map<string, Usage>) => observable.map(data, { name: "test" })
1972+
})
1973+
19651974
test("toJS bug #1413 (TS)", () => {
19661975
class X {
19671976
test = {

packages/mobx/src/api/observable.ts

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -156,13 +156,16 @@ export interface IObservableValueFactory {
156156

157157
export interface IObservableMapFactory {
158158
<K = any, V = any>(): ObservableMap<K, V>
159-
<K, V>(initialValues: IMapEntries<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>
159+
<K, V>(initialValues?: IMapEntries<K, V>, options?: CreateObservableOptions): ObservableMap<
160+
K,
161+
V
162+
>
160163
<K, V>(
161-
initialValues: IReadonlyMapEntries<K, V>,
164+
initialValues?: IReadonlyMapEntries<K, V>,
162165
options?: CreateObservableOptions
163166
): ObservableMap<K, V>
164-
<K, V>(initialValues: IKeyValueMap<V>, options?: CreateObservableOptions): ObservableMap<K, V>
165-
<K, V>(initialValues: Map<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>
167+
<K, V>(initialValues?: IKeyValueMap<V>, options?: CreateObservableOptions): ObservableMap<K, V>
168+
<K, V>(initialValues?: Map<K, V>, options?: CreateObservableOptions): ObservableMap<K, V>
166169
<K = any, V = any>(initialValues: undefined, options?: CreateObservableOptions): ObservableMap<
167170
K,
168171
V

0 commit comments

Comments
 (0)