8000 migrate all predicates functions to TS · immutable-js/immutable-js@6555050 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6555050

Browse files
committed
migrate all predicates functions to TS
1 parent be4a9f1 commit 6555050

27 files changed

+143
-71
lines changed

src/predicates/isAssociative.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/predicates/isAssociative.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import { isKeyed } from './isKeyed';
2+
import { isIndexed } from './isIndexed';
3+
import type { Collection } from '../../type-definitions/immutable';
4+
5+
export function isAssociative(
6+
maybeAssociative: unknown
7+
): maybeAssociative is
8+
| Collection.Keyed<unknown, unknown>
9+
| Collection.Indexed<unknown> {
10+
return isKeyed(maybeAssociative) || isIndexed(maybeAssociative);
11+
}

src/predicates/isCollection.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/predicates/isCollection.ts

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
import type { Collection } from '../../type-definitions/immutable';
2+
3+
// Note: value is unchanged to not break immutable-devtools.
4+
export const IS_COLLECTION_SYMBOL = '@@__IMMUTABLE_ITERABLE__@@';
5+
6+
export function isCollection(
7+
maybeCollection: unknown
8+
): maybeCollection is Collection<unknown, unknown> {
9+
return Boolean(
10+
maybeCollection &&
11+
// @ts-expect-error: maybeCollection is typed as `{}`, need to change in 6.0 to `maybeCollection && typeof maybeCollection === 'object' && IS_COLLECTION_SYMBOL in maybeCollection`
12+
maybeCollection[IS_COLLECTION_SYMBOL]
13+
);
14+
}

src/predicates/isImmutable.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/predicates/isImmutable.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import type { Collection, Record } from '../../type-definitions/immutable';
2+
import { isCollection } from './isCollection';
3+
import { isRecord } from './isRecord';
4+
5+
export function isImmutable(
6+
maybeImmutable: unknown
7+
): maybeImmutable is Collection<unknown, unknown> | Record<object> {
8+
return isCollection(maybeImmutable) || isRecord(maybeImmutable);
9+
}

src/predicates/isIndexed.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/predicates/isIndexed.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import type { Collection } from '../../type-definitions/immutable';
2+
3+
export const IS_INDEXED_SYMBOL = '@@__IMMUTABLE_INDEXED__@@';
4+
5+
export function isIndexed(
6+
maybeIndexed: unknown
7+
): maybeIndexed is Collection.Indexed<unknown> {
8+
return Boolean(
9+
maybeIndexed &&
10+
// @ts-expect-error: maybeIndexed is typed as `{}`, need to change in 6.0 to `maybeIndexed && typeof maybeIndexed === 'object' && IS_INDEXED_SYMBOL in maybeIndexed`
11+
maybeIndexed[IS_INDEXED_SYMBOL]
12+
);
13+
}

src/predicates/isKeyed.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/predicates/isKeyed.ts

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
import type { Collection } from '../../type-definitions/immutable';
2+
3+
export const IS_KEYED_SYMBOL = '@@__IMMUTABLE_KEYED__@@';
4+
5+
export function isKeyed(
6+
maybeKeyed: unknown
7+
): maybeKeyed is Collection.Keyed<unknown, unknown> {
8+
return Boolean(
9+
maybeKeyed &&
10+
// @ts-expect-error: maybeKeyed is typed as `{}`, need to change in 6.0 to `maybeKeyed && typeof maybeKeyed === 'object' && IS_KEYED_SYMBOL in maybeKeyed`
11+
maybeKeyed[IS_KEYED_SYMBOL]
12+
);
13+
}

src/predicates/isList.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/predicates/isList.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import type { List } from '../../type-definitions/immutable';
2+
3+
export const IS_LIST_SYMBOL = '@@__IMMUTABLE_LIST__@@';
4+
5+
export function isList(maybeList: unknown): maybeList is List<unknown> {
6+
return Boolean(
7+
maybeList &&
8+
// @ts-expect-error: maybeList is typed as `{}`, need to change in 6.0 to `maybeList && typeof maybeList === 'object' && IS_LIST_SYMBOL in maybeList`
9+
maybeList[IS_LIST_SYMBOL]
10+
);
11+
}

src/predicates/isMap.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/predicates/isMap.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import type { Map } from '../../type-definitions/immutable';
2+
3+
export const IS_MAP_SYMBOL = '@@__IMMUTABLE_MAP__@@';
4+
5+
export function isMap(maybeMap: unknown): maybeMap is Map<unknown, unknown> {
6+
return Boolean(
7+
maybeMap &&
8+
// @ts-expect-error: maybeMap is typed as `{}`, need to change in 6.0 to `maybeMap && typeof maybeMap === 'object' && IS_MAP_SYMBOL in maybeMap`
9+
maybeMap[IS_MAP_SYMBOL]
10+
);
11+
}

src/predicates/isOrdered.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/predicates/isOrdered.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
export const IS_ORDERED_SYMBOL = '@@__IMMUTABLE_ORDERED__@@';
2+
3+
export function isOrdered(maybeOrdered: unknown): boolean {
4+
return Boolean(
5+
maybeOrdered &&
6+
// @ts-expect-error: maybeOrdered is typed as `{}`, need to change in 6.0 to `maybeOrdered && typeof maybeOrdered === 'object' && IS_ORDERED_SYMBOL in maybeOrdered`
7+
maybeOrdered[IS_ORDERED_SYMBOL]
8+
);
9+
}

src/predicates/isOrderedMap.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/predicates/isOrderedMap.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import type { OrderedMap } from '../../type-definitions/immutable';
2+
import { isMap } from './isMap';
3+
import { isOrdered } from './isOrdered';
4+
5+
export function isOrderedMap(
6+
maybeOrderedMap: unknown
7+
): maybeOrderedMap is OrderedMap<unknown, unknown> {
8+
return isMap(maybeOrderedMap) && isOrdered(maybeOrderedMap);
9+
}

src/predicates/isOrderedSet.js

Lines changed: 0 additions & 6 deletions
This file was deleted.

src/predicates/isOrderedSet.ts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
import { isSet } from './isSet';
2+
import { isOrdered } from './isOrdered';
3+
import type { OrderedSet } from '../../type-definitions/immutable';
4+
5+
export function isOrderedSet(
6+
maybeOrderedSet: unknown
7+
): maybeOrderedSet is OrderedSet<unknown> {
8+
return isSet(maybeOrderedSet) && isOrdered(maybeOrderedSet);
9+
}

src/predicates/isRecord.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/predicates/isRecord.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import type { Record } from '../../type-definitions/immutable';
2+
3+
export const IS_RECORD_SYMBOL = '@@__IMMUTABLE_RECORD__@@';
4+
5+
export function isRecord(maybeRecord: unknown): maybeRecord is Record<object> {
6+
return Boolean(
7+
maybeRecord &&
8+
// @ts-expect-error: maybeRecord is typed as `{}`, need to change in 6.0 to `maybeRecord && typeof maybeRecord === 'object' && IS_RECORD_SYMBOL in maybeRecord`
9+
maybeRecord[IS_RECORD_SYMBOL]
10+
);
11+
}

src/predicates/isSeq.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/predicates/isSeq.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import type { Seq } from '../../type-definitions/immutable';
2+
3+
export const IS_SEQ_SYMBOL = '@@__IMMUTABLE_SEQ__@@';
4+
5+
export function isSeq(maybeSeq: unknown): maybeSeq is Seq<unknown, unknown> {
6+
return Boolean(
7+
maybeSeq &&
8+
// @ts-expect-error: maybeSeq is typed as `{}`, need to change in 6.0 to `maybeSeq && typeof maybeSeq === 'object' && MAYBE_SEQ_SYMBOL in maybeSeq`
9+
maybeSeq[IS_SEQ_SYMBOL]
10+
);
11+
}

src/predicates/isSet.js

Lines changed: 0 additions & 5 deletions
This file was deleted.

src/predicates/isSet.ts

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
import type { Set } from '../../type-definitions/immutable';
2+
3+
export const IS_SET_SYMBOL = '@@__IMMUTABLE_SET__@@';
4+
5+
export function isSet(maybeSet: unknown): maybeSet is Set<unknown> {
6+
return Boolean(
7+
maybeSet &&
8+
// @ts-expect-error: maybeSet is typed as `{}`, need to change in 6.0 to `maybeSeq && typeof maybeSet === 'object' && MAYBE_SET_SYMBOL in maybeSet`
9+
maybeSet[IS_SET_SYMBOL]
10+
);
11+
}

src/predicates/isStack.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ export const IS_STACK_SYMBOL = '@@__IMMUTABLE_STACK__@@';
55
export function isStack(maybeStack: unknown): maybeStack is Stack<unknown> {
66
return Boolean(
77
maybeStack &&
8-
// @ts-expect-error: maybeStack is typed as `{}`
8+
// @ts-expect-error: maybeStack is typed as `{}`, need to change in 6.0 to `maybeStack && typeof maybeStack === 'object' && MAYBE_STACK_SYMBOL in maybeStack`
99
maybeStack[IS_STACK_SYMBOL]
1010
);
1111
}

0 commit comments

Comments
 (0)
0