@signaldb/opfs 2.0.0-beta.6 → 2.0.0-beta.7

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 (51) hide show
  1. package/dist/base/core/src/AsyncDataAdapter.d.ts +64 -0
  2. package/dist/base/core/src/AutoFetchDataAdapter.d.ts +112 -0
  3. package/dist/base/core/src/Collection/Cursor.d.ts +113 -0
  4. package/dist/base/core/src/Collection/Observer.d.ts +64 -0
  5. package/dist/base/core/src/Collection/index.d.ts +294 -0
  6. package/dist/base/core/src/Collection/types.d.ts +28 -0
  7. package/dist/base/core/src/DataAdapter.d.ts +35 -0
  8. package/dist/base/core/src/DefaultDataAdapter.d.ts +35 -0
  9. package/dist/base/core/src/WorkerDataAdapter.d.ts +25 -0
  10. package/dist/base/core/src/WorkerDataAdapterHost.d.ts +62 -0
  11. package/dist/base/core/src/createIndex.d.ts +7 -0
  12. package/dist/base/core/src/createIndexProvider.d.ts +8 -0
  13. package/dist/base/core/src/createReactivityAdapter.d.ts +8 -0
  14. package/dist/base/core/src/createStorageAdapter.d.ts +9 -0
  15. package/dist/base/core/src/getIndexInfo.d.ts +39 -0
  16. package/dist/base/core/src/index.d.ts +22 -0
  17. package/dist/base/core/src/types/Dependency.d.ts +4 -0
  18. package/dist/base/core/src/types/IndexProvider.d.ts +26 -0
  19. package/dist/base/core/src/types/Modifier.d.ts +46 -0
  20. package/dist/base/core/src/types/ReactivityAdapter.d.ts +6 -0
  21. package/dist/base/core/src/types/Selector.d.ts +46 -0
  22. package/dist/base/core/src/types/Signal.d.ts +4 -0
  23. package/dist/base/core/src/types/StorageAdapter.d.ts +20 -0
  24. package/dist/base/core/src/utils/EventEmitter.d.ts +71 -0
  25. package/dist/base/core/src/utils/batchOnNextTick.d.ts +16 -0
  26. package/dist/base/core/src/utils/compact.d.ts +9 -0
  27. package/dist/base/core/src/utils/createSignal.d.ts +14 -0
  28. package/dist/base/core/src/utils/deepClone.d.ts +17 -0
  29. package/dist/base/core/src/utils/get.d.ts +9 -0
  30. package/dist/base/core/src/utils/getMatchingKeys.d.ts +19 -0
  31. package/dist/base/core/src/utils/intersection.d.ts +9 -0
  32. package/dist/base/core/src/utils/isEqual.d.ts +14 -0
  33. package/dist/base/core/src/utils/isFieldExpression.d.ts +11 -0
  34. package/dist/base/core/src/utils/match.d.ts +12 -0
  35. package/dist/base/core/src/utils/modify.d.ts +14 -0
  36. package/dist/base/core/src/utils/project.d.ts +15 -0
  37. package/dist/base/core/src/utils/queryId.d.ts +9 -0
  38. package/dist/base/core/src/utils/randomId.d.ts +7 -0
  39. package/dist/base/core/src/utils/reactiveOrAsync.d.ts +59 -0
  40. package/dist/base/core/src/utils/serializeValue.d.ts +12 -0
  41. package/dist/base/core/src/utils/set.d.ts +13 -0
  42. package/dist/base/core/src/utils/sortItems.d.ts +12 -0
  43. package/dist/base/core/src/utils/uniqueBy.d.ts +10 -0
  44. package/dist/index.mjs +90 -98
  45. package/dist/index.mjs.map +1 -1
  46. package/dist/index.umd.js +2 -2
  47. package/dist/index.umd.js.map +1 -1
  48. package/dist/storage-adapters/generic-fs/src/deltaHelpers.d.ts +55 -0
  49. package/dist/storage-adapters/generic-fs/src/index.d.ts +31 -0
  50. package/package.json +3 -3
  51. /package/dist/{index.d.ts → storage-adapters/opfs/src/index.d.ts} +0 -0
@@ -0,0 +1,31 @@
1
+ /**
2
+ * A driver interface that abstracts low-level filesystem operations.
3
+ * Implementations can back this with Node.js fs/promises, browser FS APIs, or other storage mechanisms.
4
+ */
5
+ export interface Driver<T extends {
6
+ id: I;
7
+ } & Record<string, unknown>, I> {
8
+ fileNameForId(id: I): Promise<string>;
9
+ fileNameForIndexKey(key: string): Promise<string>;
10
+ joinPath(...parts: string[]): Promise<string>;
11
+ ensureDir(path: string): Promise<void>;
12
+ fileExists(path: string): Promise<boolean>;
13
+ readObject(path: string): Promise<T[] | null>;
14
+ writeObject(path: string, value: T[]): Promise<void>;
15
+ readIndexObject(path: string): Promise<Record<string, I[]>[] | null>;
16
+ writeIndexObject(path: string, value: Record<string, I[]>[]): Promise<void>;
17
+ listFilesRecursive(directoryPath: string): Promise<string[]>;
18
+ removeEntry(path: string, options?: {
19
+ recursive?: boolean;
20
+ }): Promise<void>;
21
+ }
22
+ /**
23
+ * Creates a storage adapter for managing a SignalDB collection using a generic filesystem-like driver.
24
+ * Data is sharded into subdirectories based on item identifiers, and indices are maintained as files.
25
+ * @param driver - The driver that handles low-level file operations.
26
+ * @param folderName - The root folder path for storing the collection data.
27
+ * @returns A SignalDB storage adapter for managing data in a filesystem-like storage.
28
+ */
29
+ export default function createGenericFSAdapter<T extends {
30
+ id: I;
31
+ } & Record<string, unknown>, I>(driver: Driver<T, I>, folderName: string): import("@signaldb/core").StorageAdapter<T, I>;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@signaldb/opfs",
3
- "version": "2.0.0-beta.6",
3
+ "version": "2.0.0-beta.7",
4
4
  "description": "",
5
5
  "scripts": {
6
6
  "build": "rimraf dist && vite build",
@@ -53,9 +53,9 @@
53
53
  "dist"
54
54
  ],
55
55
  "peerDependencies": {
56
- "@signaldb/core": "2.0.0-beta.6"
56
+ "@signaldb/core": "2.0.0-beta.7"
57
57
  },
58
58
  "dependencies": {
59
- "@signaldb/generic-fs": "^2.0.0-beta.6"
59
+ "@signaldb/generic-fs": "^2.0.0-beta.7"
60
60
  }
61
61
  }