@effect-app/infra 3.0.4 → 3.0.6
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/CHANGELOG.md +17 -0
- package/dist/Emailer/service.d.ts +1 -1
- package/dist/MainFiberSet.d.ts +1 -1
- package/dist/Model/Repository/internal/internal.d.ts.map +1 -1
- package/dist/Model/Repository/internal/internal.js +2 -2
- package/dist/Operations.d.ts +1 -1
- package/dist/QueueMaker/errors.d.ts +1 -1
- package/dist/QueueMaker/errors.d.ts.map +1 -1
- package/dist/RequestFiberSet.d.ts +1 -1
- package/dist/Store/service.d.ts +2 -2
- package/dist/adapters/SQL/Model.d.ts +6 -6
- package/dist/adapters/ServiceBus.d.ts +2 -2
- package/dist/adapters/memQueue.d.ts +1 -1
- package/dist/api/ContextProvider.d.ts +1 -5
- package/dist/api/ContextProvider.d.ts.map +1 -1
- package/dist/api/ContextProvider.js +1 -1
- package/dist/api/routing/middleware/RouterMiddleware.d.ts +2 -3
- package/dist/api/routing/middleware/RouterMiddleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.d.ts +5 -5
- package/dist/api/routing/middleware/middleware.d.ts.map +1 -1
- package/dist/api/routing/middleware/middleware.js +6 -6
- package/dist/api/routing.d.ts +2 -2
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +2 -2
- package/package.json +6 -6
- package/src/Model/Repository/internal/internal.ts +1 -2
- package/src/api/ContextProvider.ts +1 -20
- package/src/api/routing/middleware/RouterMiddleware.ts +2 -3
- package/src/api/routing/middleware/middleware.ts +5 -5
- package/src/api/routing.ts +5 -5
- package/test/controller.test.ts +84 -65
- package/test/dist/controller/test2.test.d.ts.map +1 -0
- package/test/dist/controller.legacy2.test.d.ts.map +1 -0
- package/test/dist/controller.legacy3.test.d.ts.map +1 -0
- package/test/dist/controller.test copy.js +129 -0
- package/test/dist/controller.test.d.ts.map +1 -1
- package/test/dist/controller5.test.d.ts.map +1 -0
- package/test/dist/controller6.test.d.ts.map +1 -0
- package/test/dist/controller7.test.d.ts.map +1 -0
- package/test/dist/dynamicContext.test.d.ts.map +1 -0
- package/test/dist/filterApi.test.d.ts.map +1 -0
- package/test/dist/fixtures.d.ts +11 -10
- package/test/dist/fixtures.d.ts.map +1 -1
- package/test/dist/fixtures.js +8 -8
- package/test/dist/middleware-api.test.d.ts.map +1 -0
- package/test/dist/requires.d.ts +21 -0
- package/test/dist/requires.d.ts.map +1 -0
- package/test/dist/requires.js +27 -0
- package/test/dist/requires.test.d.ts.map +1 -1
- package/test/dist/rpc-multi-middleware.test.d.ts.map +1 -1
- package/test/fixtures.ts +7 -7
- package/test/rawQuery.test.ts +4 -4
- package/test/requires.test.ts +14 -9
- package/test/rpc-multi-middleware.test.ts +2 -1
- package/vitest.config.ts.timestamp-1711656440838-19c636fe320df.mjs +0 -0
- package/vitest.config.ts.timestamp-1711724061890-6ecedb0a07fdd.mjs +0 -0
- package/vitest.config.ts.timestamp-1711743489537-da8d9e5f66c9f.mjs +0 -0
- package/vitest.config.ts.timestamp-1711744615239-dcf257a844e01.mjs +37 -0
- package/wallaby.cjs +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@effect-app/infra",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.6",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
@@ -13,7 +13,7 @@
|
|
|
13
13
|
"proper-lockfile": "^4.1.2",
|
|
14
14
|
"pure-rand": "7.0.1",
|
|
15
15
|
"query-string": "^9.2.2",
|
|
16
|
-
"effect-app": "3.0.
|
|
16
|
+
"effect-app": "3.0.4"
|
|
17
17
|
},
|
|
18
18
|
"devDependencies": {
|
|
19
19
|
"@azure/cosmos": "^4.5.0",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"redis": "^3.1.2",
|
|
33
33
|
"redlock": "^4.2.0",
|
|
34
34
|
"strip-ansi": "^7.1.0",
|
|
35
|
-
"typescript": "~5.
|
|
35
|
+
"typescript": "~5.9.2",
|
|
36
36
|
"vitest": "^3.2.4"
|
|
37
37
|
},
|
|
38
38
|
"peerDependencies": {
|
|
@@ -382,15 +382,15 @@
|
|
|
382
382
|
"sideEffects": false,
|
|
383
383
|
"scripts": {
|
|
384
384
|
"watch": "pnpm build:tsc -w",
|
|
385
|
-
"build:tsc": "pnpm clean-dist && effect-app-cli packagejson
|
|
385
|
+
"build:tsc": "pnpm clean-dist && effect-app-cli packagejson tsc --build",
|
|
386
386
|
"build": "pnpm build:tsc",
|
|
387
|
-
"watch2": "pnpm clean-dist && NODE_OPTIONS=--max-old-space-size=6144
|
|
387
|
+
"watch2": "pnpm clean-dist && NODE_OPTIONS=--max-old-space-size=6144 tsc -w",
|
|
388
388
|
"clean": "rm -rf dist",
|
|
389
389
|
"clean-dist": "sh ../../scripts/clean-dist.sh",
|
|
390
390
|
"circular": "pnpm circular:src && pnpm circular:dist",
|
|
391
391
|
"circular:src": "madge --circular --ts-config ./tsconfig.json --extensions ts ./src",
|
|
392
392
|
"circular:dist": "madge --circular --extensions js ./dist",
|
|
393
|
-
"compile": "NODE_OPTIONS=--max-old-space-size=6144
|
|
393
|
+
"compile": "NODE_OPTIONS=--max-old-space-size=6144 tsc --noEmit",
|
|
394
394
|
"lint": "NODE_OPTIONS=--max-old-space-size=6144 ESLINT_TS=1 eslint ./src",
|
|
395
395
|
"lint:watch": "ESLINT_TS=1 esw -w --changed --clear --ext ts,tsx .",
|
|
396
396
|
"autofix": "pnpm lint --fix",
|
|
@@ -81,8 +81,7 @@ export function makeRepoInternal<
|
|
|
81
81
|
const decode = flow(S.decode(schema), provideRctx)
|
|
82
82
|
const decodeMany = flow(
|
|
83
83
|
S.decode(S.Array(schema)),
|
|
84
|
-
provideRctx
|
|
85
|
-
Effect.withSpan("decodeMany", { captureStackTrace: false })
|
|
84
|
+
provideRctx
|
|
86
85
|
)
|
|
87
86
|
|
|
88
87
|
const store = yield* mkStore(args.makeInitial, args.config)
|
|
@@ -2,30 +2,11 @@
|
|
|
2
2
|
import { Context, Effect, Layer, type NonEmptyReadonlyArray, pipe, type Scope } from "effect-app"
|
|
3
3
|
|
|
4
4
|
import { type HttpLayerRouter } from "effect-app/http"
|
|
5
|
+
import { type EffectGenUtils } from "effect-app/utils/gen"
|
|
5
6
|
import { type Tag } from "effect/Context"
|
|
6
7
|
import { type YieldWrap } from "effect/Utils"
|
|
7
8
|
import { type ContextTagWithDefault, type GetContext, type LayerUtils, mergeContexts } from "./layerUtils.js"
|
|
8
9
|
|
|
9
|
-
export namespace EffectGenUtils {
|
|
10
|
-
export type Success<EG> = EG extends Effect<infer A, infer _E, infer _R> ? A
|
|
11
|
-
// there could be a case where the generator function does not yield anything, so we need to handle that
|
|
12
|
-
: EG extends (..._: infer _3) => Generator<never, infer A, infer _2> ? A
|
|
13
|
-
: EG extends (..._: infer _3) => Generator<YieldWrap<Effect<infer _, infer _E, infer _R>>, infer A, infer _2> ? A
|
|
14
|
-
: never
|
|
15
|
-
|
|
16
|
-
export type Error<EG> = EG extends Effect<infer _A, infer E, infer _R> ? E
|
|
17
|
-
// there could be a case where the generator function does not yield anything, so we need to handle that
|
|
18
|
-
: EG extends (..._: infer _3) => Generator<never, infer _A, infer _2> ? never
|
|
19
|
-
: EG extends (..._: infer _3) => Generator<YieldWrap<Effect<infer _, infer E, infer _R>>, infer _A, infer _2> ? E
|
|
20
|
-
: never
|
|
21
|
-
|
|
22
|
-
export type Context<EG> = EG extends Effect<infer _A, infer _E, infer R> ? R
|
|
23
|
-
// there could be a case where the generator function does not yield anything, so we need to handle that
|
|
24
|
-
: EG extends (..._: infer _3) => Generator<never, infer _A, infer _2> ? never
|
|
25
|
-
: EG extends (..._: infer _3) => Generator<YieldWrap<Effect<infer _, infer _E, infer R>>, infer _A, infer _2> ? R
|
|
26
|
-
: never
|
|
27
|
-
}
|
|
28
|
-
|
|
29
10
|
// // the context provider provides additional stuff
|
|
30
11
|
// export type ContextProviderShape<ContextProviderA, ContextProviderR> = Effect<
|
|
31
12
|
// Context.Context<ContextProviderA>,
|
|
@@ -3,13 +3,12 @@
|
|
|
3
3
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
4
4
|
import { type RpcMiddleware } from "@effect/rpc"
|
|
5
5
|
import { type Context, type Layer } from "effect-app"
|
|
6
|
-
import type
|
|
7
|
-
import { type MiddlewareMakerId } from "effect-app/rpc"
|
|
6
|
+
import { type GetContextConfig, type MiddlewareMakerId, type RpcContextMap } from "effect-app/rpc"
|
|
8
7
|
// module:
|
|
9
8
|
//
|
|
10
9
|
|
|
11
10
|
export type RouterMiddleware<
|
|
12
|
-
RequestContextMap extends Record<string,
|
|
11
|
+
RequestContextMap extends Record<string, RpcContextMap.Any>, // what services will the middlware provide dynamically to the next, or raise errors.
|
|
13
12
|
MakeMiddlewareE, // what the middleware construction can fail with
|
|
14
13
|
MakeMiddlewareR, // what the middlware requires to be constructed
|
|
15
14
|
ContextProviderA, // what the context provider provides
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import { Cause, Duration, Effect, Layer, ParseResult, Request, Schedule, type Schema } from "effect"
|
|
3
|
-
import
|
|
3
|
+
import { ConfigureInterruptibilityMiddleware, DevMode, LoggerMiddleware, RequestCacheMiddleware } from "effect-app/middleware"
|
|
4
4
|
import { pretty } from "effect-app/utils"
|
|
5
5
|
import { logError, reportError } from "../../../errorReporter.js"
|
|
6
6
|
import { InfraLogger } from "../../../logger.js"
|
|
@@ -18,7 +18,7 @@ export const RequestCacheLayers = Layer.mergeAll(
|
|
|
18
18
|
)
|
|
19
19
|
|
|
20
20
|
export const RequestCacheMiddlewareLive = Layer.succeed(
|
|
21
|
-
|
|
21
|
+
RequestCacheMiddleware,
|
|
22
22
|
(effect) => effect.pipe(Effect.provide(RequestCacheLayers))
|
|
23
23
|
)
|
|
24
24
|
|
|
@@ -28,7 +28,7 @@ const optimisticConcurrencySchedule = Schedule.once.pipe(
|
|
|
28
28
|
)
|
|
29
29
|
|
|
30
30
|
export const ConfigureInterruptibilityMiddlewareLive = Layer.effect(
|
|
31
|
-
|
|
31
|
+
ConfigureInterruptibilityMiddleware,
|
|
32
32
|
Effect.gen(function*() {
|
|
33
33
|
const cache = new Map()
|
|
34
34
|
const getCached = (key: string, schema: Schema.Schema.Any) => {
|
|
@@ -51,9 +51,9 @@ export const ConfigureInterruptibilityMiddlewareLive = Layer.effect(
|
|
|
51
51
|
)
|
|
52
52
|
|
|
53
53
|
export const LoggerMiddlewareLive = Layer.effect(
|
|
54
|
-
|
|
54
|
+
LoggerMiddleware,
|
|
55
55
|
Effect.gen(function*() {
|
|
56
|
-
const devMode = yield*
|
|
56
|
+
const devMode = yield* DevMode
|
|
57
57
|
return (effect, { headers, payload, rpc }) =>
|
|
58
58
|
Effect
|
|
59
59
|
.annotateCurrentSpan({
|
package/src/api/routing.ts
CHANGED
|
@@ -4,9 +4,9 @@
|
|
|
4
4
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
5
5
|
import { Rpc, RpcGroup, type RpcSerialization, RpcServer } from "@effect/rpc"
|
|
6
6
|
import { type Array, Effect, Layer, type NonEmptyReadonlyArray, Predicate, S, Schema, type Scope } from "effect-app"
|
|
7
|
-
import type { GetEffectContext, GetEffectError, RPCContextMap } from "effect-app/client/req"
|
|
8
7
|
import { type HttpHeaders } from "effect-app/http"
|
|
9
|
-
import { DevMode } from "effect-app/
|
|
8
|
+
import { DevMode } from "effect-app/middleware"
|
|
9
|
+
import { type GetEffectContext, type GetEffectError, type RpcContextMap } from "effect-app/rpc"
|
|
10
10
|
import { type TypeTestId } from "effect-app/TypeTest"
|
|
11
11
|
import { typedKeysOf, typedValuesOf } from "effect-app/utils"
|
|
12
12
|
import { type Service } from "effect/Effect"
|
|
@@ -93,7 +93,7 @@ type FilterRequestModules<T> = {
|
|
|
93
93
|
[K in keyof T as T[K] extends AnyRequestModule ? K : never]: T[K]
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
type
|
|
96
|
+
type RpcRouteR<
|
|
97
97
|
T extends [any, (req: any, headers: HttpHeaders.Headers) => Effect<any, any, any>]
|
|
98
98
|
> = T extends [
|
|
99
99
|
any,
|
|
@@ -153,7 +153,7 @@ export type RouteMatcher<
|
|
|
153
153
|
}
|
|
154
154
|
|
|
155
155
|
export const makeRouter = <
|
|
156
|
-
RequestContextMap extends Record<string,
|
|
156
|
+
RequestContextMap extends Record<string, RpcContextMap.Any>,
|
|
157
157
|
MakeMiddlewareE,
|
|
158
158
|
MakeMiddlewareR,
|
|
159
159
|
ContextProviderA,
|
|
@@ -427,7 +427,7 @@ export const makeRouter = <
|
|
|
427
427
|
})) as unknown as Layer<
|
|
428
428
|
{ [K in keyof RequestModules]: Rpc.Handler<K> },
|
|
429
429
|
MakeE,
|
|
430
|
-
|
|
430
|
+
RpcRouteR<typeof mapped[keyof typeof mapped]>
|
|
431
431
|
>
|
|
432
432
|
|
|
433
433
|
return RpcServer
|
package/test/controller.test.ts
CHANGED
|
@@ -5,101 +5,114 @@ import { type RpcSerialization } from "@effect/rpc"
|
|
|
5
5
|
import { expect, expectTypeOf, it } from "@effect/vitest"
|
|
6
6
|
import { Context, Effect, Layer, S, Scope } from "effect-app"
|
|
7
7
|
import { InvalidStateError, makeRpcClient, NotLoggedInError, UnauthorizedError } from "effect-app/client"
|
|
8
|
-
import { DefaultGenericMiddlewares
|
|
8
|
+
import { DefaultGenericMiddlewares } from "effect-app/middleware"
|
|
9
|
+
import * as RpcX from "effect-app/rpc"
|
|
9
10
|
import { TypeTestId } from "effect-app/TypeTest"
|
|
10
11
|
import { DefaultGenericMiddlewaresLive } from "../src/api/routing/middleware.js"
|
|
11
12
|
import { sort } from "../src/api/routing/tsort.js"
|
|
12
13
|
import { AllowAnonymous, AllowAnonymousLive, CustomError1, RequestContextMap, RequireRoles, RequireRolesLive, Some, SomeElse, SomeService, Test, TestLive } from "./fixtures.js"
|
|
13
14
|
|
|
14
15
|
// @effect-diagnostics-next-line missingEffectServiceDependency:off
|
|
15
|
-
class MyContextProvider extends
|
|
16
|
+
class MyContextProvider extends RpcX.Tag<MyContextProvider, {
|
|
16
17
|
provides: Some
|
|
17
18
|
requires: SomeElse
|
|
18
|
-
}>()("MyContextProvider"
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
19
|
+
}>()("MyContextProvider") {
|
|
20
|
+
static Default = Layer.make(this, {
|
|
21
|
+
*make() {
|
|
22
|
+
yield* SomeService
|
|
23
|
+
if (Math.random() > 0.5) return yield* new CustomError1()
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
25
|
+
return Effect.fnUntraced(function*(effect) {
|
|
26
|
+
yield* SomeElse
|
|
27
|
+
// the only requirements you can have are the one provided by HttpLayerRouter.Provided
|
|
28
|
+
yield* Scope.Scope
|
|
27
29
|
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
yield* Effect.logInfo("MyContextProviderGen", "this is a generator")
|
|
31
|
+
yield* Effect.succeed("this is a generator")
|
|
30
32
|
|
|
31
|
-
|
|
32
|
-
|
|
33
|
+
// this is allowed here but mergeContextProviders/MergedContextProvider will trigger an error
|
|
34
|
+
// yield* SomeElse
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
36
|
+
// currently the effectful context provider cannot trigger an error when building the per request context
|
|
37
|
+
// this is allowed here but mergeContextProviders/MergedContextProvider will trigger an error
|
|
38
|
+
// if (Math.random() > 0.5) return yield* new CustomError2()
|
|
37
39
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
+
return yield* Effect.provideService(effect, Some, new Some({ a: 1 }))
|
|
41
|
+
})
|
|
42
|
+
}
|
|
40
43
|
})
|
|
41
|
-
|
|
44
|
+
static but_why = "???" // remove me and life rocks
|
|
45
|
+
}
|
|
42
46
|
|
|
43
47
|
// @effect-diagnostics-next-line missingEffectServiceDependency:off
|
|
44
|
-
class MyContextProvider3 extends
|
|
48
|
+
class MyContextProvider3 extends RpcX.Tag<MyContextProvider3, {
|
|
45
49
|
provides: Some
|
|
46
50
|
requires: SomeElse
|
|
47
|
-
}>()("MyContextProvider3"
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
51
|
+
}>()("MyContextProvider3") {
|
|
52
|
+
static Default = Layer.make(this, {
|
|
53
|
+
dependencies: [Layer.effect(SomeService, SomeService.make)],
|
|
54
|
+
*make() {
|
|
55
|
+
yield* SomeService
|
|
56
|
+
if (Math.random() > 0.5) return yield* new CustomError1()
|
|
52
57
|
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
return Effect.fnUntraced(function*(effect) {
|
|
59
|
+
yield* SomeElse
|
|
60
|
+
// the only requirements you can have are the one provided by HttpLayerRouter.Provided
|
|
61
|
+
yield* Scope.Scope
|
|
57
62
|
|
|
58
|
-
|
|
59
|
-
|
|
63
|
+
yield* Effect.logInfo("MyContextProviderGen", "this is a generator")
|
|
64
|
+
yield* Effect.succeed("this is a generator")
|
|
60
65
|
|
|
61
|
-
|
|
62
|
-
|
|
66
|
+
// this is allowed here but mergeContextProviders/MergedContextProvider will trigger an error
|
|
67
|
+
// yield* SomeElse
|
|
63
68
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
69
|
+
// currently the effectful context provider cannot trigger an error when building the per request context
|
|
70
|
+
// this is allowed here but mergeContextProviders/MergedContextProvider will trigger an error
|
|
71
|
+
// if (Math.random() > 0.5) return yield* new CustomError2()
|
|
67
72
|
|
|
68
|
-
|
|
69
|
-
|
|
73
|
+
return yield* Effect.provideService(effect, Some, new Some({ a: 1 }))
|
|
74
|
+
})
|
|
75
|
+
}
|
|
70
76
|
})
|
|
71
|
-
}
|
|
77
|
+
}
|
|
72
78
|
|
|
73
|
-
expectTypeOf(MyContextProvider3.Default).toEqualTypeOf<
|
|
79
|
+
expectTypeOf(MyContextProvider3.Default).toEqualTypeOf<
|
|
80
|
+
Layer.Layer<MyContextProvider3, CustomError1, never> & {
|
|
81
|
+
withoutDependencies: Layer.Layer<MyContextProvider3, CustomError1, SomeService>
|
|
82
|
+
}
|
|
83
|
+
>()
|
|
74
84
|
|
|
75
85
|
// @effect-diagnostics-next-line missingEffectServiceDependency:off
|
|
76
|
-
class MyContextProvider2 extends
|
|
77
|
-
|
|
78
|
-
|
|
86
|
+
class MyContextProvider2 extends RpcX.Tag<MyContextProvider2, { provides: SomeElse }>()("MyContextProvider2") {
|
|
87
|
+
static Default = Layer.make(this, {
|
|
88
|
+
*make() {
|
|
89
|
+
if (Math.random() > 0.5) return yield* new CustomError1()
|
|
79
90
|
|
|
80
|
-
|
|
81
|
-
|
|
91
|
+
return Effect.fnUntraced(function*(effect) {
|
|
92
|
+
// we test without dependencies, so that we end up with an R of never.
|
|
82
93
|
|
|
83
|
-
|
|
84
|
-
|
|
94
|
+
return yield* Effect.provideService(effect, SomeElse, new SomeElse({ b: 2 }))
|
|
95
|
+
})
|
|
96
|
+
}
|
|
85
97
|
})
|
|
86
|
-
}
|
|
98
|
+
}
|
|
87
99
|
|
|
88
100
|
//
|
|
89
101
|
|
|
90
102
|
const Str = Context.GenericTag<"str", "str">("str")
|
|
91
103
|
|
|
92
|
-
export class BogusMiddleware extends
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
104
|
+
export class BogusMiddleware extends RpcX.Tag<BogusMiddleware>()("BogusMiddleware") {
|
|
105
|
+
static Default = Layer.make(this, {
|
|
106
|
+
*make() {
|
|
107
|
+
yield* Str
|
|
108
|
+
// yield* Effect.context<"test-dep">()
|
|
109
|
+
return (effect) =>
|
|
110
|
+
Effect.gen(function*() {
|
|
111
|
+
// yield* Effect.context<"test-dep2">()
|
|
112
|
+
return yield* effect
|
|
113
|
+
})
|
|
114
|
+
}
|
|
101
115
|
})
|
|
102
|
-
}) {
|
|
103
116
|
}
|
|
104
117
|
|
|
105
118
|
const genericMiddlewares = [
|
|
@@ -114,7 +127,8 @@ const genericMiddlewaresLive = [
|
|
|
114
127
|
MyContextProvider2.Default
|
|
115
128
|
] as const
|
|
116
129
|
|
|
117
|
-
const middleware =
|
|
130
|
+
const middleware = RpcX
|
|
131
|
+
.makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
118
132
|
.middleware(
|
|
119
133
|
RequireRoles,
|
|
120
134
|
Test
|
|
@@ -124,7 +138,8 @@ const middleware = makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
|
124
138
|
.middleware(MyContextProvider)
|
|
125
139
|
.middleware(...genericMiddlewares)
|
|
126
140
|
|
|
127
|
-
const middlewareBis =
|
|
141
|
+
const middlewareBis = RpcX
|
|
142
|
+
.makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
128
143
|
.middleware(
|
|
129
144
|
RequireRoles,
|
|
130
145
|
Test
|
|
@@ -134,7 +149,8 @@ const middlewareBis = makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
|
134
149
|
|
|
135
150
|
expectTypeOf(middleware).toEqualTypeOf<typeof middlewareBis>()
|
|
136
151
|
|
|
137
|
-
const middlewareTrisWip =
|
|
152
|
+
const middlewareTrisWip = RpcX
|
|
153
|
+
.makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
138
154
|
.middleware(
|
|
139
155
|
MyContextProvider,
|
|
140
156
|
RequireRoles,
|
|
@@ -147,7 +163,8 @@ expectTypeOf(middlewareTrisWip).toEqualTypeOf<{
|
|
|
147
163
|
}>()
|
|
148
164
|
|
|
149
165
|
// testing more sideways elimination]
|
|
150
|
-
const middlewareQuater =
|
|
166
|
+
const middlewareQuater = RpcX
|
|
167
|
+
.makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
151
168
|
.middleware(
|
|
152
169
|
RequireRoles,
|
|
153
170
|
Test,
|
|
@@ -158,13 +175,15 @@ const middlewareQuater = makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
|
158
175
|
|
|
159
176
|
expectTypeOf(middleware).toEqualTypeOf<typeof middlewareQuater>()
|
|
160
177
|
|
|
161
|
-
const middleware2 =
|
|
178
|
+
const middleware2 = RpcX
|
|
179
|
+
.makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
162
180
|
.middleware(MyContextProvider)
|
|
163
181
|
.middleware(RequireRoles, Test)
|
|
164
182
|
.middleware(AllowAnonymous)
|
|
165
183
|
.middleware(...DefaultGenericMiddlewares, BogusMiddleware, MyContextProvider2)
|
|
166
184
|
|
|
167
|
-
export const middleware3 =
|
|
185
|
+
export const middleware3 = RpcX
|
|
186
|
+
.makeMiddleware<RequestContextMap>(RequestContextMap)
|
|
168
187
|
.middleware(...genericMiddlewares)
|
|
169
188
|
.middleware(AllowAnonymous, RequireRoles)
|
|
170
189
|
.middleware(Test)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"test2.test.d.ts","sourceRoot":"","sources":["../../controller/test2.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAA8B,MAAM,+BAA+B,CAAA;AAC7G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AAEtE,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,EAAY,MAAM,YAAY,CAAA;AAChE,OAAO,EAAE,KAAK,gBAAgB,EAAoC,KAAK,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAClI,OAAO,EAAE,KAAK,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGxD,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;;;;;;;;AAE9C,cAAM,WAAY,SAAQ,gBAIzB;CACA;;;;;;AAED,cAAM,gBAAiB,SAAQ,qBAE7B;CAAG;AAKL,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,cAAc,CAAA;CACxB;;;;;;;;;;;;;;;;;;;;;;;;;AAED,qBAAa,IAAK,SAAQ,SAA2D;CAAG;;;;;AAExF,qBAAa,YAAa,SAAQ,iBAQhC;CAAG;AAEL,MAAM,MAAM,MAAM,GAAG;IACnB,cAAc,EAAE,aAAa,CAAC,QAAQ,CAAC,aAAa,EAAE,WAAW,EAAE,OAAO,gBAAgB,CAAC,CAAA;IAE3F,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CACvF,CAAA;AAsGD,MAAM,MAAM,aAAa,GAAG;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,CAAA;AACD,eAAO,MAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAG/B,CAAA;;;;;;;;;;AAEF,qBAAa,GAAI,SAAQ,QAA0C;CAAG;;;;;;;;;;AACtE,qBAAa,GAAI,SAAQ,QAA0C;CAAG;;;;;;;;;;;;AAEtE,qBAAa,WAAY,SAAQ,gBAEV;CAAG;;;;;;;;;;;;AAE1B,qBAAa,YAAa,SAAQ,iBAET;CAAG;;;;;;;;;;;;AAE5B,qBAAa,aAAc,SAAQ,kBAEA;CAAG;;;;;AAItC,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;;AASL,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG;AAEL,eAAO,MAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,QAAQ;;;;;2HAAE,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qFAAiC,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.legacy2.test.d.ts","sourceRoot":"","sources":["../controller.legacy2.test.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller.legacy3.test.d.ts","sourceRoot":"","sources":["../controller.legacy3.test.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAW,MAAM,EAAY,KAAK,EAAE,CAAC,EAAY,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAwC,KAAK,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC/G,OAAO,EAAe,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAOhE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,MAAM,MAAM,GAAG;IAGnB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CACvF,CAAA;AAmGD,eAAO,MAAQ,QAAQ;;;;;gBA0EgwD,MAAO,KAAK;;;;;;GA1E1wD,QAAQ;;;;;;iDA0Eq0F,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;iDAAg1D,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;iDAAg1D,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;iDAAg1D,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;iDAA2yD,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CA1E1oU,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,CAAA;AACD,eAAO,MAAuB,GAAG;yCAxEL,EAAG,MAAM,CAAC,MAAM;iBAgClC,EA/BK,MACb,CA8BQ,GA9BJ,GA8BI,EA9BC,MAEV,CA4BS,MA5BF;iBAAuB,EAAE,MAC9B,CA2BO,GA3BH,GA2BG,EA3BG,MAAK,CAAC,MAAM;;;;;;2CASkB,EAAG,MAAM,CAAC,MAAM;iBAkBjD,EAAA,MAjBA,CAAC,GAAG,GAAE,EAAG,MAAM,CAAC,MAAM;;;;;;2CAiBtB,EAPO,MAAC,CAAC,MAAM;iBACA,EAAG,MAAM,CAAC,GAAG,GAAE,EAAG,MAAM,CAAC,MAAM;;;;;;2CAc1C,EAAA,MAAL,CAAK,MAAE;;;;;2CAMqC,EAAG,MAAM,CAAC,MAAM;;;;;CA6BnE,CAAA;;;;;;;;;;AAEF,qBAAa,YAAa,SAAQ,iBAEX;CAAG;;;;;;;;;;AAE1B,qBAAa,gBAAiB,SAAQ,qBAEb;CAAG;;;;;AAI5B,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;;AASL,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG"}
|
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
/* eslint-disable @typescript-eslint/no-unsafe-member-access */
|
|
2
|
+
import { Rpc } from "@effect/rpc";
|
|
3
|
+
import { Context, Effect, FiberRef, Layer, S, Schedule } from "effect-app";
|
|
4
|
+
import { makeRpcClient, UnauthorizedError } from "effect-app/client";
|
|
5
|
+
import { HttpHeaders, HttpServerRequest } from "effect-app/http";
|
|
6
|
+
import { makeMiddleware, makeRouter } from "../src/api/routing5.js";
|
|
7
|
+
const optimisticConcurrencySchedule = Schedule.once
|
|
8
|
+
&& Schedule.recurWhile((a) => a?._tag === "OptimisticConcurrencyException");
|
|
9
|
+
const middleware = makeMiddleware({
|
|
10
|
+
contextMap: null,
|
|
11
|
+
// helper to deal with nested generic lmitations
|
|
12
|
+
context: null,
|
|
13
|
+
execute: Effect.gen(function* () {
|
|
14
|
+
return (schema, handler, moduleName) => (req) => Effect
|
|
15
|
+
.gen(function* () {
|
|
16
|
+
const headers = yield* Rpc.currentHeaders;
|
|
17
|
+
const ctx = Context.empty();
|
|
18
|
+
const config = "config" in schema ? schema.config : undefined;
|
|
19
|
+
// Check JWT
|
|
20
|
+
// TODO
|
|
21
|
+
// if (!fakeLogin && !request.allowAnonymous) {
|
|
22
|
+
// yield* Effect.catchAll(
|
|
23
|
+
// checkJWTI({
|
|
24
|
+
// ...authConfig,
|
|
25
|
+
// issuer: authConfig.issuer + "/",
|
|
26
|
+
// jwksUri: `${authConfig.issuer}/.well-known/jwks.json`
|
|
27
|
+
// }),
|
|
28
|
+
// (err) => Effect.fail(new JWTError({ error: err }))
|
|
29
|
+
// )
|
|
30
|
+
// }
|
|
31
|
+
// const fakeLogin = true
|
|
32
|
+
// const r = (fakeLogin
|
|
33
|
+
// ? makeUserProfileFromUserHeader(headers["x-user"])
|
|
34
|
+
// : makeUserProfileFromAuthorizationHeader(
|
|
35
|
+
// headers["authorization"]
|
|
36
|
+
// ))
|
|
37
|
+
// .pipe(Effect.exit, basicRuntime.runSync)
|
|
38
|
+
// if (!Exit.isSuccess(r)) {
|
|
39
|
+
// yield* Effect.logWarning("Parsing userInfo failed").pipe(Effect.annotateLogs("r", r))
|
|
40
|
+
// }
|
|
41
|
+
// const userProfile = Option.fromNullable(Exit.isSuccess(r) ? r.value : undefined)
|
|
42
|
+
// if (Option.isSome(userProfile)) {
|
|
43
|
+
// // yield* rcc.update((_) => ({ ..._, userPorfile: userProfile.value }))
|
|
44
|
+
// ctx = ctx.pipe(Context.add(UserProfile, userProfile.value))
|
|
45
|
+
// } else if (!config?.allowAnonymous) {
|
|
46
|
+
// return yield* new NotLoggedInError({ message: "no auth" })
|
|
47
|
+
// }
|
|
48
|
+
// if (config?.requireRoles) {
|
|
49
|
+
// // TODO
|
|
50
|
+
// if (
|
|
51
|
+
// !userProfile.value
|
|
52
|
+
// || !config.requireRoles.every((role: any) => userProfile.value!.roles.includes(role))
|
|
53
|
+
// ) {
|
|
54
|
+
// return yield* new UnauthorizedError()
|
|
55
|
+
// }
|
|
56
|
+
// }
|
|
57
|
+
return yield* handler(req).pipe(Effect.retry(optimisticConcurrencySchedule), Effect.provide(ctx));
|
|
58
|
+
})
|
|
59
|
+
.pipe(Effect.provide(Effect
|
|
60
|
+
.gen(function* () {
|
|
61
|
+
yield* Effect.annotateCurrentSpan("request.name", moduleName ? `${moduleName}.${req._tag}` : req._tag);
|
|
62
|
+
// yield* RequestContextContainer.update((_) => ({
|
|
63
|
+
// ..._,
|
|
64
|
+
// name: NonEmptyString255(moduleName ? `${moduleName}.${req._tag}` : req._tag)
|
|
65
|
+
// }))
|
|
66
|
+
const httpReq = yield* HttpServerRequest.HttpServerRequest;
|
|
67
|
+
// TODO: only pass Authentication etc, or move headers to actual Rpc Headers
|
|
68
|
+
yield* FiberRef.update(Rpc.currentHeaders, (headers) => HttpHeaders.merge(httpReq.headers, headers));
|
|
69
|
+
})
|
|
70
|
+
.pipe(Layer.effectDiscard)));
|
|
71
|
+
// .pipe(Effect.provide(RequestCacheLayers)) as any
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
export const { matchAll, matchFor } = makeRouter(middleware, true);
|
|
75
|
+
export const { TaggedRequest: Req } = makeRpcClient({
|
|
76
|
+
// allowAnonymous: NotLoggedInError,
|
|
77
|
+
requireRoles: UnauthorizedError
|
|
78
|
+
});
|
|
79
|
+
export class GetSomething extends Req()("GetSomething", {
|
|
80
|
+
id: S.String
|
|
81
|
+
}, { success: S.Void }) {
|
|
82
|
+
}
|
|
83
|
+
export class GetSomethingElse extends Req()("GetSomethingElse", {
|
|
84
|
+
id: S.String
|
|
85
|
+
}, { success: S.String }) {
|
|
86
|
+
}
|
|
87
|
+
const Something = { GetSomething, GetSomethingElse, meta: { moduleName: "Something" } };
|
|
88
|
+
export class SomethingService extends Effect.Service()("SomethingService", {
|
|
89
|
+
dependencies: [],
|
|
90
|
+
effect: Effect.gen(function* () {
|
|
91
|
+
return {};
|
|
92
|
+
})
|
|
93
|
+
}) {
|
|
94
|
+
}
|
|
95
|
+
const c = a({ a: 5 });
|
|
96
|
+
export class SomethingRepo extends Effect.Service()("SomethingRepo", {
|
|
97
|
+
dependencies: [SomethingService.Default],
|
|
98
|
+
effect: Effect.gen(function* () {
|
|
99
|
+
const smth = yield* SomethingService;
|
|
100
|
+
return {};
|
|
101
|
+
})
|
|
102
|
+
}) {
|
|
103
|
+
}
|
|
104
|
+
export class SomethingService2 extends Effect.Service()("SomethingService2", {
|
|
105
|
+
dependencies: [],
|
|
106
|
+
effect: Effect.gen(function* () {
|
|
107
|
+
return {};
|
|
108
|
+
})
|
|
109
|
+
}) {
|
|
110
|
+
}
|
|
111
|
+
const { handle, routes } = matchFor(Something);
|
|
112
|
+
const d = handle({
|
|
113
|
+
dependencies: [
|
|
114
|
+
SomethingRepo.Default,
|
|
115
|
+
SomethingService.Default
|
|
116
|
+
// SomethingService2.Default
|
|
117
|
+
],
|
|
118
|
+
effect: Effect.gen(function* () {
|
|
119
|
+
const repo = yield* SomethingRepo;
|
|
120
|
+
const smth = yield* SomethingService;
|
|
121
|
+
const smth2 = yield* SomethingService2;
|
|
122
|
+
const { GetSomething, GetSomethingElse } = routes;
|
|
123
|
+
return {
|
|
124
|
+
GetSomething: GetSomething(Effect.void),
|
|
125
|
+
GetSomethingElse: GetSomethingElse(Effect.succeed("12"))
|
|
126
|
+
};
|
|
127
|
+
})
|
|
128
|
+
});
|
|
129
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udHJvbGxlci50ZXN0IGNvcHkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9jb250cm9sbGVyLnRlc3QgY29weS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSwrREFBK0Q7QUFDL0QsT0FBTyxFQUFFLEdBQUcsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUVqQyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFBRSxRQUFRLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDMUUsT0FBTyxFQUF5QixhQUFhLEVBQXNCLGlCQUFpQixFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFDL0csT0FBTyxFQUFFLFdBQVcsRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlCQUFpQixDQUFBO0FBRWhFLE9BQU8sRUFBRSxjQUFjLEVBQUUsVUFBVSxFQUFFLE1BQU0sd0JBQXdCLENBQUE7QUFHbkUsTUFBTSw2QkFBNkIsR0FBRyxRQUFRLENBQUMsSUFBSTtPQUM5QyxRQUFRLENBQUMsVUFBVSxDQUFNLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxLQUFLLGdDQUFnQyxDQUFDLENBQUE7QUFXbEYsTUFBTSxVQUFVLEdBQUcsY0FBYyxDQUFDO0lBQ2hDLFVBQVUsRUFBRSxJQUF5QjtJQUNyQyxnREFBZ0Q7SUFDaEQsT0FBTyxFQUFFLElBQWtEO0lBQzNELE9BQU8sRUFBRSxNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQztRQUMzQixPQUFPLENBQ0wsTUFBcUMsRUFDckMsT0FBaUgsRUFDakgsVUFBbUIsRUFDbkIsRUFBRSxDQUNKLENBQ0UsR0FBUSxFQU1SLEVBQUUsQ0FDRixNQUFNO2FBQ0gsR0FBRyxDQUFDLFFBQVEsQ0FBQztZQUNaLE1BQU0sT0FBTyxHQUFHLEtBQUssQ0FBQyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUE7WUFDekMsTUFBTSxHQUFHLEdBQUcsT0FBTyxDQUFDLEtB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"controller.test.d.ts","sourceRoot":"","sources":["../controller.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAc,MAAM,+BAA+B,CAAA;AAC7F,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,OAAO,EAAW,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"controller.test.d.ts","sourceRoot":"","sources":["../controller.test.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,UAAU,EAAc,MAAM,+BAA+B,CAAA;AAC7F,OAAO,EAAE,KAAK,gBAAgB,EAAE,MAAM,aAAa,CAAA;AAEnD,OAAO,EAAW,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAG7D,OAAO,KAAK,IAAI,MAAM,gBAAgB,CAAA;AAItC,OAAO,EAAE,cAAc,EAAsB,YAAY,EAAE,iBAAiB,EAAE,YAAY,EAAoB,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,IAAI,EAAY,MAAM,eAAe,CAAA;;cAyEtG,QAAQ;;AAAlF,cAAM,kBAAmB,SAAQ,uBAA4E;IAC3G,MAAM,CAAC,OAAO,uDAUZ;CACH;;;;;AAMD,qBAAa,eAAgB,SAAQ,oBAA8C;IACjF,MAAM,CAAC,OAAO,6CAUZ;CACH;AAqED,eAAO,MAAM,WAAW;;;;;;YAKM,CAAA;AAE9B,MAAM,MAAM,aAAa,GAAG;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,CAAA;AACD,eAAO,MAAuB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAI/B,CAAA;;;;;;;;;;AAEF,qBAAa,GAAI,SAAQ,QAA0C;CAAG;;;;;;;;;;AACtE,qBAAa,GAAI,SAAQ,QAA0C;CAAG;;;;;;;;;;;;AAEtE,qBAAa,WAAY,SAAQ,gBAEV;CAAG;;;;;;;;;;;;AAgB1B,qBAAa,YAAa,SAAQ,iBAET;CAAG;;;;;;;;;;;;AAE5B,qBAAa,aAAc,SAAQ,kBAEA;CAAG;;;;;AAItC,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;;AASL,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG;AAUL,eAAO,MAAQ,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAAE,QAAQ;;qGAK9B,CAAA;AAED,eAAO,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAGd,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller5.test.d.ts","sourceRoot":"","sources":["../controller5.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAAW,MAAM,EAAY,KAAK,EAAE,CAAC,EAAY,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAwC,KAAK,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAI/G,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAA;AAK9D,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,MAAM,MAAM,GAAG;IAGnB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CACvF,CAAA;AAmGD,eAAO,MAAQ,QAAQ,OAAE,QAAQ,KAAiC,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,CAAA;AACD,eAAO,MAAuB,GAAG;2CAvElB,MACZ,CA8BO,MA9BA;mBAEqB,MAC9B,CA2BS,GA3BL,KA2BK,MA3BM,CAAC,MAAM;mBACR,MAAK,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM;;;;;;6CA0BhC,MAjBD,CAiBC,MAjBM;mBAiBN,MAhBI,CAgBJ,GAhBQ,KAAK,MAAM,CAAC,MAAM;;;;;;6CAUT,MAAM,CAAC,MAAM;mBAAuC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MACjG;;;;;;6CAciB,MAAM,CAAC,MAAM;;;;;6CAMF,MAAM,CAAC,MAAM;;;CA4B3C,CAAA;;;;;;;;;;AAEF,qBAAa,YAAa,SAAQ,iBAEX;CAAG;;;;;;;;;;AAE1B,qBAAa,gBAAiB,SAAQ,qBAEb;CAAG;;;;;AAI5B,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;;AASL,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG;AAEL,eAAO,MAAM,MAAM,KAmBjB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller6.test.d.ts","sourceRoot":"","sources":["../controller6.test.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAW,MAAM,EAAY,KAAK,EAAE,CAAC,EAAY,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAwC,KAAK,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC/G,OAAO,EAAe,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAOhE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,MAAM,MAAM,GAAG;IAGnB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CACvF,CAAA;AAmGD,eAAO,MAAQ,QAAQ;;;;;gBA0EqxD,MAAO,KAAK;;;;;;GA1E/xD,QAAQ;;;;;;iDA0E01F,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;iDAAk0D,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;iDAAk0D,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;iDAAk0D,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;iDAA6xD,MAAM,KAAK,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;CA1EvmU,CAAA;AAElE,MAAM,MAAM,aAAa,GAAG;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,CAAA;AACD,eAAO,MAAuB,GAAG;yCAxEE,EAAG,MAAM,CAAC,MAAM;iBAgCzC,EAAA,MA9BD,CA8BC,GA9BG,GA8BH,EAAA,MA5BF,CA4BE,MA5BK;iBA4BL,EAAA,MA3BA,CAAC,GAAG,GAAE,EAAG,MAAM,CAAC,MAAM;;;;;;2CASkB,EAAG,MAAM,CAAC,MAAM;iBAkBxD,EAjBC,MAAM,CAAC,GAAG,GAAE,EAAG,MAAM,CAAC,MAAM;;;;;;2CAUtB,EAAE,MAAM,CAAC,MAAM;iBACA,EAAG,MAAM,CAAC,GAAG,GAAE,EAAG,MAAM,CAAC,MAAM;;;;;;2CAcjD,EAAA,MAAE,CAAC,MAAM;;;;;2CAMqC,EAAG,MAAM,CAAC,MACrE;;;;;CA4BC,CAAA;;;;;;;;;;AAEF,qBAAa,YAAa,SAAQ,iBAEX;CAAG;;;;;;;;;;AAE1B,qBAAa,gBAAiB,SAAQ,qBAEb;CAAG;;;;;AAI5B,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;;AASL,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"controller7.test.d.ts","sourceRoot":"","sources":["../controller7.test.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACtE,OAAO,EAAE,GAAG,EAAE,MAAM,aAAa,CAAA;AAEjC,OAAO,EAAW,MAAM,EAAY,KAAK,EAAE,CAAC,EAAY,MAAM,YAAY,CAAA;AAC1E,OAAO,EAAE,KAAK,gBAAgB,EAAiB,KAAK,aAAa,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAA;AAC/G,OAAO,EAAe,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAOhE,MAAM,WAAW,GAAG;IAClB,OAAO,EAAE,cAAc,CAAA;CACxB;AAED,MAAM,MAAM,MAAM,GAAG;IAGnB,YAAY,EAAE,aAAa,CAAC,MAAM,CAAC,EAAE,EAAE,KAAK,EAAE,OAAO,iBAAiB,EAAE,KAAK,CAAC,MAAM,CAAC,CAAC,CAAA;CACvF,CAAA;AAmGD,eAAO,MAAQ,MAAM;;;;;;uDA0HmqP,KAAK,CAAC,GAAG;;;;;;;;;;uDAAkzD,KAAK,CAAC,GAAG;;;;;;;;;;uDAAkzD,KAAK,CAAC,GAAG;;;;;;;;;;uDAAkzD,KAAK,CAAC,GAAG;;;;;;;;;;uDAA6wD,KAAK,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;mBA5Lr2d,MAAM,CAAC,GAAG;;;uBAAV,MAAM,CAAC,GAAG;;uBAAV,MAAM,CAAC,GAAG;;;2BAAV,MAAM,CAAC,GAAG;;;;2BAAV,MAAM,CAAC,GAAG;;;uBAAV,MAAM,CAAC,GAAG;;uBAAV,MAAM,CAAC,GAAG;;;mBAAV,MAAM,CAAC,GAAG;;;uBAAV,MAAM,CAAC,GAAG;;;;uBAAV,MAAM,CAAC,GAAG;;;mBAAV,MAAM,CAAC,GAAG;;mBAAV,MAAM,CAAC,GAAG;;mBAAV,MAAM,CAAC,GAAG;;mBAAV,MAAM,CAAC,GAAG;;mBAAV,MAAM,CAAC,GAAG;;;uBAAV,MAAM,CAAC,GAAG;;;;uBAAV,MAAM,CAAC,GAAG;;;mBAAV,MAAM,CAAC,GAAG;;mBAAV,MAAM,CAAC,GAAG;;;uBAAV,MAAM,CAAC,GAAG;;;;uBAAV,MAAM,CAAC,GAAG;;;mBAAV,MAAM,CAAC,GAAG;;;;;;GAkEtB,QAAQ;;;;;sBAa4B,KAAK;;;;;;GAb/B,QAAQ;;;;;;;;;;;;;;;;;;;;;;;;;;;eAlEN,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;uBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;uBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;mBAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;eAAV,MAAM,CAAC,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qFAkE6B,CAAA;AAE1E,MAAM,MAAM,aAAa,GAAG;IAC1B,yCAAyC;IACzC,cAAc,CAAC,EAAE,IAAI,CAAA;IACrB,iEAAiE;IACjE,UAAU,CAAC,EAAE,SAAS,MAAM,EAAE,CAAA;CAC/B,CAAA;AACD,eAAO,MAAuB,GAAG;2CAxCvB,MAjCD,CAiCC,MAjCM;mBACgB,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM;mBAgClD,MA9BJ,CA8BI,GA9BA,KA8BA,MA5BL,CA4BK,MA5BE;;;;;;6CASC,MACV,CAkBO,MAlBA;mBAAuC,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,MAAM;;;;;;6CAkBnE,MATE,CASF,MATS;mBAEF,MAAI,CAAC,GAAG,KAAK,MAC9B,CAMU,MANH;;;;;;6CAYG,MAAL,CAAK,MAAE;;;;;6CAQI,MAAH,CAAG,MAAI;;;;;CA6BlB,CAAA;;;;;;;;;;AAEF,qBAAa,WAAY,SAAQ,gBAEV;CAAG;;;;;;;;;;AAE1B,qBAAa,YAAa,SAAQ,iBAET;CAAG;;;;;;;;;;AAE5B,qBAAa,aAAc,SAAQ,kBAEA;CAAG;;;;;AAItC,qBAAa,gBAAiB,SAAQ,qBAKpC;CAAG;;;;;AASL,qBAAa,aAAc,SAAQ,kBAOjC;CAAG;;;;;AAEL,qBAAa,iBAAkB,SAAQ,sBAKrC;CAAG;;;;;;;;;;;;;;;;;;;;AA0BL,wBAmBE;AAEF,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;CAmBlB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamicContext.test.d.ts","sourceRoot":"","sources":["../dynamicContext.test.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAA;AAC5C,OAAO,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAEnD,OAAO,EAAE,YAAY,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AACnE,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAA;AA8E7C,eAAO,MAAM,mBAAmB;;CAkB9B,CAAA;AACF,eAAO,MAAM,sBAAsB;;CAkBjC,CAAA;AAMF,eAAO,MAAM,gBAAgB;;CAA0B,CAAA;AACvD,eAAO,MAAM,gBAAgB,0NAA2C,CAAA;AAIxE,eAAO,MAAM,mBAAmB;;CAA6B,CAAA;AAC7D,eAAO,MAAM,mBAAmB,0NAA8C,CAAA;AAQ9E,eAAO,MAAM,iBAAiB;;CAA2B,CAAA;AACzD,eAAO,MAAM,iBAAiB,qOAA+D,CAAA;AAI7F,eAAO,MAAM,oBAAoB;;CAA8B,CAAA;AAC/D,eAAO,MAAM,oBAAoB,qOAAqE,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"filterApi.test.d.ts","sourceRoot":"","sources":["../filterApi.test.ts"],"names":[],"mappings":""}
|