effect-app 1.23.0 → 1.24.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/CHANGELOG.md +18 -0
- package/_cjs/http/Request.cjs +25 -0
- package/_cjs/http/Request.cjs.map +1 -0
- package/_cjs/http/internal/lib.cjs +33 -0
- package/_cjs/http/internal/lib.cjs.map +1 -0
- package/_cjs/http.cjs +11 -27
- package/_cjs/http.cjs.map +1 -1
- package/dist/client/clientFor.d.ts +2 -2
- package/dist/client/clientFor.d.ts.map +1 -1
- package/dist/client/req.d.ts +5 -5
- package/dist/client/req.d.ts.map +1 -1
- package/dist/http/Request.d.ts +9 -0
- package/dist/http/Request.d.ts.map +1 -0
- package/dist/http/Request.js +25 -0
- package/dist/http/internal/lib.d.ts +13 -0
- package/dist/http/internal/lib.d.ts.map +1 -0
- package/dist/http/internal/lib.js +13 -0
- package/dist/http.d.ts +1 -12
- package/dist/http.d.ts.map +1 -1
- package/dist/http.js +2 -13
- package/package.json +19 -20
- package/src/client/clientFor.ts +2 -2
- package/src/client/req.ts +5 -5
- package/src/http/Request.ts +41 -0
- package/src/http/internal/lib.ts +12 -0
- package/src/http.ts +1 -12
- package/tsconfig.src.json +0 -8
- package/vitest.config.ts.timestamp-1670862388823.mjs +23 -0
- package/_cjs/Request.cjs +0 -53
- package/_cjs/Request.cjs.map +0 -1
- package/dist/Request.d.ts +0 -36
- package/dist/Request.d.ts.map +0 -1
- package/dist/Request.js +0 -47
- package/src/Request.ts +0 -94
- package/vitest.config.ts.timestamp-1709838418683-4e8d39caec6be.mjs +0 -33
- package/vitest.config.ts.timestamp-1711656440837-b61cd88636759.mjs +0 -37
- package/vitest.config.ts.timestamp-1711724061890-f88ec51585e5c.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743471020-0a3f182bca84f.mjs +0 -0
- package/vitest.config.ts.timestamp-1711743489536-f03d3db08b368.mjs +0 -37
- package/vitest.config.ts.timestamp-1711743593445-f537ce2bb2c6a.mjs +0 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,23 @@
|
|
|
1
1
|
# @effect-app/prelude
|
|
2
2
|
|
|
3
|
+
## 1.24.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- b9b64b8: housekeeping: update packages
|
|
8
|
+
|
|
9
|
+
### Patch Changes
|
|
10
|
+
|
|
11
|
+
- Updated dependencies [b9b64b8]
|
|
12
|
+
- @effect-app/schema@1.16.0
|
|
13
|
+
- @effect-app/core@1.13.0
|
|
14
|
+
|
|
15
|
+
## 1.23.1
|
|
16
|
+
|
|
17
|
+
### Patch Changes
|
|
18
|
+
|
|
19
|
+
- 16bc3b2: fix typo
|
|
20
|
+
|
|
3
21
|
## 1.23.0
|
|
4
22
|
|
|
5
23
|
### Minor Changes
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.responseWithJsonBody = exports.demandJson = void 0;
|
|
7
|
+
var _lib = require("../lib.cjs");
|
|
8
|
+
var _lib2 = require("./internal/lib.cjs");
|
|
9
|
+
// TODO: consider rebuilding the text/json helpers to use a cached effect
|
|
10
|
+
// https://discord.com/channels/795981131316985866/1098177242598756412/1168565257569046712
|
|
11
|
+
const responseWithJsonBody = response => _lib.Effect.map(response.json, body => ({
|
|
12
|
+
body,
|
|
13
|
+
headers: response.headers,
|
|
14
|
+
status: response.status,
|
|
15
|
+
remoteAddress: response.remoteAddress
|
|
16
|
+
}));
|
|
17
|
+
exports.responseWithJsonBody = responseWithJsonBody;
|
|
18
|
+
const demandJson = client => _lib2.HttpClient.mapRequest(client, _ => _lib2.HttpClientRequest.acceptJson(_)).pipe(_lib2.HttpClient.transform((r, request) => _lib.Effect.tap(r, response => _lib.Option.getOrUndefined(_lib2.HttpHeaders.get(response.headers, "Content-Type"))?.startsWith("application/json") ? _lib.Effect.void : _lib.Effect.fail(new _lib2.HttpClientError.ResponseError({
|
|
19
|
+
request,
|
|
20
|
+
response,
|
|
21
|
+
reason: "Decode",
|
|
22
|
+
description: "not json response: " + _lib.Option.getOrUndefined(_lib2.HttpHeaders.get(response.headers, "Content-Type"))
|
|
23
|
+
})))));
|
|
24
|
+
exports.demandJson = demandJson;
|
|
25
|
+
//# sourceMappingURL=Request.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Request.cjs","names":["_lib","require","_lib2","responseWithJsonBody","response","Effect","map","json","body","headers","status","remoteAddress","exports","demandJson","client","HttpClient","mapRequest","_","HttpClientRequest","acceptJson","pipe","transform","r","request","tap","Option","getOrUndefined","HttpHeaders","get","startsWith","void","fail","HttpClientError","ResponseError","reason","description"],"sources":["../../src/http/Request.ts"],"sourcesContent":[null],"mappings":";;;;;;AACA,IAAAA,IAAA,GAAAC,OAAA;AACA,IAAAC,KAAA,GAAAD,OAAA;AAMA;AACA;AAEO,MAAME,oBAAoB,GAC/BC,QAA4B,IAE5BC,WAAM,CAACC,GAAG,CAACF,QAAQ,CAACG,IAAI,EAAGC,IAAI,KAAiC;EAC9DA,IAAI;EACJC,OAAO,EAAEL,QAAQ,CAACK,OAAO;EACzBC,MAAM,EAAEN,QAAQ,CAACM,MAAM;EACvBC,aAAa,EAAEP,QAAQ,CAACO;CACzB,CAAC,CAAC;AAAAC,OAAA,CAAAT,oBAAA,GAAAA,oBAAA;AAEE,MAAMU,UAAU,GAAUC,MAAmC,IAClEC,gBAAU,CACPC,UAAU,CAACF,MAAM,EAAGG,CAAC,IAAKC,uBAAiB,CAACC,UAAU,CAACF,CAAC,CAAC,CAAC,CAC1DG,IAAI,CAACL,gBAAU,CAACM,SAAS,CAAC,CAACC,CAAC,EAAEC,OAAO,KACpClB,WAAM,CAACmB,GAAG,CAACF,CAAC,EAAGlB,QAAQ,IACrBqB,WAAM,CACDC,cAAc,CAACC,iBAAW,CACxBC,GAAG,CAACxB,QAAQ,CAACK,OAAO,EAAE,cAAc,CAAC,CAAC,EACvCoB,UAAU,CAAC,kBAAkB,CAAC,GAChCxB,WAAM,CAACyB,IAAI,GACXzB,WAAM,CAAC0B,IAAI,CACX,IAAIC,qBAAe,CAACC,aAAa,CAAC;EAChCV,OAAO;EACPnB,QAAQ;EACR8B,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,qBAAqB,GAC9BV,WAAM,CAACC,cAAc,CAACC,iBAAW,CAACC,GAAG,CAACxB,QAAQ,CAACK,OAAO,EAAE,cAAc,CAAC;CAC5E,CAAC,CACH,CAAC,CACP,CAAC;AAAAG,OAAA,CAAAC,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.HttpServerResponse = exports.HttpServerRequest = exports.HttpServerError = exports.HttpServer = exports.HttpRouter = exports.HttpMiddleware = exports.HttpHeaders = exports.HttpClientResponse = exports.HttpClientRequest = exports.HttpClientError = exports.HttpClient = exports.HttpBody = void 0;
|
|
7
|
+
var _HttpHeaders = _interopRequireWildcard(require("@effect/platform/Headers"));
|
|
8
|
+
exports.HttpHeaders = _HttpHeaders;
|
|
9
|
+
var _HttpBody = _interopRequireWildcard(require("@effect/platform/HttpBody"));
|
|
10
|
+
exports.HttpBody = _HttpBody;
|
|
11
|
+
var _HttpClient = _interopRequireWildcard(require("@effect/platform/HttpClient"));
|
|
12
|
+
exports.HttpClient = _HttpClient;
|
|
13
|
+
var _HttpClientError = _interopRequireWildcard(require("@effect/platform/HttpClientError"));
|
|
14
|
+
exports.HttpClientError = _HttpClientError;
|
|
15
|
+
var _HttpClientRequest = _interopRequireWildcard(require("@effect/platform/HttpClientRequest"));
|
|
16
|
+
exports.HttpClientRequest = _HttpClientRequest;
|
|
17
|
+
var _HttpClientResponse = _interopRequireWildcard(require("@effect/platform/HttpClientResponse"));
|
|
18
|
+
exports.HttpClientResponse = _HttpClientResponse;
|
|
19
|
+
var _HttpMiddleware = _interopRequireWildcard(require("@effect/platform/HttpMiddleware"));
|
|
20
|
+
exports.HttpMiddleware = _HttpMiddleware;
|
|
21
|
+
var _HttpRouter = _interopRequireWildcard(require("@effect/platform/HttpRouter"));
|
|
22
|
+
exports.HttpRouter = _HttpRouter;
|
|
23
|
+
var _HttpServer = _interopRequireWildcard(require("@effect/platform/HttpServer"));
|
|
24
|
+
exports.HttpServer = _HttpServer;
|
|
25
|
+
var _HttpServerError = _interopRequireWildcard(require("@effect/platform/HttpServerError"));
|
|
26
|
+
exports.HttpServerError = _HttpServerError;
|
|
27
|
+
var _HttpServerRequest = _interopRequireWildcard(require("@effect/platform/HttpServerRequest"));
|
|
28
|
+
exports.HttpServerRequest = _HttpServerRequest;
|
|
29
|
+
var _HttpServerResponse = _interopRequireWildcard(require("@effect/platform/HttpServerResponse"));
|
|
30
|
+
exports.HttpServerResponse = _HttpServerResponse;
|
|
31
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
32
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
33
|
+
//# sourceMappingURL=lib.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.cjs","names":[],"sources":["../../../src/http/internal/lib.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
|
package/_cjs/http.cjs
CHANGED
|
@@ -3,31 +3,15 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
exports
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
var _HttpClientResponse = _interopRequireWildcard(require("@effect/platform/HttpClientResponse"));
|
|
18
|
-
exports.HttpClientResponse = _HttpClientResponse;
|
|
19
|
-
var _HttpMiddleware = _interopRequireWildcard(require("@effect/platform/HttpMiddleware"));
|
|
20
|
-
exports.HttpMiddleware = _HttpMiddleware;
|
|
21
|
-
var _HttpRouter = _interopRequireWildcard(require("@effect/platform/HttpRouter"));
|
|
22
|
-
exports.HttpRouter = _HttpRouter;
|
|
23
|
-
var _HttpServer = _interopRequireWildcard(require("@effect/platform/HttpServer"));
|
|
24
|
-
exports.HttpServer = _HttpServer;
|
|
25
|
-
var _HttpServerError = _interopRequireWildcard(require("@effect/platform/HttpServerError"));
|
|
26
|
-
exports.HttpServerError = _HttpServerError;
|
|
27
|
-
var _HttpServerRequest = _interopRequireWildcard(require("@effect/platform/HttpServerRequest"));
|
|
28
|
-
exports.HttpServerRequest = _HttpServerRequest;
|
|
29
|
-
var _HttpServerResponse = _interopRequireWildcard(require("@effect/platform/HttpServerResponse"));
|
|
30
|
-
exports.HttpServerResponse = _HttpServerResponse;
|
|
31
|
-
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
32
|
-
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
6
|
+
var _lib = require("./http/internal/lib.cjs");
|
|
7
|
+
Object.keys(_lib).forEach(function (key) {
|
|
8
|
+
if (key === "default" || key === "__esModule") return;
|
|
9
|
+
if (key in exports && exports[key] === _lib[key]) return;
|
|
10
|
+
Object.defineProperty(exports, key, {
|
|
11
|
+
enumerable: true,
|
|
12
|
+
get: function () {
|
|
13
|
+
return _lib[key];
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
});
|
|
33
17
|
//# sourceMappingURL=http.cjs.map
|
package/_cjs/http.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.cjs","names":[],"sources":["../src/http.ts"],"sourcesContent":[null],"mappings":"","ignoreList":[]}
|
|
1
|
+
{"version":3,"file":"http.cjs","names":["_lib","require","Object","keys","forEach","key","exports","defineProperty","enumerable","get"],"sources":["../src/http.ts"],"sourcesContent":[null],"mappings":";;;;;AAAA,IAAAA,IAAA,GAAAC,OAAA;AAAAC,MAAA,CAAAC,IAAA,CAAAH,IAAA,EAAAI,OAAA,WAAAC,GAAA;EAAA,IAAAA,GAAA,kBAAAA,GAAA;EAAA,IAAAA,GAAA,IAAAC,OAAA,IAAAA,OAAA,CAAAD,GAAA,MAAAL,IAAA,CAAAK,GAAA;EAAAH,MAAA,CAAAK,cAAA,CAAAD,OAAA,EAAAD,GAAA;IAAAG,UAAA;IAAAC,GAAA,WAAAA,CAAA;MAAA,OAAAT,IAAA,CAAAK,GAAA;IAAA;EAAA;AAAA","ignoreList":[]}
|
|
@@ -9,8 +9,8 @@ import { Path } from "path-parser";
|
|
|
9
9
|
export declare function makePathWithQuery(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
|
|
10
10
|
export declare function makePathWithBody(path: Path, pars: Record<string, string | number | boolean | readonly string[] | readonly number[] | readonly boolean[] | null>): string;
|
|
11
11
|
type Requests = Record<string, any>;
|
|
12
|
-
export type Client<M extends Requests> = RequestHandlers<ApiConfig | HttpClient.HttpClient
|
|
13
|
-
M> & RequestHandlersE<ApiConfig | HttpClient.HttpClient
|
|
12
|
+
export type Client<M extends Requests> = RequestHandlers<ApiConfig | HttpClient.HttpClient, never, // SupportedErrors | FetchError | ResError,
|
|
13
|
+
M> & RequestHandlersE<ApiConfig | HttpClient.HttpClient, never, // SupportedErrors | FetchError | ResError,
|
|
14
14
|
M>;
|
|
15
15
|
export declare function makeClientFor(layers: Layer.Layer<never, never, never>): <M extends Requests>(models: M) => Client<Omit<M, "meta">>;
|
|
16
16
|
export type ExtractResponse<T> = T extends Schema<any, any, any> ? Schema.Type<T> : T extends unknown ? void : never;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,MAAM,EAAiB,KAAK,EAA6B,MAAM,kBAAkB,CAAA;AAI1F,OAAO,KAAK,KAAK,YAAY,MAAM,6BAA6B,CAAA;AAEhE,OAAO,EAAE,CAAC,EAAE,MAAM,YAAY,CAAA;AAC9B,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,EAAE,UAAU,EAAqB,MAAM,iBAAiB,CAAA;AAC/D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAE/C,OAAO,KAAK,KAAK,OAAO,MAAM,gBAAgB,CAAA;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,aAAa,CAAA;AAGlC,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,CACV,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,MAAM,EAAE,GACjB,SAAS,MAAM,EAAE,GACjB,SAAS,OAAO,EAAE,GAClB,IAAI,CACP,UAUF;AAED,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,IAAI,EACV,IAAI,EAAE,MAAM,CACV,MAAM,EACJ,MAAM,GACN,MAAM,GACN,OAAO,GACP,SAAS,MAAM,EAAE,GACjB,SAAS,MAAM,EAAE,GACjB,SAAS,OAAO,EAAE,GAClB,IAAI,CACP,UAGF;AAED,KAAK,QAAQ,GAAG,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAA;AAanC,MAAM,MAAM,MAAM,CAAC,CAAC,SAAS,QAAQ,IACjC,eAAe,CACf,SAAS,GAAG,UAAU,CAAC,UAAU,
|
|
1
|
+
{"version":3,"file":"clientFor.d.ts","sourceRoot":"","sources":["../../src/client/clientFor.ts"],"names":[],"mappings":"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"}
|
package/dist/client/req.d.ts
CHANGED
|
@@ -3,8 +3,8 @@ import { S } from "../lib.js";
|
|
|
3
3
|
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context.
|
|
4
4
|
* Unless configured as `true`
|
|
5
5
|
*/
|
|
6
|
-
export type
|
|
7
|
-
export declare namespace
|
|
6
|
+
export type RPCContextMap<Key, Service, E> = [Key, Service, E, true];
|
|
7
|
+
export declare namespace RPCContextMap {
|
|
8
8
|
type Custom<Key, Service, E, Custom> = [Key, Service, E, Custom];
|
|
9
9
|
/**
|
|
10
10
|
* Middleware is active by default, and provides the Service at Key in route context, and the Service is provided as Effect Context.
|
|
@@ -14,20 +14,20 @@ export declare namespace RPCContetMap {
|
|
|
14
14
|
type Any = [string, any, S.Schema.All, any];
|
|
15
15
|
}
|
|
16
16
|
type Values<T extends Record<any, any>> = T[keyof T];
|
|
17
|
-
export type GetEffectContext<CTXMap extends Record<string,
|
|
17
|
+
export type GetEffectContext<CTXMap extends Record<string, RPCContextMap.Any>, T> = Values<{
|
|
18
18
|
[key in keyof CTXMap as CTXMap[key][3] extends true ? never : key extends keyof T ? T[key] extends true ? never : CTXMap[key][0] : CTXMap[key][0]]: CTXMap[key][1];
|
|
19
19
|
} & {
|
|
20
20
|
[key in keyof CTXMap as CTXMap[key][3] extends false ? never : key extends keyof T ? T[key] extends true ? CTXMap[key][0] : never : never]: CTXMap[key][1];
|
|
21
21
|
}>;
|
|
22
22
|
export type ValuesOrNeverSchema<T extends Record<any, any>> = Values<T> extends never ? typeof S.Never : Values<T>;
|
|
23
|
-
export type GetEffectError<CTXMap extends Record<string,
|
|
23
|
+
export type GetEffectError<CTXMap extends Record<string, RPCContextMap.Any>, T> = Values<{
|
|
24
24
|
[key in keyof CTXMap as CTXMap[key][3] extends true ? never : key extends keyof T ? T[key] extends true ? never : CTXMap[key][0] : CTXMap[key][0]]: CTXMap[key][2];
|
|
25
25
|
} & {
|
|
26
26
|
[key in keyof CTXMap as CTXMap[key][3] extends false ? never : key extends keyof T ? T[key] extends true ? CTXMap[key][0] : never : never]: CTXMap[key][2];
|
|
27
27
|
}>;
|
|
28
28
|
type JoinSchema<T> = T extends ReadonlyArray<S.Schema.All> ? S.Union<T> : typeof S.Never;
|
|
29
29
|
type ExcludeFromTuple<T extends readonly any[], E> = T extends [infer F, ...infer R] ? [F] extends [E] ? ExcludeFromTuple<R, E> : [F, ...ExcludeFromTuple<R, E>] : [];
|
|
30
|
-
export declare const makeRpcClient: <RequestConfig extends object, CTXMap extends Record<string,
|
|
30
|
+
export declare const makeRpcClient: <RequestConfig extends object, CTXMap extends Record<string, RPCContextMap.Any>, GeneralErrors extends S.Schema.All = never>(errors: { [K in keyof CTXMap]: CTXMap[K][2]; }, generalErrors?: GeneralErrors) => {
|
|
31
31
|
TaggedRequest: <Self>() => {
|
|
32
32
|
<Tag extends string, Payload extends S.Struct.Fields, C extends {
|
|
33
33
|
success: S.Schema.Any;
|
package/dist/client/req.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"req.d.ts","sourceRoot":"","sources":["../../src/client/req.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,CAAC,EAAE,MAAM,WAAW,CAAA;AAE7B;;;GAGG;AACH,MAAM,MAAM,
|
|
1
|
+
{"version":3,"file":"req.d.ts","sourceRoot":"","sources":["../../src/client/req.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { HttpClientResponse } from "@effect/platform/HttpClientResponse";
|
|
2
|
+
import { Effect } from "../lib.js";
|
|
3
|
+
import { HttpClient, HttpClientError } from "./internal/lib.js";
|
|
4
|
+
export interface ResponseWithBody<A> extends Pick<HttpClientResponse, "headers" | "status" | "remoteAddress"> {
|
|
5
|
+
readonly body: A;
|
|
6
|
+
}
|
|
7
|
+
export declare const responseWithJsonBody: (response: HttpClientResponse) => Effect.Effect<ResponseWithBody<unknown>, HttpClientError.ResponseError, never>;
|
|
8
|
+
export declare const demandJson: <E, R>(client: HttpClient.HttpClient<E, R>) => HttpClient.HttpClient<HttpClientError.ResponseError | E, R>;
|
|
9
|
+
//# sourceMappingURL=Request.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../../src/http/Request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,MAAM,EAAU,MAAM,WAAW,CAAA;AAC1C,OAAO,EAAE,UAAU,EAAE,eAAe,EAAkC,MAAM,mBAAmB,CAAA;AAE/F,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC;IAC3G,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CACjB;AAKD,eAAO,MAAM,oBAAoB,aACrB,kBAAkB,mFAOzB,CAAA;AAEL,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,UAAU,UAAU,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC,CAAC,gEAmB9D,CAAA"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { Effect, Option } from "../lib.js";
|
|
2
|
+
import { HttpClient, HttpClientError, HttpClientRequest, HttpHeaders } from "./internal/lib.js";
|
|
3
|
+
// TODO: consider rebuilding the text/json helpers to use a cached effect
|
|
4
|
+
// https://discord.com/channels/795981131316985866/1098177242598756412/1168565257569046712
|
|
5
|
+
export const responseWithJsonBody = (response) => Effect.map(response.json, (body) => ({
|
|
6
|
+
body,
|
|
7
|
+
headers: response.headers,
|
|
8
|
+
status: response.status,
|
|
9
|
+
remoteAddress: response.remoteAddress
|
|
10
|
+
}));
|
|
11
|
+
export const demandJson = (client) => HttpClient
|
|
12
|
+
.mapRequest(client, (_) => HttpClientRequest.acceptJson(_))
|
|
13
|
+
.pipe(HttpClient.transform((r, request) => Effect.tap(r, (response) => Option
|
|
14
|
+
.getOrUndefined(HttpHeaders
|
|
15
|
+
.get(response.headers, "Content-Type"))
|
|
16
|
+
?.startsWith("application/json")
|
|
17
|
+
? Effect.void
|
|
18
|
+
: Effect.fail(new HttpClientError.ResponseError({
|
|
19
|
+
request,
|
|
20
|
+
response,
|
|
21
|
+
reason: "Decode",
|
|
22
|
+
description: "not json response: "
|
|
23
|
+
+ Option.getOrUndefined(HttpHeaders.get(response.headers, "Content-Type"))
|
|
24
|
+
})))));
|
|
25
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9odHRwL1JlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUE7QUFDMUMsT0FBTyxFQUFFLFVBQVUsRUFBRSxlQUFlLEVBQUUsaUJBQWlCLEVBQUUsV0FBVyxFQUFFLE1BQU0sbUJBQW1CLENBQUE7QUFNL0YseUVBQXlFO0FBQ3pFLDBGQUEwRjtBQUUxRixNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxRQUE0QixFQUM1QixFQUFFLENBQ0YsTUFBTSxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxFQUE2QixFQUFFLENBQUMsQ0FBQztJQUM5RCxJQUFJO0lBQ0osT0FBTyxFQUFFLFFBQVEsQ0FBQyxPQUFPO0lBQ3pCLE1BQU0sRUFBRSxRQUFRLENBQUMsTUFBTTtJQUN2QixhQUFhLEVBQUUsUUFBUSxDQUFDLGFBQWE7Q0FDdEMsQ0FBQyxDQUFDLENBQUE7QUFFTCxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsQ0FBTyxNQUFtQyxFQUFFLEVBQUUsQ0FDdEUsVUFBVTtLQUNQLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztLQUMxRCxJQUFJLENBQUMsVUFBVSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUN4QyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQ3pCLE1BQU07S0FDRCxjQUFjLENBQUMsV0FBVztLQUN4QixHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztJQUN6QyxFQUFFLFVBQVUsQ0FBQyxrQkFBa0IsQ0FBQztJQUNsQyxDQUFDLENBQUMsTUFBTSxDQUFDLElBQUk7SUFDYixDQUFDLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDWCxJQUFJLGVBQWUsQ0FBQyxhQUFhLENBQUM7UUFDaEMsT0FBTztRQUNQLFFBQVE7UUFDUixNQUFNLEVBQUUsUUFBUTtRQUNoQixXQUFXLEVBQUUscUJBQXFCO2NBQzlCLE1BQU0sQ0FBQyxjQUFjLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsT0FBTyxFQUFFLGNBQWMsQ0FBQyxDQUFDO0tBQzdFLENBQUMsQ0FDSCxDQUFDLENBQ1AsQ0FBQyxDQUFBIn0=
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * as HttpHeaders from "@effect/platform/Headers";
|
|
2
|
+
export * as HttpBody from "@effect/platform/HttpBody";
|
|
3
|
+
export * as HttpClient from "@effect/platform/HttpClient";
|
|
4
|
+
export * as HttpClientError from "@effect/platform/HttpClientError";
|
|
5
|
+
export * as HttpClientRequest from "@effect/platform/HttpClientRequest";
|
|
6
|
+
export * as HttpClientResponse from "@effect/platform/HttpClientResponse";
|
|
7
|
+
export * as HttpMiddleware from "@effect/platform/HttpMiddleware";
|
|
8
|
+
export * as HttpRouter from "@effect/platform/HttpRouter";
|
|
9
|
+
export * as HttpServer from "@effect/platform/HttpServer";
|
|
10
|
+
export * as HttpServerError from "@effect/platform/HttpServerError";
|
|
11
|
+
export * as HttpServerRequest from "@effect/platform/HttpServerRequest";
|
|
12
|
+
export * as HttpServerResponse from "@effect/platform/HttpServerResponse";
|
|
13
|
+
//# sourceMappingURL=lib.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../../../src/http/internal/lib.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,WAAW,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,QAAQ,MAAM,2BAA2B,CAAA;AACrD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAA;AACvE,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAA;AACzE,OAAO,KAAK,cAAc,MAAM,iCAAiC,CAAA;AACjE,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,UAAU,MAAM,6BAA6B,CAAA;AACzD,OAAO,KAAK,eAAe,MAAM,kCAAkC,CAAA;AACnE,OAAO,KAAK,iBAAiB,MAAM,oCAAoC,CAAA;AACvE,OAAO,KAAK,kBAAkB,MAAM,qCAAqC,CAAA"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export * as HttpHeaders from "@effect/platform/Headers";
|
|
2
|
+
export * as HttpBody from "@effect/platform/HttpBody";
|
|
3
|
+
export * as HttpClient from "@effect/platform/HttpClient";
|
|
4
|
+
export * as HttpClientError from "@effect/platform/HttpClientError";
|
|
5
|
+
export * as HttpClientRequest from "@effect/platform/HttpClientRequest";
|
|
6
|
+
export * as HttpClientResponse from "@effect/platform/HttpClientResponse";
|
|
7
|
+
export * as HttpMiddleware from "@effect/platform/HttpMiddleware";
|
|
8
|
+
export * as HttpRouter from "@effect/platform/HttpRouter";
|
|
9
|
+
export * as HttpServer from "@effect/platform/HttpServer";
|
|
10
|
+
export * as HttpServerError from "@effect/platform/HttpServerError";
|
|
11
|
+
export * as HttpServerRequest from "@effect/platform/HttpServerRequest";
|
|
12
|
+
export * as HttpServerResponse from "@effect/platform/HttpServerResponse";
|
|
13
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2h0dHAvaW50ZXJuYWwvbGliLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxXQUFXLE1BQU0sMEJBQTBCLENBQUE7QUFDdkQsT0FBTyxLQUFLLFFBQVEsTUFBTSwyQkFBMkIsQ0FBQTtBQUNyRCxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFBO0FBQ3pELE9BQU8sS0FBSyxlQUFlLE1BQU0sa0NBQWtDLENBQUE7QUFDbkUsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RSxPQUFPLEtBQUssY0FBYyxNQUFNLGlDQUFpQyxDQUFBO0FBQ2pFLE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUE7QUFDekQsT0FBTyxLQUFLLFVBQVUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN6RCxPQUFPLEtBQUssZUFBZSxNQUFNLGtDQUFrQyxDQUFBO0FBQ25FLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEtBQUssa0JBQWtCLE1BQU0scUNBQXFDLENBQUEifQ==
|
package/dist/http.d.ts
CHANGED
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
export *
|
|
2
|
-
export * as HttpBody from "@effect/platform/HttpBody";
|
|
3
|
-
export * as HttpClient from "@effect/platform/HttpClient";
|
|
4
|
-
export * as HttpClientError from "@effect/platform/HttpClientError";
|
|
5
|
-
export * as HttpClientRequest from "@effect/platform/HttpClientRequest";
|
|
6
|
-
export * as HttpClientResponse from "@effect/platform/HttpClientResponse";
|
|
7
|
-
export * as HttpMiddleware from "@effect/platform/HttpMiddleware";
|
|
8
|
-
export * as HttpRouter from "@effect/platform/HttpRouter";
|
|
9
|
-
export * as HttpServer from "@effect/platform/HttpServer";
|
|
10
|
-
export * as HttpServerError from "@effect/platform/HttpServerError";
|
|
11
|
-
export * as HttpServerRequest from "@effect/platform/HttpServerRequest";
|
|
12
|
-
export * as HttpServerResponse from "@effect/platform/HttpServerResponse";
|
|
1
|
+
export * from "./http/internal/lib.js";
|
|
13
2
|
//# sourceMappingURL=http.d.ts.map
|
package/dist/http.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../src/http.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
|
package/dist/http.js
CHANGED
|
@@ -1,13 +1,2 @@
|
|
|
1
|
-
export *
|
|
2
|
-
|
|
3
|
-
export * as HttpClient from "@effect/platform/HttpClient";
|
|
4
|
-
export * as HttpClientError from "@effect/platform/HttpClientError";
|
|
5
|
-
export * as HttpClientRequest from "@effect/platform/HttpClientRequest";
|
|
6
|
-
export * as HttpClientResponse from "@effect/platform/HttpClientResponse";
|
|
7
|
-
export * as HttpMiddleware from "@effect/platform/HttpMiddleware";
|
|
8
|
-
export * as HttpRouter from "@effect/platform/HttpRouter";
|
|
9
|
-
export * as HttpServer from "@effect/platform/HttpServer";
|
|
10
|
-
export * as HttpServerError from "@effect/platform/HttpServerError";
|
|
11
|
-
export * as HttpServerRequest from "@effect/platform/HttpServerRequest";
|
|
12
|
-
export * as HttpServerResponse from "@effect/platform/HttpServerResponse";
|
|
13
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxXQUFXLE1BQU0sMEJBQTBCLENBQUE7QUFDdkQsT0FBTyxLQUFLLFFBQVEsTUFBTSwyQkFBMkIsQ0FBQTtBQUNyRCxPQUFPLEtBQUssVUFBVSxNQUFNLDZCQUE2QixDQUFBO0FBQ3pELE9BQU8sS0FBSyxlQUFlLE1BQU0sa0NBQWtDLENBQUE7QUFDbkUsT0FBTyxLQUFLLGlCQUFpQixNQUFNLG9DQUFvQyxDQUFBO0FBQ3ZFLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSxxQ0FBcUMsQ0FBQTtBQUN6RSxPQUFPLEtBQUssY0FBYyxNQUFNLGlDQUFpQyxDQUFBO0FBQ2pFLE9BQU8sS0FBSyxVQUFVLE1BQU0sNkJBQTZCLENBQUE7QUFDekQsT0FBTyxLQUFLLFVBQVUsTUFBTSw2QkFBNkIsQ0FBQTtBQUN6RCxPQUFPLEtBQUssZUFBZSxNQUFNLGtDQUFrQyxDQUFBO0FBQ25FLE9BQU8sS0FBSyxpQkFBaUIsTUFBTSxvQ0FBb0MsQ0FBQTtBQUN2RSxPQUFPLEtBQUssa0JBQWtCLE1BQU0scUNBQXFDLENBQUEifQ==
|
|
1
|
+
export * from "./http/internal/lib.js";
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9odHRwLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUEifQ==
|
package/package.json
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "effect-app",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.24.0",
|
|
4
4
|
"license": "MIT",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"dependencies": {
|
|
7
|
-
"@effect/rpc": "^0.
|
|
8
|
-
"@effect/rpc-http": "^0.
|
|
7
|
+
"@effect/rpc": "^0.43.0",
|
|
8
|
+
"@effect/rpc-http": "^0.41.0",
|
|
9
9
|
"@tsconfig/strictest": "^2.0.5",
|
|
10
10
|
"date-fns": "^4.1.0",
|
|
11
11
|
"nanoid": "^5.0.7",
|
|
12
12
|
"path-parser": "^6.1.0",
|
|
13
|
-
"query-string": "^9.1.
|
|
13
|
+
"query-string": "^9.1.1",
|
|
14
14
|
"ts-pattern": "^5.4.0",
|
|
15
15
|
"uuid": "^10.0.0",
|
|
16
16
|
"validator": "^13.12.0",
|
|
17
|
-
"@effect-app/
|
|
18
|
-
"@effect-app/
|
|
17
|
+
"@effect-app/schema": "1.16.0",
|
|
18
|
+
"@effect-app/core": "1.13.0"
|
|
19
19
|
},
|
|
20
20
|
"devDependencies": {
|
|
21
21
|
"@babel/cli": "^7.25.7",
|
|
@@ -24,14 +24,13 @@
|
|
|
24
24
|
"@types/uuid": "^10.0.0",
|
|
25
25
|
"@types/validator": "^13.12.2",
|
|
26
26
|
"fast-check": "~3.22.0",
|
|
27
|
-
"
|
|
28
|
-
"typescript": "^5.6.2",
|
|
27
|
+
"typescript": "^5.6.3",
|
|
29
28
|
"vitest": "^2.1.2"
|
|
30
29
|
},
|
|
31
30
|
"peerDependencies": {
|
|
32
|
-
"@effect/platform": "^0.
|
|
31
|
+
"@effect/platform": "^0.68.1",
|
|
33
32
|
"effect": "^3.9.1",
|
|
34
|
-
"@effect/schema": "^0.75.
|
|
33
|
+
"@effect/schema": "^0.75.2"
|
|
35
34
|
},
|
|
36
35
|
"typesVersions": {
|
|
37
36
|
"*": {
|
|
@@ -91,16 +90,6 @@
|
|
|
91
90
|
"default": "./_cjs/Pure.cjs"
|
|
92
91
|
}
|
|
93
92
|
},
|
|
94
|
-
"./Request": {
|
|
95
|
-
"import": {
|
|
96
|
-
"types": "./dist/Request.d.ts",
|
|
97
|
-
"default": "./dist/Request.js"
|
|
98
|
-
},
|
|
99
|
-
"require": {
|
|
100
|
-
"types": "./dist/Request.d.ts",
|
|
101
|
-
"default": "./_cjs/Request.cjs"
|
|
102
|
-
}
|
|
103
|
-
},
|
|
104
93
|
"./Widen.type": {
|
|
105
94
|
"import": {
|
|
106
95
|
"types": "./dist/Widen.type.d.ts",
|
|
@@ -201,6 +190,16 @@
|
|
|
201
190
|
"default": "./_cjs/http.cjs"
|
|
202
191
|
}
|
|
203
192
|
},
|
|
193
|
+
"./http/Request": {
|
|
194
|
+
"import": {
|
|
195
|
+
"types": "./dist/http/Request.d.ts",
|
|
196
|
+
"default": "./dist/http/Request.js"
|
|
197
|
+
},
|
|
198
|
+
"require": {
|
|
199
|
+
"types": "./dist/http/Request.d.ts",
|
|
200
|
+
"default": "./_cjs/http/Request.cjs"
|
|
201
|
+
}
|
|
202
|
+
},
|
|
204
203
|
"./ids": {
|
|
205
204
|
"import": {
|
|
206
205
|
"types": "./dist/ids.d.ts",
|
package/src/client/clientFor.ts
CHANGED
|
@@ -70,12 +70,12 @@ const apiClient = Effect.gen(function*() {
|
|
|
70
70
|
|
|
71
71
|
export type Client<M extends Requests> =
|
|
72
72
|
& RequestHandlers<
|
|
73
|
-
ApiConfig | HttpClient.HttpClient
|
|
73
|
+
ApiConfig | HttpClient.HttpClient,
|
|
74
74
|
never, // SupportedErrors | FetchError | ResError,
|
|
75
75
|
M
|
|
76
76
|
>
|
|
77
77
|
& RequestHandlersE<
|
|
78
|
-
ApiConfig | HttpClient.HttpClient
|
|
78
|
+
ApiConfig | HttpClient.HttpClient,
|
|
79
79
|
never, // SupportedErrors | FetchError | ResError,
|
|
80
80
|
M
|
|
81
81
|
>
|
package/src/client/req.ts
CHANGED
|
@@ -8,9 +8,9 @@ import { S } from "../lib.js"
|
|
|
8
8
|
* Middleware is inactivate by default, the Key is optional in route context, and the service is optionally provided as Effect Context.
|
|
9
9
|
* Unless configured as `true`
|
|
10
10
|
*/
|
|
11
|
-
export type
|
|
11
|
+
export type RPCContextMap<Key, Service, E> = [Key, Service, E, true]
|
|
12
12
|
|
|
13
|
-
export declare namespace
|
|
13
|
+
export declare namespace RPCContextMap {
|
|
14
14
|
export type Custom<Key, Service, E, Custom> = [Key, Service, E, Custom]
|
|
15
15
|
|
|
16
16
|
/**
|
|
@@ -24,7 +24,7 @@ export declare namespace RPCContetMap {
|
|
|
24
24
|
|
|
25
25
|
type Values<T extends Record<any, any>> = T[keyof T]
|
|
26
26
|
|
|
27
|
-
export type GetEffectContext<CTXMap extends Record<string,
|
|
27
|
+
export type GetEffectContext<CTXMap extends Record<string, RPCContextMap.Any>, T> = Values<
|
|
28
28
|
// inverted
|
|
29
29
|
& {
|
|
30
30
|
[
|
|
@@ -45,7 +45,7 @@ export type GetEffectContext<CTXMap extends Record<string, RPCContetMap.Any>, T>
|
|
|
45
45
|
}
|
|
46
46
|
>
|
|
47
47
|
export type ValuesOrNeverSchema<T extends Record<any, any>> = Values<T> extends never ? typeof S.Never : Values<T>
|
|
48
|
-
export type GetEffectError<CTXMap extends Record<string,
|
|
48
|
+
export type GetEffectError<CTXMap extends Record<string, RPCContextMap.Any>, T> = Values<
|
|
49
49
|
// inverted
|
|
50
50
|
& {
|
|
51
51
|
[
|
|
@@ -79,7 +79,7 @@ const merge = (a: any, b: Array<any>) =>
|
|
|
79
79
|
|
|
80
80
|
export const makeRpcClient = <
|
|
81
81
|
RequestConfig extends object,
|
|
82
|
-
CTXMap extends Record<string,
|
|
82
|
+
CTXMap extends Record<string, RPCContextMap.Any>,
|
|
83
83
|
GeneralErrors extends S.Schema.All = never
|
|
84
84
|
>(
|
|
85
85
|
errors: { [K in keyof CTXMap]: CTXMap[K][2] },
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
import type { HttpClientResponse } from "@effect/platform/HttpClientResponse"
|
|
2
|
+
import { Effect, Option } from "../lib.js"
|
|
3
|
+
import { HttpClient, HttpClientError, HttpClientRequest, HttpHeaders } from "./internal/lib.js"
|
|
4
|
+
|
|
5
|
+
export interface ResponseWithBody<A> extends Pick<HttpClientResponse, "headers" | "status" | "remoteAddress"> {
|
|
6
|
+
readonly body: A
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// TODO: consider rebuilding the text/json helpers to use a cached effect
|
|
10
|
+
// https://discord.com/channels/795981131316985866/1098177242598756412/1168565257569046712
|
|
11
|
+
|
|
12
|
+
export const responseWithJsonBody = (
|
|
13
|
+
response: HttpClientResponse
|
|
14
|
+
) =>
|
|
15
|
+
Effect.map(response.json, (body): ResponseWithBody<unknown> => ({
|
|
16
|
+
body,
|
|
17
|
+
headers: response.headers,
|
|
18
|
+
status: response.status,
|
|
19
|
+
remoteAddress: response.remoteAddress
|
|
20
|
+
}))
|
|
21
|
+
|
|
22
|
+
export const demandJson = <E, R>(client: HttpClient.HttpClient<E, R>) =>
|
|
23
|
+
HttpClient
|
|
24
|
+
.mapRequest(client, (_) => HttpClientRequest.acceptJson(_))
|
|
25
|
+
.pipe(HttpClient.transform((r, request) =>
|
|
26
|
+
Effect.tap(r, (response) =>
|
|
27
|
+
Option
|
|
28
|
+
.getOrUndefined(HttpHeaders
|
|
29
|
+
.get(response.headers, "Content-Type"))
|
|
30
|
+
?.startsWith("application/json")
|
|
31
|
+
? Effect.void
|
|
32
|
+
: Effect.fail(
|
|
33
|
+
new HttpClientError.ResponseError({
|
|
34
|
+
request,
|
|
35
|
+
response,
|
|
36
|
+
reason: "Decode",
|
|
37
|
+
description: "not json response: "
|
|
38
|
+
+ Option.getOrUndefined(HttpHeaders.get(response.headers, "Content-Type"))
|
|
39
|
+
})
|
|
40
|
+
))
|
|
41
|
+
))
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export * as HttpHeaders from "@effect/platform/Headers"
|
|
2
|
+
export * as HttpBody from "@effect/platform/HttpBody"
|
|
3
|
+
export * as HttpClient from "@effect/platform/HttpClient"
|
|
4
|
+
export * as HttpClientError from "@effect/platform/HttpClientError"
|
|
5
|
+
export * as HttpClientRequest from "@effect/platform/HttpClientRequest"
|
|
6
|
+
export * as HttpClientResponse from "@effect/platform/HttpClientResponse"
|
|
7
|
+
export * as HttpMiddleware from "@effect/platform/HttpMiddleware"
|
|
8
|
+
export * as HttpRouter from "@effect/platform/HttpRouter"
|
|
9
|
+
export * as HttpServer from "@effect/platform/HttpServer"
|
|
10
|
+
export * as HttpServerError from "@effect/platform/HttpServerError"
|
|
11
|
+
export * as HttpServerRequest from "@effect/platform/HttpServerRequest"
|
|
12
|
+
export * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
package/src/http.ts
CHANGED
|
@@ -1,12 +1 @@
|
|
|
1
|
-
export *
|
|
2
|
-
export * as HttpBody from "@effect/platform/HttpBody"
|
|
3
|
-
export * as HttpClient from "@effect/platform/HttpClient"
|
|
4
|
-
export * as HttpClientError from "@effect/platform/HttpClientError"
|
|
5
|
-
export * as HttpClientRequest from "@effect/platform/HttpClientRequest"
|
|
6
|
-
export * as HttpClientResponse from "@effect/platform/HttpClientResponse"
|
|
7
|
-
export * as HttpMiddleware from "@effect/platform/HttpMiddleware"
|
|
8
|
-
export * as HttpRouter from "@effect/platform/HttpRouter"
|
|
9
|
-
export * as HttpServer from "@effect/platform/HttpServer"
|
|
10
|
-
export * as HttpServerError from "@effect/platform/HttpServerError"
|
|
11
|
-
export * as HttpServerRequest from "@effect/platform/HttpServerRequest"
|
|
12
|
-
export * as HttpServerResponse from "@effect/platform/HttpServerResponse"
|
|
1
|
+
export * from "./http/internal/lib.js"
|
package/tsconfig.src.json
CHANGED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// vitest.config.ts
|
|
2
|
+
import { defineConfig } from "file:///Users/patrickroza/Projects/Personal/effect-ts-app/libs/node_modules/.pnpm/vite@4.0.0_@types+node@18.11.12/node_modules/vite/dist/node/index.js";
|
|
3
|
+
|
|
4
|
+
// ../../vite.config.base.ts
|
|
5
|
+
import { tsPlugin } from "file:///Users/patrickroza/Projects/Personal/effect-ts-app/libs/packages/compiler/dist/vitePlugin.js";
|
|
6
|
+
function makeConfig() {
|
|
7
|
+
return {
|
|
8
|
+
plugins: [tsPlugin({})],
|
|
9
|
+
test: {
|
|
10
|
+
include: ["./_src/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
|
|
11
|
+
exclude: ["./_test/**/*"],
|
|
12
|
+
reporters: "verbose",
|
|
13
|
+
globals: true
|
|
14
|
+
}
|
|
15
|
+
};
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
// vitest.config.ts
|
|
19
|
+
var vitest_config_default = defineConfig(makeConfig());
|
|
20
|
+
export {
|
|
21
|
+
vitest_config_default as default
|
|
22
|
+
};
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsidml0ZXN0LmNvbmZpZy50cyIsICIuLi8uLi92aXRlLmNvbmZpZy5iYXNlLnRzIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL1Byb2plY3RzL1BlcnNvbmFsL2VmZmVjdC10cy1hcHAvbGlicy9wYWNrYWdlcy9ib2lsZXJwbGF0ZS1wcmVsdWRlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvUHJvamVjdHMvUGVyc29uYWwvZWZmZWN0LXRzLWFwcC9saWJzL3BhY2thZ2VzL2JvaWxlcnBsYXRlLXByZWx1ZGUvdml0ZXN0LmNvbmZpZy50c1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vVXNlcnMvcGF0cmlja3JvemEvUHJvamVjdHMvUGVyc29uYWwvZWZmZWN0LXRzLWFwcC9saWJzL3BhY2thZ2VzL2JvaWxlcnBsYXRlLXByZWx1ZGUvdml0ZXN0LmNvbmZpZy50c1wiOy8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZXN0XCIgLz5cbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlXCJcbmltcG9ydCBtYWtlQ29uZmlnIGZyb20gXCIuLi8uLi92aXRlLmNvbmZpZy5iYXNlXCJcblxuZXhwb3J0IGRlZmF1bHQgZGVmaW5lQ29uZmlnKG1ha2VDb25maWcoKSlcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL1Byb2plY3RzL1BlcnNvbmFsL2VmZmVjdC10cy1hcHAvbGlic1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiL1VzZXJzL3BhdHJpY2tyb3phL1Byb2plY3RzL1BlcnNvbmFsL2VmZmVjdC10cy1hcHAvbGlicy92aXRlLmNvbmZpZy5iYXNlLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9Qcm9qZWN0cy9QZXJzb25hbC9lZmZlY3QtdHMtYXBwL2xpYnMvdml0ZS5jb25maWcuYmFzZS50c1wiOy8vLyA8cmVmZXJlbmNlIHR5cGVzPVwidml0ZXN0XCIgLz5cbmltcG9ydCB7IHRzUGx1Z2luIH0gZnJvbSBcIkBlZmZlY3QtdHMtYXBwL2NvbXBpbGVyL3ZpdGVQbHVnaW5cIlxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFrZUNvbmZpZygpIHtcbiAgcmV0dXJuIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXZhci1yZXF1aXJlc1xuICAgIHBsdWdpbnM6IFt0c1BsdWdpbih7fSldLFxuICAgIHRlc3Q6IHtcbiAgICAgIGluY2x1ZGU6IFtcIi4vX3NyYy8qKi8qLnRlc3Que2pzLG1qcyxjanMsdHMsbXRzLGN0cyxqc3gsdHN4fVwiXSxcbiAgICAgIGV4Y2x1ZGU6IFtcIi4vX3Rlc3QvKiovKlwiXSxcbiAgICAgIHJlcG9ydGVyczogXCJ2ZXJib3NlXCIsXG4gICAgICBnbG9iYWxzOiB0cnVlXG4gICAgfSxcbiAgICAvLyByZXNvbHZlOiB7XG4gICAgLy8gICBhbGlhczoge1xuICAgIC8vICAgICBcIkBlZmZlY3QvaW8vdGVzdFwiOiBwYXRoLnJlc29sdmUoX19kaXJuYW1lLCBcIi90ZXN0XCIpLFxuICAgIC8vICAgICBcIkBlZmZlY3QvaW9cIjogcGF0aC5yZXNvbHZlKF9fZGlybmFtZSwgXCIvc3JjXCIpXG4gICAgLy8gICB9XG4gICAgLy8gfVxuICB9XG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0EsU0FBUyxvQkFBb0I7OztBQ0E3QixTQUFTLGdCQUFnQjtBQUNWLFNBQVIsYUFBOEI7QUFDbkMsU0FBTztBQUFBLElBRUwsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUM7QUFBQSxJQUN0QixNQUFNO0FBQUEsTUFDSixTQUFTLENBQUMsa0RBQWtEO0FBQUEsTUFDNUQsU0FBUyxDQUFDLGNBQWM7QUFBQSxNQUN4QixXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWDtBQUFBLEVBT0Y7QUFDRjs7O0FEZkEsSUFBTyx3QkFBUSxhQUFhLFdBQVcsQ0FBQzsiLAogICJuYW1lcyI6IFtdCn0K
|
package/_cjs/Request.cjs
DELETED
|
@@ -1,53 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.schemaJsonBodyUnsafe = exports.schemaJsonBody = exports.responseWithSchemaBody = exports.responseWithJsonBody = exports.demandJson = void 0;
|
|
7
|
-
var _http = require("./http.cjs");
|
|
8
|
-
var _lib = require("./lib.cjs");
|
|
9
|
-
// TODO: consider rebuilding the text/json helpers to use a cached effect
|
|
10
|
-
// https://discord.com/channels/795981131316985866/1098177242598756412/1168565257569046712
|
|
11
|
-
/**
|
|
12
|
-
* @tsplus getter effect/platform/Http/ClientResponse responseWithJsonBody
|
|
13
|
-
*/
|
|
14
|
-
const responseWithJsonBody = response => _lib.Effect.map(response.json, body => ({
|
|
15
|
-
body,
|
|
16
|
-
headers: response.headers,
|
|
17
|
-
status: response.status,
|
|
18
|
-
remoteAddress: response.remoteAddress
|
|
19
|
-
}));
|
|
20
|
-
/**
|
|
21
|
-
* @tsplus fluent effect/platform/Http/Client schemaJsonBody
|
|
22
|
-
*/
|
|
23
|
-
exports.responseWithJsonBody = responseWithJsonBody;
|
|
24
|
-
const schemaJsonBody = (client, schema) => {
|
|
25
|
-
return _http.HttpClient.mapEffect(client, _ => _lib.Effect.flatMap(_.json, _lib.S.decodeUnknown(schema)));
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* @tsplus fluent effect/platform/Http/Client schemaJsonBodyUnsafe
|
|
29
|
-
*/
|
|
30
|
-
exports.schemaJsonBody = schemaJsonBody;
|
|
31
|
-
const schemaJsonBodyUnsafe = (client, schema) => {
|
|
32
|
-
return _http.HttpClient.mapEffect(client, _ => _lib.Effect.map(_.json, _lib.S.decodeUnknownSync(schema)));
|
|
33
|
-
};
|
|
34
|
-
/**
|
|
35
|
-
* @tsplus fluent effect/platform/Http/Client responseWithSchemaBody
|
|
36
|
-
*/
|
|
37
|
-
exports.schemaJsonBodyUnsafe = schemaJsonBodyUnsafe;
|
|
38
|
-
const responseWithSchemaBody = (client, schema) => {
|
|
39
|
-
return _http.HttpClient.mapEffect(client, _ => _lib.Effect.flatMap(responseWithJsonBody(_), _ => _lib.Effect.map(_lib.S.decodeUnknown(schema)(_.body), body => ({
|
|
40
|
-
..._,
|
|
41
|
-
body
|
|
42
|
-
}))));
|
|
43
|
-
};
|
|
44
|
-
/** @tsplus getter effect/platform/Http/Client demandJson */
|
|
45
|
-
exports.responseWithSchemaBody = responseWithSchemaBody;
|
|
46
|
-
const demandJson = client => _http.HttpClient.mapRequest(client, _ => _http.HttpClientRequest.acceptJson(_)).pipe(_http.HttpClient.transform((r, request) => _lib.Effect.tap(r, response => _lib.Option.getOrUndefined(_http.HttpHeaders.get(response.headers, "Content-Type"))?.startsWith("application/json") ? _lib.Effect.void : _lib.Effect.fail(new _http.HttpClientError.ResponseError({
|
|
47
|
-
request,
|
|
48
|
-
response,
|
|
49
|
-
reason: "Decode",
|
|
50
|
-
description: "not json response: " + _lib.Option.getOrUndefined(_http.HttpHeaders.get(response.headers, "Content-Type"))
|
|
51
|
-
})))));
|
|
52
|
-
exports.demandJson = demandJson;
|
|
53
|
-
//# sourceMappingURL=Request.cjs.map
|
package/_cjs/Request.cjs.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Request.cjs","names":["_http","require","_lib","responseWithJsonBody","response","Effect","map","json","body","headers","status","remoteAddress","exports","schemaJsonBody","client","schema","HttpClient","mapEffect","_","flatMap","S","decodeUnknown","schemaJsonBodyUnsafe","decodeUnknownSync","responseWithSchemaBody","demandJson","mapRequest","HttpClientRequest","acceptJson","pipe","transform","r","request","tap","Option","getOrUndefined","HttpHeaders","get","startsWith","void","fail","HttpClientError","ResponseError","reason","description"],"sources":["../src/Request.ts"],"sourcesContent":[null],"mappings":";;;;;;AAGA,IAAAA,KAAA,GAAAC,OAAA;AACA,IAAAC,IAAA,GAAAD,OAAA;AAMA;AACA;AAEA;;;AAGO,MAAME,oBAAoB,GAC/BC,QAA4B,IAE5BC,WAAM,CAACC,GAAG,CAACF,QAAQ,CAACG,IAAI,EAAGC,IAAI,KAAiC;EAC9DA,IAAI;EACJC,OAAO,EAAEL,QAAQ,CAACK,OAAO;EACzBC,MAAM,EAAEN,QAAQ,CAACM,MAAM;EACvBC,aAAa,EAAEP,QAAQ,CAACO;CACzB,CAAC,CAAC;AAEL;;;AAAAC,OAAA,CAAAT,oBAAA,GAAAA,oBAAA;AAGO,MAAMU,cAAc,GAAGA,CAC5BC,MAAuD,EACvDC,MAA4B,KAC1B;EACF,OAAOC,gBAAU,CAACC,SAAS,CAACH,MAAM,EAAGI,CAAC,IAAKb,WAAM,CAACc,OAAO,CAACD,CAAC,CAACX,IAAI,EAAEa,MAAC,CAACC,aAAa,CAACN,MAAM,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;AAAAH,OAAA,CAAAC,cAAA,GAAAA,cAAA;AAGO,MAAMS,oBAAoB,GAAGA,CAClCR,MAAuD,EACvDC,MAAwB,KACtB;EACF,OAAOC,gBAAU,CAACC,SAAS,CAACH,MAAM,EAAGI,CAAC,IAAKb,WAAM,CAACC,GAAG,CAACY,CAAC,CAACX,IAAI,EAAEa,MAAC,CAACG,iBAAiB,CAACR,MAAM,CAAC,CAAC,CAAC;AAC7F,CAAC;AAED;;;AAAAH,OAAA,CAAAU,oBAAA,GAAAA,oBAAA;AAGO,MAAME,sBAAsB,GAAGA,CAWpCV,MAAuD,EACvDC,MAA4B,KAC1B;EACF,OAAOC,gBAAU,CAACC,SAAS,CACzBH,MAAM,EACLI,CAAC,IACAb,WAAM,CAACc,OAAO,CACZhB,oBAAoB,CAACe,CAAC,CAAC,EACtBA,CAAC,IAAKb,WAAM,CAACC,GAAG,CAACc,MAAC,CAACC,aAAa,CAACN,MAAM,CAAC,CAACG,CAAC,CAACV,IAAI,CAAC,EAAGA,IAAI,KAAM;IAAE,GAAGU,CAAC;IAAEV;EAAI,CAAE,CAAC,CAAC,CAC/E,CACJ;AACH,CAAC;AAED;AAAAI,OAAA,CAAAY,sBAAA,GAAAA,sBAAA;AACO,MAAMC,UAAU,GAAUX,MAAuD,IACtFE,gBAAU,CACPU,UAAU,CAACZ,MAAM,EAAGI,CAAC,IAAKS,uBAAiB,CAACC,UAAU,CAACV,CAAC,CAAC,CAAC,CAC1DW,IAAI,CAACb,gBAAU,CAACc,SAAS,CAAC,CAACC,CAAC,EAAEC,OAAO,KACpC3B,WAAM,CAAC4B,GAAG,CAACF,CAAC,EAAG3B,QAAQ,IACrB8B,WAAM,CACDC,cAAc,CAACC,iBAAW,CACxBC,GAAG,CAACjC,QAAQ,CAACK,OAAO,EAAE,cAAc,CAAC,CAAC,EACvC6B,UAAU,CAAC,kBAAkB,CAAC,GAChCjC,WAAM,CAACkC,IAAI,GACXlC,WAAM,CAACmC,IAAI,CACX,IAAIC,qBAAe,CAACC,aAAa,CAAC;EAChCV,OAAO;EACP5B,QAAQ;EACRuC,MAAM,EAAE,QAAQ;EAChBC,WAAW,EAAE,qBAAqB,GAC9BV,WAAM,CAACC,cAAc,CAACC,iBAAW,CAACC,GAAG,CAACjC,QAAQ,CAACK,OAAO,EAAE,cAAc,CAAC;CAC5E,CAAC,CACH,CAAC,CACP,CAAC;AAAAG,OAAA,CAAAa,UAAA,GAAAA,UAAA","ignoreList":[]}
|
package/dist/Request.d.ts
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
import type { Schema } from "@effect-app/schema";
|
|
2
|
-
import type { Headers } from "@effect/platform/Headers";
|
|
3
|
-
import type { HttpClientResponse } from "@effect/platform/HttpClientResponse";
|
|
4
|
-
import { HttpClient, HttpClientError } from "./http.js";
|
|
5
|
-
import { Effect, Option, S } from "./lib.js";
|
|
6
|
-
export interface ResponseWithBody<A> extends Pick<HttpClientResponse, "headers" | "status" | "remoteAddress"> {
|
|
7
|
-
readonly body: A;
|
|
8
|
-
}
|
|
9
|
-
/**
|
|
10
|
-
* @tsplus getter effect/platform/Http/ClientResponse responseWithJsonBody
|
|
11
|
-
*/
|
|
12
|
-
export declare const responseWithJsonBody: (response: HttpClientResponse) => Effect.Effect<ResponseWithBody<unknown>, HttpClientError.ResponseError, never>;
|
|
13
|
-
/**
|
|
14
|
-
* @tsplus fluent effect/platform/Http/Client schemaJsonBody
|
|
15
|
-
*/
|
|
16
|
-
export declare const schemaJsonBody: <RS, To, From, E, R>(client: HttpClient.HttpClient<HttpClientResponse, E, R>, schema: Schema<To, From, RS>) => HttpClient.HttpClient<To, HttpClientError.ResponseError | E | S.ParseResult.ParseError, RS | R>;
|
|
17
|
-
/**
|
|
18
|
-
* @tsplus fluent effect/platform/Http/Client schemaJsonBodyUnsafe
|
|
19
|
-
*/
|
|
20
|
-
export declare const schemaJsonBodyUnsafe: <To, From, E, R>(client: HttpClient.HttpClient<HttpClientResponse, E, R>, schema: Schema<To, From>) => HttpClient.HttpClient<To, HttpClientError.ResponseError | E, R>;
|
|
21
|
-
/**
|
|
22
|
-
* @tsplus fluent effect/platform/Http/Client responseWithSchemaBody
|
|
23
|
-
*/
|
|
24
|
-
export declare const responseWithSchemaBody: <To, From extends {
|
|
25
|
-
readonly status?: number;
|
|
26
|
-
readonly headers?: Headers;
|
|
27
|
-
readonly body?: unknown;
|
|
28
|
-
}, RS, E, R>(client: HttpClient.HttpClient<HttpClientResponse, E, R>, schema: Schema<To, From, RS>) => HttpClient.HttpClient<{
|
|
29
|
-
body: To;
|
|
30
|
-
headers: Headers;
|
|
31
|
-
status: number;
|
|
32
|
-
remoteAddress: Option.Option<string>;
|
|
33
|
-
}, HttpClientError.ResponseError | E | S.ParseResult.ParseError, RS | R>;
|
|
34
|
-
/** @tsplus getter effect/platform/Http/Client demandJson */
|
|
35
|
-
export declare const demandJson: <E, R>(client: HttpClient.HttpClient<HttpClientResponse, E, R>) => HttpClient.HttpClient<HttpClientResponse, HttpClientError.ResponseError | E, R>;
|
|
36
|
-
//# sourceMappingURL=Request.d.ts.map
|
package/dist/Request.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"Request.d.ts","sourceRoot":"","sources":["../src/Request.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAA;AAChD,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,qCAAqC,CAAA;AAC7E,OAAO,EAAE,UAAU,EAAE,eAAe,EAAkC,MAAM,WAAW,CAAA;AACvF,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,UAAU,CAAA;AAE5C,MAAM,WAAW,gBAAgB,CAAC,CAAC,CAAE,SAAQ,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,QAAQ,GAAG,eAAe,CAAC;IAC3G,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAA;CACjB;AAKD;;GAEG;AACH,eAAO,MAAM,oBAAoB,aACrB,kBAAkB,mFAOzB,CAAA;AAEL;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,UACvC,UAAU,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,UAC/C,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,oGAG7B,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,oBAAoB,GAAI,EAAE,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,UACzC,UAAU,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,UAC/C,MAAM,CAAC,EAAE,EAAE,IAAI,CAAC,oEAGzB,CAAA;AAED;;GAEG;AACH,eAAO,MAAM,sBAAsB,GACjC,EAAE,EACF,IAAI,SAAS;IACX,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,OAAO,CAAC,EAAE,OAAO,CAAA;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAA;CACxB,EACD,EAAE,EACF,CAAC,EACD,CAAC,UAEO,UAAU,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,UAC/C,MAAM,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;;;;;wEAU7B,CAAA;AAED,4DAA4D;AAC5D,eAAO,MAAM,UAAU,GAAI,CAAC,EAAE,CAAC,UAAU,UAAU,CAAC,UAAU,CAAC,kBAAkB,EAAE,CAAC,EAAE,CAAC,CAAC,oFAmBlF,CAAA"}
|
package/dist/Request.js
DELETED
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import { HttpClient, HttpClientError, HttpClientRequest, HttpHeaders } from "./http.js";
|
|
2
|
-
import { Effect, Option, S } from "./lib.js";
|
|
3
|
-
// TODO: consider rebuilding the text/json helpers to use a cached effect
|
|
4
|
-
// https://discord.com/channels/795981131316985866/1098177242598756412/1168565257569046712
|
|
5
|
-
/**
|
|
6
|
-
* @tsplus getter effect/platform/Http/ClientResponse responseWithJsonBody
|
|
7
|
-
*/
|
|
8
|
-
export const responseWithJsonBody = (response) => Effect.map(response.json, (body) => ({
|
|
9
|
-
body,
|
|
10
|
-
headers: response.headers,
|
|
11
|
-
status: response.status,
|
|
12
|
-
remoteAddress: response.remoteAddress
|
|
13
|
-
}));
|
|
14
|
-
/**
|
|
15
|
-
* @tsplus fluent effect/platform/Http/Client schemaJsonBody
|
|
16
|
-
*/
|
|
17
|
-
export const schemaJsonBody = (client, schema) => {
|
|
18
|
-
return HttpClient.mapEffect(client, (_) => Effect.flatMap(_.json, S.decodeUnknown(schema)));
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* @tsplus fluent effect/platform/Http/Client schemaJsonBodyUnsafe
|
|
22
|
-
*/
|
|
23
|
-
export const schemaJsonBodyUnsafe = (client, schema) => {
|
|
24
|
-
return HttpClient.mapEffect(client, (_) => Effect.map(_.json, S.decodeUnknownSync(schema)));
|
|
25
|
-
};
|
|
26
|
-
/**
|
|
27
|
-
* @tsplus fluent effect/platform/Http/Client responseWithSchemaBody
|
|
28
|
-
*/
|
|
29
|
-
export const responseWithSchemaBody = (client, schema) => {
|
|
30
|
-
return HttpClient.mapEffect(client, (_) => Effect.flatMap(responseWithJsonBody(_), (_) => Effect.map(S.decodeUnknown(schema)(_.body), (body) => ({ ..._, body }))));
|
|
31
|
-
};
|
|
32
|
-
/** @tsplus getter effect/platform/Http/Client demandJson */
|
|
33
|
-
export const demandJson = (client) => HttpClient
|
|
34
|
-
.mapRequest(client, (_) => HttpClientRequest.acceptJson(_))
|
|
35
|
-
.pipe(HttpClient.transform((r, request) => Effect.tap(r, (response) => Option
|
|
36
|
-
.getOrUndefined(HttpHeaders
|
|
37
|
-
.get(response.headers, "Content-Type"))
|
|
38
|
-
?.startsWith("application/json")
|
|
39
|
-
? Effect.void
|
|
40
|
-
: Effect.fail(new HttpClientError.ResponseError({
|
|
41
|
-
request,
|
|
42
|
-
response,
|
|
43
|
-
reason: "Decode",
|
|
44
|
-
description: "not json response: "
|
|
45
|
-
+ Option.getOrUndefined(HttpHeaders.get(response.headers, "Content-Type"))
|
|
46
|
-
})))));
|
|
47
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVxdWVzdC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9SZXF1ZXN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUdBLE9BQU8sRUFBRSxVQUFVLEVBQUUsZUFBZSxFQUFFLGlCQUFpQixFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQTtBQUN2RixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsTUFBTSxVQUFVLENBQUE7QUFNNUMseUVBQXlFO0FBQ3pFLDBGQUEwRjtBQUUxRjs7R0FFRztBQUNILE1BQU0sQ0FBQyxNQUFNLG9CQUFvQixHQUFHLENBQ2xDLFFBQTRCLEVBQzVCLEVBQUUsQ0FDRixNQUFNLENBQUMsR0FBRyxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLEVBQTZCLEVBQUUsQ0FBQyxDQUFDO0lBQzlELElBQUk7SUFDSixPQUFPLEVBQUUsUUFBUSxDQUFDLE9BQU87SUFDekIsTUFBTSxFQUFFLFFBQVEsQ0FBQyxNQUFNO0lBQ3ZCLGFBQWEsRUFBRSxRQUFRLENBQUMsYUFBYTtDQUN0QyxDQUFDLENBQUMsQ0FBQTtBQUVMOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHLENBQzVCLE1BQXVELEVBQ3ZELE1BQTRCLEVBQzVCLEVBQUU7SUFDRixPQUFPLFVBQVUsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDN0YsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxNQUF1RCxFQUN2RCxNQUF3QixFQUN4QixFQUFFO0lBQ0YsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUE7QUFDN0YsQ0FBQyxDQUFBO0FBRUQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxzQkFBc0IsR0FBRyxDQVdwQyxNQUF1RCxFQUN2RCxNQUE0QixFQUM1QixFQUFFO0lBQ0YsT0FBTyxVQUFVLENBQUMsU0FBUyxDQUN6QixNQUFNLEVBQ04sQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUNKLE1BQU0sQ0FBQyxPQUFPLENBQ1osb0JBQW9CLENBQUMsQ0FBQyxDQUFDLEVBQ3ZCLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUMvRSxDQUNKLENBQUE7QUFDSCxDQUFDLENBQUE7QUFFRCw0REFBNEQ7QUFDNUQsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQU8sTUFBdUQsRUFBRSxFQUFFLENBQzFGLFVBQVU7S0FDUCxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUM7S0FDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxFQUFFLEVBQUUsQ0FDeEMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUN6QixNQUFNO0tBQ0QsY0FBYyxDQUFDLFdBQVc7S0FDeEIsR0FBRyxDQUFDLFFBQVEsQ0FBQyxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUM7SUFDekMsRUFBRSxVQUFVLENBQUMsa0JBQWtCLENBQUM7SUFDbEMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJO0lBQ2IsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ1gsSUFBSSxlQUFlLENBQUMsYUFBYSxDQUFDO1FBQ2hDLE9BQU87UUFDUCxRQUFRO1FBQ1IsTUFBTSxFQUFFLFFBQVE7UUFDaEIsV0FBVyxFQUFFLHFCQUFxQjtjQUM5QixNQUFNLENBQUMsY0FBYyxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDLE9BQU8sRUFBRSxjQUFjLENBQUMsQ0FBQztLQUM3RSxDQUFDLENBQ0gsQ0FBQyxDQUNQLENBQUMsQ0FBQSJ9
|
package/src/Request.ts
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
import type { Schema } from "@effect-app/schema"
|
|
2
|
-
import type { Headers } from "@effect/platform/Headers"
|
|
3
|
-
import type { HttpClientResponse } from "@effect/platform/HttpClientResponse"
|
|
4
|
-
import { HttpClient, HttpClientError, HttpClientRequest, HttpHeaders } from "./http.js"
|
|
5
|
-
import { Effect, Option, S } from "./lib.js"
|
|
6
|
-
|
|
7
|
-
export interface ResponseWithBody<A> extends Pick<HttpClientResponse, "headers" | "status" | "remoteAddress"> {
|
|
8
|
-
readonly body: A
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
// TODO: consider rebuilding the text/json helpers to use a cached effect
|
|
12
|
-
// https://discord.com/channels/795981131316985866/1098177242598756412/1168565257569046712
|
|
13
|
-
|
|
14
|
-
/**
|
|
15
|
-
* @tsplus getter effect/platform/Http/ClientResponse responseWithJsonBody
|
|
16
|
-
*/
|
|
17
|
-
export const responseWithJsonBody = (
|
|
18
|
-
response: HttpClientResponse
|
|
19
|
-
) =>
|
|
20
|
-
Effect.map(response.json, (body): ResponseWithBody<unknown> => ({
|
|
21
|
-
body,
|
|
22
|
-
headers: response.headers,
|
|
23
|
-
status: response.status,
|
|
24
|
-
remoteAddress: response.remoteAddress
|
|
25
|
-
}))
|
|
26
|
-
|
|
27
|
-
/**
|
|
28
|
-
* @tsplus fluent effect/platform/Http/Client schemaJsonBody
|
|
29
|
-
*/
|
|
30
|
-
export const schemaJsonBody = <RS, To, From, E, R>(
|
|
31
|
-
client: HttpClient.HttpClient<HttpClientResponse, E, R>,
|
|
32
|
-
schema: Schema<To, From, RS>
|
|
33
|
-
) => {
|
|
34
|
-
return HttpClient.mapEffect(client, (_) => Effect.flatMap(_.json, S.decodeUnknown(schema)))
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
/**
|
|
38
|
-
* @tsplus fluent effect/platform/Http/Client schemaJsonBodyUnsafe
|
|
39
|
-
*/
|
|
40
|
-
export const schemaJsonBodyUnsafe = <To, From, E, R>(
|
|
41
|
-
client: HttpClient.HttpClient<HttpClientResponse, E, R>,
|
|
42
|
-
schema: Schema<To, From>
|
|
43
|
-
) => {
|
|
44
|
-
return HttpClient.mapEffect(client, (_) => Effect.map(_.json, S.decodeUnknownSync(schema)))
|
|
45
|
-
}
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* @tsplus fluent effect/platform/Http/Client responseWithSchemaBody
|
|
49
|
-
*/
|
|
50
|
-
export const responseWithSchemaBody = <
|
|
51
|
-
To,
|
|
52
|
-
From extends {
|
|
53
|
-
readonly status?: number
|
|
54
|
-
readonly headers?: Headers
|
|
55
|
-
readonly body?: unknown
|
|
56
|
-
},
|
|
57
|
-
RS,
|
|
58
|
-
E,
|
|
59
|
-
R
|
|
60
|
-
>(
|
|
61
|
-
client: HttpClient.HttpClient<HttpClientResponse, E, R>,
|
|
62
|
-
schema: Schema<To, From, RS>
|
|
63
|
-
) => {
|
|
64
|
-
return HttpClient.mapEffect(
|
|
65
|
-
client,
|
|
66
|
-
(_) =>
|
|
67
|
-
Effect.flatMap(
|
|
68
|
-
responseWithJsonBody(_),
|
|
69
|
-
(_) => Effect.map(S.decodeUnknown(schema)(_.body), (body) => ({ ..._, body }))
|
|
70
|
-
)
|
|
71
|
-
)
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/** @tsplus getter effect/platform/Http/Client demandJson */
|
|
75
|
-
export const demandJson = <E, R>(client: HttpClient.HttpClient<HttpClientResponse, E, R>) =>
|
|
76
|
-
HttpClient
|
|
77
|
-
.mapRequest(client, (_) => HttpClientRequest.acceptJson(_))
|
|
78
|
-
.pipe(HttpClient.transform((r, request) =>
|
|
79
|
-
Effect.tap(r, (response) =>
|
|
80
|
-
Option
|
|
81
|
-
.getOrUndefined(HttpHeaders
|
|
82
|
-
.get(response.headers, "Content-Type"))
|
|
83
|
-
?.startsWith("application/json")
|
|
84
|
-
? Effect.void
|
|
85
|
-
: Effect.fail(
|
|
86
|
-
new HttpClientError.ResponseError({
|
|
87
|
-
request,
|
|
88
|
-
response,
|
|
89
|
-
reason: "Decode",
|
|
90
|
-
description: "not json response: "
|
|
91
|
-
+ Option.getOrUndefined(HttpHeaders.get(response.headers, "Content-Type"))
|
|
92
|
-
})
|
|
93
|
-
))
|
|
94
|
-
))
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
// packages/prelude/vitest.config.ts
|
|
2
|
-
import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.1.5_@types+node@20.11.25/node_modules/vite/dist/node/index.js";
|
|
3
|
-
|
|
4
|
-
// vite.config.base.ts
|
|
5
|
-
import path from "path";
|
|
6
|
-
import fs from "fs";
|
|
7
|
-
var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
|
|
8
|
-
function makeConfig(dirName) {
|
|
9
|
-
const prefix = path.resolve(__vite_injected_original_dirname, "packages");
|
|
10
|
-
const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
|
|
11
|
-
const cfg = {
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
13
|
-
//plugins: [autoImport],
|
|
14
|
-
test: {
|
|
15
|
-
include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
|
|
16
|
-
reporters: "verbose",
|
|
17
|
-
globals: true
|
|
18
|
-
},
|
|
19
|
-
resolve: packages.reduce((acc, cur) => {
|
|
20
|
-
acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, "src");
|
|
21
|
-
return acc;
|
|
22
|
-
}, {})
|
|
23
|
-
};
|
|
24
|
-
return cfg;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
// packages/prelude/vitest.config.ts
|
|
28
|
-
var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/prelude";
|
|
29
|
-
var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
|
|
30
|
-
export {
|
|
31
|
-
vitest_config_default as default
|
|
32
|
-
};
|
|
33
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzIiwgInZpdGUuY29uZmlnLmJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL3ByZWx1ZGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzXCI7Ly8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlc3RcIiAvPlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IG1ha2VDb25maWcgZnJvbSBcIi4uLy4uL3ZpdGUuY29uZmlnLmJhc2VcIlxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcobWFrZUNvbmZpZyhfX2Rpcm5hbWUpKVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy92aXRlLmNvbmZpZy5iYXNlLnRzXCI7Ly8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlc3RcIiAvPlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tIFwidW5wbHVnaW4tYXV0by1pbXBvcnQvdml0ZVwiXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZXN0L2NvbmZpZ1wiXG5cbi8vIGNvbnN0IGF1dG9JbXBvcnQgPSBBdXRvSW1wb3J0KHtcbi8vICAgZHRzOiBcIi4vdGVzdC9hdXRvLWltcG9ydHMuZC50c1wiLFxuLy8gICAvLyBpbmNsdWRlOiBbXG4vLyAgIC8vICAgL1xcLnRlc3RcXC5bdGpdc3g/JC8gLy8gLnRzLCAudHN4LCAuanMsIC5qc3hcbi8vICAgLy8gXSxcbi8vICAgaW1wb3J0czogW1xuLy8gICAgIFwidml0ZXN0XCJcbi8vICAgXVxuLy8gfSlcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFrZUNvbmZpZyhkaXJOYW1lPzogc3RyaW5nKSB7XG4gIGNvbnN0IHByZWZpeCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIFwicGFja2FnZXNcIilcbiAgY29uc3QgcGFja2FnZXMgPSBmcy5yZWFkZGlyU3luYyhwcmVmaXgpLm1hcChmID0+IHByZWZpeCArIFwiL1wiICsgZikuZmlsdGVyKGYgPT4gZnMubHN0YXRTeW5jKGYpLmlzRGlyZWN0b3J5KCkgKVxuICBjb25zdCBjZmcgPSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICAvL3BsdWdpbnM6IFthdXRvSW1wb3J0XSxcbiAgICB0ZXN0OiB7XG4gICAgICBpbmNsdWRlOiAgW1wiLi90ZXN0LyoqLyoudGVzdC57anMsbWpzLGNqcyx0cyxtdHMsY3RzLGpzeCx0c3h9XCJdLFxuICAgICAgcmVwb3J0ZXJzOiBcInZlcmJvc2VcIixcbiAgICAgIGdsb2JhbHM6IHRydWVcbiAgICB9LFxuICAgIHJlc29sdmU6IHBhY2thZ2VzLnJlZHVjZSgoYWNjLCBjdXIpID0+IHtcbiAgICAgIGFjY1tKU09OLnBhcnNlKGZzLnJlYWRGaWxlU3luYyhjdXIgKyBcIi9wYWNrYWdlLmpzb25cIiwgXCJ1dGYtOFwiKSkubmFtZV0gPSBwYXRoLnJlc29sdmUoY3VyLCBcInNyY1wiKVxuICAgICAgcmV0dXJuIGFjY1xuICAgIH0sIHt9KVxuICB9XG4gIC8vY29uc29sZS5sb2coY2ZnKVxuICByZXR1cm4gY2ZnXG59XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQ0EsU0FBUyxvQkFBb0I7OztBQ0E3QixPQUFPLFVBQVU7QUFDakIsT0FBTyxRQUFRO0FBRmYsSUFBTSxtQ0FBbUM7QUFnQjFCLFNBQVIsV0FBNEIsU0FBa0I7QUFDbkQsUUFBTSxTQUFTLEtBQUssUUFBUSxrQ0FBVyxVQUFVO0FBQ2pELFFBQU0sV0FBVyxHQUFHLFlBQVksTUFBTSxFQUFFLElBQUksT0FBSyxTQUFTLE1BQU0sQ0FBQyxFQUFFLE9BQU8sT0FBSyxHQUFHLFVBQVUsQ0FBQyxFQUFFLFlBQVksQ0FBRTtBQUM3RyxRQUFNLE1BQU07QUFBQTtBQUFBO0FBQUEsSUFHVixNQUFNO0FBQUEsTUFDSixTQUFVLENBQUMsa0RBQWtEO0FBQUEsTUFDN0QsV0FBVztBQUFBLE1BQ1gsU0FBUztBQUFBLElBQ1g7QUFBQSxJQUNBLFNBQVMsU0FBUyxPQUFPLENBQUMsS0FBSyxRQUFRO0FBQ3JDLFVBQUksS0FBSyxNQUFNLEdBQUcsYUFBYSxNQUFNLGlCQUFpQixPQUFPLENBQUMsRUFBRSxJQUFJLElBQUksS0FBSyxRQUFRLEtBQUssS0FBSztBQUMvRixhQUFPO0FBQUEsSUFDVCxHQUFHLENBQUMsQ0FBQztBQUFBLEVBQ1A7QUFFQSxTQUFPO0FBQ1Q7OztBRGxDQSxJQUFNQSxvQ0FBbUM7QUFJekMsSUFBTyx3QkFBUSxhQUFhLFdBQVdDLGlDQUFTLENBQUM7IiwKICAibmFtZXMiOiBbIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIiwgIl9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lIl0KfQo=
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// packages/prelude/vitest.config.ts
|
|
2
|
-
import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.2.6_@types+node@20.11.30/node_modules/vite/dist/node/index.js";
|
|
3
|
-
|
|
4
|
-
// vite.config.base.ts
|
|
5
|
-
import path from "path";
|
|
6
|
-
import fs from "fs";
|
|
7
|
-
var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
|
|
8
|
-
function makeConfig(dirName) {
|
|
9
|
-
const prefix = path.resolve(__vite_injected_original_dirname, "packages");
|
|
10
|
-
const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
|
|
11
|
-
const cfg = {
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
13
|
-
//plugins: [autoImport],
|
|
14
|
-
test: {
|
|
15
|
-
include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
|
|
16
|
-
reporters: "verbose",
|
|
17
|
-
globals: true
|
|
18
|
-
},
|
|
19
|
-
resolve: {
|
|
20
|
-
alias: packages.reduce((acc, cur) => {
|
|
21
|
-
acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, cur.endsWith("core") ? "dist" : "src");
|
|
22
|
-
return acc;
|
|
23
|
-
}, {})
|
|
24
|
-
// "@effect-app/core/Prelude": path.join(__dirname, "packages/core/src/Prelude.code.ts")
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
console.log(cfg);
|
|
28
|
-
return cfg;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// packages/prelude/vitest.config.ts
|
|
32
|
-
var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/prelude";
|
|
33
|
-
var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
|
|
34
|
-
export {
|
|
35
|
-
vitest_config_default as default
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzIiwgInZpdGUuY29uZmlnLmJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL3ByZWx1ZGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzXCI7Ly8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlc3RcIiAvPlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IG1ha2VDb25maWcgZnJvbSBcIi4uLy4uL3ZpdGUuY29uZmlnLmJhc2VcIlxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcobWFrZUNvbmZpZyhfX2Rpcm5hbWUpKVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy92aXRlLmNvbmZpZy5iYXNlLnRzXCI7Ly8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlc3RcIiAvPlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tIFwidW5wbHVnaW4tYXV0by1pbXBvcnQvdml0ZVwiXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZXN0L2NvbmZpZ1wiXG5cbi8vIGNvbnN0IGF1dG9JbXBvcnQgPSBBdXRvSW1wb3J0KHtcbi8vICAgZHRzOiBcIi4vdGVzdC9hdXRvLWltcG9ydHMuZC50c1wiLFxuLy8gICAvLyBpbmNsdWRlOiBbXG4vLyAgIC8vICAgL1xcLnRlc3RcXC5bdGpdc3g/JC8gLy8gLnRzLCAudHN4LCAuanMsIC5qc3hcbi8vICAgLy8gXSxcbi8vICAgaW1wb3J0czogW1xuLy8gICAgIFwidml0ZXN0XCJcbi8vICAgXVxuLy8gfSlcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFrZUNvbmZpZyhkaXJOYW1lPzogc3RyaW5nKSB7XG4gIGNvbnN0IHByZWZpeCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIFwicGFja2FnZXNcIilcbiAgY29uc3QgcGFja2FnZXMgPSBmcy5yZWFkZGlyU3luYyhwcmVmaXgpLm1hcChmID0+IHByZWZpeCArIFwiL1wiICsgZikuZmlsdGVyKGYgPT4gZnMubHN0YXRTeW5jKGYpLmlzRGlyZWN0b3J5KCkgKVxuICBjb25zdCBjZmcgPSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICAvL3BsdWdpbnM6IFthdXRvSW1wb3J0XSxcbiAgICB0ZXN0OiB7XG4gICAgICBpbmNsdWRlOiAgW1wiLi90ZXN0LyoqLyoudGVzdC57anMsbWpzLGNqcyx0cyxtdHMsY3RzLGpzeCx0c3h9XCJdLFxuICAgICAgcmVwb3J0ZXJzOiBcInZlcmJvc2VcIixcbiAgICAgIGdsb2JhbHM6IHRydWVcbiAgICB9LFxuICAgIHJlc29sdmU6IHtcbiAgICAgIGFsaWFzOiBwYWNrYWdlcy5yZWR1Y2UoKGFjYywgY3VyKSA9PiB7IC8vIHdvcmthcm91bmQgZm9yIC9QcmVsdWRlIGlzc3VlXG4gICAgICBhY2NbSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY3VyICsgXCIvcGFja2FnZS5qc29uXCIsIFwidXRmLThcIikpLm5hbWVdID0gcGF0aC5yZXNvbHZlKGN1ciwgY3VyLmVuZHNXaXRoKFwiY29yZVwiKSA/IFwiZGlzdFwiIDogXCJzcmNcIilcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCB7IH0pIC8vIFwiQGVmZmVjdC1hcHAvY29yZS9QcmVsdWRlXCI6IHBhdGguam9pbihfX2Rpcm5hbWUsIFwicGFja2FnZXMvY29yZS9zcmMvUHJlbHVkZS5jb2RlLnRzXCIpXG4gIH1cbiAgfVxuICBjb25zb2xlLmxvZyhjZmcpXG4gIHJldHVybiBjZmdcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxTQUFTLG9CQUFvQjs7O0FDQTdCLE9BQU8sVUFBVTtBQUNqQixPQUFPLFFBQVE7QUFGZixJQUFNLG1DQUFtQztBQWdCMUIsU0FBUixXQUE0QixTQUFrQjtBQUNuRCxRQUFNLFNBQVMsS0FBSyxRQUFRLGtDQUFXLFVBQVU7QUFDakQsUUFBTSxXQUFXLEdBQUcsWUFBWSxNQUFNLEVBQUUsSUFBSSxPQUFLLFNBQVMsTUFBTSxDQUFDLEVBQUUsT0FBTyxPQUFLLEdBQUcsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFFO0FBQzdHLFFBQU0sTUFBTTtBQUFBO0FBQUE7QUFBQSxJQUdWLE1BQU07QUFBQSxNQUNKLFNBQVUsQ0FBQyxrREFBa0Q7QUFBQSxNQUM3RCxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWDtBQUFBLElBQ0EsU0FBUztBQUFBLE1BQ1AsT0FBTyxTQUFTLE9BQU8sQ0FBQyxLQUFLLFFBQVE7QUFDckMsWUFBSSxLQUFLLE1BQU0sR0FBRyxhQUFhLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLFFBQVEsS0FBSyxJQUFJLFNBQVMsTUFBTSxJQUFJLFNBQVMsS0FBSztBQUMvSCxlQUFPO0FBQUEsTUFDVCxHQUFHLENBQUUsQ0FBQztBQUFBO0FBQUEsSUFDUjtBQUFBLEVBQ0E7QUFDQSxVQUFRLElBQUksR0FBRztBQUNmLFNBQU87QUFDVDs7O0FEcENBLElBQU1BLG9DQUFtQztBQUl6QyxJQUFPLHdCQUFRLGFBQWEsV0FBV0MsaUNBQVMsQ0FBQzsiLAogICJuYW1lcyI6IFsiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiXQp9Cg==
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// packages/prelude/vitest.config.ts
|
|
2
|
-
import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.2.6_@types+node@20.11.30/node_modules/vite/dist/node/index.js";
|
|
3
|
-
|
|
4
|
-
// vite.config.base.ts
|
|
5
|
-
import path from "path";
|
|
6
|
-
import fs from "fs";
|
|
7
|
-
var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
|
|
8
|
-
function makeConfig(dirName) {
|
|
9
|
-
const prefix = path.resolve(__vite_injected_original_dirname, "packages");
|
|
10
|
-
const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
|
|
11
|
-
const cfg = {
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
13
|
-
//plugins: [autoImport],
|
|
14
|
-
test: {
|
|
15
|
-
include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
|
|
16
|
-
reporters: "verbose",
|
|
17
|
-
globals: true
|
|
18
|
-
},
|
|
19
|
-
resolve: {
|
|
20
|
-
alias: packages.reduce((acc, cur) => {
|
|
21
|
-
acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, cur.endsWith("core") ? "dist" : "src");
|
|
22
|
-
return acc;
|
|
23
|
-
}, {})
|
|
24
|
-
// "@effect-app/core/Prelude": path.join(__dirname, "packages/core/src/Prelude.code.ts")
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
console.log(cfg);
|
|
28
|
-
return cfg;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// packages/prelude/vitest.config.ts
|
|
32
|
-
var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/prelude";
|
|
33
|
-
var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
|
|
34
|
-
export {
|
|
35
|
-
vitest_config_default as default
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzIiwgInZpdGUuY29uZmlnLmJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL3ByZWx1ZGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzXCI7Ly8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlc3RcIiAvPlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IG1ha2VDb25maWcgZnJvbSBcIi4uLy4uL3ZpdGUuY29uZmlnLmJhc2VcIlxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcobWFrZUNvbmZpZyhfX2Rpcm5hbWUpKVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy92aXRlLmNvbmZpZy5iYXNlLnRzXCI7Ly8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlc3RcIiAvPlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tIFwidW5wbHVnaW4tYXV0by1pbXBvcnQvdml0ZVwiXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZXN0L2NvbmZpZ1wiXG5cbi8vIGNvbnN0IGF1dG9JbXBvcnQgPSBBdXRvSW1wb3J0KHtcbi8vICAgZHRzOiBcIi4vdGVzdC9hdXRvLWltcG9ydHMuZC50c1wiLFxuLy8gICAvLyBpbmNsdWRlOiBbXG4vLyAgIC8vICAgL1xcLnRlc3RcXC5bdGpdc3g/JC8gLy8gLnRzLCAudHN4LCAuanMsIC5qc3hcbi8vICAgLy8gXSxcbi8vICAgaW1wb3J0czogW1xuLy8gICAgIFwidml0ZXN0XCJcbi8vICAgXVxuLy8gfSlcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFrZUNvbmZpZyhkaXJOYW1lPzogc3RyaW5nKSB7XG4gIGNvbnN0IHByZWZpeCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIFwicGFja2FnZXNcIilcbiAgY29uc3QgcGFja2FnZXMgPSBmcy5yZWFkZGlyU3luYyhwcmVmaXgpLm1hcChmID0+IHByZWZpeCArIFwiL1wiICsgZikuZmlsdGVyKGYgPT4gZnMubHN0YXRTeW5jKGYpLmlzRGlyZWN0b3J5KCkgKVxuICBjb25zdCBjZmcgPSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICAvL3BsdWdpbnM6IFthdXRvSW1wb3J0XSxcbiAgICB0ZXN0OiB7XG4gICAgICBpbmNsdWRlOiAgW1wiLi90ZXN0LyoqLyoudGVzdC57anMsbWpzLGNqcyx0cyxtdHMsY3RzLGpzeCx0c3h9XCJdLFxuICAgICAgcmVwb3J0ZXJzOiBcInZlcmJvc2VcIixcbiAgICAgIGdsb2JhbHM6IHRydWVcbiAgICB9LFxuICAgIHJlc29sdmU6IHtcbiAgICAgIGFsaWFzOiBwYWNrYWdlcy5yZWR1Y2UoKGFjYywgY3VyKSA9PiB7IC8vIHdvcmthcm91bmQgZm9yIC9QcmVsdWRlIGlzc3VlXG4gICAgICBhY2NbSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY3VyICsgXCIvcGFja2FnZS5qc29uXCIsIFwidXRmLThcIikpLm5hbWVdID0gcGF0aC5yZXNvbHZlKGN1ciwgY3VyLmVuZHNXaXRoKFwiY29yZVwiKSA/IFwiZGlzdFwiIDogXCJzcmNcIilcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCB7IH0pIC8vIFwiQGVmZmVjdC1hcHAvY29yZS9QcmVsdWRlXCI6IHBhdGguam9pbihfX2Rpcm5hbWUsIFwicGFja2FnZXMvY29yZS9zcmMvUHJlbHVkZS5jb2RlLnRzXCIpXG4gIH1cbiAgfVxuICBjb25zb2xlLmxvZyhjZmcpXG4gIHJldHVybiBjZmdcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxTQUFTLG9CQUFvQjs7O0FDQTdCLE9BQU8sVUFBVTtBQUNqQixPQUFPLFFBQVE7QUFGZixJQUFNLG1DQUFtQztBQWdCMUIsU0FBUixXQUE0QixTQUFrQjtBQUNuRCxRQUFNLFNBQVMsS0FBSyxRQUFRLGtDQUFXLFVBQVU7QUFDakQsUUFBTSxXQUFXLEdBQUcsWUFBWSxNQUFNLEVBQUUsSUFBSSxPQUFLLFNBQVMsTUFBTSxDQUFDLEVBQUUsT0FBTyxPQUFLLEdBQUcsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFFO0FBQzdHLFFBQU0sTUFBTTtBQUFBO0FBQUE7QUFBQSxJQUdWLE1BQU07QUFBQSxNQUNKLFNBQVUsQ0FBQyxrREFBa0Q7QUFBQSxNQUM3RCxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWDtBQUFBLElBQ0EsU0FBUztBQUFBLE1BQ1AsT0FBTyxTQUFTLE9BQU8sQ0FBQyxLQUFLLFFBQVE7QUFDckMsWUFBSSxLQUFLLE1BQU0sR0FBRyxhQUFhLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLFFBQVEsS0FBSyxJQUFJLFNBQVMsTUFBTSxJQUFJLFNBQVMsS0FBSztBQUMvSCxlQUFPO0FBQUEsTUFDVCxHQUFHLENBQUUsQ0FBQztBQUFBO0FBQUEsSUFDUjtBQUFBLEVBQ0E7QUFDQSxVQUFRLElBQUksR0FBRztBQUNmLFNBQU87QUFDVDs7O0FEcENBLElBQU1BLG9DQUFtQztBQUl6QyxJQUFPLHdCQUFRLGFBQWEsV0FBV0MsaUNBQVMsQ0FBQzsiLAogICJuYW1lcyI6IFsiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiXQp9Cg==
|
|
File without changes
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
// packages/prelude/vitest.config.ts
|
|
2
|
-
import { defineConfig } from "file:///Users/patrickroza/pj/effect-app/libs/node_modules/.pnpm/vite@5.2.6_@types+node@20.11.30/node_modules/vite/dist/node/index.js";
|
|
3
|
-
|
|
4
|
-
// vite.config.base.ts
|
|
5
|
-
import path from "path";
|
|
6
|
-
import fs from "fs";
|
|
7
|
-
var __vite_injected_original_dirname = "/Users/patrickroza/pj/effect-app/libs";
|
|
8
|
-
function makeConfig(dirName) {
|
|
9
|
-
const prefix = path.resolve(__vite_injected_original_dirname, "packages");
|
|
10
|
-
const packages = fs.readdirSync(prefix).map((f) => prefix + "/" + f).filter((f) => fs.lstatSync(f).isDirectory());
|
|
11
|
-
const cfg = {
|
|
12
|
-
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
13
|
-
//plugins: [autoImport],
|
|
14
|
-
test: {
|
|
15
|
-
include: ["./test/**/*.test.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"],
|
|
16
|
-
reporters: "verbose",
|
|
17
|
-
globals: true
|
|
18
|
-
},
|
|
19
|
-
resolve: {
|
|
20
|
-
alias: packages.reduce((acc, cur) => {
|
|
21
|
-
acc[JSON.parse(fs.readFileSync(cur + "/package.json", "utf-8")).name] = path.resolve(cur, cur.endsWith("core") ? "dist" : "src");
|
|
22
|
-
return acc;
|
|
23
|
-
}, {})
|
|
24
|
-
// "@effect-app/core/Prelude": path.join(__dirname, "packages/core/src/Prelude.code.ts")
|
|
25
|
-
}
|
|
26
|
-
};
|
|
27
|
-
console.log(cfg);
|
|
28
|
-
return cfg;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
// packages/prelude/vitest.config.ts
|
|
32
|
-
var __vite_injected_original_dirname2 = "/Users/patrickroza/pj/effect-app/libs/packages/prelude";
|
|
33
|
-
var vitest_config_default = defineConfig(makeConfig(__vite_injected_original_dirname2));
|
|
34
|
-
export {
|
|
35
|
-
vitest_config_default as default
|
|
36
|
-
};
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsicGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzIiwgInZpdGUuY29uZmlnLmJhc2UudHMiXSwKICAic291cmNlc0NvbnRlbnQiOiBbImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3BhY2thZ2VzL3ByZWx1ZGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIi9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9Vc2Vycy9wYXRyaWNrcm96YS9wai9lZmZlY3QtYXBwL2xpYnMvcGFja2FnZXMvcHJlbHVkZS92aXRlc3QuY29uZmlnLnRzXCI7Ly8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlc3RcIiAvPlxuaW1wb3J0IHsgZGVmaW5lQ29uZmlnIH0gZnJvbSBcInZpdGVcIlxuaW1wb3J0IG1ha2VDb25maWcgZnJvbSBcIi4uLy4uL3ZpdGUuY29uZmlnLmJhc2VcIlxuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcobWFrZUNvbmZpZyhfX2Rpcm5hbWUpKVxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCIvVXNlcnMvcGF0cmlja3JvemEvcGovZWZmZWN0LWFwcC9saWJzL3ZpdGUuY29uZmlnLmJhc2UudHNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL1VzZXJzL3BhdHJpY2tyb3phL3BqL2VmZmVjdC1hcHAvbGlicy92aXRlLmNvbmZpZy5iYXNlLnRzXCI7Ly8vIDxyZWZlcmVuY2UgdHlwZXM9XCJ2aXRlc3RcIiAvPlxuaW1wb3J0IHBhdGggZnJvbSBcInBhdGhcIlxuaW1wb3J0IGZzIGZyb20gXCJmc1wiXG5pbXBvcnQgQXV0b0ltcG9ydCBmcm9tIFwidW5wbHVnaW4tYXV0by1pbXBvcnQvdml0ZVwiXG5pbXBvcnQgeyBkZWZpbmVDb25maWcgfSBmcm9tIFwidml0ZXN0L2NvbmZpZ1wiXG5cbi8vIGNvbnN0IGF1dG9JbXBvcnQgPSBBdXRvSW1wb3J0KHtcbi8vICAgZHRzOiBcIi4vdGVzdC9hdXRvLWltcG9ydHMuZC50c1wiLFxuLy8gICAvLyBpbmNsdWRlOiBbXG4vLyAgIC8vICAgL1xcLnRlc3RcXC5bdGpdc3g/JC8gLy8gLnRzLCAudHN4LCAuanMsIC5qc3hcbi8vICAgLy8gXSxcbi8vICAgaW1wb3J0czogW1xuLy8gICAgIFwidml0ZXN0XCJcbi8vICAgXVxuLy8gfSlcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gbWFrZUNvbmZpZyhkaXJOYW1lPzogc3RyaW5nKSB7XG4gIGNvbnN0IHByZWZpeCA9IHBhdGgucmVzb2x2ZShfX2Rpcm5hbWUsIFwicGFja2FnZXNcIilcbiAgY29uc3QgcGFja2FnZXMgPSBmcy5yZWFkZGlyU3luYyhwcmVmaXgpLm1hcChmID0+IHByZWZpeCArIFwiL1wiICsgZikuZmlsdGVyKGYgPT4gZnMubHN0YXRTeW5jKGYpLmlzRGlyZWN0b3J5KCkgKVxuICBjb25zdCBjZmcgPSB7XG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby12YXItcmVxdWlyZXNcbiAgICAvL3BsdWdpbnM6IFthdXRvSW1wb3J0XSxcbiAgICB0ZXN0OiB7XG4gICAgICBpbmNsdWRlOiAgW1wiLi90ZXN0LyoqLyoudGVzdC57anMsbWpzLGNqcyx0cyxtdHMsY3RzLGpzeCx0c3h9XCJdLFxuICAgICAgcmVwb3J0ZXJzOiBcInZlcmJvc2VcIixcbiAgICAgIGdsb2JhbHM6IHRydWVcbiAgICB9LFxuICAgIHJlc29sdmU6IHtcbiAgICAgIGFsaWFzOiBwYWNrYWdlcy5yZWR1Y2UoKGFjYywgY3VyKSA9PiB7IC8vIHdvcmthcm91bmQgZm9yIC9QcmVsdWRlIGlzc3VlXG4gICAgICBhY2NbSlNPTi5wYXJzZShmcy5yZWFkRmlsZVN5bmMoY3VyICsgXCIvcGFja2FnZS5qc29uXCIsIFwidXRmLThcIikpLm5hbWVdID0gcGF0aC5yZXNvbHZlKGN1ciwgY3VyLmVuZHNXaXRoKFwiY29yZVwiKSA/IFwiZGlzdFwiIDogXCJzcmNcIilcbiAgICAgIHJldHVybiBhY2NcbiAgICB9LCB7IH0pIC8vIFwiQGVmZmVjdC1hcHAvY29yZS9QcmVsdWRlXCI6IHBhdGguam9pbihfX2Rpcm5hbWUsIFwicGFja2FnZXMvY29yZS9zcmMvUHJlbHVkZS5jb2RlLnRzXCIpXG4gIH1cbiAgfVxuICBjb25zb2xlLmxvZyhjZmcpXG4gIHJldHVybiBjZmdcbn1cbiJdLAogICJtYXBwaW5ncyI6ICI7QUFDQSxTQUFTLG9CQUFvQjs7O0FDQTdCLE9BQU8sVUFBVTtBQUNqQixPQUFPLFFBQVE7QUFGZixJQUFNLG1DQUFtQztBQWdCMUIsU0FBUixXQUE0QixTQUFrQjtBQUNuRCxRQUFNLFNBQVMsS0FBSyxRQUFRLGtDQUFXLFVBQVU7QUFDakQsUUFBTSxXQUFXLEdBQUcsWUFBWSxNQUFNLEVBQUUsSUFBSSxPQUFLLFNBQVMsTUFBTSxDQUFDLEVBQUUsT0FBTyxPQUFLLEdBQUcsVUFBVSxDQUFDLEVBQUUsWUFBWSxDQUFFO0FBQzdHLFFBQU0sTUFBTTtBQUFBO0FBQUE7QUFBQSxJQUdWLE1BQU07QUFBQSxNQUNKLFNBQVUsQ0FBQyxrREFBa0Q7QUFBQSxNQUM3RCxXQUFXO0FBQUEsTUFDWCxTQUFTO0FBQUEsSUFDWDtBQUFBLElBQ0EsU0FBUztBQUFBLE1BQ1AsT0FBTyxTQUFTLE9BQU8sQ0FBQyxLQUFLLFFBQVE7QUFDckMsWUFBSSxLQUFLLE1BQU0sR0FBRyxhQUFhLE1BQU0saUJBQWlCLE9BQU8sQ0FBQyxFQUFFLElBQUksSUFBSSxLQUFLLFFBQVEsS0FBSyxJQUFJLFNBQVMsTUFBTSxJQUFJLFNBQVMsS0FBSztBQUMvSCxlQUFPO0FBQUEsTUFDVCxHQUFHLENBQUUsQ0FBQztBQUFBO0FBQUEsSUFDUjtBQUFBLEVBQ0E7QUFDQSxVQUFRLElBQUksR0FBRztBQUNmLFNBQU87QUFDVDs7O0FEcENBLElBQU1BLG9DQUFtQztBQUl6QyxJQUFPLHdCQUFRLGFBQWEsV0FBV0MsaUNBQVMsQ0FBQzsiLAogICJuYW1lcyI6IFsiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiLCAiX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUiXQp9Cg==
|
|
File without changes
|