@konker.dev/middleware-fp 0.5.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/http/contrib/index.d.ts +1 -0
- package/dist/http/contrib/index.d.ts.map +1 -1
- package/dist/http/contrib/index.js +1 -0
- package/dist/http/contrib/index.js.map +1 -1
- package/dist/http/contrib/sqlClientInitPg/index.d.ts +8 -0
- package/dist/http/contrib/sqlClientInitPg/index.d.ts.map +1 -0
- package/dist/http/contrib/sqlClientInitPg/index.js +10 -0
- package/dist/http/contrib/sqlClientInitPg/index.js.map +1 -0
- package/dist/http/contrib/sqlClientInitPg/index.test.d.ts +4 -0
- package/dist/http/contrib/sqlClientInitPg/index.test.d.ts.map +1 -0
- package/dist/http/contrib/sqlClientInitPg/index.test.js +49 -0
- package/dist/http/contrib/sqlClientInitPg/index.test.js.map +1 -0
- package/dist/http/contrib/sqlClientInitPg/lib.d.ts +25 -0
- package/dist/http/contrib/sqlClientInitPg/lib.d.ts.map +1 -0
- package/dist/http/contrib/sqlClientInitPg/lib.js +40 -0
- package/dist/http/contrib/sqlClientInitPg/lib.js.map +1 -0
- package/dist/http/contrib/sqlClientInitPg/lib.test.d.ts +2 -0
- package/dist/http/contrib/sqlClientInitPg/lib.test.d.ts.map +1 -0
- package/dist/http/contrib/sqlClientInitPg/lib.test.js +45 -0
- package/dist/http/contrib/sqlClientInitPg/lib.test.js.map +1 -0
- package/dist/test/test-common.d.ts +1 -1
- package/dist/test/test-common.d.ts.map +1 -1
- package/dist/test/test-common.js.map +1 -1
- package/package.json +24 -12
|
@@ -23,6 +23,7 @@ export * as pathTokenAuthorizer from './pathTokenAuthorizer.js';
|
|
|
23
23
|
export * as queryStringValidator from './queryStringValidator.js';
|
|
24
24
|
export * as responseProcessor from './responseProcessor.js';
|
|
25
25
|
export * as requestResponseLogger from './requestResponseLogger.js';
|
|
26
|
+
export * as sqlClientInitPg from './sqlClientInitPg/index.js';
|
|
26
27
|
export * as standardRequestResponseAdapter from './standardRequestResponseAdapter.js';
|
|
27
28
|
export * as trivial from './trivial.js';
|
|
28
29
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/contrib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,6BAA6B,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,yBAAyB,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,0BAA0B,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,8BAA8B,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/http/contrib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,6BAA6B,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,yBAAyB,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,0BAA0B,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,8BAA8B,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
|
|
@@ -23,6 +23,7 @@ export * as pathTokenAuthorizer from './pathTokenAuthorizer.js';
|
|
|
23
23
|
export * as queryStringValidator from './queryStringValidator.js';
|
|
24
24
|
export * as responseProcessor from './responseProcessor.js';
|
|
25
25
|
export * as requestResponseLogger from './requestResponseLogger.js';
|
|
26
|
+
export * as sqlClientInitPg from './sqlClientInitPg/index.js';
|
|
26
27
|
export * as standardRequestResponseAdapter from './standardRequestResponseAdapter.js';
|
|
27
28
|
export * as trivial from './trivial.js';
|
|
28
29
|
//# sourceMappingURL=index.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/contrib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,6BAA6B,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,yBAAyB,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,0BAA0B,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,8BAA8B,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/http/contrib/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,6BAA6B,MAAM,oCAAoC,CAAC;AACpF,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,sBAAsB,MAAM,6BAA6B,CAAC;AACtE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,aAAa,MAAM,oBAAoB,CAAC;AACpD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,YAAY,MAAM,mBAAmB,CAAC;AAClD,OAAO,KAAK,yBAAyB,MAAM,sCAAsC,CAAC;AAClF,OAAO,KAAK,iBAAiB,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,eAAe,MAAM,sBAAsB,CAAC;AACxD,OAAO,KAAK,WAAW,MAAM,kBAAkB,CAAC;AAChD,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,0BAA0B,MAAM,iCAAiC,CAAC;AAC9E,OAAO,KAAK,gBAAgB,MAAM,uBAAuB,CAAC;AAC1D,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,UAAU,MAAM,iBAAiB,CAAC;AAC9C,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,uBAAuB,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,mBAAmB,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,oBAAoB,MAAM,2BAA2B,CAAC;AAClE,OAAO,KAAK,iBAAiB,MAAM,wBAAwB,CAAC;AAC5D,OAAO,KAAK,qBAAqB,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,eAAe,MAAM,4BAA4B,CAAC;AAC9D,OAAO,KAAK,8BAA8B,MAAM,qCAAqC,CAAC;AACtF,OAAO,KAAK,OAAO,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { SqlClient } from '@effect/sql/SqlClient';
|
|
2
|
+
import type { SqlError } from '@effect/sql/SqlError';
|
|
3
|
+
import type { ConfigError, Layer } from 'effect';
|
|
4
|
+
import type { Rec, RequestResponseHandler } from '../../index.js';
|
|
5
|
+
export type Adapted<R> = Exclude<R, SqlClient>;
|
|
6
|
+
export { SslConfigSchema, type SslConfig } from './lib.js';
|
|
7
|
+
export declare const middleware: (pgSqlClientLayer?: Layer.Layer<SqlClient, ConfigError.ConfigError | SqlError>) => <I extends Rec, O extends Rec, E, R>(wrapped: RequestResponseHandler<I, O, E, R | SqlClient>) => RequestResponseHandler<I, O, E | ConfigError.ConfigError | SqlError, Adapted<R>>;
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/http/contrib/sqlClientInitPg/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,QAAQ,CAAC;AAIjD,OAAO,KAAK,EAAE,GAAG,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAMlE,MAAM,MAAM,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;AAE/C,OAAO,EAAE,eAAe,EAAE,KAAK,SAAS,EAAE,MAAM,UAAU,CAAC;AAE3D,eAAO,MAAM,UAAU,GACpB,mBAAmB,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,GAAG,QAAQ,CAAC,MAC7E,CAAC,SAAS,GAAG,EAAE,CAAC,SAAS,GAAG,EAAE,CAAC,EAAE,CAAC,EACjC,SAAS,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,SAAS,CAAC,KACtD,sBAAsB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,GAAG,WAAW,CAAC,WAAW,GAAG,QAAQ,EAAE,OAAO,CAAC,CAAC,CAAC,CAKjF,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { pipe } from 'effect';
|
|
2
|
+
import * as Effect from 'effect/Effect';
|
|
3
|
+
import { createDefaultPgSqlClientLayer } from './lib.js';
|
|
4
|
+
const TAG = 'sqlClientInitPg';
|
|
5
|
+
export { SslConfigSchema } from './lib.js';
|
|
6
|
+
export const middleware = (pgSqlClientLayer) => (wrapped) => (i) => {
|
|
7
|
+
const layer = pgSqlClientLayer ?? createDefaultPgSqlClientLayer();
|
|
8
|
+
return pipe(wrapped(i), Effect.provide(layer), Effect.tap(Effect.logDebug(`[${TAG}] OUT`)));
|
|
9
|
+
};
|
|
10
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/http/contrib/sqlClientInitPg/index.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AAC9B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAIxC,OAAO,EAAE,6BAA6B,EAAE,MAAM,UAAU,CAAC;AAEzD,MAAM,GAAG,GAAG,iBAAiB,CAAC;AAI9B,OAAO,EAAE,eAAe,EAAkB,MAAM,UAAU,CAAC;AAE3D,MAAM,CAAC,MAAM,UAAU,GACrB,CAAC,gBAA6E,EAAE,EAAE,CAClF,CACE,OAAuD,EAC2B,EAAE,CACtF,CAAC,CAAc,EAAE,EAAE;IACjB,MAAM,KAAK,GAAG,gBAAgB,IAAI,6BAA6B,EAAE,CAAC;IAElE,OAAO,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../../../../src/http/contrib/sqlClientInitPg/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAQ,MAAM,QAAQ,CAAC;AAUrC,eAAO,MAAM,oBAAoB,sCAAsC,CAAC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import { SqlClient } from '@effect/sql/SqlClient';
|
|
2
|
+
import { Layer, pipe } from 'effect';
|
|
3
|
+
import * as Effect from 'effect/Effect';
|
|
4
|
+
import { describe, expect, it, vi } from 'vitest';
|
|
5
|
+
import { echoCoreIn200W } from '../../../test/test-common.js';
|
|
6
|
+
import { EMPTY_REQUEST_W } from '../../RequestW.js';
|
|
7
|
+
import * as unit from './index.js';
|
|
8
|
+
import * as unitLib from './lib.js';
|
|
9
|
+
// Create a mock PgDrizzle layer for testing
|
|
10
|
+
export const MockPgSqlClientLayer = Layer.succeed(SqlClient, {});
|
|
11
|
+
describe('middleware/sql-client-pg-init', () => {
|
|
12
|
+
describe('middleware', () => {
|
|
13
|
+
it('should work as expected', async () => {
|
|
14
|
+
const egHandler = pipe(echoCoreIn200W, unit.middleware(MockPgSqlClientLayer));
|
|
15
|
+
const result = await pipe(egHandler(EMPTY_REQUEST_W), Effect.runPromise);
|
|
16
|
+
expect(result).toMatchObject({
|
|
17
|
+
body: 'OK',
|
|
18
|
+
headers: {},
|
|
19
|
+
in: {
|
|
20
|
+
url: '/',
|
|
21
|
+
headers: {},
|
|
22
|
+
method: 'GET',
|
|
23
|
+
pathParameters: {},
|
|
24
|
+
queryStringParameters: {},
|
|
25
|
+
},
|
|
26
|
+
statusCode: 200,
|
|
27
|
+
});
|
|
28
|
+
});
|
|
29
|
+
it('should work as expected with default layer', async () => {
|
|
30
|
+
const spy = vi.spyOn(unitLib, 'createDefaultPgSqlClientLayer').mockReturnValue(MockPgSqlClientLayer);
|
|
31
|
+
const egHandler = pipe(echoCoreIn200W, unit.middleware());
|
|
32
|
+
const result = await pipe(egHandler(EMPTY_REQUEST_W), Effect.runPromise);
|
|
33
|
+
expect(spy).toHaveBeenCalledTimes(1);
|
|
34
|
+
expect(result).toMatchObject({
|
|
35
|
+
body: 'OK',
|
|
36
|
+
headers: {},
|
|
37
|
+
in: {
|
|
38
|
+
url: '/',
|
|
39
|
+
headers: {},
|
|
40
|
+
method: 'GET',
|
|
41
|
+
pathParameters: {},
|
|
42
|
+
queryStringParameters: {},
|
|
43
|
+
},
|
|
44
|
+
statusCode: 200,
|
|
45
|
+
});
|
|
46
|
+
});
|
|
47
|
+
});
|
|
48
|
+
});
|
|
49
|
+
//# sourceMappingURL=index.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.test.js","sourceRoot":"","sources":["../../../../src/http/contrib/sqlClientInitPg/index.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAC9D,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,KAAK,IAAI,MAAM,YAAY,CAAC;AACnC,OAAO,KAAK,OAAO,MAAM,UAAU,CAAC;AAEpC,4CAA4C;AAC5C,MAAM,CAAC,MAAM,oBAAoB,GAAG,KAAK,CAAC,OAAO,CAAC,SAAS,EAAE,EAAS,CAAC,CAAC;AAExE,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;QAC1B,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC,CAAC;YAE9E,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAEzE,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE;oBACF,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,KAAK;oBACb,cAAc,EAAE,EAAE;oBAClB,qBAAqB,EAAE,EAAE;iBAC1B;gBACD,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,EAAE,+BAA+B,CAAC,CAAC,eAAe,CAAC,oBAAoB,CAAC,CAAC;YACrG,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;YAE1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAEzE,MAAM,CAAC,GAAG,CAAC,CAAC,qBAAqB,CAAC,CAAC,CAAC,CAAC;YAErC,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC;gBAC3B,IAAI,EAAE,IAAI;gBACV,OAAO,EAAE,EAAE;gBACX,EAAE,EAAE;oBACF,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,EAAE;oBACX,MAAM,EAAE,KAAK;oBACb,cAAc,EAAE,EAAE;oBAClB,qBAAqB,EAAE,EAAE;iBAC1B;gBACD,UAAU,EAAE,GAAG;aAChB,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import type { SqlClient } from '@effect/sql/SqlClient';
|
|
2
|
+
import type { SqlError } from '@effect/sql/SqlError';
|
|
3
|
+
import { Config, ConfigError, type Layer, Schema } from 'effect';
|
|
4
|
+
export declare const SslConfigSchema: Schema.transform<Schema.SchemaClass<unknown, string, never>, Schema.Union<[typeof Schema.Boolean, Schema.Record$<typeof Schema.String, typeof Schema.Unknown>]>>;
|
|
5
|
+
export type SslConfig = typeof SslConfigSchema.Type;
|
|
6
|
+
/**
|
|
7
|
+
* Resolves the SSL configuration for the database by reading and decoding the `DATABASE_SSL` environment variable.
|
|
8
|
+
* If the variable is not set or cannot be decoded, a default value will be applied.
|
|
9
|
+
*
|
|
10
|
+
* @param {SslConfig} [defaultValue=false] - The default SSL configuration to use if no valid configuration is provided.
|
|
11
|
+
* @return {Config.Config<SslConfig>} A configuration object for the SSL configuration, derived from the environment variable or fallback value.
|
|
12
|
+
*/
|
|
13
|
+
export declare function resolveSslConfig(defaultValue: SslConfig): Config.Config<SslConfig>;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a default postgresql client layer configured using environment variables.
|
|
16
|
+
*
|
|
17
|
+
* The configuration includes parameters such as host, port, username, password,
|
|
18
|
+
* database name, and SSL settings. These values are retrieved from the environment
|
|
19
|
+
* or configuration system.
|
|
20
|
+
*
|
|
21
|
+
* @return {Layer.Layer<SqlClient, ConfigError.ConfigError | SqlError>} A layer encapsulating the
|
|
22
|
+
* postgresql client, which can potentially fail due to configuration or SQL-related errors.
|
|
23
|
+
*/
|
|
24
|
+
export declare function createDefaultPgSqlClientLayer(): Layer.Layer<SqlClient, ConfigError.ConfigError | SqlError>;
|
|
25
|
+
//# sourceMappingURL=lib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../../src/http/contrib/sqlClientInitPg/lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAU,KAAK,KAAK,EAAQ,MAAM,EAAE,MAAM,QAAQ,CAAC;AAK/E,eAAO,MAAM,eAAe,kKAE3B,CAAC;AACF,MAAM,MAAM,SAAS,GAAG,OAAO,eAAe,CAAC,IAAI,CAAC;AAGpD;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,YAAY,EAAE,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAclF;AAGD;;;;;;;;;GASG;AACH,wBAAgB,6BAA6B,IAAI,KAAK,CAAC,KAAK,CAAC,SAAS,EAAE,WAAW,CAAC,WAAW,GAAG,QAAQ,CAAC,CAS1G"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import { PgClient } from '@effect/sql-pg';
|
|
2
|
+
import { Config, ConfigError, Either, pipe, Schema } from 'effect';
|
|
3
|
+
import { TreeFormatter } from 'effect/ParseResult';
|
|
4
|
+
// --------------------------------------------------------------------------
|
|
5
|
+
export const SslConfigSchema = Schema.parseJson(Schema.Union(Schema.Boolean, Schema.Record({ key: Schema.String, value: Schema.Unknown })));
|
|
6
|
+
// --------------------------------------------------------------------------
|
|
7
|
+
/**
|
|
8
|
+
* Resolves the SSL configuration for the database by reading and decoding the `DATABASE_SSL` environment variable.
|
|
9
|
+
* If the variable is not set or cannot be decoded, a default value will be applied.
|
|
10
|
+
*
|
|
11
|
+
* @param {SslConfig} [defaultValue=false] - The default SSL configuration to use if no valid configuration is provided.
|
|
12
|
+
* @return {Config.Config<SslConfig>} A configuration object for the SSL configuration, derived from the environment variable or fallback value.
|
|
13
|
+
*/
|
|
14
|
+
export function resolveSslConfig(defaultValue) {
|
|
15
|
+
return Config.string('DATABASE_SSL')
|
|
16
|
+
.pipe(Config.mapOrFail((str) => pipe(str, Schema.decodeUnknownEither(SslConfigSchema), Either.mapLeft((err) => ConfigError.InvalidData([], `[${str}]` + TreeFormatter.formatErrorSync(err))))))
|
|
17
|
+
.pipe(Config.withDefault(defaultValue));
|
|
18
|
+
}
|
|
19
|
+
// --------------------------------------------------------------------------
|
|
20
|
+
/**
|
|
21
|
+
* Creates a default postgresql client layer configured using environment variables.
|
|
22
|
+
*
|
|
23
|
+
* The configuration includes parameters such as host, port, username, password,
|
|
24
|
+
* database name, and SSL settings. These values are retrieved from the environment
|
|
25
|
+
* or configuration system.
|
|
26
|
+
*
|
|
27
|
+
* @return {Layer.Layer<SqlClient, ConfigError.ConfigError | SqlError>} A layer encapsulating the
|
|
28
|
+
* postgresql client, which can potentially fail due to configuration or SQL-related errors.
|
|
29
|
+
*/
|
|
30
|
+
export function createDefaultPgSqlClientLayer() {
|
|
31
|
+
return PgClient.layerConfig({
|
|
32
|
+
host: Config.string('DATABASE_HOST'),
|
|
33
|
+
port: Config.number('DATABASE_PORT'),
|
|
34
|
+
username: Config.string('DATABASE_USER'),
|
|
35
|
+
password: Config.redacted('DATABASE_PASSWORD'),
|
|
36
|
+
database: Config.string('DATABASE_NAME'),
|
|
37
|
+
ssl: resolveSslConfig(false),
|
|
38
|
+
});
|
|
39
|
+
}
|
|
40
|
+
//# sourceMappingURL=lib.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.js","sourceRoot":"","sources":["../../../../src/http/contrib/sqlClientInitPg/lib.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC1C,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAc,IAAI,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAE/E,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAEnD,6EAA6E;AAC7E,MAAM,CAAC,MAAM,eAAe,GAAG,MAAM,CAAC,SAAS,CAC7C,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,OAAO,EAAE,CAAC,CAAC,CAC3F,CAAC;AAGF,6EAA6E;AAC7E;;;;;;GAMG;AACH,MAAM,UAAU,gBAAgB,CAAC,YAAuB;IACtD,OAAO,MAAM,CAAC,MAAM,CAAC,cAAc,CAAC;SACjC,IAAI,CACH,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,EAAE,CACvB,IAAI,CACF,GAAG,EACH,MAAM,CAAC,mBAAmB,CAAC,eAAe,CAAC,EAC3C,MAAM,CAAC,OAAO,CAAC,CAAC,GAAe,EAAE,EAAE,CACjC,WAAW,CAAC,WAAW,CAAC,EAAE,EAAE,IAAI,GAAG,GAAG,GAAG,aAAa,CAAC,eAAe,CAAC,GAAG,CAAC,CAAC,CAC7E,CACF,CACF,CACF;SACA,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;AAC5C,CAAC;AAED,6EAA6E;AAC7E;;;;;;;;;GASG;AACH,MAAM,UAAU,6BAA6B;IAC3C,OAAO,QAAQ,CAAC,WAAW,CAAC;QAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QACpC,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QACpC,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QACxC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAC;QAC9C,QAAQ,EAAE,MAAM,CAAC,MAAM,CAAC,eAAe,CAAC;QACxC,GAAG,EAAE,gBAAgB,CAAC,KAAK,CAAC;KAC7B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.test.d.ts","sourceRoot":"","sources":["../../../../src/http/contrib/sqlClientInitPg/lib.test.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import { Effect, pipe } from 'effect';
|
|
2
|
+
import { afterAll, afterEach, beforeAll, describe, expect, it } from 'vitest';
|
|
3
|
+
import * as unit from './lib.js';
|
|
4
|
+
describe('middleware/sql-client-pg-init/lib', () => {
|
|
5
|
+
describe('resolveSslConfig', () => {
|
|
6
|
+
let _oldEnv;
|
|
7
|
+
beforeAll(() => {
|
|
8
|
+
_oldEnv = process.env;
|
|
9
|
+
process.env = {};
|
|
10
|
+
});
|
|
11
|
+
afterEach(() => {
|
|
12
|
+
process.env = {};
|
|
13
|
+
});
|
|
14
|
+
afterAll(() => {
|
|
15
|
+
process.env = _oldEnv;
|
|
16
|
+
});
|
|
17
|
+
it('should work as expected with boolean value', async () => {
|
|
18
|
+
process.env.DATABASE_SSL = 'true';
|
|
19
|
+
const actual = await pipe(unit.resolveSslConfig(false), Effect.runPromise);
|
|
20
|
+
expect(actual).toEqual(true);
|
|
21
|
+
});
|
|
22
|
+
it('should work as expected with record value', async () => {
|
|
23
|
+
process.env.DATABASE_SSL = '{ "rejectUnauthorized": false }';
|
|
24
|
+
const actual = await pipe(unit.resolveSslConfig(false), Effect.runPromise);
|
|
25
|
+
expect(actual).toStrictEqual({ rejectUnauthorized: false });
|
|
26
|
+
});
|
|
27
|
+
it('should work as expected with default value', async () => {
|
|
28
|
+
const actual = await pipe(unit.resolveSslConfig({ foo: 123 }), Effect.runPromise);
|
|
29
|
+
expect(actual).toStrictEqual({ foo: 123 });
|
|
30
|
+
});
|
|
31
|
+
it('should work as expected with an invalid value', async () => {
|
|
32
|
+
process.env.DATABASE_SSL = '123';
|
|
33
|
+
const actual = async () => pipe(unit.resolveSslConfig(false), Effect.runPromise);
|
|
34
|
+
await expect(actual).rejects.toThrow('Invalid data at DATABASE_SSL');
|
|
35
|
+
});
|
|
36
|
+
});
|
|
37
|
+
describe('createDefaultPgSqlClientLayer', () => {
|
|
38
|
+
it('should work as expected', async () => {
|
|
39
|
+
const layer = unit.createDefaultPgSqlClientLayer();
|
|
40
|
+
// TODO: better assertion?
|
|
41
|
+
expect(layer).toBeDefined();
|
|
42
|
+
});
|
|
43
|
+
});
|
|
44
|
+
});
|
|
45
|
+
//# sourceMappingURL=lib.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.test.js","sourceRoot":"","sources":["../../../../src/http/contrib/sqlClientInitPg/lib.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAE9E,OAAO,KAAK,IAAI,MAAM,UAAU,CAAC;AAEjC,QAAQ,CAAC,mCAAmC,EAAE,GAAG,EAAE;IACjD,QAAQ,CAAC,kBAAkB,EAAE,GAAG,EAAE;QAChC,IAAI,OAA0B,CAAC;QAC/B,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC;YACtB,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,SAAS,CAAC,GAAG,EAAE;YACb,OAAO,CAAC,GAAG,GAAG,EAAE,CAAC;QACnB,CAAC,CAAC,CAAC;QACH,QAAQ,CAAC,GAAG,EAAE;YACZ,OAAO,CAAC,GAAG,GAAG,OAAO,CAAC;QACxB,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,MAAM,CAAC;YAClC,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAE3E,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAC/B,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,2CAA2C,EAAE,KAAK,IAAI,EAAE;YACzD,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,iCAAiC,CAAC;YAC7D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAE3E,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,kBAAkB,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9D,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,4CAA4C,EAAE,KAAK,IAAI,EAAE;YAC1D,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAElF,MAAM,CAAC,MAAM,CAAC,CAAC,aAAa,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAC;QAC7C,CAAC,CAAC,CAAC;QAEH,EAAE,CAAC,+CAA+C,EAAE,KAAK,IAAI,EAAE;YAC7D,OAAO,CAAC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;YACjC,MAAM,MAAM,GAAG,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;YAEjF,MAAM,MAAM,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;QAC7C,EAAE,CAAC,yBAAyB,EAAE,KAAK,IAAI,EAAE;YACvC,MAAM,KAAK,GAAG,IAAI,CAAC,6BAA6B,EAAE,CAAC;YAEnD,0BAA0B;YAC1B,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QAC9B,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
@@ -10,7 +10,7 @@ export declare function echoCoreIn200W<I extends RequestW>(i: I): Effect.Effect<
|
|
|
10
10
|
export declare function echoCoreInStrict200W<I extends RequestW>(i: I): Effect.Effect<ResponseW<{
|
|
11
11
|
in: I;
|
|
12
12
|
}>>;
|
|
13
|
-
export declare const echoCoreInDepsW: <I extends RequestW, E, R
|
|
13
|
+
export declare const echoCoreInDepsW: <I extends RequestW, E, R>(Deps: Context.Tag<R, R>) => (i: I) => Effect.Effect<ResponseW<{
|
|
14
14
|
in: I;
|
|
15
15
|
deps: R;
|
|
16
16
|
}>, E, R>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-common.d.ts","sourceRoot":"","sources":["../../src/test/test-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,eAAO,MAAM,SAAS,uBAAmC,CAAC;AAG1D,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAa5F;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAalG;AAGD,eAAO,MAAM,eAAe,GACzB,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"test-common.d.ts","sourceRoot":"","sources":["../../src/test/test-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAQ,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAiB,KAAK,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAErE,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC;AAC5B,eAAO,MAAM,SAAS,uBAAmC,CAAC;AAG1D,wBAAgB,cAAc,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAa5F;AAED,wBAAgB,oBAAoB,CAAC,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAAE,EAAE,EAAE,CAAC,CAAA;CAAE,CAAC,CAAC,CAalG;AAGD,eAAO,MAAM,eAAe,GACzB,CAAC,SAAS,QAAQ,EAAE,CAAC,EAAE,CAAC,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,MACjD,GAAG,CAAC,KAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC;IAAE,EAAE,EAAE,CAAC,CAAC;IAAC,IAAI,EAAE,CAAC,CAAA;CAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAgBxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"test-common.js","sourceRoot":"","sources":["../../src/test/test-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAkB,MAAM,sBAAsB,CAAC;AAGrE,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAM,OAAO,CAAC,CAAC;AAE1D,gCAAgC;AAChC,MAAM,UAAU,cAAc,CAAqB,CAAI;IACrD,OAAO,MAAM,CAAC,OAAO,CACnB,aAAa,CACX;QACE,UAAU,EAAE,GAAG;QACf,OAAO,EAAE;YACP,GAAG,CAAC,CAAC,OAAO;SACb;QACD,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;KACrB,EACD,EAAE,EAAE,EAAE,CAAC,EAAE,CACV,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAqB,CAAI;IAC3D,OAAO,MAAM,CAAC,OAAO,CACnB,aAAa,CACX;QACE,UAAU,EAAE,GAAG;QACf,OAAO,EAAE;YACP,GAAG,CAAC,CAAC,OAAO;SACb;QACD,IAAI,EAAE,CAAC,CAAC,IAAI;KACb,EACD,EAAE,EAAE,EAAE,CAAC,EAAE,CACV,CACF,CAAC;AACJ,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAC1B,
|
|
1
|
+
{"version":3,"file":"test-common.js","sourceRoot":"","sources":["../../src/test/test-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAGxC,OAAO,EAAE,aAAa,EAAkB,MAAM,sBAAsB,CAAC;AAGrE,MAAM,CAAC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAM,OAAO,CAAC,CAAC;AAE1D,gCAAgC;AAChC,MAAM,UAAU,cAAc,CAAqB,CAAI;IACrD,OAAO,MAAM,CAAC,OAAO,CACnB,aAAa,CACX;QACE,UAAU,EAAE,GAAG;QACf,OAAO,EAAE;YACP,GAAG,CAAC,CAAC,OAAO;SACb;QACD,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;KACrB,EACD,EAAE,EAAE,EAAE,CAAC,EAAE,CACV,CACF,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAqB,CAAI;IAC3D,OAAO,MAAM,CAAC,OAAO,CACnB,aAAa,CACX;QACE,UAAU,EAAE,GAAG;QACf,OAAO,EAAE;YACP,GAAG,CAAC,CAAC,OAAO;SACb;QACD,IAAI,EAAE,CAAC,CAAC,IAAI;KACb,EACD,EAAE,EAAE,EAAE,CAAC,EAAE,CACV,CACF,CAAC;AACJ,CAAC;AAED,gCAAgC;AAChC,MAAM,CAAC,MAAM,eAAe,GAC1B,CAA2B,IAAuB,EAAE,EAAE,CACtD,CAAC,CAAI,EAAsD,EAAE;IAC3D,OAAO,IAAI,CACT,IAAI,EACJ,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAClB,aAAa,CACX;QACE,UAAU,EAAE,GAAG;QACf,OAAO,EAAE;YACP,GAAG,CAAC,CAAC,OAAO;SACb;QACD,IAAI,EAAE,CAAC,CAAC,IAAI,IAAI,IAAI;KACrB,EACD,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,EAAE,CAChB,CACF,CACF,CAAC;AACJ,CAAC,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@konker.dev/middleware-fp",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.8.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"author": "Konrad Markus <mail@konker.dev>",
|
|
6
6
|
"license": "ISC",
|
|
@@ -140,6 +140,14 @@
|
|
|
140
140
|
"types": "./dist/http/contrib/responseProcessor.d.ts",
|
|
141
141
|
"import": "./dist/http/contrib/responseProcessor.js"
|
|
142
142
|
},
|
|
143
|
+
"./http/contrib/sqlClientInitPg": {
|
|
144
|
+
"types": "./dist/http/contrib/sqlClientInitPg/index.d.ts",
|
|
145
|
+
"import": "./dist/http/contrib/sqlClientInitPg/index.js"
|
|
146
|
+
},
|
|
147
|
+
"./http/contrib/sqlClientInitPg/lib": {
|
|
148
|
+
"types": "./dist/http/contrib/sqlClientInitPg/lib.d.ts",
|
|
149
|
+
"import": "./dist/http/contrib/sqlClientInitPg/lib.js"
|
|
150
|
+
},
|
|
143
151
|
"./http/contrib/standardRequestResponseAdapter": {
|
|
144
152
|
"types": "./dist/http/contrib/standardRequestResponseAdapter.d.ts",
|
|
145
153
|
"import": "./dist/http/contrib/standardRequestResponseAdapter.js"
|
|
@@ -227,32 +235,36 @@
|
|
|
227
235
|
],
|
|
228
236
|
"peerDependencies": {
|
|
229
237
|
"@aws-sdk/client-dynamodb": "^3.637.0",
|
|
238
|
+
"@effect/sql": "^0.49.0",
|
|
239
|
+
"@effect/sql-pg": "^0.50.1",
|
|
230
240
|
"@gomomento/sdk": "^1.102.0",
|
|
231
241
|
"aws-lambda": "^1.0.7",
|
|
232
242
|
"hono": "^4.9.9"
|
|
233
243
|
},
|
|
234
244
|
"dependencies": {
|
|
235
|
-
"effect": "^
|
|
245
|
+
"@effect/sql": "^0.49.0",
|
|
246
|
+
"@effect/sql-pg": "^0.50.1",
|
|
247
|
+
"effect": "^3.19.14",
|
|
236
248
|
"lesslog": "^1.0.2",
|
|
237
|
-
"@konker.dev/momento-cache-client-effect": "0.1.12",
|
|
238
|
-
"@konker.dev/tiny-cache-fp": "0.1.13",
|
|
239
249
|
"@konker.dev/tiny-auth-utils-fp": "0.1.12",
|
|
250
|
+
"@konker.dev/tiny-cache-fp": "0.1.13",
|
|
251
|
+
"@konker.dev/tiny-utils-fp": "0.1.13",
|
|
240
252
|
"@konker.dev/tiny-error-fp": "0.1.12",
|
|
241
|
-
"@konker.dev/
|
|
253
|
+
"@konker.dev/momento-cache-client-effect": "0.1.12"
|
|
242
254
|
},
|
|
243
255
|
"devDependencies": {
|
|
244
256
|
"@arethetypeswrong/cli": "^0.18.2",
|
|
245
|
-
"@aws-sdk/client-dynamodb": "^3.
|
|
246
|
-
"@aws-sdk/types": "^3.
|
|
247
|
-
"@effect/language-service": "^0.
|
|
257
|
+
"@aws-sdk/client-dynamodb": "^3.966.0",
|
|
258
|
+
"@aws-sdk/types": "^3.965.0",
|
|
259
|
+
"@effect/language-service": "^0.64.1",
|
|
248
260
|
"@eslint/js": "^9.39.2",
|
|
249
261
|
"@gomomento/sdk": "^1.117.1",
|
|
250
262
|
"@konker.dev/common-config": "^0.7.0",
|
|
251
|
-
"@smithy/smithy-client": "^4.10.
|
|
252
|
-
"@swc/core": "^1.15.
|
|
263
|
+
"@smithy/smithy-client": "^4.10.4",
|
|
264
|
+
"@swc/core": "^1.15.8",
|
|
253
265
|
"@types/aws-lambda": "^8.10.159",
|
|
254
266
|
"@types/micromatch": "^4.0.10",
|
|
255
|
-
"@types/node": "^25.0.
|
|
267
|
+
"@types/node": "^25.0.6",
|
|
256
268
|
"@vitest/coverage-istanbul": "^4.0.16",
|
|
257
269
|
"aws-lambda": "^1.0.7",
|
|
258
270
|
"aws-sdk-client-mock": "^4.1.0",
|
|
@@ -268,7 +280,7 @@
|
|
|
268
280
|
"prettier": "^3.7.4",
|
|
269
281
|
"type-coverage": "^2.29.7",
|
|
270
282
|
"typescript": "^5.9.3",
|
|
271
|
-
"typescript-eslint": "^8.
|
|
283
|
+
"typescript-eslint": "^8.52.0",
|
|
272
284
|
"vitest": "^4.0.16"
|
|
273
285
|
},
|
|
274
286
|
"scripts": {
|