svelte 5.43.2 → 5.43.4

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.
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "svelte",
3
3
  "description": "Cybernetically enhanced web apps",
4
4
  "license": "MIT",
5
- "version": "5.43.2",
5
+ "version": "5.43.4",
6
6
  "type": "module",
7
7
  "types": "./types/index.d.ts",
8
8
  "engines": {
@@ -1,16 +1,19 @@
1
1
  /** @import { AST } from '#compiler' */
2
2
  /** @import { ComponentContext } from '../types' */
3
3
  import * as b from '#compiler/builders';
4
- import { build_template_chunk } from './shared/utils.js';
4
+ import { build_template_chunk, Memoizer } from './shared/utils.js';
5
5
 
6
6
  /**
7
7
  * @param {AST.TitleElement} node
8
8
  * @param {ComponentContext} context
9
9
  */
10
10
  export function TitleElement(node, context) {
11
+ const memoizer = new Memoizer();
11
12
  const { has_state, value } = build_template_chunk(
12
13
  /** @type {any} */ (node.fragment.nodes),
13
- context
14
+ context,
15
+ context.state,
16
+ (value, metadata) => memoizer.add(value, metadata)
14
17
  );
15
18
  const evaluated = context.state.scope.evaluate(value);
16
19
 
@@ -26,9 +29,21 @@ export function TitleElement(node, context) {
26
29
  )
27
30
  );
28
31
 
32
+ // Always in an $effect so it only changes the title once async work is done
29
33
  if (has_state) {
30
- context.state.update.push(statement);
34
+ context.state.after_update.push(
35
+ b.stmt(
36
+ b.call(
37
+ '$.template_effect',
38
+ b.arrow(memoizer.apply(), b.block([statement])),
39
+ memoizer.sync_values(),
40
+ memoizer.async_values(),
41
+ memoizer.blockers(),
42
+ b.true
43
+ )
44
+ )
45
+ );
31
46
  } else {
32
- context.state.init.push(statement);
47
+ context.state.after_update.push(b.stmt(b.call('$.effect', b.thunk(b.block([statement])))));
33
48
  }
34
49
  }
@@ -6,6 +6,13 @@ export const BLOCK_EFFECT = 1 << 4;
6
6
  export const BRANCH_EFFECT = 1 << 5;
7
7
  export const ROOT_EFFECT = 1 << 6;
8
8
  export const BOUNDARY_EFFECT = 1 << 7;
9
+ /**
10
+ * Indicates that a reaction is connected to an effect root — either it is an effect,
11
+ * or it is a derived that is depended on by at least one effect. If a derived has
12
+ * no dependents, we can disconnect it from the graph, allowing it to either be
13
+ * GC'd or reconnected later if an effect comes to depend on it again
14
+ */
15
+ export const CONNECTED = 1 << 9;
9
16
  export const CLEAN = 1 << 10;
10
17
  export const DIRTY = 1 << 11;
11
18
  export const MAYBE_DIRTY = 1 << 12;
@@ -26,8 +33,6 @@ export const EFFECT_PRESERVED = 1 << 19;
26
33
  export const USER_EFFECT = 1 << 20;
27
34
 
28
35
  // Flags exclusive to deriveds
29
- export const UNOWNED = 1 << 8;
30
- export const DISCONNECTED = 1 << 9;
31
36
  /**
32
37
  * Tells that we marked this derived and its reactions as visited during the "mark as (maybe) dirty"-phase.
33
38
  * Will be lifted during execution of the derived and during checking its dirty state (both are necessary
@@ -14,33 +14,26 @@ import {
14
14
  MAYBE_DIRTY,
15
15
  DERIVED,
16
16
  BOUNDARY_EFFECT,
17
- EAGER_EFFECT
17
+ EAGER_EFFECT,
18
+ HEAD_EFFECT,
19
+ ERROR_VALUE
18
20
  } from '#client/constants';
19
21
  import { async_mode_flag } from '../../flags/index.js';
20
22
  import { deferred, define_property } from '../../shared/utils.js';
21
23
  import {
22
24
  active_effect,
23
25
  get,
24
- increment_write_version,
25
26
  is_dirty,
26
27
  is_updating_effect,
27
28
  set_is_updating_effect,
28
29
  set_signal_status,
29
- tick,
30
30
  update_effect
31
31
  } from '../runtime.js';
32
32
  import * as e from '../errors.js';
33
33
  import { flush_tasks, queue_micro_task } from '../dom/task.js';
34
34
  import { DEV } from 'esm-env';
35
35
  import { invoke_error_boundary } from '../error-handling.js';
36
- import {
37
- flush_eager_effects,
38
- eager_effects,
39
- old_values,
40
- set_eager_effects,
41
- source,
42
- update
43
- } from './sources.js';
36
+ import { flush_eager_effects, old_values, set_eager_effects, source, update } from './sources.js';
44
37
  import { eager_effect, unlink_effect } from './effects.js';
45
38
 
46
39
  /**
@@ -293,12 +286,16 @@ export class Batch {
293
286
  this.previous.set(source, value);
294
287
  }
295
288
 
296
- this.current.set(source, source.v);
297
- batch_values?.set(source, source.v);
289
+ // Don't save errors in `batch_values`, or they won't be thrown in `runtime.js#get`
290
+ if ((source.f & ERROR_VALUE) === 0) {
291
+ this.current.set(source, source.v);
292
+ batch_values?.set(source, source.v);
293
+ }
298
294
  }
299
295
 
300
296
  activate() {
301
297
  current_batch = this;
298
+ this.apply();
302
299
  }
303
300
 
304
301
  deactivate() {
@@ -500,7 +497,7 @@ export class Batch {
500
497
  }
501
498
 
502
499
  apply() {
503
- if (!async_mode_flag || batches.size === 1) return;
500
+ if (!async_mode_flag || (!this.is_fork && batches.size === 1)) return;
504
501
 
505
502
  // if there are multiple batches, we are 'time travelling' —
506
503
  // we need to override values with the ones in this batch...
@@ -800,7 +797,12 @@ export function schedule_effect(signal) {
800
797
 
801
798
  // if the effect is being scheduled because a parent (each/await/etc) block
802
799
  // updated an internal source, bail out or we'll cause a second flush
803
- if (is_flushing && effect === active_effect && (flags & BLOCK_EFFECT) !== 0) {
800
+ if (
801
+ is_flushing &&
802
+ effect === active_effect &&
803
+ (flags & BLOCK_EFFECT) !== 0 &&
804
+ (flags & HEAD_EFFECT) === 0
805
+ ) {
804
806
  return;
805
807
  }
806
808
 
@@ -9,15 +9,14 @@ import {
9
9
  EFFECT_PRESERVED,
10
10
  MAYBE_DIRTY,
11
11
  STALE_REACTION,
12
- UNOWNED,
13
12
  ASYNC,
14
- WAS_MARKED
13
+ WAS_MARKED,
14
+ CONNECTED
15
15
  } from '#client/constants';
16
16
  import {
17
17
  active_reaction,
18
18
  active_effect,
19
19
  set_signal_status,
20
- skip_reaction,
21
20
  update_reaction,
22
21
  increment_write_version,
23
22
  set_active_effect,
@@ -27,7 +26,7 @@ import {
27
26
  import { equals, safe_equals } from './equality.js';
28
27
  import * as e from '../errors.js';
29
28
  import * as w from '../warnings.js';
30
- import { async_effect, destroy_effect, teardown } from './effects.js';
29
+ import { async_effect, destroy_effect, effect_tracking, teardown } from './effects.js';
31
30
  import { eager_effects, internal_set, set_eager_effects, source } from './sources.js';
32
31
  import { get_stack } from '../dev/tracing.js';
33
32
  import { async_mode_flag, tracing_mode_flag } from '../../flags/index.js';
@@ -61,9 +60,7 @@ export function derived(fn) {
61
60
  ? /** @type {Derived} */ (active_reaction)
62
61
  : null;
63
62
 
64
- if (active_effect === null || (parent_derived !== null && (parent_derived.f & UNOWNED) !== 0)) {
65
- flags |= UNOWNED;
66
- } else {
63
+ if (active_effect !== null) {
67
64
  // Since deriveds are evaluated lazily, any effects created inside them are
68
65
  // created too late to ensure that the parent effect is added to the tree
69
66
  active_effect.f |= EFFECT_PRESERVED;
@@ -368,12 +365,16 @@ export function update_derived(derived) {
368
365
  return;
369
366
  }
370
367
 
368
+ // During time traveling we don't want to reset the status so that
369
+ // traversal of the graph in the other batches still happens
371
370
  if (batch_values !== null) {
372
- batch_values.set(derived, derived.v);
371
+ // only cache the value if we're in a tracking context, otherwise we won't
372
+ // clear the cache in `mark_reactions` when dependencies are updated
373
+ if (effect_tracking()) {
374
+ batch_values.set(derived, derived.v);
375
+ }
373
376
  } else {
374
- var status =
375
- (skip_reaction || (derived.f & UNOWNED) !== 0) && derived.deps !== null ? MAYBE_DIRTY : CLEAN;
376
-
377
+ var status = (derived.f & CONNECTED) === 0 ? MAYBE_DIRTY : CLEAN;
377
378
  set_signal_status(derived, status);
378
379
  }
379
380
  }
@@ -25,7 +25,6 @@ import {
25
25
  ROOT_EFFECT,
26
26
  EFFECT_TRANSPARENT,
27
27
  DERIVED,
28
- UNOWNED,
29
28
  CLEAN,
30
29
  EAGER_EFFECT,
31
30
  HEAD_EFFECT,
@@ -33,7 +32,8 @@ import {
33
32
  EFFECT_PRESERVED,
34
33
  STALE_REACTION,
35
34
  USER_EFFECT,
36
- ASYNC
35
+ ASYNC,
36
+ CONNECTED
37
37
  } from '#client/constants';
38
38
  import * as e from '../errors.js';
39
39
  import { DEV } from 'esm-env';
@@ -48,11 +48,11 @@ import { without_reactive_context } from '../dom/elements/bindings/shared.js';
48
48
  * @param {'$effect' | '$effect.pre' | '$inspect'} rune
49
49
  */
50
50
  export function validate_effect(rune) {
51
- if (active_effect === null && active_reaction === null) {
52
- e.effect_orphan(rune);
53
- }
51
+ if (active_effect === null) {
52
+ if (active_reaction === null) {
53
+ e.effect_orphan(rune);
54
+ }
54
55
 
55
- if (active_reaction !== null && (active_reaction.f & UNOWNED) !== 0 && active_effect === null) {
56
56
  e.effect_in_unowned_derived();
57
57
  }
58
58
 
@@ -103,7 +103,7 @@ function create_effect(type, fn, sync, push = true) {
103
103
  deps: null,
104
104
  nodes_start: null,
105
105
  nodes_end: null,
106
- f: type | DIRTY,
106
+ f: type | DIRTY | CONNECTED,
107
107
  first: null,
108
108
  fn,
109
109
  last: null,
@@ -366,10 +366,11 @@ export function render_effect(fn, flags = 0) {
366
366
  * @param {Array<() => any>} sync
367
367
  * @param {Array<() => Promise<any>>} async
368
368
  * @param {Array<Promise<void>>} blockers
369
+ * @param {boolean} defer
369
370
  */
370
- export function template_effect(fn, sync = [], async = [], blockers = []) {
371
+ export function template_effect(fn, sync = [], async = [], blockers = [], defer = false) {
371
372
  flatten(blockers, sync, async, (values) => {
372
- create_effect(RENDER_EFFECT, () => fn(...values.map(get)), true);
373
+ create_effect(defer ? EFFECT : RENDER_EFFECT, () => fn(...values.map(get)), true);
373
374
  });
374
375
  }
375
376
 
@@ -23,18 +23,18 @@ import {
23
23
  DIRTY,
24
24
  BRANCH_EFFECT,
25
25
  EAGER_EFFECT,
26
- UNOWNED,
27
26
  MAYBE_DIRTY,
28
27
  BLOCK_EFFECT,
29
28
  ROOT_EFFECT,
30
29
  ASYNC,
31
- WAS_MARKED
30
+ WAS_MARKED,
31
+ CONNECTED
32
32
  } from '#client/constants';
33
33
  import * as e from '../errors.js';
34
34
  import { legacy_mode_flag, tracing_mode_flag } from '../../flags/index.js';
35
35
  import { get_stack, tag_proxy } from '../dev/tracing.js';
36
36
  import { component_context, is_runes } from '../context.js';
37
- import { Batch, eager_block_effects, schedule_effect } from './batch.js';
37
+ import { Batch, batch_values, eager_block_effects, schedule_effect } from './batch.js';
38
38
  import { proxy } from '../proxy.js';
39
39
  import { execute_derived } from './deriveds.js';
40
40
 
@@ -211,7 +211,8 @@ export function internal_set(source, value) {
211
211
  if ((source.f & DIRTY) !== 0) {
212
212
  execute_derived(/** @type {Derived} */ (source));
213
213
  }
214
- set_signal_status(source, (source.f & UNOWNED) === 0 ? CLEAN : MAYBE_DIRTY);
214
+
215
+ set_signal_status(source, (source.f & CONNECTED) !== 0 ? CLEAN : MAYBE_DIRTY);
215
216
  }
216
217
 
217
218
  source.wv = increment_write_version();
@@ -333,9 +334,17 @@ function mark_reactions(signal, status) {
333
334
  }
334
335
 
335
336
  if ((flags & DERIVED) !== 0) {
337
+ var derived = /** @type {Derived} */ (reaction);
338
+
339
+ batch_values?.delete(derived);
340
+
336
341
  if ((flags & WAS_MARKED) === 0) {
337
- reaction.f |= WAS_MARKED;
338
- mark_reactions(/** @type {Derived} */ (reaction), MAYBE_DIRTY);
342
+ // Only connected deriveds can be reliably unmarked right away
343
+ if (flags & CONNECTED) {
344
+ reaction.f |= WAS_MARKED;
345
+ }
346
+
347
+ mark_reactions(derived, MAYBE_DIRTY);
339
348
  }
340
349
  } else if (not_dirty) {
341
350
  if ((flags & BLOCK_EFFECT) !== 0) {
@@ -4,6 +4,7 @@ import { get_descriptors, get_prototype_of, index_of } from '../shared/utils.js'
4
4
  import {
5
5
  destroy_block_effect_children,
6
6
  destroy_effect_children,
7
+ effect_tracking,
7
8
  execute_effect_teardown
8
9
  } from './reactivity/effects.js';
9
10
  import {
@@ -11,13 +12,12 @@ import {
11
12
  MAYBE_DIRTY,
12
13
  CLEAN,
13
14
  DERIVED,
14
- UNOWNED,
15
15
  DESTROYED,
16
16
  BRANCH_EFFECT,
17
17
  STATE_SYMBOL,
18
18
  BLOCK_EFFECT,
19
19
  ROOT_EFFECT,
20
- DISCONNECTED,
20
+ CONNECTED,
21
21
  REACTION_IS_UPDATING,
22
22
  STALE_REACTION,
23
23
  ERROR_VALUE,
@@ -137,10 +137,6 @@ export function set_update_version(value) {
137
137
  update_version = value;
138
138
  }
139
139
 
140
- // If we are working with a get() chain that has no active container,
141
- // to prevent memory leaks, we skip adding the reaction.
142
- export let skip_reaction = false;
143
-
144
140
  export function increment_write_version() {
145
141
  return ++write_version;
146
142
  }
@@ -158,55 +154,18 @@ export function is_dirty(reaction) {
158
154
  return true;
159
155
  }
160
156
 
157
+ if (flags & DERIVED) {
158
+ reaction.f &= ~WAS_MARKED;
159
+ }
160
+
161
161
  if ((flags & MAYBE_DIRTY) !== 0) {
162
162
  var dependencies = reaction.deps;
163
- var is_unowned = (flags & UNOWNED) !== 0;
164
-
165
- if (flags & DERIVED) {
166
- reaction.f &= ~WAS_MARKED;
167
- }
168
163
 
169
164
  if (dependencies !== null) {
170
- var i;
171
- var dependency;
172
- var is_disconnected = (flags & DISCONNECTED) !== 0;
173
- var is_unowned_connected = is_unowned && active_effect !== null && !skip_reaction;
174
165
  var length = dependencies.length;
175
166
 
176
- // If we are working with a disconnected or an unowned signal that is now connected (due to an active effect)
177
- // then we need to re-connect the reaction to the dependency, unless the effect has already been destroyed
178
- // (which can happen if the derived is read by an async derived)
179
- if (
180
- (is_disconnected || is_unowned_connected) &&
181
- (active_effect === null || (active_effect.f & DESTROYED) === 0)
182
- ) {
183
- var derived = /** @type {Derived} */ (reaction);
184
- var parent = derived.parent;
185
-
186
- for (i = 0; i < length; i++) {
187
- dependency = dependencies[i];
188
-
189
- // We always re-add all reactions (even duplicates) if the derived was
190
- // previously disconnected, however we don't if it was unowned as we
191
- // de-duplicate dependencies in that case
192
- if (is_disconnected || !dependency?.reactions?.includes(derived)) {
193
- (dependency.reactions ??= []).push(derived);
194
- }
195
- }
196
-
197
- if (is_disconnected) {
198
- derived.f ^= DISCONNECTED;
199
- }
200
- // If the unowned derived is now fully connected to the graph again (it's unowned and reconnected, has a parent
201
- // and the parent is not unowned), then we can mark it as connected again, removing the need for the unowned
202
- // flag
203
- if (is_unowned_connected && parent !== null && (parent.f & UNOWNED) === 0) {
204
- derived.f ^= UNOWNED;
205
- }
206
- }
207
-
208
- for (i = 0; i < length; i++) {
209
- dependency = dependencies[i];
167
+ for (var i = 0; i < length; i++) {
168
+ var dependency = dependencies[i];
210
169
 
211
170
  if (is_dirty(/** @type {Derived} */ (dependency))) {
212
171
  update_derived(/** @type {Derived} */ (dependency));
@@ -218,9 +177,12 @@ export function is_dirty(reaction) {
218
177
  }
219
178
  }
220
179
 
221
- // Unowned signals should never be marked as clean unless they
222
- // are used within an active_effect without skip_reaction
223
- if (!is_unowned || (active_effect !== null && !skip_reaction)) {
180
+ if (
181
+ (flags & CONNECTED) !== 0 &&
182
+ // During time traveling we don't want to reset the status so that
183
+ // traversal of the graph in the other batches still happens
184
+ batch_values === null
185
+ ) {
224
186
  set_signal_status(reaction, CLEAN);
225
187
  }
226
188
  }
@@ -263,7 +225,6 @@ export function update_reaction(reaction) {
263
225
  var previous_skipped_deps = skipped_deps;
264
226
  var previous_untracked_writes = untracked_writes;
265
227
  var previous_reaction = active_reaction;
266
- var previous_skip_reaction = skip_reaction;
267
228
  var previous_sources = current_sources;
268
229
  var previous_component_context = component_context;
269
230
  var previous_untracking = untracking;
@@ -274,8 +235,6 @@ export function update_reaction(reaction) {
274
235
  new_deps = /** @type {null | Value[]} */ (null);
275
236
  skipped_deps = 0;
276
237
  untracked_writes = null;
277
- skip_reaction =
278
- (flags & UNOWNED) !== 0 && (untracking || !is_updating_effect || active_reaction === null);
279
238
  active_reaction = (flags & (BRANCH_EFFECT | ROOT_EFFECT)) === 0 ? reaction : null;
280
239
 
281
240
  current_sources = null;
@@ -311,12 +270,7 @@ export function update_reaction(reaction) {
311
270
  reaction.deps = deps = new_deps;
312
271
  }
313
272
 
314
- if (
315
- !skip_reaction ||
316
- // Deriveds that already have reactions can cleanup, so we still add them as reactions
317
- ((flags & DERIVED) !== 0 &&
318
- /** @type {import('#client').Derived} */ (reaction).reactions !== null)
319
- ) {
273
+ if (is_updating_effect && effect_tracking() && (reaction.f & CONNECTED) !== 0) {
320
274
  for (i = skipped_deps; i < deps.length; i++) {
321
275
  (deps[i].reactions ??= []).push(reaction);
322
276
  }
@@ -373,7 +327,6 @@ export function update_reaction(reaction) {
373
327
  skipped_deps = previous_skipped_deps;
374
328
  untracked_writes = previous_untracked_writes;
375
329
  active_reaction = previous_reaction;
376
- skip_reaction = previous_skip_reaction;
377
330
  current_sources = previous_sources;
378
331
  set_component_context(previous_component_context);
379
332
  untracking = previous_untracking;
@@ -415,9 +368,10 @@ function remove_reaction(signal, dependency) {
415
368
  ) {
416
369
  set_signal_status(dependency, MAYBE_DIRTY);
417
370
  // If we are working with a derived that is owned by an effect, then mark it as being
418
- // disconnected.
419
- if ((dependency.f & (UNOWNED | DISCONNECTED)) === 0) {
420
- dependency.f ^= DISCONNECTED;
371
+ // disconnected and remove the mark flag, as it cannot be reliably removed otherwise
372
+ if ((dependency.f & CONNECTED) !== 0) {
373
+ dependency.f ^= CONNECTED;
374
+ dependency.f &= ~WAS_MARKED;
421
375
  }
422
376
  // Disconnect any reactions owned by this reaction
423
377
  destroy_derived_effects(/** @type {Derived} **/ (dependency));
@@ -564,10 +518,7 @@ export function get(signal) {
564
518
  skipped_deps++;
565
519
  } else if (new_deps === null) {
566
520
  new_deps = [signal];
567
- } else if (!skip_reaction || !new_deps.includes(signal)) {
568
- // Normally we can push duplicated dependencies to `new_deps`, but if we're inside
569
- // an unowned derived because skip_reaction is true, then we need to ensure that
570
- // we don't have duplicates
521
+ } else if (!new_deps.includes(signal)) {
571
522
  new_deps.push(signal);
572
523
  }
573
524
  }
@@ -585,20 +536,6 @@ export function get(signal) {
585
536
  }
586
537
  }
587
538
  }
588
- } else if (
589
- is_derived &&
590
- /** @type {Derived} */ (signal).deps === null &&
591
- /** @type {Derived} */ (signal).effects === null
592
- ) {
593
- var derived = /** @type {Derived} */ (signal);
594
- var parent = derived.parent;
595
-
596
- if (parent !== null && (parent.f & UNOWNED) === 0) {
597
- // If the derived is owned by another derived then mark it as unowned
598
- // as the derived value might have been referenced in a different context
599
- // since and thus its parent might not be its true owner anymore
600
- derived.f ^= UNOWNED;
601
- }
602
539
  }
603
540
 
604
541
  if (DEV) {
@@ -657,7 +594,7 @@ export function get(signal) {
657
594
  }
658
595
 
659
596
  if (is_derived) {
660
- derived = /** @type {Derived} */ (signal);
597
+ var derived = /** @type {Derived} */ (signal);
661
598
 
662
599
  var value = derived.v;
663
600
 
@@ -684,9 +621,11 @@ export function get(signal) {
684
621
  if (is_dirty(derived)) {
685
622
  update_derived(derived);
686
623
  }
687
- }
688
624
 
689
- if (batch_values?.has(signal)) {
625
+ if (is_updating_effect && effect_tracking() && (derived.f & CONNECTED) === 0) {
626
+ reconnect(derived);
627
+ }
628
+ } else if (batch_values?.has(signal)) {
690
629
  return batch_values.get(signal);
691
630
  }
692
631
 
@@ -697,6 +636,25 @@ export function get(signal) {
697
636
  return signal.v;
698
637
  }
699
638
 
639
+ /**
640
+ * (Re)connect a disconnected derived, so that it is notified
641
+ * of changes in `mark_reactions`
642
+ * @param {Derived} derived
643
+ */
644
+ function reconnect(derived) {
645
+ if (derived.deps === null) return;
646
+
647
+ derived.f ^= CONNECTED;
648
+
649
+ for (const dep of derived.deps) {
650
+ (dep.reactions ??= []).push(derived);
651
+
652
+ if ((dep.f & DERIVED) !== 0 && (dep.f & CONNECTED) === 0) {
653
+ reconnect(/** @type {Derived} */ (dep));
654
+ }
655
+ }
656
+ }
657
+
700
658
  /** @param {Derived} derived */
701
659
  function depends_on_old_values(derived) {
702
660
  if (derived.v === UNINITIALIZED) return true; // we don't know, so assume the worst
@@ -763,12 +721,12 @@ export function set_signal_status(signal, status) {
763
721
  }
764
722
 
765
723
  /**
766
- * @param {Record<string, unknown>} obj
767
- * @param {string[]} keys
768
- * @returns {Record<string, unknown>}
724
+ * @param {Record<string | symbol, unknown>} obj
725
+ * @param {Array<string | symbol>} keys
726
+ * @returns {Record<string | symbol, unknown>}
769
727
  */
770
728
  export function exclude_from_object(obj, keys) {
771
- /** @type {Record<string, unknown>} */
729
+ /** @type {Record<string | symbol, unknown>} */
772
730
  var result = {};
773
731
 
774
732
  for (var key in obj) {
@@ -777,6 +735,12 @@ export function exclude_from_object(obj, keys) {
777
735
  }
778
736
  }
779
737
 
738
+ for (var symbol of Object.getOwnPropertySymbols(obj)) {
739
+ if (Object.propertyIsEnumerable.call(obj, symbol) && !keys.includes(symbol)) {
740
+ result[symbol] = obj[symbol];
741
+ }
742
+ }
743
+
780
744
  return result;
781
745
  }
782
746
 
package/src/version.js CHANGED
@@ -4,5 +4,5 @@
4
4
  * The current version, as set in package.json.
5
5
  * @type {string}
6
6
  */
7
- export const VERSION = '5.43.2';
7
+ export const VERSION = '5.43.4';
8
8
  export const PUBLIC_VERSION = '5';
@@ -263,6 +263,6 @@
263
263
  null,
264
264
  null
265
265
  ],
266
- "mappings": "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",
266
+ "mappings": "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",
267
267
  "ignoreList": []
268
268
  }