effect-app 0.152.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/.eslintrc.cjs +11 -0
- package/.prettierignore +6 -0
- package/CHANGELOG.md +4106 -0
- package/_cjs/Config/SecretURL.cjs +58 -0
- package/_cjs/Config/SecretURL.cjs.map +1 -0
- package/_cjs/Config/internal/configSecretURL.cjs +88 -0
- package/_cjs/Config/internal/configSecretURL.cjs.map +1 -0
- package/_cjs/Inputify.type.cjs +6 -0
- package/_cjs/Inputify.type.cjs.map +1 -0
- package/_cjs/Operations.cjs +76 -0
- package/_cjs/Operations.cjs.map +1 -0
- package/_cjs/Pure.cjs +201 -0
- package/_cjs/Pure.cjs.map +1 -0
- package/_cjs/Request.cjs +76 -0
- package/_cjs/Request.cjs.map +1 -0
- package/_cjs/Widen.type.cjs +6 -0
- package/_cjs/Widen.type.cjs.map +1 -0
- package/_cjs/_ext/date.cjs +64 -0
- package/_cjs/_ext/date.cjs.map +1 -0
- package/_cjs/_ext/misc.cjs +121 -0
- package/_cjs/_ext/misc.cjs.map +1 -0
- package/_cjs/_global.cjs +24 -0
- package/_cjs/_global.cjs.map +1 -0
- package/_cjs/_global.ext.cjs +5 -0
- package/_cjs/_global.ext.cjs.map +1 -0
- package/_cjs/_global.schema.cjs +4 -0
- package/_cjs/_global.schema.cjs.map +1 -0
- package/_cjs/client/QueryResult.cjs +116 -0
- package/_cjs/client/QueryResult.cjs.map +1 -0
- package/_cjs/client/clientFor.cjs +159 -0
- package/_cjs/client/clientFor.cjs.map +1 -0
- package/_cjs/client/config.cjs +21 -0
- package/_cjs/client/config.cjs.map +1 -0
- package/_cjs/client/errors.cjs +116 -0
- package/_cjs/client/errors.cjs.map +1 -0
- package/_cjs/client/fetch.cjs +178 -0
- package/_cjs/client/fetch.cjs.map +1 -0
- package/_cjs/client.cjs +61 -0
- package/_cjs/client.cjs.map +1 -0
- package/_cjs/faker.cjs +31 -0
- package/_cjs/faker.cjs.map +1 -0
- package/_cjs/ids.cjs +24 -0
- package/_cjs/ids.cjs.map +1 -0
- package/_cjs/index.cjs +27 -0
- package/_cjs/index.cjs.map +1 -0
- package/_cjs/refinements.cjs +97 -0
- package/_cjs/refinements.cjs.map +1 -0
- package/_cjs/schema.cjs +50 -0
- package/_cjs/schema.cjs.map +1 -0
- package/_cjs/schema.test.cjs +9 -0
- package/_cjs/schema.test.cjs.map +1 -0
- package/_cjs/service.cjs +97 -0
- package/_cjs/service.cjs.map +1 -0
- package/_cjs/utils.cjs +17 -0
- package/_cjs/utils.cjs.map +1 -0
- package/_src/Config/SecretURL.ts +103 -0
- package/_src/Config/internal/configSecretURL.ts +85 -0
- package/_src/Inputify.type.ts +13 -0
- package/_src/Operations.ts +70 -0
- package/_src/Pure.ts +525 -0
- package/_src/Request.ts +106 -0
- package/_src/Widen.type.ts +28 -0
- package/_src/_ext/date.ts +84 -0
- package/_src/_ext/misc.ts +161 -0
- package/_src/_global/stm.ts.bak +35 -0
- package/_src/_global.ext.ts +3 -0
- package/_src/_global.schema.ts +106 -0
- package/_src/_global.ts +119 -0
- package/_src/client/QueryResult.ts +120 -0
- package/_src/client/clientFor.ts +260 -0
- package/_src/client/config.ts +13 -0
- package/_src/client/errors.ts +129 -0
- package/_src/client/fetch.ts +253 -0
- package/_src/client.ts +7 -0
- package/_src/faker.ts +32 -0
- package/_src/ids.ts +35 -0
- package/_src/index.ts +4 -0
- package/_src/refinements.ts +92 -0
- package/_src/schema/_schema.ts.bak +208 -0
- package/_src/schema/api/date.ts.bak +78 -0
- package/_src/schema/api.ts.bak +20 -0
- package/_src/schema/overrides.ts.bak +76 -0
- package/_src/schema/shared.ts.bak +334 -0
- package/_src/schema.test.ts +3 -0
- package/_src/schema.ts +37 -0
- package/_src/service.ts +119 -0
- package/_src/utils.ts +1 -0
- package/dist/Config/SecretURL.d.ts +82 -0
- package/dist/Config/SecretURL.d.ts.map +1 -0
- package/dist/Config/SecretURL.js +49 -0
- package/dist/Config/internal/configSecretURL.d.ts +24 -0
- package/dist/Config/internal/configSecretURL.d.ts.map +1 -0
- package/dist/Config/internal/configSecretURL.js +75 -0
- package/dist/Inputify.type.d.ts +10 -0
- package/dist/Inputify.type.d.ts.map +1 -0
- package/dist/Inputify.type.js +2 -0
- package/dist/Operations.d.ts +170 -0
- package/dist/Operations.d.ts.map +1 -0
- package/dist/Operations.js +87 -0
- package/dist/Pure.d.ts +169 -0
- package/dist/Pure.d.ts.map +1 -0
- package/dist/Pure.js +167 -0
- package/dist/Request.d.ts +49 -0
- package/dist/Request.d.ts.map +1 -0
- package/dist/Request.js +58 -0
- package/dist/Widen.type.d.ts +19 -0
- package/dist/Widen.type.d.ts.map +1 -0
- package/dist/Widen.type.js +2 -0
- package/dist/_ext/date.d.ts +71 -0
- package/dist/_ext/date.d.ts.map +1 -0
- package/dist/_ext/date.js +58 -0
- package/dist/_ext/misc.d.ts +77 -0
- package/dist/_ext/misc.d.ts.map +1 -0
- package/dist/_ext/misc.js +98 -0
- package/dist/_global.d.ts +70 -0
- package/dist/_global.d.ts.map +1 -0
- package/dist/_global.ext.d.ts +3 -0
- package/dist/_global.ext.d.ts.map +1 -0
- package/dist/_global.ext.js +4 -0
- package/dist/_global.js +76 -0
- package/dist/_global.schema.d.ts +6 -0
- package/dist/_global.schema.d.ts.map +1 -0
- package/dist/_global.schema.js +6 -0
- package/dist/client/QueryResult.d.ts +85 -0
- package/dist/client/QueryResult.d.ts.map +1 -0
- package/dist/client/QueryResult.js +85 -0
- package/dist/client/clientFor.d.ts +44 -0
- package/dist/client/clientFor.d.ts.map +1 -0
- package/dist/client/clientFor.js +144 -0
- package/dist/client/config.d.ts +14 -0
- package/dist/client/config.d.ts.map +1 -0
- package/dist/client/config.js +11 -0
- package/dist/client/errors.d.ts +206 -0
- package/dist/client/errors.d.ts.map +1 -0
- package/dist/client/errors.js +130 -0
- package/dist/client/fetch.d.ts +61 -0
- package/dist/client/fetch.d.ts.map +1 -0
- package/dist/client/fetch.js +127 -0
- package/dist/client.d.ts +6 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +7 -0
- package/dist/faker.d.ts +7 -0
- package/dist/faker.d.ts.map +1 -0
- package/dist/faker.js +24 -0
- package/dist/ids.d.ts +32 -0
- package/dist/ids.d.ts.map +1 -0
- package/dist/ids.js +17 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +4 -0
- package/dist/refinements.d.ts +57 -0
- package/dist/refinements.d.ts.map +1 -0
- package/dist/refinements.js +85 -0
- package/dist/schema.d.ts +7 -0
- package/dist/schema.d.ts.map +1 -0
- package/dist/schema.js +22 -0
- package/dist/schema.test.d.ts.map +1 -0
- package/dist/service.d.ts +47 -0
- package/dist/service.d.ts.map +1 -0
- package/dist/service.js +83 -0
- package/dist/utils.d.ts +2 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +2 -0
- package/package.json +315 -0
- package/tsconfig.json +114 -0
- package/tsconfig.json.bak +47 -0
- package/tsplus.config.json +7 -0
- package/vitest.config.ts +5 -0
- package/wallaby.cjs +1 -0
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import { useClassFeaturesForSchema, string, unknown, array, Schema } from "effect-app/schema";
|
|
2
|
+
declare const NotFoundError_base: import("@effect/schema/Schema").Class<{
|
|
3
|
+
readonly _tag: "NotFoundError";
|
|
4
|
+
readonly id: unknown;
|
|
5
|
+
readonly type: string;
|
|
6
|
+
}, {
|
|
7
|
+
readonly _tag: "NotFoundError";
|
|
8
|
+
readonly id: unknown;
|
|
9
|
+
readonly type: string;
|
|
10
|
+
}, never, {
|
|
11
|
+
readonly id: unknown;
|
|
12
|
+
readonly type: string;
|
|
13
|
+
}, NotFoundError<ItemType>, {
|
|
14
|
+
type: import("effect-app/schema").Schema<string, string, never>;
|
|
15
|
+
id: import("effect-app/schema").Schema<unknown, unknown, never>;
|
|
16
|
+
}, {}, import("effect/Cause").YieldableError>;
|
|
17
|
+
/** @tsplus type NotFoundError */
|
|
18
|
+
export declare class NotFoundError<ItemType = string> extends NotFoundError_base {
|
|
19
|
+
get message(): string;
|
|
20
|
+
}
|
|
21
|
+
declare const InvalidStateError_base: import("@effect/schema/Schema").Class<{
|
|
22
|
+
readonly _tag: "InvalidStateError";
|
|
23
|
+
readonly message: string;
|
|
24
|
+
}, {
|
|
25
|
+
readonly _tag: "InvalidStateError";
|
|
26
|
+
readonly message: string;
|
|
27
|
+
}, never, {
|
|
28
|
+
readonly message: string;
|
|
29
|
+
}, InvalidStateError, {
|
|
30
|
+
message: import("effect-app/schema").Schema<string, string, never>;
|
|
31
|
+
}, {}, import("effect/Cause").YieldableError>;
|
|
32
|
+
/** @tsplus type InvalidStateError */
|
|
33
|
+
export declare class InvalidStateError extends InvalidStateError_base {
|
|
34
|
+
constructor(messageOrObject: string | {
|
|
35
|
+
message: string;
|
|
36
|
+
}, disableValidation?: boolean);
|
|
37
|
+
}
|
|
38
|
+
declare const ValidationError_base: import("@effect/schema/Schema").Class<{
|
|
39
|
+
readonly _tag: "ValidationError";
|
|
40
|
+
readonly errors: readonly unknown[];
|
|
41
|
+
}, {
|
|
42
|
+
readonly _tag: "ValidationError";
|
|
43
|
+
readonly errors: readonly unknown[];
|
|
44
|
+
}, never, {
|
|
45
|
+
readonly errors: readonly unknown[];
|
|
46
|
+
}, ValidationError, {
|
|
47
|
+
errors: import("effect-app/schema").Schema<readonly unknown[], readonly unknown[], never> & {
|
|
48
|
+
withDefault: import("effect-app/schema").Schema<readonly unknown[], readonly unknown[], never> & import("effect-app/schema").ConstructorPropertyDescriptor<readonly unknown[], readonly unknown[], never>;
|
|
49
|
+
};
|
|
50
|
+
}, {}, import("effect/Cause").YieldableError>;
|
|
51
|
+
/** @tsplus type ValidationError */
|
|
52
|
+
export declare class ValidationError extends ValidationError_base {
|
|
53
|
+
get message(): string;
|
|
54
|
+
}
|
|
55
|
+
declare const NotLoggedInError_base: import("@effect/schema/Schema").Class<{
|
|
56
|
+
readonly _tag: "NotLoggedInError";
|
|
57
|
+
readonly message?: string | undefined;
|
|
58
|
+
}, {
|
|
59
|
+
readonly _tag: "NotLoggedInError";
|
|
60
|
+
readonly message?: string | undefined;
|
|
61
|
+
}, never, {
|
|
62
|
+
readonly message?: string | undefined;
|
|
63
|
+
}, NotLoggedInError, {
|
|
64
|
+
message: import("effect-app/schema").PropertySignature<string | undefined, true, string | undefined, true, never>;
|
|
65
|
+
}, {}, import("effect/Cause").YieldableError>;
|
|
66
|
+
/** @tsplus type NotLoggedInError */
|
|
67
|
+
export declare class NotLoggedInError extends NotLoggedInError_base {
|
|
68
|
+
constructor(messageOrObject?: string | {
|
|
69
|
+
message?: string;
|
|
70
|
+
}, disableValidation?: boolean);
|
|
71
|
+
}
|
|
72
|
+
declare const LoginError_base: import("@effect/schema/Schema").Class<{
|
|
73
|
+
readonly _tag: "NotLoggedInError";
|
|
74
|
+
readonly message?: string | undefined;
|
|
75
|
+
}, {
|
|
76
|
+
readonly _tag: "NotLoggedInError";
|
|
77
|
+
readonly message?: string | undefined;
|
|
78
|
+
}, never, {
|
|
79
|
+
readonly message?: string | undefined;
|
|
80
|
+
}, LoginError, {
|
|
81
|
+
message: import("effect-app/schema").PropertySignature<string | undefined, true, string | undefined, true, never>;
|
|
82
|
+
}, {}, import("effect/Cause").YieldableError>;
|
|
83
|
+
/**
|
|
84
|
+
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
85
|
+
*/
|
|
86
|
+
/** @tsplus type LoginError */
|
|
87
|
+
export declare class LoginError extends LoginError_base {
|
|
88
|
+
constructor(messageOrObject?: string | {
|
|
89
|
+
message?: string;
|
|
90
|
+
}, disableValidation?: boolean);
|
|
91
|
+
}
|
|
92
|
+
declare const UnauthorizedError_base: import("@effect/schema/Schema").Class<{
|
|
93
|
+
readonly _tag: "UnauthorizedError";
|
|
94
|
+
readonly message?: string | undefined;
|
|
95
|
+
}, {
|
|
96
|
+
readonly _tag: "UnauthorizedError";
|
|
97
|
+
readonly message?: string | undefined;
|
|
98
|
+
}, never, {
|
|
99
|
+
readonly message?: string | undefined;
|
|
100
|
+
}, UnauthorizedError, {
|
|
101
|
+
message: import("effect-app/schema").PropertySignature<string | undefined, true, string | undefined, true, never>;
|
|
102
|
+
}, {}, import("effect/Cause").YieldableError>;
|
|
103
|
+
/** @tsplus type UnauthorizedError */
|
|
104
|
+
export declare class UnauthorizedError extends UnauthorizedError_base {
|
|
105
|
+
constructor(messageOrObject?: string | {
|
|
106
|
+
message?: string;
|
|
107
|
+
}, disableValidation?: boolean);
|
|
108
|
+
}
|
|
109
|
+
type OptimisticConcurrencyDetails = {
|
|
110
|
+
readonly type: string;
|
|
111
|
+
readonly id: string;
|
|
112
|
+
readonly current?: string | undefined;
|
|
113
|
+
readonly found?: string | undefined;
|
|
114
|
+
};
|
|
115
|
+
declare const OptimisticConcurrencyException_base: import("@effect/schema/Schema").Class<{
|
|
116
|
+
readonly _tag: "OptimisticConcurrencyException";
|
|
117
|
+
readonly message: string;
|
|
118
|
+
}, {
|
|
119
|
+
readonly _tag: "OptimisticConcurrencyException";
|
|
120
|
+
readonly message: string;
|
|
121
|
+
}, never, {
|
|
122
|
+
readonly message: string;
|
|
123
|
+
}, OptimisticConcurrencyException, {
|
|
124
|
+
message: import("effect-app/schema").Schema<string, string, never>;
|
|
125
|
+
}, {}, import("effect/Cause").YieldableError>;
|
|
126
|
+
/** @tsplus type OptimisticConcurrencyException */
|
|
127
|
+
export declare class OptimisticConcurrencyException extends OptimisticConcurrencyException_base {
|
|
128
|
+
readonly details?: OptimisticConcurrencyDetails;
|
|
129
|
+
constructor(args: OptimisticConcurrencyDetails | {
|
|
130
|
+
message: string;
|
|
131
|
+
}, disableValidation?: boolean);
|
|
132
|
+
}
|
|
133
|
+
export declare const SupportedErrors: import("effect-app/schema").Schema<InvalidStateError | ValidationError | NotLoggedInError | LoginError | UnauthorizedError | OptimisticConcurrencyException | NotFoundError<ItemType>, {
|
|
134
|
+
readonly _tag: "NotFoundError";
|
|
135
|
+
readonly id: unknown;
|
|
136
|
+
readonly type: string;
|
|
137
|
+
} | {
|
|
138
|
+
readonly _tag: "InvalidStateError";
|
|
139
|
+
readonly message: string;
|
|
140
|
+
} | {
|
|
141
|
+
readonly _tag: "ValidationError";
|
|
142
|
+
readonly errors: readonly unknown[];
|
|
143
|
+
} | {
|
|
144
|
+
readonly _tag: "NotLoggedInError";
|
|
145
|
+
readonly message?: string | undefined;
|
|
146
|
+
} | {
|
|
147
|
+
readonly _tag: "NotLoggedInError";
|
|
148
|
+
readonly message?: string | undefined;
|
|
149
|
+
} | {
|
|
150
|
+
readonly _tag: "UnauthorizedError";
|
|
151
|
+
readonly message?: string | undefined;
|
|
152
|
+
} | {
|
|
153
|
+
readonly _tag: "OptimisticConcurrencyException";
|
|
154
|
+
readonly message: string;
|
|
155
|
+
}, never>;
|
|
156
|
+
export type SupportedErrors = Schema.To<typeof SupportedErrors>;
|
|
157
|
+
export declare const MutationErrors: import("effect-app/schema").Schema<InvalidStateError | ValidationError | NotLoggedInError | LoginError | UnauthorizedError | OptimisticConcurrencyException | NotFoundError<ItemType>, {
|
|
158
|
+
readonly _tag: "NotFoundError";
|
|
159
|
+
readonly id: unknown;
|
|
160
|
+
readonly type: string;
|
|
161
|
+
} | {
|
|
162
|
+
readonly _tag: "InvalidStateError";
|
|
163
|
+
readonly message: string;
|
|
164
|
+
} | {
|
|
165
|
+
readonly _tag: "ValidationError";
|
|
166
|
+
readonly errors: readonly unknown[];
|
|
167
|
+
} | {
|
|
168
|
+
readonly _tag: "NotLoggedInError";
|
|
169
|
+
readonly message?: string | undefined;
|
|
170
|
+
} | {
|
|
171
|
+
readonly _tag: "NotLoggedInError";
|
|
172
|
+
readonly message?: string | undefined;
|
|
173
|
+
} | {
|
|
174
|
+
readonly _tag: "UnauthorizedError";
|
|
175
|
+
readonly message?: string | undefined;
|
|
176
|
+
} | {
|
|
177
|
+
readonly _tag: "OptimisticConcurrencyException";
|
|
178
|
+
readonly message: string;
|
|
179
|
+
}, never>;
|
|
180
|
+
export declare const QueryErrors: import("effect-app/schema").Schema<InvalidStateError | ValidationError | NotLoggedInError | LoginError | UnauthorizedError | OptimisticConcurrencyException | NotFoundError<ItemType>, {
|
|
181
|
+
readonly _tag: "NotFoundError";
|
|
182
|
+
readonly id: unknown;
|
|
183
|
+
readonly type: string;
|
|
184
|
+
} | {
|
|
185
|
+
readonly _tag: "InvalidStateError";
|
|
186
|
+
readonly message: string;
|
|
187
|
+
} | {
|
|
188
|
+
readonly _tag: "ValidationError";
|
|
189
|
+
readonly errors: readonly unknown[];
|
|
190
|
+
} | {
|
|
191
|
+
readonly _tag: "NotLoggedInError";
|
|
192
|
+
readonly message?: string | undefined;
|
|
193
|
+
} | {
|
|
194
|
+
readonly _tag: "NotLoggedInError";
|
|
195
|
+
readonly message?: string | undefined;
|
|
196
|
+
} | {
|
|
197
|
+
readonly _tag: "UnauthorizedError";
|
|
198
|
+
readonly message?: string | undefined;
|
|
199
|
+
} | {
|
|
200
|
+
readonly _tag: "OptimisticConcurrencyException";
|
|
201
|
+
readonly message: string;
|
|
202
|
+
}, never>;
|
|
203
|
+
export type MutationErrors = Schema.To<typeof MutationErrors>;
|
|
204
|
+
export type QueryErrors = Schema.To<typeof QueryErrors>;
|
|
205
|
+
export {};
|
|
206
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../_src/client/errors.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAEA,iCAAiC;AACjC,qBAGa,aAAa,CAAC,QAAQ,GAAG,MAAM,CAAE,SAAQ,kBAGpD;IACA,IAAa,OAAO,WAEnB;CACF;;;;;;;;;;;;AAED,qCAAqC;AACrC,qBACa,iBAAkB,SAAQ,sBAErC;gBACY,eAAe,EAAE,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EAAE,iBAAiB,UAAQ;CAGrF;;;;;;;;;;;;;;AAED,mCAAmC;AACnC,qBACa,eAAgB,SAAQ,oBAEnC;IACA,IAAa,OAAO,WAEnB;CACF;;;;;;;;;;;;AAED,oCAAoC;AACpC,qBACa,gBAAiB,SAAQ,qBAEpC;gBACY,eAAe,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,iBAAiB,UAAQ;CAGvF;;;;;;;;;;;;AAED;;GAEG;AACH,8BAA8B;AAC9B,qBACa,UAAW,SAAQ,eAE9B;gBACY,eAAe,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,iBAAiB,UAAQ;CAGvF;;;;;;;;;;;;AAED,qCAAqC;AACrC,qBACa,iBAAkB,SAAQ,sBAErC;gBACY,eAAe,CAAC,EAAE,MAAM,GAAG;QAAE,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,EAAE,iBAAiB,UAAQ;CAGvF;AAED,KAAK,4BAA4B,GAAG;IAClC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAA;IACnB,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;IACrC,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;CACpC,CAAA;;;;;;;;;;;;AAED,kDAAkD;AAClD,qBACa,8BAA+B,SAAQ,mCAGnD;IACC,QAAQ,CAAC,OAAO,CAAC,EAAE,4BAA4B,CAAA;gBAE7C,IAAI,EAAE,4BAA4B,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,EACxD,iBAAiB,UAAQ;CAO5B;AAeD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;SAG3B,CAAA;AAGD,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,eAAe,CAAC,CAAA;AAa/D,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;SAAkB,CAAA;AAC7C,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;SAAkB,CAAA;AAC1C,MAAM,MAAM,cAAc,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,cAAc,CAAC,CAAA;AAC7D,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,EAAE,CAAC,OAAO,WAAW,CAAC,CAAA"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
8
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
9
|
+
};
|
|
10
|
+
import * as tsplus_module_1 from "effect-app/schema";
|
|
11
|
+
import * as tsplus_module_2 from "@effect/schema/Schema";
|
|
12
|
+
import { TaggedError } from "effect-app/schema";
|
|
13
|
+
/** @tsplus type NotFoundError */
|
|
14
|
+
let NotFoundError = class NotFoundError extends TaggedError()("NotFoundError", {
|
|
15
|
+
type: tsplus_module_1.string,
|
|
16
|
+
id: tsplus_module_1.unknown
|
|
17
|
+
}) {
|
|
18
|
+
get message() {
|
|
19
|
+
return `Didn't find ${this.type}#${JSON.stringify(this.id)}`;
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
NotFoundError = __decorate([
|
|
23
|
+
tsplus_module_1.useClassFeaturesForSchema
|
|
24
|
+
], NotFoundError);
|
|
25
|
+
export { NotFoundError };
|
|
26
|
+
/** @tsplus type InvalidStateError */
|
|
27
|
+
let InvalidStateError = class InvalidStateError extends TaggedError()("InvalidStateError", {
|
|
28
|
+
message: tsplus_module_1.string
|
|
29
|
+
}) {
|
|
30
|
+
constructor(messageOrObject, disableValidation = false) {
|
|
31
|
+
super(typeof messageOrObject === "object" ? messageOrObject : { message: messageOrObject }, disableValidation);
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
InvalidStateError = __decorate([
|
|
35
|
+
tsplus_module_1.useClassFeaturesForSchema,
|
|
36
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
37
|
+
], InvalidStateError);
|
|
38
|
+
export { InvalidStateError };
|
|
39
|
+
/** @tsplus type ValidationError */
|
|
40
|
+
let ValidationError = class ValidationError extends TaggedError()("ValidationError", {
|
|
41
|
+
errors: tsplus_module_1.array(tsplus_module_1.unknown) // meh
|
|
42
|
+
}) {
|
|
43
|
+
get message() {
|
|
44
|
+
return `Validation failed: ${this.errors.map((e) => JSON.stringify(e)).join(", ")}`;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
ValidationError = __decorate([
|
|
48
|
+
tsplus_module_1.useClassFeaturesForSchema
|
|
49
|
+
], ValidationError);
|
|
50
|
+
export { ValidationError };
|
|
51
|
+
/** @tsplus type NotLoggedInError */
|
|
52
|
+
let NotLoggedInError = class NotLoggedInError extends TaggedError()("NotLoggedInError", {
|
|
53
|
+
message: tsplus_module_2.optional(tsplus_module_1.string)
|
|
54
|
+
}) {
|
|
55
|
+
constructor(messageOrObject, disableValidation = false) {
|
|
56
|
+
super(typeof messageOrObject === "object" ? messageOrObject : { message: messageOrObject }, disableValidation);
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
NotLoggedInError = __decorate([
|
|
60
|
+
tsplus_module_1.useClassFeaturesForSchema,
|
|
61
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
62
|
+
], NotLoggedInError);
|
|
63
|
+
export { NotLoggedInError };
|
|
64
|
+
/**
|
|
65
|
+
* The user carries a valid Userprofile, but there is a problem with the login none the less.
|
|
66
|
+
*/
|
|
67
|
+
/** @tsplus type LoginError */
|
|
68
|
+
let LoginError = class LoginError extends TaggedError()("NotLoggedInError", {
|
|
69
|
+
message: tsplus_module_2.optional(tsplus_module_1.string)
|
|
70
|
+
}) {
|
|
71
|
+
constructor(messageOrObject, disableValidation = false) {
|
|
72
|
+
super(typeof messageOrObject === "object" ? messageOrObject : { message: messageOrObject }, disableValidation);
|
|
73
|
+
}
|
|
74
|
+
};
|
|
75
|
+
LoginError = __decorate([
|
|
76
|
+
tsplus_module_1.useClassFeaturesForSchema,
|
|
77
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
78
|
+
], LoginError);
|
|
79
|
+
export { LoginError };
|
|
80
|
+
/** @tsplus type UnauthorizedError */
|
|
81
|
+
let UnauthorizedError = class UnauthorizedError extends TaggedError()("UnauthorizedError", {
|
|
82
|
+
message: tsplus_module_2.optional(tsplus_module_1.string)
|
|
83
|
+
}) {
|
|
84
|
+
constructor(messageOrObject, disableValidation = false) {
|
|
85
|
+
super(typeof messageOrObject === "object" ? messageOrObject : { message: messageOrObject }, disableValidation);
|
|
86
|
+
}
|
|
87
|
+
};
|
|
88
|
+
UnauthorizedError = __decorate([
|
|
89
|
+
tsplus_module_1.useClassFeaturesForSchema,
|
|
90
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
91
|
+
], UnauthorizedError);
|
|
92
|
+
export { UnauthorizedError };
|
|
93
|
+
/** @tsplus type OptimisticConcurrencyException */
|
|
94
|
+
let OptimisticConcurrencyException = class OptimisticConcurrencyException extends TaggedError()("OptimisticConcurrencyException", { message: tsplus_module_1.string }) {
|
|
95
|
+
constructor(args, disableValidation = false) {
|
|
96
|
+
super("message" in args ? args : { message: `Existing ${args.type} ${args.id} record changed` }, disableValidation);
|
|
97
|
+
if (!("message" in args)) {
|
|
98
|
+
this.details = args;
|
|
99
|
+
}
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
OptimisticConcurrencyException = __decorate([
|
|
103
|
+
tsplus_module_1.useClassFeaturesForSchema,
|
|
104
|
+
__metadata("design:paramtypes", [Object, Object])
|
|
105
|
+
], OptimisticConcurrencyException);
|
|
106
|
+
export { OptimisticConcurrencyException };
|
|
107
|
+
const MutationOnlyErrors = [
|
|
108
|
+
InvalidStateError,
|
|
109
|
+
OptimisticConcurrencyException
|
|
110
|
+
];
|
|
111
|
+
const GeneralErrors = [
|
|
112
|
+
NotFoundError,
|
|
113
|
+
NotLoggedInError,
|
|
114
|
+
LoginError,
|
|
115
|
+
UnauthorizedError,
|
|
116
|
+
ValidationError
|
|
117
|
+
];
|
|
118
|
+
export const SupportedErrors = tsplus_module_1.union(...MutationOnlyErrors, ...GeneralErrors);
|
|
119
|
+
// ideal?
|
|
120
|
+
// export const QueryErrors = union({ ...GeneralErrors })
|
|
121
|
+
// .pipe(named("QueryErrors"))
|
|
122
|
+
// .pipe(withDefaults)
|
|
123
|
+
// export type QueryErrors = Schema.To<typeof QueryErrors>
|
|
124
|
+
// export const MutationErrors = union({ ...GeneralErrors, ...GeneralErrors })
|
|
125
|
+
// .pipe(named("MutationErrors"))
|
|
126
|
+
// .pipe(withDefaults)
|
|
127
|
+
// export type MutationErrors = Schema.To<typeof MutationErrors>
|
|
128
|
+
export const MutationErrors = SupportedErrors;
|
|
129
|
+
export const QueryErrors = SupportedErrors;
|
|
130
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9jbGllbnQvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBRS9DLGlDQUFpQztBQUkxQixJQUFNLGFBQWEsR0FBbkIsTUFBTSxhQUFpQyxTQUFRLFdBQVcsRUFBMkIsQ0FBQyxlQUFlLEVBQUU7SUFDNUcsSUFBSSxrQkFBRSxNQUFNO0lBQ1osRUFBRSxrQkFBRSxPQUFPO0NBQ1osQ0FBQztJQUNBLElBQWEsT0FBTztRQUNsQixPQUFPLGVBQWUsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFBO0lBQzlELENBQUM7Q0FDRixDQUFBO0FBUFksYUFBYTtvQkFIekIseUJBQXlCO0dBR2IsYUFBYSxDQU96Qjs7QUFFRCxxQ0FBcUM7QUFFOUIsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxXQUFXLEVBQXFCLENBQUMsbUJBQW1CLEVBQUU7SUFDM0YsT0FBTyxrQkFBRSxNQUFNO0NBQ2hCLENBQUM7SUFDQSxZQUFZLGVBQTZDLEVBQUUsaUJBQWlCLEdBQUcsS0FBSztRQUNsRixLQUFLLENBQUMsT0FBTyxlQUFlLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUE7SUFDaEgsQ0FBQztDQUNGLENBQUE7QUFOWSxpQkFBaUI7b0JBRDdCLHlCQUF5Qjs7R0FDYixpQkFBaUIsQ0FNN0I7O0FBRUQsbUNBQW1DO0FBRTVCLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsV0FBVyxFQUFtQixDQUFDLGlCQUFpQixFQUFFO0lBQ3JGLE1BQU0sRUFBRSxnQkFBQSxLQUFLLGlCQUFDLE9BQU8sQ0FBQyxDQUFDLE1BQU07Q0FDOUIsQ0FBQztJQUNBLElBQWEsT0FBTztRQUNsQixPQUFPLHNCQUFzQixJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFBO0lBQ3JGLENBQUM7Q0FDRixDQUFBO0FBTlksZUFBZTtvQkFEM0IseUJBQXlCO0dBQ2IsZUFBZSxDQU0zQjs7QUFFRCxvQ0FBb0M7QUFFN0IsSUFBTSxnQkFBZ0IsR0FBdEIsTUFBTSxnQkFBaUIsU0FBUSxXQUFXLEVBQW9CLENBQUMsa0JBQWtCLEVBQUU7SUFDeEYsT0FBTyxFQUFFLHlDQUFBLE1BQU0sQ0FBVztDQUMzQixDQUFDO0lBQ0EsWUFBWSxlQUErQyxFQUFFLGlCQUFpQixHQUFHLEtBQUs7UUFDcEYsS0FBSyxDQUFDLE9BQU8sZUFBZSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2hILENBQUM7Q0FDRixDQUFBO0FBTlksZ0JBQWdCO29CQUQ1Qix5QkFBeUI7O0dBQ2IsZ0JBQWdCLENBTTVCOztBQUVEOztHQUVHO0FBQ0gsOEJBQThCO0FBRXZCLElBQU0sVUFBVSxHQUFoQixNQUFNLFVBQVcsU0FBUSxXQUFXLEVBQWMsQ0FBQyxrQkFBa0IsRUFBRTtJQUM1RSxPQUFPLEVBQUUseUNBQUEsTUFBTSxDQUFXO0NBQzNCLENBQUM7SUFDQSxZQUFZLGVBQStDLEVBQUUsaUJBQWlCLEdBQUcsS0FBSztRQUNwRixLQUFLLENBQUMsT0FBTyxlQUFlLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLGVBQWUsRUFBRSxFQUFFLGlCQUFpQixDQUFDLENBQUE7SUFDaEgsQ0FBQztDQUNGLENBQUE7QUFOWSxVQUFVO29CQUR0Qix5QkFBeUI7O0dBQ2IsVUFBVSxDQU10Qjs7QUFFRCxxQ0FBcUM7QUFFOUIsSUFBTSxpQkFBaUIsR0FBdkIsTUFBTSxpQkFBa0IsU0FBUSxXQUFXLEVBQXFCLENBQUMsbUJBQW1CLEVBQUU7SUFDM0YsT0FBTyxFQUFFLHlDQUFBLE1BQU0sQ0FBVztDQUMzQixDQUFDO0lBQ0EsWUFBWSxlQUErQyxFQUFFLGlCQUFpQixHQUFHLEtBQUs7UUFDcEYsS0FBSyxDQUFDLE9BQU8sZUFBZSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxlQUFlLEVBQUUsRUFBRSxpQkFBaUIsQ0FBQyxDQUFBO0lBQ2hILENBQUM7Q0FDRixDQUFBO0FBTlksaUJBQWlCO29CQUQ3Qix5QkFBeUI7O0dBQ2IsaUJBQWlCLENBTTdCOztBQVNELGtEQUFrRDtBQUUzQyxJQUFNLDhCQUE4QixHQUFwQyxNQUFNLDhCQUErQixTQUFRLFdBQVcsRUFBa0MsQ0FDL0YsZ0NBQWdDLEVBQ2hDLEVBQUUsT0FBTyxrQkFBRSxNQUFNLEVBQUUsQ0FDcEI7SUFFQyxZQUNFLElBQXdELEVBQ3hELGlCQUFpQixHQUFHLEtBQUs7UUFFekIsS0FBSyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsWUFBWSxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxFQUFFLGlCQUFpQixFQUFFLEVBQUUsaUJBQWlCLENBQUMsQ0FBQTtRQUNuSCxJQUFJLENBQUMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQztZQUN6QixJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQTtRQUNyQixDQUFDO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFkWSw4QkFBOEI7b0JBRDFDLHlCQUF5Qjs7R0FDYiw4QkFBOEIsQ0FjMUM7O0FBRUQsTUFBTSxrQkFBa0IsR0FBRztJQUN6QixpQkFBaUI7SUFDakIsOEJBQThCO0NBQ3RCLENBQUE7QUFFVixNQUFNLGFBQWEsR0FBRztJQUNwQixhQUFhO0lBQ2IsZ0JBQWdCO0lBQ2hCLFVBQVU7SUFDVixpQkFBaUI7SUFDakIsZUFBZTtDQUNQLENBQUE7QUFFVixNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsZ0JBQUEsS0FBSyxDQUNsQyxHQUFHLGtCQUFrQixFQUNyQixHQUFHLGFBQWEsQ0FDakIsQ0FBQTtBQUtELFNBQVM7QUFDVCx5REFBeUQ7QUFDekQsZ0NBQWdDO0FBQ2hDLHdCQUF3QjtBQUN4QiwwREFBMEQ7QUFDMUQsOEVBQThFO0FBQzlFLG1DQUFtQztBQUNuQyx3QkFBd0I7QUFFeEIsZ0VBQWdFO0FBRWhFLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxlQUFlLENBQUE7QUFDN0MsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLGVBQWUsQ0FBQSJ9
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
import { Schema } from "effect-app/schema";
|
|
2
|
+
import { Effect } from "effect/Effect";
|
|
3
|
+
import type { Headers, HttpError, HttpRequestError, HttpResponseError, Method } from "@effect-app/core/http/http-client";
|
|
4
|
+
import type { REST } from "effect-app/schema";
|
|
5
|
+
import { Path } from "path-parser";
|
|
6
|
+
import { ApiConfig } from "./config.js";
|
|
7
|
+
import { InvalidStateError, NotFoundError, NotLoggedInError, OptimisticConcurrencyException, UnauthorizedError, ValidationError } from "./errors.js";
|
|
8
|
+
export type FetchError = HttpError<string>;
|
|
9
|
+
export declare class ResponseError {
|
|
10
|
+
readonly error: unknown;
|
|
11
|
+
readonly _tag = "ResponseError";
|
|
12
|
+
constructor(error: unknown);
|
|
13
|
+
}
|
|
14
|
+
export declare function fetchApi(method: Method, path: string, body?: unknown): import("effect/Effect").Effect<{
|
|
15
|
+
status: number;
|
|
16
|
+
body: unknown;
|
|
17
|
+
headers: import("@effect/platform/Http/Headers").Headers;
|
|
18
|
+
}, import("@effect/platform/Http/Body").BodyError | InvalidStateError | ValidationError | NotLoggedInError | UnauthorizedError | OptimisticConcurrencyException | NotFoundError<ItemType> | HttpRequestError | HttpResponseError<unknown>, ApiConfig | import("@effect/platform/Http/Client").Client.Default>;
|
|
19
|
+
export declare function fetchApi2S<RequestR, RequestFrom, RequestTo, ResponseR, ResponseFrom, ResponseTo>(request: Schema<RequestTo, RequestFrom, RequestR>, response: Schema<ResponseTo, ResponseFrom, ResponseR>): (method: Method, path: Path) => (req: RequestTo) => import("effect/Effect").Effect<{
|
|
20
|
+
body: ResponseTo;
|
|
21
|
+
headers: Headers;
|
|
22
|
+
status: number;
|
|
23
|
+
}, import("@effect/platform/Http/Body").BodyError | InvalidStateError | ValidationError | NotLoggedInError | UnauthorizedError | OptimisticConcurrencyException | NotFoundError<ItemType> | import("@effect/schema/ParseResult").ParseError | HttpRequestError | ResponseError | HttpResponseError<unknown>, ApiConfig | import("@effect/platform/Http/Client").Client.Default | RequestR | ResponseR>;
|
|
24
|
+
export declare function fetchApi3S<RequestA, RequestE, ResponseE = unknown, ResponseA = void>({ Request, Response }: {
|
|
25
|
+
Request: REST.RequestSchemed<RequestA, RequestE>;
|
|
26
|
+
Response: REST.ReqRes<ResponseA, ResponseE, any>;
|
|
27
|
+
}): (req: RequestA) => import("effect/Effect").Effect<{
|
|
28
|
+
body: ResponseA;
|
|
29
|
+
headers: Headers;
|
|
30
|
+
status: number;
|
|
31
|
+
}, import("@effect/platform/Http/Body").BodyError | InvalidStateError | ValidationError | NotLoggedInError | UnauthorizedError | OptimisticConcurrencyException | NotFoundError<ItemType> | import("@effect/schema/ParseResult").ParseError | HttpRequestError | ResponseError | HttpResponseError<unknown>, any>;
|
|
32
|
+
export declare function fetchApi3SE<RequestA, RequestE, ResponseE = unknown, ResponseA = void>({ Request, Response }: {
|
|
33
|
+
Request: REST.RequestSchemed<RequestA, RequestE>;
|
|
34
|
+
Response: REST.ReqRes<ResponseA, ResponseE, any>;
|
|
35
|
+
}): (req: RequestA) => import("effect/Effect").Effect<FetchResponse<ResponseE>, import("@effect/platform/Http/Body").BodyError | InvalidStateError | ValidationError | NotLoggedInError | UnauthorizedError | OptimisticConcurrencyException | NotFoundError<ItemType> | import("@effect/schema/ParseResult").ParseError | HttpRequestError | ResponseError | HttpResponseError<unknown>, any>;
|
|
36
|
+
export declare function makePathWithQuery(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
|
|
37
|
+
export declare function makePathWithBody(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
|
|
38
|
+
export declare function mapResponse<T, A>(map: (t: T) => A): (r: FetchResponse<T>) => FetchResponse<A>;
|
|
39
|
+
export declare function mapResponseM<T, R, E, A>(map: (t: T) => Effect<A, E, R>): (r: FetchResponse<T>) => Effect<FetchResponse<A>, E, R>;
|
|
40
|
+
export type FetchResponse<T> = {
|
|
41
|
+
body: T;
|
|
42
|
+
headers: Headers;
|
|
43
|
+
status: number;
|
|
44
|
+
};
|
|
45
|
+
export declare const EmptyResponse: Readonly<{
|
|
46
|
+
body: null;
|
|
47
|
+
headers: {};
|
|
48
|
+
status: 404;
|
|
49
|
+
}>;
|
|
50
|
+
export declare const EmptyResponseM: import("effect/Effect").Effect<Readonly<{
|
|
51
|
+
body: null;
|
|
52
|
+
headers: {};
|
|
53
|
+
status: 404;
|
|
54
|
+
}>, never, never>;
|
|
55
|
+
export declare function EmptyResponseMThunk<T>(): Effect<Readonly<{
|
|
56
|
+
body: null | T;
|
|
57
|
+
headers: {};
|
|
58
|
+
status: 404;
|
|
59
|
+
}>, never, unknown>;
|
|
60
|
+
export declare function getBody<R, E, A>(eff: Effect<FetchResponse<A | null>, E, R>): import("effect/Effect").Effect<A | null, E, R>;
|
|
61
|
+
//# sourceMappingURL=fetch.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../_src/client/fetch.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "effect/Option";
|
|
2
|
+
import * as tsplus_module_2 from "effect/Effect";
|
|
3
|
+
import * as tsplus_module_3 from "@effect/schema/Schema";
|
|
4
|
+
import * as tsplus_module_4 from "effect/HashMap";
|
|
5
|
+
import * as tsplus_module_5 from "effect-app/schema";
|
|
6
|
+
import * as tsplus_module_6 from "@effect/platform/Http/ClientRequest";
|
|
7
|
+
import * as tsplus_module_7 from "@effect/platform/Http/Client";
|
|
8
|
+
import * as tsplus_module_8 from "effect-app/Request";
|
|
9
|
+
import * as tsplus_module_9 from "@effect-app/prelude/_ext/misc";
|
|
10
|
+
import * as tsplus_module_10 from "effect-app";
|
|
11
|
+
import * as tsplus_module_11 from "effect/ReadonlyRecord";
|
|
12
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
13
|
+
import { constant } from "@effect-app/core/Function";
|
|
14
|
+
import { Path } from "path-parser";
|
|
15
|
+
import qs from "query-string";
|
|
16
|
+
import { ApiConfig } from "./config.js";
|
|
17
|
+
import { InvalidStateError, NotFoundError, NotLoggedInError, OptimisticConcurrencyException, UnauthorizedError, ValidationError } from "./errors.js";
|
|
18
|
+
export class ResponseError {
|
|
19
|
+
constructor(error) {
|
|
20
|
+
this.error = error;
|
|
21
|
+
this._tag = "ResponseError";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
const getClient = tsplus_module_2.flatMap(tsplus_module_8.HttpClient, (defaultClient) => tsplus_module_2.map(ApiConfig
|
|
25
|
+
.Tag, ({ apiUrl, headers }) => tsplus_module_7.catchTags(tsplus_module_7.catchTag(tsplus_module_7.mapEffect(tsplus_module_7.tapRequest(tsplus_module_7.mapRequest(tsplus_module_7.filterStatusOk(defaultClient), (_) => tsplus_module_6.setHeaders(tsplus_module_6.prependUrl(tsplus_module_6.acceptJson(_), apiUrl), {
|
|
26
|
+
"request-id": tsplus_module_1.flatMap(headers, (_) => tsplus_module_4.get(_, "request-id")).value ?? tsplus_module_5.StringId.make(),
|
|
27
|
+
...headers.map((_) => Object.fromEntries(_)).value
|
|
28
|
+
})), (r) => tsplus_module_2.annotateLogs(tsplus_module_2.annotateLogs(tsplus_module_2.annotateLogs(tsplus_module_2.logDebug(`[HTTP] ${r.method}`), "url", r.url), "body", r.body._tag === "Uint8Array" ? new TextDecoder().decode(r.body.body) : r.body._tag), "headers", r.headers)), (_) => _.status === 204
|
|
29
|
+
? tsplus_module_2.sync(() => ({ status: _.status, body: void 0, headers: _.headers }))
|
|
30
|
+
: tsplus_module_2.map(_.json, (body) => ({ status: _.status, body, headers: _.headers }))), "ResponseError", (err) => {
|
|
31
|
+
const toError = (s) => tsplus_module_2.flatMap(tsplus_module_2.flatMap(err.response.json, (_) => tsplus_module_2.catchAll(tsplus_module_3.decodeUnknown(s)(_), () => tsplus_module_2.fail(err))), tsplus_module_2.fail);
|
|
32
|
+
// opposite of api's `defaultErrorHandler`
|
|
33
|
+
if (err.response.status === 404) {
|
|
34
|
+
return toError(NotFoundError);
|
|
35
|
+
}
|
|
36
|
+
if (err.response.status === 400) {
|
|
37
|
+
return toError(ValidationError);
|
|
38
|
+
}
|
|
39
|
+
if (err.response.status === 401) {
|
|
40
|
+
return toError(NotLoggedInError);
|
|
41
|
+
}
|
|
42
|
+
if (err.response.status === 422) {
|
|
43
|
+
return toError(InvalidStateError);
|
|
44
|
+
}
|
|
45
|
+
if (err.response.status === 403) {
|
|
46
|
+
return toError(UnauthorizedError);
|
|
47
|
+
}
|
|
48
|
+
if (err.response.status === 412) {
|
|
49
|
+
return toError(OptimisticConcurrencyException);
|
|
50
|
+
}
|
|
51
|
+
return tsplus_module_2.fail(err);
|
|
52
|
+
}), {
|
|
53
|
+
"ResponseError": (err) => tsplus_module_2.flatMap(tsplus_module_2.orDie(err
|
|
54
|
+
.response
|
|
55
|
+
.text
|
|
56
|
+
// TODO
|
|
57
|
+
), (_) => tsplus_module_2.fail({
|
|
58
|
+
_tag: "HttpErrorResponse",
|
|
59
|
+
response: { body: tsplus_module_1.fromNullable(_), status: err.response.status, headers: err.response.headers }
|
|
60
|
+
})),
|
|
61
|
+
"RequestError": (err) => tsplus_module_2.fail({ _tag: "HttpErrorRequest", error: err.error })
|
|
62
|
+
})));
|
|
63
|
+
export function fetchApi(method, path, body) {
|
|
64
|
+
return tsplus_module_2.flatMap(getClient, (client) => tsplus_module_2.withSpan((method === "GET"
|
|
65
|
+
? tsplus_module_9.client(client, tsplus_module_6.make(method)(path))
|
|
66
|
+
: body === undefined
|
|
67
|
+
? tsplus_module_9.client(client, tsplus_module_6.make(method)(path))
|
|
68
|
+
: tsplus_module_9.client(client, tsplus_module_6.jsonBody(tsplus_module_6.make(method)(path), body))), "http.request", { attributes: { "http.method": method, "http.url": path } }));
|
|
69
|
+
}
|
|
70
|
+
export function fetchApi2S(request, response) {
|
|
71
|
+
const encodeRequest = tsplus_module_3.encode(request);
|
|
72
|
+
const decRes = tsplus_module_3.decodeUnknown(response);
|
|
73
|
+
const decodeRes = (u) => tsplus_module_2.mapError(decRes(u), (err) => new ResponseError(err));
|
|
74
|
+
return (method, path) => (req) => {
|
|
75
|
+
return encodeRequest(req).andThen((encoded) => tsplus_module_2.map(tsplus_module_2.flatMap(fetchApi(method, method === "DELETE"
|
|
76
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-argument
|
|
77
|
+
? makePathWithQuery(path, encoded)
|
|
78
|
+
: makePathWithBody(path, encoded), encoded), mapResponseM(decodeRes)), (i) => ({
|
|
79
|
+
...i,
|
|
80
|
+
// eslint-disable-next-line @typescript-eslint/no-unnecessary-type-assertion
|
|
81
|
+
body: i.body
|
|
82
|
+
})));
|
|
83
|
+
};
|
|
84
|
+
}
|
|
85
|
+
export function fetchApi3S({ Request, Response }) {
|
|
86
|
+
return fetchApi2S(Request, Response)(Request.method, new Path(Request.path));
|
|
87
|
+
}
|
|
88
|
+
export function fetchApi3SE({ Request, Response }) {
|
|
89
|
+
const a = fetchApi2S(Request, Response)(Request.method, new Path(Request.path));
|
|
90
|
+
const encode = tsplus_module_10.S.encode(Response);
|
|
91
|
+
return (req) => tsplus_module_2.flatMap(a(req), mapResponseM((_) => encode(_)));
|
|
92
|
+
}
|
|
93
|
+
export function makePathWithQuery(path, pars) {
|
|
94
|
+
const forQs = tsplus_module_11.filter(pars, (_, k) => !path.params.includes(k));
|
|
95
|
+
const q = forQs; // { ...forQs, _: JSON.stringify(forQs) } // TODO: drop completely individual keys from query?, sticking to json only
|
|
96
|
+
return (path.build(pars, { ignoreSearch: true, ignoreConstraints: true })
|
|
97
|
+
+ (Object.keys(q).length
|
|
98
|
+
? "?" + qs.stringify(q)
|
|
99
|
+
: ""));
|
|
100
|
+
}
|
|
101
|
+
export function makePathWithBody(path, pars) {
|
|
102
|
+
return path.build(pars, { ignoreSearch: true, ignoreConstraints: true });
|
|
103
|
+
}
|
|
104
|
+
export function mapResponse(map) {
|
|
105
|
+
return (r) => {
|
|
106
|
+
return { ...r, body: map(r.body) };
|
|
107
|
+
};
|
|
108
|
+
}
|
|
109
|
+
export function mapResponseM(map) {
|
|
110
|
+
return (r) => {
|
|
111
|
+
return tsplus_module_2.all({
|
|
112
|
+
body: map(r.body),
|
|
113
|
+
headers: tsplus_module_2.sync(() => r.headers),
|
|
114
|
+
status: tsplus_module_2.sync(() => r.status)
|
|
115
|
+
});
|
|
116
|
+
};
|
|
117
|
+
}
|
|
118
|
+
export const EmptyResponse = Object.freeze({ body: null, headers: {}, status: 404 });
|
|
119
|
+
export const EmptyResponseM = tsplus_module_2.sync(() => EmptyResponse);
|
|
120
|
+
const EmptyResponseMThunk_ = constant(EmptyResponseM);
|
|
121
|
+
export function EmptyResponseMThunk() {
|
|
122
|
+
return EmptyResponseMThunk_();
|
|
123
|
+
}
|
|
124
|
+
export function getBody(eff) {
|
|
125
|
+
return tsplus_module_2.flatMap(eff, (r) => r.body === null ? tsplus_module_2.die("Not found") : tsplus_module_2.sync(() => r.body));
|
|
126
|
+
}
|
|
127
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2NsaWVudC9mZXRjaC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBLHVEQUF1RDtBQUN2RCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFHcEQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLEVBQUUsTUFBTSxjQUFjLENBQUE7QUFDN0IsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN2QyxPQUFPLEVBQ0wsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixnQkFBZ0IsRUFDaEIsOEJBQThCLEVBQzlCLGlCQUFpQixFQUNqQixlQUFlLEVBQ2hCLE1BQU0sYUFBYSxDQUFBO0FBSXBCLE1BQU0sT0FBTyxhQUFhO0lBRXhCLFlBQTRCLEtBQWM7UUFBZCxVQUFLLEdBQUwsS0FBSyxDQUFTO1FBRDFCLFNBQUksR0FBRyxlQUFlLENBQUE7SUFDTyxDQUFDO0NBQy9DO0FBRUQsTUFBTSxTQUFTLEdBQUcsd0NBQUEsVUFBVSxFQUFTLENBQUMsYUFBYSxFQUFFLEVBQUUsQ0FDckQsb0JBQUEsU0FBUztLQUNOLEdBQUcsRUFDQyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsQ0FDM0IsMEJBQUEseUJBQUEsMEJBQUEsMkJBQUEsMERBQUEsYUFBYSxHQUVDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FDaEIsMkJBQUEsc0RBQUEsQ0FBQyxHQUVhLE1BQU0sQ0FBQyxFQUNQO0lBQ1YsWUFBWSxFQUFFLHdCQUFBLE9BQU8sRUFBUyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsb0JBQUEsQ0FBQyxFQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUFJLGdCQUFBLFFBQVEsQ0FBQyxJQUFJLEVBQUU7SUFDbEYsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMs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
|
package/dist/client.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../_src/client.ts"],"names":[],"mappings":"AACA,cAAc,uBAAuB,CAAA;AACrC,cAAc,oBAAoB,CAAA;AAClC,cAAc,oBAAoB,CAAA;AAClC,cAAc,mBAAmB,CAAA;AACjC,cAAc,yBAAyB,CAAA"}
|
package/dist/client.js
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
// codegen:start {preset: barrel, include: ./client/*.ts}
|
|
2
|
+
export * from "./client/clientFor.js";
|
|
3
|
+
export * from "./client/config.js";
|
|
4
|
+
export * from "./client/errors.js";
|
|
5
|
+
export * from "./client/fetch.js";
|
|
6
|
+
export * from "./client/QueryResult.js";
|
|
7
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vX3NyYy9jbGllbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEseURBQXlEO0FBQ3pELGNBQWMsdUJBQXVCLENBQUE7QUFDckMsY0FBYyxvQkFBb0IsQ0FBQTtBQUNsQyxjQUFjLG9CQUFvQixDQUFBO0FBQ2xDLGNBQWMsbUJBQW1CLENBQUE7QUFDakMsY0FBYyx5QkFBeUIsQ0FBQSJ9
|
package/dist/faker.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Faker } from "@faker-js/faker";
|
|
2
|
+
import type * as FC from "fast-check";
|
|
3
|
+
export declare function setFaker(f: Faker): void;
|
|
4
|
+
export declare function getFaker(): Faker;
|
|
5
|
+
export declare const fakerToArb: <T>(fakerGen: () => T) => (fc: typeof FC) => FC.Arbitrary<T>;
|
|
6
|
+
export declare const fakerArb: <T>(gen: (fake: Faker) => () => T) => (a: any) => FC.Arbitrary<T>;
|
|
7
|
+
//# sourceMappingURL=faker.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"faker.d.ts","sourceRoot":"","sources":["../_src/faker.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAA;AAC5C,OAAO,KAAK,KAAK,EAAE,MAAM,YAAY,CAAA;AAOrC,wBAAgB,QAAQ,CAAC,CAAC,EAAE,KAAK,QAEhC;AAED,wBAAgB,QAAQ,UAGvB;AAED,eAAO,MAAM,UAAU,gBAAiB,MAAM,CAAC,UAAU,SAAS,oBASjE,CAAA;AAED,eAAO,MAAM,QAAQ,kBACP,KAAK,KAAK,MAAM,CAAC,SACxB,GAAG,KAAK,GAAG,SAAS,CAAC,CAAC,CAAwC,CAAA"}
|
package/dist/faker.js
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// TODO: inject faker differently, so we dont care about multiple instances of library.
|
|
2
|
+
// eslint-disable-next-line prefer-const
|
|
3
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
4
|
+
let faker = undefined;
|
|
5
|
+
export function setFaker(f) {
|
|
6
|
+
faker = f;
|
|
7
|
+
}
|
|
8
|
+
export function getFaker() {
|
|
9
|
+
if (!faker)
|
|
10
|
+
throw new Error("You forgot to load faker library");
|
|
11
|
+
return faker;
|
|
12
|
+
}
|
|
13
|
+
export const fakerToArb = (fakerGen) => (fc) => {
|
|
14
|
+
return fc
|
|
15
|
+
.integer()
|
|
16
|
+
.noBias() // same probability to generate each of the allowed integers
|
|
17
|
+
.noShrink() // shrink on a seed makes no sense
|
|
18
|
+
.map((seed) => {
|
|
19
|
+
faker.seed(seed); // seed the generator
|
|
20
|
+
return fakerGen(); // call it
|
|
21
|
+
});
|
|
22
|
+
};
|
|
23
|
+
export const fakerArb = (gen) => fakerToArb(() => gen(getFaker())());
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFrZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL2Zha2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLHVGQUF1RjtBQUV2Rix3Q0FBd0M7QUFDeEMsOERBQThEO0FBQzlELElBQUksS0FBSyxHQUFVLFNBQXlCLENBQUE7QUFDNUMsTUFBTSxVQUFVLFFBQVEsQ0FBQyxDQUFRO0lBQy9CLEtBQUssR0FBRyxDQUFDLENBQUE7QUFDWCxDQUFDO0FBRUQsTUFBTSxVQUFVLFFBQVE7SUFDdEIsSUFBSSxDQUFDLEtBQUs7UUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGtDQUFrQyxDQUFDLENBQUE7SUFDL0QsT0FBTyxLQUFLLENBQUE7QUFDZCxDQUFDO0FBRUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUksUUFBaUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFhLEVBQUUsRUFBRTtJQUNwRSxPQUFPLEVBQUU7U0FDTixPQUFPLEVBQUU7U0FDVCxNQUFNLEVBQUUsQ0FBQyw0REFBNEQ7U0FDckUsUUFBUSxFQUFFLENBQUMsa0NBQWtDO1NBQzdDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1FBQ1osS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQSxDQUFDLHFCQUFxQjtRQUN0QyxPQUFPLFFBQVEsRUFBRSxDQUFBLENBQUMsVUFBVTtJQUM5QixDQUFDLENBQUMsQ0FBQTtBQUNOLENBQUMsQ0FBQTtBQUVELE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRyxDQUN0QixHQUE2QixFQUNBLEVBQUUsQ0FBQyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFBIn0=
|