@effect-app/infra 0.133.0-next.8 → 0.133.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 +494 -0
- package/_cjs/RequestContext.cjs +8 -9
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/_ext/Array.cjs +4 -3
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/_global.ext.cjs +0 -25
- package/_cjs/_global.ext.cjs.map +1 -1
- package/_cjs/api/codec.cjs +1 -1
- package/_cjs/api/codec.cjs.map +1 -1
- package/_cjs/api/http.cjs +42 -0
- package/_cjs/api/http.cjs.map +1 -0
- package/_cjs/api/routing/base.cjs +169 -0
- package/_cjs/api/routing/base.cjs.map +1 -0
- package/_cjs/api/routing/defaultErrorHandler.cjs +50 -0
- package/_cjs/api/routing/defaultErrorHandler.cjs.map +1 -0
- package/_cjs/api/routing/makeRequestHandler.cjs +134 -0
- package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -0
- package/_cjs/api/routing/match.cjs +45 -0
- package/_cjs/api/routing/match.cjs.map +1 -0
- package/_cjs/api/routing.cjs +50 -0
- package/_cjs/api/routing.cjs.map +1 -0
- package/_cjs/api/setupRequest.cjs +31 -30
- package/_cjs/api/setupRequest.cjs.map +1 -1
- package/_cjs/errorReporter.cjs +4 -2
- package/_cjs/errorReporter.cjs.map +1 -1
- package/_cjs/errors.cjs +18 -66
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/services/Operations/live.cjs +11 -12
- package/_cjs/services/Operations/live.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +9 -10
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +4 -4
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +3 -3
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +14 -6
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/RequestContextContainer.cjs +3 -3
- package/_cjs/services/RequestContextContainer.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/test.arbs.cjs +24 -1
- package/_cjs/test.arbs.cjs.map +1 -1
- package/_src/RequestContext.ts +9 -12
- package/_src/_ext/Array.ts +4 -4
- package/_src/_global.ext.ts +0 -23
- package/_src/api/codec.ts +1 -1
- package/_src/api/http.ts +26 -0
- package/_src/api/routing/base.ts +476 -0
- package/_src/api/routing/defaultErrorHandler.ts +83 -0
- package/_src/api/routing/makeRequestHandler.ts +278 -0
- package/_src/api/routing/match.ts +119 -0
- package/_src/api/routing.ts +11 -0
- package/_src/api/setupRequest.ts +39 -34
- package/_src/errorReporter.ts +4 -2
- package/_src/errors.ts +1 -58
- package/_src/services/QueueMaker/memQueue.ts +3 -3
- package/_src/services/QueueMaker/sbqueue.ts +3 -3
- package/_src/services/Repository.ts +40 -43
- package/_src/services/RepositoryBase.ts +26 -20
- package/_src/services/Store/Redis.ts +1 -1
- package/_src/services/Store/service.ts +4 -4
- package/_src/test.arbs.ts +17 -14
- package/dist/RequestContext.d.ts +72 -24
- package/dist/RequestContext.d.ts.map +1 -1
- package/dist/RequestContext.js +10 -11
- package/dist/_ext/Array.d.ts +2 -2
- package/dist/_ext/Array.d.ts.map +1 -1
- package/dist/_ext/Array.js +5 -4
- package/dist/_global.ext.d.ts +0 -22
- package/dist/_global.ext.d.ts.map +1 -1
- package/dist/_global.ext.js +1 -18
- package/dist/api/codec.d.ts +1 -1
- package/dist/api/codec.d.ts.map +1 -1
- package/dist/api/codec.js +2 -2
- package/dist/api/http.d.ts +16 -0
- package/dist/api/http.d.ts.map +1 -0
- package/dist/api/http.js +12 -0
- package/dist/api/routing/base.d.ts +117 -0
- package/dist/api/routing/base.d.ts.map +1 -0
- package/dist/api/routing/base.js +137 -0
- package/dist/api/routing/defaultErrorHandler.d.ts +16 -0
- package/dist/api/routing/defaultErrorHandler.d.ts.map +1 -0
- package/dist/api/routing/defaultErrorHandler.js +42 -0
- package/dist/api/routing/makeRequestHandler.d.ts +20 -0
- package/dist/api/routing/makeRequestHandler.d.ts.map +1 -0
- package/dist/api/routing/makeRequestHandler.js +121 -0
- package/dist/api/routing/match.d.ts +12 -0
- package/dist/api/routing/match.d.ts.map +1 -0
- package/dist/api/routing/match.js +31 -0
- package/dist/api/routing.d.ts +5 -0
- package/dist/api/routing.d.ts.map +1 -0
- package/dist/api/routing.js +8 -0
- package/dist/api/setupRequest.d.ts +4 -4
- package/dist/api/setupRequest.d.ts.map +1 -1
- package/dist/api/setupRequest.js +31 -37
- package/dist/errorReporter.d.ts.map +1 -1
- package/dist/errorReporter.js +5 -3
- package/dist/errors.d.ts +1 -81
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +4 -46
- package/dist/services/Operations/live.js +16 -17
- package/dist/services/QueueMaker/memQueue.d.ts +3 -3
- package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +9 -10
- package/dist/services/QueueMaker/sbqueue.d.ts +3 -3
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +4 -4
- package/dist/services/QueueMaker/service.d.ts +1 -1
- package/dist/services/Repository.d.ts +37 -38
- package/dist/services/Repository.d.ts.map +1 -1
- package/dist/services/Repository.js +4 -4
- package/dist/services/RepositoryBase.d.ts +15 -15
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +12 -7
- package/dist/services/RequestContextContainer.d.ts +1 -1
- package/dist/services/RequestContextContainer.js +3 -3
- package/dist/services/Store/Redis.js +1 -1
- package/dist/services/Store/service.d.ts +4 -4
- package/dist/services/Store/service.d.ts.map +1 -1
- package/dist/services/simpledb/redisdb.d.ts +5 -1
- package/dist/services/simpledb/redisdb.d.ts.map +1 -1
- package/dist/services/simpledb/shared.d.ts +5 -1
- package/dist/services/simpledb/shared.d.ts.map +1 -1
- package/dist/test.arbs.d.ts +12 -1
- package/dist/test.arbs.d.ts.map +1 -1
- package/dist/test.arbs.js +18 -2
- package/package.json +73 -11
package/dist/RequestContext.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { useClassFeaturesForSchema, TaggedClass, NonEmptyString255, FromClass } from "@effect-app/schema";
|
|
2
|
-
import {
|
|
3
|
-
declare const RequestContextParent_base:
|
|
1
|
+
import { useClassFeaturesForSchema, TaggedClass, NonEmptyString255, struct, literal, FromClass } from "@effect-app/schema";
|
|
2
|
+
import { S } from "@effect-app/prelude";
|
|
3
|
+
declare const RequestContextParent_base: S.Class<{
|
|
4
4
|
readonly _tag: "RequestContext";
|
|
5
5
|
readonly id: string;
|
|
6
6
|
readonly name: string;
|
|
@@ -11,31 +11,49 @@ declare const RequestContextParent_base: Schema2.Class<{
|
|
|
11
11
|
} | undefined;
|
|
12
12
|
}, {
|
|
13
13
|
readonly _tag: "RequestContext";
|
|
14
|
-
readonly id:
|
|
15
|
-
readonly name: string &
|
|
14
|
+
readonly id: S.NonEmptyString255;
|
|
15
|
+
readonly name: string & S.NonEmptyString255Brand;
|
|
16
16
|
readonly locale: "en" | "de";
|
|
17
17
|
readonly createdAt: Date;
|
|
18
18
|
readonly userProfile?: {
|
|
19
19
|
readonly sub: string & import("@effect-app/prelude/ids").UserProfileIdBrand;
|
|
20
20
|
} | undefined;
|
|
21
21
|
}, {
|
|
22
|
-
readonly name: string &
|
|
22
|
+
readonly name: string & S.NonEmptyString255Brand;
|
|
23
23
|
readonly locale: "en" | "de";
|
|
24
24
|
readonly userProfile?: {
|
|
25
25
|
readonly sub: string & import("@effect-app/prelude/ids").UserProfileIdBrand;
|
|
26
26
|
} | undefined;
|
|
27
|
-
readonly id?:
|
|
27
|
+
readonly id?: S.NonEmptyString255;
|
|
28
28
|
readonly createdAt?: Date;
|
|
29
|
-
}, RequestContextParent,
|
|
29
|
+
}, RequestContextParent, {
|
|
30
|
+
id: S.WithDefaults<S.Schema<string, S.NonEmptyString255> & {
|
|
31
|
+
make: () => S.NonEmptyString255;
|
|
32
|
+
withDefault: () => S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
33
|
+
}> & S.Schema<string, S.NonEmptyString255> & {
|
|
34
|
+
make: () => S.NonEmptyString255;
|
|
35
|
+
withDefault: () => S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
36
|
+
};
|
|
37
|
+
name: S.WithDefaults<S.Schema<string, string & S.NonEmptyString255Brand>> & S.Schema<string, string & S.NonEmptyString255Brand>;
|
|
38
|
+
userProfile: S.PropertySignature<{
|
|
39
|
+
readonly sub: string;
|
|
40
|
+
} | undefined, true, {
|
|
41
|
+
readonly sub: string & import("@effect-app/prelude/ids").UserProfileIdBrand;
|
|
42
|
+
} | undefined, true>;
|
|
43
|
+
locale: S.Schema<"en" | "de", "en" | "de"> & {
|
|
44
|
+
literals: ["en", "de"];
|
|
45
|
+
};
|
|
46
|
+
createdAt: S.Schema<string, Date> & S.ConstructorPropertyDescriptor<string, Date>;
|
|
47
|
+
}, import("effect/Data").Case>;
|
|
30
48
|
export declare class RequestContextParent extends RequestContextParent_base {
|
|
31
49
|
}
|
|
32
|
-
declare const RequestContext_base:
|
|
50
|
+
declare const RequestContext_base: S.Class<{
|
|
33
51
|
readonly _tag: "RequestContext";
|
|
34
52
|
readonly id: string;
|
|
35
|
-
readonly rootId: string;
|
|
36
53
|
readonly name: string;
|
|
37
54
|
readonly locale: "en" | "de";
|
|
38
55
|
readonly createdAt: string;
|
|
56
|
+
readonly rootId: string;
|
|
39
57
|
readonly userProfile?: {
|
|
40
58
|
readonly sub: string;
|
|
41
59
|
} | undefined;
|
|
@@ -52,28 +70,58 @@ declare const RequestContext_base: Schema2.Class<{
|
|
|
52
70
|
readonly namespace?: string | undefined;
|
|
53
71
|
}, {
|
|
54
72
|
readonly _tag: "RequestContext";
|
|
55
|
-
readonly id:
|
|
56
|
-
readonly
|
|
57
|
-
readonly name: string & Schema2.NonEmptyString255Brand;
|
|
73
|
+
readonly id: S.NonEmptyString255;
|
|
74
|
+
readonly name: string & S.NonEmptyString255Brand;
|
|
58
75
|
readonly locale: "en" | "de";
|
|
59
76
|
readonly createdAt: Date;
|
|
77
|
+
readonly rootId: S.NonEmptyString255;
|
|
60
78
|
readonly userProfile?: {
|
|
61
79
|
readonly sub: string & import("@effect-app/prelude/ids").UserProfileIdBrand;
|
|
62
80
|
} | undefined;
|
|
63
81
|
readonly parent?: RequestContextParent | undefined;
|
|
64
|
-
readonly namespace?: (string &
|
|
82
|
+
readonly namespace?: (string & S.NonEmptyString255Brand) | undefined;
|
|
65
83
|
}, {
|
|
66
|
-
readonly name: string &
|
|
84
|
+
readonly name: string & S.NonEmptyString255Brand;
|
|
67
85
|
readonly locale: "en" | "de";
|
|
68
86
|
readonly userProfile?: {
|
|
69
87
|
readonly sub: string & import("@effect-app/prelude/ids").UserProfileIdBrand;
|
|
70
88
|
} | undefined;
|
|
71
89
|
readonly parent?: RequestContextParent | undefined;
|
|
72
|
-
readonly namespace?: (string &
|
|
73
|
-
readonly id?:
|
|
74
|
-
readonly rootId?: string & Schema2.StringIdBrand;
|
|
90
|
+
readonly namespace?: (string & S.NonEmptyString255Brand) | undefined;
|
|
91
|
+
readonly id?: S.NonEmptyString255;
|
|
75
92
|
readonly createdAt?: Date;
|
|
76
|
-
|
|
93
|
+
readonly rootId?: S.NonEmptyString255;
|
|
94
|
+
}, RequestContext, {
|
|
95
|
+
id: S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
96
|
+
rootId: S.WithDefaults<S.Schema<string, S.NonEmptyString255> & {
|
|
97
|
+
make: () => S.NonEmptyString255;
|
|
98
|
+
withDefault: () => S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
99
|
+
}> & S.Schema<string, S.NonEmptyString255> & {
|
|
100
|
+
make: () => S.NonEmptyString255;
|
|
101
|
+
withDefault: () => S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
102
|
+
};
|
|
103
|
+
parent: S.PropertySignature<{
|
|
104
|
+
readonly _tag: "RequestContext";
|
|
105
|
+
readonly id: string;
|
|
106
|
+
readonly name: string;
|
|
107
|
+
readonly locale: "en" | "de";
|
|
108
|
+
readonly createdAt: string;
|
|
109
|
+
readonly userProfile?: {
|
|
110
|
+
readonly sub: string;
|
|
111
|
+
} | undefined;
|
|
112
|
+
} | undefined, true, RequestContextParent | undefined, true>;
|
|
113
|
+
namespace: S.PropertySignature<string | undefined, true, (string & S.NonEmptyString255Brand) | undefined, true>;
|
|
114
|
+
name: S.WithDefaults<S.Schema<string, string & S.NonEmptyString255Brand>> & S.Schema<string, string & S.NonEmptyString255Brand>;
|
|
115
|
+
userProfile: S.PropertySignature<{
|
|
116
|
+
readonly sub: string;
|
|
117
|
+
} | undefined, true, {
|
|
118
|
+
readonly sub: string & import("@effect-app/prelude/ids").UserProfileIdBrand;
|
|
119
|
+
} | undefined, true>;
|
|
120
|
+
locale: S.Schema<"en" | "de", "en" | "de"> & {
|
|
121
|
+
literals: ["en", "de"];
|
|
122
|
+
};
|
|
123
|
+
createdAt: S.Schema<string, Date> & S.ConstructorPropertyDescriptor<string, Date>;
|
|
124
|
+
}, import("effect/Data").Case>;
|
|
77
125
|
/**
|
|
78
126
|
* @tsplus type RequestContext
|
|
79
127
|
* @tsplus companion RequestContext.Ops
|
|
@@ -81,14 +129,14 @@ declare const RequestContext_base: Schema2.Class<{
|
|
|
81
129
|
export declare class RequestContext extends RequestContext_base {
|
|
82
130
|
static inherit(this: void, parent: RequestContext, newSelf: ConstructorParameters<typeof RequestContextParent>[0]): RequestContext;
|
|
83
131
|
static toMonitoring(this: void, self: RequestContext): {
|
|
84
|
-
parentOperationName?: string &
|
|
132
|
+
parentOperationName?: string & S.NonEmptyString255Brand;
|
|
85
133
|
parentLocale?: "en" | "de";
|
|
86
|
-
operationName: string &
|
|
134
|
+
operationName: string & S.NonEmptyString255Brand;
|
|
87
135
|
locale: "en" | "de";
|
|
88
136
|
};
|
|
89
137
|
}
|
|
90
138
|
export declare namespace RequestContextParent {
|
|
91
|
-
const From_base:
|
|
139
|
+
const From_base: S.FromClass<{
|
|
92
140
|
readonly _tag: "RequestContext";
|
|
93
141
|
readonly id: string;
|
|
94
142
|
readonly name: string;
|
|
@@ -107,13 +155,13 @@ export declare namespace RequestContextParent {
|
|
|
107
155
|
export {};
|
|
108
156
|
}
|
|
109
157
|
export declare namespace RequestContext {
|
|
110
|
-
const From_base_1:
|
|
158
|
+
const From_base_1: S.FromClass<{
|
|
111
159
|
readonly _tag: "RequestContext";
|
|
112
160
|
readonly id: string;
|
|
113
|
-
readonly rootId: string;
|
|
114
161
|
readonly name: string;
|
|
115
162
|
readonly locale: "en" | "de";
|
|
116
163
|
readonly createdAt: string;
|
|
164
|
+
readonly rootId: string;
|
|
117
165
|
readonly userProfile?: {
|
|
118
166
|
readonly sub: string;
|
|
119
167
|
} | undefined;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../_src/RequestContext.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"RequestContext.d.ts","sourceRoot":"","sources":["../_src/RequestContext.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,qBAAqB,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAGvC,qBACa,oBAAqB,SAAQ,yBAQxC;CAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEL;;;GAGG;AACH,qBACa,cAAe,SAAQ,mBAclC;IAEA,MAAM,CAAC,OAAO,CACZ,IAAI,EAAE,IAAI,EACV,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE,qBAAqB,CAAC,OAAO,oBAAoB,CAAC,CAAC,CAAC,CAAC;IAUhE,MAAM,CAAC,YAAY,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc;;;;;;CASrD;AAKD,yBAAiB,oBAAoB,CAAC;;;;;;;;;;;IACpC;;;OAGG;IACH,MAAM,OAAO,IAAK,SAAQ,SAAwC;KAAG;;CACtE;AACD,yBAAiB,cAAc,CAAC;;;;;;;;;;;;;;;;;;;;;;;IAC9B;;;OAGG;IACH,MAAM,OAAO,IAAK,SAAQ,WAAkC;KAAG;;CAChE"}
|
package/dist/RequestContext.js
CHANGED
|
@@ -7,17 +7,15 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
var RequestContext_1;
|
|
8
8
|
import * as tsplus_module_1 from "@effect-app/schema";
|
|
9
9
|
import * as tsplus_module_2 from "@effect/schema/Schema";
|
|
10
|
-
import
|
|
10
|
+
import * as tsplus_module_3 from "@effect-app/prelude/utils";
|
|
11
|
+
import { S } from "@effect-app/prelude";
|
|
11
12
|
import { RequestId, UserProfileId } from "@effect-app/prelude/ids";
|
|
12
|
-
|
|
13
|
+
let RequestContextParent = class RequestContextParent extends tsplus_module_1.TaggedClass()("RequestContext", {
|
|
14
|
+
id: RequestId,
|
|
13
15
|
name: tsplus_module_1.NonEmptyString255,
|
|
14
16
|
userProfile: tsplus_module_2.optional(tsplus_module_1.struct({ sub: UserProfileId })),
|
|
15
17
|
locale: tsplus_module_1.literal("en", "de"),
|
|
16
|
-
createdAt: tsplus_module_2.withDefaultConstructor(
|
|
17
|
-
};
|
|
18
|
-
let RequestContextParent = class RequestContextParent extends tsplus_module_1.TaggedClass()("RequestContext", {
|
|
19
|
-
id: RequestId,
|
|
20
|
-
...fields
|
|
18
|
+
createdAt: tsplus_module_2.withDefaultConstructor(S.Date, () => new Date()) // TODO
|
|
21
19
|
}) {
|
|
22
20
|
};
|
|
23
21
|
RequestContextParent = __decorate([
|
|
@@ -28,12 +26,12 @@ export { RequestContextParent };
|
|
|
28
26
|
* @tsplus type RequestContext
|
|
29
27
|
* @tsplus companion RequestContext.Ops
|
|
30
28
|
*/
|
|
31
|
-
let RequestContext = RequestContext_1 = class RequestContext extends
|
|
29
|
+
let RequestContext = RequestContext_1 = class RequestContext extends S.TaggedClass()("RequestContext", {
|
|
30
|
+
...tsplus_module_3.RecordOmitold(tsplus_module_3.object$(RequestContextParent.fields), "id"),
|
|
32
31
|
id: RequestId.withDefault(),
|
|
33
32
|
rootId: RequestId,
|
|
34
33
|
parent: tsplus_module_2.optional(RequestContextParent),
|
|
35
|
-
namespace: tsplus_module_2.optional(tsplus_module_1.NonEmptyString255)
|
|
36
|
-
...fields
|
|
34
|
+
namespace: tsplus_module_2.optional(tsplus_module_1.NonEmptyString255)
|
|
37
35
|
// ...RequestContextParent.omit("id").extend({
|
|
38
36
|
// id: RequestId.withDefault(),
|
|
39
37
|
// rootId: RequestId,
|
|
@@ -41,6 +39,7 @@ let RequestContext = RequestContext_1 = class RequestContext extends Schema2.Tag
|
|
|
41
39
|
// namespace: NonEmptyString255.optional()
|
|
42
40
|
// })
|
|
43
41
|
}) {
|
|
42
|
+
// static Tag = Context.Tag<RequestContext>()
|
|
44
43
|
static inherit(parent, newSelf) {
|
|
45
44
|
return new RequestContext_1({
|
|
46
45
|
namespace: parent?.namespace,
|
|
@@ -84,4 +83,4 @@ export { RequestContext };
|
|
|
84
83
|
}
|
|
85
84
|
RequestContext.From = From;
|
|
86
85
|
})(RequestContext || (RequestContext = {}));
|
|
87
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL1JlcXVlc3RDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUczRCxJQUFNLG9CQUFvQixHQUExQixNQUFNLG9CQUFxQixTQUFRLGdCQUFBLFdBQVcsRUFFbEQsQ0FBQyxnQkFBZ0IsRUFBRTtJQUNwQixFQUFFLEVBQUUsU0FBUztJQUNiLElBQUksa0JBQUUsaUJBQWlCO0lBQ3ZCLFdBQVcsRUFBRSx5QkFBQSxnQkFBQSxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBVztJQUN0RCxNQUFNLEVBQUUsZ0JBQUEsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDM0IsU0FBUyxFQUFFLHVDQUFBLENBQUMsQ0FBQyxJQUFJLEVBQWlCLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPO0NBQzVELENBQUM7Q0FBRyxDQUFBO0FBUlEsb0JBQW9CO29CQURoQyx5QkFBeUI7R0FDYixvQkFBb0IsQ0FRNUI7O0FBRUw7OztHQUdHO0FBRUksSUFBTSxjQUFjLHNCQUFwQixNQUFNLGNBQWUsU0FBUSxDQUFDLENBQUMsV0FBVyxFQUU5QyxDQUFDLGdCQUFnQixFQUFFO0lBQ3BCLEdBQUcsc0RBQUEsb0JBQW9CLENBQUMsTUFBTSxHQUFTLElBQUksQ0FBQztJQUM1QyxFQUFFLEVBQUUsU0FBUyxDQUFDLFdBQVcsRUFBRTtJQUMzQixNQUFNLEVBQUUsU0FBUztJQUNqQixNQUFNLEVBQUUseUJBQUEsb0JBQW9CLENBQVc7SUFDdkMsU0FBUyxFQUFFLHlDQUFBLGlCQUFpQixDQUFXO0lBQ3ZDLDhDQUE4QztJQUM5QyxpQ0FBaUM7SUFDakMsdUJBQXVCO0lBQ3ZCLDZDQUE2QztJQUM3Qyw0Q0FBNEM7SUFDNUMsS0FBSztDQUNOLENBQUM7SUFDQSw2Q0FBNkM7SUFDN0MsTUFBTSxDQUFDLE9BQU8sQ0FFWixNQUFzQixFQUN0QixPQUE4RDtRQUU5RCxPQUFPLElBQUksZ0JBQWMsQ0FBQztZQUN4QixTQUFTLEVBQUUsTUFBTSxFQUFFLFNBQVM7WUFDNUIsR0FBRyxPQUFPO1lBQ1YsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNO1lBQ3JCLE1BQU07U0FDUCxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsTUFBTSxDQUFDLFlBQVksQ0FBYSxJQUFvQjtRQUNsRCxPQUFPO1lBQ0wsYUFBYSxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3hCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU07Z0JBQ2IsQ0FBQyxDQUFDLEVBQUUsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxFQUFFO2dCQUM3RSxDQUFDLENBQUMsRUFBRSxDQUFDO1NBQ1IsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFBO0FBdENZLGNBQWM7b0JBRDFCLHlCQUF5QjtHQUNiLGNBQWMsQ0FzQzFCOztBQUVELGdDQUFnQztBQUNoQyxFQUFFO0FBQ0Ysb0JBQW9CO0FBQ3BCLFdBQWlCLG9CQUFvQjtJQUNuQzs7O09BR0c7SUFDSCxNQUFhLElBQUssU0FBUSxnQkFBQSxTQUFTLEVBQStCO0tBQUc7SUFBeEQseUJBQUksT0FBb0QsQ0FBQTtBQUN2RSxDQUFDLEVBTmdCLG9CQUFvQixLQUFwQixvQkFBb0IsUUFNcEM7QUFDRCxXQUFpQixjQUFjO0lBQzdCOzs7T0FHRztJQUNILE1BQWEsSUFBSyxTQUFRLGdCQUFBLFNBQVMsRUFBeUI7S0FBRztJQUFsRCxtQkFBSSxPQUE4QyxDQUFBO0FBQ2pFLENBQUMsRUFOZ0IsY0FBYyxLQUFkLGNBQWMsUUFNOUIifQ==
|
package/dist/_ext/Array.d.ts
CHANGED
|
@@ -9,8 +9,8 @@ import { NotFoundError } from "../errors.js";
|
|
|
9
9
|
* @tsplus location "@effect-app/infra/_ext/Array"
|
|
10
10
|
*/
|
|
11
11
|
export declare function getFirstById_<A extends {
|
|
12
|
-
id:
|
|
13
|
-
},
|
|
12
|
+
id: unknown;
|
|
13
|
+
}, Type extends string>(a: Iterable<A>, id: A["id"], type: Type): import("effect/Effect").Effect<never, NotFoundError<Type>, A>;
|
|
14
14
|
/**
|
|
15
15
|
* @tsplus fluent Object.Ops inspect
|
|
16
16
|
* @tsplus location "@effect-app/infra/_ext/Array"
|
package/dist/_ext/Array.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../../_src/_ext/Array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;;;;;;;;;AAS5C,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"Array.d.ts","sourceRoot":"","sources":["../../_src/_ext/Array.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,2BAA2B,CAAA;AAE1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;;;;;;;;;AAS5C,wBAAgB,aAAa,CAAC,CAAC,SAAS;IAAE,EAAE,EAAE,OAAO,CAAA;CAAE,EAAE,IAAI,SAAS,MAAM,EAC1E,CAAC,EAAE,QAAQ,CAAC,CAAC,CAAC,EACd,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC,EACX,IAAI,EAAE,IAAI,iEAMX;;;;;AAKD,wBAAgB,aAAa,CAAC,EAAE,SAAS,MAAM,EAC7C,CAAC,EAAE,SAAS,CAAC,EAAE,CAAC,EAChB,UAAU,CAAC,EAAE,OAAO,GAAG,SAAS,EAChC,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACjC,KAAK,CAAC,EAAE,OAAO,GAAG,SAAS,UAG5B"}
|
package/dist/_ext/Array.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/
|
|
2
|
-
import * as tsplus_module_2 from "
|
|
1
|
+
import * as tsplus_module_1 from "effect/Equal";
|
|
2
|
+
import * as tsplus_module_2 from "effect/Chunk";
|
|
3
|
+
import * as tsplus_module_3 from "@effect-app/prelude/_ext/misc";
|
|
3
4
|
import { inspect } from "util";
|
|
4
5
|
import { NotFoundError } from "../errors.js";
|
|
5
6
|
/**
|
|
@@ -10,7 +11,7 @@ import { NotFoundError } from "../errors.js";
|
|
|
10
11
|
* @tsplus fluent ReadonlyArray getFirstById
|
|
11
12
|
*/
|
|
12
13
|
export function getFirstById_(a, id, type) {
|
|
13
|
-
return
|
|
14
|
+
return tsplus_module_3.encaseMaybeInEffect_(tsplus_module_2.findFirst(tsplus_module_2.fromIterable(a), (_) => tsplus_module_1.equals(_.id, id)), () => new NotFoundError({ type, id }));
|
|
14
15
|
}
|
|
15
16
|
/**
|
|
16
17
|
* @tsplus fluent Object.Ops inspect
|
|
@@ -18,4 +19,4 @@ export function getFirstById_(a, id, type) {
|
|
|
18
19
|
export function RecordInspect(o, showHidden, depth, color) {
|
|
19
20
|
return inspect(o.subject, showHidden, depth, color);
|
|
20
21
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
22
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL19leHQvQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQ0EsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUM5QixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRTVDOzs7Ozs7R0FNRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQzNCLENBQWMsRUFDZCxFQUFXLEVBQ1gsSUFBVTtJQUVWLE9BQU8scUNBQUEsMEJBQUEsNkJBQ1MsQ0FBQyxDQUFDLEVBQ0wsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLHVCQUFhLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFDekIsR0FBRyxFQUFFLENBQUMsSUFBSSxhQUFhLENBQU8sRUFBRSxJQUFJLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFBO0FBQ2hFLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQzNCLENBQWdCLEVBQ2hCLFVBQWdDLEVBQ2hDLEtBQWlDLEVBQ2pDLEtBQTJCO0lBRTNCLE9BQU8sT0FBTyxDQUFDLENBQUMsQ0FBQyxPQUFPLEVBQUUsVUFBVSxFQUFFLEtBQUssRUFBRSxLQUFLLENBQUMsQ0FBQTtBQUNyRCxDQUFDIn0=
|
package/dist/_global.ext.d.ts
CHANGED
|
@@ -31,26 +31,4 @@ import type {} from "@effect-app/infra/api/setupRequest";
|
|
|
31
31
|
*/
|
|
32
32
|
import {} from "@effect-app/infra/api/reportError";
|
|
33
33
|
import "@effect-app/infra/test.arbs";
|
|
34
|
-
import { S } from "@effect-app/schema/schema";
|
|
35
|
-
import type { ParseOptions } from "@effect/schema/AST";
|
|
36
|
-
/**
|
|
37
|
-
* @tsplus fluent effect/schema/Schema withDefault
|
|
38
|
-
* @tsplus location "@effect-app/infra/_global.ext"
|
|
39
|
-
*/
|
|
40
|
-
export declare const defaultDate: <From>(s: S.Schema<From, Date>) => S.ConstructorPropertyDescriptor<From, Date>;
|
|
41
|
-
/**
|
|
42
|
-
* @tsplus fluent effect/schema/Schema withDefault
|
|
43
|
-
* @tsplus location "@effect-app/infra/_global.ext"
|
|
44
|
-
*/
|
|
45
|
-
export declare const defaultNullable: <From, To>(s: S.Schema<From, To | null>) => S.ConstructorPropertyDescriptor<From, To | null>;
|
|
46
|
-
/**
|
|
47
|
-
* @tsplus fluent effect/schema/Schema withDefault
|
|
48
|
-
* @tsplus location "@effect-app/infra/_global.ext"
|
|
49
|
-
*/
|
|
50
|
-
export declare const defaultArray: <From, T>(s: S.Schema<From, ReadonlyArray<T>>) => S.ConstructorPropertyDescriptor<From, readonly T[]>;
|
|
51
|
-
/**
|
|
52
|
-
* @tsplus fluent effect/schema/Schema __call
|
|
53
|
-
* @tsplus location "@effect-app/infra/_global.ext"
|
|
54
|
-
*/
|
|
55
|
-
export declare const parseSync: <I, A>(self: S.Schema<I, A>, u: I, options?: ParseOptions | undefined) => A;
|
|
56
34
|
//# sourceMappingURL=_global.ext.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"_global.ext.d.ts","sourceRoot":"","sources":["../_src/_global.ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,yCAAyC,CAAA;AAC7D;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,6CAA6C,CAAA;AACjE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,4CAA4C,CAAA;AAChE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,8CAA8C,CAAA;AAGlE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAClD;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAExD;;GAEG;AACH,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAlBlD,OAAO,6BAA6B,CAAA
|
|
1
|
+
{"version":3,"file":"_global.ext.d.ts","sourceRoot":"","sources":["../_src/_global.ext.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,yCAAyC,CAAA;AAC7D;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,6CAA6C,CAAA;AACjE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,4CAA4C,CAAA;AAChE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,8CAA8C,CAAA;AAGlE;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,8BAA8B,CAAA;AAClD;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,6BAA6B,CAAA;AAEjD;;GAEG;AACH,OAAO,KAAK,EAAE,MAAM,oCAAoC,CAAA;AAExD;;GAEG;AACH,OAAO,EAAE,MAAM,mCAAmC,CAAA;AAlBlD,OAAO,6BAA6B,CAAA"}
|
package/dist/_global.ext.js
CHANGED
|
@@ -1,19 +1,2 @@
|
|
|
1
1
|
import "@effect-app/infra/test.arbs";
|
|
2
|
-
|
|
3
|
-
/**
|
|
4
|
-
* @tsplus fluent effect/schema/Schema withDefault
|
|
5
|
-
*/
|
|
6
|
-
export const defaultDate = (s) => S.withDefaultConstructor(s, () => new Date());
|
|
7
|
-
/**
|
|
8
|
-
* @tsplus fluent effect/schema/Schema withDefault
|
|
9
|
-
*/
|
|
10
|
-
export const defaultNullable = (s) => S.withDefaultConstructor(s, () => null);
|
|
11
|
-
/**
|
|
12
|
-
* @tsplus fluent effect/schema/Schema withDefault
|
|
13
|
-
*/
|
|
14
|
-
export const defaultArray = (s) => S.withDefaultConstructor(s, () => []);
|
|
15
|
-
/**
|
|
16
|
-
* @tsplus fluent effect/schema/Schema __call
|
|
17
|
-
*/
|
|
18
|
-
export const parseSync = (self, u, options) => S.parseSync(self)(u, options);
|
|
19
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5leHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL19nbG9iYWwuZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxPQUFPLDZCQUE2QixDQUFBO0FBbUJwQyxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHN0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsQ0FBTyxDQUF1QixFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQTtBQUUzRzs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFXLENBQTRCLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUE7QUFFbEg7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBVSxDQUFtQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBRW5IOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHLENBQU8sSUFBb0IsRUFBRSxDQUFJLEVBQUUsT0FBa0MsRUFBRSxFQUFFLENBQ2hHLENBQUMsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sQ0FBQyxDQUFBIn0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5leHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL19nbG9iYWwuZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWlCQSxPQUFPLDZCQUE2QixDQUFBIn0=
|
package/dist/api/codec.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as S from "@effect-app/schema";
|
|
2
2
|
export declare function makeCodec<To extends {
|
|
3
3
|
id: Id;
|
|
4
|
-
}, From, Id>(self: S.Schema<From, To>): readonly [(i:
|
|
4
|
+
}, From, Id>(self: S.Schema<From, To>): readonly [(i: From, options?: S.AST.ParseOptions | undefined) => To, (a: To, options?: S.AST.ParseOptions | undefined) => From];
|
|
5
5
|
//# sourceMappingURL=codec.d.ts.map
|
package/dist/api/codec.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../_src/api/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAEvC,wBAAgB,SAAS,CACvB,EAAE,SAAS;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,EACrB,IAAI,EACJ,EAAE,EACF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"codec.d.ts","sourceRoot":"","sources":["../../_src/api/codec.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAEvC,wBAAgB,SAAS,CACvB,EAAE,SAAS;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,EACrB,IAAI,EACJ,EAAE,EACF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,EAAE,CAAC,mIAEzB"}
|
package/dist/api/codec.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as S from "@effect-app/schema";
|
|
2
2
|
export function makeCodec(self) {
|
|
3
|
-
return [S.
|
|
3
|
+
return [S.decodeSync(self), S.encodeSync(self)];
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2FwaS9jb2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLG9CQUFvQixDQUFBO0FBRXZDLE1BQU0sVUFBVSxTQUFTLENBSXZCLElBQXdCO0lBQ3hCLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQVUsQ0FBQTtBQUMxRCxDQUFDIn0=
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { Route as HttpRoute, Router as HttpRouter } from "@effect/platform/Http/Router";
|
|
2
|
+
export type { HttpApp } from "@effect/platform/Http/App";
|
|
3
|
+
export type { Body as HttpBody } from "@effect/platform/Http/Body";
|
|
4
|
+
export * as HttpHeaders from "@effect/platform/Http/Headers";
|
|
5
|
+
export type { Middleware as HttpMiddleware } from "@effect/platform/Http/Middleware";
|
|
6
|
+
export { RouteContext as HttpRouteContext } from "@effect/platform/Http/Router";
|
|
7
|
+
export { RequestError as HttpRequestError } from "@effect/platform/Http/ServerError";
|
|
8
|
+
export { ServerRequest as HttpServerRequest } from "@effect/platform/Http/ServerRequest";
|
|
9
|
+
export type { ServerResponse as HttpServerResponse } from "@effect/platform/Http/ServerResponse";
|
|
10
|
+
export type { HttpRoute, HttpRouter };
|
|
11
|
+
export * as HttpServer from "@effect/platform/Http/Server";
|
|
12
|
+
/**
|
|
13
|
+
* @tsplus unify effect/platform/Http/Router/Route
|
|
14
|
+
*/
|
|
15
|
+
export declare function unifyRoute<X extends HttpRoute<any, any>>(self: X): HttpRoute<X extends HttpRoute<infer EX, any> ? EX : never, X extends HttpRoute<any, infer AX> ? AX : never>;
|
|
16
|
+
//# sourceMappingURL=http.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../_src/api/http.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAE5F,YAAY,EAAE,OAAO,EAAE,MAAM,2BAA2B,CAAA;AACxD,YAAY,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,4BAA4B,CAAA;AAClE,OAAO,KAAK,WAAW,MAAM,+BAA+B,CAAA;AAC5D,YAAY,EAAE,UAAU,IAAI,cAAc,EAAE,MAAM,kCAAkC,CAAA;AACpF,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,8BAA8B,CAAA;AAC/E,OAAO,EAAE,YAAY,IAAI,gBAAgB,EAAE,MAAM,mCAAmC,CAAA;AACpF,OAAO,EAAE,aAAa,IAAI,iBAAiB,EAAE,MAAM,qCAAqC,CAAA;AACxF,YAAY,EAAE,cAAc,IAAI,kBAAkB,EAAE,MAAM,sCAAsC,CAAA;AAChG,YAAY,EAAE,SAAS,EAAE,UAAU,EAAE,CAAA;AACrC,OAAO,KAAK,UAAU,MAAM,8BAA8B,CAAA;AAE1D;;GAEG;AACH,wBAAgB,UAAU,CAAC,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EACtD,IAAI,EAAE,CAAC,GACN,SAAS,CACV,CAAC,SAAS,SAAS,CAAC,MAAM,EAAE,EAAE,GAAG,CAAC,GAAG,EAAE,GAAG,KAAK,EAC/C,CAAC,SAAS,SAAS,CAAC,GAAG,EAAE,MAAM,EAAE,CAAC,GAAG,EAAE,GAAG,KAAK,CAChD,CAEA"}
|
package/dist/api/http.js
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * as HttpHeaders from "@effect/platform/Http/Headers";
|
|
2
|
+
export { RouteContext as HttpRouteContext } from "@effect/platform/Http/Router";
|
|
3
|
+
export { RequestError as HttpRequestError } from "@effect/platform/Http/ServerError";
|
|
4
|
+
export { ServerRequest as HttpServerRequest } from "@effect/platform/Http/ServerRequest";
|
|
5
|
+
export * as HttpServer from "@effect/platform/Http/Server";
|
|
6
|
+
/**
|
|
7
|
+
* @tsplus unify effect/platform/Http/Router/Route
|
|
8
|
+
*/
|
|
9
|
+
export function unifyRoute(self) {
|
|
10
|
+
return self;
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvYXBpL2h0dHAudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxLQUFLLFdBQVcsTUFBTSwrQkFBK0IsQ0FBQTtBQUU1RCxPQUFPLEVBQUUsWUFBWSxJQUFJLGdCQUFnQixFQUFFLE1BQU0sOEJBQThCLENBQUE7QUFDL0UsT0FBTyxFQUFFLFlBQVksSUFBSSxnQkFBZ0IsRUFBRSxNQUFNLG1DQUFtQyxDQUFBO0FBQ3BGLE9BQU8sRUFBRSxhQUFhLElBQUksaUJBQWlCLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQTtBQUd4RixPQUFPLEtBQUssVUFBVSxNQUFNLDhCQUE4QixDQUFBO0FBRTFEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLFVBQVUsQ0FDeEIsSUFBTztJQUtQLE9BQU8sSUFBSSxDQUFBO0FBQ2IsQ0FBQyJ9
|
|
@@ -0,0 +1,117 @@
|
|
|
1
|
+
import { Effect } from "effect/Effect";
|
|
2
|
+
import { Schema } from "@effect-app/schema";
|
|
3
|
+
import { Option } from "@effect-app/core/Option";
|
|
4
|
+
import { Tag } from "effect/Context";
|
|
5
|
+
import * as S from "@effect-app/schema";
|
|
6
|
+
import type { EnforceNonEmptyRecord } from "@effect-app/core/utils";
|
|
7
|
+
import { ValidationError } from "@effect-app/infra/errors";
|
|
8
|
+
import type { REST, StructFields } from "@effect-app/schema";
|
|
9
|
+
import type { Simplify } from "effect/Types";
|
|
10
|
+
import type express from "express";
|
|
11
|
+
import type { HttpRequestError, HttpRoute } from "../http.js";
|
|
12
|
+
export type Flatten<T extends object> = object extends T ? object : {
|
|
13
|
+
[K in keyof T]-?: (x: NonNullable<T[K]> extends infer V ? V extends object ? V extends readonly any[] ? Pick<T, K> : FlattenLVL1<V> extends infer FV ? ({
|
|
14
|
+
[P in keyof FV as `${Extract<K, string | number>}.${Extract<P, string | number>}`]: FV[P];
|
|
15
|
+
}) : never : Pick<T, K> : never) => void;
|
|
16
|
+
} extends Record<keyof T, (y: infer O) => void> ? O extends unknown ? {
|
|
17
|
+
[K in keyof O]: O[K];
|
|
18
|
+
} : never : never;
|
|
19
|
+
type FlattenLVL1<T extends object> = object extends T ? object : {
|
|
20
|
+
[K in keyof T]-?: (x: NonNullable<T[K]> extends infer V ? V extends object ? V extends readonly any[] ? Pick<T, K> : Pick<T, K> : never : never) => void;
|
|
21
|
+
} extends Record<keyof T, (y: infer O) => void> ? O extends unknown ? {
|
|
22
|
+
[K in keyof O]: O[K];
|
|
23
|
+
} : never : never;
|
|
24
|
+
export type RouteMatch<R, M, PR = never> = Effect<never, never, HttpRoute<Exclude<Exclude<R, EnforceNonEmptyRecord<M>>, PR>, HttpRequestError>>;
|
|
25
|
+
export interface ReqHandler<Req, R, E, Res, ReqSchema extends S.Schema<any, any>, ResSchema extends S.Schema<any, any>, CTX = any, Context = any> {
|
|
26
|
+
h: (r: Req, ctx: CTX) => Effect<R, E, Res>;
|
|
27
|
+
Request: ReqSchema;
|
|
28
|
+
Response: ResSchema;
|
|
29
|
+
ResponseOpenApi: any;
|
|
30
|
+
CTX: CTX;
|
|
31
|
+
Context: Context;
|
|
32
|
+
}
|
|
33
|
+
export type ReqFromSchema<ReqSchema extends S.Schema<any, any>> = S.Schema.To<ReqSchema>;
|
|
34
|
+
export type Extr<T> = T extends {
|
|
35
|
+
Model: S.Schema<any, any>;
|
|
36
|
+
} ? T["Model"] : T extends S.Schema<any, any> ? T : never;
|
|
37
|
+
export type ResFromSchema<ResSchema> = S.Schema.To<Extr<ResSchema>>;
|
|
38
|
+
export type _R<T extends Effect<any, any, any>> = [T] extends [
|
|
39
|
+
Effect<infer R, any, any>
|
|
40
|
+
] ? R : never;
|
|
41
|
+
export type _E<T extends Effect<any, any, any>> = [T] extends [
|
|
42
|
+
Effect<any, infer E, any>
|
|
43
|
+
] ? E : never;
|
|
44
|
+
export type Request2<Path extends string, Method extends S.REST.Methods.Rest, ReqA extends StructFields> = S.REST.ReqRes<{}, S.ToStruct<ReqA>> & {
|
|
45
|
+
method: Method;
|
|
46
|
+
path: Path;
|
|
47
|
+
};
|
|
48
|
+
export type Encode<A, E> = (a: A) => E;
|
|
49
|
+
export declare function decodeErrors(x: unknown): unknown[];
|
|
50
|
+
export declare function parseRequestParams<PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields>(parsers: RequestParsers<PathA, CookieA, QueryA, BodyA, HeaderA>): ({ body, cookies, headers, params, query }: {
|
|
51
|
+
body: unknown;
|
|
52
|
+
cookies: unknown;
|
|
53
|
+
headers: unknown;
|
|
54
|
+
params: unknown;
|
|
55
|
+
query: unknown;
|
|
56
|
+
}) => import("effect/Effect").Effect<never, ValidationError, {
|
|
57
|
+
body: import("effect/Option").Option<Simplify<S.ToStruct<BodyA>>>;
|
|
58
|
+
cookie: import("effect/Option").Option<Simplify<S.ToStruct<CookieA>>>;
|
|
59
|
+
headers: import("effect/Option").Option<Simplify<S.ToStruct<HeaderA>>>;
|
|
60
|
+
path: import("effect/Option").Option<Simplify<S.ToStruct<PathA>>>;
|
|
61
|
+
query: import("effect/Option").Option<Simplify<S.ToStruct<QueryA>>>;
|
|
62
|
+
}>;
|
|
63
|
+
export declare function respondSuccess<ReqA, A, E>(encodeResponse: (req: ReqA) => Encode<A, E>): (req: ReqA, res: express.Response) => (a: A) => import("effect/Effect").Effect<never, never, void>;
|
|
64
|
+
export interface RequestHandler2<R, Path extends string, Method extends S.REST.Methods.Rest, ReqA extends StructFields, ResA extends StructFields, ResE> {
|
|
65
|
+
h: (i: ReqA) => Effect<R, ResE, ResA>;
|
|
66
|
+
Request: Request2<Path, Method, ReqA>;
|
|
67
|
+
Response: S.REST.ReqRes<any, any>;
|
|
68
|
+
}
|
|
69
|
+
export declare function makeRequestParsers<R, M, PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields, ReqA extends PathA & QueryA & BodyA, ResA extends StructFields, 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>;
|
|
70
|
+
type Decode<A> = (u: unknown) => Effect<never, unknown, A>;
|
|
71
|
+
export interface RequestParsers<PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields> {
|
|
72
|
+
parseHeaders: Decode<Option<Simplify<S.ToStruct<HeaderA>>>>;
|
|
73
|
+
parseQuery: Decode<Option<Simplify<S.ToStruct<QueryA>>>>;
|
|
74
|
+
parseBody: Decode<Option<Simplify<S.ToStruct<BodyA>>>>;
|
|
75
|
+
parsePath: Decode<Option<Simplify<S.ToStruct<PathA>>>>;
|
|
76
|
+
parseCookie: Decode<Option<Simplify<S.ToStruct<CookieA>>>>;
|
|
77
|
+
}
|
|
78
|
+
export type EffectDeps<A> = {
|
|
79
|
+
[K in keyof A as A[K] extends Effect<any, any, any> ? K : never]: A[K] extends Effect<any, any, any> ? A[K] : never;
|
|
80
|
+
};
|
|
81
|
+
export type Request<M, PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields, ReqA extends PathA & QueryA & BodyA, PPath extends `/${string}`> = REST.ReqRes<any, any> & {
|
|
82
|
+
method: REST.Methods.Rest;
|
|
83
|
+
path: PPath;
|
|
84
|
+
Cookie?: CookieA;
|
|
85
|
+
Path?: PathA;
|
|
86
|
+
Body?: BodyA;
|
|
87
|
+
Query?: QueryA;
|
|
88
|
+
Headers?: HeaderA;
|
|
89
|
+
Tag: Tag<M, M>;
|
|
90
|
+
ReqA?: ReqA;
|
|
91
|
+
};
|
|
92
|
+
export interface RequestHandlerBase<R, M, PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields, ReqA extends PathA & QueryA & BodyA, ResA extends StructFields, ResE, PPath extends `/${string}`, Config> {
|
|
93
|
+
adaptResponse?: any;
|
|
94
|
+
h: (i: PathA & QueryA & BodyA & {}) => Effect<R, ResE, ResA>;
|
|
95
|
+
Request: Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, PPath>;
|
|
96
|
+
Response: REST.ReqRes<any, any>;
|
|
97
|
+
ResponseOpenApi?: any;
|
|
98
|
+
config: Config;
|
|
99
|
+
}
|
|
100
|
+
export interface RequestHandler<R, M, PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields, ReqA extends PathA & QueryA & BodyA, ResA extends StructFields, ResE, PPath extends `/${string}`, CTX, Context, Config> {
|
|
101
|
+
adaptResponse?: any;
|
|
102
|
+
h: (i: PathA & QueryA & BodyA & {}, ctx: any) => Effect<R, ResE, ResA>;
|
|
103
|
+
Request: Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, PPath> & Config;
|
|
104
|
+
Response: REST.ReqRes<any, any>;
|
|
105
|
+
ResponseOpenApi?: any;
|
|
106
|
+
CTX: CTX;
|
|
107
|
+
Context: Context;
|
|
108
|
+
}
|
|
109
|
+
export interface RequestHandlerOrig<R, M, PathA extends StructFields, CookieA extends StructFields, QueryA extends StructFields, BodyA extends StructFields, HeaderA extends StructFields, ReqA extends PathA & QueryA & BodyA, ResA extends StructFields, ResE, PPath extends `/${string}`> {
|
|
110
|
+
adaptResponse?: any;
|
|
111
|
+
h: (i: PathA & QueryA & BodyA & {}) => Effect<R, ResE, ResA>;
|
|
112
|
+
Request: Request<M, PathA, CookieA, QueryA, BodyA, HeaderA, ReqA, PPath>;
|
|
113
|
+
Response: REST.ReqRes<any, any>;
|
|
114
|
+
ResponseOpenApi?: any;
|
|
115
|
+
}
|
|
116
|
+
export {};
|
|
117
|
+
//# sourceMappingURL=base.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../../_src/api/routing/base.ts"],"names":[],"mappings":";;;;AAGA,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAEvC,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,KAAK,OAAO,MAAM,SAAS,CAAA;AAClC,OAAO,KAAK,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,YAAY,CAAA;AAE7D,MAAM,MAAM,OAAO,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GAAG,MAAM,GAAG;KACjE,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAChB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACzF,WAAW,CAAC,CAAC,CAAC,SAAS,MAAM,EAAE,GAAG,CAAC;SAChC,CAAC,IAAI,MAAM,EAAE,IAAI,GAAG,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,IAAI,OAAO,CAAC,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,CAAC;KAC1F,CAAC,GACF,KAAK,GACP,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACV,KAAK,KACN,IAAI;CACV,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,OAAO,GAAiB;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,KAAK,GAClH,KAAK,CAAA;AAEP,KAAK,WAAW,CAAC,CAAC,SAAS,MAAM,IAAI,MAAM,SAAS,CAAC,GAAG,MAAM,GAAG;KAC9D,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,CAChB,CAAC,EAAE,WAAW,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,SAAS,SAAS,GAAG,EAAE,GAAG,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAMzF,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACZ,KAAK,GACL,KAAK,KACN,IAAI;CACV,SAAS,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,GAAG,CAAC,SAAS,OAAO,GAAiB;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAAG,KAAK,GAClH,KAAK,CAAA;AAEP,MAAM,MAAM,UAAU,CACpB,CAAC,EACD,CAAC,EACD,EAAE,GAAG,KAAK,IAUV,MAAM,CACJ,KAAK,EACL,KAAK,EACL,SAAS,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,EAAE,qBAAqB,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,gBAAgB,CAAC,CAC/E,CAAA;AAEH,MAAM,WAAW,UAAU,CACzB,GAAG,EACH,CAAC,EACD,CAAC,EACD,GAAG,EACH,SAAS,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,SAAS,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,EACpC,GAAG,GAAG,GAAG,EACT,OAAO,GAAG,GAAG;IAEb,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,CAAA;IAC1C,OAAO,EAAE,SAAS,CAAA;IAClB,QAAQ,EAAE,SAAS,CAAA;IACnB,eAAe,EAAE,GAAG,CAAA;IACpB,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,MAAM,aAAa,CAAC,SAAS,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,CAAC,CAAA;AAExF,MAAM,MAAM,IAAI,CAAC,CAAC,IAAI,CAAC,SAAS;IAAE,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAAE,GAAG,CAAC,CAAC,OAAO,CAAC,GACtE,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAChC,KAAK,CAAA;AAET,MAAM,MAAM,aAAa,CAAC,SAAS,IAAI,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAA;AAEnE,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;IAC5D,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,EAAE,GAAG,CAAC;CAC1B,GAAG,CAAC,GACD,KAAK,CAAA;AAET,MAAM,MAAM,EAAE,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;IAC5D,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,EAAE,GAAG,CAAC;CAC1B,GAAG,CAAC,GACD,KAAK,CAAA;AAET,MAAM,MAAM,QAAQ,CAClB,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAClC,IAAI,SAAS,YAAY,IACvB,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG;IACxC,MAAM,EAAE,MAAM,CAAA;IACd,IAAI,EAAE,IAAI,CAAA;CACX,CAAA;AAED,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;AAYtC,wBAAgB,YAAY,CAAC,CAAC,EAAE,OAAO,aAEtC;AASD,wBAAgB,kBAAkB,CAChC,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,SAAS,YAAY,EAC3B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAE5B,OAAO,EAAE,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC;UAIrD,OAAO;aACJ,OAAO;aACP,OAAO;YACR,OAAO;WACR,OAAO;;;;;;;GA8FnB;AAwBD,wBAAgB,cAAc,CAAC,IAAI,EAAE,CAAC,EAAE,CAAC,EACvC,cAAc,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,SAE9B,IAAI,OAAO,gBAAgB,kEASzC;AAED,MAAM,WAAW,eAAe,CAC9B,CAAC,EACD,IAAI,SAAS,MAAM,EACnB,MAAM,SAAS,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAClC,IAAI,SAAS,YAAY,EACzB,IAAI,SAAS,YAAY,EACzB,IAAI;IAEJ,CAAC,EAAE,CAAC,CAAC,EAAE,IAAI,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACrC,OAAO,EAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAA;IACrC,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;CAClC;AAED,wBAAgB,kBAAkB,CAChC,CAAC,EACD,CAAC,EACD,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,SAAS,YAAY,EAC3B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,IAAI,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,EACnC,IAAI,SAAS,YAAY,EACzB,MAAM,EACN,KAAK,SAAS,IAAI,MAAM,EAAE,EAC1B,GAAG,EACH,OAAO,EACP,MAAM,EAEN,OAAO,EAAE,cAAc,CACrB,CAAC,EACD,CAAC,EACD,KAAK,EACL,OAAO,EACP,MAAM,EACN,KAAK,EACL,OAAO,EACP,IAAI,EACJ,IAAI,EACJ,MAAM,EACN,KAAK,EACL,GAAG,EACH,OAAO,EACP,MAAM,CACP,CAAC,SAAS,CAAC,GACX,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,CAAC,CAgDxD;AAED,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,OAAO,KAAK,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAA;AAE1D,MAAM,WAAW,cAAc,CAC7B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,SAAS,YAAY,EAC3B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY;IAE5B,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;IAC3D,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAA;IACxD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,SAAS,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAA;IACtD,WAAW,EAAE,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAA;CAC3D;AAED,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI;KACzB,CAAC,IAAI,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK;CACpH,CAAA;AAED,MAAM,MAAM,OAAO,CACjB,CAAC,EACD,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,SAAS,YAAY,EAC3B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,IAAI,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,EACnC,KAAK,SAAS,IAAI,MAAM,EAAE,IACxB,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,GAAG;IAC1B,MAAM,EAAE,IAAI,CAAC,OAAO,CAAC,IAAI,CAAA;IACzB,IAAI,EAAE,KAAK,CAAA;IACX,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,IAAI,CAAC,EAAE,KAAK,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB,GAAG,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAA;IACd,IAAI,CAAC,EAAE,IAAI,CAAA;CACZ,CAAA;AAED,MAAM,WAAW,kBAAkB,CACjC,CAAC,EACD,CAAC,EACD,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,SAAS,YAAY,EAC3B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,IAAI,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,EACnC,IAAI,SAAS,YAAY,EACzB,IAAI,EACJ,KAAK,SAAS,IAAI,MAAM,EAAE,EAC1B,MAAM;IAEN,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5D,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACxE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC/B,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,MAAM,EAAE,MAAM,CAAA;CACf;AAED,MAAM,WAAW,cAAc,CAC7B,CAAC,EACD,CAAC,EACD,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,SAAS,YAAY,EAC3B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,IAAI,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,EACnC,IAAI,SAAS,YAAY,EACzB,IAAI,EACJ,KAAK,SAAS,IAAI,MAAM,EAAE,EAC1B,GAAG,EACH,OAAO,EACP,MAAM;IAEN,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,EAAE,EAAE,GAAG,EAAE,GAAG,KAAgB,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IACjF,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,GAAG,MAAM,CAAA;IACjF,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC/B,eAAe,CAAC,EAAE,GAAG,CAAA;IACrB,GAAG,EAAE,GAAG,CAAA;IACR,OAAO,EAAE,OAAO,CAAA;CACjB;AAED,MAAM,WAAW,kBAAkB,CACjC,CAAC,EACD,CAAC,EACD,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,MAAM,SAAS,YAAY,EAC3B,KAAK,SAAS,YAAY,EAC1B,OAAO,SAAS,YAAY,EAC5B,IAAI,SAAS,KAAK,GAAG,MAAM,GAAG,KAAK,EACnC,IAAI,SAAS,YAAY,EACzB,IAAI,EACJ,KAAK,SAAS,IAAI,MAAM,EAAE;IAE1B,aAAa,CAAC,EAAE,GAAG,CAAA;IACnB,CAAC,EAAE,CAAC,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,EAAE,KAAK,MAAM,CAAC,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC5D,OAAO,EAAE,OAAO,CAAC,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,CAAC,CAAA;IACxE,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,GAAG,CAAC,CAAA;IAC/B,eAAe,CAAC,EAAE,GAAG,CAAA;CACtB"}
|