Socket
Socket
Sign inDemoInstall

svelte-tiny-virtual-list

Package Overview
Dependencies
0
Maintainers
1
Versions
23
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

Comparing version 1.1.7 to 2.0.0

36

dist/svelte-tiny-virtual-list.js

@@ -180,13 +180,30 @@ (function (global, factory) {

}
let flushing = false;
// flush() calls callbacks in this order:
// 1. All beforeUpdate callbacks, in order: parents before children
// 2. All bind:this callbacks, in reverse order: children before parents.
// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT
// for afterUpdates called during the initial onMount, which are called in
// reverse order: children before parents.
// Since callbacks might update component values, which could trigger another
// call to flush(), the following steps guard against this:
// 1. During beforeUpdate, any updated components will be added to the
// dirty_components array and will cause a reentrant call to flush(). Because
// the flush index is kept outside the function, the reentrant call will pick
// up where the earlier call left off and go through all dirty components. The
// current_component value is saved and restored so that the reentrant call will
// not interfere with the "parent" flush() call.
// 2. bind:this callbacks cannot trigger new flush() calls.
// 3. During afterUpdate, any updated components will NOT have their afterUpdate
// callback called a second time; the seen_callbacks set, outside the flush()
// function, guarantees this behavior.
const seen_callbacks = new Set();
let flushidx = 0; // Do *not* move this inside the flush() function
function flush() {
if (flushing)
return;
flushing = true;
const saved_component = current_component;
do {
// first, call beforeUpdate functions
// and update components
for (let i = 0; i < dirty_components.length; i += 1) {
const component = dirty_components[i];
while (flushidx < dirty_components.length) {
const component = dirty_components[flushidx];
flushidx++;
set_current_component(component);

@@ -197,2 +214,3 @@ update(component.$$);

dirty_components.length = 0;
flushidx = 0;
while (binding_callbacks.length)

@@ -217,4 +235,4 @@ binding_callbacks.pop()();

update_scheduled = false;
flushing = false;
seen_callbacks.clear();
set_current_component(saved_component);
}

@@ -911,3 +929,3 @@ function update($$) {

/* src/VirtualList.svelte generated by Svelte v3.43.0 */
/* src/VirtualList.svelte generated by Svelte v3.46.4 */

@@ -1317,3 +1335,3 @@ function add_css(target) {

dispatchEvent('itemsUpdated', { startIndex: start, stopIndex: stop });
dispatchEvent('itemsUpdated', { start, end: stop });
}

@@ -1320,0 +1338,0 @@

{
"name": "svelte-tiny-virtual-list",
"version": "1.1.7",
"version": "2.0.0",
"description": "A tiny but mighty list virtualization component for svelte, with zero dependencies 💪",

@@ -5,0 +5,0 @@ "svelte": "src/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc