diff --git a/src/util/map.js b/src/util/map.js index e3457fa..1985056 100644 --- a/src/util/map.js +++ b/src/util/map.js @@ -21,7 +21,7 @@ export function toObject( * iteration order, as returned by `Object.keys`. */ export function fromObject(object: { - [InK]: InV, + +[InK]: InV, }): Map { const result = new Map(); const keys = (((Object.keys(object): string[]): any): InK[]); diff --git a/src/util/map.test.js b/src/util/map.test.js index adbce56..b3fe51f 100644 --- a/src/util/map.test.js +++ b/src/util/map.test.js @@ -71,6 +71,10 @@ describe("util/map", () => { const o: {|[string]: number|} = ({a: 1}: any); const _: Map = MapUtil.fromObject(o); }); + it("can accept a read-only object", () => { + const o: {+[string]: number} = {a: 1}; + const _: Map = MapUtil.fromObject(o); + }); it("statically rejects a map with keys not a subtype of string", () => { const input: {[number]: string} = {}; input[12] = "not okay";