@livestore/livestore 0.4.0-dev.0 → 0.4.0-dev.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 (58) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/effect/LiveStore.d.ts.map +1 -1
  3. package/dist/effect/LiveStore.js +2 -4
  4. package/dist/effect/LiveStore.js.map +1 -1
  5. package/dist/live-queries/db-query.d.ts.map +1 -1
  6. package/dist/live-queries/db-query.js +7 -4
  7. package/dist/live-queries/db-query.js.map +1 -1
  8. package/dist/live-queries/db-query.test.js +13 -7
  9. package/dist/live-queries/db-query.test.js.map +1 -1
  10. package/dist/mod.d.ts +1 -1
  11. package/dist/mod.d.ts.map +1 -1
  12. package/dist/mod.js +1 -1
  13. package/dist/mod.js.map +1 -1
  14. package/dist/reactive.d.ts +10 -10
  15. package/dist/reactive.d.ts.map +1 -1
  16. package/dist/reactive.js +36 -27
  17. package/dist/reactive.js.map +1 -1
  18. package/dist/reactive.test.js +115 -0
  19. package/dist/reactive.test.js.map +1 -1
  20. package/dist/store/create-store.d.ts.map +1 -1
  21. package/dist/store/create-store.js +3 -3
  22. package/dist/store/create-store.js.map +1 -1
  23. package/dist/store/store-types.d.ts +2 -2
  24. package/dist/store/store-types.d.ts.map +1 -1
  25. package/dist/store/store-types.js.map +1 -1
  26. package/dist/store/store.d.ts +21 -2
  27. package/dist/store/store.d.ts.map +1 -1
  28. package/dist/store/store.js +134 -88
  29. package/dist/store/store.js.map +1 -1
  30. package/dist/utils/dev.d.ts +3 -0
  31. package/dist/utils/dev.d.ts.map +1 -1
  32. package/dist/utils/dev.js.map +1 -1
  33. package/dist/utils/tests/fixture.d.ts.map +1 -1
  34. package/dist/utils/tests/fixture.js +2 -1
  35. package/dist/utils/tests/fixture.js.map +1 -1
  36. package/dist/utils/tests/otel.d.ts +15 -14
  37. package/dist/utils/tests/otel.d.ts.map +1 -1
  38. package/dist/utils/tests/otel.js +20 -15
  39. package/dist/utils/tests/otel.js.map +1 -1
  40. package/package.json +7 -7
  41. package/src/ambient.d.ts +3 -3
  42. package/src/effect/LiveStore.ts +2 -4
  43. package/src/live-queries/__snapshots__/db-query.test.ts.snap +268 -131
  44. package/src/live-queries/db-query.test.ts +13 -7
  45. package/src/live-queries/db-query.ts +7 -4
  46. package/src/mod.ts +2 -0
  47. package/src/reactive.test.ts +150 -1
  48. package/src/reactive.ts +47 -39
  49. package/src/store/create-store.ts +12 -4
  50. package/src/store/store-types.ts +5 -2
  51. package/src/store/store.ts +204 -145
  52. package/src/utils/dev.ts +5 -0
  53. package/src/utils/tests/fixture.ts +2 -1
  54. package/src/utils/tests/otel.ts +31 -20
  55. package/dist/store/store-shutdown.test.d.ts +0 -2
  56. package/dist/store/store-shutdown.test.d.ts.map +0 -1
  57. package/dist/store/store-shutdown.test.js +0 -103
  58. package/dist/store/store-shutdown.test.js.map +0 -1
@@ -1,103 +0,0 @@
1
- import { describe, expect, it } from 'vitest';
2
- import { StoreAlreadyShutdownError } from '@livestore/common';
3
- // Mock a minimal store interface for testing
4
- class MockStore {
5
- isShutdown = false;
6
- storeId = 'test-store';
7
- checkShutdown = (operation) => {
8
- if (this.isShutdown) {
9
- throw new StoreAlreadyShutdownError({ operation, storeId: this.storeId });
10
- }
11
- };
12
- shutdown = () => {
13
- this.isShutdown = true;
14
- };
15
- // Mock public methods that should throw after shutdown
16
- subscribe = () => {
17
- this.checkShutdown('subscribe');
18
- return () => { }; // mock unsubscribe
19
- };
20
- query = () => {
21
- this.checkShutdown('query');
22
- return {};
23
- };
24
- commit = () => {
25
- this.checkShutdown('commit');
26
- };
27
- setSignal = () => {
28
- this.checkShutdown('setSignal');
29
- };
30
- manualRefresh = () => {
31
- this.checkShutdown('manualRefresh');
32
- };
33
- events = () => {
34
- this.checkShutdown('events');
35
- return [];
36
- };
37
- eventsStream = () => {
38
- this.checkShutdown('eventsStream');
39
- return [];
40
- };
41
- }
42
- describe('Store shutdown behavior', () => {
43
- it('should allow operations before shutdown', () => {
44
- const store = new MockStore();
45
- // All operations should work before shutdown
46
- expect(() => store.subscribe()).not.toThrow();
47
- expect(() => store.query()).not.toThrow();
48
- expect(() => store.commit()).not.toThrow();
49
- expect(() => store.setSignal()).not.toThrow();
50
- expect(() => store.manualRefresh()).not.toThrow();
51
- expect(() => store.events()).not.toThrow();
52
- expect(() => store.eventsStream()).not.toThrow();
53
- });
54
- it('should throw StoreAlreadyShutdownError for all operations after shutdown', () => {
55
- const store = new MockStore();
56
- store.shutdown();
57
- // All operations should throw after shutdown
58
- expect(() => store.subscribe()).toThrow(StoreAlreadyShutdownError);
59
- expect(() => store.query()).toThrow(StoreAlreadyShutdownError);
60
- expect(() => store.commit()).toThrow(StoreAlreadyShutdownError);
61
- expect(() => store.setSignal()).toThrow(StoreAlreadyShutdownError);
62
- expect(() => store.manualRefresh()).toThrow(StoreAlreadyShutdownError);
63
- expect(() => store.events()).toThrow(StoreAlreadyShutdownError);
64
- expect(() => store.eventsStream()).toThrow(StoreAlreadyShutdownError);
65
- });
66
- it('should include operation name and storeId in error', () => {
67
- const store = new MockStore();
68
- store.shutdown();
69
- try {
70
- store.subscribe();
71
- expect.fail('Should have thrown');
72
- }
73
- catch (error) {
74
- expect(error).toBeInstanceOf(StoreAlreadyShutdownError);
75
- expect(error.operation).toBe('subscribe');
76
- expect(error.storeId).toBe('test-store');
77
- }
78
- });
79
- it('should include correct operation name for different methods', () => {
80
- const store = new MockStore();
81
- store.shutdown();
82
- const operations = [
83
- ['subscribe', () => store.subscribe()],
84
- ['query', () => store.query()],
85
- ['commit', () => store.commit()],
86
- ['setSignal', () => store.setSignal()],
87
- ['manualRefresh', () => store.manualRefresh()],
88
- ['events', () => store.events()],
89
- ['eventsStream', () => store.eventsStream()],
90
- ];
91
- for (const [expectedOperation, fn] of operations) {
92
- try {
93
- fn();
94
- expect.fail(`Should have thrown for ${expectedOperation}`);
95
- }
96
- catch (error) {
97
- expect(error).toBeInstanceOf(StoreAlreadyShutdownError);
98
- expect(error.operation).toBe(expectedOperation);
99
- }
100
- }
101
- });
102
- });
103
- //# sourceMappingURL=store-shutdown.test.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store-shutdown.test.js","sourceRoot":"","sources":["../../src/store/store-shutdown.test.ts"],"names":[],"mappings":"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"}