effect-app 4.0.0-beta.266 → 4.0.0-beta.267
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 +8 -0
- package/dist/Model/Repository/Registry.d.ts +5 -4
- package/dist/Model/Repository/Registry.d.ts.map +1 -1
- package/dist/Model/Repository/Registry.js +1 -1
- package/dist/Model/Repository/ext.d.ts +3 -3
- package/dist/Model/Repository/legacy.d.ts +6 -6
- package/dist/Model/Repository/legacy.d.ts.map +1 -1
- package/dist/Model/Repository/service.d.ts +30 -30
- package/dist/Model/Repository/service.d.ts.map +1 -1
- package/dist/Store.d.ts +11 -11
- package/dist/Store.d.ts.map +1 -1
- package/dist/client/errors.d.ts +35 -4
- package/dist/client/errors.d.ts.map +1 -1
- package/dist/client/errors.js +32 -2
- package/package.json +1 -1
- package/src/Model/Repository/Registry.ts +3 -2
- package/src/Model/Repository/legacy.ts +5 -5
- package/src/Model/Repository/service.ts +39 -29
- package/src/Store.ts +10 -10
- package/src/client/errors.ts +41 -1
package/dist/Store.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type * as Redacted from "effect/Redacted";
|
|
2
2
|
import type { NonEmptyReadonlyArray } from "./Array.js";
|
|
3
|
-
import type { OptimisticConcurrencyException } from "./client/errors.js";
|
|
3
|
+
import type { DatabaseError, OptimisticConcurrencyException } from "./client/errors.js";
|
|
4
4
|
import * as Context from "./Context.js";
|
|
5
5
|
import * as Effect from "./Effect.js";
|
|
6
6
|
import * as Layer from "./Layer.js";
|
|
@@ -89,21 +89,21 @@ export interface FilterArgs<Encoded extends FieldValues, U extends keyof Encoded
|
|
|
89
89
|
limit?: number | undefined;
|
|
90
90
|
skip?: number | undefined;
|
|
91
91
|
}
|
|
92
|
-
export type FilterFunc<Encoded extends FieldValues> = <U extends keyof Encoded = never>(args: FilterArgs<Encoded, U>) => Effect.Effect<(U extends undefined ? Encoded : Pick<Encoded, U>)[]>;
|
|
92
|
+
export type FilterFunc<Encoded extends FieldValues> = <U extends keyof Encoded = never>(args: FilterArgs<Encoded, U>) => Effect.Effect<(U extends undefined ? Encoded : Pick<Encoded, U>)[], DatabaseError>;
|
|
93
93
|
export interface Store<IdKey extends keyof Encoded, Encoded extends FieldValues, PM extends PersistenceModelType<Encoded> = PersistenceModelType<Encoded>> {
|
|
94
|
-
all: Effect.Effect<PM[]>;
|
|
94
|
+
all: Effect.Effect<PM[], DatabaseError>;
|
|
95
95
|
filter: FilterFunc<Encoded>;
|
|
96
|
-
find: (id: Encoded[IdKey]) => Effect.Effect<Option.Option<PM
|
|
97
|
-
set: (e: PM) => Effect.Effect<PM, OptimisticConcurrencyException>;
|
|
98
|
-
batchSet: (items: NonEmptyReadonlyArray<PM>) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException>;
|
|
99
|
-
bulkSet: (items: NonEmptyReadonlyArray<PM>) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException>;
|
|
100
|
-
batchRemove: (ids: NonEmptyReadonlyArray<Encoded[IdKey]>, partitionKey?: string) => Effect.Effect<void>;
|
|
101
|
-
queryRaw: <Out>(query: RawQuery<Encoded, Out>) => Effect.Effect<readonly Out[]>;
|
|
96
|
+
find: (id: Encoded[IdKey]) => Effect.Effect<Option.Option<PM>, DatabaseError>;
|
|
97
|
+
set: (e: PM) => Effect.Effect<PM, OptimisticConcurrencyException | DatabaseError>;
|
|
98
|
+
batchSet: (items: NonEmptyReadonlyArray<PM>) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError>;
|
|
99
|
+
bulkSet: (items: NonEmptyReadonlyArray<PM>) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError>;
|
|
100
|
+
batchRemove: (ids: NonEmptyReadonlyArray<Encoded[IdKey]>, partitionKey?: string) => Effect.Effect<void, DatabaseError>;
|
|
101
|
+
queryRaw: <Out>(query: RawQuery<Encoded, Out>) => Effect.Effect<readonly Out[], DatabaseError>;
|
|
102
102
|
/**
|
|
103
103
|
* Explicitly seed a namespace. Primary is seeded eagerly on initialization.
|
|
104
104
|
* Non-primary namespaces must be seeded explicitly before use.
|
|
105
105
|
*/
|
|
106
|
-
seedNamespace: (namespace: string) => Effect.Effect<void>;
|
|
106
|
+
seedNamespace: (namespace: string) => Effect.Effect<void, DatabaseError>;
|
|
107
107
|
}
|
|
108
108
|
declare const StoreMaker_base: Context.OpaqueClass<StoreMaker, "effect-app/StoreMaker", {
|
|
109
109
|
make: <IdKey extends keyof Encoded, Encoded extends FieldValues, R = never, E = never>(name: string, idKey: IdKey, seed?: Effect.Effect<Iterable<Encoded>, E, R>, config?: StoreConfig<Encoded>) => Effect.Effect<Store<IdKey, Encoded>, E, R>;
|
|
@@ -167,4 +167,4 @@ export interface StorageConfig {
|
|
|
167
167
|
dbName: string;
|
|
168
168
|
}
|
|
169
169
|
export {};
|
|
170
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
170
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU3RvcmUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9TdG9yZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssS0FBSyxRQUFRLE1BQU0saUJBQWlCLENBQUE7QUFFaEQsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxZQUFZLENBQUE7QUFDdkQsT0FBTyxLQUFLLEVBQUUsYUFBYSxFQUFFLDhCQUE4QixFQUFFLE1BQU0sb0JBQW9CLENBQUE7QUFDdkYsT0FBTyxLQUFLLE9BQU8sTUFBTSxjQUFjLENBQUE7QUFDdkMsT0FBTyxLQUFLLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDckMsT0FBTyxLQUFLLEtBQUssTUFBTSxZQUFZLENBQUE7QUFDbkMsT0FBTyxLQUFLLEVBQUUsWUFBWSxFQUFFLE1BQU0sNkJBQTZCLENBQUE7QUFDL0QsT0FBTyxLQUFLLEVBQUUsV0FBVyxFQUFFLE1BQU0seUJBQXlCLENBQUE7QUFDMUQsT0FBTyxLQUFLLEVBQUUsU0FBUyxFQUFFLE1BQU0sb0NBQW9DLENBQUE7QUFDbkUsT0FBTyxLQUFLLEVBQUUscUJBQXFCLEVBQUUsOEJBQThCLEVBQUUsUUFBUSxFQUFFLE1BQU0sa0JBQWtCLENBQUE7QUFDdkcsT0FBTyxLQUFLLEtBQUssTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFFL0M7Ozs7OztHQU1HO0FBQ0gsTUFBTSxXQUFXLFNBQVM7SUFDeEIsUUFBUSxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsQ0FBQTtDQUN6QjtBQUVELE1BQU0sV0FBVyxXQUFXLENBQUMsQ0FBQztJQUM1QixjQUFjLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEtBQUssTUFBTSxDQUFBO0lBQ2pDOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxFQUFFLENBQUMsU0FBUyxFQUFFLE1BQU0sS0FBSyxPQUFPLENBQUE7SUFD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
|
package/dist/Store.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,QAAQ,MAAM,iBAAiB,CAAA;AAEhD,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AACvD,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,oBAAoB,CAAA;
|
|
1
|
+
{"version":3,"file":"Store.d.ts","sourceRoot":"","sources":["../src/Store.ts"],"names":[],"mappings":"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"}
|
package/dist/client/errors.d.ts
CHANGED
|
@@ -119,10 +119,41 @@ export declare class OptimisticConcurrencyException extends OptimisticConcurrenc
|
|
|
119
119
|
}), disableValidation?: boolean);
|
|
120
120
|
toString(): string;
|
|
121
121
|
}
|
|
122
|
-
|
|
122
|
+
declare const DatabaseError_base: S.EnhancedClass<DatabaseError, import("effect/Schema").Struct<{
|
|
123
|
+
readonly _tag: S.tag<"DatabaseError">;
|
|
124
|
+
} & {
|
|
125
|
+
message: S.String;
|
|
126
|
+
transient: import("effect/Schema").Boolean & {
|
|
127
|
+
withConstructorDefault: S.withConstructorDefault<import("effect/Schema").Boolean>;
|
|
128
|
+
withDecodingDefaultType: S.withDecodingDefaultType<import("effect/Schema").Boolean, never>;
|
|
129
|
+
};
|
|
130
|
+
cause: S.optional<S.Defect>;
|
|
131
|
+
}>, Cause.YieldableError>;
|
|
132
|
+
/**
|
|
133
|
+
* Raised by a store adapter when a database operation fails for an
|
|
134
|
+
* infrastructure reason (request timeout, throttle, 5xx, dropped socket, or any
|
|
135
|
+
* non-conflict error). Distinct from `OptimisticConcurrencyException`, which is
|
|
136
|
+
* an expected etag conflict.
|
|
137
|
+
*
|
|
138
|
+
* `transient` is set by the adapter for failures worth retrying (timeout /
|
|
139
|
+
* throttle / 5xx / network). `cause` is the underlying adapter error, carried
|
|
140
|
+
* through a `Defect` schema so it serializes (an `Error` encodes to
|
|
141
|
+
* `{ name, message, cause }`) instead of breaking JSON encoding of the channel.
|
|
142
|
+
*
|
|
143
|
+
* Treated by the api/client/FE machinery like an unexpected (500-class) error.
|
|
144
|
+
*/
|
|
145
|
+
export declare class DatabaseError extends DatabaseError_base {
|
|
146
|
+
constructor(args: {
|
|
147
|
+
message?: string;
|
|
148
|
+
transient?: boolean;
|
|
149
|
+
cause?: unknown;
|
|
150
|
+
}, disableValidation?: boolean);
|
|
151
|
+
toString(): string;
|
|
152
|
+
}
|
|
153
|
+
export declare const SupportedErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError, typeof DatabaseError]>;
|
|
123
154
|
export type SupportedErrors = S.Schema.Type<typeof SupportedErrors>;
|
|
124
|
-
export declare const MutationErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError]>;
|
|
125
|
-
export declare const QueryErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError]>;
|
|
155
|
+
export declare const MutationErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError, typeof DatabaseError]>;
|
|
156
|
+
export declare const QueryErrors: S.Union<readonly [typeof InvalidStateError, typeof OptimisticConcurrencyException, typeof NotFoundError, typeof NotLoggedInError, typeof LoginError, typeof UnauthorizedError, typeof ValidationError, typeof ServiceUnavailableError, typeof DatabaseError]>;
|
|
126
157
|
export type MutationErrors = S.Schema.Type<typeof MutationErrors>;
|
|
127
158
|
export type QueryErrors = S.Schema.Type<typeof QueryErrors>;
|
|
128
159
|
export declare const ErrorSilenced: unique symbol;
|
|
@@ -150,4 +181,4 @@ export declare const tryToReport: (error: {
|
|
|
150
181
|
toString(): string;
|
|
151
182
|
}) => Record<string, unknown>;
|
|
152
183
|
export {};
|
|
153
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmQudHMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpZW50L2Vycm9ycy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEtBQUssS0FBSyxNQUFNLGNBQWMsQ0FBQTtBQUNyQyxPQUFPLEtBQUssQ0FBQyxNQUFNLGNBQWMsQ0FBQTtBQUVqQyxlQUFPLE1BQU0sU0FBUyxVQUFXLE9BQU87O0NBZXZDLENBQUE7Ozs7Ozs7QUFJRCxxQkFBYSxhQUFhLENBQUMsUUFBUSxHQUFHLE1BQU0sQ0FBRSxTQUFRLGtCQUdwRDtJQUNBLFlBQ0UsS0FBSyxFQUFFO1FBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQztRQUFDLEVBQUUsRUFBRSxPQUFPLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUE7S0FBRSxFQUNyRCxpQkFBaUIsQ0FBQyxFQUFFLE9BQU8sRUFHNUI7SUFDRCxJQUFhLE9BQU8sV0FFbkI7SUFDUSxRQUFRLFdBRWhCO0NBQ0Y7Ozs7OztBQUtELHFCQUFhLGlCQUFrQixTQUFRLHNCQUVyQztJQUNBLFlBQVksZUFBZSxFQUFFLE1BQU0sR0FBRztRQUFFLE9BQU8sRUFBRSxNQUFNLENBQUM7UUFBQyxLQUFLLENBQUMsRUFBRSxPQUFPLENBQUE7S0FBRSxFQUFFLGlCQUFpQixDQUFDLEVBQUUsT0FBTyxFQUt0RztJQUNRLFFBQVEsV0FFaEI7Q0FDRjs7Ozs7O0FBRUQscUJBQWEsdUJBQXdCLFNBQVEsNEJBRTNDO0lBQ0EsWUFBWSxlQUFlLEVBQUUsTUFBTSxHQUFHO1FBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQztRQUFDLEtBQUssQ0FBQyxFQUFFLE9BQU8sQ0FBQTtLQUFFLEVBQUUsaUJBQWlCLENBQUMsRUFBRSxPQUFPLEVBS3RHO0lBQ1EsUUFBUSxXQUVoQjtDQUNGOzs7Ozs7Ozs7QUFFRCxxQkFBYSxlQUFnQixTQUFRLG9CQUVuQztJQUNBLFlBQ0UsS0FBSyxFQUFFO1FBQUUsTUFBTSxFQUFFLGFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/client/errors.ts"],"names":[],"mappings":"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"}
|
package/dist/client/errors.js
CHANGED
|
@@ -117,6 +117,35 @@ export class OptimisticConcurrencyException extends TaggedErrorClass()("Optimist
|
|
|
117
117
|
return `OptimisticConcurrencyException: ${this.message}`;
|
|
118
118
|
}
|
|
119
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Raised by a store adapter when a database operation fails for an
|
|
122
|
+
* infrastructure reason (request timeout, throttle, 5xx, dropped socket, or any
|
|
123
|
+
* non-conflict error). Distinct from `OptimisticConcurrencyException`, which is
|
|
124
|
+
* an expected etag conflict.
|
|
125
|
+
*
|
|
126
|
+
* `transient` is set by the adapter for failures worth retrying (timeout /
|
|
127
|
+
* throttle / 5xx / network). `cause` is the underlying adapter error, carried
|
|
128
|
+
* through a `Defect` schema so it serializes (an `Error` encodes to
|
|
129
|
+
* `{ name, message, cause }`) instead of breaking JSON encoding of the channel.
|
|
130
|
+
*
|
|
131
|
+
* Treated by the api/client/FE machinery like an unexpected (500-class) error.
|
|
132
|
+
*/
|
|
133
|
+
export class DatabaseError extends TaggedErrorClass()("DatabaseError", {
|
|
134
|
+
message: S.String,
|
|
135
|
+
transient: S.Boolean,
|
|
136
|
+
cause: S.optional(S.Defect())
|
|
137
|
+
}) {
|
|
138
|
+
constructor(args, disableValidation) {
|
|
139
|
+
super({
|
|
140
|
+
message: args.message ?? "Database operation failed",
|
|
141
|
+
transient: args.transient ?? false,
|
|
142
|
+
cause: args.cause
|
|
143
|
+
}, disableValidation);
|
|
144
|
+
}
|
|
145
|
+
toString() {
|
|
146
|
+
return `DatabaseError: ${this.message}`;
|
|
147
|
+
}
|
|
148
|
+
}
|
|
120
149
|
const MutationOnlyErrors = [
|
|
121
150
|
InvalidStateError,
|
|
122
151
|
OptimisticConcurrencyException
|
|
@@ -127,7 +156,8 @@ const GeneralErrors = [
|
|
|
127
156
|
LoginError,
|
|
128
157
|
UnauthorizedError,
|
|
129
158
|
ValidationError,
|
|
130
|
-
ServiceUnavailableError
|
|
159
|
+
ServiceUnavailableError,
|
|
160
|
+
DatabaseError
|
|
131
161
|
];
|
|
132
162
|
export const SupportedErrors = S.Union([
|
|
133
163
|
...MutationOnlyErrors,
|
|
@@ -215,4 +245,4 @@ export const tryToReport = (error) => {
|
|
|
215
245
|
}
|
|
216
246
|
}
|
|
217
247
|
};
|
|
218
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
248
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC9lcnJvcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsZ0VBQWdFO0FBQ2hFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3BELE9BQU8sS0FBSyxLQUFLLE1BQU0sY0FBYyxDQUFBO0FBQ3JDLE9BQU8sS0FBSyxDQUFDLE1BQU0sY0FBYyxDQUFBO0FBRWpDLE1BQU0sQ0FBQyxNQUFNLFNBQVMsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO0lBQzFDLElBQUksQ0FBQztRQUNILE1BQU0sU0FBUyxHQUFJLEtBQWEsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUN6QyxPQUFPLFNBQVMsSUFBSSxPQUFPLFNBQVMsS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQW9DLENBQUMsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLENBQUE7SUFDdEcsQ0FBQztJQUFDLE1BQU0sQ0FBQztRQUNQLElBQUksQ0FBQztZQUNILE9BQU8sRUFBRSxLQUFLLEVBQUcsS0FBYSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUE7UUFDN0MsQ0FBQztRQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7WUFDYixJQUFJLENBQUM7Z0JBQ0gsT0FBTyxFQUFFLEtBQUssRUFBRSw0QkFBNEIsR0FBRyxFQUFFLEVBQUUsQ0FBQTtZQUNyRCxDQUFDO1lBQUMsTUFBTSxDQUFDO2dCQUNQLE9BQU8sRUFBRSxLQUFLLEVBQUUsMENBQTBDLEVBQUUsQ0FBQTtZQUM5RCxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDLENBQUE7QUFFRCx5REFBeUQ7QUFDekQsaUNBQWlDO0FBQ2pDLE1BQU0sT0FBTyxhQUFpQyxTQUFRLGdCQUFnQixFQUEyQixDQUFDLGVBQWUsRUFBRTtJQUNqSCxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU07SUFDZCxFQUFFLEVBQUUsQ0FBQyxDQUFD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
|
package/package.json
CHANGED
|
@@ -1,8 +1,9 @@
|
|
|
1
|
+
import type { DatabaseError } from "../../client/errors.js"
|
|
1
2
|
import * as Context from "../../Context.js"
|
|
2
3
|
import * as Effect from "../../Effect.js"
|
|
3
4
|
|
|
4
5
|
export interface RegisteredRepository {
|
|
5
|
-
readonly seedNamespace: (namespace: string) => Effect.Effect<void>
|
|
6
|
+
readonly seedNamespace: (namespace: string) => Effect.Effect<void, DatabaseError>
|
|
6
7
|
}
|
|
7
8
|
|
|
8
9
|
const make = Effect.sync(() => {
|
|
@@ -27,7 +28,7 @@ const make = Effect.sync(() => {
|
|
|
27
28
|
|
|
28
29
|
export class RepositoryRegistry extends Context.Opaque<RepositoryRegistry, {
|
|
29
30
|
readonly register: (modelName: string, repo: RegisteredRepository) => void
|
|
30
|
-
readonly seedNamespace: (namespace: string) => Effect.Effect<void>
|
|
31
|
+
readonly seedNamespace: (namespace: string) => Effect.Effect<void, DatabaseError>
|
|
31
32
|
readonly entries: ReadonlyMap<string, RegisteredRepository>
|
|
32
33
|
}>()("effect-app/RepositoryRegistry", { make }) {}
|
|
33
34
|
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
/* eslint-disable @typescript-eslint/no-unsafe-assignment */
|
|
3
|
-
import type { OptimisticConcurrencyException } from "../../client/errors.js"
|
|
3
|
+
import type { DatabaseError, OptimisticConcurrencyException } from "../../client/errors.js"
|
|
4
4
|
import type * as Effect from "../../Effect.js"
|
|
5
5
|
import type * as Option from "../../Option.js"
|
|
6
6
|
import type * as S from "../../Schema.js"
|
|
7
7
|
|
|
8
8
|
export interface Mapped1<A, IdKey extends keyof A, R> {
|
|
9
|
-
all: Effect.Effect<A[], S.SchemaError, R>
|
|
10
|
-
save: (...xes: readonly A[]) => Effect.Effect<void, OptimisticConcurrencyException | S.SchemaError, R>
|
|
11
|
-
find: (id: A[IdKey]) => Effect.Effect<Option.Option<A>, S.SchemaError, R>
|
|
9
|
+
all: Effect.Effect<A[], S.SchemaError | DatabaseError, R>
|
|
10
|
+
save: (...xes: readonly A[]) => Effect.Effect<void, OptimisticConcurrencyException | S.SchemaError | DatabaseError, R>
|
|
11
|
+
find: (id: A[IdKey]) => Effect.Effect<Option.Option<A>, S.SchemaError | DatabaseError, R>
|
|
12
12
|
}
|
|
13
13
|
|
|
14
14
|
// TODO: auto use project, and select fields from the From side of schema only
|
|
15
15
|
export interface Mapped2<A, R> {
|
|
16
|
-
all: Effect.Effect<A[], S.SchemaError, R>
|
|
16
|
+
all: Effect.Effect<A[], S.SchemaError | DatabaseError, R>
|
|
17
17
|
}
|
|
18
18
|
|
|
19
19
|
export interface Mapped<Encoded> {
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
2
2
|
import type * as Scope from "effect/Scope"
|
|
3
|
-
import type { InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "../../client/errors.js"
|
|
3
|
+
import type { DatabaseError, InvalidStateError, NotFoundError, OptimisticConcurrencyException } from "../../client/errors.js"
|
|
4
4
|
import type * as Effect from "../../Effect.js"
|
|
5
5
|
import type * as Option from "../../Option.js"
|
|
6
6
|
import type * as S from "../../Schema.js"
|
|
@@ -49,32 +49,32 @@ export interface Repository<
|
|
|
49
49
|
> {
|
|
50
50
|
readonly itemType: ItemType
|
|
51
51
|
readonly idKey: IdKey
|
|
52
|
-
readonly find: (id: T[IdKey]) => Effect.Effect<Option.Option<T>,
|
|
53
|
-
readonly all: Effect.Effect<T[],
|
|
52
|
+
readonly find: (id: T[IdKey]) => Effect.Effect<Option.Option<T>, DatabaseError, RSchema>
|
|
53
|
+
readonly all: Effect.Effect<T[], DatabaseError, RSchema>
|
|
54
54
|
readonly saveAndPublish: (
|
|
55
55
|
items: Iterable<T>,
|
|
56
56
|
events?: Iterable<Evt>
|
|
57
|
-
) => Effect.Effect<void, InvalidStateError | OptimisticConcurrencyException, RSchema | RPublish>
|
|
57
|
+
) => Effect.Effect<void, InvalidStateError | OptimisticConcurrencyException | DatabaseError, RSchema | RPublish>
|
|
58
58
|
readonly changeFeed: ChangeFeed<T>
|
|
59
59
|
readonly removeAndPublish: (
|
|
60
60
|
items: Iterable<T>,
|
|
61
61
|
events?: Iterable<Evt>
|
|
62
|
-
) => Effect.Effect<void,
|
|
62
|
+
) => Effect.Effect<void, DatabaseError, RSchema | RPublish>
|
|
63
63
|
|
|
64
64
|
readonly removeById: (
|
|
65
65
|
idOrIds: T[IdKey] | ReadonlyArray<T[IdKey]>
|
|
66
|
-
) => Effect.Effect<void,
|
|
66
|
+
) => Effect.Effect<void, DatabaseError, RSchema>
|
|
67
67
|
|
|
68
68
|
readonly queryRaw: <T, Out, R>(
|
|
69
69
|
schema: S.Codec<T, Out, R>,
|
|
70
70
|
raw: RawQuery<Encoded, Out>
|
|
71
|
-
) => Effect.Effect<readonly T[], S.SchemaError, R>
|
|
71
|
+
) => Effect.Effect<readonly T[], S.SchemaError | DatabaseError, R>
|
|
72
72
|
|
|
73
73
|
/**
|
|
74
74
|
* Explicitly seed a namespace. Primary is seeded eagerly on initialization.
|
|
75
75
|
* Non-primary namespaces must be seeded explicitly before use.
|
|
76
76
|
*/
|
|
77
|
-
readonly seedNamespace: (namespace: string) => Effect.Effect<void>
|
|
77
|
+
readonly seedNamespace: (namespace: string) => Effect.Effect<void, DatabaseError>
|
|
78
78
|
|
|
79
79
|
readonly query: {
|
|
80
80
|
// ending with projection
|
|
@@ -91,7 +91,8 @@ export interface Repository<
|
|
|
91
91
|
): Effect.Effect<
|
|
92
92
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
93
93
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
94
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
94
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
95
|
+
| DatabaseError,
|
|
95
96
|
Exclude<R, RProvided> | RSchema
|
|
96
97
|
>
|
|
97
98
|
<
|
|
@@ -111,7 +112,8 @@ export interface Repository<
|
|
|
111
112
|
): Effect.Effect<
|
|
112
113
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
113
114
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
114
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
115
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
116
|
+
| DatabaseError,
|
|
115
117
|
Exclude<R, RProvided> | RSchema
|
|
116
118
|
>
|
|
117
119
|
<
|
|
@@ -133,7 +135,8 @@ export interface Repository<
|
|
|
133
135
|
): Effect.Effect<
|
|
134
136
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
135
137
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
136
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
138
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
139
|
+
| DatabaseError,
|
|
137
140
|
Exclude<R, RProvided> | RSchema
|
|
138
141
|
>
|
|
139
142
|
<
|
|
@@ -157,7 +160,8 @@ export interface Repository<
|
|
|
157
160
|
): Effect.Effect<
|
|
158
161
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
159
162
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
160
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
163
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
164
|
+
| DatabaseError,
|
|
161
165
|
Exclude<R, RProvided> | RSchema
|
|
162
166
|
>
|
|
163
167
|
<
|
|
@@ -183,7 +187,8 @@ export interface Repository<
|
|
|
183
187
|
): Effect.Effect<
|
|
184
188
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
185
189
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
186
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
190
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
191
|
+
| DatabaseError,
|
|
187
192
|
Exclude<R, RProvided> | RSchema
|
|
188
193
|
>
|
|
189
194
|
<
|
|
@@ -209,7 +214,8 @@ export interface Repository<
|
|
|
209
214
|
): Effect.Effect<
|
|
210
215
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
211
216
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
212
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
217
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
218
|
+
| DatabaseError,
|
|
213
219
|
Exclude<R, RProvided> | RSchema
|
|
214
220
|
>
|
|
215
221
|
<
|
|
@@ -237,7 +243,8 @@ export interface Repository<
|
|
|
237
243
|
): Effect.Effect<
|
|
238
244
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
239
245
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
240
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
246
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
247
|
+
| DatabaseError,
|
|
241
248
|
Exclude<R, RProvided> | RSchema
|
|
242
249
|
>
|
|
243
250
|
<
|
|
@@ -267,7 +274,8 @@ export interface Repository<
|
|
|
267
274
|
): Effect.Effect<
|
|
268
275
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
269
276
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
270
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
277
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
278
|
+
| DatabaseError,
|
|
271
279
|
Exclude<R, RProvided> | RSchema
|
|
272
280
|
>
|
|
273
281
|
<
|
|
@@ -299,7 +307,8 @@ export interface Repository<
|
|
|
299
307
|
): Effect.Effect<
|
|
300
308
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
301
309
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
302
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
310
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
311
|
+
| DatabaseError,
|
|
303
312
|
Exclude<R, RProvided> | RSchema
|
|
304
313
|
>
|
|
305
314
|
<
|
|
@@ -333,7 +342,8 @@ export interface Repository<
|
|
|
333
342
|
): Effect.Effect<
|
|
334
343
|
TType extends "many" ? readonly A[] : TType extends "count" ? NonNegativeInt : A,
|
|
335
344
|
| (TType extends "many" ? never : NotFoundError<ItemType>)
|
|
336
|
-
| (TType extends "count" ? never : S.SchemaError)
|
|
345
|
+
| (TType extends "count" ? never : S.SchemaError)
|
|
346
|
+
| DatabaseError,
|
|
337
347
|
Exclude<R, RProvided> | RSchema
|
|
338
348
|
>
|
|
339
349
|
|
|
@@ -347,7 +357,7 @@ export interface Repository<
|
|
|
347
357
|
q: (initial: Query<Encoded>) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
|
|
348
358
|
): Effect.Effect<
|
|
349
359
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
|
|
350
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
360
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
351
361
|
Exclude<R, RProvided> | RSchema
|
|
352
362
|
>
|
|
353
363
|
<
|
|
@@ -363,7 +373,7 @@ export interface Repository<
|
|
|
363
373
|
) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
|
|
364
374
|
): Effect.Effect<
|
|
365
375
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
|
|
366
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
376
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
367
377
|
Exclude<R, RProvided> | RSchema
|
|
368
378
|
>
|
|
369
379
|
<
|
|
@@ -383,7 +393,7 @@ export interface Repository<
|
|
|
383
393
|
) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
|
|
384
394
|
): Effect.Effect<
|
|
385
395
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
|
|
386
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
396
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
387
397
|
Exclude<R, RProvided> | RSchema
|
|
388
398
|
>
|
|
389
399
|
<
|
|
@@ -403,7 +413,7 @@ export interface Repository<
|
|
|
403
413
|
) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
|
|
404
414
|
): Effect.Effect<
|
|
405
415
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
|
|
406
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
416
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
407
417
|
Exclude<R, RProvided> | RSchema
|
|
408
418
|
>
|
|
409
419
|
<
|
|
@@ -425,7 +435,7 @@ export interface Repository<
|
|
|
425
435
|
) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
|
|
426
436
|
): Effect.Effect<
|
|
427
437
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
|
|
428
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
438
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
429
439
|
Exclude<R, RProvided> | RSchema
|
|
430
440
|
>
|
|
431
441
|
<
|
|
@@ -449,7 +459,7 @@ export interface Repository<
|
|
|
449
459
|
) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
|
|
450
460
|
): Effect.Effect<
|
|
451
461
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
|
|
452
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
462
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
453
463
|
Exclude<R, RProvided> | RSchema
|
|
454
464
|
>
|
|
455
465
|
<
|
|
@@ -475,7 +485,7 @@ export interface Repository<
|
|
|
475
485
|
) => QAll<Encoded, EncodedRefined, RefineTHelper<T, EncodedRefined>, R, TType, E>
|
|
476
486
|
): Effect.Effect<
|
|
477
487
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined> : RefineTHelper<T, EncodedRefined>,
|
|
478
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
488
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
479
489
|
Exclude<R, RProvided> | RSchema
|
|
480
490
|
>
|
|
481
491
|
<
|
|
@@ -504,7 +514,7 @@ export interface Repository<
|
|
|
504
514
|
): Effect.Effect<
|
|
505
515
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined>
|
|
506
516
|
: RefineTHelper<T, EncodedRefined>,
|
|
507
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
517
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
508
518
|
Exclude<R, RProvided> | RSchema
|
|
509
519
|
>
|
|
510
520
|
<
|
|
@@ -535,7 +545,7 @@ export interface Repository<
|
|
|
535
545
|
): Effect.Effect<
|
|
536
546
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined>
|
|
537
547
|
: RefineTHelper<T, EncodedRefined>,
|
|
538
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
548
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
539
549
|
Exclude<R, RProvided> | RSchema
|
|
540
550
|
>
|
|
541
551
|
<
|
|
@@ -568,7 +578,7 @@ export interface Repository<
|
|
|
568
578
|
): Effect.Effect<
|
|
569
579
|
TType extends "many" ? DistributeQueryIfExclusiveOnArray<E, T, EncodedRefined>
|
|
570
580
|
: RefineTHelper<T, EncodedRefined>,
|
|
571
|
-
TType extends "many" ? never : NotFoundError<ItemType
|
|
581
|
+
(TType extends "many" ? never : NotFoundError<ItemType>) | DatabaseError,
|
|
572
582
|
Exclude<R, RProvided> | RSchema
|
|
573
583
|
>
|
|
574
584
|
}
|
|
@@ -585,7 +595,7 @@ export interface Repository<
|
|
|
585
595
|
percentage?: number
|
|
586
596
|
/** optional maximum number of items to sample */
|
|
587
597
|
maxItems?: number
|
|
588
|
-
}) => Effect.Effect<ValidationResult,
|
|
598
|
+
}) => Effect.Effect<ValidationResult, DatabaseError, RSchema>
|
|
589
599
|
}
|
|
590
600
|
|
|
591
601
|
type DistributeQueryIfExclusiveOnArray<Exclusive extends boolean, T, EncodedRefined> = [Exclusive] extends [true]
|
package/src/Store.ts
CHANGED
|
@@ -3,7 +3,7 @@ import * as Data from "effect/Data"
|
|
|
3
3
|
import type * as Redacted from "effect/Redacted"
|
|
4
4
|
import * as Semaphore from "effect/Semaphore"
|
|
5
5
|
import type { NonEmptyReadonlyArray } from "./Array.js"
|
|
6
|
-
import type { OptimisticConcurrencyException } from "./client/errors.js"
|
|
6
|
+
import type { DatabaseError, OptimisticConcurrencyException } from "./client/errors.js"
|
|
7
7
|
import * as Context from "./Context.js"
|
|
8
8
|
import * as Effect from "./Effect.js"
|
|
9
9
|
import * as Layer from "./Layer.js"
|
|
@@ -99,30 +99,30 @@ export interface FilterArgs<Encoded extends FieldValues, U extends keyof Encoded
|
|
|
99
99
|
|
|
100
100
|
export type FilterFunc<Encoded extends FieldValues> = <U extends keyof Encoded = never>(
|
|
101
101
|
args: FilterArgs<Encoded, U>
|
|
102
|
-
) => Effect.Effect<(U extends undefined ? Encoded : Pick<Encoded, U>)[]>
|
|
102
|
+
) => Effect.Effect<(U extends undefined ? Encoded : Pick<Encoded, U>)[], DatabaseError>
|
|
103
103
|
|
|
104
104
|
export interface Store<
|
|
105
105
|
IdKey extends keyof Encoded,
|
|
106
106
|
Encoded extends FieldValues,
|
|
107
107
|
PM extends PersistenceModelType<Encoded> = PersistenceModelType<Encoded>
|
|
108
108
|
> {
|
|
109
|
-
all: Effect.Effect<PM[]>
|
|
109
|
+
all: Effect.Effect<PM[], DatabaseError>
|
|
110
110
|
filter: FilterFunc<Encoded>
|
|
111
|
-
find: (id: Encoded[IdKey]) => Effect.Effect<Option.Option<PM
|
|
112
|
-
set: (e: PM) => Effect.Effect<PM, OptimisticConcurrencyException>
|
|
111
|
+
find: (id: Encoded[IdKey]) => Effect.Effect<Option.Option<PM>, DatabaseError>
|
|
112
|
+
set: (e: PM) => Effect.Effect<PM, OptimisticConcurrencyException | DatabaseError>
|
|
113
113
|
batchSet: (
|
|
114
114
|
items: NonEmptyReadonlyArray<PM>
|
|
115
|
-
) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException>
|
|
115
|
+
) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError>
|
|
116
116
|
bulkSet: (
|
|
117
117
|
items: NonEmptyReadonlyArray<PM>
|
|
118
|
-
) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException>
|
|
119
|
-
batchRemove: (ids: NonEmptyReadonlyArray<Encoded[IdKey]>, partitionKey?: string) => Effect.Effect<void>
|
|
120
|
-
queryRaw: <Out>(query: RawQuery<Encoded, Out>) => Effect.Effect<readonly Out[]>
|
|
118
|
+
) => Effect.Effect<NonEmptyReadonlyArray<PM>, OptimisticConcurrencyException | DatabaseError>
|
|
119
|
+
batchRemove: (ids: NonEmptyReadonlyArray<Encoded[IdKey]>, partitionKey?: string) => Effect.Effect<void, DatabaseError>
|
|
120
|
+
queryRaw: <Out>(query: RawQuery<Encoded, Out>) => Effect.Effect<readonly Out[], DatabaseError>
|
|
121
121
|
/**
|
|
122
122
|
* Explicitly seed a namespace. Primary is seeded eagerly on initialization.
|
|
123
123
|
* Non-primary namespaces must be seeded explicitly before use.
|
|
124
124
|
*/
|
|
125
|
-
seedNamespace: (namespace: string) => Effect.Effect<void>
|
|
125
|
+
seedNamespace: (namespace: string) => Effect.Effect<void, DatabaseError>
|
|
126
126
|
}
|
|
127
127
|
|
|
128
128
|
export class StoreMaker extends Context.Opaque<StoreMaker, {
|