boundlessdb 0.1.2 → 0.3.0

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.
package/CHANGELOG.md CHANGED
@@ -2,10 +2,82 @@
2
2
 
3
3
  All notable changes to BoundlessDB will be documented in this file.
4
4
 
5
- ## [Unreleased]
5
+ ## [0.3.0] - 2026-02-23
6
6
 
7
7
  ### Breaking Changes
8
8
 
9
+ #### Removed: Key-Only Queries
10
+
11
+ Key-only queries (`{ key, value }` without `type`) have been removed.
12
+
13
+ **Why?** The feature assumed that the same key name has consistent semantics and transforms across all event types. In practice, this isn't guaranteed:
14
+
15
+ ```typescript
16
+ // Problem: Different transforms for the same key name
17
+ consistency: {
18
+ CourseCreated: [{ key: 'course', path: '$.id' }],
19
+ StudentSubscribed: [{ key: 'course', path: '$.courseId', transform: 'toLowerCase' }]
20
+ }
21
+
22
+ // Query { key: 'course', value: 'CS101' } would only match CourseCreated,
23
+ // because StudentSubscribed stores 'cs101' (lowercase).
24
+ // This is confusing and error-prone.
25
+ ```
26
+
27
+ **Migration:** Replace key-only conditions with explicit type-based conditions:
28
+
29
+ ```typescript
30
+ // Before
31
+ const result = await store.read({
32
+ conditions: [{ key: 'course', value: 'cs101' }]
33
+ });
34
+
35
+ // After
36
+ const result = await store.read({
37
+ conditions: [
38
+ { type: 'CourseCreated', key: 'course', value: 'cs101' },
39
+ { type: 'StudentSubscribed', key: 'course', value: 'cs101' },
40
+ { type: 'StudentUnsubscribed', key: 'course', value: 'cs101' }
41
+ ]
42
+ });
43
+ ```
44
+
45
+ **Removed:**
46
+ - `KeyOnlyCondition` type
47
+ - `isKeyOnlyCondition()` type guard
48
+ - `matchKey()` from QueryBuilder
49
+
50
+ ## [0.2.0] - 2026-02-23
51
+
52
+ ### Performance
53
+
54
+ #### Query Optimization with CTEs
55
+ - SQLite and PostgreSQL now use Common Table Expressions (CTEs) with UNION instead of OR clauses
56
+ - **~90% faster** for mixed queries (unconstrained + constrained + key-only)
57
+ - Each condition type uses optimal index independently
58
+ - Benchmarks available: `npm run benchmark` (SQLite) and `npm run benchmark:postgres` (PostgreSQL)
59
+
60
+ ### Breaking Changes
61
+
62
+ #### Changed: AppendCondition now DCB Spec Compliant
63
+ - Renamed `conditions` → `failIfEventsMatch`
64
+ - Renamed `position` → `after` (now optional!)
65
+ - **Migration:**
66
+ ```typescript
67
+ // Before
68
+ const condition = {
69
+ position: 42n,
70
+ conditions: [{ type: 'X', key: 'k', value: 'v' }]
71
+ };
72
+
73
+ // After (DCB spec compliant)
74
+ const condition = {
75
+ failIfEventsMatch: [{ type: 'X', key: 'k', value: 'v' }],
76
+ after: 42n // optional! if omitted, checks ALL events
77
+ };
78
+ ```
79
+ - See: https://dcb.events/specification/#append-condition
80
+
9
81
  #### Removed: Token/Cryptographic Signing
10
82
  - Removed `token.ts` and `token.browser.ts`
11
83
  - Removed `secret` option from `EventStoreOptions`
@@ -59,14 +131,38 @@ All notable changes to BoundlessDB will be documented in this file.
59
131
 
60
132
  #### Fluent Query API
61
133
  - Chainable query builder: `store.query<E>()`
62
- - Methods: `matchType()`, `matchKey()`, `fromPosition()`, `limit()`, `read()`
134
+ - Methods:
135
+ - `matchType('X')` — all events of type X (unconstrained)
136
+ - `matchTypeAndKey('X', 'k', 'v')` — events of type X where k=v (constrained)
137
+ - `matchKey('k', 'v')` — ALL events where k=v, any type (key-only)
138
+ - `fromPosition(n)`, `limit(n)`, `read()`
63
139
  ```typescript
64
- const { events, appendCondition } = await store.query<CourseEvent>()
140
+ const result = await store.query<CourseEvent>()
65
141
  .matchType('CourseCreated')
66
- .matchKey('StudentSubscribed', 'course', 'cs101')
142
+ .matchTypeAndKey('StudentSubscribed', 'course', 'cs101')
143
+ .matchKey('student', 'alice') // all events for alice!
144
+ .read();
145
+ ```
146
+
147
+ #### Key-only Queries
148
+ - New `QueryCondition` type: `{ key, value }` (no type!)
149
+ - Query ALL events with a specific key, regardless of event type
150
+ - Use case: Aggregate queries ("all events for student alice")
151
+ ```typescript
152
+ // Get everything for a specific student
153
+ const result = await store.query()
154
+ .matchKey('student', 'alice')
67
155
  .read();
156
+ // Returns: StudentEnrolled, LessonCompleted, CertificateIssued, etc.
68
157
  ```
69
158
 
159
+ #### AppendCondition Cases
160
+ Four patterns for consistency checks:
161
+ 1. **Read → Append**: Use `result.appendCondition` from read
162
+ 2. **Manual Position**: `{ failIfEventsMatch: [...], after: 42n }`
163
+ 3. **Uniqueness Check**: `{ failIfEventsMatch: [...] }` (no `after` = check ALL)
164
+ 4. **Blind Append**: Pass `null` (no consistency check)
165
+
70
166
  ### Changed
71
167
 
72
168
  - Empty `conditions: []` now returns all events (was: error)
package/README.md CHANGED
@@ -155,10 +155,10 @@ Build queries with a chainable API:
155
155
 
156
156
  ```typescript
157
157
  const { events, appendCondition } = await store.query<CourseEvent>()
158
- .matchType('CourseCreated') // all events of type
159
- .matchKey('StudentSubscribed', 'course', 'cs101') // where key = value
160
- .fromPosition(100n) // start from position
161
- .limit(50) // limit results
158
+ .matchType('CourseCreated') // all events of type
159
+ .matchTypeAndKey('StudentSubscribed', 'course', 'cs101') // type + key = value
160
+ .fromPosition(100n) // start from position
161
+ .limit(50) // limit results
162
162
  .read();
163
163
  ```
164
164
 
@@ -167,7 +167,6 @@ const { events, appendCondition } = await store.query<CourseEvent>()
167
167
  | Method | Description |
168
168
  |--------|-------------|
169
169
  | `matchType(type)` | Match all events of type (unconstrained) |
170
- | `matchKey(key, value)` | Match ALL events with key=value, any type |
171
170
  | `matchTypeAndKey(type, key, value)` | Match events of type where key=value |
172
171
  | `fromPosition(bigint)` | Start reading from position |
173
172
  | `limit(number)` | Limit number of results |
@@ -175,51 +174,75 @@ const { events, appendCondition } = await store.query<CourseEvent>()
175
174
 
176
175
  The fluent API is equivalent to calling `store.read()` with conditions — use whichever style you prefer.
177
176
 
178
- ### Key-Only Queries (Aggregate Queries)
177
+ ## AppendCondition
178
+
179
+ The `AppendCondition` controls optimistic concurrency. It follows the [DCB specification](https://dcb.events/specification/#append-condition):
180
+
181
+ ```typescript
182
+ interface AppendCondition {
183
+ failIfEventsMatch: QueryCondition[]; // What constitutes a conflict?
184
+ after?: bigint; // From which position to check? (optional)
185
+ }
186
+ ```
179
187
 
180
- Query all events for an entity regardless of event type:
188
+ ### Case 1: Read Append (Standard Flow)
181
189
 
182
190
  ```typescript
183
- // Get ALL events for course cs101 (CourseCreated, StudentSubscribed, etc.)
184
- const { events } = await store.query()
185
- .matchKey('course', 'cs101')
191
+ const result = await store.query()
192
+ .matchTypeAndKey('StudentSubscribed', 'course', 'cs101')
186
193
  .read();
187
194
 
188
- // Or using read() directly:
189
- const { events } = await store.read({
190
- conditions: [{ key: 'course', value: 'cs101' }]
191
- });
195
+ // appendCondition = { failIfEventsMatch: [...], after: <last_position> }
196
+ await store.append(newEvents, result.appendCondition);
192
197
  ```
193
198
 
194
- This is useful when you need the complete history of an aggregate.
199
+ **Checks:** Were there NEW events (after my read) that match my query?
200
+ - ✅ No conflict if nothing new was written
201
+ - ❌ Conflict if someone else wrote matching events
195
202
 
196
- ## AppendCondition
203
+ ### Case 2: Manual with Position
197
204
 
198
- When you call `read()`, the result contains an `appendCondition` with:
199
- - The **position** up to which events were read
200
- - The **query conditions** you used
205
+ ```typescript
206
+ await store.append(newEvents, {
207
+ failIfEventsMatch: [{ type: 'StudentSubscribed', key: 'course', value: 'cs101' }],
208
+ after: 42n
209
+ });
210
+ ```
201
211
 
202
- This is a simple, transparent object — no encoding, no magic:
212
+ **Checks:** Events AFTER position 42 only.
213
+ **Use case:** Custom retry logic, or when you know the position.
203
214
 
204
- ```typescript
205
- // Option 1: Use appendCondition from read()
206
- const result = await store.read({ conditions });
207
- await store.append(newEvents, result.appendCondition);
215
+ ### Case 3: Check ALL Events (Uniqueness)
208
216
 
209
- // Option 2: Create conditions manually
217
+ ```typescript
210
218
  await store.append(newEvents, {
211
- position: 42n,
212
- conditions: [{ type: 'UserCreated', key: 'username', value: 'alice' }]
219
+ failIfEventsMatch: [{ type: 'UserCreated', key: 'username', value: 'alice' }]
220
+ // no 'after' checks from position 0
213
221
  });
222
+ ```
214
223
 
215
- // Option 3: Skip consistency check entirely
224
+ **Checks:** ALL events from the beginning.
225
+ **Use case:** Uniqueness checks without reading first.
226
+ - ❌ Fails if ANY matching event exists
227
+ - "Username 'alice' must not exist yet"
228
+
229
+ ### Case 4: No Check (Blind Append)
230
+
231
+ ```typescript
216
232
  await store.append(newEvents, null);
217
233
  ```
218
234
 
219
- This flexibility lets you:
220
- - **Create uniqueness checks without reading first** (e.g., "username must be unique")
221
- - **Build custom retry logic** by constructing conditions manually
222
- - **Optimize performance** by skipping unnecessary reads
235
+ **Checks:** Nothing.
236
+ **Use case:** First write, or events where conflicts don't matter.
237
+
238
+ ### Summary
239
+
240
+ | Case | `after` | Checks |
241
+ |------|---------|--------|
242
+ | Read → Append | From read position | Events AFTER read |
243
+ | Manual | Explicit position | Events AFTER position |
244
+ | Uniqueness | Omitted | ALL events |
245
+ | Blind | `null` condition | Nothing |
223
246
 
224
247
  ## Query Across Multiple Dimensions
225
248
 
@@ -532,10 +555,10 @@ result.last() // StoredEvent<E> | undefined
532
555
  const readResult = await store.read<CartEvents>({ conditions });
533
556
  const result = await store.append<CartEvents>([newEvent], readResult.appendCondition);
534
557
 
535
- // With manual AppendCondition
558
+ // With manual AppendCondition (DCB spec compliant)
536
559
  const result = await store.append<CartEvents>([newEvent], {
537
- position: 42n,
538
- conditions: [{ type: 'UserCreated', key: 'username', value: 'alice' }]
560
+ failIfEventsMatch: [{ type: 'UserCreated', key: 'username', value: 'alice' }],
561
+ after: 42n // optional
539
562
  });
540
563
 
541
564
  // Without consistency check
@@ -1 +1 @@
1
- {"version":3,"file":"event-store.browser.d.ts","sourceRoot":"","sources":["../src/event-store.browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACL,WAAW,EAGX,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EAGnB,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EAGX,MAAM,YAAY,CAAC;AA6DpB,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,WAAW,CAA8B;gBAErC,OAAO,EAAE,gBAAgB;IAqBrC;;OAEG;YACW,iBAAiB;IAM/B;;OAEG;YACW,uBAAuB;IA+DrC;;;;;OAKG;IACG,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAgC1E;;;;;;;;;OASG;IACG,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAClC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC9B,SAAS,EAAE,eAAe,GAAG,IAAI,GAChC,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAqH5C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA4BjC;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAEtE"}
1
+ {"version":3,"file":"event-store.browser.d.ts","sourceRoot":"","sources":["../src/event-store.browser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACL,WAAW,EAEX,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EAGnB,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EAGX,MAAM,YAAY,CAAC;AA6DpB,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;GAEG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;IAC3C,OAAO,CAAC,WAAW,CAA8B;gBAErC,OAAO,EAAE,gBAAgB;IAqBrC;;OAEG;YACW,iBAAiB;IAM/B;;OAEG;YACW,uBAAuB;IA+DrC;;;;;OAKG;IACG,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA+B1E;;;;;;;;;OASG;IACG,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAClC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC9B,SAAS,EAAE,eAAe,GAAG,IAAI,GAChC,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAqH5C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA4BjC;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAEtE"}
@@ -4,7 +4,7 @@
4
4
  import { KeyExtractor } from './config/extractor.js';
5
5
  import { validateConfig } from './config/validator.js';
6
6
  import { SqlJsStorage } from './storage/sqljs.js';
7
- import { QueryResult, isConstrainedCondition, isKeyOnlyCondition, } from './types.js';
7
+ import { QueryResult, isConstrainedCondition, } from './types.js';
8
8
  /**
9
9
  * Generate UUID with fallback for environments without crypto.randomUUID
10
10
  */
@@ -163,8 +163,7 @@ export class EventStore {
163
163
  async read(query) {
164
164
  await this.ensureInitialized();
165
165
  console.log('📖 READ: Querying events...');
166
- console.log(' Conditions:', query.conditions.map(c => isConstrainedCondition(c) ? `${c.type}[${c.key}=${c.value}]` :
167
- isKeyOnlyCondition(c) ? `*[${c.key}=${c.value}]` : `${c.type}[*]`).join(', ') || '(none)');
166
+ console.log(' Conditions:', query.conditions.map(c => isConstrainedCondition(c) ? `${c.type}[${c.key}=${c.value}]` : `${c.type}[*]`).join(', ') || '(none)');
168
167
  const events = await this.storage.query(query.conditions, query.fromPosition, query.limit);
169
168
  console.log(` Found: ${events.length} events`);
170
169
  // Get the position for the append condition
@@ -195,7 +194,7 @@ export class EventStore {
195
194
  return {
196
195
  conflict: false,
197
196
  position,
198
- appendCondition: { position, conditions: condition?.conditions ?? [] },
197
+ appendCondition: { failIfEventsMatch: condition?.failIfEventsMatch ?? [], after: position },
199
198
  };
200
199
  }
201
200
  // Extract keys from all events
@@ -206,12 +205,13 @@ export class EventStore {
206
205
  });
207
206
  // Check for conflicts if condition provided
208
207
  if (condition !== null) {
209
- const conditionsStr = condition.conditions.map(c => isConstrainedCondition(c) ? `${c.type}[${c.key}=${c.value}]` :
210
- isKeyOnlyCondition(c) ? `*[${c.key}=${c.value}]` : `${c.type}[*]`).join(', ');
211
- console.log(`🔍 CONFLICT CHECK: Looking for events since position #${condition.position}`);
208
+ const conditionsStr = condition.failIfEventsMatch.map((c) => isConstrainedCondition(c) ? `${c.type}[${c.key}=${c.value}]` : `${c.type}[*]`).join(', ');
209
+ // If 'after' is undefined, check ALL events (position 0n)
210
+ const checkFromPosition = condition.after ?? 0n;
211
+ console.log(`🔍 CONFLICT CHECK: Looking for events since position #${checkFromPosition}`);
212
212
  console.log(` Checking conditions: ${conditionsStr || '(none)'}`);
213
- const conflictingEvents = await this.storage.getEventsSince(condition.conditions, condition.position);
214
- console.log(` Result: ${conflictingEvents.length} matching event(s) found since #${condition.position}`);
213
+ const conflictingEvents = await this.storage.getEventsSince(condition.failIfEventsMatch, checkFromPosition);
214
+ console.log(` Result: ${conflictingEvents.length} matching event(s) found since #${checkFromPosition}`);
215
215
  if (conflictingEvents.length > 0) {
216
216
  // Conflict detected
217
217
  console.log('');
@@ -219,16 +219,13 @@ export class EventStore {
219
219
  console.log(' CONFLICT DETECTED');
220
220
  console.log('═══════════════════════════════════════════');
221
221
  console.log('');
222
- console.log('📍 Your position: #' + condition.position);
222
+ console.log('📍 Your position: #' + (condition.after ?? '0 (all events)'));
223
223
  console.log('');
224
224
  console.log('🔍 Query conditions you checked:');
225
- condition.conditions.forEach(c => {
225
+ condition.failIfEventsMatch.forEach((c) => {
226
226
  if (isConstrainedCondition(c)) {
227
227
  console.log(` • ${c.type} where ${c.key}="${c.value}"`);
228
228
  }
229
- else if (isKeyOnlyCondition(c)) {
230
- console.log(` • ANY type where ${c.key}="${c.value}"`);
231
- }
232
229
  else {
233
230
  console.log(` • ${c.type} (all)`);
234
231
  }
@@ -251,7 +248,7 @@ export class EventStore {
251
248
  return {
252
249
  conflict: true,
253
250
  conflictingEvents: conflictingEvents,
254
- appendCondition: { position: latestPosition, conditions: condition.conditions },
251
+ appendCondition: { failIfEventsMatch: condition.failIfEventsMatch, after: latestPosition },
255
252
  };
256
253
  }
257
254
  }
@@ -279,7 +276,7 @@ export class EventStore {
279
276
  return {
280
277
  conflict: false,
281
278
  position,
282
- appendCondition: { position, conditions: newConditions },
279
+ appendCondition: { failIfEventsMatch: newConditions, after: position },
283
280
  };
284
281
  }
285
282
  /**
@@ -288,7 +285,7 @@ export class EventStore {
288
285
  buildConditionsFromEvents(events, originalCondition) {
289
286
  const conditions = new Map();
290
287
  if (originalCondition !== null) {
291
- for (const cond of originalCondition.conditions) {
288
+ for (const cond of originalCondition.failIfEventsMatch) {
292
289
  if (isConstrainedCondition(cond)) {
293
290
  const key = `${cond.type}:${cond.key}:${cond.value}`;
294
291
  conditions.set(key, cond);
@@ -1 +1 @@
1
- {"version":3,"file":"event-store.browser.js","sourceRoot":"","sources":["../src/event-store.browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-store.browser.js","sourceRoot":"","sources":["../src/event-store.browser.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"event-store.d.ts","sourceRoot":"","sources":["../src/event-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACL,WAAW,EAEX,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EAGnB,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EAGX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AA2BtE,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,OAAO,EAAE,gBAAgB;IAYrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2C/B;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC;IAIjD;;;;;;;;;;;;;;;;;;OAkBG;IACG,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAqB1E;;;;;;;;;;;;;;;;;;;OAmBG;IACG,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAClC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC9B,SAAS,EAAE,eAAe,GAAG,IAAI,GAChC,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IAwD5C;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA6BjC;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAEtE"}
1
+ {"version":3,"file":"event-store.d.ts","sourceRoot":"","sources":["../src/event-store.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAE3D,OAAO,EACL,WAAW,EAEX,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EAGnB,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EAGX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AA2BtE,MAAM,WAAW,gBAAiB,SAAQ,iBAAiB;IACzD,OAAO,EAAE,YAAY,CAAC;CACvB;AAED;;;;;GAKG;AACH,qBAAa,UAAU;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAoB;gBAE/B,OAAO,EAAE,gBAAgB;IAYrC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2C/B;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC;IAIjD;;;;;;;;;;;;;;;;;;OAkBG;IACG,IAAI,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAqB1E;;;;;;;;;;;;;;;;;;;OAmBG;IACG,MAAM,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAClC,MAAM,EAAE,iBAAiB,CAAC,CAAC,CAAC,EAAE,EAC9B,SAAS,EAAE,eAAe,GAAG,IAAI,GAChC,OAAO,CAAC,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,CAAC;IA4D5C;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IA6BjC;;OAEG;IACH,UAAU,IAAI,YAAY;IAI1B;;OAEG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;CAG7B;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,gBAAgB,GAAG,UAAU,CAEtE"}
@@ -164,21 +164,24 @@ export class EventStore {
164
164
  return {
165
165
  conflict: false,
166
166
  position,
167
- appendCondition: { position, conditions: condition?.conditions ?? [] },
167
+ appendCondition: { failIfEventsMatch: condition?.failIfEventsMatch ?? [], after: position },
168
168
  };
169
169
  }
170
170
  // Extract keys from all events
171
171
  const keysPerEvent = events.map(event => this.keyExtractor.extract(event));
172
172
  // Check for conflicts if condition provided
173
173
  if (condition !== null) {
174
- const conflictingEvents = await this.storage.getEventsSince(condition.conditions, condition.position);
174
+ // If 'after' is undefined, check ALL events (position 0n)
175
+ // If 'after' is specified, check only events after that position
176
+ const checkFromPosition = condition.after ?? 0n;
177
+ const conflictingEvents = await this.storage.getEventsSince(condition.failIfEventsMatch, checkFromPosition);
175
178
  if (conflictingEvents.length > 0) {
176
179
  // Conflict detected — return delta
177
180
  const latestPosition = conflictingEvents[conflictingEvents.length - 1].position;
178
181
  return {
179
182
  conflict: true,
180
183
  conflictingEvents: conflictingEvents,
181
- appendCondition: { position: latestPosition, conditions: condition.conditions },
184
+ appendCondition: { failIfEventsMatch: condition.failIfEventsMatch, after: latestPosition },
182
185
  };
183
186
  }
184
187
  }
@@ -198,7 +201,7 @@ export class EventStore {
198
201
  return {
199
202
  conflict: false,
200
203
  position,
201
- appendCondition: { position, conditions: newConditions },
204
+ appendCondition: { failIfEventsMatch: newConditions, after: position },
202
205
  };
203
206
  }
204
207
  /**
@@ -209,7 +212,7 @@ export class EventStore {
209
212
  // Start with original conditions if provided
210
213
  const conditions = new Map();
211
214
  if (originalCondition !== null) {
212
- for (const cond of originalCondition.conditions) {
215
+ for (const cond of originalCondition.failIfEventsMatch) {
213
216
  if (isConstrainedCondition(cond)) {
214
217
  const key = `${cond.type}:${cond.key}:${cond.value}`;
215
218
  conditions.set(key, cond);
@@ -1 +1 @@
1
- {"version":3,"file":"event-store.js","sourceRoot":"","sources":["../src/event-store.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"event-store.js","sourceRoot":"","sources":["../src/event-store.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -1,8 +1,8 @@
1
1
  /**
2
2
  * DCB Event Store - Public API
3
3
  */
4
- export type { Event, EventWithMetadata, StoredEvent, Query, QueryCondition, UnconstrainedCondition, ConstrainedCondition, KeyOnlyCondition, ConsistencyConfig, ConsistencyKeyDef, EventTypeConfig, ExtractedKey, AppendResult, ConflictResult, AppendCondition, EventStoreOptions, } from './types.js';
5
- export { QueryResult, isConflict, isConstrainedCondition, isKeyOnlyCondition } from './types.js';
4
+ export type { Event, EventWithMetadata, StoredEvent, Query, QueryCondition, UnconstrainedCondition, ConstrainedCondition, ConsistencyConfig, ConsistencyKeyDef, EventTypeConfig, ExtractedKey, AppendResult, ConflictResult, AppendCondition, EventStoreOptions, } from './types.js';
5
+ export { QueryResult, isConflict, isConstrainedCondition } from './types.js';
6
6
  export { EventStore, createEventStore, type EventStoreConfig } from './event-store.js';
7
7
  export type { EventStorage, EventToStore } from './storage/interface.js';
8
8
  export { InMemoryStorage } from './storage/memory.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EAEV,KAAK,EACL,iBAAiB,EACjB,WAAW,EAEX,KAAK,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAEhB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,YAAY,EAEZ,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAGjG,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGvF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,YAAY,EAEV,KAAK,EACL,iBAAiB,EACjB,WAAW,EAEX,KAAK,EACL,cAAc,EACd,sBAAsB,EACtB,oBAAoB,EAEpB,iBAAiB,EACjB,iBAAiB,EACjB,eAAe,EACf,YAAY,EAEZ,YAAY,EACZ,cAAc,EACd,eAAe,EACf,iBAAiB,GAClB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAG7E,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,KAAK,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGvF,YAAY,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AACzE,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAAE,KAAK,mBAAmB,EAAE,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAGxD,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAG9E,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
package/dist/index.js CHANGED
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * DCB Event Store - Public API
3
3
  */
4
- export { QueryResult, isConflict, isConstrainedCondition, isKeyOnlyCondition } from './types.js';
4
+ export { QueryResult, isConflict, isConstrainedCondition } from './types.js';
5
5
  // Event Store
6
6
  export { EventStore, createEventStore } from './event-store.js';
7
7
  export { InMemoryStorage } from './storage/memory.js';
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AA0BH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,sBAAsB,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEjG,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AAIvF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAyBH,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,sBAAsB,EAAE,MAAM,YAAY,CAAC;AAE7E,cAAc;AACd,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAyB,MAAM,kBAAkB,CAAC;AAIvF,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,YAAY,EAA4B,MAAM,oBAAoB,CAAC;AAC5E,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD,SAAS;AACT,OAAO,EAAE,YAAY,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAE9E,gBAAgB;AAChB,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC"}
@@ -16,7 +16,7 @@ export interface QueryExecutor<E extends Event> {
16
16
  * ```typescript
17
17
  * const result = await store.query<CourseEvent>()
18
18
  * .matchType('CourseCreated')
19
- * .matchKey('StudentSubscribed', 'course', 'cs101')
19
+ * .matchTypeAndKey('StudentSubscribed', 'course', 'cs101')
20
20
  * .fromPosition(100n)
21
21
  * .limit(50)
22
22
  * .read();
@@ -46,16 +46,6 @@ export declare class QueryBuilder<E extends Event> {
46
46
  * ```
47
47
  */
48
48
  matchTypeAndKey(type: string, key: string, value: string): this;
49
- /**
50
- * Add a key-only condition (match ALL events with key=value, regardless of type).
51
- * Useful for aggregate queries.
52
- *
53
- * @example
54
- * ```typescript
55
- * .matchKey('course', 'cs101') // matches ALL events where course=cs101
56
- * ```
57
- */
58
- matchKey(key: string, value: string): this;
59
49
  /**
60
50
  * Start reading from a specific position.
61
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,KAAK;IAC5C,IAAI,CAAC,KAAK,EAAE;QACV,UAAU,EAAE,cAAc,EAAE,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,KAAK;IAK3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEK,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAEvD;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK7B;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/D;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1C;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAOtC"}
1
+ {"version":3,"file":"query-builder.d.ts","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAErE,MAAM,WAAW,aAAa,CAAC,CAAC,SAAS,KAAK;IAC5C,IAAI,CAAC,KAAK,EAAE;QACV,UAAU,EAAE,cAAc,EAAE,CAAC;QAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY,CAAC,CAAC,SAAS,KAAK;IAK3B,OAAO,CAAC,QAAQ,CAAC,QAAQ;IAJrC,OAAO,CAAC,UAAU,CAAwB;IAC1C,OAAO,CAAC,aAAa,CAAC,CAAS;IAC/B,OAAO,CAAC,MAAM,CAAC,CAAS;gBAEK,QAAQ,EAAE,aAAa,CAAC,CAAC,CAAC;IAEvD;;;;;;;OAOG;IACH,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI;IAK7B;;;;;;;OAOG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IAK/D;;;;;;;OAOG;IACH,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI;IAKpC;;;;;;;OAOG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAK1B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;CAOtC"}
@@ -8,7 +8,7 @@
8
8
  * ```typescript
9
9
  * const result = await store.query<CourseEvent>()
10
10
  * .matchType('CourseCreated')
11
- * .matchKey('StudentSubscribed', 'course', 'cs101')
11
+ * .matchTypeAndKey('StudentSubscribed', 'course', 'cs101')
12
12
  * .fromPosition(100n)
13
13
  * .limit(50)
14
14
  * .read();
@@ -46,19 +46,6 @@ export class QueryBuilder {
46
46
  this.conditions.push({ type, key, value });
47
47
  return this;
48
48
  }
49
- /**
50
- * Add a key-only condition (match ALL events with key=value, regardless of type).
51
- * Useful for aggregate queries.
52
- *
53
- * @example
54
- * ```typescript
55
- * .matchKey('course', 'cs101') // matches ALL events where course=cs101
56
- * ```
57
- */
58
- matchKey(key, value) {
59
- this.conditions.push({ key, value });
60
- return this;
61
- }
62
49
  /**
63
50
  * Start reading from a specific position.
64
51
  *
@@ -1 +1 @@
1
- {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,YAAY;IAKM;IAJrB,UAAU,GAAqB,EAAE,CAAC;IAClC,aAAa,CAAU;IACvB,MAAM,CAAU;IAExB,YAA6B,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAG,CAAC;IAE3D;;;;;;;OAOG;IACH,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa;QACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;;OAQG;IACH,QAAQ,CAAC,GAAW,EAAE,KAAa;QACjC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QACrC,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;CACF"}
1
+ {"version":3,"file":"query-builder.js","sourceRoot":"","sources":["../src/query-builder.ts"],"names":[],"mappings":"AAAA;;GAEG;AAYH;;;;;;;;;;;;GAYG;AACH,MAAM,OAAO,YAAY;IAKM;IAJrB,UAAU,GAAqB,EAAE,CAAC;IAClC,aAAa,CAAU;IACvB,MAAM,CAAU;IAExB,YAA6B,QAA0B;QAA1B,aAAQ,GAAR,QAAQ,CAAkB;IAAG,CAAC;IAE3D;;;;;;;OAOG;IACH,SAAS,CAAC,IAAY;QACpB,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC;QAC/B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,eAAe,CAAC,IAAY,EAAE,GAAW,EAAE,KAAa;QACtD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,YAAY,CAAC,QAAgB;QAC3B,IAAI,CAAC,aAAa,GAAG,QAAQ,CAAC;QAC9B,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,KAAa;QACjB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC;QACpB,OAAO,IAAI,CAAC;IACd,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACR,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC;YACxB,UAAU,EAAE,IAAI,CAAC,UAAU;YAC3B,YAAY,EAAE,IAAI,CAAC,aAAa;YAChC,KAAK,EAAE,IAAI,CAAC,MAAM;SACnB,CAAC,CAAC;IACL,CAAC;CACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAA8C,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AACnI,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMjE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,YAAY,CAAc;IAE5B,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B9E,KAAK,CACT,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;IAoDnB,cAAc,CAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAInB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAI7B;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}
1
+ {"version":3,"file":"memory.d.ts","sourceRoot":"","sources":["../../src/storage/memory.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAA0B,KAAK,YAAY,EAAE,KAAK,cAAc,EAAE,KAAK,WAAW,EAAE,MAAM,aAAa,CAAC;AAC/G,OAAO,KAAK,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAMjE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,YAAY;IAClD,OAAO,CAAC,MAAM,CAA6B;IAC3C,OAAO,CAAC,YAAY,CAAc;IAE5B,MAAM,CAAC,aAAa,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,YAAY,EAAE,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;IA4B9E,KAAK,CACT,UAAU,EAAE,cAAc,EAAE,EAC5B,YAAY,CAAC,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,WAAW,EAAE,CAAC;IA6CnB,cAAc,CAClB,UAAU,EAAE,cAAc,EAAE,EAC5B,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,WAAW,EAAE,CAAC;IAInB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOpC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B;;OAEG;IACH,YAAY,IAAI,WAAW,EAAE;IAI7B;;OAEG;IACH,KAAK,IAAI,IAAI;CAId"}