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,70 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tsplus global
|
|
3
|
+
*/
|
|
4
|
+
import { Runtime } from "effect/Runtime";
|
|
5
|
+
/**
|
|
6
|
+
* @tsplus global
|
|
7
|
+
*/
|
|
8
|
+
import { Config } from "effect/Config";
|
|
9
|
+
/**
|
|
10
|
+
* @tsplus global
|
|
11
|
+
*/
|
|
12
|
+
import { SecretURL } from "effect-app/Config/SecretURL";
|
|
13
|
+
/**
|
|
14
|
+
* @tsplus global
|
|
15
|
+
*/
|
|
16
|
+
import { Secret } from "effect/Secret";
|
|
17
|
+
/**
|
|
18
|
+
* @tsplus global
|
|
19
|
+
*/
|
|
20
|
+
import { ConfigError } from "effect/ConfigError";
|
|
21
|
+
/**
|
|
22
|
+
* @tsplus global
|
|
23
|
+
*/
|
|
24
|
+
import { ConfigProvider } from "effect/ConfigProvider";
|
|
25
|
+
/**
|
|
26
|
+
* @tsplus global
|
|
27
|
+
*/
|
|
28
|
+
import { Cache, CacheStats, ConsumerCache, EntryStats } from "effect/Cache";
|
|
29
|
+
/**
|
|
30
|
+
* @tsplus global
|
|
31
|
+
*/
|
|
32
|
+
import { Request } from "effect/Request";
|
|
33
|
+
/**
|
|
34
|
+
* @tsplus global
|
|
35
|
+
*/
|
|
36
|
+
import { ClientRequest } from "@effect/platform/Http/ClientRequest";
|
|
37
|
+
/**
|
|
38
|
+
* @tsplus global
|
|
39
|
+
*/
|
|
40
|
+
import { EffectCache, EffectRequest, HttpClient } from "effect-app/Request";
|
|
41
|
+
/**
|
|
42
|
+
* @tsplus global
|
|
43
|
+
*/
|
|
44
|
+
import { RequestResolver } from "effect/RequestResolver";
|
|
45
|
+
/**
|
|
46
|
+
* @tsplus global
|
|
47
|
+
*/
|
|
48
|
+
import { Pure, PureEnv, PureEnvEnv } from "effect-app/Pure";
|
|
49
|
+
/**
|
|
50
|
+
* @tsplus global
|
|
51
|
+
*/
|
|
52
|
+
import { exhaustiveMatch, exhaustiveMatch_, spread, spreadS } from "effect-app/utils";
|
|
53
|
+
/**
|
|
54
|
+
* @tsplus global
|
|
55
|
+
*/
|
|
56
|
+
import { Fnc, Lens, NonEmptySet, Record, ReadonlySet, S, Utils } from "effect-app";
|
|
57
|
+
/**
|
|
58
|
+
* @tsplus global
|
|
59
|
+
*/
|
|
60
|
+
import { assignTag, ServiceTagged, TagClass, TagClassMake } from "effect-app/service";
|
|
61
|
+
/**
|
|
62
|
+
* @tsplus global
|
|
63
|
+
*/
|
|
64
|
+
import { match, Pattern } from "ts-pattern";
|
|
65
|
+
import "@effect-app/core/_global";
|
|
66
|
+
import "@effect-app/core/Prelude";
|
|
67
|
+
import "@effect-app/schema/_global";
|
|
68
|
+
import "./_global.ext.js";
|
|
69
|
+
import "./refinements.js";
|
|
70
|
+
//# sourceMappingURL=_global.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_global.d.ts","sourceRoot":"","sources":["../_src/_global.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAEvD;;GAEG;AACH,OAAO,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAEtC;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAA;AAEhD;;GAEG;AACH,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAA;AAEtD;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAE3E;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAA;AAExC;;GAEG;AACH,OAAO,EAAE,aAAa,EAAE,MAAM,qCAAqC,CAAA;AAEnE;;GAEG;AACH,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AAE3E;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAA;AAIxD;;GAEG;AACH,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAA;AAE3D;;GAEG;AACH,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAA;AACrF;;GAEG;AACH,OAAO,EASL,GAAG,EAGH,IAAI,EAGJ,WAAW,EAGX,MAAM,EAEN,WAAW,EAEX,CAAC,EAED,KAAK,EAEN,MAAM,YAAY,CAAA;AAEnB;;GAEG;AACH,OAAO,EAAE,SAAS,EAAE,aAAa,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAErF;;GAEG;AACH,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAA;AAE3C,OAAO,0BAA0B,CAAA;AACjC,OAAO,0BAA0B,CAAA;AACjC,OAAO,4BAA4B,CAAA;AAEnC,OAAO,kBAAkB,CAAA;AACzB,OAAO,kBAAkB,CAAA"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_global.ext.d.ts","sourceRoot":"","sources":["../_src/_global.ext.ts"],"names":[],"mappings":"AACA,OAAO,gBAAgB,CAAA;AACvB,OAAO,gBAAgB,CAAA"}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
// import "./EffectOption.ext.js"
|
|
2
|
+
import "./_ext/date.js";
|
|
3
|
+
import "./_ext/misc.js";
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5leHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL19nbG9iYWwuZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxPQUFPLGdCQUFnQixDQUFBO0FBQ3ZCLE9BQU8sZ0JBQWdCLENBQUEifQ==
|
package/dist/_global.js
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/* eslint-disable unused-imports/no-unused-imports */
|
|
2
|
+
// /**
|
|
3
|
+
// * @tsplus global
|
|
4
|
+
// */
|
|
5
|
+
// import { Predicate } from "@effect-app/core/Function"
|
|
6
|
+
/**
|
|
7
|
+
* @tsplus global
|
|
8
|
+
*/
|
|
9
|
+
import "effect/Runtime";
|
|
10
|
+
/**
|
|
11
|
+
* @tsplus global
|
|
12
|
+
*/
|
|
13
|
+
import "effect/Config";
|
|
14
|
+
/**
|
|
15
|
+
* @tsplus global
|
|
16
|
+
*/
|
|
17
|
+
import "effect-app/Config/SecretURL";
|
|
18
|
+
/**
|
|
19
|
+
* @tsplus global
|
|
20
|
+
*/
|
|
21
|
+
import "effect/Secret";
|
|
22
|
+
/**
|
|
23
|
+
* @tsplus global
|
|
24
|
+
*/
|
|
25
|
+
import "effect/ConfigError";
|
|
26
|
+
/**
|
|
27
|
+
* @tsplus global
|
|
28
|
+
*/
|
|
29
|
+
import "effect/ConfigProvider";
|
|
30
|
+
/**
|
|
31
|
+
* @tsplus global
|
|
32
|
+
*/
|
|
33
|
+
import "effect/Cache";
|
|
34
|
+
/**
|
|
35
|
+
* @tsplus global
|
|
36
|
+
*/
|
|
37
|
+
import "effect/Request";
|
|
38
|
+
/**
|
|
39
|
+
* @tsplus global
|
|
40
|
+
*/
|
|
41
|
+
import "@effect/platform/Http/ClientRequest";
|
|
42
|
+
/**
|
|
43
|
+
* @tsplus global
|
|
44
|
+
*/
|
|
45
|
+
import "effect-app/Request";
|
|
46
|
+
/**
|
|
47
|
+
* @tsplus global
|
|
48
|
+
*/
|
|
49
|
+
import "effect/RequestResolver";
|
|
50
|
+
/* eslint-disable unused-imports/no-unused-imports */
|
|
51
|
+
/**
|
|
52
|
+
* @tsplus global
|
|
53
|
+
*/
|
|
54
|
+
import "effect-app/Pure";
|
|
55
|
+
/**
|
|
56
|
+
* @tsplus global
|
|
57
|
+
*/
|
|
58
|
+
import "effect-app/utils";
|
|
59
|
+
/**
|
|
60
|
+
* @tsplus global
|
|
61
|
+
*/
|
|
62
|
+
import "effect-app";
|
|
63
|
+
/**
|
|
64
|
+
* @tsplus global
|
|
65
|
+
*/
|
|
66
|
+
import "effect-app/service";
|
|
67
|
+
/**
|
|
68
|
+
* @tsplus global
|
|
69
|
+
*/
|
|
70
|
+
import "ts-pattern";
|
|
71
|
+
import "@effect-app/core/_global";
|
|
72
|
+
import "@effect-app/core/Prelude";
|
|
73
|
+
import "@effect-app/schema/_global";
|
|
74
|
+
import "./_global.ext.js";
|
|
75
|
+
import "./refinements.js";
|
|
76
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvX2dsb2JhbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFDckQsTUFBTTtBQUNOLG9CQUFvQjtBQUNwQixNQUFNO0FBQ04sd0RBQXdEO0FBRXhEOztHQUVHO0FBQ0gsT0FBd0IsZ0JBQWdCLENBQUE7QUFFeEM7O0dBRUc7QUFDSCxPQUF1QixlQUFlLENBQUE7QUFFdEM7O0dBRUc7QUFDSCxPQUEwQiw2QkFBNkIsQ0FBQTtBQUV2RDs7R0FFRztBQUNILE9BQXVCLGVBQWUsQ0FBQTtBQUV0Qzs7R0FFRztBQUNILE9BQTRCLG9CQUFvQixDQUFBO0FBRWhEOztHQUVHO0FBQ0gsT0FBK0IsdUJBQXVCLENBQUE7QUFFdEQ7O0dBRUc7QUFDSCxPQUE2RCxjQUFjLENBQUE7QUFFM0U7O0dBRUc7QUFDSCxPQUF3QixnQkFBZ0IsQ0FBQTtBQUV4Qzs7R0FFRztBQUNILE9BQThCLHFDQUFxQyxDQUFBO0FBRW5FOztHQUVHO0FBQ0gsT0FBdUQsb0JBQW9CLENBQUE7QUFFM0U7O0dBRUc7QUFDSCxPQUFnQyx3QkFBd0IsQ0FBQTtBQUV4RCxxREFBcUQ7QUFFckQ7O0dBRUc7QUFDSCxPQUEwQyxpQkFBaUIsQ0FBQTtBQUUzRDs7R0FFRztBQUNILE9BQW1FLGtCQUFrQixDQUFBO0FBQ3JGOztHQUVHO0FBQ0gsT0EwQk8sWUFBWSxDQUFBO0FBRW5COztHQUVHO0FBQ0gsT0FBaUUsb0JBQW9CLENBQUE7QUFFckY7O0dBRUc7QUFDSCxPQUErQixZQUFZLENBQUE7QUFFM0MsT0FBTywwQkFBMEIsQ0FBQTtBQUNqQyxPQUFPLDBCQUEwQixDQUFBO0FBQ2pDLE9BQU8sNEJBQTRCLENBQUE7QUFFbkMsT0FBTyxrQkFBa0IsQ0FBQTtBQUN6QixPQUFPLGtCQUFrQixDQUFBIn0=
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @tsplus global
|
|
3
|
+
*/
|
|
4
|
+
import { annotate, array, boolean, Class, Date, Email, ExtendedClass, ExtendedTaggedClass, FromClass, inputDate, literal, nonEmptyArray, NonEmptyString, NonEmptyString255, NonEmptyString2k, NonEmptyString50, NonEmptyString64k, NonNegativeDecimal, NonNegativeInt, NonNegativeNumber, nullable, number, ParseResult, PhoneNumber, PositiveDecimal, PositiveInt, PositiveNumber, readonlyMap, readonlySet, Schema, string, StringId, struct, TaggedClass, union, UnionBrand, unknown, useClassFeaturesForSchema, useClassNameForSchema, void_ as Void } from "effect-app/schema";
|
|
5
|
+
export {};
|
|
6
|
+
//# sourceMappingURL=_global.schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"_global.schema.d.ts","sourceRoot":"","sources":["../_src/_global.schema.ts"],"names":[],"mappings":"AAEA;;GAEG;AACH,OAAO,EACL,QAAQ,EACR,KAAK,EACL,OAAO,EACP,KAAK,EACL,IAAI,EACJ,KAAK,EACL,aAAa,EACb,mBAAmB,EACnB,SAAS,EACT,SAAS,EACT,OAAO,EACP,aAAa,EACb,cAAc,EACd,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,cAAc,EACd,iBAAiB,EACjB,QAAQ,EACR,MAAM,EACN,WAAW,EACX,WAAW,EACX,eAAe,EACf,WAAW,EACX,cAAc,EACd,WAAW,EACX,WAAW,EACX,MAAM,EACN,MAAM,EACN,QAAQ,EACR,MAAM,EACN,WAAW,EACX,KAAK,EACL,UAAU,EACV,OAAO,EACP,yBAAyB,EACzB,qBAAqB,EACrB,KAAK,IAAI,IAAI,EACd,MAAM,mBAAmB,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
/* eslint-disable unused-imports/no-unused-imports */
|
|
2
|
+
/**
|
|
3
|
+
* @tsplus global
|
|
4
|
+
*/
|
|
5
|
+
import "effect-app/schema";
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiX2dsb2JhbC5zY2hlbWEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9fc3JjL19nbG9iYWwuc2NoZW1hLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHFEQUFxRDtBQUVyRDs7R0FFRztBQUNILE9BeUNPLG1CQUFtQixDQUFBIn0=
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { Data } from "effect";
|
|
2
|
+
import { Option } from "@effect-app/core/Option";
|
|
3
|
+
import { Effect } from "effect/Effect";
|
|
4
|
+
import * as Either from "effect/Either";
|
|
5
|
+
declare const Initial_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
6
|
+
readonly _tag: "Initial";
|
|
7
|
+
};
|
|
8
|
+
export declare class Initial extends Initial_base<{}> {
|
|
9
|
+
}
|
|
10
|
+
declare const Loading_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").Equals<A, {}> extends true ? void : { readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }) => Readonly<A> & {
|
|
11
|
+
readonly _tag: "Loading";
|
|
12
|
+
};
|
|
13
|
+
export declare class Loading extends Loading_base<{}> {
|
|
14
|
+
}
|
|
15
|
+
declare const Refreshing_base: new <A_1 extends Record<string, any> = {}>(args: import("effect/Types").Equals<A_1, {}> extends true ? void : { readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }) => Readonly<A_1> & {
|
|
16
|
+
readonly _tag: "Refreshing";
|
|
17
|
+
};
|
|
18
|
+
export declare class Refreshing<E, A> extends Refreshing_base<{
|
|
19
|
+
readonly current: Either.Either<E, A>;
|
|
20
|
+
readonly previous: Option<A>;
|
|
21
|
+
}> {
|
|
22
|
+
static succeed<A, E = never>(a: A): Refreshing<E, A>;
|
|
23
|
+
static fail<E, A = never>(e: E, previous?: A): Refreshing<E, A>;
|
|
24
|
+
static fromDone<E, A>(d: Done<E, A>): Refreshing<E, A>;
|
|
25
|
+
}
|
|
26
|
+
declare const Done_base: new <A_1 extends Record<string, any> = {}>(args: import("effect/Types").Equals<A_1, {}> extends true ? void : { readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }) => Readonly<A_1> & {
|
|
27
|
+
readonly _tag: "Done";
|
|
28
|
+
};
|
|
29
|
+
export declare class Done<E, A> extends Done_base<{
|
|
30
|
+
readonly current: Either.Either<E, A>;
|
|
31
|
+
readonly previous: Option<A>;
|
|
32
|
+
}> {
|
|
33
|
+
static succeed<A, E = never>(this: void, a: A): Done<E, A>;
|
|
34
|
+
static fail<E, A = never>(this: void, e: E, previous?: A): Done<E, A>;
|
|
35
|
+
static refresh<E, A>(d: Done<E, A>): Refreshing<E, A>;
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* @tsplus type QueryResult
|
|
39
|
+
*/
|
|
40
|
+
export type QueryResult<E, A> = Initial | Loading | Refreshing<E, A> | Done<E, A>;
|
|
41
|
+
type Result<E, A> = Omit<Done<E, A>, "current"> | Omit<Refreshing<E, A>, "current">;
|
|
42
|
+
/**
|
|
43
|
+
* @tsplus fluent QueryResult isSuccess
|
|
44
|
+
* @tsplus location "@effect-app/prelude/client/QueryResult"
|
|
45
|
+
*/
|
|
46
|
+
export declare function isSuccess<E, A>(qr: QueryResult<E, A>): qr is Result<E, A> & {
|
|
47
|
+
current: Either.Right<E, A>;
|
|
48
|
+
};
|
|
49
|
+
/**
|
|
50
|
+
* @tsplus fluent QueryResult hasValue
|
|
51
|
+
* @tsplus location "@effect-app/prelude/client/QueryResult"
|
|
52
|
+
*/
|
|
53
|
+
export declare function hasValue<E, A>(qr: QueryResult<E, A>): qr is Done<E, A> | Refreshing<E, A>;
|
|
54
|
+
/**
|
|
55
|
+
* @tsplus fluent QueryResult isRefreshing
|
|
56
|
+
* @tsplus location "@effect-app/prelude/client/QueryResult"
|
|
57
|
+
*/
|
|
58
|
+
export declare function isRefreshing<E, A>(qr: QueryResult<E, A>): qr is Refreshing<E, A>;
|
|
59
|
+
/**
|
|
60
|
+
* @tsplus fluent QueryResult isDone
|
|
61
|
+
* @tsplus location "@effect-app/prelude/client/QueryResult"
|
|
62
|
+
*/
|
|
63
|
+
export declare function isDone<E, A>(qr: QueryResult<E, A>): qr is Done<E, A>;
|
|
64
|
+
/**
|
|
65
|
+
* @tsplus fluent QueryResult isInitializing
|
|
66
|
+
* @tsplus location "@effect-app/prelude/client/QueryResult"
|
|
67
|
+
*/
|
|
68
|
+
export declare function isInitializing<E, A>(qr: QueryResult<E, A>): qr is Initial | Loading;
|
|
69
|
+
/**
|
|
70
|
+
* @tsplus fluent QueryResult isFailed
|
|
71
|
+
* @tsplus location "@effect-app/prelude/client/QueryResult"
|
|
72
|
+
*/
|
|
73
|
+
export declare function isFailed<E, A>(qr: QueryResult<E, A>): qr is Result<E, A> & {
|
|
74
|
+
current: Either.Left<E, A>;
|
|
75
|
+
};
|
|
76
|
+
export type ResultTuple<Result> = readonly [result: Result, refresh: () => void];
|
|
77
|
+
export type QueryResultTuple<E, A> = ResultTuple<QueryResult<E, A>>;
|
|
78
|
+
export declare const fail: typeof Done.fail, succeed: typeof Done.succeed;
|
|
79
|
+
/**
|
|
80
|
+
* @tsplus getter effect/io/Effect asQueryResult
|
|
81
|
+
* @tsplus location "@effect-app/prelude/client/QueryResult"
|
|
82
|
+
*/
|
|
83
|
+
export declare function queryResult<R, E, A>(self: Effect<A, E, R>): Effect<QueryResult<E, A>, never, R>;
|
|
84
|
+
export {};
|
|
85
|
+
//# sourceMappingURL=QueryResult.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QueryResult.d.ts","sourceRoot":"","sources":["../../_src/client/QueryResult.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "effect";
|
|
2
|
+
import * as tsplus_module_2 from "effect/Option";
|
|
3
|
+
import * as tsplus_module_3 from "effect/Effect";
|
|
4
|
+
export const hasValue = hasValue_1;
|
|
5
|
+
export const isRefreshing = isRefreshing_1;
|
|
6
|
+
export const isDone = isDone_1;
|
|
7
|
+
// TODO: Convert to effect/core
|
|
8
|
+
/* eslint-disable @typescript-eslint/ban-types */
|
|
9
|
+
import * as Either from "effect/Either";
|
|
10
|
+
export class Initial extends tsplus_module_1.Data.TaggedClass("Initial") {
|
|
11
|
+
}
|
|
12
|
+
export class Loading extends tsplus_module_1.Data.TaggedClass("Loading") {
|
|
13
|
+
}
|
|
14
|
+
export class Refreshing extends tsplus_module_1.Data.TaggedClass("Refreshing") {
|
|
15
|
+
static succeed(a) {
|
|
16
|
+
return new Refreshing({ current: Either.right(a), previous: tsplus_module_2.none() });
|
|
17
|
+
}
|
|
18
|
+
static fail(e, previous) {
|
|
19
|
+
return new Refreshing({
|
|
20
|
+
current: Either.left(e),
|
|
21
|
+
previous: previous === undefined ? tsplus_module_2.none() : tsplus_module_2.some(previous)
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
static fromDone(d) {
|
|
25
|
+
return new Refreshing(d);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
export class Done extends tsplus_module_1.Data.TaggedClass("Done") {
|
|
29
|
+
static succeed(a) {
|
|
30
|
+
return new Done({ current: Either.right(a), previous: tsplus_module_2.none() });
|
|
31
|
+
}
|
|
32
|
+
static fail(e, previous) {
|
|
33
|
+
return new Done({
|
|
34
|
+
current: Either.left(e),
|
|
35
|
+
previous: previous === undefined ? tsplus_module_2.none() : tsplus_module_2.some(previous)
|
|
36
|
+
});
|
|
37
|
+
}
|
|
38
|
+
static refresh(d) {
|
|
39
|
+
return new Refreshing(d);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* @tsplus fluent QueryResult isSuccess
|
|
44
|
+
*/
|
|
45
|
+
export function isSuccess(qr) {
|
|
46
|
+
return hasValue_1(qr) && Either.isRight(qr.current);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* @tsplus fluent QueryResult hasValue
|
|
50
|
+
*/
|
|
51
|
+
function hasValue_1(qr) {
|
|
52
|
+
return isDone_1(qr) || isRefreshing_1(qr);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* @tsplus fluent QueryResult isRefreshing
|
|
56
|
+
*/
|
|
57
|
+
function isRefreshing_1(qr) {
|
|
58
|
+
return qr._tag === "Refreshing";
|
|
59
|
+
}
|
|
60
|
+
/**
|
|
61
|
+
* @tsplus fluent QueryResult isDone
|
|
62
|
+
*/
|
|
63
|
+
function isDone_1(qr) {
|
|
64
|
+
return qr._tag === "Done";
|
|
65
|
+
}
|
|
66
|
+
/**
|
|
67
|
+
* @tsplus fluent QueryResult isInitializing
|
|
68
|
+
*/
|
|
69
|
+
export function isInitializing(qr) {
|
|
70
|
+
return qr._tag === "Initial" || qr._tag === "Loading";
|
|
71
|
+
}
|
|
72
|
+
/**
|
|
73
|
+
* @tsplus fluent QueryResult isFailed
|
|
74
|
+
*/
|
|
75
|
+
export function isFailed(qr) {
|
|
76
|
+
return hasValue_1(qr) && Either.isLeft(qr.current);
|
|
77
|
+
}
|
|
78
|
+
export const { fail, succeed } = Done;
|
|
79
|
+
/**
|
|
80
|
+
* @tsplus getter effect/io/Effect asQueryResult
|
|
81
|
+
*/
|
|
82
|
+
export function queryResult(self) {
|
|
83
|
+
return tsplus_module_3.match(self, { onFailure: fail, onSuccess: succeed });
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUXVlcnlSZXN1bHQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9fc3JjL2NsaWVudC9RdWVyeVJlc3VsdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7YUFpRWdCLFFBQVE7YUFTUixZQUFZO2FBU1osTUFBTTtBQW5GdEIsK0JBQStCO0FBRS9CLGlEQUFpRDtBQUNqRCxPQUFPLEtBQUssTUFBTSxNQUFNLGVBQWUsQ0FBQTtBQUV2QyxNQUFNLE9BQU8sT0FBUSxTQUFRLGdCQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFLO0NBQUc7QUFFL0QsTUFBTSxPQUFPLE9BQVEsU0FBUSxnQkFBQSxJQUFJLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBSztDQUFHO0FBRS9ELE1BQU0sT0FBTyxVQUFpQixTQUFRLGdCQUFBLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUdqRTtJQUNBLE1BQU0sQ0FBQyxPQUFPLENBQWUsQ0FBSTtRQUMvQixPQUFPLElBQUksVUFBVSxDQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFhLEVBQUUsQ0FBQyxDQUFBO0lBQ3BGLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUFlLENBQUksRUFBRSxRQUFZO1FBQzFDLE9BQU8sSUFBSSxVQUFVLENBQU87WUFDMUIsT0FBTyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1lBQ3ZCLFFBQVEsRUFBRSxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxzQkFBYSxDQUFDLENBQUMsQ0FBQyxxQkFBWSxRQUFRLENBQUM7U0FDekUsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELE1BQU0sQ0FBQyxRQUFRLENBQU8sQ0FBYTtRQUNqQyxPQUFPLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQzFCLENBQUM7Q0FDRjtBQUVELE1BQU0sT0FBTyxJQUFXLFNBQVEsZ0JBQUEsSUFBSSxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBR3JEO0lBQ0EsTUFBTSxDQUFDLE9BQU8sQ0FBMkIsQ0FBSTtRQUMzQyxPQUFPLElBQUksSUFBSSxDQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUUsUUFBUSxFQUFFLHNCQUFhLEVBQUUsQ0FBQyxDQUFBO0lBQzlFLENBQUM7SUFDRCxNQUFNLENBQUMsSUFBSSxDQUEyQixDQUFJLEVBQUUsUUFBWTtRQUN0RCxPQUFPLElBQUksSUFBSSxDQUFPO1lBQ3BCLE9BQU8sRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUN2QixRQUFRLEVBQUUsUUFBUSxLQUFLLFNBQVMsQ0FBQyxDQUFDLENBQUMsc0JBQWEsQ0FBQyxDQUFDLENBQUMscUJBQVksUUFBUSxDQUFDO1NBQ3pFLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxNQUFNLENBQUMsT0FBTyxDQUFPLENBQWE7UUFDaEMsT0FBTyxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtJQUMxQixDQUFDO0NBQ0Y7QUFTRDs7R0FFRztBQUNILE1BQU0sVUFBVSxTQUFTLENBQ3ZCLEVBQXFCO0lBRXJCLE9BQU8sV0FBQSxFQUFFLENBQVcsSUFBSSxBQXhEZCxNQUFNLFNBd0RRLEVBQUUsQ0FBQyxPQUFPLENBQVUsQ0FBQTtBQUM5QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxvQkFDRSxFQUFxQjtJQUVyQixPQUFPLFNBQUEsRUFBRSxDQUFTLElBQUksZUFBQSxFQUFFLENBQWUsQ0FBQTtBQUN6QyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCx3QkFDRSxFQUFxQjtJQUVyQixPQUFPLEVBQUUsQ0FBQyxJQUFJLEtBQUssWUFBWSxDQUFBO0FBQ2pDLENBQUM7QUFFRDs7R0FFRztBQUNILGtCQUNFLEVBQXFCO0lBRXJCLE9BQU8sRUFBRSxDQUFDLElBQUksS0FBSyxNQUFNLENBQUE7QUFDM0IsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsRUFBcUI7SUFFckIsT0FBTyxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsSUFBSSxFQUFFLENBQUMsSUFBSSxLQUFLLFNBQVMsQ0FBQTtBQUN2RCxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsUUFBUSxDQUN0QixFQUFxQjtJQUVyQixPQUFPLFdBQUEsRUFBRSxDQUFXLElBQUksQUFyR2QsTUFBTSxRQXFHUSxFQUFFLENBQUMsT0FBTyxDQUFTLENBQUE7QUFDN0MsQ0FBQztBQUtELE1BQU0sQ0FBQyxNQUFNLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxHQUFHLElBQUksQ0FBQTtBQUVyQzs7R0FFRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQ3pCLElBQXFCO0lBRXJCLE9BQU8sc0JBQUEsSUFBSSxFQUFPLEVBQUUsU0FBUyxFQUFFLElBQUksRUFBRSxTQUFTLEVBQUUsT0FBTyxFQUFFLENBQUMsQ0FBQTtBQUM1RCxDQUFDIn0=
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { HttpClient } from "effect-app/Request";
|
|
2
|
+
import { Schema } from "effect-app/schema";
|
|
3
|
+
import { Effect } from "effect/Effect";
|
|
4
|
+
import { REST } from "effect-app/schema";
|
|
5
|
+
import type { ApiConfig } from "./config.js";
|
|
6
|
+
import type { SupportedErrors } from "./errors.js";
|
|
7
|
+
import type { FetchError, FetchResponse } from "./fetch.js";
|
|
8
|
+
import { ResponseError } from "./fetch.js";
|
|
9
|
+
export * from "./config.js";
|
|
10
|
+
type Requests = Record<string, any>;
|
|
11
|
+
export type Client<M extends Requests> = RequestHandlers<ApiConfig | HttpClient.Default, SupportedErrors | FetchError | ResponseError, M> & RequestHandlersE<ApiConfig | HttpClient.Default, SupportedErrors | FetchError | ResponseError, M>;
|
|
12
|
+
export declare function clientFor<M extends Requests>(models: M): Client<Omit<M, "meta">>;
|
|
13
|
+
export type ExtractResponse<T> = T extends Schema<any, any, any> ? Schema.To<T> : T extends unknown ? void : never;
|
|
14
|
+
export type ExtractEResponse<T> = T extends Schema<any, any, any> ? Schema.From<T> : T extends unknown ? void : never;
|
|
15
|
+
type HasEmptyTo<T extends Schema<any, any, any>> = T extends {
|
|
16
|
+
struct: Schema<any, any, any>;
|
|
17
|
+
} ? Schema.To<T["struct"]> extends Record<any, never> ? true : Schema.To<T> extends Record<any, never> ? true : false : false;
|
|
18
|
+
type RequestHandlers<R, E, M extends Requests> = {
|
|
19
|
+
[K in keyof M & string as Uncapitalize<K>]: HasEmptyTo<REST.GetRequest<M[K]>> extends true ? {
|
|
20
|
+
handler: Effect<FetchResponse<ExtractResponse<REST.GetResponse<M[K]>>>, E, R>;
|
|
21
|
+
Request: REST.GetRequest<M[K]>;
|
|
22
|
+
Reponse: ExtractResponse<REST.GetResponse<M[K]>>;
|
|
23
|
+
mapPath: string;
|
|
24
|
+
} : {
|
|
25
|
+
handler: (req: InstanceType<REST.GetRequest<M[K]>>) => Effect<FetchResponse<ExtractResponse<REST.GetResponse<M[K]>>>, E, R>;
|
|
26
|
+
Request: REST.GetRequest<M[K]>;
|
|
27
|
+
Reponse: ExtractResponse<REST.GetResponse<M[K]>>;
|
|
28
|
+
mapPath: (req: InstanceType<REST.GetRequest<M[K]>>) => string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
type RequestHandlersE<R, E, M extends Requests> = {
|
|
32
|
+
[K in keyof M & string as `${Uncapitalize<K>}E`]: HasEmptyTo<REST.GetRequest<M[K]>> extends true ? {
|
|
33
|
+
handler: Effect<FetchResponse<ExtractEResponse<REST.GetResponse<M[K]>>>, E, R>;
|
|
34
|
+
Request: REST.GetRequest<M[K]>;
|
|
35
|
+
Reponse: ExtractResponse<REST.GetResponse<M[K]>>;
|
|
36
|
+
mapPath: string;
|
|
37
|
+
} : {
|
|
38
|
+
handler: (req: InstanceType<REST.GetRequest<M[K]>>) => Effect<FetchResponse<ExtractEResponse<REST.GetResponse<M[K]>>>, E, R>;
|
|
39
|
+
Request: REST.GetRequest<M[K]>;
|
|
40
|
+
Reponse: ExtractResponse<REST.GetResponse<M[K]>>;
|
|
41
|
+
mapPath: (req: InstanceType<REST.GetRequest<M[K]>>) => string;
|
|
42
|
+
};
|
|
43
|
+
};
|
|
44
|
+
//# sourceMappingURL=clientFor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../_src/client/clientFor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,144 @@
|
|
|
1
|
+
var __setFunctionName = (this && this.__setFunctionName) || function (f, name, prefix) {
|
|
2
|
+
if (typeof name === "symbol") name = name.description ? "[".concat(name.description, "]") : "";
|
|
3
|
+
return Object.defineProperty(f, "name", { configurable: true, value: prefix ? "".concat(prefix, " ", name) : name });
|
|
4
|
+
};
|
|
5
|
+
import * as tsplus_module_1 from "@effect/schema/Schema";
|
|
6
|
+
import * as tsplus_module_2 from "effect/Effect";
|
|
7
|
+
import * as tsplus_module_3 from "@effect-app/core/Function";
|
|
8
|
+
import * as tsplus_module_4 from "@effect/schema/Parser";
|
|
9
|
+
import * as tsplus_module_5 from "@effect-app/core/utils";
|
|
10
|
+
/* eslint-disable @typescript-eslint/no-unsafe-argument */
|
|
11
|
+
/* eslint-disable @typescript-eslint/no-explicit-any */
|
|
12
|
+
import { REST } from "effect-app/schema";
|
|
13
|
+
import * as utils from "effect-app/utils";
|
|
14
|
+
import { Path } from "path-parser";
|
|
15
|
+
import { fetchApi, fetchApi3S, fetchApi3SE, makePathWithBody, makePathWithQuery, mapResponseM, ResponseError } from "./fetch.js";
|
|
16
|
+
export * from "./config.js";
|
|
17
|
+
const cache = new Map();
|
|
18
|
+
export function clientFor(models) {
|
|
19
|
+
const found = cache.get(models);
|
|
20
|
+
if (found) {
|
|
21
|
+
return found;
|
|
22
|
+
}
|
|
23
|
+
const m = clientFor_(models);
|
|
24
|
+
cache.set(models, m);
|
|
25
|
+
return m;
|
|
26
|
+
}
|
|
27
|
+
function clientFor_(models) {
|
|
28
|
+
return (tsplus_module_5.RecordKeys(tsplus_module_5.object$(models)).filter((x) => x !== "default" && x !== "meta")
|
|
29
|
+
.reduce((prev, cur) => {
|
|
30
|
+
var _a;
|
|
31
|
+
const h = models[cur];
|
|
32
|
+
const Request_ = REST.extractRequest(h);
|
|
33
|
+
const Response = REST.extractResponse(h);
|
|
34
|
+
// @ts-expect-error doc
|
|
35
|
+
const actionName = utils.uncapitalize(cur);
|
|
36
|
+
const m = models.meta;
|
|
37
|
+
if (!m)
|
|
38
|
+
throw new Error("No meta defined in Resource!");
|
|
39
|
+
const requestName = `${m.moduleName}.${cur}`
|
|
40
|
+
.replaceAll(".js", "");
|
|
41
|
+
const Request = (_a = class extends Request_ {
|
|
42
|
+
},
|
|
43
|
+
__setFunctionName(_a, "Request"),
|
|
44
|
+
_a.path = "/" + requestName + (Request_.path === "/" ? "" : Request_.path),
|
|
45
|
+
_a.method = Request_.method === "AUTO"
|
|
46
|
+
? REST.determineMethod(cur, Request_)
|
|
47
|
+
: Request_.method,
|
|
48
|
+
_a);
|
|
49
|
+
if (Request_.method === "AUTO") {
|
|
50
|
+
Object.assign(Request, {
|
|
51
|
+
[Request.method === "GET" || Request.method === "DELETE" ? "Query" : "Body"]: Request_.Auto
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
const b = Object.assign({}, h, { Request, Response });
|
|
55
|
+
const meta = {
|
|
56
|
+
Request,
|
|
57
|
+
Response,
|
|
58
|
+
mapPath: Request.path
|
|
59
|
+
};
|
|
60
|
+
const res = Response;
|
|
61
|
+
const parseResponse = tsplus_module_3.flow(tsplus_module_1.decodeUnknown(res), (_) => tsplus_module_2.mapError(_, (err) => new ResponseError(err)));
|
|
62
|
+
const parseResponseE = tsplus_module_3.flow(parseResponse, (x) => x.andThen(tsplus_module_1.encode(res)));
|
|
63
|
+
const path = new Path(Request.path);
|
|
64
|
+
// TODO: look into ast, look for propertySignatures, etc.
|
|
65
|
+
// TODO: and fix type wise
|
|
66
|
+
// if we don't need fields, then also dont require an argument.
|
|
67
|
+
const fields = [Request.Body, Request.Query, Request.Path]
|
|
68
|
+
.filter((x) => x)
|
|
69
|
+
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
70
|
+
.flatMap((x) => x.ast.propertySignatures);
|
|
71
|
+
// @ts-expect-error doc
|
|
72
|
+
prev[actionName] = Request.method === "GET"
|
|
73
|
+
? fields.length === 0
|
|
74
|
+
? {
|
|
75
|
+
handler: tsplus_module_2.withSpan(tsplus_module_2.flatMap(fetchApi(Request.method, Request.path), mapResponseM(parseResponse)), "client.request", {
|
|
76
|
+
attributes: { "request.name": requestName }
|
|
77
|
+
}),
|
|
78
|
+
...meta
|
|
79
|
+
}
|
|
80
|
+
: {
|
|
81
|
+
handler: (req) => tsplus_module_2.withSpan(tsplus_module_2.flatMap(fetchApi(Request.method, makePathWithQuery(path, tsplus_module_4.encodeSync(Request)(req))), mapResponseM(parseResponse)), "client.request", {
|
|
82
|
+
attributes: { "request.name": requestName }
|
|
83
|
+
}),
|
|
84
|
+
...meta,
|
|
85
|
+
mapPath: (req) => req ? makePathWithQuery(path, tsplus_module_4.encodeSync(Request)(req)) : Request.path
|
|
86
|
+
}
|
|
87
|
+
: fields.length === 0
|
|
88
|
+
? {
|
|
89
|
+
handler: tsplus_module_2.withSpan(fetchApi3S(b)({}), "client.request", {
|
|
90
|
+
attributes: { "request.name": requestName }
|
|
91
|
+
}),
|
|
92
|
+
...meta
|
|
93
|
+
}
|
|
94
|
+
: {
|
|
95
|
+
handler: (req) => tsplus_module_2.withSpan(fetchApi3S(b)(req), "client.request", {
|
|
96
|
+
attributes: { "request.name": requestName }
|
|
97
|
+
}),
|
|
98
|
+
...meta,
|
|
99
|
+
mapPath: (req) => req
|
|
100
|
+
? Request.method === "DELETE"
|
|
101
|
+
? makePathWithQuery(path, tsplus_module_4.encodeSync(Request)(req))
|
|
102
|
+
: makePathWithBody(path, tsplus_module_4.encodeSync(Request)(req))
|
|
103
|
+
: Request.path
|
|
104
|
+
};
|
|
105
|
+
// generate handler
|
|
106
|
+
// @ts-expect-error doc
|
|
107
|
+
prev[`${actionName}E`] = Request.method === "GET"
|
|
108
|
+
? fields.length === 0
|
|
109
|
+
? {
|
|
110
|
+
handler: tsplus_module_2.withSpan(tsplus_module_2.flatMap(fetchApi(Request.method, Request.path), mapResponseM(parseResponseE)), "client.request", {
|
|
111
|
+
attributes: { "request.name": requestName }
|
|
112
|
+
}),
|
|
113
|
+
...meta
|
|
114
|
+
}
|
|
115
|
+
: {
|
|
116
|
+
handler: (req) => tsplus_module_2.withSpan(tsplus_module_2.flatMap(fetchApi(Request.method, makePathWithQuery(path, tsplus_module_4.encodeSync(Request)(req))), mapResponseM(parseResponseE)), "client.request", {
|
|
117
|
+
attributes: { "request.name": requestName }
|
|
118
|
+
}),
|
|
119
|
+
...meta,
|
|
120
|
+
mapPath: (req) => req ? makePathWithQuery(path, tsplus_module_4.encodeSync(Request)(req)) : Request.path
|
|
121
|
+
}
|
|
122
|
+
: fields.length === 0
|
|
123
|
+
? {
|
|
124
|
+
handler: tsplus_module_2.withSpan(fetchApi3SE(b)({}), "client.request", {
|
|
125
|
+
attributes: { "request.name": requestName }
|
|
126
|
+
}),
|
|
127
|
+
...meta
|
|
128
|
+
}
|
|
129
|
+
: {
|
|
130
|
+
handler: (req) => tsplus_module_2.withSpan(fetchApi3SE(b)(req), "client.request", {
|
|
131
|
+
attributes: { "request.name": requestName }
|
|
132
|
+
}),
|
|
133
|
+
...meta,
|
|
134
|
+
mapPath: (req) => req
|
|
135
|
+
? Request.method === "DELETE"
|
|
136
|
+
? makePathWithQuery(path, tsplus_module_4.encodeSync(Request)(req))
|
|
137
|
+
: makePathWithBody(path, tsplus_module_4.encodeSync(Request)(req))
|
|
138
|
+
: Request.path
|
|
139
|
+
};
|
|
140
|
+
// generate handler
|
|
141
|
+
return prev;
|
|
142
|
+
}, {}));
|
|
143
|
+
}
|
|
144
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50Rm9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9jbGllbnQvY2xpZW50Rm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLDBEQUEwRDtBQUMxRCx1REFBdUQ7QUFFdkQsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sS0FBSyxLQUFLLE1BQU0sa0JBQWtCLENBQUE7QUFDekMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUlsQyxPQUFPLEVBQ0wsUUFBUSxFQUNSLFVBQVUsRUFDVixXQUFXLEVBQ1gsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixZQUFZLEVBQ1osYUFBYSxFQUNkLE1BQU0sWUFBWSxDQUFBO0FBRW5CLGNBQWMsYUFBYSxDQUFBO0FBVTNCLE1BQU0sS0FBSyxHQUFHLElBQUksR0FBRyxFQUFvQixDQUFBO0FBY3pDLE1BQU0sVUFBVSxTQUFTLENBQ3ZCLE1BQVM7SUFFVCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFBO0lBQy9CLElBQUksS0FBSyxFQUFFLENBQUM7UUFDVixPQUFPLEtBQUssQ0FBQTtJQUNkLENBQUM7SUFDRCxNQUFNLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDNUIsS0FBSyxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUE7SUFDcEIsT0FBTyxDQUFDLENBQUE7QUFDVixDQUFDO0FBRUQsU0FBUyxVQUFVLENBQXFCLE1BQVM7SUFDL0MsT0FBTyxDQUFDLG1EQUFBLE1BQU0sR0FJWCxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxTQUFTLElBQUksQ0FBQyxLQUFLLE1BQU0sQ0FBQztTQUM5QyxNQUFNLENBQUMsQ0FBQyxJQUFJLEVBQUUsR0FBRyxFQUFFLEVBQUU7O1FBQ3BC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
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { Option } from "@effect-app/core/Option";
|
|
2
|
+
import { HashMap } from "effect/HashMap";
|
|
3
|
+
import { Effect } from "effect/Effect";
|
|
4
|
+
export interface ApiConfig {
|
|
5
|
+
apiUrl: string;
|
|
6
|
+
headers: Option<HashMap<string, string>>;
|
|
7
|
+
}
|
|
8
|
+
export declare const layer: (config: ApiConfig) => import("effect/Layer").Layer<ApiConfig, never, never>;
|
|
9
|
+
export declare const ApiConfig: {
|
|
10
|
+
Tag: import("effect/Context").Tag<ApiConfig, ApiConfig>;
|
|
11
|
+
layer: (config: ApiConfig) => import("effect/Layer").Layer<ApiConfig, never, never>;
|
|
12
|
+
};
|
|
13
|
+
export declare const getConfig: <R, E, A>(self: (cfg: ApiConfig) => Effect<A, E, R>) => import("effect/Effect").Effect<A, E, ApiConfig | R>;
|
|
14
|
+
//# sourceMappingURL=config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../_src/client/config.ts"],"names":[],"mappings":";;;AAAA,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,MAAM,CAAA;IACd,OAAO,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;CACzC;AAGD,eAAO,MAAM,KAAK,WAAY,SAAS,0DAA0B,CAAA;AACjE,eAAO,MAAM,SAAS;;oBADQ,SAAS;CAItC,CAAA;AAED,eAAO,MAAM,SAAS,wBAAyB,SAAS,KAAK,OAAO,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,wDAAsB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import * as tsplus_module_1 from "effect/Context";
|
|
2
|
+
import * as tsplus_module_2 from "@effect-app/core/Tag";
|
|
3
|
+
import * as tsplus_module_3 from "effect/Effect";
|
|
4
|
+
const tag = tsplus_module_1.GenericTag("@services/tag");
|
|
5
|
+
export const layer = (config) => tsplus_module_2.makeLayer(tag, config);
|
|
6
|
+
export const ApiConfig = {
|
|
7
|
+
Tag: tag,
|
|
8
|
+
layer
|
|
9
|
+
};
|
|
10
|
+
export const getConfig = (self) => tsplus_module_3.flatMap(tag, self);
|
|
11
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vX3NyYy9jbGllbnQvY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUtBLE1BQU0sR0FBRyxHQUFHLGdCQUFBLFVBQVUsQ0FBWSxlQUFlLENBQUMsQ0FBQTtBQUNsRCxNQUFNLENBQUMsTUFBTSxLQUFLLEdBQUcsQ0FBQyxNQUFpQixFQUFFLEVBQUUsQ0FBQywwQkFBQSxHQUFHLEVBQVcsTUFBTSxDQUFDLENBQUE7QUFDakUsTUFBTSxDQUFDLE1BQU0sU0FBUyxHQUFHO0lBQ3ZCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSztDQUNOLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBVSxJQUF5QyxFQUFFLEVBQUUsQ0FBQyx3QkFBQSxHQUFHLEVBQVMsSUFBSSxDQUFDLENBQUEifQ==
|