@venizia/ignis 0.1.0 → 0.1.1-1

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 (35) hide show
  1. package/dist/base/datasources/common/types.d.ts +9 -1
  2. package/dist/base/datasources/common/types.d.ts.map +1 -1
  3. package/dist/base/metadata/persistents.d.ts +1 -1
  4. package/dist/base/metadata/persistents.d.ts.map +1 -1
  5. package/dist/base/metadata/persistents.js.map +1 -1
  6. package/dist/connectors/postgres/datasources/abstract.d.ts +5 -14
  7. package/dist/connectors/postgres/datasources/abstract.d.ts.map +1 -1
  8. package/dist/connectors/postgres/datasources/abstract.js +28 -24
  9. package/dist/connectors/postgres/datasources/abstract.js.map +1 -1
  10. package/dist/connectors/postgres/datasources/base.js +1 -1
  11. package/dist/connectors/postgres/datasources/base.js.map +1 -1
  12. package/dist/connectors/postgres/drivers/index.d.ts +0 -1
  13. package/dist/connectors/postgres/drivers/index.d.ts.map +1 -1
  14. package/dist/connectors/postgres/drivers/index.js +0 -1
  15. package/dist/connectors/postgres/drivers/index.js.map +1 -1
  16. package/dist/connectors/postgres/drivers/node-postgres.d.ts +2 -7
  17. package/dist/connectors/postgres/drivers/node-postgres.d.ts.map +1 -1
  18. package/dist/connectors/postgres/drivers/node-postgres.js +17 -22
  19. package/dist/connectors/postgres/drivers/node-postgres.js.map +1 -1
  20. package/dist/connectors/postgres/drivers/postgres-js.d.ts +0 -6
  21. package/dist/connectors/postgres/drivers/postgres-js.d.ts.map +1 -1
  22. package/dist/connectors/postgres/drivers/postgres-js.js +10 -21
  23. package/dist/connectors/postgres/drivers/postgres-js.js.map +1 -1
  24. package/dist/connectors/postgres/repositories/core/base.js +2 -2
  25. package/dist/connectors/postgres/repositories/core/base.js.map +1 -1
  26. package/dist/helpers/inversion/common/types.d.ts +2 -2
  27. package/dist/helpers/inversion/common/types.d.ts.map +1 -1
  28. package/dist/helpers/inversion/mixins/datasource.mixin.d.ts +1 -1
  29. package/dist/helpers/inversion/mixins/datasource.mixin.d.ts.map +1 -1
  30. package/dist/helpers/inversion/registry.d.ts +1 -1
  31. package/package.json +3 -3
  32. package/dist/connectors/postgres/drivers/resolve.d.ts +0 -15
  33. package/dist/connectors/postgres/drivers/resolve.d.ts.map +0 -1
  34. package/dist/connectors/postgres/drivers/resolve.js +0 -44
  35. package/dist/connectors/postgres/drivers/resolve.js.map +0 -1
@@ -1,4 +1,4 @@
1
- import type { IConfigurable, TConstValue } from '@venizia/ignis-helpers';
1
+ import type { AnyType, IConfigurable, TClass, TConstValue } from '@venizia/ignis-helpers';
2
2
  export declare class DataSourceDrivers {
3
3
  static readonly NODE_POSTGRES = "node-postgres";
4
4
  static readonly POSTGRES_JS = "postgres-js";
@@ -10,6 +10,14 @@ export declare class DataSourceDrivers {
10
10
  static isValid(value: string): boolean;
11
11
  }
12
12
  export type TDataSourceDriver = TConstValue<typeof DataSourceDrivers> | (string & {});
13
+ /**
14
+ * A driver CLASS, named by `@datasource({ driver })`. A class reference is what carries `pg` or
15
+ * `postgres` into the application's bundle - a driver-name string carries nothing, and a bare
16
+ * side-effect import to compensate is one a bundler may delete.
17
+ *
18
+ * Untyped because `IRelationalDriver` lives under `connectors/`, which `base/` must not import.
19
+ */
20
+ export type TDataSourceDriverClass = TClass<AnyType>;
13
21
  export type TAnyDataSourceSchema = Record<string, any>;
14
22
  /** Engine-neutral datasource contract - the root every connector family implements. */
15
23
  export interface IDataSource<Settings extends object = {}, Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, ConfigurableOptions extends object = {}> extends IConfigurable<ConfigurableOptions> {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/datasources/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAEzE,qBAAa,iBAAiB;IAE5B,MAAM,CAAC,QAAQ,CAAC,aAAa,mBAAmB;IAChD,MAAM,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAG5C,MAAM,CAAC,QAAQ,CAAC,SAAS,eAAe;IACxC,MAAM,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAE5C,MAAM,CAAC,QAAQ,CAAC,qBAAqB,cAAmD;IACxF,MAAM,CAAC,QAAQ,CAAC,iBAAiB,cAA+C;IAEhF,MAAM,CAAC,QAAQ,CAAC,UAAU,cAQvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAID,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AACtF,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvD,uFAAuF;AACvF,MAAM,WAAW,WAAW,CAC1B,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,CACvC,SAAQ,aAAa,CAAC,mBAAmB,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,IAAI,QAAQ,CAAC;IACxB,SAAS,IAAI,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8FAA8F;AAC9F,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iCAAkC,SAAQ,uBAAuB;IAChF,MAAM,CAAC,EAAE;QACP,0DAA0D;QAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;QAEjB,qDAAqD;QACrD,KAAK,CAAC,EAAE,OAAO,CAAC;QAEhB,uDAAuD;QACvD,KAAK,CAAC,EAAE,OAAO,CAAC;QAEhB,0CAA0C;QAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/base/datasources/common/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,wBAAwB,CAAC;AAE1F,qBAAa,iBAAiB;IAE5B,MAAM,CAAC,QAAQ,CAAC,aAAa,mBAAmB;IAChD,MAAM,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAG5C,MAAM,CAAC,QAAQ,CAAC,SAAS,eAAe;IACxC,MAAM,CAAC,QAAQ,CAAC,WAAW,iBAAiB;IAE5C,MAAM,CAAC,QAAQ,CAAC,qBAAqB,cAAmD;IACxF,MAAM,CAAC,QAAQ,CAAC,iBAAiB,cAA+C;IAEhF,MAAM,CAAC,QAAQ,CAAC,UAAU,cAQvB;IAEH,MAAM,CAAC,OAAO,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;CAGvC;AAID,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,OAAO,iBAAiB,CAAC,GAAG,CAAC,MAAM,GAAG,EAAE,CAAC,CAAC;AAEtF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;AAErD,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;AAEvD,uFAAuF;AACvF,MAAM,WAAW,WAAW,CAC1B,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,CACvC,SAAQ,aAAa,CAAC,mBAAmB,CAAC;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,QAAQ,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IAEf,WAAW,IAAI,QAAQ,CAAC;IACxB,SAAS,IAAI,MAAM,CAAC;CACrB;AAED;;;;;GAKG;AACH,MAAM,WAAW,mBAAmB;IAClC,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,8FAA8F;AAC9F,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACxB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,YAAY,EAAE,OAAO,CAAC;CACvB;AAED,MAAM,WAAW,iCAAkC,SAAQ,uBAAuB;IAChF,MAAM,CAAC,EAAE;QACP,0DAA0D;QAC1D,MAAM,CAAC,EAAE,OAAO,CAAC;QAEjB,qDAAqD;QACrD,KAAK,CAAC,EAAE,OAAO,CAAC;QAEhB,uDAAuD;QACvD,KAAK,CAAC,EAAE,OAAO,CAAC;QAEhB,0CAA0C;QAC1C,QAAQ,CAAC,EAAE,OAAO,CAAC;KACpB,CAAC;CACH"}
@@ -4,7 +4,7 @@ import type { AbstractEntity } from '../models';
4
4
  /** Registers a model class with its static schema and relations. */
5
5
  export declare const model: (metadata: IModelMetadata) => ClassDecorator;
6
6
  /** Registers a datasource with driver and auto-discovery settings. */
7
- export declare const datasource: (metadata: IDataSourceMetadata) => ClassDecorator;
7
+ export declare const datasource: (metadata?: IDataSourceMetadata) => ClassDecorator;
8
8
  /** Binds a repository to a model and datasource for schema auto-discovery. */
9
9
  export declare const repository: <Model extends AbstractEntity = AbstractEntity, DataSource extends IDataSource = IDataSource>(metadata: IRepositoryMetadata<Model, DataSource>) => ClassDecorator;
10
10
  //# sourceMappingURL=persistents.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"persistents.d.ts","sourceRoot":"","sources":["../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAEnB,cAAc,EACd,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,oEAAoE;AACpE,eAAO,MAAM,KAAK,GAAI,UAAU,cAAc,KAAG,cAiBhD,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,UAAU,GAAI,UAAU,mBAAmB,KAAG,cAI1D,CAAC;AAwIF,8EAA8E;AAC9E,eAAO,MAAM,UAAU,GACrB,KAAK,SAAS,cAAc,GAAG,cAAc,EAC7C,UAAU,SAAS,WAAW,GAAG,WAAW,EAE5C,UAAU,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,KAC/C,cAcF,CAAC"}
1
+ {"version":3,"file":"persistents.d.ts","sourceRoot":"","sources":["../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,mBAAmB,EAEnB,cAAc,EACd,mBAAmB,EAEpB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEhD,oEAAoE;AACpE,eAAO,MAAM,KAAK,GAAI,UAAU,cAAc,KAAG,cAiBhD,CAAC;AAEF,sEAAsE;AACtE,eAAO,MAAM,UAAU,GAAI,WAAW,mBAAmB,KAAG,cAI3D,CAAC;AAwIF,8EAA8E;AAC9E,eAAO,MAAM,UAAU,GACrB,KAAK,SAAS,cAAc,GAAG,cAAc,EAC7C,UAAU,SAAS,WAAW,GAAG,WAAW,EAE5C,UAAU,mBAAmB,CAAC,KAAK,EAAE,UAAU,CAAC,KAC/C,cAcF,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"persistents.js","sourceRoot":"","sources":["../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"persistents.js","sourceRoot":"","sources":["../../../src/base/metadata/persistents.ts"],"names":[],"mappings":"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"}
@@ -8,25 +8,15 @@ import type { IDatabaseTransaction, IDatabaseTransactionOptions, IPostgresDataSo
8
8
  /** SQL branch root: connector, pool, transactions. */
9
9
  export declare abstract class AbstractRelationalDataSource<Settings extends object = {}, Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema, ConfigurableOptions extends object = {}, Client = Pool> extends AbstractDataSource<Settings, Schema, ConfigurableOptions> implements IPostgresDataSource<Settings, Schema, ConfigurableOptions, Client> {
10
10
  connector: TRelationalConnector<Schema>;
11
- /**
12
- * The raw driver client a pool-only datasource was configured with: a `pg.Pool`, a postgres-js
13
- * `Sql`. Genuinely absent once `configure()` wires a driver instead - every reader guards.
14
- */
15
11
  protected client?: Client;
16
- /** Owns connection acquisition and the raw control statements. Assign in `configure()`. */
17
12
  protected driver?: IRelationalDriver<Schema>;
18
13
  private static queryDialect?;
19
- private driverResolution?;
20
14
  /**
21
- * Adopts a pool-only datasource (no `this.driver` set) into whichever driver matches its client,
22
- * once. No warning is logged: the adoption is exact, and a boot-time warning on every legacy
23
- * datasource would be noise, not information.
24
- *
25
- * Async because the concrete driver is imported on demand - see `resolveDatabaseDriver`. The
26
- * in-flight promise is cached, not just its result, so concurrent `beginTransaction()` calls
27
- * share one driver over one pool instead of each constructing their own.
15
+ * Builds the driver class named by `@datasource({ driver })` over the client `configure()`
16
+ * assigned, then wires the connector from it. Idempotent and lazy.
28
17
  */
29
- protected resolveDriver(): Promise<IRelationalDriver<Schema>>;
18
+ protected wireDriverFromMetadata(): void;
19
+ protected resolveDriver(): IRelationalDriver<Schema>;
30
20
  /**
31
21
  * Wires a driver in one step: assigns `this.driver` AND builds `this.connector` from it. The
32
22
  * two-step form (driver set, connector forgotten) yields a datasource whose pooled queries
@@ -39,6 +29,7 @@ export declare abstract class AbstractRelationalDataSource<Settings extends obje
39
29
  }): void;
40
30
  abstract getConnectionString(): ValueOrPromise<string>;
41
31
  abstract beginTransaction(opts?: IDatabaseTransactionOptions): Promise<IDatabaseTransaction<Schema>>;
32
+ /** Wires the driver on first use, so a `configure()` that only builds `this.client` is enough. */
42
33
  getConnector(): TRelationalConnector<Schema>;
43
34
  /**
44
35
  * The raw driver client: `pg.Pool` for node-postgres, `Sql` for postgres-js. Stays synchronous by
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAEvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAEzF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,sDAAsD;AACtD,8BAAsB,4BAA4B,CAChD,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,MAAM,GAAG,IAAI,CAEb,SAAQ,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAChE,YAAW,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC;IAE7E,SAAS,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAExC;;;OAGG;IACH,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAE1B,2FAA2F;IAC3F,SAAS,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE7C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAA0B;IAEtD,OAAO,CAAC,gBAAgB,CAAC,CAAqC;IAE9D;;;;;;;;OAQG;cACa,aAAa,IAAI,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;IA6BnE;;;;;OAKG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKvF,QAAQ,CAAC,mBAAmB,IAAI,cAAc,CAAC,MAAM,CAAC;aACpC,gBAAgB,CAChC,IAAI,CAAC,EAAE,2BAA2B,GACjC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAExC,YAAY;IAIZ;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAcnB,eAAe,IAAI,uBAAuB;CAK3C"}
1
+ {"version":3,"file":"abstract.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/abstract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2CAA2C,CAAC;AAGzF,OAAO,KAAK,EAAU,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAErE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EACV,oBAAoB,EACpB,2BAA2B,EAC3B,mBAAmB,EACnB,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAElB,sDAAsD;AACtD,8BAAsB,4BAA4B,CAChD,QAAQ,SAAS,MAAM,GAAG,EAAE,EAC5B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,mBAAmB,SAAS,MAAM,GAAG,EAAE,EACvC,MAAM,GAAG,IAAI,CAEb,SAAQ,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,CAChE,YAAW,mBAAmB,CAAC,QAAQ,EAAE,MAAM,EAAE,mBAAmB,EAAE,MAAM,CAAC;IAE7E,SAAS,EAAE,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAExC,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAC1B,SAAS,CAAC,MAAM,CAAC,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;IAE7C,OAAO,CAAC,MAAM,CAAC,YAAY,CAAC,CAA0B;IAEtD;;;OAGG;IACH,SAAS,CAAC,sBAAsB,IAAI,IAAI;IAkCxC,SAAS,CAAC,aAAa,IAAI,iBAAiB,CAAC,MAAM,CAAC;IAKpD;;;;;OAKG;IACH,SAAS,CAAC,SAAS,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,iBAAiB,CAAC,MAAM,CAAC,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;IAKvF,QAAQ,CAAC,mBAAmB,IAAI,cAAc,CAAC,MAAM,CAAC;aACpC,gBAAgB,CAChC,IAAI,CAAC,EAAE,2BAA2B,GACjC,OAAO,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;IAExC,kGAAkG;IAClG,YAAY,IAAI,oBAAoB,CAAC,MAAM,CAAC;IAK5C;;;;OAIG;IACH,SAAS,IAAI,MAAM;IAcnB,eAAe,IAAI,uBAAuB;CAK3C"}
@@ -2,43 +2,45 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.AbstractRelationalDataSource = void 0;
4
4
  const datasources_1 = require("../../../base/datasources");
5
- const drivers_1 = require("../../../connectors/postgres/drivers");
6
5
  const filter_1 = require("../../../connectors/postgres/repositories/dialect/filter");
6
+ const inversion_1 = require("../../../helpers/inversion");
7
7
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
8
8
  /** SQL branch root: connector, pool, transactions. */
9
9
  class AbstractRelationalDataSource extends datasources_1.AbstractDataSource {
10
10
  /**
11
- * Adopts a pool-only datasource (no `this.driver` set) into whichever driver matches its client,
12
- * once. No warning is logged: the adoption is exact, and a boot-time warning on every legacy
13
- * datasource would be noise, not information.
14
- *
15
- * Async because the concrete driver is imported on demand - see `resolveDatabaseDriver`. The
16
- * in-flight promise is cached, not just its result, so concurrent `beginTransaction()` calls
17
- * share one driver over one pool instead of each constructing their own.
11
+ * Builds the driver class named by `@datasource({ driver })` over the client `configure()`
12
+ * assigned, then wires the connector from it. Idempotent and lazy.
18
13
  */
19
- async resolveDriver() {
14
+ wireDriverFromMetadata() {
15
+ if (this.connector) {
16
+ return;
17
+ }
20
18
  if (this.driver) {
21
- return this.driver;
19
+ this.connector = this.driver.createConnector({ schema: this.getSchema() });
20
+ return;
22
21
  }
23
22
  if (!this.client) {
24
23
  throw (0, ignis_helpers_1.getError)({
25
- message: `[${this.constructor.name}][resolveDriver] No driver and no client | Assign this.driver in configure()`,
24
+ message: `[${this.constructor.name}][wireDriverFromMetadata] No driver and no client | Assign this.client in configure(), or wire a custom driver with useDriver()`,
26
25
  });
27
26
  }
28
- this.driverResolution ??= (0, drivers_1.resolveDatabaseDriver)({ client: this.client });
29
- try {
30
- this.driver = await this.driverResolution;
31
- }
32
- catch (error) {
33
- // A rejected resolution must not stay cached: the failure can be transient (module load,
34
- // classification against a not-yet-ready client), and a poisoned cache would fail every
35
- // later transaction with this stale error forever.
36
- this.driverResolution = undefined;
37
- this.logger
38
- .for(this.resolveDriver.name)
39
- .error('Driver resolution failed - will retry on the next call | Error: %s', error);
40
- throw error;
27
+ // Absent for an imperatively-registered datasource.
28
+ const metadata = inversion_1.MetadataRegistry.getInstance().getDataSourceMetadata({
29
+ target: this.constructor,
30
+ });
31
+ const driver = metadata?.driver;
32
+ // The type forbids a driver-name string, so this catches an untyped JavaScript caller - and a
33
+ // string is exactly the mistake to catch, because it carries no module into the bundle.
34
+ if (typeof driver !== 'function') {
35
+ throw (0, ignis_helpers_1.getError)({
36
+ message: `[${this.constructor.name}][wireDriverFromMetadata] @datasource({ driver }) must name a driver CLASS | Got: ${String(driver)} | Use \`@datasource({ driver: NodePostgresDriver })\` with \`import { NodePostgresDriver } from '@venizia/ignis/postgres/node-postgres'\`, or wire a custom driver with useDriver()`,
37
+ });
41
38
  }
39
+ const DriverClass = driver;
40
+ this.useDriver({ driver: new DriverClass({ client: this.client }) });
41
+ }
42
+ resolveDriver() {
43
+ this.wireDriverFromMetadata();
42
44
  return this.driver;
43
45
  }
44
46
  /**
@@ -51,7 +53,9 @@ class AbstractRelationalDataSource extends datasources_1.AbstractDataSource {
51
53
  this.driver = opts.driver;
52
54
  this.connector = opts.driver.createConnector({ schema: opts.schema ?? this.getSchema() });
53
55
  }
56
+ /** Wires the driver on first use, so a `configure()` that only builds `this.client` is enough. */
54
57
  getConnector() {
58
+ this.wireDriverFromMetadata();
55
59
  return this.connector;
56
60
  }
57
61
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/abstract.ts"],"names":[],"mappings":";;;AACA,oDAAwD;AAExD,2DAAsE;AAEtE,8EAAkF;AAElF,0DAAkD;AASlD,sDAAsD;AACtD,MAAsB,4BAMpB,SAAQ,gCAAyD;IAkBjE;;;;;;;;OAQG;IACO,KAAK,CAAC,aAAa;QAC3B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC;QACrB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,8EAA8E;aACjH,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,gBAAgB,KAAK,IAAA,+BAAqB,EAAS,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAEjF,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC;QAC5C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,yFAAyF;YACzF,wFAAwF;YACxF,mDAAmD;YACnD,IAAI,CAAC,gBAAgB,GAAG,SAAS,CAAC;YAClC,IAAI,CAAC,MAAM;iBACR,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC;iBAC5B,KAAK,CAAC,oEAAoE,EAAE,KAAK,CAAC,CAAC;YACtF,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED;;;;;OAKG;IACO,SAAS,CAAC,IAA4D;QAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAOD,YAAY;QACV,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAY,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0EAA0E;aAC7G,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,eAAe;QACb,4BAA4B,CAAC,YAAY,KAAK,IAAI,sBAAa,EAAE,CAAC;QAElE,OAAO,4BAA4B,CAAC,YAAY,CAAC;IACnD,CAAC;CACF;AA1GD,oEA0GC"}
1
+ {"version":3,"file":"abstract.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/abstract.ts"],"names":[],"mappings":";;;AACA,oDAAwD;AAGxD,8EAAkF;AAClF,mDAAuD;AAEvD,0DAAkD;AASlD,sDAAsD;AACtD,MAAsB,4BAMpB,SAAQ,gCAAyD;IAUjE;;;OAGG;IACO,sBAAsB;QAC9B,IAAI,IAAI,CAAC,SAAS,EAAE,CAAC;YACnB,OAAO;QACT,CAAC;QAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;YAC3E,OAAO;QACT,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,iIAAiI;aACpK,CAAC,CAAC;QACL,CAAC;QAED,oDAAoD;QACpD,MAAM,QAAQ,GAAG,4BAAgB,CAAC,WAAW,EAAE,CAAC,qBAAqB,CAAC;YACpE,MAAM,EAAE,IAAI,CAAC,WAAW;SACzB,CAAC,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,EAAE,MAAM,CAAC;QAEhC,8FAA8F;QAC9F,wFAAwF;QACxF,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,qFAAqF,MAAM,CAAC,MAAM,CAAC,sLAAsL;aAC5T,CAAC,CAAC;QACL,CAAC;QAED,MAAM,WAAW,GAAG,MAA2C,CAAC;QAChE,IAAI,CAAC,SAAS,CAAC,EAAE,MAAM,EAAE,IAAI,WAAW,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC;IACvE,CAAC;IAES,aAAa;QACrB,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,MAAmC,CAAC;IAClD,CAAC;IAED;;;;;OAKG;IACO,SAAS,CAAC,IAA4D;QAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,eAAe,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;IAC5F,CAAC;IAOD,kGAAkG;IAClG,YAAY;QACV,IAAI,CAAC,sBAAsB,EAAE,CAAC;QAC9B,OAAO,IAAI,CAAC,SAAS,CAAC;IACxB,CAAC;IAED;;;;OAIG;IACH,SAAS;QACP,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,OAAO,IAAI,CAAC,MAAM,CAAC,SAAS,EAAY,CAAC;QAC3C,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,0EAA0E;aAC7G,CAAC,CAAC;QACL,CAAC;QAED,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,eAAe;QACb,4BAA4B,CAAC,YAAY,KAAK,IAAI,sBAAa,EAAE,CAAC;QAElE,OAAO,4BAA4B,CAAC,YAAY,CAAC;IACnD,CAAC;CACF;AAzGD,oEAyGC"}
@@ -48,7 +48,7 @@ class BaseRelationalDataSource extends abstract_1.AbstractRelationalDataSource {
48
48
  return { transactions: true };
49
49
  }
50
50
  async beginTransaction(opts) {
51
- const driver = await this.resolveDriver();
51
+ const driver = this.resolveDriver();
52
52
  const connection = await driver.acquire({ schema: this.getSchema() });
53
53
  const isolationLevel = opts?.isolationLevel ?? common_1.IsolationLevels.READ_COMMITTED;
54
54
  // `isolationLevel` comes from the IsolationLevels const-class, never from user input. It must be
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/base.ts"],"names":[],"mappings":";;;AAAA,mDAAuD;AAEvD,0DAAkD;AAIlD,yCAA0D;AAE1D,qCAA2C;AAE3C,+EAA+E;AAC/E,MAAsB,wBAKpB,SAAQ,uCAA2E;IACnF,YAAY,IAAyD;QACnE,KAAK,CAAC,EAAE,KAAK,EAAE,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;QAE5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;QACtB,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC;QAE5B,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC5B,CAAC;IACH,CAAC;IAED,wEAAwE;IAC/D,SAAS;QAChB,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,cAAc,EAAE,CAAC;QACtC,CAAC;QACD,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAES,cAAc;QACtB,MAAM,QAAQ,GAAG,4BAAgB,CAAC,WAAW,EAAE,CAAC;QAChD,MAAM,QAAQ,GAAG,QAAQ,CAAC,qBAAqB,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;QAE9E,IAAI,QAAQ,EAAE,aAAa,KAAK,KAAK,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,gCAAgC,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;YAC7F,OAAO,EAAY,CAAC;QACtB,CAAC;QAED,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,GAAG,QAAQ,CAAC,WAAW,CAAC;YACjD,UAAU,EAAE,IAAI,CAAC,WAAkC;SACpD,CAAC,CAAC;QAEH,MAAM,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACnC,IAAI,CAAC,MAAM;aACR,GAAG,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC;aAC7B,KAAK,CACJ,uDAAuD,EACvD,IAAI,CAAC,IAAI,EACT,MAAM,CAAC,MAAM,EACb,MAAM,CACP,CAAC;QAEJ,2FAA2F;QAC3F,iDAAiD;QACjD,OAAO,EAAE,GAAG,MAAM,EAAE,GAAG,SAAS,EAAY,CAAC;IAC/C,CAAC;IAED,qBAAqB;QACnB,MAAM,QAAQ,GAAG,4BAAgB,CAAC,WAAW,EAAE,CAAC;QAChD,OAAO,QAAQ,CAAC,SAAS,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,WAAkC,EAAE,CAAC,CAAC;IACrF,CAAC;IAEQ,eAAe;QACtB,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;IAEQ,KAAK,CAAC,gBAAgB,CAC7B,IAAkC;QAElC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC1C,MAAM,UAAU,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,SAAS,EAAE,EAAE,CAAC,CAAC;QACtE,MAAM,cAAc,GAAoB,IAAI,EAAE,cAAc,IAAI,wBAAe,CAAC,cAAc,CAAC;QAE/F,iGAAiG;QACjG,gGAAgG;QAChG,gDAAgD;QAChD,IAAI,CAAC;YACH,MAAM,UAAU,CAAC,OAAO,CAAC;gBACvB,SAAS,EAAE,qCAAqC,cAAc,EAAE;aACjE,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC,KAAK,CAAC,yCAAyC,EAAE,KAAK,CAAC,CAAC;YAE5F,8FAA8F;YAC9F,0FAA0F;YAC1F,iDAAiD;YACjD,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;YACtC,MAAM,KAAK,CAAC;QACd,CAAC;QAED,IAAI,QAAQ,GAAG,IAAI,CAAC;QACpB,IAAI,gBAAgB,GAAG,KAAK,CAAC;QAE7B;;;;WAIG;QACH,MAAM,MAAM,GAAG,KAAK,EAAE,UAA+C,EAAiB,EAAE;YACtF,MAAM,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,UAAU,CAAC;YAEvC,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACd,yFAAyF;gBACzF,uFAAuF;gBACvF,sFAAsF;gBACtF,4FAA4F;gBAC5F,IAAI,gBAAgB,IAAI,IAAI,KAAK,UAAU,EAAE,CAAC;oBAC5C,IAAI,CAAC,MAAM;yBACR,GAAG,CAAC,IAAI,CAAC;yBACT,KAAK,CAAC,uEAAuE,CAAC,CAAC;oBAClF,OAAO;gBACT,CAAC;gBAED,MAAM,IAAA,wBAAQ,EAAC,EAAE,OAAO,EAAE,iBAAiB,IAAI,6BAA6B,EAAE,CAAC,CAAC;YAClF,CAAC;YAED,8FAA8F;YAC9F,4FAA4F;YAC5F,4BAA4B;YAC5B,QAAQ,GAAG,KAAK,CAAC;YAEjB,IAAI,CAAC;gBACH,MAAM,UAAU,CAAC,OAAO,CAAC,EAAE,SAAS,EAAE,CAAC,CAAC;YAC1C,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,sCAAsC,EAAE,SAAS,EAAE,KAAK,CAAC,CAAC;gBACtF,gBAAgB,GAAG,IAAI,CAAC;gBACxB,UAAU,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC;gBACtC,MAAM,KAAK,CAAC;YACd,CAAC;YAED,UAAU,CAAC,OAAO,EAAE,CAAC;QACvB,CAAC,CAAC;QAEF,OAAO;YACL,cAAc;YACd,SAAS,EAAE,UAAU,CAAC,SAAS;YAE/B,IAAI,QAAQ;gBACV,OAAO,QAAQ,CAAC;YAClB,CAAC;YAED,MAAM,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;YAC7D,QAAQ,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;SACpE,CAAC;IACJ,CAAC;CACF;AA7ID,4DA6IC"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/datasources/base.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,2 @@
1
1
  export * from './driver';
2
- export * from './resolve';
3
2
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/index.ts"],"names":[],"mappings":"AAAA,cAAc,UAAU,CAAC"}
@@ -15,5 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./driver"), exports);
18
- __exportStar(require("./resolve"), exports);
19
18
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB;AACzB,4CAA0B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,2CAAyB"}
@@ -2,19 +2,14 @@ import type { TAnyDataSourceSchema } from '../../../base/datasources';
2
2
  import type { TRelationalConnector } from '../../../connectors/postgres/datasources/common';
3
3
  import type { Pool } from 'pg';
4
4
  import type { IRelationalConnection, IRelationalDriver } from './driver';
5
- /**
6
- * `pool` is supplied by the app's `configure()`, because Postgres connection config (credentials,
7
- * SSL, secrets manager, env) varies per deployment.
8
- */
9
5
  export declare class NodePostgresDriver<Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema> implements IRelationalDriver<Schema, Pool> {
10
- private readonly pool;
6
+ private readonly client;
11
7
  constructor(opts: {
12
- pool: Pool;
8
+ client: Pool;
13
9
  });
14
10
  createConnector(opts: {
15
11
  schema: Schema;
16
12
  }): TRelationalConnector<Schema>;
17
- /** A dedicated `PoolClient`, so BEGIN and COMMIT land on the same backend. */
18
13
  acquire(opts: {
19
14
  schema: Schema;
20
15
  }): Promise<IRelationalConnection<Schema>>;
@@ -1 +1 @@
1
- {"version":3,"file":"node-postgres.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/node-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEzE;;;GAGG;AACH,qBAAa,kBAAkB,CAC7B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,CAC1D,YAAW,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAO;gBAEhB,IAAI,EAAE;QAAE,IAAI,EAAE,IAAI,CAAA;KAAE;IAIhC,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAIvE,8EAA8E;IACxE,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IA2C/E,SAAS,IAAI,IAAI;IAIjB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrB"}
1
+ {"version":3,"file":"node-postgres.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/node-postgres.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAIrF,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,IAAI,CAAC;AAC/B,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEzE,qBAAa,kBAAkB,CAC7B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,CAC1D,YAAW,iBAAiB,CAAC,MAAM,EAAE,IAAI,CAAC;IAC1C,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAO;gBAElB,IAAI,EAAE;QAAE,MAAM,EAAE,IAAI,CAAA;KAAE;IAkBlC,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAIjE,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IA8B/E,SAAS,IAAI,IAAI;IAIjB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrB"}
@@ -3,30 +3,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.NodePostgresDriver = void 0;
4
4
  const ignis_helpers_1 = require("@venizia/ignis-helpers");
5
5
  const node_postgres_1 = require("drizzle-orm/node-postgres");
6
- /**
7
- * `pool` is supplied by the app's `configure()`, because Postgres connection config (credentials,
8
- * SSL, secrets manager, env) varies per deployment.
9
- */
10
6
  class NodePostgresDriver {
11
7
  constructor(opts) {
12
- this.pool = opts.pool;
8
+ const { client } = opts;
9
+ // A bare `pg.Client` also exposes connect(), so only the pool accounting tells the two apart -
10
+ // and a Client cannot hand out a dedicated connection per transaction.
11
+ const isPool = typeof client?.connect === 'function' &&
12
+ typeof client?.totalCount === 'number';
13
+ if (!isPool) {
14
+ throw (0, ignis_helpers_1.getError)({
15
+ message: `[${NodePostgresDriver.name}] Expected a \`pg\` Pool | Got a client without pool accounting - a bare \`pg.Client\`? | Construct \`new Pool({ ... })\` instead`,
16
+ });
17
+ }
18
+ this.client = client;
13
19
  }
14
20
  createConnector(opts) {
15
- return (0, node_postgres_1.drizzle)({ client: this.pool, schema: opts.schema });
21
+ return (0, node_postgres_1.drizzle)({ client: this.client, schema: opts.schema });
16
22
  }
17
- /** A dedicated `PoolClient`, so BEGIN and COMMIT land on the same backend. */
18
23
  async acquire(opts) {
19
- const client = await this.pool.connect();
20
- // A bare `pg.Client` also has `connect()`, but it resolves to nothing - it IS the connection,
21
- // not a pool. Named here, at the misconfiguration, instead of as a null-deref inside drizzle.
24
+ const client = await this.client.connect();
25
+ // Named here, at the checkout, instead of as a null-deref deep inside drizzle.
22
26
  if (!client) {
23
27
  throw (0, ignis_helpers_1.getError)({
24
- message: '[NodePostgresDriver][acquire] pool.connect() returned no client | A pg Pool is required - a bare pg.Client is not a pool',
28
+ message: `[${NodePostgresDriver.name}][acquire] pool.connect() resolved to no client | The pool cannot hand out a connection`,
25
29
  });
26
30
  }
27
- // The connection is already checked OUT of the pool. Anything that throws between here and the
28
- // caller's `release()` - a malformed discovered schema, a drizzle mismatch - would strand it,
29
- // and every later beginTransaction() would strand another until the pool is exhausted.
30
31
  let connector;
31
32
  try {
32
33
  connector = (0, node_postgres_1.drizzle)({ client, schema: opts.schema });
@@ -37,26 +38,20 @@ class NodePostgresDriver {
37
38
  }
38
39
  return {
39
40
  connector,
40
- // pg's native shape is `{ rows, rowCount }`; `rowCount` is null for statements that affect no
41
- // rows by definition (e.g. DDL). Mapped to the neutral result HERE, where the shape is known
42
- // statically - callers never see a pg type.
43
41
  execute: async (executeOpts) => {
44
42
  const result = await client.query(executeOpts.statement);
45
43
  return { count: result.rowCount ?? 0 };
46
44
  },
47
- // pg destroys the connection when `release()` receives a truthy argument, rather than handing
48
- // it back to the pool. That is what a failed COMMIT or ROLLBACK needs: the session may still
49
- // hold an open transaction, and the next borrower would inherit it.
50
45
  release: (releaseOpts) => {
51
46
  client.release(releaseOpts?.destroy === true);
52
47
  },
53
48
  };
54
49
  }
55
50
  getClient() {
56
- return this.pool;
51
+ return this.client;
57
52
  }
58
53
  end() {
59
- return this.pool.end();
54
+ return this.client.end();
60
55
  }
61
56
  }
62
57
  exports.NodePostgresDriver = NodePostgresDriver;
@@ -1 +1 @@
1
- {"version":3,"file":"node-postgres.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/node-postgres.ts"],"names":[],"mappings":";;;AAEA,0DAAkD;AAClD,6DAAoD;AAIpD;;;GAGG;AACH,MAAa,kBAAkB;IAK7B,YAAY,IAAoB;QAC9B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED,eAAe,CAAC,IAAwB;QACtC,OAAO,IAAA,uBAAO,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAiC,CAAC;IAC7F,CAAC;IAED,8EAA8E;IAC9E,KAAK,CAAC,OAAO,CAAC,IAAwB;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;QAEzC,8FAA8F;QAC9F,8FAA8F;QAC9F,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EACL,0HAA0H;aAC7H,CAAC,CAAC;QACL,CAAC;QAED,+FAA+F;QAC/F,8FAA8F;QAC9F,uFAAuF;QACvF,IAAI,SAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,SAAS,GAAG,IAAA,uBAAO,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAiC,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO;YACL,SAAS;YAET,8FAA8F;YAC9F,6FAA6F;YAC7F,4CAA4C;YAC5C,OAAO,EAAE,KAAK,EAAE,WAAkC,EAAE,EAAE;gBACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACzD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YACzC,CAAC;YAED,8FAA8F;YAC9F,6FAA6F;YAC7F,oEAAoE;YACpE,OAAO,EAAE,CAAC,WAAmC,EAAE,EAAE;gBAC/C,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;YAChD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,CAAC;CACF;AAhED,gDAgEC"}
1
+ {"version":3,"file":"node-postgres.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/node-postgres.ts"],"names":[],"mappings":";;;AAGA,0DAAkD;AAClD,6DAAoD;AAIpD,MAAa,kBAAkB;IAK7B,YAAY,IAAsB;QAChC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExB,+FAA+F;QAC/F,uEAAuE;QACvE,MAAM,MAAM,GACV,OAAQ,MAAkB,EAAE,OAAO,KAAK,UAAU;YAClD,OAAQ,MAAkB,EAAE,UAAU,KAAK,QAAQ,CAAC;QAEtD,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,kBAAkB,CAAC,IAAI,mIAAmI;aACxK,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,eAAe,CAAC,IAAwB;QACtC,OAAO,IAAA,uBAAO,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAiC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAwB;QACpC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAE3C,+EAA+E;QAC/E,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,kBAAkB,CAAC,IAAI,yFAAyF;aAC9H,CAAC,CAAC;QACL,CAAC;QAED,IAAI,SAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,SAAS,GAAG,IAAA,uBAAO,EAAC,EAAE,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAiC,CAAC;QACvF,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO;YACL,SAAS;YACT,OAAO,EAAE,KAAK,EAAE,WAAkC,EAAE,EAAE;gBACpD,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBACzD,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,EAAE,CAAC;YACzC,CAAC;YACD,OAAO,EAAE,CAAC,WAAmC,EAAE,EAAE;gBAC/C,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,KAAK,IAAI,CAAC,CAAC;YAChD,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;CACF;AAhED,gDAgEC"}
@@ -2,11 +2,6 @@ import type { TAnyDataSourceSchema } from '../../../base/datasources';
2
2
  import type { TRelationalConnector } from '../../../connectors/postgres/datasources/common';
3
3
  import type { Sql } from 'postgres';
4
4
  import type { IRelationalConnection, IRelationalDriver } from './driver';
5
- /**
6
- * The postgres-js driver. `client` is supplied by the app's `configure()`, exactly as `pool` is for
7
- * node-postgres. Requires `postgres >= 3.4.0`: that is the release that added `sql.reserve()`, and
8
- * without a reserved connection a transaction's BEGIN and COMMIT could land on different backends.
9
- */
10
5
  export declare class PostgresJsDriver<Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema> implements IRelationalDriver<Schema, Sql> {
11
6
  private readonly client;
12
7
  constructor(opts: {
@@ -15,7 +10,6 @@ export declare class PostgresJsDriver<Schema extends TAnyDataSourceSchema = TAny
15
10
  createConnector(opts: {
16
11
  schema: Schema;
17
12
  }): TRelationalConnector<Schema>;
18
- /** A dedicated `ReservedSql`, so BEGIN and COMMIT land on the same backend. */
19
13
  acquire(opts: {
20
14
  schema: Schema;
21
15
  }): Promise<IRelationalConnection<Schema>>;
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-js.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAGrF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEzE;;;;GAIG;AACH,qBAAa,gBAAgB,CAC3B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,CAC1D,YAAW,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAM;gBAEjB,IAAI,EAAE;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE;IAIjC,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAIvE,+EAA+E;IACzE,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IA6C/E,SAAS,IAAI,GAAG;IAIhB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrB"}
1
+ {"version":3,"file":"postgres-js.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,0CAA0C,CAAC;AAIrF,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AACpC,OAAO,KAAK,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAEzE,qBAAa,gBAAgB,CAC3B,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,CAC1D,YAAW,iBAAiB,CAAC,MAAM,EAAE,GAAG,CAAC;IACzC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAM;gBAEjB,IAAI,EAAE;QAAE,MAAM,EAAE,GAAG,CAAA;KAAE;IAejC,eAAe,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,oBAAoB,CAAC,MAAM,CAAC;IAIjE,OAAO,CAAC,IAAI,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;IA6B/E,SAAS,IAAI,GAAG;IAIhB,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;CAGrB"}
@@ -1,30 +1,27 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.PostgresJsDriver = void 0;
4
+ const ignis_helpers_1 = require("@venizia/ignis-helpers");
4
5
  const postgres_js_1 = require("drizzle-orm/postgres-js");
5
- /**
6
- * The postgres-js driver. `client` is supplied by the app's `configure()`, exactly as `pool` is for
7
- * node-postgres. Requires `postgres >= 3.4.0`: that is the release that added `sql.reserve()`, and
8
- * without a reserved connection a transaction's BEGIN and COMMIT could land on different backends.
9
- */
10
6
  class PostgresJsDriver {
11
7
  constructor(opts) {
12
- this.client = opts.client;
8
+ const { client } = opts;
9
+ // A `pg.Pool` has neither verb, so naming the wrong driver class fails here rather than at the first transaction.
10
+ const isSql = typeof client?.reserve === 'function' && typeof client?.unsafe === 'function';
11
+ if (!isSql) {
12
+ throw (0, ignis_helpers_1.getError)({
13
+ message: `[${PostgresJsDriver.name}] Expected a \`postgres\` Sql | Got a client without reserve()/unsafe() - a \`pg.Pool\`? | Construct \`postgres({ ... })\`, or name NodePostgresDriver instead`,
14
+ });
15
+ }
16
+ this.client = client;
13
17
  }
14
18
  createConnector(opts) {
15
19
  return (0, postgres_js_1.drizzle)({ client: this.client, schema: opts.schema });
16
20
  }
17
- /** A dedicated `ReservedSql`, so BEGIN and COMMIT land on the same backend. */
18
21
  async acquire(opts) {
19
22
  const reserved = await this.client.reserve();
20
- // drizzle's constructor reads `client.options.parsers`/`.serializers`, which a real
21
- // `ReservedSql` does not carry. Point it at the parent Sql's options - the very object drizzle
22
- // mutates when bound to the pool, so the (idempotent) parser registration lands in the same
23
- // place either way.
24
23
  const reservedClient = reserved;
25
24
  reservedClient.options ??= this.client.options;
26
- // The connection is already RESERVED. Anything that throws between here and the caller's
27
- // `release()` would strand it, and every later beginTransaction() would strand another.
28
25
  let connector;
29
26
  try {
30
27
  connector = (0, postgres_js_1.drizzle)({
@@ -38,18 +35,10 @@ class PostgresJsDriver {
38
35
  }
39
36
  return {
40
37
  connector,
41
- // `unsafe()` is postgres-js's raw-string escape. The tagged-template form would bind
42
- // `BEGIN TRANSACTION ISOLATION LEVEL ${level}` as a query parameter, which is not valid SQL.
43
- // Its native shape is a RowList - an array carrying `count`. Mapped to the neutral result
44
- // HERE, where the shape is known statically - callers never see a postgres-js type.
45
38
  execute: async (executeOpts) => {
46
39
  const result = await reserved.unsafe(executeOpts.statement);
47
40
  return { count: result.count ?? 0 };
48
41
  },
49
- // ASYMMETRY, deliberate: `ReservedSql.release()` takes no argument, so postgres-js cannot
50
- // discard a connection. After a failed COMMIT this returns a possibly-poisoned connection to
51
- // the pool, where node-postgres would destroy it. The option is accepted and ignored rather
52
- // than rejected, so `IRelationalConnection` stays substitutable.
53
42
  release: () => {
54
43
  reserved.release();
55
44
  },
@@ -1 +1 @@
1
- {"version":3,"file":"postgres-js.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.ts"],"names":[],"mappings":";;;AAGA,yDAAkD;AAIlD;;;;GAIG;AACH,MAAa,gBAAgB;IAK3B,YAAY,IAAqB;QAC/B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;IAC5B,CAAC;IAED,eAAe,CAAC,IAAwB;QACtC,OAAO,IAAA,qBAAO,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAiC,CAAC;IAC/F,CAAC;IAED,+EAA+E;IAC/E,KAAK,CAAC,OAAO,CAAC,IAAwB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAE7C,oFAAoF;QACpF,+FAA+F;QAC/F,4FAA4F;QAC5F,oBAAoB;QACpB,MAAM,cAAc,GAAG,QAAmB,CAAC;QAC3C,cAAc,CAAC,OAAO,KAAM,IAAI,CAAC,MAAkB,CAAC,OAAO,CAAC;QAE5D,yFAAyF;QACzF,wFAAwF;QACxF,IAAI,SAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,SAAS,GAAG,IAAA,qBAAO,EAAC;gBAClB,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAiC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO;YACL,SAAS;YAET,qFAAqF;YACrF,6FAA6F;YAC7F,0FAA0F;YAC1F,oFAAoF;YACpF,OAAO,EAAE,KAAK,EAAE,WAAkC,EAAE,EAAE;gBACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACtC,CAAC;YAED,0FAA0F;YAC1F,6FAA6F;YAC7F,4FAA4F;YAC5F,iEAAiE;YACjE,OAAO,EAAE,GAAG,EAAE;gBACZ,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;CACF;AAlED,4CAkEC"}
1
+ {"version":3,"file":"postgres-js.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/postgres-js.ts"],"names":[],"mappings":";;;AAGA,0DAAkD;AAClD,yDAAkD;AAIlD,MAAa,gBAAgB;IAK3B,YAAY,IAAqB;QAC/B,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;QAExB,kHAAkH;QAClH,MAAM,KAAK,GAAG,OAAO,MAAM,EAAE,OAAO,KAAK,UAAU,IAAI,OAAO,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;QAE5F,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,IAAA,wBAAQ,EAAC;gBACb,OAAO,EAAE,IAAI,gBAAgB,CAAC,IAAI,gKAAgK;aACnM,CAAC,CAAC;QACL,CAAC;QAED,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,eAAe,CAAC,IAAwB;QACtC,OAAO,IAAA,qBAAO,EAAC,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM,EAAE,CAAiC,CAAC;IAC/F,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,IAAwB;QACpC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QAE7C,MAAM,cAAc,GAAG,QAAmB,CAAC;QAC3C,cAAc,CAAC,OAAO,KAAM,IAAI,CAAC,MAAkB,CAAC,OAAO,CAAC;QAE5D,IAAI,SAAuC,CAAC;QAC5C,IAAI,CAAC;YACH,SAAS,GAAG,IAAA,qBAAO,EAAC;gBAClB,MAAM,EAAE,cAAc;gBACtB,MAAM,EAAE,IAAI,CAAC,MAAM;aACpB,CAAiC,CAAC;QACrC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,OAAO,EAAE,CAAC;YACnB,MAAM,KAAK,CAAC;QACd,CAAC;QAED,OAAO;YACL,SAAS;YACT,OAAO,EAAE,KAAK,EAAE,WAAkC,EAAE,EAAE;gBACpD,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;gBAC5D,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,EAAE,CAAC;YACtC,CAAC;YACD,OAAO,EAAE,GAAG,EAAE;gBACZ,QAAQ,CAAC,OAAO,EAAE,CAAC;YACrB,CAAC;SACF,CAAC;IACJ,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,GAAG;QACD,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;IAC3B,CAAC;CACF;AA5DD,4CA4DC"}
@@ -31,7 +31,7 @@ class RelationalBaseRepository extends core_1.AbstractRepository {
31
31
  return this.dataSource.getQueryDialect();
32
32
  }
33
33
  get connector() {
34
- return this.dataSource.connector;
34
+ return this.dataSource.getConnector();
35
35
  }
36
36
  setDataSource(opts) {
37
37
  super.setDataSource(opts);
@@ -127,7 +127,7 @@ class RelationalBaseRepository extends core_1.AbstractRepository {
127
127
  resolveConnector(opts) {
128
128
  const { transaction } = opts ?? {};
129
129
  if (!transaction) {
130
- return this.dataSource.connector;
130
+ return this.dataSource.getConnector();
131
131
  }
132
132
  if (!transaction.isActive) {
133
133
  throw (0, ignis_helpers_1.getError)({
@@ -1 +1 @@
1
- {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/connectors/postgres/repositories/core/base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../../../../src/connectors/postgres/repositories/core/base.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  import type { ControllerTransports } from '../../../base/controllers/common/constants';
2
- import type { IDataSource, TDataSourceDriver } from '../../../base/datasources';
2
+ import type { IDataSource, TDataSourceDriverClass } from '../../../base/datasources';
3
3
  import type { AbstractEntity } from '../../../base/models';
4
4
  import type { IRepository, TFilter, TRepositoryOperationScope } from '../../../base/repositories';
5
5
  import type { TAuthMode, TAuthStrategy } from '../../../components/auth/authenticate/common';
@@ -72,7 +72,7 @@ export type TModelClass<Model extends AbstractEntity = AbstractEntity> = TClass<
72
72
  /** Decorator target for model classes (supports both strongly typed and ClassDecorator patterns). */
73
73
  export type TDecoratorModelTarget<Model extends AbstractEntity = AbstractEntity> = TModelClass<Model> | (Function & IEntityStatics);
74
74
  export interface IDataSourceMetadata {
75
- driver: TDataSourceDriver;
75
+ driver?: TDataSourceDriverClass;
76
76
  autoDiscovery?: boolean;
77
77
  }
78
78
  export interface IRepositoryMetadata<Model extends AbstractEntity = AbstractEntity, DataSource extends IDataSource = IDataSource> {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/helpers/inversion/common/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/helpers/inversion/common/types.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,7 @@ export declare const DatasourceMetadataMixin: <BaseClass extends TMixinTarget<_M
5
5
  new (...args: any[]): {
6
6
  setDataSourceMetadata<Target extends object = object>(opts: {
7
7
  target: Target;
8
- metadata: IDataSourceMetadata;
8
+ metadata?: IDataSourceMetadata;
9
9
  }): void;
10
10
  getDataSourceMetadata<Target extends object = object>(opts: {
11
11
  target: Target;
@@ -1 +1 @@
1
- {"version":3,"file":"datasource.mixin.d.ts","sourceRoot":"","sources":["../../../../src/helpers/inversion/mixins/datasource.mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,eAAO,MAAM,uBAAuB,GAAI,SAAS,SAAS,YAAY,CAAC,iBAAiB,CAAC,EACvF,WAAW,SAAS;;8BAGI,MAAM,SAAS,MAAM,iBAAiB;YAC1D,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,mBAAmB,CAAC;SAC/B,GAAG,IAAI;8BAUc,MAAM,SAAS,MAAM,iBAAiB;YAC1D,MAAM,EAAE,MAAM,CAAC;SAChB,GAAG,mBAAmB,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAKtC,CAAC"}
1
+ {"version":3,"file":"datasource.mixin.d.ts","sourceRoot":"","sources":["../../../../src/helpers/inversion/mixins/datasource.mixin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,wBAAwB,CAAC;AAC3D,OAAO,KAAK,EAAE,gBAAgB,IAAI,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAEtF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAE3D,eAAO,MAAM,uBAAuB,GAAI,SAAS,SAAS,YAAY,CAAC,iBAAiB,CAAC,EACvF,WAAW,SAAS;;8BAGI,MAAM,SAAS,MAAM,iBAAiB;YAC1D,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,CAAC,EAAE,mBAAmB,CAAC;SAChC,GAAG,IAAI;8BAUc,MAAM,SAAS,MAAM,iBAAiB;YAC1D,MAAM,EAAE,MAAM,CAAC;SAChB,GAAG,mBAAmB,GAAG,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;aAKtC,CAAC"}
@@ -418,7 +418,7 @@ declare const BaseRegistry: {
418
418
  new (...args: any[]): {
419
419
  setDataSourceMetadata<Target extends object = object>(opts: {
420
420
  target: Target;
421
- metadata: import("./common/types").IDataSourceMetadata;
421
+ metadata?: import("./common/types").IDataSourceMetadata;
422
422
  }): void;
423
423
  getDataSourceMetadata<Target extends object = object>(opts: {
424
424
  target: Target;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@venizia/ignis",
3
- "version": "0.1.0",
3
+ "version": "0.1.1-1",
4
4
  "description": "High-performance TypeScript server infrastructure combining LoopBack 4 enterprise architecture (decorator-based DI, repository pattern, component system) with Hono speed (~140k req/s). Features auto-generated OpenAPI docs, Drizzle ORM type-safe SQL, JWT/Basic authentication, Casbin authorization, convention-based bootstrapping, and pluggable components for health checks, Swagger UI, mail, Socket.IO, and static assets. Built for Bun and Node.js.",
5
5
  "keywords": [
6
6
  "access-control",
@@ -182,8 +182,8 @@
182
182
  "prepublishOnly": "bun run rebuild"
183
183
  },
184
184
  "dependencies": {
185
- "@venizia/ignis-boot": "^0.1.0",
186
- "@venizia/ignis-helpers": "^0.1.0",
185
+ "@venizia/ignis-boot": "^0.1.1-0",
186
+ "@venizia/ignis-helpers": "^0.1.1-0",
187
187
  "@venizia/ignis-inversion": "^0.1.0",
188
188
  "lodash": "^4.18.1",
189
189
  "reflect-metadata": "^0.2.2"
@@ -1,15 +0,0 @@
1
- import type { TAnyDataSourceSchema } from '../../../base/datasources';
2
- import type { IRelationalDriver } from './driver';
3
- /**
4
- * Picks the driver that matches the client the application built, and imports it dynamically so the
5
- * losing driver's package is never loaded. This is the only reason `pg` and `postgres` can both be
6
- * optional peers: a static `import` of either driver module would pull its package into every entry
7
- * point that transitively reaches `connectors/postgres`, which is every entry point.
8
- *
9
- * Detection is structural rather than `instanceof`, because naming a constructor here would defeat
10
- * the dynamic import it exists to enable.
11
- */
12
- export declare const resolveDatabaseDriver: <Schema extends TAnyDataSourceSchema = TAnyDataSourceSchema>(opts: {
13
- client: unknown;
14
- }) => Promise<IRelationalDriver<Schema>>;
15
- //# sourceMappingURL=resolve.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.d.ts","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/resolve.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAG/D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAmBlD;;;;;;;;GAQG;AACH,eAAO,MAAM,qBAAqB,GAChC,MAAM,SAAS,oBAAoB,GAAG,oBAAoB,EAC1D,MAAM;IACN,MAAM,EAAE,OAAO,CAAC;CACjB,KAAG,OAAO,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAiBpC,CAAC"}
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.resolveDatabaseDriver = void 0;
4
- const ignis_helpers_1 = require("@venizia/ignis-helpers");
5
- /** postgres-js `Sql` - a tagged-template function carrying `reserve()` and `unsafe()`. */
6
- const isPostgresJsClient = (opts) => {
7
- const { client } = opts;
8
- return typeof client?.reserve === 'function' && typeof client?.unsafe === 'function';
9
- };
10
- /**
11
- * node-postgres `Pool` - keyed on `connect()`, the one verb `NodePostgresDriver` actually calls to
12
- * check out a `PoolClient`. A postgres-js `Sql` has no `connect`, so the two never collide. A bare
13
- * `pg.Client` also exposes `connect()` but is out of contract: the driver needs a pool to check
14
- * connections out of.
15
- */
16
- const isNodePostgresPool = (opts) => {
17
- const { client } = opts;
18
- return typeof client?.connect === 'function';
19
- };
20
- /**
21
- * Picks the driver that matches the client the application built, and imports it dynamically so the
22
- * losing driver's package is never loaded. This is the only reason `pg` and `postgres` can both be
23
- * optional peers: a static `import` of either driver module would pull its package into every entry
24
- * point that transitively reaches `connectors/postgres`, which is every entry point.
25
- *
26
- * Detection is structural rather than `instanceof`, because naming a constructor here would defeat
27
- * the dynamic import it exists to enable.
28
- */
29
- const resolveDatabaseDriver = async (opts) => {
30
- const client = opts.client;
31
- if (isPostgresJsClient({ client })) {
32
- const { PostgresJsDriver } = await import('./postgres-js.js');
33
- return new PostgresJsDriver({ client });
34
- }
35
- if (isNodePostgresPool({ client })) {
36
- const { NodePostgresDriver } = await import('./node-postgres.js');
37
- return new NodePostgresDriver({ pool: client });
38
- }
39
- throw (0, ignis_helpers_1.getError)({
40
- message: '[resolveDatabaseDriver] Unrecognized database client | Expected a `pg` Pool or a `postgres` Sql | Install one (`bun add pg` or `bun add postgres`), or assign `this.driver` explicitly in configure()',
41
- });
42
- };
43
- exports.resolveDatabaseDriver = resolveDatabaseDriver;
44
- //# sourceMappingURL=resolve.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"resolve.js","sourceRoot":"","sources":["../../../../src/connectors/postgres/drivers/resolve.ts"],"names":[],"mappings":";;;AAEA,0DAAkD;AAGlD,0FAA0F;AAC1F,MAAM,kBAAkB,GAAG,CAAC,IAAyB,EAAW,EAAE;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,OAAO,OAAO,MAAM,EAAE,OAAO,KAAK,UAAU,IAAI,OAAO,MAAM,EAAE,MAAM,KAAK,UAAU,CAAC;AACvF,CAAC,CAAC;AAEF;;;;;GAKG;AACH,MAAM,kBAAkB,GAAG,CAAC,IAAyB,EAAW,EAAE;IAChE,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC;IACxB,OAAO,OAAO,MAAM,EAAE,OAAO,KAAK,UAAU,CAAC;AAC/C,CAAC,CAAC;AAEF;;;;;;;;GAQG;AACI,MAAM,qBAAqB,GAAG,KAAK,EAExC,IAED,EAAsC,EAAE;IACvC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAiB,CAAC;IAEtC,IAAI,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,gBAAgB,EAAE,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,CAAC;QAC9D,OAAO,IAAI,gBAAgB,CAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAClD,CAAC;IAED,IAAI,kBAAkB,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,CAAC;QACnC,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAClE,OAAO,IAAI,kBAAkB,CAAS,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAA,wBAAQ,EAAC;QACb,OAAO,EACL,uMAAuM;KAC1M,CAAC,CAAC;AACL,CAAC,CAAC;AArBW,QAAA,qBAAqB,yBAqBhC"}