@signaldb/svelte 1.1.1 → 2.0.0-beta.10

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.
Files changed (95) hide show
  1. package/dist/base/core/src/AsyncDataAdapter.d.ts +103 -0
  2. package/dist/base/core/src/AsyncDataAdapter.js +518 -0
  3. package/dist/base/core/src/AutoFetchDataAdapter.d.ts +112 -0
  4. package/dist/base/core/src/AutoFetchDataAdapter.js +652 -0
  5. package/dist/base/core/src/Collection/Cursor.d.ts +113 -0
  6. package/dist/base/core/src/Collection/Cursor.js +293 -0
  7. package/dist/base/core/src/Collection/Observer.d.ts +64 -0
  8. package/dist/base/core/src/Collection/Observer.js +181 -0
  9. package/dist/base/core/src/Collection/index.d.ts +300 -0
  10. package/dist/base/core/src/Collection/index.js +625 -0
  11. package/dist/base/core/src/Collection/types.d.ts +28 -0
  12. package/dist/base/core/src/Collection/types.js +2 -0
  13. package/dist/base/core/src/DataAdapter.d.ts +41 -0
  14. package/dist/base/core/src/DataAdapter.js +2 -0
  15. package/dist/base/core/src/DefaultDataAdapter.d.ts +35 -0
  16. package/dist/base/core/src/DefaultDataAdapter.js +398 -0
  17. package/dist/base/core/src/WorkerDataAdapter.d.ts +25 -0
  18. package/dist/base/core/src/WorkerDataAdapter.js +211 -0
  19. package/dist/base/core/src/WorkerDataAdapterHost.d.ts +62 -0
  20. package/dist/base/core/src/WorkerDataAdapterHost.js +409 -0
  21. package/dist/base/core/src/createIndex.d.ts +7 -0
  22. package/dist/base/core/src/createIndex.js +120 -0
  23. package/dist/base/core/src/createIndexProvider.d.ts +8 -0
  24. package/dist/base/core/src/createIndexProvider.js +11 -0
  25. package/dist/base/core/src/createReactivityAdapter.d.ts +8 -0
  26. package/dist/base/core/src/createReactivityAdapter.js +11 -0
  27. package/dist/base/core/src/createStorageAdapter.d.ts +9 -0
  28. package/dist/base/core/src/createStorageAdapter.js +11 -0
  29. package/dist/base/core/src/getIndexInfo.d.ts +39 -0
  30. package/dist/base/core/src/getIndexInfo.js +176 -0
  31. package/dist/base/core/src/index.d.ts +22 -0
  32. package/dist/base/core/src/index.js +39 -0
  33. package/dist/base/core/src/types/Dependency.d.ts +4 -0
  34. package/dist/base/core/src/types/Dependency.js +2 -0
  35. package/dist/base/core/src/types/IndexProvider.d.ts +26 -0
  36. package/dist/base/core/src/types/IndexProvider.js +2 -0
  37. package/dist/base/core/src/types/Modifier.d.ts +46 -0
  38. package/dist/base/core/src/types/Modifier.js +3 -0
  39. package/dist/base/core/src/types/ReactivityAdapter.d.ts +6 -0
  40. package/dist/base/core/src/types/ReactivityAdapter.js +2 -0
  41. package/dist/base/core/src/types/Selector.d.ts +46 -0
  42. package/dist/base/core/src/types/Selector.js +3 -0
  43. package/dist/base/core/src/types/Signal.d.ts +4 -0
  44. package/dist/base/core/src/types/Signal.js +2 -0
  45. package/dist/base/core/src/types/StorageAdapter.d.ts +20 -0
  46. package/dist/base/core/src/types/StorageAdapter.js +2 -0
  47. package/dist/base/core/src/utils/EventEmitter.d.ts +71 -0
  48. package/dist/base/core/src/utils/EventEmitter.js +144 -0
  49. package/dist/base/core/src/utils/batchOnNextTick.d.ts +16 -0
  50. package/dist/base/core/src/utils/batchOnNextTick.js +72 -0
  51. package/dist/base/core/src/utils/compact.d.ts +9 -0
  52. package/dist/base/core/src/utils/compact.js +21 -0
  53. package/dist/base/core/src/utils/createSignal.d.ts +14 -0
  54. package/dist/base/core/src/utils/createSignal.js +38 -0
  55. package/dist/base/core/src/utils/deepClone.d.ts +17 -0
  56. package/dist/base/core/src/utils/deepClone.js +68 -0
  57. package/dist/base/core/src/utils/get.d.ts +9 -0
  58. package/dist/base/core/src/utils/get.js +27 -0
  59. package/dist/base/core/src/utils/getMatchingKeys.d.ts +19 -0
  60. package/dist/base/core/src/utils/getMatchingKeys.js +49 -0
  61. package/dist/base/core/src/utils/intersection.d.ts +9 -0
  62. package/dist/base/core/src/utils/intersection.js +16 -0
  63. package/dist/base/core/src/utils/isEqual.d.ts +14 -0
  64. package/dist/base/core/src/utils/isEqual.js +43 -0
  65. package/dist/base/core/src/utils/isFieldExpression.d.ts +11 -0
  66. package/dist/base/core/src/utils/isFieldExpression.js +52 -0
  67. package/dist/base/core/src/utils/match.d.ts +12 -0
  68. package/dist/base/core/src/utils/match.js +16 -0
  69. package/dist/base/core/src/utils/modify.d.ts +14 -0
  70. package/dist/base/core/src/utils/modify.js +29 -0
  71. package/dist/base/core/src/utils/project.d.ts +15 -0
  72. package/dist/base/core/src/utils/project.js +43 -0
  73. package/dist/base/core/src/utils/queryId.d.ts +9 -0
  74. package/dist/base/core/src/utils/queryId.js +30 -0
  75. package/dist/base/core/src/utils/randomId.d.ts +7 -0
  76. package/dist/base/core/src/utils/randomId.js +12 -0
  77. package/dist/base/core/src/utils/reactiveOrAsync.d.ts +59 -0
  78. package/dist/base/core/src/utils/reactiveOrAsync.js +93 -0
  79. package/dist/base/core/src/utils/serializeValue.d.ts +12 -0
  80. package/dist/base/core/src/utils/serializeValue.js +27 -0
  81. package/dist/base/core/src/utils/set.d.ts +13 -0
  82. package/dist/base/core/src/utils/set.js +43 -0
  83. package/dist/base/core/src/utils/sortItems.d.ts +12 -0
  84. package/dist/base/core/src/utils/sortItems.js +23 -0
  85. package/dist/base/core/src/utils/uniqueBy.d.ts +10 -0
  86. package/dist/base/core/src/utils/uniqueBy.js +19 -0
  87. package/dist/index.cjs +38 -0
  88. package/dist/index.cjs.map +1 -0
  89. package/dist/index.mjs +38 -0
  90. package/dist/index.mjs.map +1 -0
  91. package/dist/index.svelte.d.ts +7 -3
  92. package/dist/index.svelte.js +30 -28
  93. package/dist/reactivity-adapters/svelte/index.svelte.d.ts +10 -0
  94. package/dist/reactivity-adapters/svelte/index.svelte.js +36 -0
  95. package/package.json +4 -4
package/dist/index.cjs ADDED
@@ -0,0 +1,38 @@
1
+ "use strict";
2
+ Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
3
+ const reactivity = require("svelte/reactivity");
4
+ const core = require("@signaldb/core");
5
+ class SvelteDependency {
6
+ #subscribe;
7
+ #update;
8
+ #onDisposeCallbacks;
9
+ constructor() {
10
+ this.#onDisposeCallbacks = [];
11
+ this.#subscribe = reactivity.createSubscriber((update) => {
12
+ this.#update = update;
13
+ return () => this.dispose();
14
+ });
15
+ }
16
+ depend() {
17
+ this.#subscribe();
18
+ }
19
+ notify() {
20
+ this.#update?.();
21
+ }
22
+ onDispose(callback) {
23
+ this.#onDisposeCallbacks.push(callback);
24
+ }
25
+ dispose() {
26
+ this.#onDisposeCallbacks.forEach((callback) => callback());
27
+ }
28
+ }
29
+ const svelteReactivityAdapter = core.createReactivityAdapter({
30
+ create: () => new SvelteDependency(),
31
+ isInScope: () => $effect.tracking(),
32
+ onDispose(callback, svelteDependency) {
33
+ svelteDependency.onDispose(callback);
34
+ }
35
+ });
36
+ exports.SvelteDependency = SvelteDependency;
37
+ exports.default = svelteReactivityAdapter;
38
+ //# sourceMappingURL=index.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.cjs","sources":["../index.svelte.ts"],"sourcesContent":["import { createSubscriber } from 'svelte/reactivity'\nimport { createReactivityAdapter } from '@signaldb/core'\n\nexport class SvelteDependency {\n #subscribe: () => void\n #update: (() => void) | undefined\n #onDisposeCallbacks: (() => void)[]\n\n constructor() {\n this.#onDisposeCallbacks = []\n\n this.#subscribe = createSubscriber((update) => {\n this.#update = update\n return () => this.dispose()\n })\n }\n\n depend() {\n this.#subscribe()\n }\n\n notify() {\n // The #update can potentially be undefined because it only becomes\n // available after #subscribe is called for the first time within a scope.\n this.#update?.()\n }\n\n onDispose(callback: () => void) {\n this.#onDisposeCallbacks.push(callback)\n }\n\n dispose() {\n this.#onDisposeCallbacks.forEach(callback => callback())\n }\n}\n\nconst svelteReactivityAdapter = createReactivityAdapter({\n create: () => new SvelteDependency(),\n isInScope: () => $effect.tracking(),\n onDispose(callback, svelteDependency: SvelteDependency) {\n svelteDependency.onDispose(callback)\n },\n})\n\nexport default svelteReactivityAdapter\n"],"names":["createSubscriber","createReactivityAdapter"],"mappings":";;;;AAGO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EAEA,cAAc;AACZ,SAAK,sBAAsB,CAAA;AAE3B,SAAK,aAAaA,4BAAiB,CAAC,WAAW;AAC7C,WAAK,UAAU;AACf,aAAO,MAAM,KAAK,QAAA;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EAEA,SAAS;AACP,SAAK,WAAA;AAAA,EACP;AAAA,EAEA,SAAS;AAGP,SAAK,UAAA;AAAA,EACP;AAAA,EAEA,UAAU,UAAsB;AAC9B,SAAK,oBAAoB,KAAK,QAAQ;AAAA,EACxC;AAAA,EAEA,UAAU;AACR,SAAK,oBAAoB,QAAQ,CAAA,aAAY,SAAA,CAAU;AAAA,EACzD;AACF;AAEA,MAAM,0BAA0BC,KAAAA,wBAAwB;AAAA,EACtD,QAAQ,MAAM,IAAI,iBAAA;AAAA,EAClB,WAAW,MAAM,QAAQ,SAAA;AAAA,EACzB,UAAU,UAAU,kBAAoC;AACtD,qBAAiB,UAAU,QAAQ;AAAA,EACrC;AACF,CAAC;;;"}
package/dist/index.mjs ADDED
@@ -0,0 +1,38 @@
1
+ import { createSubscriber } from "svelte/reactivity";
2
+ import { createReactivityAdapter } from "@signaldb/core";
3
+ class SvelteDependency {
4
+ #subscribe;
5
+ #update;
6
+ #onDisposeCallbacks;
7
+ constructor() {
8
+ this.#onDisposeCallbacks = [];
9
+ this.#subscribe = createSubscriber((update) => {
10
+ this.#update = update;
11
+ return () => this.dispose();
12
+ });
13
+ }
14
+ depend() {
15
+ this.#subscribe();
16
+ }
17
+ notify() {
18
+ this.#update?.();
19
+ }
20
+ onDispose(callback) {
21
+ this.#onDisposeCallbacks.push(callback);
22
+ }
23
+ dispose() {
24
+ this.#onDisposeCallbacks.forEach((callback) => callback());
25
+ }
26
+ }
27
+ const svelteReactivityAdapter = createReactivityAdapter({
28
+ create: () => new SvelteDependency(),
29
+ isInScope: () => $effect.tracking(),
30
+ onDispose(callback, svelteDependency) {
31
+ svelteDependency.onDispose(callback);
32
+ }
33
+ });
34
+ export {
35
+ SvelteDependency,
36
+ svelteReactivityAdapter as default
37
+ };
38
+ //# sourceMappingURL=index.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.mjs","sources":["../index.svelte.ts"],"sourcesContent":["import { createSubscriber } from 'svelte/reactivity'\nimport { createReactivityAdapter } from '@signaldb/core'\n\nexport class SvelteDependency {\n #subscribe: () => void\n #update: (() => void) | undefined\n #onDisposeCallbacks: (() => void)[]\n\n constructor() {\n this.#onDisposeCallbacks = []\n\n this.#subscribe = createSubscriber((update) => {\n this.#update = update\n return () => this.dispose()\n })\n }\n\n depend() {\n this.#subscribe()\n }\n\n notify() {\n // The #update can potentially be undefined because it only becomes\n // available after #subscribe is called for the first time within a scope.\n this.#update?.()\n }\n\n onDispose(callback: () => void) {\n this.#onDisposeCallbacks.push(callback)\n }\n\n dispose() {\n this.#onDisposeCallbacks.forEach(callback => callback())\n }\n}\n\nconst svelteReactivityAdapter = createReactivityAdapter({\n create: () => new SvelteDependency(),\n isInScope: () => $effect.tracking(),\n onDispose(callback, svelteDependency: SvelteDependency) {\n svelteDependency.onDispose(callback)\n },\n})\n\nexport default svelteReactivityAdapter\n"],"names":[],"mappings":";;AAGO,MAAM,iBAAiB;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EAEA,cAAc;AACZ,SAAK,sBAAsB,CAAA;AAE3B,SAAK,aAAa,iBAAiB,CAAC,WAAW;AAC7C,WAAK,UAAU;AACf,aAAO,MAAM,KAAK,QAAA;AAAA,IACpB,CAAC;AAAA,EACH;AAAA,EAEA,SAAS;AACP,SAAK,WAAA;AAAA,EACP;AAAA,EAEA,SAAS;AAGP,SAAK,UAAA;AAAA,EACP;AAAA,EAEA,UAAU,UAAsB;AAC9B,SAAK,oBAAoB,KAAK,QAAQ;AAAA,EACxC;AAAA,EAEA,UAAU;AACR,SAAK,oBAAoB,QAAQ,CAAA,aAAY,SAAA,CAAU;AAAA,EACzD;AACF;AAEA,MAAM,0BAA0B,wBAAwB;AAAA,EACtD,QAAQ,MAAM,IAAI,iBAAA;AAAA,EAClB,WAAW,MAAM,QAAQ,SAAA;AAAA,EACzB,UAAU,UAAU,kBAAoC;AACtD,qBAAiB,UAAU,QAAQ;AAAA,EACrC;AACF,CAAC;"}
@@ -1,6 +1,10 @@
1
- declare const svelteReactivityAdapter: import("@signaldb/core").ReactivityAdapter<{
1
+ export declare class SvelteDependency {
2
+ #private;
3
+ constructor();
2
4
  depend(): void;
3
5
  notify(): void;
4
- onStop(callback: () => void): void;
5
- }>;
6
+ onDispose(callback: () => void): void;
7
+ dispose(): void;
8
+ }
9
+ declare const svelteReactivityAdapter: import("@signaldb/core").ReactivityAdapter<SvelteDependency>;
6
10
  export default svelteReactivityAdapter;
@@ -1,34 +1,36 @@
1
1
  import { createSubscriber } from 'svelte/reactivity';
2
2
  import { createReactivityAdapter } from '@signaldb/core';
3
- const svelteReactivityAdapter = createReactivityAdapter({
4
- create() {
5
- let update;
6
- let stop;
7
- const subscribe = createSubscriber((u) => {
8
- update = u;
9
- return () => {
10
- if (!stop)
11
- return;
12
- stop();
13
- };
3
+ export class SvelteDependency {
4
+ #subscribe;
5
+ #update;
6
+ #onDisposeCallbacks;
7
+ constructor() {
8
+ this.#onDisposeCallbacks = [];
9
+ this.#subscribe = createSubscriber((update) => {
10
+ this.#update = update;
11
+ return () => this.dispose();
14
12
  });
15
- return {
16
- depend() {
17
- subscribe();
18
- },
19
- notify() {
20
- if (!update)
21
- return;
22
- update();
23
- },
24
- onStop(callback) {
25
- stop = callback;
26
- },
27
- };
28
- },
29
- isInScope: () => !!$effect.tracking(),
30
- onDispose(callback, { onStop }) {
31
- onStop(callback);
13
+ }
14
+ depend() {
15
+ this.#subscribe();
16
+ }
17
+ notify() {
18
+ // The #update can potentially be undefined because it only becomes
19
+ // available after #subscribe is called for the first time within a scope.
20
+ this.#update?.();
21
+ }
22
+ onDispose(callback) {
23
+ this.#onDisposeCallbacks.push(callback);
24
+ }
25
+ dispose() {
26
+ this.#onDisposeCallbacks.forEach(callback => callback());
27
+ }
28
+ }
29
+ const svelteReactivityAdapter = createReactivityAdapter({
30
+ create: () => new SvelteDependency(),
31
+ isInScope: () => $effect.tracking(),
32
+ onDispose(callback, svelteDependency) {
33
+ svelteDependency.onDispose(callback);
32
34
  },
33
35
  });
34
36
  export default svelteReactivityAdapter;
@@ -0,0 +1,10 @@
1
+ export declare class SvelteDependency {
2
+ #private;
3
+ constructor();
4
+ depend(): void;
5
+ notify(): void;
6
+ onDispose(callback: () => void): void;
7
+ dispose(): void;
8
+ }
9
+ declare const svelteReactivityAdapter: import("@signaldb/core").ReactivityAdapter<SvelteDependency>;
10
+ export default svelteReactivityAdapter;
@@ -0,0 +1,36 @@
1
+ import { createSubscriber } from 'svelte/reactivity';
2
+ import { createReactivityAdapter } from '@signaldb/core';
3
+ export class SvelteDependency {
4
+ #subscribe;
5
+ #update;
6
+ #onDisposeCallbacks;
7
+ constructor() {
8
+ this.#onDisposeCallbacks = [];
9
+ this.#subscribe = createSubscriber((update) => {
10
+ this.#update = update;
11
+ return () => this.dispose();
12
+ });
13
+ }
14
+ depend() {
15
+ this.#subscribe();
16
+ }
17
+ notify() {
18
+ // The #update can potentially be undefined because it only becomes
19
+ // available after #subscribe is called for the first time within a scope.
20
+ this.#update?.();
21
+ }
22
+ onDispose(callback) {
23
+ this.#onDisposeCallbacks.push(callback);
24
+ }
25
+ dispose() {
26
+ this.#onDisposeCallbacks.forEach(callback => callback());
27
+ }
28
+ }
29
+ const svelteReactivityAdapter = createReactivityAdapter({
30
+ create: () => new SvelteDependency(),
31
+ isInScope: () => $effect.tracking(),
32
+ onDispose(callback, svelteDependency) {
33
+ svelteDependency.onDispose(callback);
34
+ },
35
+ });
36
+ export default svelteReactivityAdapter;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@signaldb/svelte",
3
3
  "type": "module",
4
- "version": "1.1.1",
4
+ "version": "2.0.0-beta.10",
5
5
  "scripts": {
6
6
  "build": "tsc -d --noEmit false",
7
7
  "analyze-bundle": "bundle-analyzer ./dist --upload-token=$BUNDLE_ANALYZER_UPLOAD_TOKEN --bundle-name=@signaldb/svelte",
@@ -41,11 +41,11 @@
41
41
  "license": "MIT",
42
42
  "description": "",
43
43
  "peerDependencies": {
44
- "@signaldb/core": "1.x",
44
+ "@signaldb/core": "1.x || ^2.0.0-0",
45
45
  "svelte": "^5.7.0"
46
46
  },
47
47
  "devDependencies": {
48
- "@sveltejs/vite-plugin-svelte": "^5.0.3",
49
- "svelte": "^5.25.3"
48
+ "@sveltejs/vite-plugin-svelte": "7.1.2",
49
+ "svelte": "5.56.1"
50
50
  }
51
51
  }