@modern-js/bff-core 2.14.0 → 2.16.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 +21 -0
- package/dist/cjs/api.js +22 -42
- package/dist/cjs/client/generateClient.js +63 -66
- package/dist/cjs/client/index.js +18 -17
- package/dist/cjs/client/result.js +11 -24
- package/dist/cjs/errors/http.js +26 -24
- package/dist/cjs/index.js +41 -50
- package/dist/cjs/operators/http.js +95 -101
- package/dist/cjs/router/constants.js +32 -40
- package/dist/cjs/router/index.js +114 -116
- package/dist/cjs/router/types.js +4 -15
- package/dist/cjs/router/utils.js +33 -50
- package/dist/cjs/types.js +29 -46
- package/dist/cjs/utils/alias.js +78 -58
- package/dist/cjs/utils/debug.js +8 -26
- package/dist/cjs/utils/index.js +24 -30
- package/dist/cjs/utils/meta.js +13 -28
- package/dist/cjs/utils/storage.js +51 -41
- package/dist/cjs/utils/validate.js +27 -44
- package/dist/esm/api.js +5 -5
- package/dist/esm/client/generateClient.js +6 -30
- package/dist/esm/client/result.js +2 -6
- package/dist/esm/errors/http.js +17 -6
- package/dist/esm/index.js +3 -23
- package/dist/esm/operators/http.js +22 -55
- package/dist/esm/router/constants.js +21 -20
- package/dist/esm/router/index.js +58 -61
- package/dist/esm/router/types.js +1 -0
- package/dist/esm/router/utils.js +11 -14
- package/dist/esm/types.js +16 -24
- package/dist/esm/utils/alias.js +12 -18
- package/dist/esm/utils/debug.js +1 -4
- package/dist/esm/utils/index.js +1 -4
- package/dist/esm/utils/meta.js +4 -10
- package/dist/esm/utils/storage.js +2 -6
- package/dist/esm/utils/validate.js +12 -15
- package/package.json +11 -7
|
@@ -1,60 +1,82 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
7
|
-
var __export = (target, all) => {
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
8
6
|
for (var name in all)
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
}
|
|
17
|
-
return to;
|
|
18
|
-
};
|
|
19
|
-
var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(
|
|
20
|
-
// If the importer is in node compatibility mode or this is not an ESM
|
|
21
|
-
// file that has been converted to a CommonJS file using a Babel-
|
|
22
|
-
// compatible transform (i.e. "__esModule" has not been set), then set
|
|
23
|
-
// "default" to the CommonJS "module.exports" for node compatibility.
|
|
24
|
-
isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target,
|
|
25
|
-
mod
|
|
26
|
-
));
|
|
27
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
28
|
-
var http_exports = {};
|
|
29
|
-
__export(http_exports, {
|
|
30
|
-
Connect: () => Connect,
|
|
31
|
-
Data: () => Data,
|
|
32
|
-
Delete: () => Delete,
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
13
|
+
createHttpOperator: () => createHttpOperator,
|
|
33
14
|
Get: () => Get,
|
|
34
|
-
Head: () => Head,
|
|
35
|
-
Headers: () => Headers,
|
|
36
|
-
HttpCode: () => HttpCode,
|
|
37
|
-
Options: () => Options,
|
|
38
|
-
Params: () => Params,
|
|
39
|
-
Patch: () => Patch,
|
|
40
15
|
Post: () => Post,
|
|
41
16
|
Put: () => Put,
|
|
17
|
+
Delete: () => Delete,
|
|
18
|
+
Connect: () => Connect,
|
|
19
|
+
Trace: () => Trace,
|
|
20
|
+
Patch: () => Patch,
|
|
21
|
+
Options: () => Options,
|
|
22
|
+
Head: () => Head,
|
|
23
|
+
Data: () => Data,
|
|
42
24
|
Query: () => Query,
|
|
43
|
-
|
|
25
|
+
Params: () => Params,
|
|
26
|
+
Headers: () => Headers,
|
|
27
|
+
HttpCode: () => HttpCode,
|
|
44
28
|
SetHeaders: () => SetHeaders,
|
|
45
|
-
|
|
46
|
-
createHttpOperator: () => createHttpOperator
|
|
29
|
+
Redirect: () => Redirect
|
|
47
30
|
});
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
31
|
+
const _types = require("../types");
|
|
32
|
+
const _http = require("../errors/http");
|
|
33
|
+
function _getRequireWildcardCache(nodeInterop) {
|
|
34
|
+
if (typeof WeakMap !== "function")
|
|
35
|
+
return null;
|
|
36
|
+
var cacheBabelInterop = /* @__PURE__ */ new WeakMap();
|
|
37
|
+
var cacheNodeInterop = /* @__PURE__ */ new WeakMap();
|
|
38
|
+
return (_getRequireWildcardCache = function(nodeInterop2) {
|
|
39
|
+
return nodeInterop2 ? cacheNodeInterop : cacheBabelInterop;
|
|
40
|
+
})(nodeInterop);
|
|
41
|
+
}
|
|
42
|
+
function _interop_require_wildcard(obj, nodeInterop) {
|
|
43
|
+
if (!nodeInterop && obj && obj.__esModule) {
|
|
44
|
+
return obj;
|
|
45
|
+
}
|
|
46
|
+
if (obj === null || typeof obj !== "object" && typeof obj !== "function") {
|
|
47
|
+
return {
|
|
48
|
+
default: obj
|
|
49
|
+
};
|
|
50
|
+
}
|
|
51
|
+
var cache = _getRequireWildcardCache(nodeInterop);
|
|
52
|
+
if (cache && cache.has(obj)) {
|
|
53
|
+
return cache.get(obj);
|
|
54
|
+
}
|
|
55
|
+
var newObj = {};
|
|
56
|
+
var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor;
|
|
57
|
+
for (var key in obj) {
|
|
58
|
+
if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
59
|
+
var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null;
|
|
60
|
+
if (desc && (desc.get || desc.set)) {
|
|
61
|
+
Object.defineProperty(newObj, key, desc);
|
|
62
|
+
} else {
|
|
63
|
+
newObj[key] = obj[key];
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
newObj.default = obj;
|
|
68
|
+
if (cache) {
|
|
69
|
+
cache.set(obj, newObj);
|
|
70
|
+
}
|
|
71
|
+
return newObj;
|
|
72
|
+
}
|
|
51
73
|
const validateInput = async (schema, input) => {
|
|
52
74
|
try {
|
|
53
75
|
return await schema.parseAsync(input);
|
|
54
76
|
} catch (error) {
|
|
55
|
-
const { z: zod } = await Promise.resolve().then(() =>
|
|
77
|
+
const { z: zod } = await Promise.resolve().then(() => /* @__PURE__ */ _interop_require_wildcard(require("zod")));
|
|
56
78
|
if (error instanceof zod.ZodError) {
|
|
57
|
-
throw new
|
|
79
|
+
throw new _http.ValidationError(400, error.message);
|
|
58
80
|
}
|
|
59
81
|
throw error;
|
|
60
82
|
}
|
|
@@ -64,8 +86,8 @@ const createHttpOperator = (method) => {
|
|
|
64
86
|
return {
|
|
65
87
|
name: method,
|
|
66
88
|
metadata({ setMetadata }) {
|
|
67
|
-
setMetadata(
|
|
68
|
-
type:
|
|
89
|
+
setMetadata(_types.OperatorType.Trigger, {
|
|
90
|
+
type: _types.TriggerType.Http,
|
|
69
91
|
path: urlPath,
|
|
70
92
|
method
|
|
71
93
|
});
|
|
@@ -73,25 +95,23 @@ const createHttpOperator = (method) => {
|
|
|
73
95
|
};
|
|
74
96
|
};
|
|
75
97
|
};
|
|
76
|
-
const Get = createHttpOperator(
|
|
77
|
-
const Post = createHttpOperator(
|
|
78
|
-
const Put = createHttpOperator(
|
|
79
|
-
const Delete = createHttpOperator(
|
|
80
|
-
const Connect = createHttpOperator(
|
|
81
|
-
const Trace = createHttpOperator(
|
|
82
|
-
const Patch = createHttpOperator(
|
|
83
|
-
const Options = createHttpOperator(
|
|
84
|
-
const Head = createHttpOperator(
|
|
98
|
+
const Get = createHttpOperator(_types.HttpMethod.Get);
|
|
99
|
+
const Post = createHttpOperator(_types.HttpMethod.Post);
|
|
100
|
+
const Put = createHttpOperator(_types.HttpMethod.Put);
|
|
101
|
+
const Delete = createHttpOperator(_types.HttpMethod.Delete);
|
|
102
|
+
const Connect = createHttpOperator(_types.HttpMethod.Connect);
|
|
103
|
+
const Trace = createHttpOperator(_types.HttpMethod.Trace);
|
|
104
|
+
const Patch = createHttpOperator(_types.HttpMethod.Patch);
|
|
105
|
+
const Options = createHttpOperator(_types.HttpMethod.Options);
|
|
106
|
+
const Head = createHttpOperator(_types.HttpMethod.Head);
|
|
85
107
|
const Data = (schema) => {
|
|
86
108
|
return {
|
|
87
|
-
name:
|
|
109
|
+
name: _types.HttpMetadata.Data,
|
|
88
110
|
metadata({ setMetadata }) {
|
|
89
|
-
setMetadata(
|
|
111
|
+
setMetadata(_types.HttpMetadata.Data, schema);
|
|
90
112
|
},
|
|
91
113
|
async validate(helper, next) {
|
|
92
|
-
const {
|
|
93
|
-
inputs: { data }
|
|
94
|
-
} = helper;
|
|
114
|
+
const { inputs: { data } } = helper;
|
|
95
115
|
helper.inputs = {
|
|
96
116
|
...helper.inputs,
|
|
97
117
|
data: await validateInput(schema, data)
|
|
@@ -102,14 +122,12 @@ const Data = (schema) => {
|
|
|
102
122
|
};
|
|
103
123
|
const Query = (schema) => {
|
|
104
124
|
return {
|
|
105
|
-
name:
|
|
125
|
+
name: _types.HttpMetadata.Query,
|
|
106
126
|
metadata({ setMetadata }) {
|
|
107
|
-
setMetadata(
|
|
127
|
+
setMetadata(_types.HttpMetadata.Query, schema);
|
|
108
128
|
},
|
|
109
129
|
async validate(helper, next) {
|
|
110
|
-
const {
|
|
111
|
-
inputs: { query }
|
|
112
|
-
} = helper;
|
|
130
|
+
const { inputs: { query } } = helper;
|
|
113
131
|
helper.inputs = {
|
|
114
132
|
...helper.inputs,
|
|
115
133
|
query: await validateInput(schema, query)
|
|
@@ -120,14 +138,12 @@ const Query = (schema) => {
|
|
|
120
138
|
};
|
|
121
139
|
const Params = (schema) => {
|
|
122
140
|
return {
|
|
123
|
-
name:
|
|
141
|
+
name: _types.HttpMetadata.Params,
|
|
124
142
|
metadata({ setMetadata }) {
|
|
125
|
-
setMetadata(
|
|
143
|
+
setMetadata(_types.HttpMetadata.Params, schema);
|
|
126
144
|
},
|
|
127
145
|
async validate(helper, next) {
|
|
128
|
-
const {
|
|
129
|
-
inputs: { params }
|
|
130
|
-
} = helper;
|
|
146
|
+
const { inputs: { params } } = helper;
|
|
131
147
|
helper.inputs = {
|
|
132
148
|
...helper.inputs,
|
|
133
149
|
params: await validateInput(schema, params)
|
|
@@ -138,14 +154,12 @@ const Params = (schema) => {
|
|
|
138
154
|
};
|
|
139
155
|
const Headers = (schema) => {
|
|
140
156
|
return {
|
|
141
|
-
name:
|
|
157
|
+
name: _types.HttpMetadata.Headers,
|
|
142
158
|
metadata({ setMetadata }) {
|
|
143
|
-
setMetadata(
|
|
159
|
+
setMetadata(_types.HttpMetadata.Headers, schema);
|
|
144
160
|
},
|
|
145
161
|
async validate(helper, next) {
|
|
146
|
-
const {
|
|
147
|
-
inputs: { headers }
|
|
148
|
-
} = helper;
|
|
162
|
+
const { inputs: { headers } } = helper;
|
|
149
163
|
helper.inputs = {
|
|
150
164
|
...helper.inputs,
|
|
151
165
|
headers: await validateInput(schema, headers)
|
|
@@ -155,8 +169,8 @@ const Headers = (schema) => {
|
|
|
155
169
|
};
|
|
156
170
|
};
|
|
157
171
|
const setResponseMeta = (helper, type, value) => {
|
|
158
|
-
const responseMetaData = helper.getMetadata(
|
|
159
|
-
helper.setMetadata(
|
|
172
|
+
const responseMetaData = helper.getMetadata(_types.HttpMetadata.Response) || [];
|
|
173
|
+
helper.setMetadata(_types.HttpMetadata.Response, [
|
|
160
174
|
...responseMetaData,
|
|
161
175
|
{
|
|
162
176
|
type,
|
|
@@ -168,7 +182,7 @@ const HttpCode = (statusCode) => {
|
|
|
168
182
|
return {
|
|
169
183
|
name: "HttpCode",
|
|
170
184
|
metadata(helper) {
|
|
171
|
-
setResponseMeta(helper,
|
|
185
|
+
setResponseMeta(helper, _types.ResponseMetaType.StatusCode, statusCode);
|
|
172
186
|
}
|
|
173
187
|
};
|
|
174
188
|
};
|
|
@@ -176,7 +190,7 @@ const SetHeaders = (headers) => {
|
|
|
176
190
|
return {
|
|
177
191
|
name: "SetHeaders",
|
|
178
192
|
metadata(helper) {
|
|
179
|
-
setResponseMeta(helper,
|
|
193
|
+
setResponseMeta(helper, _types.ResponseMetaType.Headers, headers);
|
|
180
194
|
}
|
|
181
195
|
};
|
|
182
196
|
};
|
|
@@ -184,27 +198,7 @@ const Redirect = (url) => {
|
|
|
184
198
|
return {
|
|
185
199
|
name: "Redirect",
|
|
186
200
|
metadata(helper) {
|
|
187
|
-
setResponseMeta(helper,
|
|
201
|
+
setResponseMeta(helper, _types.ResponseMetaType.Redirect, url);
|
|
188
202
|
}
|
|
189
203
|
};
|
|
190
204
|
};
|
|
191
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
192
|
-
0 && (module.exports = {
|
|
193
|
-
Connect,
|
|
194
|
-
Data,
|
|
195
|
-
Delete,
|
|
196
|
-
Get,
|
|
197
|
-
Head,
|
|
198
|
-
Headers,
|
|
199
|
-
HttpCode,
|
|
200
|
-
Options,
|
|
201
|
-
Params,
|
|
202
|
-
Patch,
|
|
203
|
-
Post,
|
|
204
|
-
Put,
|
|
205
|
-
Query,
|
|
206
|
-
Redirect,
|
|
207
|
-
SetHeaders,
|
|
208
|
-
Trace,
|
|
209
|
-
createHttpOperator
|
|
210
|
-
});
|
|
@@ -1,38 +1,40 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", {
|
|
3
|
+
value: true
|
|
4
|
+
});
|
|
5
|
+
function _export(target, all) {
|
|
6
6
|
for (var name in all)
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
|
|
14
|
-
}
|
|
15
|
-
return to;
|
|
16
|
-
};
|
|
17
|
-
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
18
|
-
var constants_exports = {};
|
|
19
|
-
__export(constants_exports, {
|
|
7
|
+
Object.defineProperty(target, name, {
|
|
8
|
+
enumerable: true,
|
|
9
|
+
get: all[name]
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
_export(exports, {
|
|
20
13
|
APIMode: () => APIMode,
|
|
21
|
-
API_DIR: () => API_DIR,
|
|
22
|
-
API_FILE_RULES: () => API_FILE_RULES,
|
|
23
14
|
AllHttpMethods: () => AllHttpMethods,
|
|
24
|
-
FRAMEWORK_MODE_APP_DIR: () => FRAMEWORK_MODE_APP_DIR,
|
|
25
15
|
FRAMEWORK_MODE_LAMBDA_DIR: () => FRAMEWORK_MODE_LAMBDA_DIR,
|
|
26
|
-
|
|
16
|
+
FRAMEWORK_MODE_APP_DIR: () => FRAMEWORK_MODE_APP_DIR,
|
|
17
|
+
INDEX_SUFFIX: () => INDEX_SUFFIX,
|
|
18
|
+
API_DIR: () => API_DIR,
|
|
19
|
+
API_FILE_RULES: () => API_FILE_RULES
|
|
27
20
|
});
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
APIMode2[
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
21
|
+
const _types = require("../types");
|
|
22
|
+
const AllHttpMethods = Object.values(_types.HttpMethod);
|
|
23
|
+
var APIMode;
|
|
24
|
+
(function(APIMode2) {
|
|
25
|
+
APIMode2[
|
|
26
|
+
/**
|
|
27
|
+
* 框架模式
|
|
28
|
+
*/
|
|
29
|
+
"FARMEWORK"
|
|
30
|
+
] = "framework";
|
|
31
|
+
APIMode2[
|
|
32
|
+
/**
|
|
33
|
+
* 函数模式
|
|
34
|
+
*/
|
|
35
|
+
"FUNCTION"
|
|
36
|
+
] = "function";
|
|
37
|
+
})(APIMode || (APIMode = {}));
|
|
36
38
|
const FRAMEWORK_MODE_LAMBDA_DIR = "lambda";
|
|
37
39
|
const FRAMEWORK_MODE_APP_DIR = "app";
|
|
38
40
|
const INDEX_SUFFIX = "index";
|
|
@@ -49,13 +51,3 @@ const API_FILE_RULES = [
|
|
|
49
51
|
"!node_modules/**",
|
|
50
52
|
"!bootstrap.js"
|
|
51
53
|
];
|
|
52
|
-
// Annotate the CommonJS export names for ESM import in node:
|
|
53
|
-
0 && (module.exports = {
|
|
54
|
-
APIMode,
|
|
55
|
-
API_DIR,
|
|
56
|
-
API_FILE_RULES,
|
|
57
|
-
AllHttpMethods,
|
|
58
|
-
FRAMEWORK_MODE_APP_DIR,
|
|
59
|
-
FRAMEWORK_MODE_LAMBDA_DIR,
|
|
60
|
-
INDEX_SUFFIX
|
|
61
|
-
});
|