boundlessdb 0.8.0 → 0.10.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.
Files changed (43) hide show
  1. package/CHANGELOG.md +156 -0
  2. package/README.md +97 -135
  3. package/dist/browser.d.ts +3 -3
  4. package/dist/browser.d.ts.map +1 -1
  5. package/dist/browser.js +2 -2
  6. package/dist/browser.js.map +1 -1
  7. package/dist/config/validator.d.ts.map +1 -1
  8. package/dist/config/validator.js +2 -8
  9. package/dist/config/validator.js.map +1 -1
  10. package/dist/event-store.d.ts +3 -1
  11. package/dist/event-store.d.ts.map +1 -1
  12. package/dist/event-store.js +56 -21
  13. package/dist/event-store.js.map +1 -1
  14. package/dist/index.d.ts +2 -2
  15. package/dist/index.d.ts.map +1 -1
  16. package/dist/index.js +1 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/query-builder.d.ts +28 -15
  19. package/dist/query-builder.d.ts.map +1 -1
  20. package/dist/query-builder.js +48 -17
  21. package/dist/query-builder.js.map +1 -1
  22. package/dist/storage/memory.d.ts.map +1 -1
  23. package/dist/storage/memory.js +14 -1
  24. package/dist/storage/memory.js.map +1 -1
  25. package/dist/storage/postgres.d.ts +6 -0
  26. package/dist/storage/postgres.d.ts.map +1 -1
  27. package/dist/storage/postgres.js +151 -11
  28. package/dist/storage/postgres.js.map +1 -1
  29. package/dist/storage/sqlite.d.ts.map +1 -1
  30. package/dist/storage/sqlite.js +153 -3
  31. package/dist/storage/sqlite.js.map +1 -1
  32. package/dist/storage/sqljs.d.ts.map +1 -1
  33. package/dist/storage/sqljs.js +87 -3
  34. package/dist/storage/sqljs.js.map +1 -1
  35. package/dist/types.d.ts +86 -3
  36. package/dist/types.d.ts.map +1 -1
  37. package/dist/types.js +65 -5
  38. package/dist/types.js.map +1 -1
  39. package/package.json +1 -1
  40. package/dist/event-store.browser.d.ts +0 -82
  41. package/dist/event-store.browser.d.ts.map +0 -1
  42. package/dist/event-store.browser.js +0 -336
  43. package/dist/event-store.browser.js.map +0 -1
@@ -2,7 +2,7 @@
2
2
  * sql.js Storage implementation for browser environments
3
3
  */
4
4
  import initSqlJs from 'sql.js';
5
- import { normalizeCondition, hasKeys } from '../types.js';
5
+ import { isKeyOnlyCondition, isMultiTypeCondition, isMultiTypeConstrainedCondition, normalizeCondition, hasKeys } from '../types.js';
6
6
  const SCHEMA = `
7
7
  -- Events (Append-Only Log)
8
8
  CREATE TABLE IF NOT EXISTS events (
@@ -161,8 +161,12 @@ export class SqlJsStorage {
161
161
  }
162
162
  // Normalize all conditions to the internal format
163
163
  const normalized = conditions.map(normalizeCondition);
164
- const constrained = normalized.filter(hasKeys);
165
- const unconstrained = normalized.filter(c => !hasKeys(c));
164
+ const keyOnly = normalized.filter(isKeyOnlyCondition);
165
+ const multiType = normalized.filter(isMultiTypeCondition);
166
+ const multiTypeConstrained = normalized.filter(isMultiTypeConstrainedCondition);
167
+ const singleType = normalized.filter(c => !isKeyOnlyCondition(c) && !isMultiTypeCondition(c) && !isMultiTypeConstrainedCondition(c));
168
+ const constrained = singleType.filter(hasKeys);
169
+ const unconstrained = singleType.filter(c => !hasKeys(c));
166
170
  const positionFilter = fromPosition !== undefined ? Number(fromPosition) : null;
167
171
  // Build CTE-based query (mirrors SQLite approach but without INDEXED BY / MATERIALIZED)
168
172
  const ctes = [];
@@ -180,6 +184,86 @@ export class SqlJsStorage {
180
184
  ctes.push(`unconstrained_matches AS (${cteSql})`);
181
185
  cteNames.push('unconstrained_matches');
182
186
  }
187
+ // CTE for multi-type unconstrained conditions
188
+ if (multiType.length > 0) {
189
+ multiType.forEach((c, i) => {
190
+ const typeList = c.types.map(t => escapeSql(t)).join(', ');
191
+ let cteSql = `
192
+ SELECT position, event_id, event_type, data, metadata, timestamp
193
+ FROM events
194
+ WHERE event_type IN (${typeList})`;
195
+ if (positionFilter !== null) {
196
+ cteSql += ` AND position > ${positionFilter}`;
197
+ }
198
+ ctes.push(`multitype_${i} AS (${cteSql})`);
199
+ cteNames.push(`multitype_${i}`);
200
+ });
201
+ }
202
+ // CTEs for multi-type constrained conditions (types[] + keys)
203
+ if (multiTypeConstrained.length > 0) {
204
+ multiTypeConstrained.forEach((c, i) => {
205
+ const isMultiKey = c.keys.length > 1;
206
+ const typeList = c.types.map(t => escapeSql(t)).join(', ');
207
+ if (isMultiKey) {
208
+ const cteName = `mtc_${i}`;
209
+ const intersectParts = c.keys.map(key => `SELECT position FROM event_keys WHERE key_name = ${escapeSql(key.name)} AND key_value = ${escapeSql(key.value)}`);
210
+ const cteSql = `
211
+ SELECT e.position, e.event_id, e.event_type, e.data, e.metadata, e.timestamp
212
+ FROM (${intersectParts.join('\n INTERSECT')}) keys
213
+ INNER JOIN events e ON e.position = keys.position
214
+ WHERE e.event_type IN (${typeList})`;
215
+ ctes.push(`${cteName} AS (${cteSql})`);
216
+ cteNames.push(cteName);
217
+ }
218
+ else {
219
+ const cteName = `mtc_${i}`;
220
+ let cteSql = `
221
+ SELECT e.position, e.event_id, e.event_type, e.data, e.metadata, e.timestamp
222
+ FROM event_keys k
223
+ INNER JOIN events e ON e.position = k.position
224
+ WHERE k.key_name = ${escapeSql(c.keys[0].name)} AND k.key_value = ${escapeSql(c.keys[0].value)}
225
+ AND e.event_type IN (${typeList})`;
226
+ if (positionFilter !== null) {
227
+ cteSql += ` AND e.position > ${positionFilter}`;
228
+ }
229
+ ctes.push(`${cteName} AS (${cteSql})`);
230
+ cteNames.push(cteName);
231
+ }
232
+ });
233
+ }
234
+ // CTEs for key-only conditions (no type filter)
235
+ if (keyOnly.length > 0) {
236
+ keyOnly.forEach((c, i) => {
237
+ const isMultiKey = c.keys.length > 1;
238
+ const cteName = `keyonly_${i}`;
239
+ if (isMultiKey) {
240
+ const intersectParts = c.keys.map(key => {
241
+ let part = `SELECT position FROM event_keys WHERE key_name = ${escapeSql(key.name)} AND key_value = ${escapeSql(key.value)}`;
242
+ if (positionFilter !== null) {
243
+ part += ` AND position > ${positionFilter}`;
244
+ }
245
+ return part;
246
+ });
247
+ const cteSql = `
248
+ SELECT e.position, e.event_id, e.event_type, e.data, e.metadata, e.timestamp
249
+ FROM (${intersectParts.join(' INTERSECT ')}) keys
250
+ INNER JOIN events e ON e.position = keys.position`;
251
+ ctes.push(`${cteName} AS (${cteSql})`);
252
+ }
253
+ else {
254
+ let cteSql = `
255
+ SELECT e.position, e.event_id, e.event_type, e.data, e.metadata, e.timestamp
256
+ FROM event_keys k
257
+ INNER JOIN events e ON e.position = k.position
258
+ WHERE k.key_name = ${escapeSql(c.keys[0].name)} AND k.key_value = ${escapeSql(c.keys[0].value)}`;
259
+ if (positionFilter !== null) {
260
+ cteSql += ` AND e.position > ${positionFilter}`;
261
+ }
262
+ ctes.push(`${cteName} AS (${cteSql})`);
263
+ }
264
+ cteNames.push(cteName);
265
+ });
266
+ }
183
267
  // CTEs for constrained conditions
184
268
  if (constrained.length > 0) {
185
269
  constrained.forEach((c, i) => {
@@ -1 +1 @@
1
- {"version":3,"file":"sqljs.js","sourceRoot":"","sources":["../../src/storage/sqljs.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sqljs.js","sourceRoot":"","sources":["../../src/storage/sqljs.ts"],"names":[],"mappings":"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"}
package/dist/types.d.ts CHANGED
@@ -61,11 +61,39 @@ export interface MultiKeyConstrainedCondition {
61
61
  value: string;
62
62
  }[];
63
63
  }
64
+ /**
65
+ * Multi-type unconstrained condition: matches ALL events of any of the given types.
66
+ * Used by `.matchType('TypeA', 'TypeB')` with multiple types.
67
+ */
68
+ export interface MultiTypeCondition {
69
+ types: string[];
70
+ }
71
+ /**
72
+ * Multi-type constrained condition: matches events of any of the given types with ALL specified keys (AND).
73
+ */
74
+ export interface MultiTypeConstrainedCondition {
75
+ types: string[];
76
+ keys: {
77
+ name: string;
78
+ value: string;
79
+ }[];
80
+ }
81
+ /**
82
+ * Key-only condition: matches events that have ALL specified keys, regardless of event type.
83
+ * Used by `.matchKey(key, value)` when no type is specified.
84
+ */
85
+ export interface KeyOnlyCondition {
86
+ keys: {
87
+ name: string;
88
+ value: string;
89
+ }[];
90
+ }
64
91
  /**
65
92
  * A single query condition:
66
93
  * - Unconstrained: `{ type }` - all events of type
67
94
  * - Constrained (legacy): `{ type, key, value }` - events of type with specific key
68
95
  * - Multi-key constrained: `{ type, keys: [...] }` - events of type with ALL specified keys (AND)
96
+ * - Key-only: `{ keys: [...] }` - events with ALL specified keys, any type
69
97
  *
70
98
  * @example
71
99
  * ```typescript
@@ -80,9 +108,12 @@ export interface MultiKeyConstrainedCondition {
80
108
  *
81
109
  * // Unconstrained: Match all events of type
82
110
  * { type: 'ProductItemAdded' }
111
+ *
112
+ * // Key-only: Match events with keys, any type
113
+ * { keys: [{ name: 'course', value: 'cs101' }] }
83
114
  * ```
84
115
  */
85
- export type QueryCondition = UnconstrainedCondition | ConstrainedCondition | MultiKeyConstrainedCondition;
116
+ export type QueryCondition = UnconstrainedCondition | ConstrainedCondition | MultiKeyConstrainedCondition | MultiTypeCondition | MultiTypeConstrainedCondition | KeyOnlyCondition;
86
117
  /**
87
118
  * Type guard: check if condition is constrained with single key (legacy format)
88
119
  */
@@ -91,17 +122,31 @@ export declare function isConstrainedCondition(c: QueryCondition): c is Constrai
91
122
  * Type guard: check if condition is multi-key constrained
92
123
  */
93
124
  export declare function isMultiKeyCondition(c: QueryCondition): c is MultiKeyConstrainedCondition;
125
+ /**
126
+ * Type guard: check if condition is multi-type (types[] without keys)
127
+ */
128
+ export declare function isMultiTypeCondition(c: QueryCondition): c is MultiTypeCondition;
129
+ /**
130
+ * Type guard: check if condition is multi-type constrained (types[] + keys[])
131
+ */
132
+ export declare function isMultiTypeConstrainedCondition(c: QueryCondition): c is MultiTypeConstrainedCondition;
133
+ /**
134
+ * Type guard: check if condition is key-only (no type/types field)
135
+ */
136
+ export declare function isKeyOnlyCondition(c: QueryCondition): c is KeyOnlyCondition;
94
137
  /**
95
138
  * Normalize a QueryCondition to the internal multi-key format.
96
139
  * - `{ type, key, value }` → `{ type, keys: [{ name: key, value }] }`
97
140
  * - `{ type, keys: [...] }` → pass through
98
141
  * - `{ type }` → pass through (unconstrained)
142
+ * - `{ keys: [...] }` → pass through (key-only)
99
143
  */
100
- export declare function normalizeCondition(c: QueryCondition): UnconstrainedCondition | MultiKeyConstrainedCondition;
144
+ export type NormalizedCondition = UnconstrainedCondition | MultiKeyConstrainedCondition | MultiTypeCondition | MultiTypeConstrainedCondition | KeyOnlyCondition;
145
+ export declare function normalizeCondition(c: QueryCondition): NormalizedCondition;
101
146
  /**
102
147
  * Check if a normalized condition has keys (is constrained)
103
148
  */
104
- export declare function hasKeys(c: UnconstrainedCondition | MultiKeyConstrainedCondition): c is MultiKeyConstrainedCondition;
149
+ export declare function hasKeys(c: NormalizedCondition): c is MultiKeyConstrainedCondition | MultiTypeConstrainedCondition | KeyOnlyCondition;
105
150
  /**
106
151
  * Query to read events from the store
107
152
  */
@@ -201,7 +246,45 @@ export interface AppendCondition {
201
246
  * If omitted, ALL events are checked against failIfEventsMatch.
202
247
  */
203
248
  after?: bigint;
249
+ /**
250
+ * Merge this condition with one or more other conditions.
251
+ * Concatenates failIfEventsMatch, takes max position.
252
+ *
253
+ * @example
254
+ * ```typescript
255
+ * const merged = cartResult.appendCondition
256
+ * .mergeWith(inventoryResult.appendCondition);
257
+ * ```
258
+ */
259
+ mergeWith(...others: AppendCondition[]): AppendCondition;
204
260
  }
261
+ /**
262
+ * Create an AppendCondition with mergeWith() method.
263
+ */
264
+ export declare function createAppendCondition(failIfEventsMatch: QueryCondition[], after?: bigint): AppendCondition;
265
+ /**
266
+ * Merge multiple AppendConditions into one.
267
+ *
268
+ * Use when reading from multiple boundaries (e.g. cart + inventory)
269
+ * and appending with a single condition that protects all of them.
270
+ *
271
+ * - `failIfEventsMatch`: concatenated from all conditions
272
+ * - `after`: maximum position across all conditions
273
+ *
274
+ * @example
275
+ * ```typescript
276
+ * const cartResult = await store.query().matchKey('cart', cartId).read();
277
+ * const inventoryResult = await store.query().matchType('InventoryChanged').read();
278
+ *
279
+ * const merged = mergeConditions(
280
+ * cartResult.appendCondition,
281
+ * inventoryResult.appendCondition,
282
+ * );
283
+ *
284
+ * await store.append(allEvents, merged);
285
+ * ```
286
+ */
287
+ export declare function mergeConditions(...conditions: AppendCondition[]): AppendCondition;
205
288
  export interface EventStoreOptions {
206
289
  /** Consistency configuration */
207
290
  consistency: ConsistencyConfig;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAMH;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,KAAK,CACf,SAAS,SAAS,MAAM,GAAG,MAAM,EACjC,YAAY,SAAS,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,IACpE,QAAQ,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,YAAY,CAAC;CACpB,CAAC,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,iBAAiB,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,CAAC,GAAG;IAC3D,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,IAAI,CAAC,GAAG,QAAQ,CAAC;IAC9D,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,SAAS,EAAE,IAAI,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAMH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;CACd;AAED;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC3C,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;CACzC;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAM,MAAM,cAAc,GAAG,sBAAsB,GAAG,oBAAoB,GAAG,4BAA4B,CAAC;AAE1G;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,oBAAoB,CAEnF;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,cAAc,GAAG,CAAC,IAAI,4BAA4B,CAExF;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,cAAc,GAAG,sBAAsB,GAAG,4BAA4B,CAK3G;AAED;;GAEG;AACH,wBAAgB,OAAO,CAAC,CAAC,EAAE,sBAAsB,GAAG,4BAA4B,GAAG,CAAC,IAAI,4BAA4B,CAEnH;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACpB,UAAU,EAAE,cAAc,EAAE,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD;;GAEG;AACH,qBAAa,WAAW,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK;IAC9C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IAClC,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;gBAGpC,MAAM,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,EACxB,QAAQ,EAAE,MAAM,EAChB,UAAU,EAAE,cAAc,EAAE;IAO9B,qCAAqC;IACrC,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,4CAA4C;IAC5C,OAAO,IAAI,OAAO;IAIlB,iDAAiD;IACjD,KAAK,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS;IAInC,gDAAgD;IAChD,IAAI,IAAI,WAAW,CAAC,CAAC,CAAC,GAAG,SAAS;IAIlC,2DAA2D;IAC3D,IAAI,eAAe,IAAI,eAAe,CAErC;CACF;AAMD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,oDAAoD;IACpD,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,SAAS,CAAC,EAAE,OAAO,GAAG,OAAO,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,CAAC;IAC1D,oDAAoD;IACpD,YAAY,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;IAC5C,kDAAkD;IAClD,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,iBAAiB,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,eAAe,CAAC,CAAC;CAC7C;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAMD;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,KAAK,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;GAEG;AACH,MAAM,WAAW,cAAc,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK;IACrD,QAAQ,EAAE,IAAI,CAAC;IACf,iBAAiB,EAAE,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC;IACpC,eAAe,EAAE,eAAe,CAAC;CAClC;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,EAChD,MAAM,EAAE,YAAY,GAAG,cAAc,CAAC,CAAC,CAAC,GACvC,MAAM,IAAI,cAAc,CAAC,CAAC,CAAC,CAE7B;AAMD;;;;;;GAMG;AACH,MAAM,WAAW,eAAe;IAC9B;;;OAGG;IACH,iBAAiB,EAAE,cAAc,EAAE,CAAC;IAEpC;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAMD,MAAM,WAAW,iBAAiB;IAChC,gCAAgC;IAChC,WAAW,EAAE,iBAAiB,CAAC;CAChC;AAMD;;GAEG;AACH,MAAM,MAAM,QAAQ,CAAC,CAAC,GAAG,OAAO,IAAI;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACpC,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/dist/types.js CHANGED
@@ -14,11 +14,23 @@ export function isMultiKeyCondition(c) {
14
14
  return 'type' in c && 'keys' in c && Array.isArray(c.keys);
15
15
  }
16
16
  /**
17
- * Normalize a QueryCondition to the internal multi-key format.
18
- * - `{ type, key, value }` → `{ type, keys: [{ name: key, value }] }`
19
- * - `{ type, keys: [...] }` → pass through
20
- * - `{ type }` → pass through (unconstrained)
17
+ * Type guard: check if condition is multi-type (types[] without keys)
21
18
  */
19
+ export function isMultiTypeCondition(c) {
20
+ return 'types' in c && !('keys' in c);
21
+ }
22
+ /**
23
+ * Type guard: check if condition is multi-type constrained (types[] + keys[])
24
+ */
25
+ export function isMultiTypeConstrainedCondition(c) {
26
+ return 'types' in c && 'keys' in c;
27
+ }
28
+ /**
29
+ * Type guard: check if condition is key-only (no type/types field)
30
+ */
31
+ export function isKeyOnlyCondition(c) {
32
+ return !('type' in c) && !('types' in c) && 'keys' in c && Array.isArray(c.keys);
33
+ }
22
34
  export function normalizeCondition(c) {
23
35
  if (isConstrainedCondition(c)) {
24
36
  return { type: c.type, keys: [{ name: c.key, value: c.value }] };
@@ -64,7 +76,7 @@ export class QueryResult {
64
76
  }
65
77
  /** Get the append condition for use with store.append() */
66
78
  get appendCondition() {
67
- return { failIfEventsMatch: this.conditions, after: this.position };
79
+ return createAppendCondition(this.conditions, this.position);
68
80
  }
69
81
  }
70
82
  /**
@@ -73,4 +85,52 @@ export class QueryResult {
73
85
  export function isConflict(result) {
74
86
  return result.conflict;
75
87
  }
88
+ /**
89
+ * Create an AppendCondition with mergeWith() method.
90
+ */
91
+ export function createAppendCondition(failIfEventsMatch, after) {
92
+ return {
93
+ failIfEventsMatch,
94
+ after,
95
+ mergeWith(...others) {
96
+ return mergeConditions(this, ...others);
97
+ },
98
+ };
99
+ }
100
+ /**
101
+ * Merge multiple AppendConditions into one.
102
+ *
103
+ * Use when reading from multiple boundaries (e.g. cart + inventory)
104
+ * and appending with a single condition that protects all of them.
105
+ *
106
+ * - `failIfEventsMatch`: concatenated from all conditions
107
+ * - `after`: maximum position across all conditions
108
+ *
109
+ * @example
110
+ * ```typescript
111
+ * const cartResult = await store.query().matchKey('cart', cartId).read();
112
+ * const inventoryResult = await store.query().matchType('InventoryChanged').read();
113
+ *
114
+ * const merged = mergeConditions(
115
+ * cartResult.appendCondition,
116
+ * inventoryResult.appendCondition,
117
+ * );
118
+ *
119
+ * await store.append(allEvents, merged);
120
+ * ```
121
+ */
122
+ export function mergeConditions(...conditions) {
123
+ if (conditions.length === 0) {
124
+ return createAppendCondition([]);
125
+ }
126
+ let maxPosition;
127
+ for (const c of conditions) {
128
+ if (c.after !== undefined) {
129
+ if (maxPosition === undefined || c.after > maxPosition) {
130
+ maxPosition = c.after;
131
+ }
132
+ }
133
+ }
134
+ return createAppendCondition(conditions.flatMap(c => c.failIfEventsMatch), maxPosition);
135
+ }
76
136
  //# sourceMappingURL=types.js.map
package/dist/types.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAmGH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,CAAiB;IACtD,OAAO,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAiB;IACnD,OAAO,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAE,CAAkC,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAiB;IAClD,IAAI,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,CAA0D,CAAC;AACpE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,CAAwD;IAC9E,OAAO,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAE,CAAkC,CAAC,IAAI,CAAC,IAAK,CAAkC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvI,CAAC;AAWD,+DAA+D;AAC/D,eAAe;AACf,+DAA+D;AAE/D;;GAEG;AACH,MAAM,OAAO,WAAW;IACb,MAAM,CAAmB;IACzB,QAAQ,CAAS;IACjB,UAAU,CAAmB;IAEtC,YACE,MAAwB,EACxB,QAAgB,EAChB,UAA4B;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,qCAAqC;IACrC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,4CAA4C;IAC5C,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,iDAAiD;IACjD,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,gDAAgD;IAChD,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,2DAA2D;IAC3D,IAAI,eAAe;QACjB,OAAO,EAAE,iBAAiB,EAAE,IAAI,CAAC,UAAU,EAAE,KAAK,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;IACtE,CAAC;CACF;AAsED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAAwC;IAExC,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AA+HH;;GAEG;AACH,MAAM,UAAU,sBAAsB,CAAC,CAAiB;IACtD,OAAO,MAAM,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC;AACnD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,CAAiB;IACnD,OAAO,MAAM,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAE,CAAkC,CAAC,IAAI,CAAC,CAAC;AAC/F,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,oBAAoB,CAAC,CAAiB;IACpD,OAAO,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,CAAC;AACxC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,+BAA+B,CAAC,CAAiB;IAC/D,OAAO,OAAO,IAAI,CAAC,IAAI,MAAM,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,CAAiB;IAClD,OAAO,CAAC,CAAC,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,IAAI,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAE,CAAsB,CAAC,IAAI,CAAC,CAAC;AACzG,CAAC;AAWD,MAAM,UAAU,kBAAkB,CAAC,CAAiB;IAClD,IAAI,sBAAsB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9B,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,CAAC;IACnE,CAAC;IACD,OAAO,CAAwB,CAAC;AAClC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,OAAO,CAAC,CAAsB;IAC5C,OAAO,MAAM,IAAI,CAAC,IAAI,KAAK,CAAC,OAAO,CAAE,CAAkC,CAAC,IAAI,CAAC,IAAK,CAAkC,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC;AACvI,CAAC;AAWD,+DAA+D;AAC/D,eAAe;AACf,+DAA+D;AAE/D;;GAEG;AACH,MAAM,OAAO,WAAW;IACb,MAAM,CAAmB;IACzB,QAAQ,CAAS;IACjB,UAAU,CAAmB;IAEtC,YACE,MAAwB,EACxB,QAAgB,EAChB,UAA4B;QAE5B,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;QACzB,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,qCAAqC;IACrC,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,4CAA4C;IAC5C,OAAO;QACL,OAAO,IAAI,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,CAAC;IAClC,CAAC;IAED,iDAAiD;IACjD,KAAK;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACxB,CAAC;IAED,gDAAgD;IAChD,IAAI;QACF,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC7C,CAAC;IAED,2DAA2D;IAC3D,IAAI,eAAe;QACjB,OAAO,qBAAqB,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC/D,CAAC;CACF;AAsED;;GAEG;AACH,MAAM,UAAU,UAAU,CACxB,MAAwC;IAExC,OAAO,MAAM,CAAC,QAAQ,CAAC;AACzB,CAAC;AAuCD;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,iBAAmC,EAAE,KAAc;IACvF,OAAO;QACL,iBAAiB;QACjB,KAAK;QACL,SAAS,CAAC,GAAG,MAAyB;YACpC,OAAO,eAAe,CAAC,IAAI,EAAE,GAAG,MAAM,CAAC,CAAC;QAC1C,CAAC;KACF,CAAC;AACJ,CAAC;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,MAAM,UAAU,eAAe,CAAC,GAAG,UAA6B;IAC9D,IAAI,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAC5B,OAAO,qBAAqB,CAAC,EAAE,CAAC,CAAC;IACnC,CAAC;IAED,IAAI,WAA+B,CAAC;IACpC,KAAK,MAAM,CAAC,IAAI,UAAU,EAAE,CAAC;QAC3B,IAAI,CAAC,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;YAC1B,IAAI,WAAW,KAAK,SAAS,IAAI,CAAC,CAAC,KAAK,GAAG,WAAW,EAAE,CAAC;gBACvD,WAAW,GAAG,CAAC,CAAC,KAAK,CAAC;YACxB,CAAC;QACH,CAAC;IACH,CAAC;IAED,OAAO,qBAAqB,CAC1B,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAC5C,WAAW,CACZ,CAAC;AACJ,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "boundlessdb",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "license": "MIT",
5
5
  "description": "A DCB-inspired event store library for TypeScript — with support for SQLite, PostgreSQL, in-memory",
6
6
  "author": "Sebastian Bortz",
@@ -1,82 +0,0 @@
1
- /**
2
- * Browser-compatible EventStore
3
- */
4
- import type { EventStorage } from './storage/interface.js';
5
- import { QueryResult, type AppendCondition, type AppendResult, type ConflictResult, type Event, type EventStoreOptions, type EventWithMetadata, type Query } from './types.js';
6
- import { QueryBuilder } from './query-builder.js';
7
- export interface EventStoreConfig extends EventStoreOptions {
8
- storage: EventStorage;
9
- }
10
- /**
11
- * Browser-compatible DCB-native Event Store
12
- */
13
- export declare class EventStore {
14
- private readonly storage;
15
- private readonly keyExtractor;
16
- private readonly config;
17
- private initPromise;
18
- constructor(options: EventStoreConfig);
19
- /**
20
- * Ensure the store is initialized (for async operations)
21
- */
22
- private ensureInitialized;
23
- /**
24
- * Check if config has changed since last run, reindex if needed
25
- */
26
- private checkAndReindexIfNeeded;
27
- /**
28
- * Create a fluent query builder.
29
- *
30
- * @typeParam E - Event union type for typed results
31
- * @returns QueryBuilder for chaining
32
- */
33
- query<E extends Event = Event>(): QueryBuilder<E>;
34
- /**
35
- * Create a fluent query builder that reads all events (no type filter required).
36
- *
37
- * @typeParam E - Event union type for typed results
38
- * @returns QueryBuilder for chaining
39
- *
40
- * @example
41
- * ```typescript
42
- * const result = await store.all().fromPosition(0n).limit(1000).read();
43
- * const result = await store.all().read();
44
- * ```
45
- */
46
- all<E extends Event = Event>(): QueryBuilder<E>;
47
- /**
48
- * Read events matching a query
49
- *
50
- * @typeParam E - Event union type for typed results
51
- * @returns QueryResult with typed events and appendCondition
52
- */
53
- read<E extends Event = Event>(query: Query): Promise<QueryResult<E>>;
54
- /**
55
- * Append events with optional consistency check
56
- *
57
- * @typeParam E - Event type for type checking
58
- * @param events Events to append
59
- * @param condition Consistency check - can be:
60
- * - null: Skip consistency check (optimistic first write)
61
- * - AppendCondition: { position, conditions } from a previous read
62
- * @returns AppendResult on success, ConflictResult on conflict
63
- */
64
- append<E extends Event = Event>(events: EventWithMetadata<E>[], condition: AppendCondition | null): Promise<AppendResult | ConflictResult<E>>;
65
- /**
66
- * Build conditions that cover the appended events
67
- */
68
- private buildConditionsFromEvents;
69
- /**
70
- * Get the underlying storage (for advanced use cases)
71
- */
72
- getStorage(): EventStorage;
73
- /**
74
- * Close the event store
75
- */
76
- close(): Promise<void>;
77
- }
78
- /**
79
- * Factory function to create an event store
80
- */
81
- export declare function createEventStore(options: EventStoreConfig): EventStore;
82
- //# sourceMappingURL=event-store.browser.d.ts.map
@@ -1 +0,0 @@
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,EAKX,KAAK,eAAe,EACpB,KAAK,YAAY,EACjB,KAAK,cAAc,EAInB,KAAK,KAAK,EACV,KAAK,iBAAiB,EACtB,KAAK,iBAAiB,EACtB,KAAK,KAAK,EAGX,MAAM,YAAY,CAAC;AACpB,OAAO,EAAE,YAAY,EAAsB,MAAM,oBAAoB,CAAC;AA6DtE,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;IAyCrC;;;;;OAKG;IACH,KAAK,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC;IAIjD;;;;;;;;;;;OAWG;IACH,GAAG,CAAC,CAAC,SAAS,KAAK,GAAG,KAAK,KAAK,YAAY,CAAC,CAAC,CAAC;IAI/C;;;;;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;IAsH5C;;OAEG;IACH,OAAO,CAAC,yBAAyB;IA8BjC;;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"}