@ocoda/event-sourcing-mariadb 4.0.0-next.1 โ†’ 4.0.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/README.md +11 -6
  2. package/dist/interfaces/mariadb-event-entity.d.ts +10 -2
  3. package/dist/interfaces/mariadb-event-entity.d.ts.map +1 -1
  4. package/dist/interfaces/mariadb-event-store-config.d.ts +6 -2
  5. package/dist/interfaces/mariadb-event-store-config.d.ts.map +1 -1
  6. package/dist/interfaces/mariadb-snapshot-entity.d.ts +6 -2
  7. package/dist/interfaces/mariadb-snapshot-entity.d.ts.map +1 -1
  8. package/dist/interfaces/mariadb-snapshot-store-config.d.ts +6 -2
  9. package/dist/interfaces/mariadb-snapshot-store-config.d.ts.map +1 -1
  10. package/dist/mariadb.event-store.d.ts +64 -7
  11. package/dist/mariadb.event-store.d.ts.map +1 -1
  12. package/dist/mariadb.event-store.js +371 -187
  13. package/dist/mariadb.event-store.js.map +1 -1
  14. package/dist/mariadb.schema.d.ts +170 -0
  15. package/dist/mariadb.schema.d.ts.map +1 -0
  16. package/dist/mariadb.schema.js +307 -0
  17. package/dist/mariadb.schema.js.map +1 -0
  18. package/dist/mariadb.snapshot-store.d.ts +58 -6
  19. package/dist/mariadb.snapshot-store.d.ts.map +1 -1
  20. package/dist/mariadb.snapshot-store.js +281 -191
  21. package/dist/mariadb.snapshot-store.js.map +1 -1
  22. package/dist/mariadb.utils.d.ts +77 -2
  23. package/dist/mariadb.utils.d.ts.map +1 -1
  24. package/dist/mariadb.utils.js +111 -4
  25. package/dist/mariadb.utils.js.map +1 -1
  26. package/dist/migration/migrate.d.ts +61 -0
  27. package/dist/migration/migrate.d.ts.map +1 -0
  28. package/dist/migration/migrate.js +568 -0
  29. package/dist/migration/migrate.js.map +1 -0
  30. package/dist/migration/plan.d.ts +85 -0
  31. package/dist/migration/plan.d.ts.map +1 -0
  32. package/dist/migration/plan.js +179 -0
  33. package/dist/migration/plan.js.map +1 -0
  34. package/dist/migration/render.d.ts +5 -0
  35. package/dist/migration/render.d.ts.map +1 -0
  36. package/dist/migration/render.js +54 -0
  37. package/dist/migration/render.js.map +1 -0
  38. package/dist/migration/sql.d.ts +173 -0
  39. package/dist/migration/sql.d.ts.map +1 -0
  40. package/dist/migration/sql.js +345 -0
  41. package/dist/migration/sql.js.map +1 -0
  42. package/migrations/4.0.sql +190 -0
  43. package/package.json +12 -11
package/README.md CHANGED
@@ -21,24 +21,29 @@
21
21
 
22
22
  ## About this library
23
23
 
24
- This is a complementing module for `@ocoda/event-sourcing`, a powerful library designed to simplify the implementation of advanced architectural patterns in your [**NestJS**](https://nestjs.com/) application. It provides essential building blocks to help you implement Domain-Driven Design (DDD), CQRS and leverage Event Sourcing to tackle the complexities of modern systems.
24
+ This is a store integration for `@ocoda/event-sourcing`, a library for [**NestJS**](https://nestjs.com/) with the building blocks for Domain-Driven Design (DDD), CQRS and Event Sourcing.
25
25
 
26
- This store-driver library uses [MariaDB](https://mariadb.com/) as an underlying driver for event- and snapshot-stores, and needs to be installed together with the core module `@ocoda/event-sourcing` in order to get started.
26
+ It provides the `MariaDBEventStore` and `MariaDBSnapshotStore`, on InnoDB: they keep events and snapshots in [MariaDB](https://mariadb.com/), with a global position per pool for `readAll()`. It is tested on MariaDB 10.11, 11.4, 11.8 and 12.3, and the newest rolling release.
27
27
 
28
28
  ## Installation
29
- The `mariadb` driver is a peer dependency, so install it next to the core module:
29
+ The `mariadb` driver (`^3.5.3`) is a peer dependency, so install it next to the core module:
30
30
  ```bash
31
31
  npm install @ocoda/event-sourcing @ocoda/event-sourcing-mariadb mariadb
32
32
  ```
33
33
 
34
- Requires Node.js 22.12 or later and NestJS 12. The package is ESM-only; CommonJS applications load it through `require()`, which Node.js supports for ES modules since 22.12.
34
+ Requires Node.js 22.12 or later and NestJS 12. The package is ESM-only; CommonJS applications load it through `require()`, which Node.js supports for ES modules since 22.12. Keep it on the same version as `@ocoda/event-sourcing`.
35
+
36
+ ## Upgrading from 3.x
37
+ 4.0 stores events and snapshots in a new schema (schema v2), and refuses a 3.x event table until it is migrated. Migrate it once, offline, with `migrate()`, after a dry run: see the [runbook](https://ocoda.github.io/event-sourcing/integrations/mariadb#runbook) and [Migrating from 3.x to 4.0](https://ocoda.github.io/event-sourcing/upgrading/v4).
35
38
 
36
39
  ## Documentation ๐Ÿ“—
37
- Ready to dive right in? Visit [the documentation](https://ocoda.github.io/event-sourcing) to find out how to get started.
40
+ - [MariaDB](https://ocoda.github.io/event-sourcing/integrations/mariadb): the configuration, the schema, the privileges and the migration from 3.x.
41
+ - [The documentation](https://ocoda.github.io/event-sourcing) starts with the [installation](https://ocoda.github.io/event-sourcing/start/install). The 3.x documentation is at [ocoda.github.io/event-sourcing/v3](https://ocoda.github.io/event-sourcing/v3/).
42
+ - [Versioning and support](https://ocoda.github.io/event-sourcing/upgrading/versioning) and the [changelog](https://github.com/ocoda/event-sourcing/blob/master/packages/integration/mariadb/CHANGELOG.md).
38
43
 
39
44
  ## Contact
40
45
  dries@drieshooghe.com
41
46
   
42
47
 
43
48
  ## Acknowledgments
44
- This library is inspired by [@nestjs/cqrs](https://github.com/nestjs/cqrs)
49
+ This library is inspired by [@nestjs/cqrs](https://github.com/nestjs/cqrs)
@@ -1,4 +1,7 @@
1
- import type { IEvent, IEventPayload } from '@ocoda/event-sourcing';
1
+ import type { EventHeaders, IEvent, IEventPayload } from '@ocoda/event-sourcing';
2
+ /**
3
+ * A row of an event table (schema v2), as the store reads it: `global_position` and `occurred_on` as text.
4
+ */
2
5
  export type MariaDBEventEntity = {
3
6
  stream_id: string;
4
7
  version: number;
@@ -6,8 +9,13 @@ export type MariaDBEventEntity = {
6
9
  payload: IEventPayload<IEvent>;
7
10
  event_id: string;
8
11
  aggregate_id: string;
9
- occurred_on: Date;
12
+ /** UTC wall time, `YYYY-MM-DD HH:MM:SS.mmm`. */
13
+ occurred_on: string;
10
14
  correlation_id: string | null;
11
15
  causation_id: string | null;
16
+ /** A decimal integer. */
17
+ global_position: string;
18
+ headers: EventHeaders | null;
19
+ event_version: number | null;
12
20
  };
13
21
  //# sourceMappingURL=mariadb-event-entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mariadb-event-entity.d.ts","sourceRoot":"","sources":["../../lib/interfaces/mariadb-event-entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEnE,MAAM,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,IAAI,CAAC;IAClB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;CAC5B,CAAC"}
1
+ {"version":3,"file":"mariadb-event-entity.d.ts","sourceRoot":"","sources":["../../lib/interfaces/mariadb-event-entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAEjF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAAG;IAChC,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,aAAa,CAAC,MAAM,CAAC,CAAC;IAC/B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,yBAAyB;IACzB,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,YAAY,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import type { Type } from '@nestjs/common';
2
- import type { EventStoreConfig } from '@ocoda/event-sourcing';
2
+ import type { EventStoreConfig, SchemaOptions } from '@ocoda/event-sourcing';
3
3
  import type { PoolConfig } from 'mariadb';
4
4
  import type { MariaDBEventStore } from '../mariadb.event-store.js';
5
- export interface MariaDBEventStoreConfig extends EventStoreConfig, PoolConfig {
5
+ /**
6
+ * The configuration of a `MariaDBEventStore`: the `mariadb` pool options, and `ddl`, which says whether the store may
7
+ * create its tables (`'auto'`, the default) or only checks them (`'none'`).
8
+ */
9
+ export interface MariaDBEventStoreConfig extends EventStoreConfig, PoolConfig, SchemaOptions {
6
10
  driver: Type<MariaDBEventStore>;
7
11
  }
8
12
  //# sourceMappingURL=mariadb-event-store-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mariadb-event-store-config.d.ts","sourceRoot":"","sources":["../../lib/interfaces/mariadb-event-store-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB,EAAE,UAAU;IAC5E,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;CAChC"}
1
+ {"version":3,"file":"mariadb-event-store-config.d.ts","sourceRoot":"","sources":["../../lib/interfaces/mariadb-event-store-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,gBAAgB,EAAE,UAAU,EAAE,aAAa;IAC3F,MAAM,EAAE,IAAI,CAAC,iBAAiB,CAAC,CAAC;CAChC"}
@@ -1,12 +1,16 @@
1
1
  import type { AggregateRoot, ISnapshot } from '@ocoda/event-sourcing';
2
+ /**
3
+ * A row of a snapshot table. `registered_on` is read as UTC wall time text from a schema v2 table, and as a `Date`
4
+ * (through the connector, like 3.x) from a 3.x table.
5
+ */
2
6
  export type MariaDBSnapshotEntity<A extends AggregateRoot> = {
3
7
  stream_id: string;
4
8
  version: number;
5
9
  payload: ISnapshot<A>;
6
10
  snapshot_id: string;
7
11
  aggregate_id: string;
8
- registered_on: Date;
12
+ registered_on: string | Date;
9
13
  aggregate_name: string;
10
- latest?: string;
14
+ latest?: string | null;
11
15
  };
12
16
  //# sourceMappingURL=mariadb-snapshot-entity.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mariadb-snapshot-entity.d.ts","sourceRoot":"","sources":["../../lib/interfaces/mariadb-snapshot-entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEtE,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,aAAa,IAAI;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,IAAI,CAAC;IACpB,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC"}
1
+ {"version":3,"file":"mariadb-snapshot-entity.d.ts","sourceRoot":"","sources":["../../lib/interfaces/mariadb-snapshot-entity.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEtE;;;GAGG;AACH,MAAM,MAAM,qBAAqB,CAAC,CAAC,SAAS,aAAa,IAAI;IAC5D,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,SAAS,CAAC,CAAC,CAAC,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB,CAAC"}
@@ -1,8 +1,12 @@
1
1
  import type { Type } from '@nestjs/common';
2
- import type { SnapshotStoreConfig } from '@ocoda/event-sourcing';
2
+ import type { SchemaOptions, SnapshotStoreConfig } from '@ocoda/event-sourcing';
3
3
  import type { PoolConfig } from 'mariadb';
4
4
  import type { MariaDBSnapshotStore } from '../mariadb.snapshot-store.js';
5
- export interface MariaDBSnapshotStoreConfig extends SnapshotStoreConfig, PoolConfig {
5
+ /**
6
+ * The configuration of a `MariaDBSnapshotStore`: the `mariadb` pool options, and `ddl`, which says whether the store
7
+ * may create its tables (`'auto'`, the default) or only checks them (`'none'`).
8
+ */
9
+ export interface MariaDBSnapshotStoreConfig extends SnapshotStoreConfig, PoolConfig, SchemaOptions {
6
10
  driver: Type<MariaDBSnapshotStore>;
7
11
  }
8
12
  //# sourceMappingURL=mariadb-snapshot-store-config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mariadb-snapshot-store-config.d.ts","sourceRoot":"","sources":["../../lib/interfaces/mariadb-snapshot-store-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AACjE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB,EAAE,UAAU;IAClF,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;CACnC"}
1
+ {"version":3,"file":"mariadb-snapshot-store-config.d.ts","sourceRoot":"","sources":["../../lib/interfaces/mariadb-snapshot-store-config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAC3C,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAChF,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,8BAA8B,CAAC;AAEzE;;;GAGG;AACH,MAAM,WAAW,0BAA2B,SAAQ,mBAAmB,EAAE,UAAU,EAAE,aAAa;IACjG,MAAM,EAAE,IAAI,CAAC,oBAAoB,CAAC,CAAC;CACnC"}
@@ -1,20 +1,77 @@
1
- import { EventEnvelope, EventStore, type EventStream, type IAllEventsFilter, type IEvent, type IEventCollection, type IEventCollectionFilter, type IEventFilter, type IEventPool } from '@ocoda/event-sourcing';
1
+ import { EventEnvelope, EventStore, type EventStoreCapabilities, type EventStream, type IEventCollection, type IEventCollectionFilter, type IEventFilter, type IEventPool, type IReadAllFilter, type MigrationOptions, type MigrationReport, type PersistOutcome, type PersistTarget } from '@ocoda/event-sourcing';
2
2
  import type { MariaDBEventStoreConfig } from './interfaces/index.js';
3
+ /**
4
+ * An event store on MariaDB (InnoDB), with schema v2 (ADR 0002 ยง3).
5
+ *
6
+ * - Every pool has a table, `events` or `<pool>-events`, registered in the `event_sourcing_collections` catalog, whose
7
+ * row counts the pool's global positions.
8
+ * - An append takes its positions from that counter, as the first write of its transaction, so appends to a pool
9
+ * commit in the order of their positions, and a reader never skips one (`globalOrder: 'gap-safe'`).
10
+ * - `ensureCollection` creates the tables (`ddl: 'auto'`) or checks them (`ddl: 'none'`), and refuses 3.x tables:
11
+ * migrate them with `MariaDBEventStore.migrate()`.
12
+ */
3
13
  export declare class MariaDBEventStore extends EventStore<MariaDBEventStoreConfig> {
14
+ /**
15
+ * Final once `connect()` resolved: a Galera cluster (`wsrep_on`) orders the positions per node only, so it gets
16
+ * `'best-effort'`.
17
+ */
18
+ readonly capabilities: EventStoreCapabilities;
4
19
  private pool;
20
+ /**
21
+ * Migrates the event tables of a 3.x store to schema v2, without a NestJS application: inspects every table (or the
22
+ * tables of `options.pools`), plans, and, unless `dryRun`, migrates them one by one. Stop every 3.x instance first.
23
+ */
24
+ static migrate(config: Omit<MariaDBEventStoreConfig, 'driver'>, options?: MigrationOptions): Promise<MigrationReport>;
25
+ /**
26
+ * Migrates the event tables of this store's database to schema v2, on a connection of its own; see the static
27
+ * `MariaDBEventStore.migrate()`.
28
+ */
29
+ migrate(options?: MigrationOptions): Promise<MigrationReport>;
5
30
  connect(): Promise<void>;
6
31
  disconnect(): Promise<void>;
32
+ /**
33
+ * Creates the table of a pool and registers it in the catalog (`ddl: 'auto'`), or checks and registers it
34
+ * (`ddl: 'none'`). Registering heals the pool's position counter: it becomes at least the highest position stored.
35
+ * @throws EventStoreSchemaException when the table has the 3.x schema, or, with `ddl: 'none'`, doesn't exist
36
+ */
7
37
  ensureCollection(pool?: IEventPool): Promise<IEventCollection>;
38
+ /**
39
+ * Lists the event collections of the catalog, in binary order. 3.x tables are not listed: they aren't registered.
40
+ */
8
41
  listCollections(filter?: IEventCollectionFilter): AsyncGenerator<IEventCollection[]>;
9
- getEvents({ streamId }: EventStream, filter?: IEventFilter): AsyncGenerator<IEvent[]>;
10
- getEvent({ streamId }: EventStream, version: number, pool?: IEventPool): Promise<IEvent>;
11
- appendEvents(stream: EventStream, aggregateVersion: number, events: IEvent[] | EventEnvelope[], pool?: IEventPool): Promise<EventEnvelope[]>;
42
+ getStreamVersion({ streamId }: EventStream, pool?: IEventPool): Promise<number>;
12
43
  getEnvelope({ streamId }: EventStream, version: number, pool?: IEventPool): Promise<EventEnvelope>;
13
44
  getEnvelopes({ streamId }: EventStream, filter?: IEventFilter): AsyncGenerator<EventEnvelope[]>;
14
- getAllEnvelopes(filter: IAllEventsFilter): AsyncGenerator<EventEnvelope[]>;
15
45
  /**
16
- * Best effort lookup of the latest version of a stream, used to report a conflict.
46
+ * Reads the envelopes of a pool in the order of their global positions, one statement per batch.
47
+ *
48
+ * InnoDB builds a read view from a walk over the active transactions that isn't atomic, so a batch can, rarely, show
49
+ * a position without an earlier one that committed just before it. A batch is therefore delivered only as far as its
50
+ * positions are contiguous from where the read is. At a gap, the reader reads the counter with a shared lock, which
51
+ * waits for the append that holds it: every position up to it is committed and visible then, and a gap below it is
52
+ * permanent (a deleted event, or a pool that was dropped and created again).
53
+ *
54
+ * Both reads must reach the server the appends run on: behind a proxy that sends plain reads to a replica, a gap of
55
+ * the replica's lag would pass for a permanent one.
56
+ */
57
+ readAll(filter?: IReadAllFilter): AsyncGenerator<EventEnvelope[]>;
58
+ /**
59
+ * Stores the envelopes of an append in one transaction, whose first write takes their positions from the pool's
60
+ * counter in the catalog. The counter's row lock serializes the appends to a pool until they commit.
61
+ */
62
+ protected persistEvents(envelopes: readonly EventEnvelope[], { stream, collection, pool }: PersistTarget): Promise<PersistOutcome>;
63
+ /**
64
+ * What a failed append before its commit means: another append took the (stream, version) key (a conflict), or
65
+ * nothing was stored.
66
+ */
67
+ private classifyFailure;
68
+ private readPositions;
69
+ /**
70
+ * The last position of the pool's counter, read with a shared lock: it waits until the append that holds the counter
71
+ * committed or rolled back, and every transaction that took a position up to it has left the set of active
72
+ * transactions before it returns (InnoDB deregisters a committing transaction before it releases its locks).
17
73
  */
18
- private getLatestVersion;
74
+ private readHighWaterMark;
75
+ private connected;
19
76
  }
20
77
  //# sourceMappingURL=mariadb.event-store.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mariadb.event-store.d.ts","sourceRoot":"","sources":["../lib/mariadb.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAGN,aAAa,EAGb,UAAU,EAIV,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,MAAM,EACX,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,UAAU,EAEf,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAsB,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAGzF,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IACzE,OAAO,CAAC,IAAI,CAAO;IAEN,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAGpC;IAEY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAGvC;IAEY,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAyB1E;IAEa,eAAe,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAgBjG;IAEM,SAAS,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,MAAM,EAAE,CAAC,CAkC3F;IAEK,QAAQ,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAa7F;IAEK,YAAY,CACjB,MAAM,EAAE,WAAW,EACnB,gBAAgB,EAAE,MAAM,EACxB,MAAM,EAAE,MAAM,EAAE,GAAG,aAAa,EAAE,EAClC,IAAI,CAAC,EAAE,UAAU,GACf,OAAO,CAAC,aAAa,EAAE,CAAC,CA6F1B;IAEK,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAoBvG;IAEM,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,CAgDrG;IAEM,eAAe,CAAC,MAAM,EAAE,gBAAgB,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,CA4ChF;IAED;;OAEG;YACW,gBAAgB;CAe9B"}
1
+ {"version":3,"file":"mariadb.event-store.d.ts","sourceRoot":"","sources":["../lib/mariadb.event-store.ts"],"names":[],"mappings":"AAAA,OAAO,EAIN,aAAa,EAIb,UAAU,EACV,KAAK,sBAAsB,EAI3B,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,sBAAsB,EAC3B,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,KAAK,eAAe,EACpB,KAAK,cAAc,EACnB,KAAK,aAAa,EAIlB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,KAAK,EAAsB,uBAAuB,EAAE,MAAM,uBAAuB,CAAC;AAqCzF;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,UAAU,CAAC,uBAAuB,CAAC;IACzE;;;OAGG;IACH,SAAkB,YAAY,EAAE,sBAAsB,CAIpD;IAEF,OAAO,CAAC,IAAI,CAAmB;IAE/B;;;OAGG;IACH,MAAM,CAAC,OAAO,CACb,MAAM,EAAE,IAAI,CAAC,uBAAuB,EAAE,QAAQ,CAAC,EAC/C,OAAO,CAAC,EAAE,gBAAgB,GACxB,OAAO,CAAC,eAAe,CAAC,CAE1B;IAED;;;OAGG;IACH,OAAO,CAAC,OAAO,CAAC,EAAE,gBAAgB,GAAG,OAAO,CAAC,eAAe,CAAC,CAE5D;IAEY,OAAO,IAAI,OAAO,CAAC,IAAI,CAAC,CAoBpC;IAEY,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC,CAQvC;IAED;;;;OAIG;IACU,gBAAgB,CAAC,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CA2C1E;IAED;;OAEG;IACW,eAAe,CAAC,MAAM,CAAC,EAAE,sBAAsB,GAAG,cAAc,CAAC,gBAAgB,EAAE,CAAC,CAyBjG;IAEY,gBAAgB,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAW3F;IAEY,WAAW,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,UAAU,GAAG,OAAO,CAAC,aAAa,CAAC,CAiB9G;IAEa,YAAY,CAAC,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,YAAY,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,CA6B5G;IAED;;;;;;;;;;;OAWG;IACW,OAAO,CAAC,MAAM,CAAC,EAAE,cAAc,GAAG,cAAc,CAAC,aAAa,EAAE,CAAC,CAoC9E;IAED;;;OAGG;IACH,UAAgB,aAAa,CAC5B,SAAS,EAAE,SAAS,aAAa,EAAE,EACnC,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,EAAE,aAAa,GACzC,OAAO,CAAC,cAAc,CAAC,CAsFzB;IAED;;;OAGG;IACH,OAAO,CAAC,eAAe;YAoBT,aAAa;IAoB3B;;;;OAIG;YACW,iBAAiB;IAgB/B,OAAO,CAAC,SAAS;CAMjB"}