@tanstack/db 0.0.9 → 0.0.11

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 (54) hide show
  1. package/dist/cjs/collection.cjs +6 -1
  2. package/dist/cjs/collection.cjs.map +1 -1
  3. package/dist/cjs/query/compiled-query.cjs +40 -59
  4. package/dist/cjs/query/compiled-query.cjs.map +1 -1
  5. package/dist/cjs/query/compiled-query.d.cts +0 -4
  6. package/dist/cjs/query/group-by.cjs +3 -3
  7. package/dist/cjs/query/group-by.cjs.map +1 -1
  8. package/dist/cjs/query/group-by.d.cts +1 -1
  9. package/dist/cjs/query/joins.cjs +16 -16
  10. package/dist/cjs/query/joins.cjs.map +1 -1
  11. package/dist/cjs/query/joins.d.cts +1 -1
  12. package/dist/cjs/query/order-by.cjs +6 -6
  13. package/dist/cjs/query/order-by.cjs.map +1 -1
  14. package/dist/cjs/query/pipeline-compiler.cjs +5 -5
  15. package/dist/cjs/query/pipeline-compiler.cjs.map +1 -1
  16. package/dist/cjs/query/pipeline-compiler.d.cts +1 -1
  17. package/dist/cjs/query/select.cjs +2 -2
  18. package/dist/cjs/query/select.cjs.map +1 -1
  19. package/dist/cjs/transactions.cjs +5 -12
  20. package/dist/cjs/transactions.cjs.map +1 -1
  21. package/dist/cjs/transactions.d.cts +1 -1
  22. package/dist/cjs/types.d.cts +1 -1
  23. package/dist/esm/collection.js +6 -1
  24. package/dist/esm/collection.js.map +1 -1
  25. package/dist/esm/query/compiled-query.d.ts +0 -4
  26. package/dist/esm/query/compiled-query.js +40 -59
  27. package/dist/esm/query/compiled-query.js.map +1 -1
  28. package/dist/esm/query/group-by.d.ts +1 -1
  29. package/dist/esm/query/group-by.js +1 -1
  30. package/dist/esm/query/group-by.js.map +1 -1
  31. package/dist/esm/query/joins.d.ts +1 -1
  32. package/dist/esm/query/joins.js +1 -1
  33. package/dist/esm/query/joins.js.map +1 -1
  34. package/dist/esm/query/order-by.js +1 -1
  35. package/dist/esm/query/order-by.js.map +1 -1
  36. package/dist/esm/query/pipeline-compiler.d.ts +1 -1
  37. package/dist/esm/query/pipeline-compiler.js +1 -1
  38. package/dist/esm/query/pipeline-compiler.js.map +1 -1
  39. package/dist/esm/query/select.js +1 -1
  40. package/dist/esm/query/select.js.map +1 -1
  41. package/dist/esm/transactions.d.ts +1 -1
  42. package/dist/esm/transactions.js +5 -12
  43. package/dist/esm/transactions.js.map +1 -1
  44. package/dist/esm/types.d.ts +1 -1
  45. package/package.json +2 -2
  46. package/src/collection.ts +6 -2
  47. package/src/query/compiled-query.ts +44 -66
  48. package/src/query/group-by.ts +1 -1
  49. package/src/query/joins.ts +2 -2
  50. package/src/query/order-by.ts +1 -1
  51. package/src/query/pipeline-compiler.ts +2 -2
  52. package/src/query/select.ts +1 -1
  53. package/src/transactions.ts +8 -20
  54. package/src/types.ts +1 -1
@@ -8,36 +8,24 @@ import type {
8
8
  TransactionWithMutations,
9
9
  } from "./types"
10
10
 
11
- function generateUUID() {
12
- // Check if crypto.randomUUID is available (modern browsers and Node.js 15+)
13
- if (
14
- typeof crypto !== `undefined` &&
15
- typeof crypto.randomUUID === `function`
16
- ) {
17
- return crypto.randomUUID()
18
- }
19
-
20
- // Fallback implementation for older environments
21
- return `xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx`.replace(/[xy]/g, function (c) {
22
- const r = (Math.random() * 16) | 0
23
- const v = c === `x` ? r : (r & 0x3) | 0x8
24
- return v.toString(16)
25
- })
26
- }
27
-
28
11
  const transactions: Array<Transaction<any>> = []
29
12
  let transactionStack: Array<Transaction<any>> = []
30
13
 
31
- export function createTransaction(config: TransactionConfig): Transaction {
14
+ export function createTransaction<
15
+ TData extends object = Record<string, unknown>,
16
+ >(config: TransactionConfig<TData>): Transaction<TData> {
32
17
  if (typeof config.mutationFn === `undefined`) {
33
18
  throw `mutationFn is required when creating a transaction`
34
19
  }
35
20
 
36
21
  let transactionId = config.id
37
22
  if (!transactionId) {
38
- transactionId = generateUUID()
23
+ transactionId = crypto.randomUUID()
39
24
  }
40
- const newTransaction = new Transaction({ ...config, id: transactionId })
25
+ const newTransaction = new Transaction<TData>({
26
+ ...config,
27
+ id: transactionId,
28
+ })
41
29
 
42
30
  transactions.push(newTransaction)
43
31
 
package/src/types.ts CHANGED
@@ -1,4 +1,4 @@
1
- import type { IStreamBuilder } from "@electric-sql/d2ts"
1
+ import type { IStreamBuilder } from "@electric-sql/d2mini"
2
2
  import type { Collection } from "./collection"
3
3
  import type { StandardSchemaV1 } from "@standard-schema/spec"
4
4
  import type { Transaction } from "./transactions"