Skip to content

Commit fb68ee2

Browse files
authored
update map/set constructor to match TypeScript's... mostly (#459)
2 parents 876b583 + 52a00ca commit fb68ee2

File tree

3 files changed

+10
-4
lines changed

3 files changed

+10
-4
lines changed

.changeset/green-needles-approve.md

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
---
2+
"@solid-primitives/map": patch
3+
"@solid-primitives/set": patch
4+
---
5+
6+
Update `ReactiveSet`/`ReactiveMap` constructors to allow passing any iterable as the initial value.

packages/map/src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ export class ReactiveMap<K, V> extends Map<K, V> {
2424
#keyTriggers = new TriggerCache<K | typeof $KEYS>();
2525
#valueTriggers = new TriggerCache<K>();
2626

27-
constructor(initial?: [K, V][]) {
27+
constructor(initial?: Iterable<readonly [K, V]> | null) {
2828
super();
2929
if (initial) for (const v of initial) super.set(v[0], v[1]);
3030
}
@@ -127,7 +127,7 @@ export class ReactiveWeakMap<K extends object, V> extends WeakMap<K, V> {
127127
#keyTriggers = new TriggerCache<K>(WeakMap);
128128
#valueTriggers = new TriggerCache<K>(WeakMap);
129129

130-
constructor(initial?: [K, V][]) {
130+
constructor(initial?: Iterable<readonly [K, V]> | null) {
131131
super();
132132
if (initial) for (const v of initial) super.set(v[0], v[1]);
133133
}

packages/set/src/index.ts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ const $KEYS = Symbol("track-keys");
1818
export class ReactiveSet<T> extends Set<T> {
1919
#triggers = new TriggerCache<T | typeof $KEYS>();
2020

21-
constructor(values?: readonly T[] | null) {
21+
constructor(values?: Iterable<T> | null) {
2222
super();
2323
if (values) for (const v of values) super.add(v);
2424
}
@@ -94,7 +94,7 @@ export class ReactiveSet<T> extends Set<T> {
9494
export class ReactiveWeakSet<T extends object> extends WeakSet<T> {
9595
#triggers = new TriggerCache<T>(WeakMap);
9696

97-
constructor(values?: readonly T[] | null) {
97+
constructor(values?: Iterable<T> | null) {
9898
super();
9999
if (values) for (const v of values) super.add(v);
100100
}

0 commit comments

Comments
 (0)