ripple 0.2.140 → 0.2.141

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -11,187 +11,187 @@ let init = false;
11
11
  * @returns {TrackedMap<K, V>}
12
12
  */
13
13
  export class TrackedMap extends Map {
14
- /** @type {Tracked} */
15
- #tracked_size;
16
- /** @type {Map<K, Tracked>} */
17
- #tracked_items = new Map();
18
- /** @type {Block} */
19
- #block;
20
-
21
- /**
22
- * @param {Iterable<readonly [K, V]>} [iterable]
23
- */
24
- constructor(iterable) {
25
- super();
26
-
27
- var block = this.#block = safe_scope();
28
-
29
- if (iterable) {
30
- for (var [key, value] of iterable) {
31
- super.set(key, value);
32
- this.#tracked_items.set(key, tracked(0, block));
33
- }
34
- }
35
-
36
- this.#tracked_size = tracked(super.size, block);
37
-
38
- if (!init) {
39
- init = true;
40
- this.#init();
41
- }
42
- }
43
-
44
- /**
45
- * @returns {void}
46
- */
47
- #init() {
48
- var proto = TrackedMap.prototype;
49
- var map_proto = Map.prototype;
50
-
51
- for (const method of introspect_methods) {
14
+ /** @type {Tracked} */
15
+ #tracked_size;
16
+ /** @type {Map<K, Tracked>} */
17
+ #tracked_items = new Map();
18
+ /** @type {Block} */
19
+ #block;
20
+
21
+ /**
22
+ * @param {Iterable<readonly [K, V]>} [iterable]
23
+ */
24
+ constructor(iterable) {
25
+ super();
26
+
27
+ var block = this.#block = safe_scope();
28
+
29
+ if (iterable) {
30
+ for (var [key, value] of iterable) {
31
+ super.set(key, value);
32
+ this.#tracked_items.set(key, tracked(0, block));
33
+ }
34
+ }
35
+
36
+ this.#tracked_size = tracked(super.size, block);
37
+
38
+ if (!init) {
39
+ init = true;
40
+ this.#init();
41
+ }
42
+ }
43
+
44
+ /**
45
+ * @returns {void}
46
+ */
47
+ #init() {
48
+ var proto = TrackedMap.prototype;
49
+ var map_proto = Map.prototype;
50
+
51
+ for (const method of introspect_methods) {
52
52
  /** @type {any} */ (proto)[method] = function (/** @type {...any} */ ...v) {
53
- this.size;
54
- this.#read_all();
55
-
56
- return /** @type {any} */ (map_proto)[method].apply(this, v);
57
- };
58
- }
59
- }
60
-
61
- /**
62
- * @param {K} key
63
- * @returns {V | undefined}
64
- */
65
- get(key) {
66
- var tracked_items = this.#tracked_items;
67
- var t = tracked_items.get(key);
68
-
69
- if (t === undefined) {
70
- // same logic as has
71
- this.size;
72
- } else {
73
- get(t);
74
- }
75
-
76
- return super.get(key);
77
- }
78
-
79
- /**
80
- * @param {K} key
81
- * @returns {boolean}
82
- */
83
- has(key) {
84
- var has = super.has(key);
85
- var tracked_items = this.#tracked_items;
86
- var t = tracked_items.get(key);
87
-
88
- if (t === undefined) {
89
- // if no tracked it also means super didn't have it
90
- // It's not possible to have a disconnect, we tract each key
91
- // If the key doesn't exist, track the size in case it's added later
92
- // but don't create tracked entries willy-nilly to track all possible keys
93
- this.size;
94
- } else {
95
- get(t);
96
- }
97
-
98
- return has;
99
- }
100
-
101
- /**
102
- * @param {K} key
103
- * @param {V} value
104
- * @returns {this}
105
- */
106
- set(key, value) {
107
- var block = this.#block;
108
- var tracked_items = this.#tracked_items;
109
- var t = tracked_items.get(key);
110
- var prev_res = super.get(key);
111
-
112
- super.set(key, value);
113
-
114
- if (!t) {
115
- tracked_items.set(key, tracked(0, block));
116
- set(this.#tracked_size, super.size, block);
117
- } else if (prev_res !== value) {
118
- increment(t, block);
119
- }
120
-
121
- return this;
122
- }
123
-
124
- /**
125
- * @param {K} key
126
- * @returns {boolean}
127
- */
128
- delete(key) {
129
- var block = this.#block;
130
- var tracked_items = this.#tracked_items;
131
- var t = tracked_items.get(key);
132
- var result = super.delete(key);
133
-
134
- if (t) {
135
- increment(t, block);
136
- tracked_items.delete(key);
137
- set(this.#tracked_size, super.size, block);
138
- }
139
-
140
- return result;
141
- }
142
-
143
- /**
144
- * @returns {void}
145
- */
146
- clear() {
147
- var block = this.#block;
148
-
149
- if (super.size === 0) {
150
- return;
151
- }
152
-
153
- for (var [_, t] of this.#tracked_items) {
154
- increment(t, block);
155
- }
156
-
157
- super.clear();
158
- this.#tracked_items.clear();
159
- set(this.#tracked_size, 0, block);
160
- }
161
-
162
- /**
163
- * @returns {MapIterator<K>}
164
- */
165
- keys() {
166
- this.size;
167
- return super.keys();
168
- }
169
-
170
- /**
171
- * @returns {void}
172
- */
173
- #read_all() {
174
- for (const [, t] of this.#tracked_items) {
175
- get(t);
176
- }
177
- }
178
-
179
- /**
180
- * @returns {number}
181
- */
182
- get size() {
183
- return get(this.#tracked_size);
184
- }
185
-
186
- /**
187
- * @returns {Array<[K, V]>}
188
- */
189
- toJSON() {
190
- this.size;
191
- this.#read_all();
192
-
193
- return [...this];
194
- }
53
+ this.size;
54
+ this.#read_all();
55
+
56
+ return /** @type {any} */ (map_proto)[method].apply(this, v);
57
+ };
58
+ }
59
+ }
60
+
61
+ /**
62
+ * @param {K} key
63
+ * @returns {V | undefined}
64
+ */
65
+ get(key) {
66
+ var tracked_items = this.#tracked_items;
67
+ var t = tracked_items.get(key);
68
+
69
+ if (t === undefined) {
70
+ // same logic as has
71
+ this.size;
72
+ } else {
73
+ get(t);
74
+ }
75
+
76
+ return super.get(key);
77
+ }
78
+
79
+ /**
80
+ * @param {K} key
81
+ * @returns {boolean}
82
+ */
83
+ has(key) {
84
+ var has = super.has(key);
85
+ var tracked_items = this.#tracked_items;
86
+ var t = tracked_items.get(key);
87
+
88
+ if (t === undefined) {
89
+ // if no tracked it also means super didn't have it
90
+ // It's not possible to have a disconnect, we tract each key
91
+ // If the key doesn't exist, track the size in case it's added later
92
+ // but don't create tracked entries willy-nilly to track all possible keys
93
+ this.size;
94
+ } else {
95
+ get(t);
96
+ }
97
+
98
+ return has;
99
+ }
100
+
101
+ /**
102
+ * @param {K} key
103
+ * @param {V} value
104
+ * @returns {this}
105
+ */
106
+ set(key, value) {
107
+ var block = this.#block;
108
+ var tracked_items = this.#tracked_items;
109
+ var t = tracked_items.get(key);
110
+ var prev_res = super.get(key);
111
+
112
+ super.set(key, value);
113
+
114
+ if (!t) {
115
+ tracked_items.set(key, tracked(0, block));
116
+ set(this.#tracked_size, super.size);
117
+ } else if (prev_res !== value) {
118
+ increment(t);
119
+ }
120
+
121
+ return this;
122
+ }
123
+
124
+ /**
125
+ * @param {K} key
126
+ * @returns {boolean}
127
+ */
128
+ delete(key) {
129
+ var block = this.#block;
130
+ var tracked_items = this.#tracked_items;
131
+ var t = tracked_items.get(key);
132
+ var result = super.delete(key);
133
+
134
+ if (t) {
135
+ increment(t);
136
+ tracked_items.delete(key);
137
+ set(this.#tracked_size, super.size);
138
+ }
139
+
140
+ return result;
141
+ }
142
+
143
+ /**
144
+ * @returns {void}
145
+ */
146
+ clear() {
147
+ var block = this.#block;
148
+
149
+ if (super.size === 0) {
150
+ return;
151
+ }
152
+
153
+ for (var [_, t] of this.#tracked_items) {
154
+ increment(t);
155
+ }
156
+
157
+ super.clear();
158
+ this.#tracked_items.clear();
159
+ set(this.#tracked_size, 0);
160
+ }
161
+
162
+ /**
163
+ * @returns {MapIterator<K>}
164
+ */
165
+ keys() {
166
+ this.size;
167
+ return super.keys();
168
+ }
169
+
170
+ /**
171
+ * @returns {void}
172
+ */
173
+ #read_all() {
174
+ for (const [, t] of this.#tracked_items) {
175
+ get(t);
176
+ }
177
+ }
178
+
179
+ /**
180
+ * @returns {number}
181
+ */
182
+ get size() {
183
+ return get(this.#tracked_size);
184
+ }
185
+
186
+ /**
187
+ * @returns {Array<[K, V]>}
188
+ */
189
+ toJSON() {
190
+ this.size;
191
+ this.#read_all();
192
+
193
+ return [...this];
194
+ }
195
195
  }
196
196
 
197
197
  /**
@@ -201,5 +201,5 @@ export class TrackedMap extends Map {
201
201
  * @returns {TrackedMap<K, V>}
202
202
  */
203
203
  export function tracked_map(block, ...args) {
204
- return with_scope(block, () => new TrackedMap(...args));
205
- }
204
+ return with_scope(block, () => new TrackedMap(...args));
205
+ }
@@ -32,7 +32,7 @@ export function MediaQuery(query, fallback) {
32
32
  () => on(q, 'change', () => {
33
33
  // skip wrapping in untrack as createSubscriber already does it
34
34
  if (q.matches !== get(matches)) {
35
- set(matches, q.matches, block)
35
+ set(matches, q.matches)
36
36
  }
37
37
  })
38
38
  );