@bleedingdev/modern-js-plugin-bff 3.4.0-ultramodern.1 → 3.4.0-ultramodern.10
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/dist/cjs/runtime/effect/adapter.js +6 -1
- package/dist/cjs/runtime/effect/handler.js +39 -2
- package/dist/cjs/runtime/effect-client/index.js +4 -0
- package/dist/esm/runtime/effect/adapter.mjs +6 -1
- package/dist/esm/runtime/effect/handler.mjs +39 -2
- package/dist/esm/runtime/effect-client/index.mjs +2 -1
- package/dist/esm-node/runtime/effect/adapter.mjs +6 -1
- package/dist/esm-node/runtime/effect/handler.mjs +39 -2
- package/dist/esm-node/runtime/effect-client/index.mjs +2 -1
- package/dist/types/runtime/effect-client/index.d.ts +2 -3
- package/package.json +17 -17
|
@@ -64,6 +64,11 @@ const JS_OR_TS_EXTS = [
|
|
|
64
64
|
'.cjs',
|
|
65
65
|
'.cts'
|
|
66
66
|
];
|
|
67
|
+
function resolveJsOrTsEntry(entryWithoutOrWithExt) {
|
|
68
|
+
const extension = external_path_default().extname(entryWithoutOrWithExt);
|
|
69
|
+
if (JS_OR_TS_EXTS.includes(extension)) return utils_namespaceObject.fs.existsSync(entryWithoutOrWithExt) ? entryWithoutOrWithExt : void 0;
|
|
70
|
+
return (0, utils_namespaceObject.findExists)(JS_OR_TS_EXTS.map((ext)=>`${entryWithoutOrWithExt}${ext}`));
|
|
71
|
+
}
|
|
67
72
|
function normalizePrefix(prefix) {
|
|
68
73
|
if ('/' === prefix) return '';
|
|
69
74
|
return prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
|
|
@@ -91,7 +96,7 @@ class EffectAdapter {
|
|
|
91
96
|
const configuredEntry = bffConfig?.effect?.entry;
|
|
92
97
|
const defaultEntry = external_path_default().resolve(appDirectory || process.cwd(), apiDirectory || utils_namespaceObject.API_DIR, 'effect', 'index');
|
|
93
98
|
const entryWithoutExt = configuredEntry ? external_path_default().isAbsolute(configuredEntry) ? configuredEntry : external_path_default().resolve(appDirectory || process.cwd(), configuredEntry) : defaultEntry;
|
|
94
|
-
return (
|
|
99
|
+
return resolveJsOrTsEntry(entryWithoutExt);
|
|
95
100
|
}
|
|
96
101
|
isApiRequestPath(requestPath, prefix, enableHandleWeb) {
|
|
97
102
|
if (!enableHandleWeb) return true;
|
|
@@ -202,6 +202,41 @@ var __webpack_exports__ = {};
|
|
|
202
202
|
}
|
|
203
203
|
});
|
|
204
204
|
}
|
|
205
|
+
function createJsonValidationResponse(message, status = 400) {
|
|
206
|
+
return new Response(JSON.stringify({
|
|
207
|
+
message
|
|
208
|
+
}), {
|
|
209
|
+
status,
|
|
210
|
+
headers: {
|
|
211
|
+
'content-type': 'application/json; charset=utf-8'
|
|
212
|
+
}
|
|
213
|
+
});
|
|
214
|
+
}
|
|
215
|
+
function cloneWithoutJsonBodyHeaders(request) {
|
|
216
|
+
const headers = new Headers(request.headers);
|
|
217
|
+
headers.delete('content-type');
|
|
218
|
+
headers.delete('content-length');
|
|
219
|
+
return new Request(request.url, {
|
|
220
|
+
method: request.method,
|
|
221
|
+
headers,
|
|
222
|
+
signal: request.signal
|
|
223
|
+
});
|
|
224
|
+
}
|
|
225
|
+
async function prepareJsonRequestBody(request) {
|
|
226
|
+
const method = normalizeItemMethod(request.method);
|
|
227
|
+
if ('GET' === method || 'HEAD' === method) return request;
|
|
228
|
+
const contentType = (request.headers.get('content-type') || '').toLowerCase();
|
|
229
|
+
if (!contentType.includes('application/json')) return request;
|
|
230
|
+
if (null === request.body) return cloneWithoutJsonBodyHeaders(request);
|
|
231
|
+
try {
|
|
232
|
+
const bodyText = await request.clone().text();
|
|
233
|
+
if ('' === bodyText) return cloneWithoutJsonBodyHeaders(request);
|
|
234
|
+
JSON.parse(bodyText);
|
|
235
|
+
} catch {
|
|
236
|
+
return createJsonValidationResponse('Invalid JSON request body');
|
|
237
|
+
}
|
|
238
|
+
return request;
|
|
239
|
+
}
|
|
205
240
|
function toBatchItemError(id, status, message) {
|
|
206
241
|
return {
|
|
207
242
|
id,
|
|
@@ -459,9 +494,11 @@ var __webpack_exports__ = {};
|
|
|
459
494
|
const withDataPlatformValidation = async (request, context)=>{
|
|
460
495
|
const policyDenial = options.validateRequest?.(request);
|
|
461
496
|
if (policyDenial) return policyDenial;
|
|
462
|
-
const
|
|
497
|
+
const preparedRequest = await prepareJsonRequestBody(request);
|
|
498
|
+
if (preparedRequest instanceof Response) return preparedRequest;
|
|
499
|
+
const validationError = validateDataPlatformRequestEnvelope(preparedRequest, options.dataPlatform);
|
|
463
500
|
if (validationError) return validationError;
|
|
464
|
-
return httpApiHandler.handler(
|
|
501
|
+
return httpApiHandler.handler(preparedRequest, context ?? emptyEffectServiceContext);
|
|
465
502
|
};
|
|
466
503
|
const handleBatchRequest = async (request, context)=>{
|
|
467
504
|
const mountedPrefix = getMountedPrefixFromContext(request, context);
|
|
@@ -35,6 +35,7 @@ __webpack_require__.d(__webpack_exports__, {
|
|
|
35
35
|
HttpApiEndpoint: ()=>httpapi_namespaceObject.HttpApiEndpoint,
|
|
36
36
|
HttpApiGroup: ()=>httpapi_namespaceObject.HttpApiGroup,
|
|
37
37
|
HttpApiSchema: ()=>httpapi_namespaceObject.HttpApiSchema,
|
|
38
|
+
HttpClientError: ()=>HttpClientError_namespaceObject,
|
|
38
39
|
Layer: ()=>Layer_namespaceObject,
|
|
39
40
|
Rpc: ()=>rpc_namespaceObject.Rpc,
|
|
40
41
|
RpcClient: ()=>rpc_namespaceObject.RpcClient,
|
|
@@ -60,6 +61,7 @@ const http_namespaceObject = require("effect/unstable/http");
|
|
|
60
61
|
const httpapi_namespaceObject = require("effect/unstable/httpapi");
|
|
61
62
|
const rpc_namespaceObject = require("effect/unstable/rpc");
|
|
62
63
|
const Schema_namespaceObject = require("effect/Schema");
|
|
64
|
+
const HttpClientError_namespaceObject = require("effect/unstable/http/HttpClientError");
|
|
63
65
|
class EffectRpcClientError extends Data_namespaceObject.TaggedError('EffectRpcClientError') {
|
|
64
66
|
}
|
|
65
67
|
function isRecord(value) {
|
|
@@ -162,6 +164,7 @@ exports.HttpApiClient = __webpack_exports__.HttpApiClient;
|
|
|
162
164
|
exports.HttpApiEndpoint = __webpack_exports__.HttpApiEndpoint;
|
|
163
165
|
exports.HttpApiGroup = __webpack_exports__.HttpApiGroup;
|
|
164
166
|
exports.HttpApiSchema = __webpack_exports__.HttpApiSchema;
|
|
167
|
+
exports.HttpClientError = __webpack_exports__.HttpClientError;
|
|
165
168
|
exports.Layer = __webpack_exports__.Layer;
|
|
166
169
|
exports.Rpc = __webpack_exports__.Rpc;
|
|
167
170
|
exports.RpcClient = __webpack_exports__.RpcClient;
|
|
@@ -183,6 +186,7 @@ for(var __rspack_i in __webpack_exports__)if (-1 === [
|
|
|
183
186
|
"HttpApiEndpoint",
|
|
184
187
|
"HttpApiGroup",
|
|
185
188
|
"HttpApiSchema",
|
|
189
|
+
"HttpClientError",
|
|
186
190
|
"Layer",
|
|
187
191
|
"Rpc",
|
|
188
192
|
"RpcClient",
|
|
@@ -22,6 +22,11 @@ const JS_OR_TS_EXTS = [
|
|
|
22
22
|
'.cjs',
|
|
23
23
|
'.cts'
|
|
24
24
|
];
|
|
25
|
+
function resolveJsOrTsEntry(entryWithoutOrWithExt) {
|
|
26
|
+
const extension = path.extname(entryWithoutOrWithExt);
|
|
27
|
+
if (JS_OR_TS_EXTS.includes(extension)) return fs.existsSync(entryWithoutOrWithExt) ? entryWithoutOrWithExt : void 0;
|
|
28
|
+
return findExists(JS_OR_TS_EXTS.map((ext)=>`${entryWithoutOrWithExt}${ext}`));
|
|
29
|
+
}
|
|
25
30
|
function normalizePrefix(prefix) {
|
|
26
31
|
if ('/' === prefix) return '';
|
|
27
32
|
return prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
|
|
@@ -49,7 +54,7 @@ class EffectAdapter {
|
|
|
49
54
|
const configuredEntry = bffConfig?.effect?.entry;
|
|
50
55
|
const defaultEntry = path.resolve(appDirectory || process.cwd(), apiDirectory || API_DIR, 'effect', 'index');
|
|
51
56
|
const entryWithoutExt = configuredEntry ? path.isAbsolute(configuredEntry) ? configuredEntry : path.resolve(appDirectory || process.cwd(), configuredEntry) : defaultEntry;
|
|
52
|
-
return
|
|
57
|
+
return resolveJsOrTsEntry(entryWithoutExt);
|
|
53
58
|
}
|
|
54
59
|
isApiRequestPath(requestPath, prefix, enableHandleWeb) {
|
|
55
60
|
if (!enableHandleWeb) return true;
|
|
@@ -74,6 +74,41 @@ function createBatchValidationResponse(message, status = 400) {
|
|
|
74
74
|
}
|
|
75
75
|
});
|
|
76
76
|
}
|
|
77
|
+
function createJsonValidationResponse(message, status = 400) {
|
|
78
|
+
return new Response(JSON.stringify({
|
|
79
|
+
message
|
|
80
|
+
}), {
|
|
81
|
+
status,
|
|
82
|
+
headers: {
|
|
83
|
+
'content-type': 'application/json; charset=utf-8'
|
|
84
|
+
}
|
|
85
|
+
});
|
|
86
|
+
}
|
|
87
|
+
function cloneWithoutJsonBodyHeaders(request) {
|
|
88
|
+
const headers = new Headers(request.headers);
|
|
89
|
+
headers.delete('content-type');
|
|
90
|
+
headers.delete('content-length');
|
|
91
|
+
return new Request(request.url, {
|
|
92
|
+
method: request.method,
|
|
93
|
+
headers,
|
|
94
|
+
signal: request.signal
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
async function prepareJsonRequestBody(request) {
|
|
98
|
+
const method = normalizeItemMethod(request.method);
|
|
99
|
+
if ('GET' === method || 'HEAD' === method) return request;
|
|
100
|
+
const contentType = (request.headers.get('content-type') || '').toLowerCase();
|
|
101
|
+
if (!contentType.includes('application/json')) return request;
|
|
102
|
+
if (null === request.body) return cloneWithoutJsonBodyHeaders(request);
|
|
103
|
+
try {
|
|
104
|
+
const bodyText = await request.clone().text();
|
|
105
|
+
if ('' === bodyText) return cloneWithoutJsonBodyHeaders(request);
|
|
106
|
+
JSON.parse(bodyText);
|
|
107
|
+
} catch {
|
|
108
|
+
return createJsonValidationResponse('Invalid JSON request body');
|
|
109
|
+
}
|
|
110
|
+
return request;
|
|
111
|
+
}
|
|
77
112
|
function toBatchItemError(id, status, message) {
|
|
78
113
|
return {
|
|
79
114
|
id,
|
|
@@ -331,9 +366,11 @@ function createHttpApiHandler(options) {
|
|
|
331
366
|
const withDataPlatformValidation = async (request, context)=>{
|
|
332
367
|
const policyDenial = options.validateRequest?.(request);
|
|
333
368
|
if (policyDenial) return policyDenial;
|
|
334
|
-
const
|
|
369
|
+
const preparedRequest = await prepareJsonRequestBody(request);
|
|
370
|
+
if (preparedRequest instanceof Response) return preparedRequest;
|
|
371
|
+
const validationError = validateDataPlatformRequestEnvelope(preparedRequest, options.dataPlatform);
|
|
335
372
|
if (validationError) return validationError;
|
|
336
|
-
return httpApiHandler.handler(
|
|
373
|
+
return httpApiHandler.handler(preparedRequest, context ?? emptyEffectServiceContext);
|
|
337
374
|
};
|
|
338
375
|
const handleBatchRequest = async (request, context)=>{
|
|
339
376
|
const mountedPrefix = getMountedPrefixFromContext(request, context);
|
|
@@ -5,6 +5,7 @@ import { FetchHttpClient, HttpClient, HttpClientRequest } from "effect/unstable/
|
|
|
5
5
|
import { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
|
|
6
6
|
import { Rpc, RpcClient, RpcGroup, RpcSchema, RpcSerialization } from "effect/unstable/rpc";
|
|
7
7
|
import * as __rspack_external_effect_Schema_f8472650 from "effect/Schema";
|
|
8
|
+
import * as __rspack_external_effect_unstable_http_HttpClientError_b9ead235 from "effect/unstable/http/HttpClientError";
|
|
8
9
|
import * as __rspack_external_effect_Data_7c33fca9 from "effect/Data";
|
|
9
10
|
import * as __rspack_external_effect_Exit_a10cfb96 from "effect/Exit";
|
|
10
11
|
import * as __rspack_external_effect_ManagedRuntime_94dd2709 from "effect/ManagedRuntime";
|
|
@@ -104,4 +105,4 @@ function makeEffectRpcClient(group, options) {
|
|
|
104
105
|
});
|
|
105
106
|
}
|
|
106
107
|
const runEffectRequest = __rspack_external_effect_Effect_194ac36c.runPromise;
|
|
107
|
-
export { EffectRpcClientError, HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema, Rpc, RpcClient, RpcGroup, RpcSchema, RpcSerialization, __rspack_external_effect_Effect_194ac36c as Effect, __rspack_external_effect_Layer_16f7a8fc as Layer, __rspack_external_effect_Schema_f8472650 as Schema, makeEffectHttpApiClient, makeEffectRpcClient, mask, runEffectRequest, runEffectView, view };
|
|
108
|
+
export { EffectRpcClientError, HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema, Rpc, RpcClient, RpcGroup, RpcSchema, RpcSerialization, __rspack_external_effect_Effect_194ac36c as Effect, __rspack_external_effect_Layer_16f7a8fc as Layer, __rspack_external_effect_Schema_f8472650 as Schema, __rspack_external_effect_unstable_http_HttpClientError_b9ead235 as HttpClientError, makeEffectHttpApiClient, makeEffectRpcClient, mask, runEffectRequest, runEffectView, view };
|
|
@@ -24,6 +24,11 @@ const JS_OR_TS_EXTS = [
|
|
|
24
24
|
'.cjs',
|
|
25
25
|
'.cts'
|
|
26
26
|
];
|
|
27
|
+
function resolveJsOrTsEntry(entryWithoutOrWithExt) {
|
|
28
|
+
const extension = path.extname(entryWithoutOrWithExt);
|
|
29
|
+
if (JS_OR_TS_EXTS.includes(extension)) return fs.existsSync(entryWithoutOrWithExt) ? entryWithoutOrWithExt : void 0;
|
|
30
|
+
return findExists(JS_OR_TS_EXTS.map((ext)=>`${entryWithoutOrWithExt}${ext}`));
|
|
31
|
+
}
|
|
27
32
|
function normalizePrefix(prefix) {
|
|
28
33
|
if ('/' === prefix) return '';
|
|
29
34
|
return prefix.endsWith('/') ? prefix.slice(0, -1) : prefix;
|
|
@@ -51,7 +56,7 @@ class EffectAdapter {
|
|
|
51
56
|
const configuredEntry = bffConfig?.effect?.entry;
|
|
52
57
|
const defaultEntry = path.resolve(appDirectory || process.cwd(), apiDirectory || API_DIR, 'effect', 'index');
|
|
53
58
|
const entryWithoutExt = configuredEntry ? path.isAbsolute(configuredEntry) ? configuredEntry : path.resolve(appDirectory || process.cwd(), configuredEntry) : defaultEntry;
|
|
54
|
-
return
|
|
59
|
+
return resolveJsOrTsEntry(entryWithoutExt);
|
|
55
60
|
}
|
|
56
61
|
isApiRequestPath(requestPath, prefix, enableHandleWeb) {
|
|
57
62
|
if (!enableHandleWeb) return true;
|
|
@@ -75,6 +75,41 @@ function createBatchValidationResponse(message, status = 400) {
|
|
|
75
75
|
}
|
|
76
76
|
});
|
|
77
77
|
}
|
|
78
|
+
function createJsonValidationResponse(message, status = 400) {
|
|
79
|
+
return new Response(JSON.stringify({
|
|
80
|
+
message
|
|
81
|
+
}), {
|
|
82
|
+
status,
|
|
83
|
+
headers: {
|
|
84
|
+
'content-type': 'application/json; charset=utf-8'
|
|
85
|
+
}
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
function cloneWithoutJsonBodyHeaders(request) {
|
|
89
|
+
const headers = new Headers(request.headers);
|
|
90
|
+
headers.delete('content-type');
|
|
91
|
+
headers.delete('content-length');
|
|
92
|
+
return new Request(request.url, {
|
|
93
|
+
method: request.method,
|
|
94
|
+
headers,
|
|
95
|
+
signal: request.signal
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
async function prepareJsonRequestBody(request) {
|
|
99
|
+
const method = normalizeItemMethod(request.method);
|
|
100
|
+
if ('GET' === method || 'HEAD' === method) return request;
|
|
101
|
+
const contentType = (request.headers.get('content-type') || '').toLowerCase();
|
|
102
|
+
if (!contentType.includes('application/json')) return request;
|
|
103
|
+
if (null === request.body) return cloneWithoutJsonBodyHeaders(request);
|
|
104
|
+
try {
|
|
105
|
+
const bodyText = await request.clone().text();
|
|
106
|
+
if ('' === bodyText) return cloneWithoutJsonBodyHeaders(request);
|
|
107
|
+
JSON.parse(bodyText);
|
|
108
|
+
} catch {
|
|
109
|
+
return createJsonValidationResponse('Invalid JSON request body');
|
|
110
|
+
}
|
|
111
|
+
return request;
|
|
112
|
+
}
|
|
78
113
|
function toBatchItemError(id, status, message) {
|
|
79
114
|
return {
|
|
80
115
|
id,
|
|
@@ -332,9 +367,11 @@ function createHttpApiHandler(options) {
|
|
|
332
367
|
const withDataPlatformValidation = async (request, context)=>{
|
|
333
368
|
const policyDenial = options.validateRequest?.(request);
|
|
334
369
|
if (policyDenial) return policyDenial;
|
|
335
|
-
const
|
|
370
|
+
const preparedRequest = await prepareJsonRequestBody(request);
|
|
371
|
+
if (preparedRequest instanceof Response) return preparedRequest;
|
|
372
|
+
const validationError = validateDataPlatformRequestEnvelope(preparedRequest, options.dataPlatform);
|
|
336
373
|
if (validationError) return validationError;
|
|
337
|
-
return httpApiHandler.handler(
|
|
374
|
+
return httpApiHandler.handler(preparedRequest, context ?? emptyEffectServiceContext);
|
|
338
375
|
};
|
|
339
376
|
const handleBatchRequest = async (request, context)=>{
|
|
340
377
|
const mountedPrefix = getMountedPrefixFromContext(request, context);
|
|
@@ -6,6 +6,7 @@ import { FetchHttpClient, HttpClient, HttpClientRequest } from "effect/unstable/
|
|
|
6
6
|
import { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema } from "effect/unstable/httpapi";
|
|
7
7
|
import { Rpc, RpcClient, RpcGroup, RpcSchema, RpcSerialization } from "effect/unstable/rpc";
|
|
8
8
|
import * as __rspack_external_effect_Schema_f8472650 from "effect/Schema";
|
|
9
|
+
import * as __rspack_external_effect_unstable_http_HttpClientError_b9ead235 from "effect/unstable/http/HttpClientError";
|
|
9
10
|
import * as __rspack_external_effect_Data_7c33fca9 from "effect/Data";
|
|
10
11
|
import * as __rspack_external_effect_Exit_a10cfb96 from "effect/Exit";
|
|
11
12
|
import * as __rspack_external_effect_ManagedRuntime_94dd2709 from "effect/ManagedRuntime";
|
|
@@ -105,4 +106,4 @@ function makeEffectRpcClient(group, options) {
|
|
|
105
106
|
});
|
|
106
107
|
}
|
|
107
108
|
const runEffectRequest = __rspack_external_effect_Effect_194ac36c.runPromise;
|
|
108
|
-
export { EffectRpcClientError, HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema, Rpc, RpcClient, RpcGroup, RpcSchema, RpcSerialization, __rspack_external_effect_Effect_194ac36c as Effect, __rspack_external_effect_Layer_16f7a8fc as Layer, __rspack_external_effect_Schema_f8472650 as Schema, makeEffectHttpApiClient, makeEffectRpcClient, mask, runEffectRequest, runEffectView, view };
|
|
109
|
+
export { EffectRpcClientError, HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema, Rpc, RpcClient, RpcGroup, RpcSchema, RpcSerialization, __rspack_external_effect_Effect_194ac36c as Effect, __rspack_external_effect_Layer_16f7a8fc as Layer, __rspack_external_effect_Schema_f8472650 as Schema, __rspack_external_effect_unstable_http_HttpClientError_b9ead235 as HttpClientError, makeEffectHttpApiClient, makeEffectRpcClient, mask, runEffectRequest, runEffectView, view };
|
|
@@ -7,6 +7,7 @@ import { Rpc, RpcClient, RpcGroup, RpcSchema, RpcSerialization } from 'effect/un
|
|
|
7
7
|
export * as Effect from 'effect/Effect';
|
|
8
8
|
export * as Layer from 'effect/Layer';
|
|
9
9
|
export * as Schema from 'effect/Schema';
|
|
10
|
+
export * as HttpClientError from 'effect/unstable/http/HttpClientError';
|
|
10
11
|
export { HttpApi, HttpApiClient, HttpApiEndpoint, HttpApiGroup, HttpApiSchema, Rpc, RpcClient, RpcGroup, RpcSchema, RpcSerialization, };
|
|
11
12
|
export type EffectHttpApiClientOptions = {
|
|
12
13
|
baseUrl?: URL | string;
|
|
@@ -52,8 +53,6 @@ export type EffectRpcClientHandle<Rpcs extends Rpc.Any, Flatten extends boolean
|
|
|
52
53
|
export declare function view<T>(): <const Selection extends EffectViewSelection<T>>(selection: Selection) => Selection;
|
|
53
54
|
export declare function mask<T, const Selection extends EffectViewSelection<T>>(value: T, selection: Selection): EffectViewData<T, Selection>;
|
|
54
55
|
export declare function runEffectView<T, const Selection extends EffectViewSelection<T>>(request: PromiseLike<T>, selection: Selection): Promise<EffectViewData<T, Selection>>;
|
|
55
|
-
export declare function makeEffectHttpApiClient<ApiId extends string, Groups extends HttpApiGroup.Any>(api: HttpApi.HttpApi<ApiId, Groups>, options?: EffectHttpApiClientOptions): Effect.Effect<
|
|
56
|
-
readonly topLevel: false;
|
|
57
|
-
}> as HttpApiGroup.Name<Group>]: HttpApiClient.Client.Group<Group, Group["identifier"], never, never>; } & { readonly [Method in HttpApiClient.Client.TopLevelMethods<Groups, never, never> as Method[0]]: Method[1]; }>, never, Exclude<import("effect/unstable/httpapi/HttpApiMiddleware").MiddlewareClient<HttpApiEndpoint.Middleware<HttpApiGroup.Endpoints<Groups>>>, HttpClient.HttpClient>>;
|
|
56
|
+
export declare function makeEffectHttpApiClient<ApiId extends string, Groups extends HttpApiGroup.Any>(api: HttpApi.HttpApi<ApiId, Groups>, options?: EffectHttpApiClientOptions): Effect.Effect<HttpApiClient.Client<Groups>, never, HttpApiGroup.MiddlewareClient<Groups>>;
|
|
58
57
|
export declare function makeEffectRpcClient<Rpcs extends Rpc.Any, const Flatten extends boolean = false>(group: RpcGroup.RpcGroup<Rpcs>, options: EffectRpcClientOptions<Rpcs, Flatten>): Effect.Effect<EffectRpcClientHandle<Rpcs, Flatten>, EffectRpcClientError, never>;
|
|
59
58
|
export declare const runEffectRequest: <A, E>(effect: Effect.Effect<A, E>, options?: Effect.RunOptions | undefined) => Promise<A>;
|
package/package.json
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
"modern",
|
|
18
18
|
"modern.js"
|
|
19
19
|
],
|
|
20
|
-
"version": "3.4.0-ultramodern.
|
|
20
|
+
"version": "3.4.0-ultramodern.10",
|
|
21
21
|
"types": "./dist/types/cli.d.ts",
|
|
22
22
|
"main": "./dist/cjs/cli.js",
|
|
23
23
|
"exports": {
|
|
@@ -142,7 +142,7 @@
|
|
|
142
142
|
}
|
|
143
143
|
},
|
|
144
144
|
"dependencies": {
|
|
145
|
-
"@effect/opentelemetry": "4.0.0-beta.
|
|
145
|
+
"@effect/opentelemetry": "4.0.0-beta.89",
|
|
146
146
|
"@opentelemetry/api": "1.9.1",
|
|
147
147
|
"@opentelemetry/api-logs": "0.219.0",
|
|
148
148
|
"@opentelemetry/resources": "2.8.0",
|
|
@@ -154,31 +154,31 @@
|
|
|
154
154
|
"@opentelemetry/semantic-conventions": "1.41.1",
|
|
155
155
|
"@swc/core": "1.15.43",
|
|
156
156
|
"@swc/helpers": "^0.5.23",
|
|
157
|
-
"effect": "4.0.0-beta.
|
|
158
|
-
"qs": "^6.15.
|
|
157
|
+
"effect": "4.0.0-beta.89",
|
|
158
|
+
"qs": "^6.15.3",
|
|
159
159
|
"type-is": "^2.1.0",
|
|
160
|
-
"@modern-js/bff-core": "npm:@bleedingdev/modern-js-bff-core@3.4.0-ultramodern.
|
|
161
|
-
"@modern-js/
|
|
162
|
-
"@modern-js/
|
|
163
|
-
"@modern-js/
|
|
164
|
-
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.
|
|
165
|
-
"@modern-js/
|
|
160
|
+
"@modern-js/bff-core": "npm:@bleedingdev/modern-js-bff-core@3.4.0-ultramodern.10",
|
|
161
|
+
"@modern-js/server-utils": "npm:@bleedingdev/modern-js-server-utils@3.4.0-ultramodern.10",
|
|
162
|
+
"@modern-js/create-request": "npm:@bleedingdev/modern-js-create-request@3.4.0-ultramodern.10",
|
|
163
|
+
"@modern-js/server-core": "npm:@bleedingdev/modern-js-server-core@3.4.0-ultramodern.10",
|
|
164
|
+
"@modern-js/utils": "npm:@bleedingdev/modern-js-utils@3.4.0-ultramodern.10",
|
|
165
|
+
"@modern-js/builder": "npm:@bleedingdev/modern-js-builder@3.4.0-ultramodern.10"
|
|
166
166
|
},
|
|
167
167
|
"devDependencies": {
|
|
168
|
-
"@rsbuild/core": "2.0
|
|
168
|
+
"@rsbuild/core": "2.1.0",
|
|
169
169
|
"@rslib/core": "0.23.0",
|
|
170
|
-
"@types/node": "^26.0.
|
|
170
|
+
"@types/node": "^26.0.1",
|
|
171
171
|
"@types/qs": "^6.15.1",
|
|
172
172
|
"@types/type-is": "^1.6.7",
|
|
173
173
|
"@typescript/native-preview": "7.0.0-dev.20260624.1",
|
|
174
174
|
"memfs": "^4.57.8",
|
|
175
175
|
"typescript": "^6.0.3",
|
|
176
176
|
"zod": "^4.4.3",
|
|
177
|
-
"@modern-js/
|
|
178
|
-
"@modern-js/
|
|
179
|
-
"@modern-js/
|
|
180
|
-
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.4.0-ultramodern.
|
|
181
|
-
"@modern-js/
|
|
177
|
+
"@modern-js/bff-runtime": "npm:@bleedingdev/modern-js-bff-runtime@3.4.0-ultramodern.10",
|
|
178
|
+
"@modern-js/app-tools": "npm:@bleedingdev/modern-js-app-tools@3.4.0-ultramodern.10",
|
|
179
|
+
"@modern-js/types": "npm:@bleedingdev/modern-js-types@3.4.0-ultramodern.10",
|
|
180
|
+
"@modern-js/plugin": "npm:@bleedingdev/modern-js-plugin@3.4.0-ultramodern.10",
|
|
181
|
+
"@modern-js/runtime": "npm:@bleedingdev/modern-js-runtime@3.4.0-ultramodern.10",
|
|
182
182
|
"@scripts/rstest-config": "2.66.0"
|
|
183
183
|
},
|
|
184
184
|
"sideEffects": false,
|