@warkypublic/svelix 0.1.37 → 0.1.38

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.
@@ -526,8 +526,19 @@
526
526
 
527
527
  type Adapter = GridlerResolveSpecAdapter | GridlerRestHeaderSpecAdapter;
528
528
 
529
+ const serverAdapterKey = $derived(
530
+ `${dataSource}|${resolvedUrl}|${resolvedToken}|${resolvedSchema}|${resolvedEntity}|${resolvedUniqueID}`,
531
+ );
532
+
533
+ let _serverAdapterInstance = $state<Adapter | null>(null);
534
+ let _serverAdapterKey = $state<string>("");
535
+
529
536
  const serverAdapter = $derived.by((): Adapter | null => {
530
537
  if (!resolvedUrl || !resolvedSchema || !resolvedEntity) return null;
538
+ const key = serverAdapterKey;
539
+ if (key === untrack(() => _serverAdapterKey) && untrack(() => _serverAdapterInstance)) {
540
+ return untrack(() => _serverAdapterInstance);
541
+ }
531
542
  const config: GridlerAdapterConfig = {
532
543
  url: resolvedUrl,
533
544
  token: resolvedToken,
@@ -535,9 +546,13 @@
535
546
  entity: resolvedEntity,
536
547
  uniqueID: resolvedUniqueID,
537
548
  };
538
- return dataSource === "headerspec"
539
- ? new GridlerRestHeaderSpecAdapter(config)
540
- : new GridlerResolveSpecAdapter(config);
549
+ const instance =
550
+ dataSource === "headerspec"
551
+ ? new GridlerRestHeaderSpecAdapter(config)
552
+ : new GridlerResolveSpecAdapter(config);
553
+ _serverAdapterInstance = instance;
554
+ _serverAdapterKey = key;
555
+ return instance;
541
556
  });
542
557
 
543
558
  function buildAllFilters(search: string | null): FilterOption[] {
@@ -661,7 +676,10 @@
661
676
  if (serverFetchVersion !== versionSnapshot) return;
662
677
  serverData = [...serverData, ...result.data];
663
678
  serverCursor = result.nextCursor;
664
- serverAllLoaded = result.data.length < pageSize || !result.nextCursor;
679
+ serverAllLoaded =
680
+ result.data.length < pageSize ||
681
+ !result.nextCursor ||
682
+ result.nextCursor === cursorSnapshot;
665
683
  onGridEvent?.("page_loaded", undefined, undefined, undefined, { data: result.data, total: serverData.length });
666
684
  } catch (e) {
667
685
  const msg = e instanceof Error ? e.message : "Failed to load page";
package/package.json CHANGED
@@ -1,8 +1,26 @@
1
1
  {
2
2
  "name": "@warkypublic/svelix",
3
- "version": "0.1.37",
3
+ "version": "0.1.38",
4
4
  "description": "Svelte 5 component library with Skeleton UI and Tailwind CSS",
5
5
  "license": "Apache-2.0",
6
+ "scripts": {
7
+ "dev": "vite dev",
8
+ "build": "vite build && pnpm run package",
9
+ "preview": "vite preview",
10
+ "package": "svelte-kit sync && svelte-package && mkdir -p dist/css && cp src/lib/css/tailwind-source.css dist/css/tailwind-source.css && publint",
11
+ "prepublishOnly": "npm run package",
12
+ "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
13
+ "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
14
+ "storybook": "storybook dev -p 6006",
15
+ "build-storybook": "storybook build",
16
+ "lint": "eslint .",
17
+ "lint:fix": "eslint . --fix",
18
+ "test": "vitest run --project unit",
19
+ "test:unit": "vitest run --project unit",
20
+ "test:watch": "vitest --project unit",
21
+ "test:e2e": "playwright test",
22
+ "test:e2e:ui": "playwright test --ui"
23
+ },
6
24
  "exports": {
7
25
  ".": {
8
26
  "types": "./dist/index.d.ts",
@@ -84,22 +102,5 @@
84
102
  "isomorphic-dompurify": "^3.9.0",
85
103
  "katex": "^0.16.45",
86
104
  "monaco-editor": "^0.55.1"
87
- },
88
- "scripts": {
89
- "dev": "vite dev",
90
- "build": "vite build && pnpm run package",
91
- "preview": "vite preview",
92
- "package": "svelte-kit sync && svelte-package && mkdir -p dist/css && cp src/lib/css/tailwind-source.css dist/css/tailwind-source.css && publint",
93
- "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json",
94
- "check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
95
- "storybook": "storybook dev -p 6006",
96
- "build-storybook": "storybook build",
97
- "lint": "eslint .",
98
- "lint:fix": "eslint . --fix",
99
- "test": "vitest run --project unit",
100
- "test:unit": "vitest run --project unit",
101
- "test:watch": "vitest --project unit",
102
- "test:e2e": "playwright test",
103
- "test:e2e:ui": "playwright test --ui"
104
105
  }
105
- }
106
+ }