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
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"}
|
package/dist/Request.js
ADDED
|
@@ -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,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==
|