Skip to content

Commit 94a54a0

Browse files
committed
refactor(flow): Directly return RecordClass
There was an in-between step when constructing Records. Records now directly return a RecordClass that's the former RecordInstance.
1 parent ec1a4a6 commit 94a54a0

File tree

2 files changed

+10
-14
lines changed

2 files changed

+10
-14
lines changed

dist/immutable.js.flow

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,22 +1132,20 @@ declare class Stack<+T> extends IndexedCollection<T> {
11321132
declare function Range(start?: number, end?: number, step?: number): IndexedSeq<number>;
11331133
declare function Repeat<T>(value: T, times?: number): IndexedSeq<T>;
11341134

1135-
declare function isRecord(maybeRecord: any): boolean %checks(maybeRecord instanceof RecordInstance);
1135+
declare function isRecord(maybeRecord: any): boolean %checks(maybeRecord instanceof RecordClass);
11361136
declare class Record {
11371137
static <Values>(spec: Values, name?: string): Class<RecordClass<Values>>;
11381138
constructor<Values>(spec: Values, name?: string): Class<RecordClass<Values>>;
11391139

11401140
static isRecord: typeof isRecord;
11411141

1142-
static getDescriptiveName(record: RecordInstance<*>): string;
1142+
static getDescriptiveName(record: RecordClass<*>): string;
11431143
}
11441144

1145-
declare class RecordClass<T> {
1146-
static <T>(values: $Shape<T> | Iterable<[string, any]>): RecordInstance<T> & T;
1147-
constructor<T>(values: $Shape<T> | Iterable<[string, any]>): RecordInstance<T> & T;
1148-
}
1145+
declare class RecordClass<T: Object> {
1146+
static <T>(values?: $Shape<T> | Iterable<[string, any]>): RecordClass<T> & T;
1147+
constructor<T>(values?: $Shape<T> | Iterable<[string, any]>): RecordClass<T> & T;
11491148

1150-
declare class RecordInstance<T: Object> {
11511149
size: number;
11521150

11531151
has(key: string): boolean;

type-definitions/immutable.js.flow

Lines changed: 5 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1132,22 +1132,20 @@ declare class Stack<+T> extends IndexedCollection<T> {
11321132
declare function Range(start?: number, end?: number, step?: number): IndexedSeq<number>;
11331133
declare function Repeat<T>(value: T, times?: number): IndexedSeq<T>;
11341134

1135-
declare function isRecord(maybeRecord: any): boolean %checks(maybeRecord instanceof RecordInstance);
1135+
declare function isRecord(maybeRecord: any): boolean %checks(maybeRecord instanceof RecordClass);
11361136
declare class Record {
11371137
static <Values>(spec: Values, name?: string): Class<RecordClass<Values>>;
11381138
constructor<Values>(spec: Values, name?: string): Class<RecordClass<Values>>;
11391139

11401140
static isRecord: typeof isRecord;
11411141

1142-
static getDescriptiveName(record: RecordInstance<*>): string;
1142+
static getDescriptiveName(record: RecordClass<*>): string;
11431143
}
11441144

1145-
declare class RecordClass<T> {
1146-
static <T>(values: $Shape<T> | Iterable<[string, any]>): RecordInstance<T> & T;
1147-
constructor<T>(values: $Shape<T> | Iterable<[string, any]>): RecordInstance<T> & T;
1148-
}
1145+
declare class RecordClass<T: Object> {
1146+
static <T>(values?: $Shape<T> | Iterable<[string, any]>): RecordClass<T> & T;
1147+
constructor<T>(values?: $Shape<T> | Iterable<[string, any]>): RecordClass<T> & T;
11491148

1150-
declare class RecordInstance<T: Object> {
11511149
size: number;
11521150

11531151
has(key: string): boolean;

0 commit comments

Comments
 (0)