@effect-app/infra 1.28.3 → 1.29.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/CHANGELOG.md +19 -0
- package/_cjs/api/{routing2 → routing}/DynamicMiddleware.cjs +1 -1
- package/_cjs/api/routing/DynamicMiddleware.cjs.map +1 -0
- package/_cjs/api/routing.cjs +135 -43
- package/_cjs/api/routing.cjs.map +1 -1
- package/dist/api/routing/DynamicMiddleware.d.ts.map +1 -0
- package/dist/api/routing/DynamicMiddleware.js +33 -0
- package/dist/api/routing.d.ts +100 -4
- package/dist/api/routing.d.ts.map +1 -1
- package/dist/api/routing.js +116 -9
- package/dist/services/Repository/ext.d.ts +4 -4
- package/package.json +9 -79
- package/src/api/{routing2 → routing}/DynamicMiddleware.ts +1 -1
- package/src/api/routing.ts +434 -8
- package/_cjs/api/routing/base.cjs +0 -135
- package/_cjs/api/routing/base.cjs.map +0 -1
- package/_cjs/api/routing/defaultErrorHandler.cjs +0 -62
- package/_cjs/api/routing/defaultErrorHandler.cjs.map +0 -1
- package/_cjs/api/routing/makeRequestHandler.cjs +0 -130
- package/_cjs/api/routing/makeRequestHandler.cjs.map +0 -1
- package/_cjs/api/routing/match.cjs +0 -40
- package/_cjs/api/routing/match.cjs.map +0 -1
- package/_cjs/api/routing/schema/routing.cjs +0 -136
- package/_cjs/api/routing/schema/routing.cjs.map +0 -1
- package/_cjs/api/routing2/DynamicMiddleware.cjs.map +0 -1
- package/_cjs/api/routing2.cjs +0 -142
- package/_cjs/api/routing2.cjs.map +0 -1
- package/_cjs/router.cjs +0 -170
- package/_cjs/router.cjs.map +0 -1
- package/dist/api/routing/base.d.ts +0 -97
- package/dist/api/routing/base.d.ts.map +0 -1
- package/dist/api/routing/base.js +0 -129
- package/dist/api/routing/defaultErrorHandler.d.ts +0 -19
- package/dist/api/routing/defaultErrorHandler.d.ts.map +0 -1
- package/dist/api/routing/defaultErrorHandler.js +0 -68
- package/dist/api/routing/makeRequestHandler.d.ts +0 -20
- package/dist/api/routing/makeRequestHandler.d.ts.map +0 -1
- package/dist/api/routing/makeRequestHandler.js +0 -151
- package/dist/api/routing/match.d.ts +0 -12
- package/dist/api/routing/match.d.ts.map +0 -1
- package/dist/api/routing/match.js +0 -27
- package/dist/api/routing/schema/routing.d.ts +0 -31
- package/dist/api/routing/schema/routing.d.ts.map +0 -1
- package/dist/api/routing/schema/routing.js +0 -123
- package/dist/api/routing2/DynamicMiddleware.d.ts.map +0 -1
- package/dist/api/routing2/DynamicMiddleware.js +0 -33
- package/dist/api/routing2.d.ts +0 -93
- package/dist/api/routing2.d.ts.map +0 -1
- package/dist/api/routing2.js +0 -117
- package/dist/router.d.ts +0 -91
- package/dist/router.d.ts.map +0 -1
- package/dist/router.js +0 -154
- package/src/api/routing/base.ts +0 -379
- package/src/api/routing/defaultErrorHandler.ts +0 -140
- package/src/api/routing/makeRequestHandler.ts +0 -343
- package/src/api/routing/match.ts +0 -128
- package/src/api/routing/schema/routing.ts +0 -237
- package/src/api/routing2.ts +0 -425
- package/src/api/writeDocs.ts.bak +0 -31
- package/src/router.ts +0 -619
- /package/dist/api/{routing2 → routing}/DynamicMiddleware.d.ts +0 -0
package/_cjs/api/routing2.cjs
DELETED
|
@@ -1,142 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.toHttpApp = exports.makeRouter2 = void 0;
|
|
7
|
-
var _Effect = require("@effect-app/core/Effect");
|
|
8
|
-
var _utils = require("@effect-app/core/utils");
|
|
9
|
-
var _rpc = require("@effect/rpc");
|
|
10
|
-
var _effectApp = require("effect-app");
|
|
11
|
-
var _http = require("effect-app/http");
|
|
12
|
-
var _DynamicMiddleware = require("./routing2/DynamicMiddleware.cjs");
|
|
13
|
-
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
14
|
-
/* eslint-disable @typescript-eslint/no-empty-object-type */
|
|
15
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
16
|
-
/*
|
|
17
|
-
TODO: Effect.retry(r2, optimisticConcurrencySchedule) / was for PATCH only
|
|
18
|
-
TODO: uninteruptible commands! was for All except GET.
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* Plain jane JSON version
|
|
23
|
-
*/
|
|
24
|
-
const toHttpApp = (self, options) => {
|
|
25
|
-
const handler = _rpc.RpcRouter.toHandler(self, options);
|
|
26
|
-
return _effectApp.Effect.withFiberRuntime(fiber => {
|
|
27
|
-
const context = fiber.getFiberRef(_effectApp.FiberRef.currentContext);
|
|
28
|
-
const request = _effectApp.Context.unsafeGet(context, _http.HttpServerRequest.HttpServerRequest);
|
|
29
|
-
return _effectApp.Effect.flatMap(request.json, _ => handler(_).pipe(_effectApp.Stream.provideContext(context), _effectApp.Stream.runCollect, _effectApp.Effect.map(_ => _effectApp.Chunk.toReadonlyArray(_)), _effectApp.Effect.andThen(_ => _http.HttpServerResponse.json(_)), _effectApp.Effect.orDie));
|
|
30
|
-
});
|
|
31
|
-
};
|
|
32
|
-
exports.toHttpApp = toHttpApp;
|
|
33
|
-
const makeRouter2 = middleware => {
|
|
34
|
-
const rpc = (0, _DynamicMiddleware.makeRpc)(middleware);
|
|
35
|
-
function matchFor(rsc) {
|
|
36
|
-
const meta = rsc.meta;
|
|
37
|
-
if (!meta) throw new Error("Resource has no meta specified"); // TODO: do something with moduleName+cur etc.
|
|
38
|
-
const filtered = (0, _utils.typedKeysOf)(rsc).reduce((acc, cur) => {
|
|
39
|
-
if (_effectApp.Predicate.isObject(rsc[cur]) && rsc[cur]["success"]) {
|
|
40
|
-
acc[cur] = rsc[cur];
|
|
41
|
-
}
|
|
42
|
-
return acc;
|
|
43
|
-
}, {});
|
|
44
|
-
const matchWithServices = action => {
|
|
45
|
-
return (services, f) => req => _effectApp.Effect.andThen(_effectApp.Effect.all({
|
|
46
|
-
svc: (0, _Effect.allLower)(services),
|
|
47
|
-
ctx: middleware.makeContext
|
|
48
|
-
}), ({
|
|
49
|
-
ctx,
|
|
50
|
-
svc
|
|
51
|
-
}) => f(req, {
|
|
52
|
-
...svc,
|
|
53
|
-
...ctx,
|
|
54
|
-
Response: rsc[action].success
|
|
55
|
-
}));
|
|
56
|
-
};
|
|
57
|
-
const controllers = controllers => {
|
|
58
|
-
const handlers = (0, _utils.typedKeysOf)(filtered).reduce((acc, cur) => {
|
|
59
|
-
;
|
|
60
|
-
acc[cur] = {
|
|
61
|
-
h: controllers[cur].handler,
|
|
62
|
-
Request: rsc[cur]
|
|
63
|
-
};
|
|
64
|
-
return acc;
|
|
65
|
-
}, {});
|
|
66
|
-
const mapped = (0, _utils.typedKeysOf)(handlers).reduce((acc, cur) => {
|
|
67
|
-
const handler = handlers[cur];
|
|
68
|
-
const req = handler.Request;
|
|
69
|
-
acc[cur] = rpc.effect(req, handler.h, meta.moduleName); // TODO
|
|
70
|
-
return acc;
|
|
71
|
-
}, {});
|
|
72
|
-
const router = _rpc.RpcRouter.make(...Object.values(mapped));
|
|
73
|
-
return _http.HttpRouter.empty.pipe(_http.HttpRouter.all("/rpc/" + rsc.meta.moduleName, toHttpApp(router),
|
|
74
|
-
// TODO: not queries.
|
|
75
|
-
{
|
|
76
|
-
uninterruptible: true
|
|
77
|
-
}));
|
|
78
|
-
};
|
|
79
|
-
const r = {
|
|
80
|
-
controllers,
|
|
81
|
-
...(0, _utils.typedKeysOf)(filtered).reduce((prev, cur) => {
|
|
82
|
-
;
|
|
83
|
-
prev[cur] = (svcOrFnOrEffect, fnOrNone) => {
|
|
84
|
-
const stack = new Error().stack?.split("\n").slice(2).join("\n");
|
|
85
|
-
return _effectApp.Effect.isEffect(svcOrFnOrEffect) ? class {
|
|
86
|
-
static stack = stack;
|
|
87
|
-
static _tag = "d";
|
|
88
|
-
static handler = () => svcOrFnOrEffect;
|
|
89
|
-
} : typeof svcOrFnOrEffect === "function" ? class {
|
|
90
|
-
static stack = stack;
|
|
91
|
-
static _tag = "d";
|
|
92
|
-
static handler = req => _effectApp.Effect.andThen(_effectApp.Effect.all({
|
|
93
|
-
ctx: middleware.makeContext
|
|
94
|
-
}), ({
|
|
95
|
-
ctx
|
|
96
|
-
}) => svcOrFnOrEffect(req, {
|
|
97
|
-
...ctx,
|
|
98
|
-
Response: rsc[cur].success
|
|
99
|
-
}));
|
|
100
|
-
} : class {
|
|
101
|
-
static stack = stack;
|
|
102
|
-
static _tag = "d";
|
|
103
|
-
static handler = matchWithServices(cur)(svcOrFnOrEffect, fnOrNone);
|
|
104
|
-
};
|
|
105
|
-
};
|
|
106
|
-
prev[cur + "Raw"] = (svcOrFnOrEffect, fnOrNone) => {
|
|
107
|
-
const stack = new Error().stack?.split("\n").slice(2).join("\n");
|
|
108
|
-
return _effectApp.Effect.isEffect(svcOrFnOrEffect) ? class {
|
|
109
|
-
static stack = stack;
|
|
110
|
-
static _tag = "raw";
|
|
111
|
-
static handler = () => svcOrFnOrEffect;
|
|
112
|
-
} : typeof svcOrFnOrEffect === "function" ? class {
|
|
113
|
-
static stack = stack;
|
|
114
|
-
static _tag = "raw";
|
|
115
|
-
static handler = (req, ctx) => svcOrFnOrEffect(req, {
|
|
116
|
-
...ctx,
|
|
117
|
-
Response: rsc[cur].success
|
|
118
|
-
});
|
|
119
|
-
} : class {
|
|
120
|
-
static stack = stack;
|
|
121
|
-
static _tag = "raw";
|
|
122
|
-
static handler = matchWithServices(cur)(svcOrFnOrEffect, fnOrNone);
|
|
123
|
-
};
|
|
124
|
-
};
|
|
125
|
-
return prev;
|
|
126
|
-
}, {})
|
|
127
|
-
};
|
|
128
|
-
return r;
|
|
129
|
-
}
|
|
130
|
-
function matchAll(handlers) {
|
|
131
|
-
const r = (0, _utils.typedKeysOf)(handlers).reduce((acc, cur) => {
|
|
132
|
-
return _http.HttpRouter.concat(acc, handlers[cur]);
|
|
133
|
-
}, _http.HttpRouter.empty);
|
|
134
|
-
return r;
|
|
135
|
-
}
|
|
136
|
-
return {
|
|
137
|
-
matchAll,
|
|
138
|
-
matchFor
|
|
139
|
-
};
|
|
140
|
-
};
|
|
141
|
-
exports.makeRouter2 = makeRouter2;
|
|
142
|
-
//# sourceMappingURL=routing2.cjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"routing2.cjs","names":["_Effect","require","_utils","_rpc","_effectApp","_http","_DynamicMiddleware","toHttpApp","self","options","handler","RpcRouter","toHandler","Effect","withFiberRuntime","fiber","context","getFiberRef","FiberRef","currentContext","request","Context","unsafeGet","HttpServerRequest","flatMap","json","_","pipe","Stream","provideContext","runCollect","map","Chunk","toReadonlyArray","andThen","HttpServerResponse","orDie","exports","makeRouter2","middleware","rpc","makeRpc","matchFor","rsc","meta","Error","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","matchWithServices","action","services","f","req","all","svc","allLower","ctx","makeContext","Response","success","controllers","handlers","h","Request","mapped","effect","moduleName","router","make","Object","values","HttpRouter","empty","uninterruptible","r","prev","svcOrFnOrEffect","fnOrNone","stack","split","slice","join","isEffect","_tag","matchAll","concat"],"sources":["../../src/api/routing2.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
package/_cjs/router.cjs
DELETED
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.makeRouter = void 0;
|
|
7
|
-
var _Effect = require("@effect-app/core/Effect");
|
|
8
|
-
var _utils = require("@effect-app/core/utils");
|
|
9
|
-
var _routing = require("@effect-app/infra/api/routing");
|
|
10
|
-
var _effectApp = require("effect-app");
|
|
11
|
-
var _http = require("effect-app/http");
|
|
12
|
-
var _schema = require("effect-app/schema");
|
|
13
|
-
// For CTXMap, handled by `handleRequestEnv` middleware:
|
|
14
|
-
// ["configurationKey", ["contextKey", ServiceShape, defaultOffBoolean]]
|
|
15
|
-
// defaultOffBoolean:
|
|
16
|
-
// false means: if not configured, or set to false, the item is considered active.
|
|
17
|
-
// true means: if configured as true, the item is considered active.
|
|
18
|
-
// not active means the service is not in the context, and in route context is marked as optional.
|
|
19
|
-
const makeRouter = (handleRequestEnv /* Middleware */) => {
|
|
20
|
-
function match(requestHandler, errorHandler, middleware) {
|
|
21
|
-
let middlewareLayer = undefined;
|
|
22
|
-
if (middleware) {
|
|
23
|
-
const {
|
|
24
|
-
handler,
|
|
25
|
-
makeRequestLayer
|
|
26
|
-
} = middleware(requestHandler);
|
|
27
|
-
requestHandler = handler; // todo
|
|
28
|
-
middlewareLayer = makeRequestLayer;
|
|
29
|
-
}
|
|
30
|
-
// const rdesc = yield* RouteDescriptors.flatMap((_) => _.get)
|
|
31
|
-
const handler = (0, _routing.makeRequestHandler)(requestHandler,
|
|
32
|
-
// one argument if no middleware, 2 if has middleware. TODO: clean this shit up
|
|
33
|
-
errorHandler, middlewareLayer);
|
|
34
|
-
const route = _http.HttpRouter.makeRoute(requestHandler.Request.method, requestHandler.Request.path, handler.pipe(_effectApp.Effect.withSpan("Request." + requestHandler.name, {
|
|
35
|
-
captureStackTrace: () => requestHandler.stack
|
|
36
|
-
})));
|
|
37
|
-
// TODO
|
|
38
|
-
// rdesc.push(makeRouteDescriptor(
|
|
39
|
-
// requestHandler.Request.path,
|
|
40
|
-
// requestHandler.Request.method,
|
|
41
|
-
// requestHandler
|
|
42
|
-
// ))
|
|
43
|
-
return route;
|
|
44
|
-
}
|
|
45
|
-
function handle(_, name, adaptResponse) {
|
|
46
|
-
const Request = _effectApp.S.REST.extractRequest(_);
|
|
47
|
-
const Response = _effectApp.S.REST.extractResponse(_);
|
|
48
|
-
return h => ({
|
|
49
|
-
adaptResponse,
|
|
50
|
-
stack: h.stack,
|
|
51
|
-
h: h.handler,
|
|
52
|
-
name,
|
|
53
|
-
Request,
|
|
54
|
-
Response,
|
|
55
|
-
ResponseOpenApi: _.ResponseOpenApi ?? Response,
|
|
56
|
-
Context: null,
|
|
57
|
-
CTX: null,
|
|
58
|
-
rt: h._tag
|
|
59
|
-
});
|
|
60
|
-
}
|
|
61
|
-
function matchFor(rsc) {
|
|
62
|
-
const filtered = (0, _utils.typedKeysOf)(rsc).reduce((acc, cur) => {
|
|
63
|
-
if (_effectApp.Predicate.isObject(rsc[cur]) && rsc[cur].Request) {
|
|
64
|
-
acc[cur] = rsc[cur];
|
|
65
|
-
}
|
|
66
|
-
return acc;
|
|
67
|
-
}, {});
|
|
68
|
-
const matchWithServices = action => {
|
|
69
|
-
return (services, f) => (req, ctx) => _effectApp.Effect.andThen((0, _Effect.allLower)(services), svc2 => f(req, {
|
|
70
|
-
...ctx,
|
|
71
|
-
...svc2,
|
|
72
|
-
Response: rsc[action].Response
|
|
73
|
-
}));
|
|
74
|
-
};
|
|
75
|
-
const controllers = controllers => {
|
|
76
|
-
const handlers = (0, _utils.typedKeysOf)(filtered).reduce((acc, cur) => {
|
|
77
|
-
if (cur === "meta") return acc;
|
|
78
|
-
const m = rsc.meta;
|
|
79
|
-
if (!m) throw new Error("Resource has no meta specified");
|
|
80
|
-
acc[cur] = handle(rsc[cur], m.moduleName + "." + cur)(controllers[cur]);
|
|
81
|
-
return acc;
|
|
82
|
-
}, {});
|
|
83
|
-
const mapped = (0, _utils.typedKeysOf)(handlers).reduce((acc, cur) => {
|
|
84
|
-
const handler = handlers[cur];
|
|
85
|
-
const req = handler.Request;
|
|
86
|
-
class Request extends req {
|
|
87
|
-
static path = "/" + handler.name + (req.path === "/" ? "" : req.path);
|
|
88
|
-
static method = req.method === "AUTO" ? _schema.REST.determineMethod(handler.name.split(".")[1], req) : req.method;
|
|
89
|
-
}
|
|
90
|
-
if (req.method === "AUTO") {
|
|
91
|
-
Object.assign(Request, {
|
|
92
|
-
[Request.method === "GET" || Request.method === "DELETE" ? "Query" : "Body"]: req.Auto
|
|
93
|
-
});
|
|
94
|
-
}
|
|
95
|
-
Object.assign(handler, {
|
|
96
|
-
Request
|
|
97
|
-
});
|
|
98
|
-
acc[cur] = match(handler, errorHandler(req), handleRequestEnv // TODO
|
|
99
|
-
);
|
|
100
|
-
return acc;
|
|
101
|
-
}, {});
|
|
102
|
-
return _http.HttpRouter.fromIterable(Object.values(mapped));
|
|
103
|
-
};
|
|
104
|
-
const r = {
|
|
105
|
-
controllers,
|
|
106
|
-
...(0, _utils.typedKeysOf)(filtered).reduce((prev, cur) => {
|
|
107
|
-
;
|
|
108
|
-
prev[cur] = (svcOrFnOrEffect, fnOrNone) => {
|
|
109
|
-
const stack = new Error().stack?.split("\n").slice(2).join("\n");
|
|
110
|
-
return _effectApp.Effect.isEffect(svcOrFnOrEffect) ? class {
|
|
111
|
-
static stack = stack;
|
|
112
|
-
static _tag = "d";
|
|
113
|
-
static handler = () => svcOrFnOrEffect;
|
|
114
|
-
} : typeof svcOrFnOrEffect === "function" ? class {
|
|
115
|
-
static stack = stack;
|
|
116
|
-
static _tag = "d";
|
|
117
|
-
static handler = (req, ctx) => svcOrFnOrEffect(req, {
|
|
118
|
-
...ctx,
|
|
119
|
-
Response: rsc[cur].Response
|
|
120
|
-
});
|
|
121
|
-
} : class {
|
|
122
|
-
static stack = stack;
|
|
123
|
-
static _tag = "d";
|
|
124
|
-
static handler = matchWithServices(cur)(svcOrFnOrEffect, fnOrNone);
|
|
125
|
-
};
|
|
126
|
-
};
|
|
127
|
-
prev[cur + "Raw"] = (svcOrFnOrEffect, fnOrNone) => {
|
|
128
|
-
const stack = new Error().stack?.split("\n").slice(2).join("\n");
|
|
129
|
-
return _effectApp.Effect.isEffect(svcOrFnOrEffect) ? class {
|
|
130
|
-
static stack = stack;
|
|
131
|
-
static _tag = "raw";
|
|
132
|
-
static handler = () => svcOrFnOrEffect;
|
|
133
|
-
} : typeof svcOrFnOrEffect === "function" ? class {
|
|
134
|
-
static stack = stack;
|
|
135
|
-
static _tag = "raw";
|
|
136
|
-
static handler = (req, ctx) => svcOrFnOrEffect(req, {
|
|
137
|
-
...ctx,
|
|
138
|
-
Response: rsc[cur].Response
|
|
139
|
-
});
|
|
140
|
-
} : class {
|
|
141
|
-
static stack = stack;
|
|
142
|
-
static _tag = "raw";
|
|
143
|
-
static handler = matchWithServices(cur)(svcOrFnOrEffect, fnOrNone);
|
|
144
|
-
};
|
|
145
|
-
};
|
|
146
|
-
return prev;
|
|
147
|
-
}, {})
|
|
148
|
-
};
|
|
149
|
-
return r;
|
|
150
|
-
}
|
|
151
|
-
const errorHandler = resourceRequest => {
|
|
152
|
-
return (req, res, r2) => (0, _routing.defaultErrorHandler)(req, res, _effectApp.Effect.catchTag(r2, "ParseError", _ => _effectApp.Effect.die(_)), resourceRequest.failure);
|
|
153
|
-
};
|
|
154
|
-
/**
|
|
155
|
-
* Gather all handlers of a module and attach them to the Server.
|
|
156
|
-
* If no `allowAnonymous` flag is on the Request, will require a valid authenticated user.
|
|
157
|
-
*/
|
|
158
|
-
function matchAll(handlers) {
|
|
159
|
-
const r = (0, _utils.typedKeysOf)(handlers).reduce((acc, cur) => {
|
|
160
|
-
return _http.HttpRouter.concat(acc, handlers[cur]);
|
|
161
|
-
}, _http.HttpRouter.empty);
|
|
162
|
-
return r;
|
|
163
|
-
}
|
|
164
|
-
return {
|
|
165
|
-
matchFor,
|
|
166
|
-
matchAll
|
|
167
|
-
};
|
|
168
|
-
};
|
|
169
|
-
exports.makeRouter = makeRouter;
|
|
170
|
-
//# sourceMappingURL=router.cjs.map
|
package/_cjs/router.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"router.cjs","names":["_Effect","require","_utils","_routing","_effectApp","_http","_schema","makeRouter","handleRequestEnv","match","requestHandler","errorHandler","middleware","middlewareLayer","undefined","handler","makeRequestLayer","makeRequestHandler","route","HttpRouter","makeRoute","Request","method","path","pipe","Effect","withSpan","name","captureStackTrace","stack","handle","_","adaptResponse","S","REST","extractRequest","Response","extractResponse","h","ResponseOpenApi","Context","CTX","rt","_tag","matchFor","rsc","filtered","typedKeysOf","reduce","acc","cur","Predicate","isObject","matchWithServices","action","services","f","req","ctx","andThen","allLower","svc2","controllers","handlers","m","meta","Error","moduleName","mapped","determineMethod","split","Object","assign","Auto","fromIterable","values","r","prev","svcOrFnOrEffect","fnOrNone","slice","join","isEffect","resourceRequest","res","r2","defaultErrorHandler","catchTag","die","failure","matchAll","concat","empty","exports"],"sources":["../src/router.ts"],"sourcesContent":[null],"mappings":"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","ignoreList":[]}
|
|
@@ -1,97 +0,0 @@
|
|
|
1
|
-
import { ValidationError } from "@effect-app/infra/errors";
|
|
2
|
-
import type { Struct } from "@effect/schema/Schema";
|
|
3
|
-
import * as S from "@effect/schema/Schema";
|
|
4
|
-
import type { Context } from "effect-app";
|
|
5
|
-
import { Effect, Option } from "effect-app";
|
|
6
|
-
import type { REST } from "effect-app/schema";
|
|
7
|
-
import type { Simplify } from "effect/Types";
|
|
8
|
-
export interface ReqHandler<Req, R, E, Res, ReqSchema extends S.Schema.Any, ResSchema extends S.Schema.Any, CTX = any, Context = any> {
|
|
9
|
-
h: (r: Req, ctx: CTX) => Effect<Res, E, R>;
|
|
10
|
-
Request: ReqSchema;
|
|
11
|
-
Response: ResSchema;
|
|
12
|
-
ResponseOpenApi: any;
|
|
13
|
-
name: string;
|
|
14
|
-
CTX: CTX;
|
|
15
|
-
Context: Context;
|
|
16
|
-
rt: "raw" | "d";
|
|
17
|
-
}
|
|
18
|
-
export type ReqFromSchema<ReqSchema extends S.Schema<any, any, any>> = S.Schema.Type<ReqSchema>;
|
|
19
|
-
export type Extr<T> = T extends {
|
|
20
|
-
Model: S.Schema<any, any, any>;
|
|
21
|
-
} ? T["Model"] : T extends S.Schema<any, any, any> ? T : never;
|
|
22
|
-
export type ResFromSchema<ResSchema> = S.Schema.Type<Extr<ResSchema>>;
|
|
23
|
-
export type _R<T extends Effect<any, any, any>> = [T] extends [
|
|
24
|
-
Effect<any, any, infer R>
|
|
25
|
-
] ? R : never;
|
|
26
|
-
export type _E<T extends Effect<any, any, any>> = [T] extends [
|
|
27
|
-
Effect<any, infer E, any>
|
|
28
|
-
] ? E : never;
|
|
29
|
-
export type Encode<A, E> = (a: A) => E;
|
|
30
|
-
export declare function decodeErrors(x: unknown): unknown[];
|
|
31
|
-
export declare function parseRequestParams<PathA extends Struct.Fields, CookieA extends Struct.Fields, QueryA extends Struct.Fields, BodyA extends Struct.Fields, HeaderA extends Struct.Fields>(parsers: RequestParsers<PathA, CookieA, QueryA, BodyA, HeaderA>): ({ body, cookies, headers, params, query }: {
|
|
32
|
-
body: unknown;
|
|
33
|
-
cookies: unknown;
|
|
34
|
-
headers: unknown;
|
|
35
|
-
params: unknown;
|
|
36
|
-
query: unknown;
|
|
37
|
-
}) => Effect.Effect<{
|
|
38
|
-
body: Option<Simplify<Struct.Type<BodyA>>>;
|
|
39
|
-
cookie: Option<Simplify<Struct.Type<CookieA>>>;
|
|
40
|
-
headers: Option<Simplify<Struct.Type<HeaderA>>>;
|
|
41
|
-
path: Option<Simplify<Struct.Type<PathA>>>;
|
|
42
|
-
query: Option<Simplify<Struct.Type<QueryA>>>;
|
|
43
|
-
}, ValidationError, never>;
|
|
44
|
-
export declare function makeRequestParsers<R, M, PathA extends Struct.Fields, CookieA extends Struct.Fields, QueryA extends Struct.Fields, BodyA extends Struct.Fields, HeaderA extends Struct.Fields, ReqA extends PathA & QueryA & BodyA, ResA extends Struct.Fields, Errors, PPath extends `/${string}`, CTX, Context, Config>(Request: RequestHandler<R, M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, ResA, Errors, PPath, CTX, Context, Config>["Request"]): RequestParsers<PathA, CookieA, QueryA, BodyA, HeaderA>;
|
|
45
|
-
type Decode<A> = (u: unknown) => Effect<A, unknown>;
|
|
46
|
-
export interface RequestParsers<PathA extends Struct.Fields, CookieA extends Struct.Fields, QueryA extends Struct.Fields, BodyA extends Struct.Fields, HeaderA extends Struct.Fields> {
|
|
47
|
-
parseHeaders: Decode<Option<Simplify<S.Struct.Type<HeaderA>>>>;
|
|
48
|
-
parseQuery: Decode<Option<Simplify<S.Struct.Type<QueryA>>>>;
|
|
49
|
-
parseBody: Decode<Option<Simplify<S.Struct.Type<BodyA>>>>;
|
|
50
|
-
parsePath: Decode<Option<Simplify<S.Struct.Type<PathA>>>>;
|
|
51
|
-
parseCookie: Decode<Option<Simplify<S.Struct.Type<CookieA>>>>;
|
|
52
|
-
}
|
|
53
|
-
export type EffectDeps<A> = {
|
|
54
|
-
[K in keyof A as A[K] extends Effect<any, any, any> ? K : never]: A[K] extends Effect<any, any, any> ? A[K] : never;
|
|
55
|
-
};
|
|
56
|
-
export type Request<M, PathA extends Struct.Fields, CookieA extends Struct.Fields, QueryA extends Struct.Fields, BodyA extends Struct.Fields, HeaderA extends Struct.Fields, ReqA extends PathA & QueryA & BodyA, PPath extends `/${string}`> = REST.ReqRes<any, any, any> & {
|
|
57
|
-
method: REST.Methods.Rest;
|
|
58
|
-
path: PPath;
|
|
59
|
-
Cookie?: CookieA;
|
|
60
|
-
Path?: PathA;
|
|
61
|
-
Body?: BodyA;
|
|
62
|
-
Query?: QueryA;
|
|
63
|
-
Headers?: HeaderA;
|
|
64
|
-
Tag: Context.Tag<M, M>;
|
|
65
|
-
ReqA?: ReqA;
|
|
66
|
-
};
|
|
67
|
-
export interface RequestHandlerBase<R, M, PathA extends Struct.Fields, CookieA extends Struct.Fields, QueryA extends Struct.Fields, BodyA extends Struct.Fields, HeaderA extends Struct.Fields, ReqA extends PathA & QueryA & BodyA, ResA extends Struct.Fields, ResE, PPath extends `/${string}`, Config> {
|
|
68
|
-
adaptResponse?: any;
|
|
69
|
-
h: (i: PathA & QueryA & BodyA & {}) => Effect<ResA, ResE, R>;
|
|
70
|
-
Request: Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, PPath>;
|
|
71
|
-
Response: REST.ReqRes<any, any, any>;
|
|
72
|
-
ResponseOpenApi?: any;
|
|
73
|
-
config: Config;
|
|
74
|
-
name: string;
|
|
75
|
-
rt: "raw" | "d";
|
|
76
|
-
}
|
|
77
|
-
export interface RequestHandler<R, M, PathA extends Struct.Fields, CookieA extends Struct.Fields, QueryA extends Struct.Fields, BodyA extends Struct.Fields, HeaderA extends Struct.Fields, ReqA extends PathA & QueryA & BodyA, ResA extends Struct.Fields, ResE, PPath extends `/${string}`, CTX, Context, Config> {
|
|
78
|
-
adaptResponse?: any;
|
|
79
|
-
h: (i: PathA & QueryA & BodyA & {}, ctx: any) => Effect<ResA, ResE, R>;
|
|
80
|
-
Request: Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, PPath> & Config;
|
|
81
|
-
Response: REST.ReqRes<any, any, any>;
|
|
82
|
-
ResponseOpenApi?: any;
|
|
83
|
-
name: string;
|
|
84
|
-
CTX: CTX;
|
|
85
|
-
rt: "raw" | "d";
|
|
86
|
-
Context: Context;
|
|
87
|
-
}
|
|
88
|
-
export interface RequestHandlerOrig<R, M, PathA extends Struct.Fields, CookieA extends Struct.Fields, QueryA extends Struct.Fields, BodyA extends Struct.Fields, HeaderA extends Struct.Fields, ReqA extends PathA & QueryA & BodyA, ResA extends Struct.Fields, ResE, PPath extends `/${string}`> {
|
|
89
|
-
adaptResponse?: any;
|
|
90
|
-
h: (i: PathA & QueryA & BodyA & {}) => Effect<ResA, ResE, R>;
|
|
91
|
-
Request: Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, PPath>;
|
|
92
|
-
Response: REST.ReqRes<any, any, any>;
|
|
93
|
-
name: string;
|
|
94
|
-
ResponseOpenApi?: any;
|
|
95
|
-
}
|
|
96
|
-
export {};
|
|
97
|
-
//# sourceMappingURL=base.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../src/api/routing/base.ts"],"names":[],"mappings":"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"}
|
package/dist/api/routing/base.js
DELETED
|
@@ -1,129 +0,0 @@
|
|
|
1
|
-
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
|
-
/* eslint-disable @typescript-eslint/ban-types */
|
|
3
|
-
import { ValidationError } from "@effect-app/infra/errors";
|
|
4
|
-
import * as S from "@effect/schema/Schema";
|
|
5
|
-
import { Cause, Effect, Exit, Option } from "effect-app";
|
|
6
|
-
// function getErrorMessage(current: ContextEntry) {
|
|
7
|
-
// switch (current.type.name) {
|
|
8
|
-
// case "NonEmptyString":
|
|
9
|
-
// return "Must not be empty"
|
|
10
|
-
// }
|
|
11
|
-
// if (current.type.name?.startsWith("NonEmptyReadonlyArray<")) {
|
|
12
|
-
// return "Must not be empty"
|
|
13
|
-
// }
|
|
14
|
-
// return `Invalid value specified`
|
|
15
|
-
// }
|
|
16
|
-
export function decodeErrors(x) {
|
|
17
|
-
return [x];
|
|
18
|
-
}
|
|
19
|
-
// const ValidationApplicative = Effect.getValidationApplicative(
|
|
20
|
-
// makeAssociative<ReadonlyArray<{ type: string; errors: ReturnType<typeof decodeErrors> }>>(
|
|
21
|
-
// (l, r) => l.concat(r)
|
|
22
|
-
// )
|
|
23
|
-
// )
|
|
24
|
-
// const structValidation = DSL.structF(ValidationApplicative)
|
|
25
|
-
export function parseRequestParams(parsers) {
|
|
26
|
-
const handleParse = (effect) => effect.pipe(Effect.exit, Effect
|
|
27
|
-
.flatMap((_) => Exit.isFailure(_) && !Cause.isFailure(_.cause)
|
|
28
|
-
? Effect.failCauseSync(() => _.cause)
|
|
29
|
-
: Effect.sync(() => Exit.isSuccess(_)
|
|
30
|
-
? { _tag: "Success", value: _.value }
|
|
31
|
-
: { _tag: "Failure", errors: Cause.failures(_.cause) })));
|
|
32
|
-
return ({ body, cookies, headers, params, query }) => Effect
|
|
33
|
-
.all({
|
|
34
|
-
body: parsers
|
|
35
|
-
.parseBody(body)
|
|
36
|
-
.pipe(handleParse),
|
|
37
|
-
cookie: parsers
|
|
38
|
-
.parseCookie(cookies)
|
|
39
|
-
.pipe(handleParse),
|
|
40
|
-
headers: parsers
|
|
41
|
-
.parseHeaders(headers)
|
|
42
|
-
.pipe(handleParse),
|
|
43
|
-
query: parsers
|
|
44
|
-
.parseQuery(query)
|
|
45
|
-
.pipe(handleParse),
|
|
46
|
-
path: parsers
|
|
47
|
-
.parsePath(params)
|
|
48
|
-
.pipe(handleParse)
|
|
49
|
-
})
|
|
50
|
-
.pipe(Effect
|
|
51
|
-
.flatMap(({ body, cookie, headers, path, query }) => {
|
|
52
|
-
const errors = [];
|
|
53
|
-
if (body._tag === "Failure") {
|
|
54
|
-
errors.push(makeError("body")(body.errors));
|
|
55
|
-
}
|
|
56
|
-
if (cookie._tag === "Failure") {
|
|
57
|
-
errors.push(makeError("cookie")(cookie.errors));
|
|
58
|
-
}
|
|
59
|
-
if (headers._tag === "Failure") {
|
|
60
|
-
errors.push(makeError("headers")(headers.errors));
|
|
61
|
-
}
|
|
62
|
-
if (path._tag === "Failure") {
|
|
63
|
-
errors.push(makeError("path")(path.errors));
|
|
64
|
-
}
|
|
65
|
-
if (query._tag === "Failure") {
|
|
66
|
-
errors.push(makeError("query")(query.errors));
|
|
67
|
-
}
|
|
68
|
-
if (errors.length) {
|
|
69
|
-
return new ValidationError({ errors });
|
|
70
|
-
}
|
|
71
|
-
return Effect.sync(() => ({
|
|
72
|
-
body: body.value,
|
|
73
|
-
cookie: cookie.value,
|
|
74
|
-
headers: headers.value,
|
|
75
|
-
path: path.value,
|
|
76
|
-
query: query.value
|
|
77
|
-
}));
|
|
78
|
-
}));
|
|
79
|
-
}
|
|
80
|
-
// // eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
81
|
-
// function mapErrors_<E, NE, NER extends Record<string, Effect<any, E, any>>>(
|
|
82
|
-
// t: NER, // TODO: enforce non empty
|
|
83
|
-
// mapErrors: (k: keyof NER) => (err: E) => NE
|
|
84
|
-
// ): {
|
|
85
|
-
// [K in keyof NER]: Effect<_R<NER[K]>, NE, Effect.Success<NER[K]>>
|
|
86
|
-
// } {
|
|
87
|
-
// return typedKeysOf(t).reduce(
|
|
88
|
-
// (prev, cur) => {
|
|
89
|
-
// prev[cur] = t[cur].mapError(mapErrors(cur))
|
|
90
|
-
// return prev
|
|
91
|
-
// },
|
|
92
|
-
// {} as {
|
|
93
|
-
// [K in keyof NER]: Effect<_R<NER[K]>, NE, Effect.Success<NER[K]>>
|
|
94
|
-
// }
|
|
95
|
-
// )
|
|
96
|
-
// }
|
|
97
|
-
function makeError(type) {
|
|
98
|
-
return (e) => [{ type, errors: decodeErrors(e) }];
|
|
99
|
-
}
|
|
100
|
-
export function makeRequestParsers(Request) {
|
|
101
|
-
const ph = Effect.sync(() => Option
|
|
102
|
-
.fromNullable(Request.Headers)
|
|
103
|
-
.pipe(Option.map((s) => s), Option.map(S.decodeUnknown)));
|
|
104
|
-
const parseHeaders = (u) => Effect.flatMapOption(ph, (d) => d(u));
|
|
105
|
-
const pq = Effect.sync(() => Option
|
|
106
|
-
.fromNullable(Request.Query)
|
|
107
|
-
.pipe(Option.map((s) => s), Option.map(S.decodeUnknown)));
|
|
108
|
-
const parseQuery = (u) => Effect.flatMapOption(pq, (d) => d(u));
|
|
109
|
-
const pb = Effect.sync(() => Option
|
|
110
|
-
.fromNullable(Request.Body)
|
|
111
|
-
.pipe(Option.map((s) => s), Option.map(S.decodeUnknown)));
|
|
112
|
-
const parseBody = (u) => Effect.flatMapOption(pb, (d) => d(u));
|
|
113
|
-
const pp = Effect.sync(() => Option
|
|
114
|
-
.fromNullable(Request.Path)
|
|
115
|
-
.pipe(Option.map((s) => s), Option.map(S.decodeUnknown)));
|
|
116
|
-
const parsePath = (u) => Effect.flatMapOption(pp, (d) => d(u));
|
|
117
|
-
const pc = Effect.sync(() => Option
|
|
118
|
-
.fromNullable(Request.Cookie)
|
|
119
|
-
.pipe(Option.map((s) => s), Option.map(S.decodeUnknown)));
|
|
120
|
-
const parseCookie = (u) => Effect.flatMapOption(pc, (d) => d(u));
|
|
121
|
-
return {
|
|
122
|
-
parseBody,
|
|
123
|
-
parseCookie,
|
|
124
|
-
parseHeaders,
|
|
125
|
-
parsePath,
|
|
126
|
-
parseQuery
|
|
127
|
-
};
|
|
128
|
-
}
|
|
129
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9hcGkvcm91dGluZy9iYXNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHVEQUF1RDtBQUV2RCxpREFBaUQ7QUFDakQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBRTFELE9BQU8sS0FBSyxDQUFDLE1BQU0sdUJBQXVCLENBQUE7QUFFMUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxNQUFNLFlBQVksQ0FBQTtBQTRDeEQsb0RBQW9EO0FBQ3BELGlDQUFpQztBQUNqQyw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLE1BQU07QUFDTixtRUFBbUU7QUFDbkUsaUNBQWlDO0FBQ2pDLE1BQU07QUFDTixxQ0FBcUM7QUFDckMsSUFBSTtBQUNKLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBVTtJQUNyQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDWixDQUFDO0FBRUQsaUVBQWlFO0FBQ2pFLCtGQUErRjtBQUMvRiw0QkFBNEI7QUFDNUIsTUFBTTtBQUNOLElBQUk7QUFFSiw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLGtCQUFrQixDQU9oQyxPQUErRDtJQUUvRCxNQUFNLFdBQVcsR0FBRyxDQUFVLE1BQXVCLEVBQUUsRUFBRSxDQUN2RCxNQUFNLENBQUMsSUFBSSxDQUNULE1BQU0sQ0FBQyxJQUFJLEVBQ1gsTUFBTTtTQUNILE9BQU8sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUM1QyxDQUFDLENBQUUsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFvQztRQUN6RSxDQUFDLENBQUMsTUFBTSxD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
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
import type { Schema } from "@effect-app/schema";
|
|
2
|
-
import { Effect } from "effect-app";
|
|
3
|
-
import type { SupportedErrors } from "effect-app/client/errors";
|
|
4
|
-
import { ValidationError } from "effect-app/client/errors";
|
|
5
|
-
import { type HttpServerRequest, HttpServerResponse } from "effect-app/http";
|
|
6
|
-
import type { InsufficientScopeError, InvalidRequestError, InvalidTokenError, UnauthorizedError as JWTUnauthorizedError } from "express-oauth2-jwt-bearer";
|
|
7
|
-
declare const JWTError_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
8
|
-
readonly _tag: "JWTError";
|
|
9
|
-
};
|
|
10
|
-
export declare class JWTError extends JWTError_base<{
|
|
11
|
-
error: InsufficientScopeError | InvalidRequestError | InvalidTokenError | JWTUnauthorizedError;
|
|
12
|
-
}> {
|
|
13
|
-
}
|
|
14
|
-
export declare function defaultBasicErrorHandler<R>(_req: HttpServerRequest.HttpServerRequest, res: HttpServerResponse.HttpServerResponse, r2: Effect<HttpServerResponse.HttpServerResponse, ValidationError, R>): Effect.Effect<HttpServerResponse.HttpServerResponse, never, R>;
|
|
15
|
-
export declare function defaultErrorHandler<R, A extends {
|
|
16
|
-
_tag: string;
|
|
17
|
-
} = never>(req: HttpServerRequest.HttpServerRequest, res: HttpServerResponse.HttpServerResponse, r2: Effect<HttpServerResponse.HttpServerResponse, SupportedErrors | JWTError, R>, customErrorSchema?: Schema<A, unknown>): Effect.Effect<HttpServerResponse.HttpServerResponse, never, R>;
|
|
18
|
-
export {};
|
|
19
|
-
//# sourceMappingURL=defaultErrorHandler.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"defaultErrorHandler.d.ts","sourceRoot":"","sources":["../../../src/api/routing/defaultErrorHandler.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAEhD,OAAO,EAAe,MAAM,EAAe,MAAM,YAAY,CAAA;AAC7D,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC/D,OAAO,EAOL,eAAe,EAChB,MAAM,0BAA0B,CAAA;AACjC,OAAO,EAAyB,KAAK,iBAAiB,EAAE,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACnG,OAAO,KAAK,EACV,sBAAsB,EACtB,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,IAAI,oBAAoB,EAC1C,MAAM,2BAA2B,CAAA;;;;AAGlC,qBAAa,QAAS,SAAQ,cAA6B;IACzD,KAAK,EACD,sBAAsB,GACtB,mBAAmB,GACnB,iBAAiB,GACjB,oBAAoB,CAAA;CACzB,CAAC;CAAG;AAIL,wBAAgB,wBAAwB,CAAC,CAAC,EACxC,IAAI,EAAE,iBAAiB,CAAC,iBAAiB,EACzC,GAAG,EAAE,kBAAkB,CAAC,kBAAkB,EAC1C,EAAE,EAAE,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,EAAE,CAAC,CAAC,kEAoBtE;AAKD,wBAAgB,mBAAmB,CAAC,CAAC,EAAE,CAAC,SAAS;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,GAAG,KAAK,EACvE,GAAG,EAAE,iBAAiB,CAAC,iBAAiB,EACxC,GAAG,EAAE,kBAAkB,CAAC,kBAAkB,EAC1C,EAAE,EAAE,MAAM,CAAC,kBAAkB,CAAC,kBAAkB,EAAE,eAAe,GAAG,QAAQ,EAAE,CAAC,CAAC,EAChF,iBAAiB,CAAC,EAAE,MAAM,CAAC,CAAC,EAAE,OAAO,CAAC,kEA0EvC"}
|