Files
frontend-svelte/src/shared/lib/index.ts
T
Ilia Mashkov 0aae710e35 fix: dispose persistent-store effects; close comparisonStore effect leak
Thread the new createPersistentStore.destroy() through its owners so the
save effect.root is actually torn down: LayoutManager gains destroy();
ThemeManager and typographySettings dispose their #store in their existing
destroy().

comparisonStore had its own leak — a constructor $effect.root whose disposer
was discarded, and a module-level persistent storage created at import. Move
storage into the instance (#storage, created lazily per instance), capture
the effect.root disposer, add destroy(), and adopt createSingleton so reset
runs resetAll() + destroy(). Re-export createSingleton from the $shared/lib
barrel; give the test storage mock a destroy().
2026-06-03 10:16:47 +03:00

46 lines
906 B
TypeScript

/**
* Shared library
*
* Reusable utilities, helpers, and providers for the application.
*/
export {
createDebouncedState,
createEntityStore,
createFilter,
createPersistentStore,
createPerspectiveManager,
createResponsiveManager,
createSingleton,
createVirtualizer,
type Entity,
type EntityStore,
type Filter,
type FilterModel,
type PersistentStore,
type PerspectiveManager,
type Property,
type ResponsiveManager,
responsiveManager,
type Singleton,
type VirtualItem,
type Virtualizer,
type VirtualizerOptions,
} from './helpers';
export {
buildQueryString,
clampNumber,
cn,
debounce,
getDecimalPlaces,
roundToStepPrecision,
smoothScroll,
splitArray,
throttle,
} from './utils';
export { springySlideFade } from './transitions';
export { ResponsiveProvider } from './providers';