@effect-app/infra 0.80.14 → 0.81.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 +24 -0
- package/_cjs/_ext/Array.cjs +4 -1
- package/_cjs/_ext/Array.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.cjs +5 -3
- package/_cjs/api/express/makeJsonSchema.cjs.map +1 -1
- package/_cjs/api/express/makeJsonSchema.test.cjs +3 -1
- package/_cjs/api/express/makeJsonSchema.test.cjs.map +1 -1
- package/_cjs/api/express/schema/requestHandler.cjs +3 -1
- package/_cjs/api/express/schema/requestHandler.cjs.map +1 -1
- package/_cjs/errors.cjs +21 -37
- package/_cjs/errors.cjs.map +1 -1
- package/_cjs/services/Repository.cjs +8 -2
- package/_cjs/services/Repository.cjs.map +1 -1
- package/_cjs/services/Store/Cosmos.cjs +12 -3
- package/_cjs/services/Store/Cosmos.cjs.map +1 -1
- package/_cjs/services/Store/Redis.cjs +4 -1
- package/_cjs/services/Store/Redis.cjs.map +1 -1
- package/_cjs/services/Store/utils.cjs +13 -3
- package/_cjs/services/Store/utils.cjs.map +1 -1
- package/_cjs/services/simpledb/cosmosdb.cjs +23 -20
- package/_cjs/services/simpledb/cosmosdb.cjs.map +1 -1
- package/_cjs/services/simpledb/mongodb.cjs +1 -1
- package/_cjs/services/simpledb/mongodb.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 +24 -24
- package/_cjs/services/simpledb/shared.cjs.map +1 -1
- package/_cjs/services/simpledb/simpledb.cjs +1 -1
- package/_cjs/services/simpledb/simpledb.cjs.map +1 -1
- package/_src/_ext/Array.ts +1 -1
- package/_src/api/express/makeJsonSchema.test.ts +1 -1
- package/_src/api/express/makeJsonSchema.ts +3 -3
- package/_src/api/express/schema/requestHandler.ts +1 -1
- package/_src/errors.ts +17 -26
- package/_src/services/Repository.ts +2 -2
- package/_src/services/Store/Cosmos.ts +39 -42
- package/_src/services/Store/Redis.ts +1 -1
- package/_src/services/Store/utils.ts +14 -9
- package/_src/services/simpledb/cosmosdb.ts +5 -3
- package/_src/services/simpledb/mongodb.ts +1 -1
- package/_src/services/simpledb/redisdb.ts +1 -1
- package/_src/services/simpledb/shared.ts +13 -14
- package/_src/services/simpledb/simpledb.ts +1 -1
- package/dist/_ext/Array.js +2 -2
- package/dist/api/express/makeJsonSchema.js +4 -4
- package/dist/api/express/schema/requestHandler.js +2 -2
- package/dist/errors.d.ts +52 -25
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +15 -34
- package/dist/services/Repository.js +3 -3
- package/dist/services/Store/Cosmos.d.ts.map +1 -1
- package/dist/services/Store/Cosmos.js +4 -4
- package/dist/services/Store/Redis.js +2 -2
- package/dist/services/Store/utils.d.ts +1 -1
- package/dist/services/Store/utils.d.ts.map +1 -1
- package/dist/services/Store/utils.js +15 -10
- package/dist/services/simpledb/cosmosdb.d.ts +1 -0
- package/dist/services/simpledb/cosmosdb.d.ts.map +1 -1
- package/dist/services/simpledb/cosmosdb.js +21 -20
- package/dist/services/simpledb/mongodb.js +2 -2
- package/dist/services/simpledb/redisdb.js +2 -2
- package/dist/services/simpledb/shared.d.ts +25 -15
- package/dist/services/simpledb/shared.d.ts.map +1 -1
- package/dist/services/simpledb/shared.js +13 -25
- package/dist/services/simpledb/simpledb.js +2 -2
- package/package.json +5 -5
|
@@ -54,26 +54,25 @@ export function makeCosmosStore({ prefix }: StorageConfig) {
|
|
|
54
54
|
[
|
|
55
55
|
x,
|
|
56
56
|
Option.fromNullable(x._etag).match({
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
)
|
|
57
|
+
onNone: () => ({
|
|
58
|
+
operationType: "Create" as const,
|
|
59
|
+
resourceBody: {
|
|
60
|
+
...omit(x, "_etag"),
|
|
61
|
+
_partitionKey: config?.partitionValue(x)
|
|
62
|
+
} as any,
|
|
63
|
+
partitionKey: config?.partitionValue(x)
|
|
64
|
+
}),
|
|
65
|
+
onSome: (eTag) => ({
|
|
66
|
+
operationType: "Replace" as const,
|
|
67
|
+
id: x.id,
|
|
68
|
+
resourceBody: {
|
|
69
|
+
...omit(x, "_etag"),
|
|
70
|
+
_partitionKey: config?.partitionValue(x)
|
|
71
|
+
} as any,
|
|
72
|
+
ifMatch: eTag,
|
|
73
|
+
partitionKey: config?.partitionValue(x)
|
|
74
|
+
})
|
|
75
|
+
})
|
|
77
76
|
] as const
|
|
78
77
|
)
|
|
79
78
|
const batches = b.chunk(config?.maxBulkSize ?? 10).toReadonlyArray
|
|
@@ -93,8 +92,7 @@ export function makeCosmosStore({ prefix }: StorageConfig) {
|
|
|
93
92
|
return yield* $(
|
|
94
93
|
Effect.fail(
|
|
95
94
|
new OptimisticConcurrencyException(
|
|
96
|
-
name,
|
|
97
|
-
JSON.stringify(r.resourceBody?.["id"])
|
|
95
|
+
{ type: name, id: JSON.stringify(r.resourceBody?.["id"]) }
|
|
98
96
|
)
|
|
99
97
|
)
|
|
100
98
|
)
|
|
@@ -133,24 +131,23 @@ export function makeCosmosStore({ prefix }: StorageConfig) {
|
|
|
133
131
|
[
|
|
134
132
|
x,
|
|
135
133
|
Option.fromNullable(x._etag).match({
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
)
|
|
134
|
+
onNone: () => ({
|
|
135
|
+
operationType: "Create" as const,
|
|
136
|
+
resourceBody: {
|
|
137
|
+
...omit(x, "_etag"),
|
|
138
|
+
_partitionKey: config?.partitionValue(x)
|
|
139
|
+
} as any
|
|
140
|
+
}),
|
|
141
|
+
onSome: (eTag) => ({
|
|
142
|
+
operationType: "Replace" as const,
|
|
143
|
+
id: x.id,
|
|
144
|
+
resourceBody: {
|
|
145
|
+
...omit(x, "_etag"),
|
|
146
|
+
_partitionKey: config?.partitionValue(x)
|
|
147
|
+
} as any,
|
|
148
|
+
ifMatch: eTag
|
|
149
|
+
})
|
|
150
|
+
})
|
|
154
151
|
] as const
|
|
155
152
|
)
|
|
156
153
|
|
|
@@ -168,7 +165,7 @@ export function makeCosmosStore({ prefix }: StorageConfig) {
|
|
|
168
165
|
const code = firstFailed.statusCode ?? 0
|
|
169
166
|
if (code === 412 || code === 404) {
|
|
170
167
|
return yield* $(
|
|
171
|
-
|
|
168
|
+
new OptimisticConcurrencyException({ type: name, id: "batch" })
|
|
172
169
|
)
|
|
173
170
|
}
|
|
174
171
|
|
|
@@ -319,7 +316,7 @@ export function makeCosmosStore({ prefix }: StorageConfig) {
|
|
|
319
316
|
)
|
|
320
317
|
.flatMap((x) => {
|
|
321
318
|
if (x.statusCode === 412 || x.statusCode === 404) {
|
|
322
|
-
return
|
|
319
|
+
return new OptimisticConcurrencyException({ type: name, id: e.id })
|
|
323
320
|
}
|
|
324
321
|
if (x.statusCode > 299 || x.statusCode < 200) {
|
|
325
322
|
return Effect.die(
|
|
@@ -32,7 +32,7 @@ export function makeRedisStore({ prefix }: StorageConfig) {
|
|
|
32
32
|
}
|
|
33
33
|
const get = redis
|
|
34
34
|
.get(key)
|
|
35
|
-
.flatMap((x) => x.encaseInEffect(() => new NotFoundError("data", "")))
|
|
35
|
+
.flatMap((x) => x.encaseInEffect(() => new NotFoundError({ type: "data", id: "" })))
|
|
36
36
|
.orDie
|
|
37
37
|
.map((x) => JSON.parse(x) as { data: readonly PM[] })
|
|
38
38
|
.map((_) => _.data)
|
|
@@ -14,17 +14,22 @@ export const makeETag = <E extends PersistenceModelType<Id>, Id extends string>(
|
|
|
14
14
|
_etag: objectHash(e)
|
|
15
15
|
}) as any
|
|
16
16
|
export const makeUpdateETag =
|
|
17
|
-
(
|
|
17
|
+
(type: string) => <E extends PersistenceModelType<Id>, Id extends string>(e: E, current: Option<E>) =>
|
|
18
18
|
Effect.gen(function*($) {
|
|
19
19
|
if (e._etag) {
|
|
20
20
|
yield* $(
|
|
21
21
|
current
|
|
22
|
-
.encaseInEffect(() => new OptimisticConcurrencyException(
|
|
22
|
+
.encaseInEffect(() => new OptimisticConcurrencyException({ type, id: e.id, current: "", found: e._etag }))
|
|
23
23
|
)
|
|
24
24
|
}
|
|
25
25
|
if (current.isSome() && current.value._etag !== e._etag) {
|
|
26
26
|
return yield* $(
|
|
27
|
-
|
|
27
|
+
new OptimisticConcurrencyException({
|
|
28
|
+
type,
|
|
29
|
+
id: current.value.id,
|
|
30
|
+
current: current.value._etag,
|
|
31
|
+
found: e._etag
|
|
32
|
+
})
|
|
28
33
|
)
|
|
29
34
|
}
|
|
30
35
|
const newE = makeETag(e)
|
|
@@ -84,11 +89,11 @@ export function codeFilter<E extends { id: string }, NE extends E>(filter: Filte
|
|
|
84
89
|
case "not-includes":
|
|
85
90
|
return !(k as Array<string>).includes(p.value)
|
|
86
91
|
case "contains":
|
|
87
|
-
return (k as string).toLowerCase().includes(
|
|
92
|
+
return (k as string).toLowerCase().includes(p.value.toLowerCase())
|
|
88
93
|
case "ends-with":
|
|
89
|
-
return (k as string).toLowerCase().endsWith(
|
|
94
|
+
return (k as string).toLowerCase().endsWith(p.value.toLowerCase())
|
|
90
95
|
case "starts-with":
|
|
91
|
-
return (k as string).toLowerCase().startsWith(
|
|
96
|
+
return (k as string).toLowerCase().startsWith(p.value.toLowerCase())
|
|
92
97
|
case "not-eq":
|
|
93
98
|
return !compareCaseInsensitive(k, p.value)
|
|
94
99
|
case "eq":
|
|
@@ -120,11 +125,11 @@ export function codeFilter<E extends { id: string }, NE extends E>(filter: Filte
|
|
|
120
125
|
case "not-includes":
|
|
121
126
|
return !(k as Array<string>).includes(p.value)
|
|
122
127
|
case "contains":
|
|
123
|
-
return (k as string).toLowerCase().includes(
|
|
128
|
+
return (k as string).toLowerCase().includes(p.value.toLowerCase())
|
|
124
129
|
case "ends-with":
|
|
125
|
-
return (k as string).toLowerCase().endsWith(
|
|
130
|
+
return (k as string).toLowerCase().endsWith(p.value.toLowerCase())
|
|
126
131
|
case "starts-with":
|
|
127
|
-
return (k as string).toLowerCase().startsWith(
|
|
132
|
+
return (k as string).toLowerCase().startsWith(p.value.toLowerCase())
|
|
128
133
|
case "not-eq":
|
|
129
134
|
return p.key.includes(".-1.")
|
|
130
135
|
? (get(x, p.key.split(".-1.")[0]) as any[])
|
|
@@ -7,8 +7,10 @@ import { OptimisticLockException } from "./shared.js"
|
|
|
7
7
|
import * as simpledb from "./simpledb.js"
|
|
8
8
|
import type { Version } from "./simpledb.js"
|
|
9
9
|
|
|
10
|
-
class CosmosDbOperationError {
|
|
11
|
-
constructor(
|
|
10
|
+
class CosmosDbOperationError extends Data.TaggedError("CosmosDbOperationError")<{ message: string }> {
|
|
11
|
+
constructor(message: string) {
|
|
12
|
+
super({ message })
|
|
13
|
+
}
|
|
12
14
|
}
|
|
13
15
|
|
|
14
16
|
const setup = (type: string, indexingPolicy: IndexingPolicy) =>
|
|
@@ -125,7 +127,7 @@ WHERE (
|
|
|
125
127
|
.orDie
|
|
126
128
|
.flatMap((x) => {
|
|
127
129
|
if (x.statusCode === 412) {
|
|
128
|
-
return
|
|
130
|
+
return new OptimisticLockException(type, record.id)
|
|
129
131
|
}
|
|
130
132
|
if (x.statusCode > 299 || x.statusCode < 200) {
|
|
131
133
|
return Effect.die(
|
|
@@ -92,7 +92,7 @@ export function createContext<TKey extends string, EA, A extends DBRecord<TKey>>
|
|
|
92
92
|
.orDie
|
|
93
93
|
.flatMap((x) => {
|
|
94
94
|
if (!x.modifiedCount) {
|
|
95
|
-
return
|
|
95
|
+
return new OptimisticLockException(type, record.id)
|
|
96
96
|
}
|
|
97
97
|
return Effect.unit
|
|
98
98
|
})
|
|
@@ -1,27 +1,26 @@
|
|
|
1
1
|
import * as MO from "@effect-app/schema"
|
|
2
2
|
import type { SchemaAny } from "@effect-app/schema"
|
|
3
3
|
|
|
4
|
-
class
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
constructor(readonly type: string, readonly id: string, readonly error: Error) {
|
|
10
|
-
super(`Couldn't lock db record ${type}: ${id}`)
|
|
4
|
+
export class CouldNotAquireDbLockException
|
|
5
|
+
extends Data.TaggedError("CouldNotAquireDbLockException")<{ type: string; id: string; error: Error; message: string }>
|
|
6
|
+
{
|
|
7
|
+
constructor(type: string, id: string, error: Error) {
|
|
8
|
+
super({ type, id, error, message: `Couldn't lock db record ${type}: ${id}` })
|
|
11
9
|
}
|
|
12
10
|
}
|
|
13
11
|
|
|
14
|
-
export class OptimisticLockException
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
12
|
+
export class OptimisticLockException
|
|
13
|
+
extends Data.TaggedError("OptimisticLockException")<{ type: string; id: string; message: string }>
|
|
14
|
+
{
|
|
15
|
+
constructor(type: string, id: string) {
|
|
16
|
+
super({ type, id, message: `Existing ${type} ${id} record changed` })
|
|
18
17
|
}
|
|
19
18
|
}
|
|
20
19
|
|
|
21
|
-
export class ConnectionException extends Error {
|
|
20
|
+
export class ConnectionException extends Data.TaggedError("ConnectionException")<{ cause: Error; message: string }> {
|
|
22
21
|
readonly _errorTag = "ConnectionException"
|
|
23
|
-
constructor(
|
|
24
|
-
super("A connection error ocurred")
|
|
22
|
+
constructor(cause: Error) {
|
|
23
|
+
super({ cause, message: "A connection error ocurred" })
|
|
25
24
|
}
|
|
26
25
|
}
|
|
27
26
|
|
|
@@ -107,7 +107,7 @@ export function store<R, E, R2, E2, TKey extends string, EA, A extends DBRecord<
|
|
|
107
107
|
)
|
|
108
108
|
.tap(({ version }) =>
|
|
109
109
|
version !== cv
|
|
110
|
-
?
|
|
110
|
+
? new OptimisticLockException(type, record.id)
|
|
111
111
|
: Effect.unit
|
|
112
112
|
)
|
|
113
113
|
.zipRight(save(record, Option(cv)))
|
package/dist/_ext/Array.js
CHANGED
|
@@ -10,7 +10,7 @@ import { NotFoundError } from "../errors.js";
|
|
|
10
10
|
* @tsplus fluent ReadonlyArray getFirstById
|
|
11
11
|
*/
|
|
12
12
|
export function getFirstById_(a, id, type) {
|
|
13
|
-
return tsplus_module_2.encaseMaybeInEffect_(tsplus_module_1.findFirst(tsplus_module_1.fromIterable(a), (_) => _.id === id), () => new NotFoundError(type, id));
|
|
13
|
+
return tsplus_module_2.encaseMaybeInEffect_(tsplus_module_1.findFirst(tsplus_module_1.fromIterable(a), (_) => _.id === id), () => new NotFoundError({ type, id }));
|
|
14
14
|
}
|
|
15
15
|
/**
|
|
16
16
|
* @tsplus fluent Object.Ops inspect
|
|
@@ -18,4 +18,4 @@ export function getFirstById_(a, id, type) {
|
|
|
18
18
|
export function RecordInspect(o, showHidden, depth, color) {
|
|
19
19
|
return inspect(o.subject, showHidden, depth, color);
|
|
20
20
|
}
|
|
21
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
21
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQXJyYXkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL19leHQvQXJyYXkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQzlCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFFNUM7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsQ0FBYyxFQUNkLEVBQU0sRUFDTixJQUFVO0lBRVYsT0FBTyxxQ0FBQSwwQkFBQSw2QkFDUyxDQUFDLENBQUMsRUFDTCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUMsRUFDZCxHQUFHLEVBQUUsQ0FBQyxJQUFJLGFBQWEsQ0FBQyxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7QUFDMUQsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsQ0FBZ0IsRUFDaEIsVUFBZ0MsRUFDaEMsS0FBaUMsRUFDakMsS0FBMkI7SUFFM0IsT0FBTyxPQUFPLENBQUMsQ0FBQyxDQUFDLE9BQU8sRUFBRSxVQUFVLEVBQUUsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFBO0FBQ3JELENBQUMifQ==
|
|
@@ -26,11 +26,11 @@ class PathsTree {
|
|
|
26
26
|
// case "resource": {
|
|
27
27
|
// // check shadowing: if 'a/:param' comes before 'a/b', then 'a/b' is shadowed
|
|
28
28
|
// if (pathNavigator.params[1]) {
|
|
29
|
-
// return yield* $(
|
|
29
|
+
// return yield* $(
|
|
30
30
|
// new InvalidStateError(
|
|
31
31
|
// `Path ${pathNavigator.path}${match.value}/ is shadowed by ${pathNavigator.params[1].path}`
|
|
32
32
|
// )
|
|
33
|
-
// )
|
|
33
|
+
// )
|
|
34
34
|
// }
|
|
35
35
|
// break
|
|
36
36
|
// }
|
|
@@ -90,7 +90,7 @@ export function checkPaths(paths) {
|
|
|
90
90
|
}
|
|
91
91
|
if (pathNavigator.methods.includes(path.method)) {
|
|
92
92
|
// throw duplicate path-method error
|
|
93
|
-
return yield* $(
|
|
93
|
+
return yield* $(new InvalidStateError({ message: `Duplicate method ${path.method} for path ${path.path}` }));
|
|
94
94
|
}
|
|
95
95
|
pathNavigator.methods.push(path.method);
|
|
96
96
|
}
|
|
@@ -128,4 +128,4 @@ class Response {
|
|
|
128
128
|
this.type = type;
|
|
129
129
|
}
|
|
130
130
|
}
|
|
131
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
131
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFrZUpzb25TY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9fc3JjL2FwaS9leHByZXNzL21ha2VKc29uU2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLHVEQUF1RDtBQUV2RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQTtBQUNuRCxPQUFPLEtBQUssRUFBRSxNQUFNLHFCQUFxQixDQUFBO0FBSXpDLE1BQU0sRUFBRSxHQUFHLFNBQVMsQ0FBQTtBQUlwQixNQUFNLFNBQVM7SUFNYixZQUFZLElBQVk7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxFQUFFLENBQUE7UUFDakIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLFFBQVEsR0FBRyxFQUFFLENBQUE7UUFDbEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUE7SUFDbEIsQ0FBQztDQUNGO0FBRUQsb0JBQW9CO0FBQ3BCLCtCQUErQjtBQUMvQixrQkFBa0I7QUFDbEIsSUFBSTtBQUVKLDJCQUEyQjtBQUMzQiw4QkFBOEI7QUFDOUIsaUJBQWlCO0FBQ2pCLE1BQU07QUFDTixxQ0FBcUM7QUFDckMsNEJBQTRCO0FBQzVCLDJCQUEyQjtBQUMzQix1RkFBdUY7QUFDdkYseUNBQXlDO0FBQ3pDLDZCQUE2QjtBQUM3QixxQ0FBcUM7QUFDckMsMkdBQTJHO0FBQzNHLGdCQUFnQjtBQUNoQixjQUFjO0FBQ2QsWUFBWTtBQUNaLGdCQUFnQjtBQUNoQixVQUFVO0FBQ1Ysd0JBQXdCO0FBQ3hCLHNHQUFzRztBQUN0Ryw4RUFBOEU7QUFDOUUscUNBQXFDO0FBQ3JDLG1EQUFtRDtBQUNuRCw4QkFBOEI7QUFDOUIseUhBQXlIO0FBQ3pILGdCQUFnQjtBQUNoQixlQUFlO0FBQ2YsWUFBWTtBQUNaLGdCQUFnQjtBQUNoQixVQUFVO0FBQ1YsUUFBUTtBQUNSLE9BQU87QUFDUCxJQUFJO0FBRUosTUFB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
|
|
@@ -78,7 +78,7 @@ export function parseRequestParams(parsers) {
|
|
|
78
78
|
errors.push(makeError("query")(query.errors));
|
|
79
79
|
}
|
|
80
80
|
if (errors.length) {
|
|
81
|
-
return
|
|
81
|
+
return new ValidationError({ errors });
|
|
82
82
|
}
|
|
83
83
|
return tsplus_module_1.sync(() => ({
|
|
84
84
|
body: body.value,
|
|
@@ -135,4 +135,4 @@ export function makeRequestParsers(Request) {
|
|
|
135
135
|
parseQuery
|
|
136
136
|
};
|
|
137
137
|
}
|
|
138
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
138
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdEhhbmRsZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9fc3JjL2FwaS9leHByZXNzL3NjaGVtYS9yZXF1ZXN0SGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSx1REFBdUQ7QUFDdkQsaURBQWlEO0FBQ2pELE9BQU8sS0FBSyxFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFFeEMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLG9CQUFvQixDQUFBO0FBRTNDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQTtBQXdDcEQsb0RBQW9EO0FBQ3BELGlDQUFpQztBQUNqQyw2QkFBNkI7QUFDN0IsbUNBQW1DO0FBQ25DLE1BQU07QUFDTixtRUFBbUU7QUFDbkUsaUNBQWlDO0FBQ2pDLE1BQU07QUFDTixxQ0FBcUM7QUFDckMsSUFBSTtBQUNKLE1BQU0sVUFBVSxZQUFZLENBQUMsQ0FBVTtJQUNyQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDWixDQUFDO0FBRUQsaUVBQWlFO0FBQ2pFLCtGQUErRjtBQUMvRiw0QkFBNEI7QUFDNUIsTUFBTTtBQUNOLElBQUk7QUFFSiw4REFBOEQ7QUFDOUQsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxPQUErRDtJQUUvRCxPQUFPLENBQUMsRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFtQixFQUFFLEVBQUUsQ0FDcEUsd0JBQUEsb0JBQ087UUFDSCxJQUFJLEVBQUUsNkNBQUEsT0FBTzthQUNWLFNBQVMsQ0FBQyxJQUFJLENBQUMsR0FFUCxDQUFDLENBQUMsRUFBRSxFQUFFLENBQ2IsMEJBQUEsQ0FBQyxDQUFZLElBQUksQ0FBQywwQkFBQSxDQUFDLENBQUMsS0FBSyxDQUFZO1lBQ25DLENBQUMsQ0FBRSw4QkFBcUIsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBMkM7WUFDaEYs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
|
package/dist/errors.d.ts
CHANGED
|
@@ -1,31 +1,49 @@
|
|
|
1
|
+
import { Data } from "effect/Data";
|
|
1
2
|
import { Cause } from "effect/Cause";
|
|
2
|
-
|
|
3
|
-
readonly _tag
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
declare const NotFoundError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/Equal").Equal>) => import("effect/Data").YieldableError & {
|
|
4
|
+
readonly _tag: "NotFoundError";
|
|
5
|
+
} & A;
|
|
6
|
+
export declare class NotFoundError<T extends string = string> extends NotFoundError_base<{
|
|
7
|
+
message: string;
|
|
8
|
+
type: T;
|
|
9
|
+
id: string;
|
|
10
|
+
}> {
|
|
11
|
+
constructor(args: {
|
|
12
|
+
readonly type: T;
|
|
13
|
+
readonly id: string;
|
|
14
|
+
});
|
|
6
15
|
}
|
|
7
|
-
|
|
8
|
-
readonly
|
|
9
|
-
|
|
10
|
-
|
|
16
|
+
declare const ValidationError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/Equal").Equal>) => import("effect/Data").YieldableError & {
|
|
17
|
+
readonly _tag: "ValidationError";
|
|
18
|
+
} & A;
|
|
19
|
+
export declare class ValidationError extends ValidationError_base<{
|
|
20
|
+
errors: ReadonlyArray<unknown>;
|
|
21
|
+
}> {
|
|
11
22
|
}
|
|
12
|
-
|
|
13
|
-
readonly _tag
|
|
23
|
+
declare const NotLoggedInError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/Equal").Equal>) => import("effect/Data").YieldableError & {
|
|
24
|
+
readonly _tag: "NotLoggedInError";
|
|
25
|
+
} & A;
|
|
26
|
+
export declare class NotLoggedInError extends NotLoggedInError_base<{}> {
|
|
14
27
|
}
|
|
15
28
|
export declare class UnauthorizedError {
|
|
16
29
|
readonly _tag = "UnauthorizedError";
|
|
17
30
|
}
|
|
31
|
+
declare const LoginError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/Equal").Equal>) => import("effect/Data").YieldableError & {
|
|
32
|
+
readonly _tag: "NotLoggeInError";
|
|
33
|
+
} & A;
|
|
18
34
|
/**
|
|
19
35
|
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
20
36
|
*/
|
|
21
|
-
export declare class LoginError extends
|
|
22
|
-
|
|
23
|
-
|
|
37
|
+
export declare class LoginError extends LoginError_base<{
|
|
38
|
+
message: string;
|
|
39
|
+
}> {
|
|
24
40
|
}
|
|
25
|
-
|
|
26
|
-
readonly
|
|
27
|
-
|
|
28
|
-
|
|
41
|
+
declare const InvalidStateError_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/Equal").Equal>) => import("effect/Data").YieldableError & {
|
|
42
|
+
readonly _tag: "InvalidStateError";
|
|
43
|
+
} & A;
|
|
44
|
+
export declare class InvalidStateError extends InvalidStateError_base<{
|
|
45
|
+
message: string;
|
|
46
|
+
}> {
|
|
29
47
|
}
|
|
30
48
|
export declare class CauseException<E> extends Error {
|
|
31
49
|
readonly originalCause: Cause<E>;
|
|
@@ -40,13 +58,22 @@ export declare class CauseException<E> extends Error {
|
|
|
40
58
|
};
|
|
41
59
|
toString(): string;
|
|
42
60
|
}
|
|
43
|
-
|
|
44
|
-
readonly
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
61
|
+
declare const OptimisticConcurrencyException_base: new <A extends Record<string, any>>(args: import("effect/Types").Equals<Omit<A, keyof import("effect/Equal").Equal>, {}> extends true ? void : Omit<A, keyof import("effect/Equal").Equal>) => import("effect/Data").YieldableError & {
|
|
62
|
+
readonly _tag: "OptimisticConcurrencyException";
|
|
63
|
+
} & A;
|
|
64
|
+
export declare class OptimisticConcurrencyException extends OptimisticConcurrencyException_base<{
|
|
65
|
+
type: string;
|
|
66
|
+
id: string;
|
|
67
|
+
current?: string;
|
|
68
|
+
found?: string;
|
|
69
|
+
message: string;
|
|
70
|
+
}> {
|
|
71
|
+
constructor(args: {
|
|
72
|
+
readonly type: string;
|
|
73
|
+
readonly id: string;
|
|
74
|
+
readonly current?: string;
|
|
75
|
+
readonly found?: string;
|
|
76
|
+
});
|
|
51
77
|
}
|
|
78
|
+
export {};
|
|
52
79
|
//# sourceMappingURL=errors.d.ts.map
|
package/dist/errors.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../_src/errors.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../_src/errors.ts"],"names":[],"mappings":";;;;;AAGA,qBAAa,aAAa,CAAC,CAAC,SAAS,MAAM,GAAG,MAAM,CAClD,SAAQ,mBAAkC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,CAAC,CAAC;IAAC,EAAE,EAAE,MAAM,CAAA;CAAE,CAAC;gBAEvE,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;KAAE;CAG5D;;;;AAED,qBAAa,eAAgB,SAAQ,qBAAoC;IAAE,MAAM,EAAE,aAAa,CAAC,OAAO,CAAC,CAAA;CAAE,CAAC;CAAG;;;;AAE/G,qBAAa,gBAAiB,SAAQ,sBAAqC,EAAE,CAAC;CAAG;AAEjF,qBAAa,iBAAiB;IAC5B,SAAgB,IAAI,uBAAsB;CAC3C;;;;AAED;;GAEG;AACH,qBAAa,UAAW,SAAQ,gBAAoC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;CAAG;;;;AAE3F,qBAAa,iBAAkB,SAAQ,uBAAsC;IAAE,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;CAAG;AAEpG,qBAAa,cAAc,CAAC,CAAC,CAAE,SAAQ,KAAK;IAC9B,QAAQ,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM;gBAA9C,aAAa,EAAE,KAAK,CAAC,CAAC,CAAC,EAAW,IAAI,EAAE,MAAM;IAUnE,MAAM;;;;;;;IAaG,QAAQ;CAGlB;;;;AAED,qBAAa,8BAA+B,SAAQ,oCAClD;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,EAAE,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAChF;gBAEG,IAAI,EAAE;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE;CAI3G"}
|
package/dist/errors.js
CHANGED
|
@@ -1,21 +1,15 @@
|
|
|
1
|
-
import * as tsplus_module_1 from "effect/
|
|
1
|
+
import * as tsplus_module_1 from "effect/Data";
|
|
2
|
+
import * as tsplus_module_2 from "effect/Cause";
|
|
3
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
2
4
|
import { makeFiberFailure } from "effect/Runtime";
|
|
3
|
-
export class NotFoundError {
|
|
4
|
-
constructor(
|
|
5
|
-
|
|
6
|
-
this.message = `Didn't find ${type}#${id}`;
|
|
5
|
+
export class NotFoundError extends tsplus_module_1.TaggedError("NotFoundError") {
|
|
6
|
+
constructor(args) {
|
|
7
|
+
super({ ...args, message: `Didn't find ${args.type}#${args.id}` });
|
|
7
8
|
}
|
|
8
9
|
}
|
|
9
|
-
export class ValidationError {
|
|
10
|
-
constructor(errors) {
|
|
11
|
-
this.errors = errors;
|
|
12
|
-
this._tag = "ValidationError";
|
|
13
|
-
}
|
|
10
|
+
export class ValidationError extends tsplus_module_1.TaggedError("ValidationError") {
|
|
14
11
|
}
|
|
15
|
-
export class NotLoggedInError {
|
|
16
|
-
constructor() {
|
|
17
|
-
this._tag = "NotLoggedInError";
|
|
18
|
-
}
|
|
12
|
+
export class NotLoggedInError extends tsplus_module_1.TaggedError("NotLoggedInError") {
|
|
19
13
|
}
|
|
20
14
|
export class UnauthorizedError {
|
|
21
15
|
constructor() {
|
|
@@ -25,17 +19,9 @@ export class UnauthorizedError {
|
|
|
25
19
|
/**
|
|
26
20
|
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
27
21
|
*/
|
|
28
|
-
export class LoginError extends
|
|
29
|
-
constructor(message) {
|
|
30
|
-
super();
|
|
31
|
-
this.message = message;
|
|
32
|
-
}
|
|
22
|
+
export class LoginError extends tsplus_module_1.TaggedError("NotLoggeInError") {
|
|
33
23
|
}
|
|
34
|
-
export class InvalidStateError {
|
|
35
|
-
constructor(message) {
|
|
36
|
-
this.message = message;
|
|
37
|
-
this._tag = "InvalidStateError";
|
|
38
|
-
}
|
|
24
|
+
export class InvalidStateError extends tsplus_module_1.TaggedError("InvalidStateError") {
|
|
39
25
|
}
|
|
40
26
|
export class CauseException extends Error {
|
|
41
27
|
constructor(originalCause, _tag) {
|
|
@@ -63,17 +49,12 @@ export class CauseException extends Error {
|
|
|
63
49
|
return this.toJSON();
|
|
64
50
|
}
|
|
65
51
|
toString() {
|
|
66
|
-
return `[${this._tag}] ` +
|
|
52
|
+
return `[${this._tag}] ` + tsplus_module_2.pretty(this.originalCause);
|
|
67
53
|
}
|
|
68
54
|
}
|
|
69
|
-
export class OptimisticConcurrencyException {
|
|
70
|
-
constructor(
|
|
71
|
-
|
|
72
|
-
this.id = id;
|
|
73
|
-
this.current = current;
|
|
74
|
-
this.found = found;
|
|
75
|
-
this._tag = "OptimisticConcurrencyException";
|
|
76
|
-
this.message = `Existing ${type} ${id} record changed`;
|
|
55
|
+
export class OptimisticConcurrencyException extends tsplus_module_1.TaggedError("OptimisticConcurrencyException") {
|
|
56
|
+
constructor(args) {
|
|
57
|
+
super({ ...args, message: `Existing ${args.type} ${args.id} record changed` });
|
|
77
58
|
}
|
|
78
59
|
}
|
|
79
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
60
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7QUFBQSxpREFBaUQ7QUFDakQsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sZ0JBQWdCLENBQUE7QUFFakQsTUFBTSxPQUFPLGFBQ1gsU0FBUSw0QkFBaUIsZUFBZSxDQUEyQztJQUVuRixZQUFZLElBQStDO1FBQ3pELEtBQUssQ0FBQyxFQUFFLEdBQUcsSUFBSSxFQUFFLE9BQU8sRUFBRSxlQUFlLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNwRSxDQUFDO0NBQ0Y7QUFFRCxNQUFNLE9BQU8sZUFBZ0IsU0FBUSw0QkFBaUIsaUJBQWlCLENBQXFDO0NBQUc7QUFFL0csTUFBTSxPQUFPLGdCQUFpQixTQUFRLDRCQUFpQixrQkFBa0IsQ0FBSztDQUFHO0FBRWpGLE1BQU0sT0FBTyxpQkFBaUI7SUFBOUI7UUFDa0IsU0FBSSxHQUFHLG1CQUFtQixDQUFBO0lBQzVDLENBQUM7Q0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLFVBQVcsU0FBUSw0QkFBaUIsaUJBQWlCLENBQXNCO0NBQUc7QUFFM0YsTUFBTSxPQUFPLGlCQUFrQixTQUFRLDRCQUFpQixtQkFBbUIsQ0FBc0I7Q0FBRztBQUVwRyxNQUFNLE9BQU8sY0FBa0IsU0FBUSxLQUFLO0lBQzFDLFlBQXFCLGFBQXVCLEVBQVcsSUFBWTtRQUNqRSxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsZUFBZSxDQUFBO1FBQ25DLEtBQUssQ0FBQyxlQUFlLEdBQUcsQ0FBQyxDQUFBO1FBQ3pCLEtBQUssRUFBRSxDQUFBO1FBSFksa0JBQWEsR0FBYixhQUFhLENBQVU7UUFBVyxTQUFJLEdBQUosSUFBSSxDQUFRO1FBSWpFLEtBQUssQ0FBQyxlQUFlLEdBQUcsS0FBSyxDQUFBO1FBQzdCLE1BQU0sRUFBRSxHQUFHLGdCQUFnQixDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsRUFBRSxDQUFDLElBQUksQ0FBQTtRQUNuQixJQUFJLENBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQyxPQUFPLENBQUE7UUFDekIsSUFBSSxDQUFDLEtBQUssR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFBO0lBQ3ZCLENBQUM7SUFDRCxNQUFNO1FBQ0osT0FBTztZQUNMLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLElBQUksRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNmLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztZQUNyQixNQUFNLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRTtZQUN2QixLQUFLLEVBQUUsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEVBQUU7U0FDbkMsQ0FBQTtJQUNILENBQUM7SUFFRCxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsNEJBQTRCLENBQUMsQ0FBQztRQUN4QyxPQUFPLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQTtJQUN0QixDQUFDO0lBQ1EsUUFBUTtRQUNmLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxJQUFJLEdBQUcsdUJBQWEsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0lBQzdELENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyw4QkFBK0IsU0FBUSw0QkFBaUIsZ0NBQWdDLENBRXBHO0lBQ0MsWUFDRSxJQUF3RztRQUV4RyxLQUFLLENBQUMsRUFBRSxHQUFHLElBQUksRUFBRSxPQUFPLEVBQUUsWUFBWSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLGlCQUFpQixFQUFFLENBQUMsQ0FBQTtJQUNoRixDQUFDO0NBQ0YifQ==
|