@effect-app/infra 0.143.0 → 0.144.1
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 +25 -0
- package/_cjs/RequestContext.cjs +1 -1
- package/_cjs/RequestContext.cjs.map +1 -1
- package/_cjs/api/codec.cjs.map +1 -1
- package/_cjs/api/express/schema/jwt.cjs +1 -1
- package/_cjs/api/express/schema/jwt.cjs.map +1 -1
- package/_cjs/api/routing/base.cjs +5 -5
- package/_cjs/api/routing/base.cjs.map +1 -1
- package/_cjs/api/routing/makeRequestHandler.cjs.map +1 -1
- package/_cjs/services/QueueMaker/memQueue.cjs +3 -3
- package/_cjs/services/QueueMaker/memQueue.cjs.map +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs +1 -1
- package/_cjs/services/QueueMaker/sbqueue.cjs.map +1 -1
- package/_cjs/services/RepositoryBase.cjs +3 -6
- package/_cjs/services/RepositoryBase.cjs.map +1 -1
- package/_cjs/services/simpledb/memdb.cjs +1 -1
- package/_cjs/services/simpledb/memdb.cjs.map +1 -1
- package/_cjs/services/simpledb/redisdb.cjs +1 -1
- package/_cjs/services/simpledb/redisdb.cjs.map +1 -1
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_src/RequestContext.ts +1 -1
- package/_src/api/codec.ts +2 -2
- package/_src/api/express/schema/jwt.ts +3 -3
- package/_src/api/routing/base.ts +15 -15
- package/_src/api/routing/makeRequestHandler.ts +1 -1
- package/_src/services/QueueMaker/memQueue.ts +9 -9
- package/_src/services/QueueMaker/sbqueue.ts +3 -3
- package/_src/services/RepositoryBase.ts +23 -16
- package/_src/services/simpledb/memdb.ts +1 -1
- package/_src/services/simpledb/redisdb.ts +1 -1
- package/_src/services/simpledb/shared.ts +1 -1
- package/dist/RequestContext.d.ts +21 -21
- package/dist/RequestContext.js +2 -2
- package/dist/api/codec.d.ts +2 -2
- package/dist/api/codec.d.ts.map +1 -1
- package/dist/api/codec.js +1 -1
- package/dist/api/express/schema/jwt.d.ts +1 -1
- package/dist/api/express/schema/jwt.d.ts.map +1 -1
- package/dist/api/express/schema/jwt.js +2 -2
- package/dist/api/routing/base.d.ts +4 -4
- package/dist/api/routing/base.d.ts.map +1 -1
- package/dist/api/routing/base.js +6 -6
- package/dist/api/routing/makeRequestHandler.js +1 -1
- package/dist/services/QueueMaker/memQueue.d.ts +1 -1
- package/dist/services/QueueMaker/memQueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/memQueue.js +3 -3
- package/dist/services/QueueMaker/sbqueue.d.ts +1 -1
- package/dist/services/QueueMaker/sbqueue.d.ts.map +1 -1
- package/dist/services/QueueMaker/sbqueue.js +2 -2
- package/dist/services/QueueMaker/service.d.ts +1 -1
- package/dist/services/RepositoryBase.d.ts +16 -16
- package/dist/services/RepositoryBase.d.ts.map +1 -1
- package/dist/services/RepositoryBase.js +5 -5
- package/dist/services/simpledb/memdb.d.ts +3 -3
- package/dist/services/simpledb/memdb.js +2 -2
- package/dist/services/simpledb/redisdb.d.ts +7 -7
- package/dist/services/simpledb/redisdb.js +2 -2
- package/dist/services/simpledb/shared.d.ts +10 -10
- package/dist/services/simpledb/shared.d.ts.map +1 -1
- package/dist/services/simpledb/shared.js +1 -1
- package/package.json +8 -8
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
3
3
|
/* eslint-disable @typescript-eslint/ban-types */
|
|
4
4
|
import * as S from "@effect-app/schema"
|
|
5
|
-
import type {
|
|
5
|
+
import type { ParseIssue } from "@effect/schema/ParseResult"
|
|
6
6
|
|
|
7
7
|
import { jwtDecode } from "jwt-decode"
|
|
8
8
|
|
|
@@ -12,9 +12,9 @@ export const jwt = S.transformOrFail(
|
|
|
12
12
|
(s, __, ast) =>
|
|
13
13
|
ParseResult.try({
|
|
14
14
|
try: () => jwtDecode(s),
|
|
15
|
-
catch: (e: any) => ParseResult.
|
|
15
|
+
catch: (e: any) => ParseResult.type(ast, s, e.message)
|
|
16
16
|
}),
|
|
17
|
-
(_): Effect<never,
|
|
17
|
+
(_): Effect<never, ParseIssue, string> => {
|
|
18
18
|
throw new Error("not implemented")
|
|
19
19
|
}
|
|
20
20
|
)
|
package/_src/api/routing/base.ts
CHANGED
|
@@ -62,8 +62,8 @@ export interface ReqHandler<
|
|
|
62
62
|
R,
|
|
63
63
|
E,
|
|
64
64
|
Res,
|
|
65
|
-
ReqSchema extends S.Schema<any, any>,
|
|
66
|
-
ResSchema extends S.Schema<any, any>,
|
|
65
|
+
ReqSchema extends S.Schema<any, any, any>,
|
|
66
|
+
ResSchema extends S.Schema<any, any, any>,
|
|
67
67
|
CTX = any,
|
|
68
68
|
Context = any
|
|
69
69
|
> {
|
|
@@ -76,10 +76,10 @@ export interface ReqHandler<
|
|
|
76
76
|
Context: Context
|
|
77
77
|
}
|
|
78
78
|
|
|
79
|
-
export type ReqFromSchema<ReqSchema extends S.Schema<any, any>> = S.Schema.To<ReqSchema>
|
|
79
|
+
export type ReqFromSchema<ReqSchema extends S.Schema<any, any, any>> = S.Schema.To<ReqSchema>
|
|
80
80
|
|
|
81
|
-
export type Extr<T> = T extends { Model: S.Schema<any, any> } ? T["Model"]
|
|
82
|
-
: T extends S.Schema<any, any> ? T
|
|
81
|
+
export type Extr<T> = T extends { Model: S.Schema<any, any, any> } ? T["Model"]
|
|
82
|
+
: T extends S.Schema<any, any, any> ? T
|
|
83
83
|
: never
|
|
84
84
|
|
|
85
85
|
export type ResFromSchema<ResSchema> = S.Schema.To<Extr<ResSchema>>
|
|
@@ -322,40 +322,40 @@ export function makeRequestParsers<
|
|
|
322
322
|
const ph = Effect.sync(() =>
|
|
323
323
|
Option
|
|
324
324
|
.fromNullable(Request.Headers)
|
|
325
|
-
.map((s) => s as unknown as Schema<any, any>)
|
|
326
|
-
.map(S.
|
|
325
|
+
.map((s) => s as unknown as Schema<never, any, any>)
|
|
326
|
+
.map(S.decodeUnknown)
|
|
327
327
|
)
|
|
328
328
|
const parseHeaders = (u: unknown) => ph.flatMapOpt((d) => d(u))
|
|
329
329
|
|
|
330
330
|
const pq = Effect.sync(() =>
|
|
331
331
|
Option
|
|
332
332
|
.fromNullable(Request.Query)
|
|
333
|
-
.map((s) => s as unknown as Schema<any, any>)
|
|
334
|
-
.map(S.
|
|
333
|
+
.map((s) => s as unknown as Schema<never, any, any>)
|
|
334
|
+
.map(S.decodeUnknown)
|
|
335
335
|
)
|
|
336
336
|
const parseQuery = (u: unknown) => pq.flatMapOpt((d) => d(u))
|
|
337
337
|
|
|
338
338
|
const pb = Effect.sync(() =>
|
|
339
339
|
Option
|
|
340
340
|
.fromNullable(Request.Body)
|
|
341
|
-
.map((s) => s as unknown as Schema<any, any>)
|
|
342
|
-
.map(S.
|
|
341
|
+
.map((s) => s as unknown as Schema<never, any, any>)
|
|
342
|
+
.map(S.decodeUnknown)
|
|
343
343
|
)
|
|
344
344
|
const parseBody = (u: unknown) => pb.flatMapOpt((d) => d(u))
|
|
345
345
|
|
|
346
346
|
const pp = Effect.sync(() =>
|
|
347
347
|
Option
|
|
348
348
|
.fromNullable(Request.Path)
|
|
349
|
-
.map((s) => s as unknown as Schema<any, any>)
|
|
350
|
-
.map(S.
|
|
349
|
+
.map((s) => s as unknown as Schema<never, any, any>)
|
|
350
|
+
.map(S.decodeUnknown)
|
|
351
351
|
)
|
|
352
352
|
const parsePath = (u: unknown) => pp.flatMapOpt((d) => d(u))
|
|
353
353
|
|
|
354
354
|
const pc = Effect.sync(() =>
|
|
355
355
|
Option
|
|
356
356
|
.fromNullable(Request.Cookie)
|
|
357
|
-
.map((s) => s as unknown as Schema<any, any>)
|
|
358
|
-
.map(S.
|
|
357
|
+
.map((s) => s as unknown as Schema<never, any, any>)
|
|
358
|
+
.map(S.decodeUnknown)
|
|
359
359
|
)
|
|
360
360
|
const parseCookie = (u: unknown) => pc.flatMapOpt((d) => d(u))
|
|
361
361
|
|
|
@@ -109,7 +109,7 @@ export function makeRequestHandler<
|
|
|
109
109
|
const { Request, Response, h: handle } = handler
|
|
110
110
|
|
|
111
111
|
const response: REST.ReqRes<any, any> = Response ? Response : Void
|
|
112
|
-
const resp = response as typeof response & { struct?: Schema<any, any> }
|
|
112
|
+
const resp = response as typeof response & { struct?: Schema<never, any, any> }
|
|
113
113
|
// TODO: consider if the alternative of using the struct schema is perhaps just better.
|
|
114
114
|
const encoder = "struct" in resp && resp.struct
|
|
115
115
|
? resp.struct.encodeSync
|
|
@@ -18,8 +18,8 @@ export function makeMemQueue<
|
|
|
18
18
|
>(
|
|
19
19
|
queueName: string,
|
|
20
20
|
queueDrainName: string,
|
|
21
|
-
schema: S.Schema<EvtE, Evt>,
|
|
22
|
-
drainSchema: S.Schema<DrainEvtE, DrainEvt>
|
|
21
|
+
schema: S.Schema<never, EvtE, Evt>,
|
|
22
|
+
drainSchema: S.Schema<never, DrainEvtE, DrainEvt>
|
|
23
23
|
) {
|
|
24
24
|
return Effect.gen(function*($) {
|
|
25
25
|
const mem = yield* $(MemQueue)
|
|
@@ -29,7 +29,7 @@ export function makeMemQueue<
|
|
|
29
29
|
|
|
30
30
|
const wireSchema = struct({ body: schema, meta: QueueMeta })
|
|
31
31
|
const drainW = struct({ body: drainSchema, meta: QueueMeta })
|
|
32
|
-
const parseDrain = flow(drainW.
|
|
32
|
+
const parseDrain = flow(drainW.decodeUnknown, (_) => _.orDie)
|
|
33
33
|
|
|
34
34
|
return {
|
|
35
35
|
publish: (...messages) =>
|
|
@@ -41,11 +41,10 @@ export function makeMemQueue<
|
|
|
41
41
|
messages
|
|
42
42
|
.forEachEffect((m) =>
|
|
43
43
|
// we JSON encode, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
)
|
|
48
|
-
)
|
|
44
|
+
wireSchema
|
|
45
|
+
.encode({ body: m, meta: { requestContext, span } })
|
|
46
|
+
.orDie
|
|
47
|
+
.andThen(JSON.stringify)
|
|
49
48
|
// .tap((msg) => info("Publishing Mem Message: " + utils.inspect(msg)))
|
|
50
49
|
.flatMap((_) => q.offer(_))
|
|
51
50
|
.asUnit
|
|
@@ -60,7 +59,8 @@ export function makeMemQueue<
|
|
|
60
59
|
const silenceAndReportError = reportNonInterruptedFailure({ name: "MemQueue.drain." + queueDrainName })
|
|
61
60
|
const processMessage = (msg: string) =>
|
|
62
61
|
// we JSON parse, because that is what the wire also does, and it reveals holes in e.g unknown encoders (Date->String)
|
|
63
|
-
Effect
|
|
62
|
+
Effect
|
|
63
|
+
.sync(() => JSON.parse(msg))
|
|
64
64
|
.flatMap(parseDrain)
|
|
65
65
|
.orDie
|
|
66
66
|
.flatMap(({ body, meta }) =>
|
|
@@ -28,15 +28,15 @@ export function makeServiceBusQueue<
|
|
|
28
28
|
>(
|
|
29
29
|
_queueName: string,
|
|
30
30
|
queueDrainName: string,
|
|
31
|
-
schema: S.Schema<EvtE, Evt>,
|
|
32
|
-
drainSchema: S.Schema<DrainEvtE, DrainEvt>
|
|
31
|
+
schema: S.Schema<never, EvtE, Evt>,
|
|
32
|
+
drainSchema: S.Schema<never, DrainEvtE, DrainEvt>
|
|
33
33
|
) {
|
|
34
34
|
const wireSchema = struct({
|
|
35
35
|
body: schema,
|
|
36
36
|
meta: QueueMeta
|
|
37
37
|
})
|
|
38
38
|
const drainW = struct({ body: drainSchema, meta: QueueMeta })
|
|
39
|
-
const parseDrain = flow(drainW.
|
|
39
|
+
const parseDrain = flow(drainW.decodeUnknown, (_) => _.orDie)
|
|
40
40
|
|
|
41
41
|
return Effect.gen(function*($) {
|
|
42
42
|
const s = yield* $(Sender)
|
|
@@ -87,11 +87,11 @@ export function makeRepo<
|
|
|
87
87
|
>() {
|
|
88
88
|
return <
|
|
89
89
|
ItemType extends string,
|
|
90
|
-
|
|
91
|
-
|
|
90
|
+
From extends { id: string },
|
|
91
|
+
T extends { id: unknown }
|
|
92
92
|
>(
|
|
93
93
|
name: ItemType,
|
|
94
|
-
schema: S.Schema<From, T>,
|
|
94
|
+
schema: S.Schema<never, From, T>,
|
|
95
95
|
mapFrom: (pm: Omit<PM, "_etag">) => From,
|
|
96
96
|
mapTo: (e: From, etag: string | undefined) => PM
|
|
97
97
|
) => {
|
|
@@ -147,7 +147,7 @@ export function makeRepo<
|
|
|
147
147
|
})
|
|
148
148
|
)
|
|
149
149
|
|
|
150
|
-
const parse = (e: From) => schema.
|
|
150
|
+
const parse = (e: From) => schema.decodeUnknown(e).orDie
|
|
151
151
|
|
|
152
152
|
const all = allE.flatMap((_) => _.forEachEffect((_) => parse(_)))
|
|
153
153
|
|
|
@@ -157,6 +157,7 @@ export function makeRepo<
|
|
|
157
157
|
// grab id from the first type for now
|
|
158
158
|
// we need to get the TypeLiteral, incase of class it's behind a transform...
|
|
159
159
|
? (S.make(_.ast.types[0]._tag === "Transform" ? _.ast.types[0].from : _.ast.types[0]) as unknown as Schema<
|
|
160
|
+
never,
|
|
160
161
|
From,
|
|
161
162
|
T
|
|
162
163
|
>)
|
|
@@ -164,9 +165,13 @@ export function makeRepo<
|
|
|
164
165
|
: _.pipe(S.pick("id"))
|
|
165
166
|
)
|
|
166
167
|
function findE(_id: T["id"]) {
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
.
|
|
168
|
+
return S
|
|
169
|
+
.encode(i)({ id: _id })
|
|
170
|
+
.orDie
|
|
171
|
+
.andThen((id) =>
|
|
172
|
+
store
|
|
173
|
+
.find(id as unknown as string)
|
|
174
|
+
)
|
|
170
175
|
.flatMap((items) =>
|
|
171
176
|
Do(($) => {
|
|
172
177
|
const { set } = $(cms)
|
|
@@ -180,7 +185,8 @@ export function makeRepo<
|
|
|
180
185
|
}
|
|
181
186
|
|
|
182
187
|
const saveAllE = (a: Iterable<From>) =>
|
|
183
|
-
Effect
|
|
188
|
+
Effect
|
|
189
|
+
.sync(() => a.toNonEmptyArray)
|
|
184
190
|
.flatMapOpt((a) =>
|
|
185
191
|
Do(($) => {
|
|
186
192
|
const { get, set } = $(cms)
|
|
@@ -216,7 +222,8 @@ export function makeRepo<
|
|
|
216
222
|
set(e.id, undefined)
|
|
217
223
|
}
|
|
218
224
|
yield* $(
|
|
219
|
-
Effect
|
|
225
|
+
Effect
|
|
226
|
+
.sync(() => events.toNonEmptyArray)
|
|
220
227
|
// TODO: for full consistency the events should be stored within the same database transaction, and then picked up.
|
|
221
228
|
.flatMapOpt(pub)
|
|
222
229
|
)
|
|
@@ -317,11 +324,11 @@ export function makeStore<
|
|
|
317
324
|
>() {
|
|
318
325
|
return <
|
|
319
326
|
ItemType extends string,
|
|
320
|
-
|
|
321
|
-
|
|
327
|
+
E extends { id: string },
|
|
328
|
+
T extends { id: unknown }
|
|
322
329
|
>(
|
|
323
330
|
name: ItemType,
|
|
324
|
-
schema: S.Schema<E, T>,
|
|
331
|
+
schema: S.Schema<never, E, T>,
|
|
325
332
|
mapTo: (e: E, etag: string | undefined) => PM
|
|
326
333
|
) => {
|
|
327
334
|
const [_dec, encode] = makeCodec(schema)
|
|
@@ -429,9 +436,9 @@ export const RepositoryBaseImpl = <Service>() => {
|
|
|
429
436
|
PM extends { id: string; _etag: string | undefined },
|
|
430
437
|
Evt = never
|
|
431
438
|
>() =>
|
|
432
|
-
<ItemType extends string,
|
|
439
|
+
<ItemType extends string, From extends { id: string }, T extends { id: unknown }>(
|
|
433
440
|
itemType: ItemType,
|
|
434
|
-
schema: S.Schema<From, T>,
|
|
441
|
+
schema: S.Schema<never, From, T>,
|
|
435
442
|
jitM?: (pm: From) => From
|
|
436
443
|
): Exact<PM, From & { _etag: string | undefined }> extends true ?
|
|
437
444
|
& (abstract new() => RepositoryBaseC1<T, PM, Evt, ItemType>)
|
|
@@ -470,9 +477,9 @@ export const RepositoryDefaultImpl = <Service>() => {
|
|
|
470
477
|
PM extends { id: string; _etag: string | undefined },
|
|
471
478
|
Evt = never
|
|
472
479
|
>() =>
|
|
473
|
-
<ItemType extends string,
|
|
480
|
+
<ItemType extends string, From extends { id: string }, T extends { id: unknown }>(
|
|
474
481
|
itemType: ItemType,
|
|
475
|
-
schema: S.Schema<From, T>,
|
|
482
|
+
schema: S.Schema<never, From, T>,
|
|
476
483
|
jitM?: (pm: From) => From
|
|
477
484
|
): Exact<PM, From & { _etag: string | undefined }> extends true ?
|
|
478
485
|
& (abstract new(
|
|
@@ -9,7 +9,7 @@ import type { Version } from "./simpledb.js"
|
|
|
9
9
|
// Do not try this at home.
|
|
10
10
|
const storage = makeMap<string, string>()
|
|
11
11
|
|
|
12
|
-
const parseSDB = SerializedDBRecord.
|
|
12
|
+
const parseSDB = SerializedDBRecord.decodeUnknown
|
|
13
13
|
|
|
14
14
|
export function createContext<TKey extends string, EA, A extends DBRecord<TKey>>() {
|
|
15
15
|
return <REncode, RDecode, EDecode>(
|
|
@@ -30,7 +30,7 @@ export function createContext<TKey extends string, EA, A extends DBRecord<TKey>>
|
|
|
30
30
|
.flatMap((_) => _.hmgetAll(getKey(id)))
|
|
31
31
|
.flatMapOpt((v) =>
|
|
32
32
|
RedisSerializedDBRecord
|
|
33
|
-
.
|
|
33
|
+
.decodeUnknown(v)
|
|
34
34
|
.map(({ data, version }) => ({
|
|
35
35
|
data: JSON.parse(data) as EA,
|
|
36
36
|
version
|
|
@@ -34,7 +34,7 @@ export class SerializedDBRecord extends S.Class<SerializedDBRecord>()({
|
|
|
34
34
|
}) {}
|
|
35
35
|
|
|
36
36
|
// unknown -> string -> SDB?
|
|
37
|
-
export function makeSerialisedDBRecord(s: Schema<
|
|
37
|
+
export function makeSerialisedDBRecord(s: Schema<never, any>) {
|
|
38
38
|
return S.struct({
|
|
39
39
|
version: S.number,
|
|
40
40
|
timestamp: S.Date,
|
package/dist/RequestContext.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { useClassFeaturesForSchema, TaggedClass, NonEmptyString255, struct, literal, FromClass } from "@effect-app/schema";
|
|
2
2
|
import { S } from "@effect-app/prelude";
|
|
3
|
-
declare const RequestContextParent_base: S.Class<{
|
|
3
|
+
declare const RequestContextParent_base: S.Class<never, {
|
|
4
4
|
readonly _tag: "RequestContext";
|
|
5
5
|
readonly id: string;
|
|
6
6
|
readonly name: string;
|
|
@@ -27,27 +27,27 @@ declare const RequestContextParent_base: S.Class<{
|
|
|
27
27
|
readonly id?: S.NonEmptyString255;
|
|
28
28
|
readonly createdAt?: Date;
|
|
29
29
|
}, RequestContextParent, {
|
|
30
|
-
id: S.WithDefaults<S.Schema<string, S.NonEmptyString255> & {
|
|
30
|
+
id: S.WithDefaults<S.Schema<never, string, S.NonEmptyString255> & {
|
|
31
31
|
make: () => S.NonEmptyString255;
|
|
32
|
-
withDefault: () => S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
33
|
-
}> & S.Schema<string, S.NonEmptyString255> & {
|
|
32
|
+
withDefault: () => S.Schema<never, string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<never, string, S.NonEmptyString255>;
|
|
33
|
+
}> & S.Schema<never, string, S.NonEmptyString255> & {
|
|
34
34
|
make: () => S.NonEmptyString255;
|
|
35
|
-
withDefault: () => S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
35
|
+
withDefault: () => S.Schema<never, string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<never, string, S.NonEmptyString255>;
|
|
36
36
|
};
|
|
37
|
-
name: S.WithDefaults<S.Schema<string, string & S.NonEmptyString255Brand>> & S.Schema<string, string & S.NonEmptyString255Brand>;
|
|
38
|
-
userProfile: S.PropertySignature<{
|
|
37
|
+
name: S.WithDefaults<S.Schema<never, string, string & S.NonEmptyString255Brand>> & S.Schema<never, string, string & S.NonEmptyString255Brand>;
|
|
38
|
+
userProfile: S.PropertySignature<never, {
|
|
39
39
|
readonly sub: string;
|
|
40
40
|
} | undefined, true, {
|
|
41
41
|
readonly sub: string & import("@effect-app/prelude/ids").UserProfileIdBrand;
|
|
42
42
|
} | undefined, true>;
|
|
43
|
-
locale: S.Schema<"en" | "de", "en" | "de"> & {
|
|
43
|
+
locale: S.Schema<never, "en" | "de", "en" | "de"> & {
|
|
44
44
|
literals: ["en", "de"];
|
|
45
45
|
};
|
|
46
|
-
createdAt: S.Schema<string, Date> & S.ConstructorPropertyDescriptor<string, Date>;
|
|
46
|
+
createdAt: S.Schema<never, string, Date> & S.ConstructorPropertyDescriptor<never, string, Date>;
|
|
47
47
|
}, import("effect/Data").Case>;
|
|
48
48
|
export declare class RequestContextParent extends RequestContextParent_base {
|
|
49
49
|
}
|
|
50
|
-
declare const RequestContext_base: S.Class<{
|
|
50
|
+
declare const RequestContext_base: S.Class<never, {
|
|
51
51
|
readonly _tag: "RequestContext";
|
|
52
52
|
readonly id: string;
|
|
53
53
|
readonly name: string;
|
|
@@ -92,15 +92,15 @@ declare const RequestContext_base: S.Class<{
|
|
|
92
92
|
readonly createdAt?: Date;
|
|
93
93
|
readonly rootId?: S.NonEmptyString255;
|
|
94
94
|
}, RequestContext, {
|
|
95
|
-
id: S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
96
|
-
rootId: S.WithDefaults<S.Schema<string, S.NonEmptyString255> & {
|
|
95
|
+
id: S.Schema<never, string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<never, string, S.NonEmptyString255>;
|
|
96
|
+
rootId: S.WithDefaults<S.Schema<never, string, S.NonEmptyString255> & {
|
|
97
97
|
make: () => S.NonEmptyString255;
|
|
98
|
-
withDefault: () => S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
99
|
-
}> & S.Schema<string, S.NonEmptyString255> & {
|
|
98
|
+
withDefault: () => S.Schema<never, string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<never, string, S.NonEmptyString255>;
|
|
99
|
+
}> & S.Schema<never, string, S.NonEmptyString255> & {
|
|
100
100
|
make: () => S.NonEmptyString255;
|
|
101
|
-
withDefault: () => S.Schema<string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<string, S.NonEmptyString255>;
|
|
101
|
+
withDefault: () => S.Schema<never, string, S.NonEmptyString255> & S.ConstructorPropertyDescriptor<never, string, S.NonEmptyString255>;
|
|
102
102
|
};
|
|
103
|
-
parent: S.PropertySignature<{
|
|
103
|
+
parent: S.PropertySignature<never, {
|
|
104
104
|
readonly _tag: "RequestContext";
|
|
105
105
|
readonly id: string;
|
|
106
106
|
readonly name: string;
|
|
@@ -110,17 +110,17 @@ declare const RequestContext_base: S.Class<{
|
|
|
110
110
|
readonly sub: string;
|
|
111
111
|
} | undefined;
|
|
112
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<{
|
|
113
|
+
namespace: S.PropertySignature<never, string | undefined, true, (string & S.NonEmptyString255Brand) | undefined, true>;
|
|
114
|
+
name: S.WithDefaults<S.Schema<never, string, string & S.NonEmptyString255Brand>> & S.Schema<never, string, string & S.NonEmptyString255Brand>;
|
|
115
|
+
userProfile: S.PropertySignature<never, {
|
|
116
116
|
readonly sub: string;
|
|
117
117
|
} | undefined, true, {
|
|
118
118
|
readonly sub: string & import("@effect-app/prelude/ids").UserProfileIdBrand;
|
|
119
119
|
} | undefined, true>;
|
|
120
|
-
locale: S.Schema<"en" | "de", "en" | "de"> & {
|
|
120
|
+
locale: S.Schema<never, "en" | "de", "en" | "de"> & {
|
|
121
121
|
literals: ["en", "de"];
|
|
122
122
|
};
|
|
123
|
-
createdAt: S.Schema<string, Date> & S.ConstructorPropertyDescriptor<string, Date>;
|
|
123
|
+
createdAt: S.Schema<never, string, Date> & S.ConstructorPropertyDescriptor<never, string, Date>;
|
|
124
124
|
}, import("effect/Data").Case>;
|
|
125
125
|
/**
|
|
126
126
|
* @tsplus type RequestContext
|
package/dist/RequestContext.js
CHANGED
|
@@ -26,7 +26,7 @@ export { RequestContextParent };
|
|
|
26
26
|
* @tsplus type RequestContext
|
|
27
27
|
* @tsplus companion RequestContext.Ops
|
|
28
28
|
*/
|
|
29
|
-
let RequestContext = RequestContext_1 = class RequestContext extends
|
|
29
|
+
let RequestContext = RequestContext_1 = class RequestContext extends tsplus_module_1.TaggedClass()("RequestContext", {
|
|
30
30
|
...tsplus_module_3.RecordOmitold(tsplus_module_3.object$(RequestContextParent.fields), "id"),
|
|
31
31
|
id: RequestId.withDefault(),
|
|
32
32
|
rootId: RequestId,
|
|
@@ -83,4 +83,4 @@ export { RequestContext };
|
|
|
83
83
|
}
|
|
84
84
|
RequestContext.From = From;
|
|
85
85
|
})(RequestContext || (RequestContext = {}));
|
|
86
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdENvbnRleHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL1JlcXVlc3RDb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0scUJBQXFCLENBQUE7QUFDdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxhQUFhLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQTtBQUczRCxJQUFNLG9CQUFvQixHQUExQixNQUFNLG9CQUFxQixTQUFRLGdCQUFBLFdBQVcsRUFFbEQsQ0FBQyxnQkFBZ0IsRUFBRTtJQUNwQixFQUFFLEVBQUUsU0FBUztJQUNiLElBQUksa0JBQUUsaUJBQWlCO0lBQ3ZCLFdBQVcsRUFBRSx5QkFBQSxnQkFBQSxNQUFNLENBQUMsRUFBRSxHQUFHLEVBQUUsYUFBYSxFQUFFLENBQUMsQ0FBVztJQUN0RCxNQUFNLEVBQUUsZ0JBQUEsT0FBTyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUM7SUFDM0IsU0FBUyxFQUFFLHVDQUFBLENBQUMsQ0FBQyxJQUFJLEVBQWlCLEdBQUcsRUFBRSxDQUFDLElBQUksSUFBSSxFQUFFLENBQUMsQ0FBQyxPQUFPO0NBQzVELENBQUM7Q0FBRyxDQUFBO0FBUlEsb0JBQW9CO29CQURoQyx5QkFBeUI7R0FDYixvQkFBb0IsQ0FRNUI7O0FBRUw7OztHQUdHO0FBRUksSUFBTSxjQUFjLHNCQUFwQixNQUFNLGNBQWUsU0FBUSxnQkFBQSxXQUFXLEVBRTVDLENBQUMsZ0JBQWdCLEVBQUU7SUFDcEIsR0FBRyxzREFBQSxvQkFBb0IsQ0FBQyxNQUFNLEdBQVMsSUFBSSxDQUFDO0lBQzVDLEVBQUUsRUFBRSxTQUFTLENBQUMsV0FBVyxFQUFFO0lBQzNCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE1BQU0sRUFBRSx5QkFBQSxvQkFBb0IsQ0FBVztJQUN2QyxTQUFTLEVBQUUseUNBQUEsaUJBQWlCLENBQVc7SUFDdkMsOENBQThDO0lBQzlDLGlDQUFpQztJQUNqQyx1QkFBdUI7SUFDdkIsNkNBQTZDO0lBQzdDLDRDQUE0QztJQUM1QyxLQUFLO0NBQ04sQ0FBQztJQUNBLDZDQUE2QztJQUM3QyxNQUFNLENBQUMsT0FBTyxDQUVaLE1BQXNCLEVBQ3RCLE9BQThEO1FBRTlELE9BQU8sSUFBSSxnQkFBYyxDQUFDO1lBQ3hCLFNBQVMsRUFBRSxNQUFNLEVBQUUsU0FBUztZQUM1QixHQUFHLE9BQU87WUFDVixNQUFNLEVBQUUsTUFBTSxDQUFDLE1BQU07WUFDckIsTUFBTTtTQUNQLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsWUFBWSxDQUFhLElBQW9CO1FBQ2xELE9BQU87WUFDTCxhQUFhLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDeEIsTUFBTSxFQUFFLElBQUksQ0FBQyxNQUFNO1lBQ25CLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTTtnQkFDYixDQUFDLENBQUMsRUFBRSxtQkFBbUIsRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEVBQUU7Z0JBQzdFLENBQUMsQ0FBQyxFQUFFLENBQUM7U0FDUixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUF0Q1ksY0FBYztvQkFEMUIseUJBQXlCO0dBQ2IsY0FBYyxDQXNDMUI7O0FBRUQsZ0NBQWdDO0FBQ2hDLEVBQUU7QUFDRixvQkFBb0I7QUFDcEIsV0FBaUIsb0JBQW9CO0lBQ25DOzs7T0FHRztJQUNILE1BQWEsSUFBSyxTQUFRLGdCQUFBLFNBQVMsRUFBK0I7S0FBRztJQUF4RCx5QkFBSSxPQUFvRCxDQUFBO0FBQ3ZFLENBQUMsRUFOZ0Isb0JBQW9CLEtBQXBCLG9CQUFvQixRQU1wQztBQUNELFdBQWlCLGNBQWM7SUFDN0I7OztPQUdHO0lBQ0gsTUFBYSxJQUFLLFNBQVEsZ0JBQUEsU0FBUyxFQUF5QjtLQUFHO0lBQWxELG1CQUFJLE9BQThDLENBQUE7QUFDakUsQ0FBQyxFQU5nQixjQUFjLEtBQWQsY0FBYyxRQU05QiJ9
|
package/dist/api/codec.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import * as S from "@effect-app/schema";
|
|
2
|
-
export declare function makeCodec<To extends {
|
|
2
|
+
export declare function makeCodec<From, To extends {
|
|
3
3
|
id: Id;
|
|
4
|
-
},
|
|
4
|
+
}, Id>(self: S.Schema<never, From, To>): readonly [(i: From, overrideOptions?: S.AST.ParseOptions | undefined) => To, (a: To, overrideOptions?: 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,
|
|
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,IAAI,EACJ,EAAE,SAAS;IAAE,EAAE,EAAE,EAAE,CAAA;CAAE,EACrB,EAAE,EACF,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE,CAAC,mJAEhC"}
|
package/dist/api/codec.js
CHANGED
|
@@ -2,4 +2,4 @@ import * as S from "@effect-app/schema";
|
|
|
2
2
|
export function makeCodec(self) {
|
|
3
3
|
return [S.decodeSync(self), S.encodeSync(self)];
|
|
4
4
|
}
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29kZWMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2FwaS9jb2RlYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssQ0FBQyxNQUFNLG9CQUFvQixDQUFBO0FBRXZDLE1BQU0sVUFBVSxTQUFTLENBSXZCLElBQStCO0lBQy9CLE9BQU8sQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQVUsQ0FBQTtBQUMxRCxDQUFDIn0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../_src/api/express/schema/jwt.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAKvC,eAAO,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../../../_src/api/express/schema/jwt.ts"],"names":[],"mappings":";AAGA,OAAO,KAAK,CAAC,MAAM,oBAAoB,CAAA;AAKvC,eAAO,MAAM,GAAG,kCAWf,CAAA"}
|
|
@@ -5,8 +5,8 @@ import * as S from "@effect-app/schema";
|
|
|
5
5
|
import { jwtDecode } from "jwt-decode";
|
|
6
6
|
export const jwt = S.transformOrFail(S.string, S.unknown, (s, __, ast) => S.ParseResult.try({
|
|
7
7
|
try: () => jwtDecode(s),
|
|
8
|
-
catch: (e) => S.ParseResult.
|
|
8
|
+
catch: (e) => S.ParseResult.type(ast, s, e.message)
|
|
9
9
|
}), (_) => {
|
|
10
10
|
throw new Error("not implemented");
|
|
11
11
|
});
|
|
12
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
12
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiand0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vX3NyYy9hcGkvZXhwcmVzcy9zY2hlbWEvand0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLDREQUE0RDtBQUM1RCx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELE9BQU8sS0FBSyxDQUFDLE1BQU0sb0JBQW9CLENBQUE7QUFHdkMsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLFlBQVksQ0FBQTtBQUV0QyxNQUFNLENBQUMsTUFBTSxHQUFHLEdBQUcsQ0FBQyxDQUFDLGVBQWUsQ0FDbEMsQ0FBQyxDQUFDLE1BQU0sRUFDUixDQUFDLENBQUMsT0FBTyxFQUNULENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxHQUFHLEVBQUUsRUFBRSxDQUNiLEFBVFEsQ0FBQyxDQVNULFdBQVcsQ0FBQyxHQUFHLENBQUM7SUFDZCxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2QixLQUFLLEVBQUUsQ0FBQyxDQUFNLEVBQUUsRUFBRSxDQUFDLEFBWGIsQ0FBQyxDQVdZLFdBQVcsQ0FBQyxJQUFJLENBQUMsR0FBRyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsT0FBTyxDQUFDO0NBQ3ZELENBQUMsRUFDSixDQUFDLENBQUMsRUFBcUMsRUFBRTtJQUN2QyxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7QUFDcEMsQ0FBQyxDQUNGLENBQUEifQ==
|
|
@@ -22,7 +22,7 @@ type FlattenLVL1<T extends object> = object extends T ? object : {
|
|
|
22
22
|
[K in keyof O]: O[K];
|
|
23
23
|
} : never : never;
|
|
24
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> {
|
|
25
|
+
export interface ReqHandler<Req, R, E, Res, ReqSchema extends S.Schema<any, any, any>, ResSchema extends S.Schema<any, any, any>, CTX = any, Context = any> {
|
|
26
26
|
h: (r: Req, ctx: CTX) => Effect<R, E, Res>;
|
|
27
27
|
Request: ReqSchema;
|
|
28
28
|
Response: ResSchema;
|
|
@@ -31,10 +31,10 @@ export interface ReqHandler<Req, R, E, Res, ReqSchema extends S.Schema<any, any>
|
|
|
31
31
|
CTX: CTX;
|
|
32
32
|
Context: Context;
|
|
33
33
|
}
|
|
34
|
-
export type ReqFromSchema<ReqSchema extends S.Schema<any, any>> = S.Schema.To<ReqSchema>;
|
|
34
|
+
export type ReqFromSchema<ReqSchema extends S.Schema<any, any, any>> = S.Schema.To<ReqSchema>;
|
|
35
35
|
export type Extr<T> = T extends {
|
|
36
|
-
Model: S.Schema<any, any>;
|
|
37
|
-
} ? T["Model"] : T extends S.Schema<any, any> ? T : never;
|
|
36
|
+
Model: S.Schema<any, any, any>;
|
|
37
|
+
} ? T["Model"] : T extends S.Schema<any, any, any> ? T : never;
|
|
38
38
|
export type ResFromSchema<ResSchema> = S.Schema.To<Extr<ResSchema>>;
|
|
39
39
|
export type _R<T extends Effect<any, any, any>> = [T] extends [
|
|
40
40
|
Effect<infer R, any, any>
|
|
@@ -1 +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,
|
|
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
CHANGED
|
@@ -116,15 +116,15 @@ export function respondSuccess(encodeResponse) {
|
|
|
116
116
|
})));
|
|
117
117
|
}
|
|
118
118
|
export function makeRequestParsers(Request) {
|
|
119
|
-
const ph = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Headers), (s) => s), S.
|
|
119
|
+
const ph = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Headers), (s) => s), S.decodeUnknown));
|
|
120
120
|
const parseHeaders = (u) => tsplus_module_6.flatMapOption(ph, (d) => d(u));
|
|
121
|
-
const pq = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Query), (s) => s), S.
|
|
121
|
+
const pq = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Query), (s) => s), S.decodeUnknown));
|
|
122
122
|
const parseQuery = (u) => tsplus_module_6.flatMapOption(pq, (d) => d(u));
|
|
123
|
-
const pb = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Body), (s) => s), S.
|
|
123
|
+
const pb = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Body), (s) => s), S.decodeUnknown));
|
|
124
124
|
const parseBody = (u) => tsplus_module_6.flatMapOption(pb, (d) => d(u));
|
|
125
|
-
const pp = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Path), (s) => s), S.
|
|
125
|
+
const pp = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Path), (s) => s), S.decodeUnknown));
|
|
126
126
|
const parsePath = (u) => tsplus_module_6.flatMapOption(pp, (d) => d(u));
|
|
127
|
-
const pc = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Cookie), (s) => s), S.
|
|
127
|
+
const pc = tsplus_module_1.sync(() => tsplus_module_5.map(tsplus_module_5.map(tsplus_module_5.fromNullable(Request.Cookie), (s) => s), S.decodeUnknown));
|
|
128
128
|
const parseCookie = (u) => tsplus_module_6.flatMapOption(pc, (d) => d(u));
|
|
129
129
|
return {
|
|
130
130
|
parseBody,
|
|
@@ -134,4 +134,4 @@ export function makeRequestParsers(Request) {
|
|
|
134
134
|
parseQuery
|
|
135
135
|
};
|
|
136
136
|
}
|
|
137
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
137
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL19zcmMvYXBpL3JvdXRpbmcvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFFdkQsaURBQWlEO0FBQ2pELE9BQU8sS0FBSyxDQUFDLE1BQU0sb0JBQW9CLENBQUE7QUFHdkMsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFBO0FBcUcxRCxvREFBb0Q7QUFDcEQsaUNBQWlDO0FBQ2pDLDZCQUE2QjtBQUM3QixtQ0FBbUM7QUFDbkMsTUFBTTtBQUNOLG1FQUFtRTtBQUNuRSxpQ0FBaUM7QUFDakMsTUFBTTtBQUNOLHFDQUFxQztBQUNyQyxJQUFJO0FBQ0osTUFBTSxVQUFVLFlBQVksQ0FBQyxDQUFVO0lBQ3JDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNaLENBQUM7QUFFRCxpRUFBaUU7QUFDakUsK0ZBQStGO0FBQy9GLDRCQUE0QjtBQUM1QixNQUFNO0FBQ04sSUFBSTtBQUVKLDhEQUE4RDtBQUM5RCxNQUFNLFVBQVUsa0JBQWtCLENBT2hDLE9BQStEO0lBRS9ELE9BQU8sQ0FDTCxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBTXRDLEVBQ0QsRUFBRSxDQUNGLHdCQUFBLG9CQUNPO1FBQ0gsSUFBSSxFQUFFLDZDQUFBLE9BQU87YUFDVixTQUFTLENBQUMsSUFBSSxDQUFDLEdBRVAsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNiLDBCQUFBLENBQUMsQ0FBWSxJQUFJLENBQUMsMEJBQUEsQ0FBQyxDQUFDLEtBQUssQ0FBWTtZQUNuQyxDQUFDLENBQUUsOEJBQXFCLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQTJDO1lBQ2hGLENBQUMsQ0FBQyxxQkFBWSxHQUFHLEVBQUUsQ0FDakIsMEJBQUEsQ0FBQyxDQUFZO2dCQUNYLENBQUMsQ0FBQyxFQUFFLElBQUks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
|