8000 Improve Record constructor · ui-frontend/immutable-js@19f7396 · GitHub
[go: up one dir, main page]

Skip to content

Commit 19f7396

Browse files
committed
Improve Record constructor
1 parent 89f2576 commit 19f7396

File tree

3 files changed

+15
-4
lines changed

3 files changed

+15
-4
lines changed

__tests__/Record.ts

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@ describe('Record', () => {
2323

2424
expect(t1.length).toBe(3);
2525
expect(t2.length).toBe(3);
26-
});
26+
})
2727

2828
it('only persists values it knows about', () => {
2929
var MyType = Record({a:1, b:2, c:3});
@@ -42,6 +42,13 @@ describe('Record', () => {
4242
expect(t2.get('d')).toBe(undefined);
4343
expect(t3.get('a')).toBe(1);
4444
expect(t4.get('b')).toBe(2);
45-
});
45+
})
46+
47+
it('converts sequences to records', () => {
48+
var MyType = Record({a:1, b:2, c:3});
49+
var seq = Immutable.Sequence({a: 10, b:20});
50+
var t = new MyType(seq);
51+
expect(t.toObject()).toEqual({a:10, b:20, c:3})
52+
})
4653

4754
});

dist/Immutable.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -993,7 +993,9 @@ export declare function OrderedMap<K, V>(sequence: Sequence<K, V>): Map<K, V>;
993993
*< 8000 /div>
994994
*/
995995
export declare function Record(defaultValues: Object): {
996-
new (values?: Object): Map<string, any>;
996+
new (): Map<string, any>;
997+
new (values: {[key: string]: any}): Map<string, any>;
998+
new (values: Sequence<string, any>): Map<string, any>;
997999
}
9981000

9991001

type-definitions/Immutable.d.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -993,7 +993,9 @@ export declare function OrderedMap<K, V>(sequence: Sequence<K, V>): Map<K, V>;
993993
*
994994
*/
995995
export declare function Record(defaultValues: Object): {
996-
new (values?: Object): Map<string, any>;
996+
new (): Map<string, any>;
997+
new (values: {[key: string]: any}): Map<string, any>;
998+
new (values: Sequence<string, any>): Map<string, any>;
997999
}
9981000

9991001

0 commit comments

Comments
 (0)
0