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.
Files changed (169) hide show
  1. package/.eslintrc.cjs +11 -0
  2. package/.prettierignore +6 -0
  3. package/CHANGELOG.md +4106 -0
  4. package/_cjs/Config/SecretURL.cjs +58 -0
  5. package/_cjs/Config/SecretURL.cjs.map +1 -0
  6. package/_cjs/Config/internal/configSecretURL.cjs +88 -0
  7. package/_cjs/Config/internal/configSecretURL.cjs.map +1 -0
  8. package/_cjs/Inputify.type.cjs +6 -0
  9. package/_cjs/Inputify.type.cjs.map +1 -0
  10. package/_cjs/Operations.cjs +76 -0
  11. package/_cjs/Operations.cjs.map +1 -0
  12. package/_cjs/Pure.cjs +201 -0
  13. package/_cjs/Pure.cjs.map +1 -0
  14. package/_cjs/Request.cjs +76 -0
  15. package/_cjs/Request.cjs.map +1 -0
  16. package/_cjs/Widen.type.cjs +6 -0
  17. package/_cjs/Widen.type.cjs.map +1 -0
  18. package/_cjs/_ext/date.cjs +64 -0
  19. package/_cjs/_ext/date.cjs.map +1 -0
  20. package/_cjs/_ext/misc.cjs +121 -0
  21. package/_cjs/_ext/misc.cjs.map +1 -0
  22. package/_cjs/_global.cjs +24 -0
  23. package/_cjs/_global.cjs.map +1 -0
  24. package/_cjs/_global.ext.cjs +5 -0
  25. package/_cjs/_global.ext.cjs.map +1 -0
  26. package/_cjs/_global.schema.cjs +4 -0
  27. package/_cjs/_global.schema.cjs.map +1 -0
  28. package/_cjs/client/QueryResult.cjs +116 -0
  29. package/_cjs/client/QueryResult.cjs.map +1 -0
  30. package/_cjs/client/clientFor.cjs +159 -0
  31. package/_cjs/client/clientFor.cjs.map +1 -0
  32. package/_cjs/client/config.cjs +21 -0
  33. package/_cjs/client/config.cjs.map +1 -0
  34. package/_cjs/client/errors.cjs +116 -0
  35. package/_cjs/client/errors.cjs.map +1 -0
  36. package/_cjs/client/fetch.cjs +178 -0
  37. package/_cjs/client/fetch.cjs.map +1 -0
  38. package/_cjs/client.cjs +61 -0
  39. package/_cjs/client.cjs.map +1 -0
  40. package/_cjs/faker.cjs +31 -0
  41. package/_cjs/faker.cjs.map +1 -0
  42. package/_cjs/ids.cjs +24 -0
  43. package/_cjs/ids.cjs.map +1 -0
  44. package/_cjs/index.cjs +27 -0
  45. package/_cjs/index.cjs.map +1 -0
  46. package/_cjs/refinements.cjs +97 -0
  47. package/_cjs/refinements.cjs.map +1 -0
  48. package/_cjs/schema.cjs +50 -0
  49. package/_cjs/schema.cjs.map +1 -0
  50. package/_cjs/schema.test.cjs +9 -0
  51. package/_cjs/schema.test.cjs.map +1 -0
  52. package/_cjs/service.cjs +97 -0
  53. package/_cjs/service.cjs.map +1 -0
  54. package/_cjs/utils.cjs +17 -0
  55. package/_cjs/utils.cjs.map +1 -0
  56. package/_src/Config/SecretURL.ts +103 -0
  57. package/_src/Config/internal/configSecretURL.ts +85 -0
  58. package/_src/Inputify.type.ts +13 -0
  59. package/_src/Operations.ts +70 -0
  60. package/_src/Pure.ts +525 -0
  61. package/_src/Request.ts +106 -0
  62. package/_src/Widen.type.ts +28 -0
  63. package/_src/_ext/date.ts +84 -0
  64. package/_src/_ext/misc.ts +161 -0
  65. package/_src/_global/stm.ts.bak +35 -0
  66. package/_src/_global.ext.ts +3 -0
  67. package/_src/_global.schema.ts +106 -0
  68. package/_src/_global.ts +119 -0
  69. package/_src/client/QueryResult.ts +120 -0
  70. package/_src/client/clientFor.ts +260 -0
  71. package/_src/client/config.ts +13 -0
  72. package/_src/client/errors.ts +129 -0
  73. package/_src/client/fetch.ts +253 -0
  74. package/_src/client.ts +7 -0
  75. package/_src/faker.ts +32 -0
  76. package/_src/ids.ts +35 -0
  77. package/_src/index.ts +4 -0
  78. package/_src/refinements.ts +92 -0
  79. package/_src/schema/_schema.ts.bak +208 -0
  80. package/_src/schema/api/date.ts.bak +78 -0
  81. package/_src/schema/api.ts.bak +20 -0
  82. package/_src/schema/overrides.ts.bak +76 -0
  83. package/_src/schema/shared.ts.bak +334 -0
  84. package/_src/schema.test.ts +3 -0
  85. package/_src/schema.ts +37 -0
  86. package/_src/service.ts +119 -0
  87. package/_src/utils.ts +1 -0
  88. package/dist/Config/SecretURL.d.ts +82 -0
  89. package/dist/Config/SecretURL.d.ts.map +1 -0
  90. package/dist/Config/SecretURL.js +49 -0
  91. package/dist/Config/internal/configSecretURL.d.ts +24 -0
  92. package/dist/Config/internal/configSecretURL.d.ts.map +1 -0
  93. package/dist/Config/internal/configSecretURL.js +75 -0
  94. package/dist/Inputify.type.d.ts +10 -0
  95. package/dist/Inputify.type.d.ts.map +1 -0
  96. package/dist/Inputify.type.js +2 -0
  97. package/dist/Operations.d.ts +170 -0
  98. package/dist/Operations.d.ts.map +1 -0
  99. package/dist/Operations.js +87 -0
  100. package/dist/Pure.d.ts +169 -0
  101. package/dist/Pure.d.ts.map +1 -0
  102. package/dist/Pure.js +167 -0
  103. package/dist/Request.d.ts +49 -0
  104. package/dist/Request.d.ts.map +1 -0
  105. package/dist/Request.js +58 -0
  106. package/dist/Widen.type.d.ts +19 -0
  107. package/dist/Widen.type.d.ts.map +1 -0
  108. package/dist/Widen.type.js +2 -0
  109. package/dist/_ext/date.d.ts +71 -0
  110. package/dist/_ext/date.d.ts.map +1 -0
  111. package/dist/_ext/date.js +58 -0
  112. package/dist/_ext/misc.d.ts +77 -0
  113. package/dist/_ext/misc.d.ts.map +1 -0
  114. package/dist/_ext/misc.js +98 -0
  115. package/dist/_global.d.ts +70 -0
  116. package/dist/_global.d.ts.map +1 -0
  117. package/dist/_global.ext.d.ts +3 -0
  118. package/dist/_global.ext.d.ts.map +1 -0
  119. package/dist/_global.ext.js +4 -0
  120. package/dist/_global.js +76 -0
  121. package/dist/_global.schema.d.ts +6 -0
  122. package/dist/_global.schema.d.ts.map +1 -0
  123. package/dist/_global.schema.js +6 -0
  124. package/dist/client/QueryResult.d.ts +85 -0
  125. package/dist/client/QueryResult.d.ts.map +1 -0
  126. package/dist/client/QueryResult.js +85 -0
  127. package/dist/client/clientFor.d.ts +44 -0
  128. package/dist/client/clientFor.d.ts.map +1 -0
  129. package/dist/client/clientFor.js +144 -0
  130. package/dist/client/config.d.ts +14 -0
  131. package/dist/client/config.d.ts.map +1 -0
  132. package/dist/client/config.js +11 -0
  133. package/dist/client/errors.d.ts +206 -0
  134. package/dist/client/errors.d.ts.map +1 -0
  135. package/dist/client/errors.js +130 -0
  136. package/dist/client/fetch.d.ts +61 -0
  137. package/dist/client/fetch.d.ts.map +1 -0
  138. package/dist/client/fetch.js +127 -0
  139. package/dist/client.d.ts +6 -0
  140. package/dist/client.d.ts.map +1 -0
  141. package/dist/client.js +7 -0
  142. package/dist/faker.d.ts +7 -0
  143. package/dist/faker.d.ts.map +1 -0
  144. package/dist/faker.js +24 -0
  145. package/dist/ids.d.ts +32 -0
  146. package/dist/ids.d.ts.map +1 -0
  147. package/dist/ids.js +17 -0
  148. package/dist/index.d.ts +4 -0
  149. package/dist/index.d.ts.map +1 -0
  150. package/dist/index.js +4 -0
  151. package/dist/refinements.d.ts +57 -0
  152. package/dist/refinements.d.ts.map +1 -0
  153. package/dist/refinements.js +85 -0
  154. package/dist/schema.d.ts +7 -0
  155. package/dist/schema.d.ts.map +1 -0
  156. package/dist/schema.js +22 -0
  157. package/dist/schema.test.d.ts.map +1 -0
  158. package/dist/service.d.ts +47 -0
  159. package/dist/service.d.ts.map +1 -0
  160. package/dist/service.js +83 -0
  161. package/dist/utils.d.ts +2 -0
  162. package/dist/utils.d.ts.map +1 -0
  163. package/dist/utils.js +2 -0
  164. package/package.json +315 -0
  165. package/tsconfig.json +114 -0
  166. package/tsconfig.json.bak +47 -0
  167. package/tsplus.config.json +7 -0
  168. package/vitest.config.ts +5 -0
  169. package/wallaby.cjs +1 -0
package/dist/Pure.js ADDED
@@ -0,0 +1,167 @@
1
+ import * as tsplus_module_1 from "effect/Chunk";
2
+ import * as tsplus_module_2 from "effect/Effect";
3
+ import * as tsplus_module_3 from "effect/Context";
4
+ import * as tsplus_module_4 from "@effect-app/core/Array";
5
+ import * as tsplus_module_5 from "@effect-app/core/Function";
6
+ import * as tsplus_module_6 from "@effect-app/core/Tag";
7
+ import * as tsplus_module_7 from "@effect-app/core/Chunk";
8
+ export const GMUA_ = GMUA_1;
9
+ export const GMU_ = GMU_1;
10
+ export const log = log_1;
11
+ export const runAll = runAll_1;
12
+ export const runTerm = runTerm_1;
13
+ export const modify = modify_1;
14
+ export const modifyM = modifyM_1;
15
+ /* eslint-disable @typescript-eslint/no-explicit-any */
16
+ import * as Either from "effect/Either";
17
+ const S1 = Symbol();
18
+ const S2 = Symbol();
19
+ const W = Symbol();
20
+ class PureEnvBase {
21
+ constructor(s) {
22
+ this.state = s;
23
+ this.log = tsplus_module_1.empty();
24
+ }
25
+ }
26
+ export function makePureEnv(s) {
27
+ return new PureEnvBase(s);
28
+ }
29
+ /**
30
+ * @tsplus unify PureEnv
31
+ */
32
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
33
+ export function unifyPureEnv(self) {
34
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-return
35
+ return self;
36
+ }
37
+ // type dsl<W, S, S2> = ProgramDSL<W, S, S2>
38
+ /**
39
+ * @tsplus static Pure.Ops GMUA_
40
+ */
41
+ function GMUA_1(get, modify, update) {
42
+ return tsplus_module_2.flatMap(tsplus_module_2.flatMap(get, modify), ([s, a]) => tsplus_module_2.map(update(s), () => a));
43
+ }
44
+ /**
45
+ * @tsplus static Pure.Ops GMUA
46
+ */
47
+ export function GMUA(modify) {
48
+ return (get, update) => GMUA_1(get, modify, update);
49
+ }
50
+ /**
51
+ * @tsplus static Pure.Ops GMU_
52
+ */
53
+ function GMU_1(get, modify, update) {
54
+ return tsplus_module_2.flatMap(tsplus_module_2.flatMap(get, modify), update);
55
+ }
56
+ /**
57
+ * @tsplus static Pure.Ops GMU
58
+ */
59
+ export function GMU(modify) {
60
+ return (get, update) => GMU_1(get, modify, update);
61
+ }
62
+ const tagg = tsplus_module_3.GenericTag("@services/tagg");
63
+ function castTag() {
64
+ return tagg;
65
+ }
66
+ export const PureEnvEnv = Symbol();
67
+ /**
68
+ * @tsplus static Pure.Ops get
69
+ */
70
+ export function get() {
71
+ return tsplus_module_2.map(castTag(), (_) => _.env.state);
72
+ }
73
+ /**
74
+ * @tsplus static Pure.Ops set
75
+ */
76
+ export function set(s) {
77
+ return tsplus_module_2.map(castTag(), (_) => _.env.state = s);
78
+ }
79
+ /**
80
+ * @tsplus static Pure.Ops log
81
+ */
82
+ function log_1(w) {
83
+ return tsplus_module_2.map(castTag(), (_) => _.env.log = tsplus_module_1.append(_.env.log, w));
84
+ }
85
+ /**
86
+ * @tsplus static Pure.Ops logMany
87
+ */
88
+ export function logMany(w) {
89
+ return tsplus_module_2.map(castTag(), (_) => _.env.log = tsplus_module_1.appendAll(_.env.log, tsplus_module_4.ext_itToChunk(w)));
90
+ }
91
+ /**
92
+ * @tsplus static Pure.Ops runAll
93
+ * @tsplus fluent effect/io/Effect runAll
94
+ */
95
+ function runAll_1(self, s) {
96
+ const a = tsplus_module_2.catchAll(tsplus_module_2.flatMap(self, (x) => tsplus_module_2.map(tsplus_module_2.flatMap(castTag(), ({ env: _ }) => tsplus_module_2.sync(() => ({ log: _.log, state: _.state })) // Ref.get(_.log).flatMap(log => Ref.get(_.state).map(state => ({ log, state })))
97
+ ), ({ log, state }) => tsplus_module_5.tuple(log, Either.right(tsplus_module_5.tuple(state, x))))), (err) => tsplus_module_2.map(tagg, (env) => tsplus_module_5.tuple(env.env.log, Either.left(err))));
98
+ return tsplus_module_2.provide(a, tsplus_module_6.makeLayer(tagg, { env: makePureEnv(s) }));
99
+ }
100
+ /**
101
+ * @tsplus static Pure.Ops runResult
102
+ * @tsplus fluent effect/io/Effect runResult
103
+ */
104
+ export function runResult(self, s) {
105
+ return tsplus_module_2.map(runAll_1(self, s), ([log, r]) => tsplus_module_5.tuple(log, r.map(([s]) => s)));
106
+ }
107
+ /**
108
+ * @tsplus static Pure.Ops runTerm
109
+ * @tsplus fluent effect/io/Effect runTerm
110
+ */
111
+ function runTerm_1(self, s) {
112
+ return tsplus_module_2.flatMap(runAll_1(self, s), ([evts, r]) => r
113
+ .map(([s3, a]) => tsplus_module_5.tuple(s3, tsplus_module_7.toArray(evts), a)));
114
+ }
115
+ /**
116
+ * @tsplus static Pure.Ops runTermDiscard
117
+ * @tsplus fluent effect/io/Effect runTermDiscard
118
+ */
119
+ export function runTermDiscard(self, s) {
120
+ return tsplus_module_2.map(runTerm_1(self, s), ([s3, w3]) => tsplus_module_5.tuple(s3, w3));
121
+ }
122
+ /**
123
+ * @tsplus static Pure.Ops runA
124
+ * @tsplus fluent effect/io/Effect runA
125
+ */
126
+ export function runA(self, s) {
127
+ return tsplus_module_2.map(runAll_1(self, s), ([log, r]) => tsplus_module_5.tuple(log, r.map(([, a]) => a)));
128
+ }
129
+ /**
130
+ * @tsplus static Pure.Ops modifyWith
131
+ */
132
+ function modify_1(mod) {
133
+ return tsplus_module_2.map(castTag(), (_) => tsplus_module_2.map(tsplus_module_2.sync(() => mod(_.env.state)), ([s, a]) => {
134
+ _.env.state = s;
135
+ return a;
136
+ }));
137
+ }
138
+ /**
139
+ * @tsplus static Pure.Ops modifyWithEffect
140
+ */
141
+ function modifyM_1(mod) {
142
+ // return serviceWithEffect(_ => Ref.modifyM_(_.state, mod))
143
+ return tsplus_module_2.flatMap(castTag(), (_) => tsplus_module_2.map(mod(_.env.state), ([s, a]) => tsplus_module_2.map(tsplus_module_2.sync(() => _.env.state = s), () => a)));
144
+ }
145
+ /**
146
+ * @tsplus static Pure.Ops updateWith
147
+ */
148
+ export function update(upd) {
149
+ return modify_1((_) => {
150
+ const r = upd(_);
151
+ return tsplus_module_5.tuple(r, r);
152
+ });
153
+ }
154
+ /**
155
+ * @tsplus static Pure.Ops updateWithEffect
156
+ */
157
+ export function updateM(upd) {
158
+ return modifyM_1((_) => tsplus_module_2.map(upd(_, log_1), (_) => tsplus_module_5.tuple(_, _)));
159
+ }
160
+ // /**
161
+ // * @tsplus type Pure.Ops
162
+ // */
163
+ // export interface PureAspects {}
164
+ export const Pure = {
165
+ // $: {}
166
+ };
167
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHVyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvUHVyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O2FBMkVnQixLQUFLO2FBc0JMLElBQUk7YUErQ0osR0FBRzthQWVILE1BQU07YUFzQ04sT0FBTzthQW9DUCxNQUFNO2FBYU4sT0FBTztBQXRQdkIsdURBQXVEO0FBQ3ZELE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBR3ZDLE1BQU0sRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFBO0FBQ25CLE1BQU0sRUFBRSxHQUFHLE1BQU0sRUFBRSxDQUFBO0FBQ25CLE1BQU0sQ0FBQyxHQUFHLE1BQU0sRUFBRSxDQUFBO0FBMkJsQixNQUFNLFdBQVc7SUFPZixZQUFZLENBQUs7UUFDZixJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsQ0FBQTtRQUNkLElBQUksQ0FBQyxHQUFHLEdBQUcsdUJBQWdCLENBQUE7SUFDN0IsQ0FBQztDQUNGO0FBRUQsTUFBTSxVQUFVLFdBQVcsQ0FBZSxDQUFLO0lBQzdDLE9BQU8sSUFBSSxXQUFXLENBQVcsQ0FBQyxDQUFDLENBQUE7QUFDckMsQ0FBQztBQUVEOztHQUVHO0FBQ0gsOERBQThEO0FBQzlELE1BQU0sVUFBVSxZQUFZLENBQzFCLElBQU87SUFNUCwrREFBK0Q7SUFDL0QsT0FBTyxJQUFJLENBQUE7QUFDYixDQUFDO0FBT0QsNENBQTRDO0FBRTVDOztHQUVHO0FBQ0gsZ0JBQ0UsR0FBK0IsRUFDL0IsTUFBNEQsRUFDNUQsTUFBNkM7SUFFN0MsT0FBTyx3QkFBQSx3QkFBQSxHQUFHLEVBQVMsTUFBTSxDQUFDLEVBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsb0JBQUEsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFLLEdBQUcsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDeEUsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFV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
@@ -0,0 +1,49 @@
1
+ import { HttpClient } from "effect-app/Request";
2
+ import { Schema } from "effect-app/schema";
3
+ import type { ClientResponse } from "@effect/platform/Http/ClientResponse";
4
+ import type { Headers } from "@effect/platform/Http/Headers";
5
+ export { Client as HttpClient } from "@effect/platform/Http/Client";
6
+ export { Cache as EffectCache } from "effect/Cache";
7
+ export { Request as EffectRequest } from "effect/Request";
8
+ export interface ResponseWithBody<A> extends Pick<ClientResponse, "headers" | "status" | "remoteAddress"> {
9
+ readonly body: A;
10
+ }
11
+ /**
12
+ * @tsplus getter effect/platform/Http/ClientResponse responseWithJsonBody
13
+ * @tsplus location "@effect-app/prelude/Request"
14
+ */
15
+ export declare const responseWithJsonBody: (response: ClientResponse) => import("effect/Effect").Effect<ResponseWithBody<unknown>, import("@effect/platform/Http/ClientError").ResponseError, never>;
16
+ /**
17
+ * @tsplus fluent effect/platform/Http/Client schemaJsonBody
18
+ * @tsplus location "@effect-app/prelude/Request"
19
+ */
20
+ export declare const schemaJsonBody: <R, To, From, A, B>(client: HttpClient<A, B, ClientResponse>, schema: Schema<To, From, R>) => import("@effect/platform/Http/Client").Client<R | A, import("@effect/platform/Http/ClientError").ResponseError | B | import("@effect/schema/ParseResult").ParseError, To>;
21
+ /**
22
+ * @tsplus fluent effect/platform/Http/Client schemaJsonBodyUnsafe
23
+ * @tsplus location "@effect-app/prelude/Request"
24
+ */
25
+ export declare const schemaJsonBodyUnsafe: <To, From, A, B>(client: HttpClient<A, B, ClientResponse>, schema: Schema<To, From>) => import("@effect/platform/Http/Client").Client<A, import("@effect/platform/Http/ClientError").ResponseError | B, To>;
26
+ /**
27
+ * @tsplus fluent effect/platform/Http/Client schemaJson
28
+ * @tsplus location "@effect-app/prelude/Request"
29
+ */
30
+ export declare const schemaJson: <R, From extends {
31
+ readonly status?: number;
32
+ readonly headers?: Headers;
33
+ readonly body?: unknown;
34
+ }, To, A, B>(client: HttpClient<A, B, ClientResponse>, schema: Schema<To, From, R>) => import("@effect/platform/Http/Client").Client<R | A, import("@effect/platform/Http/ClientError").ResponseError | B | import("@effect/schema/ParseResult").ParseError, To>;
35
+ /**
36
+ * @tsplus fluent effect/platform/Http/Client schemaJsonUnsafe
37
+ * @tsplus location "@effect-app/prelude/Request"
38
+ */
39
+ export declare const schemaJsonUnsafe: <R, From extends {
40
+ readonly status?: number;
41
+ readonly headers?: Headers;
42
+ readonly body?: unknown;
43
+ }, To, A, B>(client: HttpClient<A, B, ClientResponse>, schema: Schema<To, From, R>) => import("@effect/platform/Http/Client").Client<R | A, import("@effect/platform/Http/ClientError").ResponseError | B | import("@effect/schema/ParseResult").ParseError, To>;
44
+ /**
45
+ * @tsplus getter effect/platform/Http/Client demandJson
46
+ * @tsplus location "@effect-app/prelude/Request"
47
+ */
48
+ export declare const demandJson: <R, E>(client: HttpClient<R, E, ClientResponse>) => import("@effect/platform/Http/Client").Client<R, import("@effect/platform/Http/ClientError").ResponseError | E, ClientResponse>;
49
+ //# sourceMappingURL=Request.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../_src/Request.ts"],"names":[],"mappings":";;AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAA;AAC1E,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,+BAA+B,CAAA;AAG5D,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,KAAK,IAAI,WAAW,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,EAAE,OAAO,IAAI,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAEzD,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC;IACvG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CACjB;;;;;AAQD,eAAO,MAAM,oBAAoB,aACrB,cAAc,gIAOrB,CAAA;;;;;AAKL,eAAO,MAAM,cAAc,8BACjB,WAAW,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,UAChC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,8KAG5B,CAAA;;;;;AAKD,eAAO,MAAM,oBAAoB,2BACvB,WAAW,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,UAChC,OAAO,EAAE,EAAE,IAAI,CAAC,wHAGzB,CAAA;;;;;AAKD,eAAO,MAAM,UAAU;sBAGD,MAAM;uBACL,OAAO;oBACV,OAAO;qBAMjB,WAAW,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,UAChC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,8KAG5B,CAAA;;;;;AAKD,eAAO,MAAM,gBAAgB;sBAGP,MAAM;uBACL,OAAO;oBACV,OAAO;qBAMjB,WAAW,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,UAChC,OAAO,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,8KAG5B,CAAA;;;;;AAGD,eAAO,MAAM,UAAU,iBAAkB,WAAW,CAAC,EAAE,CAAC,EAAE,cAAc,CAAC,oIAcpE,CAAA"}
@@ -0,0 +1,58 @@
1
+ import * as tsplus_module_1 from "effect/Effect";
2
+ import * as tsplus_module_2 from "@effect/schema/Schema";
3
+ import * as tsplus_module_3 from "@effect/platform/Http/Client";
4
+ import * as tsplus_module_4 from "@effect/schema/Parser";
5
+ import * as tsplus_module_5 from "@effect/platform/Http/Headers";
6
+ import * as tsplus_module_6 from "@effect/platform/Http/ClientError";
7
+ import * as tsplus_module_7 from "@effect/platform/Http/ClientRequest";
8
+ // @ts-expect-error wtf
9
+ import "@effect/platform/Http/ClientError";
10
+ // there are issues with global imports with "as", so we re export here
11
+ export { Client as HttpClient } from "@effect/platform/Http/Client";
12
+ export {} from "effect/Cache";
13
+ export {} from "effect/Request";
14
+ // TODO: consider rebuilding the text/json helpers to use a cached effect
15
+ // https://discord.com/channels/795981131316985866/1098177242598756412/1168565257569046712
16
+ /**
17
+ * @tsplus getter effect/platform/Http/ClientResponse responseWithJsonBody
18
+ */
19
+ const responseWithJsonBody_1 = (response) => tsplus_module_1.map(response.json, (body) => ({
20
+ body,
21
+ headers: response.headers,
22
+ status: response.status,
23
+ remoteAddress: response.remoteAddress
24
+ }));
25
+ export const responseWithJsonBody = responseWithJsonBody_1;
26
+ /**
27
+ * @tsplus fluent effect/platform/Http/Client schemaJsonBody
28
+ */
29
+ export const schemaJsonBody = (client, schema) => {
30
+ return tsplus_module_3.mapEffect(client, (_) => tsplus_module_1.flatMap(_.json, tsplus_module_2.decodeUnknown(schema)));
31
+ };
32
+ /**
33
+ * @tsplus fluent effect/platform/Http/Client schemaJsonBodyUnsafe
34
+ */
35
+ export const schemaJsonBodyUnsafe = (client, schema) => {
36
+ return tsplus_module_3.mapEffect(client, (_) => tsplus_module_1.map(_.json, tsplus_module_4.decodeUnknownSync(schema)));
37
+ };
38
+ /**
39
+ * @tsplus fluent effect/platform/Http/Client schemaJson
40
+ */
41
+ export const schemaJson = (client, schema) => {
42
+ return tsplus_module_3.mapEffect(client, (_) => tsplus_module_1.flatMap(responseWithJsonBody_1(_), tsplus_module_2.decodeUnknown(schema)));
43
+ };
44
+ /**
45
+ * @tsplus fluent effect/platform/Http/Client schemaJsonUnsafe
46
+ */
47
+ export const schemaJsonUnsafe = (client, schema) => {
48
+ return tsplus_module_3.mapEffect(client, (_) => tsplus_module_1.flatMap(responseWithJsonBody_1(_), tsplus_module_2.decodeUnknown(schema)));
49
+ };
50
+ /** @tsplus getter effect/platform/Http/Client demandJson */
51
+ export const demandJson = (client) => tsplus_module_3.transform(tsplus_module_3.mapRequest(client, (_) => tsplus_module_7.acceptJson(_)), (r, request) => r.tap((response) => tsplus_module_5.get(response.headers, "Content-Type").value?.startsWith("application/json")
52
+ ? tsplus_module_1.unit : tsplus_module_1.fail(tsplus_module_6.ResponseError({
53
+ request,
54
+ response,
55
+ reason: "Decode",
56
+ error: "not json response: " + tsplus_module_5.get(response.headers, "Content-Type").value
57
+ }))));
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsdUJBQXVCO0FBQ3ZCLE9BQWdDLG1DQUFtQyxDQUFBO0FBSW5FLHVFQUF1RTtBQUN2RSxPQUFPLEVBQUUsTUFBTSxJQUFJLFVBQVUsRUFBRSxNQUFNLDhCQUE4QixDQUFBO0FBQ25FLE9BQU8sRUFBd0IsTUFBTSxjQUFjLENBQUE7QUFDbkQsT0FBTyxFQUE0QixNQUFNLGdCQUFnQixDQUFBO0FBTXpELHlFQUF5RTtBQUN6RSwwRkFBMEY7QUFFMUY7O0dBRUc7QUFDSSxNQUFNLHlCQUF1QixDQUNsQyxRQUF3QixFQUN4QixFQUFFLENBQ0Ysb0JBQUEsUUFBUSxDQUFDLElBQUksRUFBSyxDQUFDLElBQUksRUFBNkIsRUFBRSxDQUFDLENBQUM7SUFDdEQsSUFBSTtJQUNKLE9BQU8sRUFBRSxRQUFRLENBQUMsT0FBTztJQUN6QixNQUFNLEVBQUUsUUFBUSxDQUFDLE1BQU07SUFDdkIsYUFBYSxFQUFFLFFBQVEsQ0FBQyxhQUFhO0NBQ3RDLENBQUMsQ0FBQyxDQUFBO2FBUlEsb0JBQW9CO0FBVWpDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLE1BQXdDLEVBQ3hDLE1BQTJCLEVBQzNCLEVBQUU7SUFDRixPQUFPLDBCQUFBLE1BQU0sRUFBVyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsd0JBQUEsQ0FBQyxDQUFDLElBQUksZ0NBQVMsTUFBTSxFQUFlLENBQUMsQ0FBQTtBQUN0RSxDQUFDLENBQUE7QUFFRDs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLE1BQXdDLEVBQ3hDLE1BQXdCLEVBQ3hCLEVBQUU7SUFDRixPQUFPLDBCQUFBLE1BQU0sRUFBVyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsb0JBQUEsQ0FBQyxDQUFDLElBQUksb0NBQUssTUFBTSxFQUFtQixDQUFDLENBQUE7QUFDdEUsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FXeEIsTUFBd0MsRUFDeEMsTUFBMkIsRUFDM0IsRUFBRTtJQUNGLE9BQU8sMEJBQUEsTUFBTSxFQUFXLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQywrQ0FBQSxDQUFDLGlDQUE4QixNQUFNLEVBQWUsQ0FBQyxDQUFBO0FBQ3RGLENBQUMsQ0FBQTtBQUVEOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FXOUIsTUFBd0MsRUFDeEMsTUFBMkIsRUFDM0IsRUFBRTtJQUNGLE9BQU8sMEJBQUEsTUFBTSxFQUFXLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQywrQ0FBQSxDQUFDLGlDQUE4QixNQUFNLEVBQWUsQ0FBQyxDQUFBO0FBQ3RGLENBQUMsQ0FBQTtBQUVELDREQUE0RDtBQUM1RCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBTyxNQUF3QyxFQUFFLEVBQUUsQ0FDM0UsMEJBQUEsMkJBQUEsTUFBTSxFQUNRLENBQUMsQ0FBQyxFQUFFLEVBQUUsNEJBQUMsQ0FBQyxDQUFXLENBQUMsRUFDckIsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDeEIsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ2pCLG9CQUFBLFFBQVEsQ0FBQyxPQUFPLEVBQUssY0FBYyxDQUFDLENBQUMsS0FBSyxFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQztJQUN4RSxDQUFDLHNCQUNELENBQUMsQ0FBQyxxQkFBWSw4QkFBOEI7SUFDMUMsT0FBTztJQUNQLFFBQVE7SUFDUixNQUFNLEVBQUUsUUFBUTtJQUNoQixLQUFLLEVBQUUscUJBQXFCLEdBQUcsb0JBQUEsUUFBUSxDQUFDLE9BQU8sRUFBSyxjQUFjLENBQUMsQ0FBQyxLQUFLO0NBQzFFLENBQUMsQ0FBQyxDQUNOLENBQ0YsQ0FBQSJ9
@@ -0,0 +1,19 @@
1
+ import type { BuiltInObject } from "@effect-app/core/utils";
2
+ type AllKeys<T> = T extends any ? keyof T : never;
3
+ type OptionalKeys<T> = T extends any ? {
4
+ [K in keyof T]-?: {} extends Pick<T, K> ? K : never;
5
+ }[keyof T] : never;
6
+ type Idx<T, K extends PropertyKey, D = never> = T extends any ? K extends keyof T ? T[K] : D : never;
7
+ type PartialKeys<T, K extends keyof T> = Omit<T, K> & Partial<Pick<T, K>> extends infer O ? {
8
+ [P in keyof O]: O[P];
9
+ } : never;
10
+ export type Primitive = boolean | string | number | bigint | symbol | undefined | null;
11
+ export type Widen<T> = [T] extends [BuiltInObject] | [Primitive] ? T : [T] extends [Array<unknown>] ? {
12
+ [K in keyof T]: Widen<T[K]>;
13
+ } : [T] extends [ReadonlyArray<unknown>] ? {
14
+ [K in keyof T]: Widen<T[K]>;
15
+ } : [T] extends [object] ? PartialKeys<{
16
+ [K in AllKeys<T>]: Widen<Idx<T, K>>;
17
+ }, Exclude<AllKeys<T>, keyof T> | OptionalKeys<T>> : T;
18
+ export {};
19
+ //# sourceMappingURL=Widen.type.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Widen.type.d.ts","sourceRoot":"","sources":["../_src/Widen.type.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAA;AAE3D,KAAK,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAAG,MAAM,CAAC,GAAG,KAAK,CAAA;AAEjD,KAAK,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,GAAG,GAChC;KAAG,CAAC,IAAI,MAAM,CAAC,CAAC,CAAC,GAAG,EAAE,SAAS,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK;CAAE,CAAC,MAAM,CAAC,CAAC,GAChE,KAAK,CAAA;AAET,KAAK,GAAG,CAAC,CAAC,EAAE,CAAC,SAAS,WAAW,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,SAAS,GAAG,GAAG,CAAC,SAAS,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GACpF,CAAC,GACD,KAAK,CAAA;AAET,KAAK,WAAW,CAAC,CAAC,EAAE,CAAC,SAAS,MAAM,CAAC,IACjC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,GACV,OAAO,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,SAAS,MAAM,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;CAAE,GAC9D,KAAK,CAAA;AAET,MAAM,MAAM,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,GAAG,IAAI,CAAA;AACtF,MAAM,MAAM,KAAK,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,GAChE,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAC9D,CAAC,CAAC,CAAC,SAAS,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,GAAG;KAAG,CAAC,IAAI,MAAM,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;CAAE,GAEtE,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,WAAW,CAChC;KAAG,CAAC,IAAI,OAAO,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;CAAE,EACvC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC,GAAG,YAAY,CAAC,CAAC,CAAC,CAC/C,GACD,CAAC,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2lkZW4udHlwZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL19zcmMvV2lkZW4udHlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
@@ -0,0 +1,71 @@
1
+ /**
2
+ * @tsplus fluent Date addDays
3
+ * @tsplus location "@effect-app/prelude/_ext/date"
4
+ */
5
+ export declare const DateAddDays: (date: Date, amount: number) => Date;
6
+ /**
7
+ * @tsplus fluent Date subDays
8
+ * @tsplus location "@effect-app/prelude/_ext/date"
9
+ */
10
+ export declare const DateSubDays: (date: Date, amount: number) => Date;
11
+ /**
12
+ * @tsplus fluent Date addHours
13
+ * @tsplus location "@effect-app/prelude/_ext/date"
14
+ */
15
+ export declare const DateAddHours: (date: Date, amount: number) => Date;
16
+ /**
17
+ * @tsplus fluent Date subHours
18
+ * @tsplus location "@effect-app/prelude/_ext/date"
19
+ */
20
+ export declare const DateSubHours: (date: Date, amount: number) => Date;
21
+ /**
22
+ * @tsplus fluent Date addMinutes
23
+ * @tsplus location "@effect-app/prelude/_ext/date"
24
+ */
25
+ export declare const DateAddMinutes: (date: Date, amount: number) => Date;
26
+ /**
27
+ * @tsplus fluent Date subMinutes
28
+ * @tsplus location "@effect-app/prelude/_ext/date"
29
+ */
30
+ export declare const DateSubMinutes: (date: Date, amount: number) => Date;
31
+ /**
32
+ * @tsplus fluent Date addSeconds
33
+ * @tsplus location "@effect-app/prelude/_ext/date"
34
+ */
35
+ export declare const DateAddSeconds: (date: Date, amount: number) => Date;
36
+ /**
37
+ * @tsplus fluent Date subSeconds
38
+ * @tsplus location "@effect-app/prelude/_ext/date"
39
+ */
40
+ export declare const DateSubSeconds: (date: Date, amount: number) => Date;
41
+ /**
42
+ * @tsplus fluent Date addYears
43
+ * @tsplus location "@effect-app/prelude/_ext/date"
44
+ */
45
+ export declare const DateAddYears: (date: Date, amount: number) => Date;
46
+ /**
47
+ * @tsplus fluent Date subYears
48
+ * @tsplus location "@effect-app/prelude/_ext/date"
49
+ */
50
+ export declare const DateSubYears: (date: Date, amount: number) => Date;
51
+ /**
52
+ * @tsplus fluent Date addMonths
53
+ * @tsplus location "@effect-app/prelude/_ext/date"
54
+ */
55
+ export declare const DateAddMonths: (date: Date, amount: number) => Date;
56
+ /**
57
+ * @tsplus fluent Date subMonths
58
+ * @tsplus location "@effect-app/prelude/_ext/date"
59
+ */
60
+ export declare const DateSubMonths: (date: Date, amount: number) => Date;
61
+ /**
62
+ * @tsplus fluent Date addWeeks
63
+ * @tsplus location "@effect-app/prelude/_ext/date"
64
+ */
65
+ export declare const DateAddWeeks: (date: Date, amount: number) => Date;
66
+ /**
67
+ * @tsplus fluent Date subWeeks
68
+ * @tsplus location "@effect-app/prelude/_ext/date"
69
+ */
70
+ export declare const DateSubWeeks: (date: Date, amount: number) => Date;
71
+ //# sourceMappingURL=date.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"date.d.ts","sourceRoot":"","sources":["../../_src/_ext/date.ts"],"names":[],"mappings":";;;;AAoBA,eAAO,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAc,CAAA;;;;;AAIxE,eAAO,MAAM,WAAW,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAc,CAAA;;;;;AAKxE,eAAO,MAAM,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAe,CAAA;;;;;AAI1E,eAAO,MAAM,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAe,CAAA;;;;;AAK1E,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAiB,CAAA;;;;;AAK9E,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAiB,CAAA;;;;;AAK9E,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAiB,CAAA;;;;;AAK9E,eAAO,MAAM,cAAc,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAiB,CAAA;;;;;AAK9E,eAAO,MAAM,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAe,CAAA;;;;;AAK1E,eAAO,MAAM,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAe,CAAA;;;;;AAK1E,eAAO,MAAM,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAgB,CAAA;;;;;AAK5E,eAAO,MAAM,aAAa,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAgB,CAAA;;;;;AAK5E,eAAO,MAAM,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAe,CAAA;;;;;AAK1E,eAAO,MAAM,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,KAAK,IAAe,CAAA"}
@@ -0,0 +1,58 @@
1
+ import { addDays, addHours, addMinutes, addMonths, addSeconds, addWeeks, addYears, subDays, subHours, subMinutes, subMonths, subSeconds, subWeeks, subYears } from "date-fns";
2
+ /**
3
+ * @tsplus fluent Date addDays
4
+ */
5
+ export const DateAddDays = addDays;
6
+ /**
7
+ * @tsplus fluent Date subDays
8
+ */
9
+ export const DateSubDays = subDays;
10
+ /**
11
+ * @tsplus fluent Date addHours
12
+ */
13
+ export const DateAddHours = addHours;
14
+ /**
15
+ * @tsplus fluent Date subHours
16
+ */
17
+ export const DateSubHours = subHours;
18
+ /**
19
+ * @tsplus fluent Date addMinutes
20
+ */
21
+ export const DateAddMinutes = addMinutes;
22
+ /**
23
+ * @tsplus fluent Date subMinutes
24
+ */
25
+ export const DateSubMinutes = subMinutes;
26
+ /**
27
+ * @tsplus fluent Date addSeconds
28
+ */
29
+ export const DateAddSeconds = addSeconds;
30
+ /**
31
+ * @tsplus fluent Date subSeconds
32
+ */
33
+ export const DateSubSeconds = subSeconds;
34
+ /**
35
+ * @tsplus fluent Date addYears
36
+ */
37
+ export const DateAddYears = addYears;
38
+ /**
39
+ * @tsplus fluent Date subYears
40
+ */
41
+ export const DateSubYears = subYears;
42
+ /**
43
+ * @tsplus fluent Date addMonths
44
+ */
45
+ export const DateAddMonths = addMonths;
46
+ /**
47
+ * @tsplus fluent Date subMonths
48
+ */
49
+ export const DateSubMonths = subMonths;
50
+ /**
51
+ * @tsplus fluent Date addWeeks
52
+ */
53
+ export const DateAddWeeks = addWeeks;
54
+ /**
55
+ * @tsplus fluent Date subWeeks
56
+ */
57
+ export const DateSubWeeks = subWeeks;
58
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvX2V4dC9kYXRlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxPQUFPLEVBQ1AsUUFBUSxFQUNSLFVBQVUsRUFDVixTQUFTLEVBQ1QsVUFBVSxFQUNWLFFBQVEsRUFDUixRQUFRLEVBQ1IsT0FBTyxFQUNQLFFBQVEsRUFDUixVQUFVLEVBQ1YsU0FBUyxFQUNULFVBQVUsRUFDVixRQUFRLEVBQ1IsUUFBUSxFQUNULE1BQU0sVUFBVSxDQUFBO0FBRWpCOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUF5QyxPQUFPLENBQUE7QUFDeEU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQXlDLE9BQU8sQ0FBQTtBQUV4RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBeUMsUUFBUSxDQUFBO0FBQzFFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUF5QyxRQUFRLENBQUE7QUFFMUU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXlDLFVBQVUsQ0FBQTtBQUU5RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBeUMsVUFBVSxDQUFBO0FBRTlFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUF5QyxVQUFVLENBQUE7QUFFOUU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQXlDLFVBQVUsQ0FBQTtBQUU5RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLFlBQVksR0FBeUMsUUFBUSxDQUFBO0FBRTFFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUF5QyxRQUFRLENBQUE7QUFFMUU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQXlDLFNBQVMsQ0FBQTtBQUU1RTs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLGFBQWEsR0FBeUMsU0FBUyxDQUFBO0FBRTVFOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUF5QyxRQUFRLENBQUE7QUFFMUU7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQXlDLFFBQVEsQ0FBQSJ9
@@ -0,0 +1,77 @@
1
+ import { Effect } from "effect/Effect";
2
+ import { LazyArg } from "@effect-app/core/Function";
3
+ import { Scope } from "effect/Scope";
4
+ import { HttpClient } from "effect-app/Request";
5
+ import { ClientRequest } from "@effect/platform/Http/ClientRequest";
6
+ import * as Either from "effect/Either";
7
+ import type { Option } from "effect/Option";
8
+ export type _R<T extends Effect<any, any, any>> = [T] extends [
9
+ Effect<any, any, infer R>
10
+ ] ? R : never;
11
+ export type _E<T extends Effect<any, any, any>> = [T] extends [
12
+ Effect<any, infer E, any>
13
+ ] ? E : never;
14
+ /**
15
+ * @tsplus fluent effect/data/Option encaseInEffect
16
+ * @tsplus location "@effect-app/prelude/_ext/misc"
17
+ */
18
+ export declare function encaseMaybeInEffect_<E, A>(o: Option<A>, onError: LazyArg<E>): Effect<A, E>;
19
+ /**
20
+ * @tsplus fluent effect/data/Option encaseInEither
21
+ * @tsplus location "@effect-app/prelude/_ext/misc"
22
+ */
23
+ export declare function encaseMaybeEither_<E, A>(o: Option<A>, onError: LazyArg<E>): Either.Either<E, A>;
24
+ /**
25
+ * @tsplus getter effect/io/Effect toNullable
26
+ * @tsplus location "@effect-app/prelude/_ext/misc"
27
+ */
28
+ export declare function toNullable<R, E, A>(self: Effect<Option<A>, E, R>): import("effect/Effect").Effect<A | null, E, R>;
29
+ /**
30
+ * @tsplus fluent effect/io/Effect scope
31
+ * @tsplus location "@effect-app/prelude/_ext/misc"
32
+ */
33
+ export declare function scope<R, E, A, R2, E2, A2>(scopedEffect: Effect<A, E, R | Scope>, effect: Effect<A2, E2, R2>): Effect<A2, E | E2, Exclude<R | R2, Scope>>;
34
+ /**
35
+ * @tsplus fluent effect/io/Effect flatMapScoped
36
+ * @tsplus location "@effect-app/prelude/_ext/misc"
37
+ */
38
+ export declare function flatMapScoped<R, E, A, R2, E2, A2>(scopedEffect: Effect<A, E, R | Scope>, effect: (a: A) => Effect<A2, E2, R2>): Effect<A2, E | E2, Exclude<R | R2, Scope>>;
39
+ /**
40
+ * Recovers from all errors.
41
+ * @tsplus static effect/io/Effect.Ops catchAllMap
42
+ * @tsplus pipeable effect/io/Effect catchAllMap
43
+ * @tsplus location "@effect-app/prelude/_ext/misc"
44
+ */
45
+ export declare function catchAllMap<E, A2>(f: (e: E) => A2): <R, A>(self: Effect<A, E, R>) => Effect<A2 | A, never, R>;
46
+ /**
47
+ * Annotates each log in this effect with the specified log annotations.
48
+ * @tsplus static effect/io/Effect.Ops annotateLogs
49
+ * @tsplus location "@effect-app/prelude/_ext/misc"
50
+ */
51
+ export declare function annotateLogs(kvps: Record<string, string>): <R, E, A>(effect: Effect<A, E, R>) => Effect<A, E, R>;
52
+ /**
53
+ * Annotates each log in this scope with the specified log annotation.
54
+ * @tsplus static effect/io/Effect.Ops annotateLogscoped
55
+ * @tsplus location "@effect-app/prelude/_ext/misc"
56
+ */
57
+ export declare function annotateLogscoped(key: string, value: string): import("effect/Effect").Effect<void, never, import("effect/Scope").Scope>;
58
+ /**
59
+ * Annotates each log in this scope with the specified log annotations.
60
+ * @tsplus static effect/io/Effect.Ops annotateLogsScoped
61
+ * @tsplus location "@effect-app/prelude/_ext/misc"
62
+ */
63
+ export declare function annotateLogsScoped(kvps: Record<string, string>): import("effect/Effect").Effect<void, never, import("effect/Scope").Scope>;
64
+ /**
65
+ * @tsplus fluent function flow
66
+ * @tsplus location "@effect-app/prelude/_ext/misc"
67
+ */
68
+ export declare function flow<Args extends readonly any[], B, C>(f: (...args: Args) => B, g: (b: B) => C): (...args: Args) => C;
69
+ /**
70
+ * @tsplus fluent effect/platform/Http/Client request
71
+ * @tsplus location "@effect-app/prelude/_ext/misc"
72
+ */
73
+ export declare const client: {
74
+ <A, B, C, R, E>(client: HttpClient<A, B, C>, req: Effect<ClientRequest, E, R>): Effect<C, B | E, A | R>;
75
+ <A, B, C>(client: HttpClient<A, B, C>, req: ClientRequest): Effect<C, B, A>;
76
+ };
77
+ //# sourceMappingURL=misc.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"misc.d.ts","sourceRoot":"","sources":["../../_src/_ext/misc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,98 @@
1
+ import * as tsplus_module_1 from "effect/Effect";
2
+ import * as tsplus_module_2 from "effect/Option";
3
+ import * as tsplus_module_3 from "@effect-app/core/utils";
4
+ import * as tsplus_module_4 from "effect/HashMap";
5
+ import * as tsplus_module_5 from "effect/FiberRef";
6
+ import * as tsplus_module_6 from "@effect-app/core/Function";
7
+ import * as Either from "effect/Either";
8
+ /**
9
+ * @tsplus fluent effect/data/Option encaseInEffect
10
+ */
11
+ export function encaseMaybeInEffect_(o, onError) {
12
+ return tsplus_module_2.match(o, { onNone: () => tsplus_module_1.fail(onError()), onSome: tsplus_module_1.succeed });
13
+ }
14
+ /**
15
+ * @tsplus fluent effect/data/Option encaseInEither
16
+ */
17
+ export function encaseMaybeEither_(o, onError) {
18
+ return tsplus_module_2.match(o, { onNone: () => Either.left(onError()), onSome: Either.right });
19
+ }
20
+ /**
21
+ * @tsplus getter effect/io/Effect toNullable
22
+ */
23
+ export function toNullable(self) {
24
+ return tsplus_module_1.map(self, (_) => tsplus_module_2.getOrNull(_));
25
+ }
26
+ /**
27
+ * @tsplus fluent effect/io/Effect scope
28
+ */
29
+ export function scope(scopedEffect, effect) {
30
+ return tsplus_module_1.scoped(tsplus_module_1.zipRight(scopedEffect, effect));
31
+ }
32
+ /**
33
+ * @tsplus fluent effect/io/Effect flatMapScoped
34
+ */
35
+ export function flatMapScoped(scopedEffect, effect) {
36
+ return tsplus_module_1.scoped(tsplus_module_1.flatMap(scopedEffect, effect));
37
+ }
38
+ // /**
39
+ // * @tsplus fluent effect/io/Effect withScoped
40
+ // */
41
+ // export function withScoped<R, E, A, R2, E2, A2>(
42
+ // effect: Effect<R2, E2, A2>,
43
+ // scopedEffect: Effect<R | Scope, E, A>
44
+ // ): Effect<Exclude<R | R2, Scope>, E | E2, A2> {
45
+ // return scopedEffect.zipRight(effect).scoped
46
+ // }
47
+ // /**
48
+ // * @tsplus fluent effect/io/Effect withScoped
49
+ // */
50
+ // export function withScopedFlatMap<R, E, A, R2, E2, A2>(
51
+ // effect: (a: A) => Effect<R2, E2, A2>,
52
+ // scopedEffect: Effect<R | Scope, E, A>
53
+ // ): Effect<Exclude<R | R2, Scope>, E | E2, A2> {
54
+ // return scopedEffect.flatMap(effect).scoped
55
+ // }
56
+ /**
57
+ * Recovers from all errors.
58
+ *
59
+ * @tsplus static effect/io/Effect.Ops catchAllMap
60
+ * @tsplus pipeable effect/io/Effect catchAllMap
61
+ */
62
+ export function catchAllMap(f) {
63
+ return (self) => tsplus_module_1.catchAll(self, (err) => tsplus_module_1.sync(() => f(err)));
64
+ }
65
+ /**
66
+ * Annotates each log in this effect with the specified log annotations.
67
+ * @tsplus static effect/io/Effect.Ops annotateLogs
68
+ */
69
+ export function annotateLogs(kvps) {
70
+ return (effect) => tsplus_module_1.flatMap(tsplus_module_5.get(tsplus_module_5.currentLogAnnotations), (annotations) => tsplus_module_1.suspend(() => tsplus_module_6.pipe(effect, tsplus_module_1.locally(tsplus_module_5.currentLogAnnotations, tsplus_module_4.fromIterable([...annotations, ...tsplus_module_3.RecordEntries(tsplus_module_3.object$(kvps))])))));
71
+ }
72
+ /**
73
+ * Annotates each log in this scope with the specified log annotation.
74
+ *
75
+ * @tsplus static effect/io/Effect.Ops annotateLogscoped
76
+ */
77
+ export function annotateLogscoped(key, value) {
78
+ return tsplus_module_1.flatMap(tsplus_module_5.get(tsplus_module_5.currentLogAnnotations), (annotations) => tsplus_module_1.suspend(() => tsplus_module_1.locallyScoped(tsplus_module_5.currentLogAnnotations, tsplus_module_4.set(annotations, key, value))));
79
+ }
80
+ /**
81
+ * Annotates each log in this scope with the specified log annotations.
82
+ *
83
+ * @tsplus static effect/io/Effect.Ops annotateLogsScoped
84
+ */
85
+ export function annotateLogsScoped(kvps) {
86
+ return tsplus_module_1.flatMap(tsplus_module_5.get(tsplus_module_5.currentLogAnnotations), (annotations) => tsplus_module_1.suspend(() => tsplus_module_1.locallyScoped(tsplus_module_5.currentLogAnnotations, tsplus_module_4.fromIterable([...annotations, ...tsplus_module_3.RecordEntries(tsplus_module_3.object$(kvps))]))));
87
+ }
88
+ /**
89
+ * @tsplus fluent function flow
90
+ */
91
+ export function flow(f, g) {
92
+ return (...args) => g(f(...args));
93
+ }
94
+ /** @tsplus fluent effect/platform/Http/Client request */
95
+ export const client = (client, req) => tsplus_module_1.isEffect(req)
96
+ ? tsplus_module_1.flatMap(req, client)
97
+ : client(req);
98
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWlzYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL19zcmMvX2V4dC9taXNjLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBLE9BQU8sS0FBSyxNQUFNLE1BQU0sZUFBZSxDQUFBO0FBYXZDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxDQUFZLEVBQ1osT0FBbUI7SUFFbkIsT0FBTyxzQkFBQSxDQUFDLEVBQU8sRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLENBQUMscUJBQVksT0FBTyxFQUFFLENBQUMsRUFBRSxNQUFNLHlCQUFnQixFQUFFLENBQUMsQ0FBQTtBQUNsRixDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsa0JBQWtCLENBQ2hDLENBQVksRUFDWixPQUFtQjtJQUVuQixPQUFPLHNCQUFBLENBQUMsRUFBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFBO0FBQ2hGLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sVUFBVSxVQUFVLENBQ3hCLElBQTZCO0lBRTdCLE9BQU8sb0JBQUEsSUFBSSxFQUFLLENBQUMsQ0FBQyxFQUFFLEVBQUUsMkJBQUMsQ0FBQyxDQUFVLENBQUMsQ0FBQTtBQUNyQyxDQUFDO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsS0FBSyxDQUNuQixZQUFxQyxFQUNyQyxNQUEwQjtJQUUxQiw4QkFBTyx5QkFBQSxZQUFZLEVBQVUsTUFBTSxDQUFDLEVBQU87QUFDN0MsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGFBQWEsQ0FDM0IsWUFBcUMsRUFDckMsTUFBb0M7SUFFcEMsOEJBQU8sd0JBQUEsWUFBWSxFQUFTLE1BQU0sQ0FBQyxFQUFPO0FBQzVDLENBQUM7QUFFRCxNQUFNO0FBQ04sZ0RBQWdEO0FBQ2hELE1BQU07QUFDTixtREFBbUQ7QUFDbkQsZ0NBQWdDO0FBQ2hDLDBDQUEwQztBQUMxQyxrREFBa0Q7QUFDbEQsZ0RBQWdEO0FBQ2hELElBQUk7QUFFSixNQUFNO0FBQ04sZ0RBQWdEO0FBQ2hELE1BQU07QUFDTiwwREFBMEQ7QUFDMUQsMENBQTBDO0FBQzFDLDBDQUEwQztBQUMxQyxrREFBa0Q7QUFDbEQsK0NBQStDO0FBQy9DLElBQUk7QUFFSjs7Ozs7R0FLRztBQUNILE1BQU0sVUFBVSxXQUFXLENBQVEsQ0FBZTtJQUNoRCxPQUFPLENBQU8sSUFBcUIsRUFBNEIsRUFBRSxDQUFDLHlCQUFBLElBQUksRUFBVSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMscUJBQVksR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQTtBQUNySCxDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsTUFBTSxVQUFVLFlBQVksQ0FBQyxJQUE0QjtJQUN2RCxPQUFPLENBQVUsTUFBdUIsRUFBbUIsRUFBRSxDQUMzRCxvRkFHVyxDQUFDLFdBQVcsRUFBRSxFQUFFLENBQ3ZCLHdCQUFlLEdBQUcsRUFBRSxDQUNsQixnQkFBQSxJQUFJLENBQ0YsTUFBTSxFQUNOLCtEQUNFLDZCQUFxQixDQUFDLEdBQUcsV0FBVyxFQUFFLHlEQUFHLElBQUksRUFBVyxDQUFDLENBQUMsQ0FDM0QsQ0FDRixDQUNGLENBQ0YsQ0FBQTtBQUNQLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGlCQUFpQixDQUFDLEdBQVcsRUFBRSxLQUFhO0lBQzFELE9BQU8sb0ZBR0ksQ0FBQyxXQUFXLEVBQUUsRUFBRSxDQUN2Qix3QkFBZSxHQUFHLEVBQUUsQ0FBQyxxRUFBNkMsb0JBQUEsV0FBVyxFQUFLLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQ2hHLENBQUE7QUFDTCxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxrQkFBa0IsQ0FBQyxJQUE0QjtJQUM3RCxPQUFPLG9GQUdJLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FDdkIsd0JBQWUsR0FBRyxFQUFFLENBQ2xCLHFFQUE2Qyw2QkFBcUIsQ0FBQyxHQUFHLFdBQVcsRUFBRSx5REFBRyxJQUFJLEVBQVcsQ0FBQyxDQUFDLENBQUMsQ0FDekcsQ0FDRixDQUFBO0FBQ0wsQ0FBQztBQUVEOztHQUVHO0FBQ0gsTUFBTSxVQUFVLElBQUksQ0FBb0MsQ0FBdUIsRUFBRSxDQUFjO0lBQzdGLE9BQU8sQ0FBQyxHQUFHLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7QUFDbkMsQ0FBQztBQUVELHlEQUF5RDtBQUN6RCxNQUFNLENBQUMsTUFBTSxNQUFNLEdBTWYsQ0FBQyxNQUFpQyxFQUFFLEdBQW9ELEVBQUUsRUFBRSxDQUM5Rix5QkFBZ0IsR0FBRyxDQUFDO0lBQ2xCLENBQUMsQ0FBQyx3QkFBQSxHQUFHLEVBQVMsTUFBTSxDQUFDO0lBQ3JCLENBQUMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUEifQ==