@dbos-inc/knex-datasource 3.0.27-preview → 3.0.35-preview
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/index.ts +8 -5
- package/package.json +1 -1
package/dist/index.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { FunctionName } from '@dbos-inc/dbos-sdk';
|
|
1
2
|
import { DBOSDataSource } from '@dbos-inc/dbos-sdk/datasource';
|
|
2
3
|
import { type Knex } from 'knex';
|
|
3
4
|
export type TransactionConfig = Pick<Knex.TransactionConfig, 'isolationLevel' | 'readOnly'> & {
|
|
@@ -12,7 +13,7 @@ export declare class KnexDataSource implements DBOSDataSource<TransactionConfig>
|
|
|
12
13
|
static uninitializeDBOSSchema(knexOrConfig: Knex.Config): Promise<void>;
|
|
13
14
|
constructor(name: string, config: Knex.Config);
|
|
14
15
|
runTransaction<T>(func: () => Promise<T>, config?: TransactionConfig): Promise<T>;
|
|
15
|
-
registerTransaction<This, Args extends unknown[], Return>(func: (this: This, ...args: Args) => Promise<Return>, config?: TransactionConfig): (this: This, ...args: Args) => Promise<Return>;
|
|
16
|
-
transaction(config?: TransactionConfig): <This, Args extends unknown[], Return>(
|
|
16
|
+
registerTransaction<This, Args extends unknown[], Return>(func: (this: This, ...args: Args) => Promise<Return>, config?: TransactionConfig & FunctionName): (this: This, ...args: Args) => Promise<Return>;
|
|
17
|
+
transaction(config?: TransactionConfig): <This, Args extends unknown[], Return>(target: object, propertyKey: PropertyKey, descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>) => TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>;
|
|
17
18
|
}
|
|
18
19
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAmC,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACnF,OAAO,EAML,cAAc,EAIf,MAAM,+BAA+B,CAAC;AAEvC,OAAa,EAAE,KAAK,IAAI,EAAE,MAAM,MAAM,CAAC;AAevC,MAAM,MAAM,iBAAiB,GAAG,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,gBAAgB,GAAG,UAAU,CAAC,GAAG;IAC5F,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAkKF,qBAAa,cAAe,YAAW,cAAc,CAAC,iBAAiB,CAAC;;IA2DpE,QAAQ,CAAC,IAAI,EAAE,MAAM;IA9CvB,MAAM,KAAK,MAAM,IAAI,IAAI,CAAC,WAAW,CAEpC;IAED,IAAI,MAAM,IAAI,IAAI,CAAC,WAAW,CAE7B;WAEY,oBAAoB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM;WAkB9C,sBAAsB,CAAC,YAAY,EAAE,IAAI,CAAC,MAAM;gBAoBlD,IAAI,EAAE,MAAM,EACrB,MAAM,EAAE,IAAI,CAAC,MAAM;IAMf,cAAc,CAAC,CAAC,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,EAAE,iBAAiB;IAI1E,mBAAmB,CAAC,IAAI,EAAE,IAAI,SAAS,OAAO,EAAE,EAAE,MAAM,EACtD,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC,EACpD,MAAM,CAAC,EAAE,iBAAiB,GAAG,YAAY,GACxC,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,OAAO,CAAC,MAAM,CAAC;IAIjD,WAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,kDAI1B,MAAM,eACD,WAAW,cACZ,wBAAwB,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,IAAI,EAAE,IAAI,KAAK,QAAQ,MAAM,CAAC,CAAC,oCAAxC,IAAI,WAAW,IAAI,KAAK,QAAQ,MAAM,CAAC;CAevF"}
|
package/dist/index.js
CHANGED
|
@@ -207,18 +207,19 @@ class KnexDataSource {
|
|
|
207
207
|
return await (0, datasource_1.runTransaction)(func, config?.name ?? func.name, { dsName: this.name, config });
|
|
208
208
|
}
|
|
209
209
|
registerTransaction(func, config) {
|
|
210
|
-
return (0, datasource_1.registerTransaction)(this.name, func,
|
|
210
|
+
return (0, datasource_1.registerTransaction)(this.name, func, config);
|
|
211
211
|
}
|
|
212
212
|
transaction(config) {
|
|
213
213
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
214
214
|
const ds = this;
|
|
215
|
-
return function decorator(
|
|
215
|
+
return function decorator(target, propertyKey, descriptor) {
|
|
216
216
|
if (!descriptor.value) {
|
|
217
217
|
throw Error('Use of decorator when original method is undefined');
|
|
218
218
|
}
|
|
219
219
|
descriptor.value = ds.registerTransaction(descriptor.value, {
|
|
220
220
|
...config,
|
|
221
221
|
name: config?.name ?? String(propertyKey),
|
|
222
|
+
ctorOrProto: target,
|
|
222
223
|
});
|
|
223
224
|
return descriptor;
|
|
224
225
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":";AAAA,qCAAqC;;;;;;AAErC,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"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"}
|
package/index.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
// using https://github.com/knex/knex
|
|
2
2
|
|
|
3
|
-
import { DBOS, DBOSWorkflowConflictError } from '@dbos-inc/dbos-sdk';
|
|
3
|
+
import { DBOS, DBOSWorkflowConflictError, FunctionName } from '@dbos-inc/dbos-sdk';
|
|
4
4
|
import {
|
|
5
5
|
type DataSourceTransactionHandler,
|
|
6
6
|
isPGRetriableTransactionError,
|
|
@@ -28,7 +28,9 @@ interface KnexDataSourceContext {
|
|
|
28
28
|
owner: KnexTransactionHandler;
|
|
29
29
|
}
|
|
30
30
|
|
|
31
|
-
export type TransactionConfig = Pick<Knex.TransactionConfig, 'isolationLevel' | 'readOnly'> & {
|
|
31
|
+
export type TransactionConfig = Pick<Knex.TransactionConfig, 'isolationLevel' | 'readOnly'> & {
|
|
32
|
+
name?: string;
|
|
33
|
+
};
|
|
32
34
|
|
|
33
35
|
const asyncLocalCtx = new AsyncLocalStorage<KnexDataSourceContext>();
|
|
34
36
|
|
|
@@ -262,16 +264,16 @@ export class KnexDataSource implements DBOSDataSource<TransactionConfig> {
|
|
|
262
264
|
|
|
263
265
|
registerTransaction<This, Args extends unknown[], Return>(
|
|
264
266
|
func: (this: This, ...args: Args) => Promise<Return>,
|
|
265
|
-
config?: TransactionConfig,
|
|
267
|
+
config?: TransactionConfig & FunctionName,
|
|
266
268
|
): (this: This, ...args: Args) => Promise<Return> {
|
|
267
|
-
return registerTransaction(this.name, func,
|
|
269
|
+
return registerTransaction(this.name, func, config);
|
|
268
270
|
}
|
|
269
271
|
|
|
270
272
|
transaction(config?: TransactionConfig) {
|
|
271
273
|
// eslint-disable-next-line @typescript-eslint/no-this-alias
|
|
272
274
|
const ds = this;
|
|
273
275
|
return function decorator<This, Args extends unknown[], Return>(
|
|
274
|
-
|
|
276
|
+
target: object,
|
|
275
277
|
propertyKey: PropertyKey,
|
|
276
278
|
descriptor: TypedPropertyDescriptor<(this: This, ...args: Args) => Promise<Return>>,
|
|
277
279
|
) {
|
|
@@ -282,6 +284,7 @@ export class KnexDataSource implements DBOSDataSource<TransactionConfig> {
|
|
|
282
284
|
descriptor.value = ds.registerTransaction(descriptor.value, {
|
|
283
285
|
...config,
|
|
284
286
|
name: config?.name ?? String(propertyKey),
|
|
287
|
+
ctorOrProto: target,
|
|
285
288
|
});
|
|
286
289
|
|
|
287
290
|
return descriptor;
|