@modern-js/bff-core 1.22.1 → 1.22.2-beta.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 +135 -17
- package/dist/js/modern/api.js +49 -34
- package/dist/js/modern/client/generate-client.js +52 -34
- package/dist/js/modern/client/index.js +1 -1
- package/dist/js/modern/client/result.js +10 -8
- package/dist/js/modern/errors/http.js +8 -14
- package/dist/js/modern/index.js +19 -3
- package/dist/js/modern/operators/http.js +139 -116
- package/dist/js/modern/router/constants.js +31 -13
- package/dist/js/modern/router/index.js +68 -131
- package/dist/js/modern/router/types.js +0 -1
- package/dist/js/modern/router/utils.js +36 -54
- package/dist/js/modern/types.js +45 -47
- package/dist/js/modern/utils/alias.js +35 -50
- package/dist/js/modern/utils/debug.js +5 -2
- package/dist/js/modern/utils/index.js +5 -2
- package/dist/js/modern/utils/meta.js +8 -4
- package/dist/js/modern/utils/storage.js +8 -14
- package/dist/js/modern/utils/validate.js +23 -29
- package/dist/js/node/api.js +78 -46
- package/dist/js/node/client/generate-client.js +85 -55
- package/dist/js/node/client/index.js +17 -18
- package/dist/js/node/client/result.js +32 -18
- package/dist/js/node/errors/http.js +28 -22
- package/dist/js/node/index.js +45 -122
- package/dist/js/node/operators/http.js +184 -169
- package/dist/js/node/router/constants.js +60 -28
- package/dist/js/node/router/index.js +112 -201
- package/dist/js/node/router/types.js +15 -5
- package/dist/js/node/router/utils.js +71 -78
- package/dist/js/node/types.js +71 -57
- package/dist/js/node/utils/alias.js +65 -73
- package/dist/js/node/utils/debug.js +27 -10
- package/dist/js/node/utils/index.js +28 -68
- package/dist/js/node/utils/meta.js +30 -12
- package/dist/js/node/utils/storage.js +36 -24
- package/dist/js/node/utils/validate.js +50 -44
- package/package.json +12 -40
|
@@ -1,187 +1,210 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
var __defProp = Object.defineProperty;
|
|
2
|
+
var __defProps = Object.defineProperties;
|
|
3
|
+
var __getOwnPropDescs = Object.getOwnPropertyDescriptors;
|
|
4
|
+
var __getOwnPropSymbols = Object.getOwnPropertySymbols;
|
|
5
|
+
var __hasOwnProp = Object.prototype.hasOwnProperty;
|
|
6
|
+
var __propIsEnum = Object.prototype.propertyIsEnumerable;
|
|
7
|
+
var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;
|
|
8
|
+
var __spreadValues = (a, b) => {
|
|
9
|
+
for (var prop in b || (b = {}))
|
|
10
|
+
if (__hasOwnProp.call(b, prop))
|
|
11
|
+
__defNormalProp(a, prop, b[prop]);
|
|
12
|
+
if (__getOwnPropSymbols)
|
|
13
|
+
for (var prop of __getOwnPropSymbols(b)) {
|
|
14
|
+
if (__propIsEnum.call(b, prop))
|
|
15
|
+
__defNormalProp(a, prop, b[prop]);
|
|
16
|
+
}
|
|
17
|
+
return a;
|
|
18
|
+
};
|
|
19
|
+
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
20
|
+
var __async = (__this, __arguments, generator) => {
|
|
21
|
+
return new Promise((resolve, reject) => {
|
|
22
|
+
var fulfilled = (value) => {
|
|
23
|
+
try {
|
|
24
|
+
step(generator.next(value));
|
|
25
|
+
} catch (e) {
|
|
26
|
+
reject(e);
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
var rejected = (value) => {
|
|
30
|
+
try {
|
|
31
|
+
step(generator.throw(value));
|
|
32
|
+
} catch (e) {
|
|
33
|
+
reject(e);
|
|
34
|
+
}
|
|
35
|
+
};
|
|
36
|
+
var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected);
|
|
37
|
+
step((generator = generator.apply(__this, __arguments)).next());
|
|
38
|
+
});
|
|
39
|
+
};
|
|
40
|
+
import {
|
|
41
|
+
HttpMetadata,
|
|
42
|
+
OperatorType,
|
|
43
|
+
HttpMethod,
|
|
44
|
+
TriggerType,
|
|
45
|
+
ResponseMetaType
|
|
46
|
+
} from "../types";
|
|
8
47
|
import { ValidationError } from "../errors/http";
|
|
9
|
-
|
|
10
|
-
const validateInput = async (schema, input) => {
|
|
48
|
+
const validateInput = (schema, input) => __async(void 0, null, function* () {
|
|
11
49
|
try {
|
|
12
|
-
return
|
|
50
|
+
return yield schema.parseAsync(input);
|
|
13
51
|
} catch (error) {
|
|
14
|
-
const {
|
|
15
|
-
z: zod
|
|
16
|
-
} = require('zod');
|
|
17
|
-
|
|
52
|
+
const { z: zod } = require("zod");
|
|
18
53
|
if (error instanceof zod.ZodError) {
|
|
19
54
|
throw new ValidationError(400, error.message);
|
|
20
55
|
}
|
|
21
|
-
|
|
22
56
|
throw error;
|
|
23
57
|
}
|
|
24
|
-
};
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
return urlPath => {
|
|
58
|
+
});
|
|
59
|
+
const createHttpOperator = (method) => {
|
|
60
|
+
return (urlPath) => {
|
|
28
61
|
return {
|
|
29
62
|
name: method,
|
|
30
|
-
|
|
31
|
-
metadata({
|
|
32
|
-
setMetadata
|
|
33
|
-
}) {
|
|
63
|
+
metadata({ setMetadata }) {
|
|
34
64
|
setMetadata(OperatorType.Trigger, {
|
|
35
65
|
type: TriggerType.Http,
|
|
36
66
|
path: urlPath,
|
|
37
67
|
method
|
|
38
68
|
});
|
|
39
69
|
}
|
|
40
|
-
|
|
41
70
|
};
|
|
42
71
|
};
|
|
43
72
|
};
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
73
|
+
const Get = createHttpOperator(HttpMethod.Get);
|
|
74
|
+
const Post = createHttpOperator(HttpMethod.Post);
|
|
75
|
+
const Put = createHttpOperator(HttpMethod.Put);
|
|
76
|
+
const Delete = createHttpOperator(HttpMethod.Delete);
|
|
77
|
+
const Connect = createHttpOperator(HttpMethod.Connect);
|
|
78
|
+
const Trace = createHttpOperator(HttpMethod.Trace);
|
|
79
|
+
const Patch = createHttpOperator(HttpMethod.Patch);
|
|
80
|
+
const Option = createHttpOperator(HttpMethod.Option);
|
|
81
|
+
const Head = createHttpOperator(HttpMethod.Head);
|
|
82
|
+
const Data = (schema) => {
|
|
54
83
|
return {
|
|
55
84
|
name: HttpMetadata.Data,
|
|
56
|
-
|
|
57
|
-
metadata({
|
|
58
|
-
setMetadata
|
|
59
|
-
}) {
|
|
85
|
+
metadata({ setMetadata }) {
|
|
60
86
|
setMetadata(HttpMetadata.Data, schema);
|
|
61
87
|
},
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
88
|
+
validate(helper, next) {
|
|
89
|
+
return __async(this, null, function* () {
|
|
90
|
+
const {
|
|
91
|
+
inputs: { data }
|
|
92
|
+
} = helper;
|
|
93
|
+
helper.inputs = __spreadProps(__spreadValues({}, helper.inputs), {
|
|
94
|
+
data: yield validateInput(schema, data)
|
|
95
|
+
});
|
|
96
|
+
return next();
|
|
71
97
|
});
|
|
72
|
-
return next();
|
|
73
98
|
}
|
|
74
|
-
|
|
75
99
|
};
|
|
76
100
|
};
|
|
77
|
-
|
|
101
|
+
const Query = (schema) => {
|
|
78
102
|
return {
|
|
79
103
|
name: HttpMetadata.Query,
|
|
80
|
-
|
|
81
|
-
metadata({
|
|
82
|
-
setMetadata
|
|
83
|
-
}) {
|
|
104
|
+
metadata({ setMetadata }) {
|
|
84
105
|
setMetadata(HttpMetadata.Query, schema);
|
|
85
106
|
},
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
107
|
+
validate(helper, next) {
|
|
108
|
+
return __async(this, null, function* () {
|
|
109
|
+
const {
|
|
110
|
+
inputs: { query }
|
|
111
|
+
} = helper;
|
|
112
|
+
helper.inputs = __spreadProps(__spreadValues({}, helper.inputs), {
|
|
113
|
+
query: yield validateInput(schema, query)
|
|
114
|
+
});
|
|
115
|
+
return next();
|
|
95
116
|
});
|
|
96
|
-
return next();
|
|
97
117
|
}
|
|
98
|
-
|
|
99
118
|
};
|
|
100
119
|
};
|
|
101
|
-
|
|
120
|
+
const Params = (schema) => {
|
|
102
121
|
return {
|
|
103
122
|
name: HttpMetadata.Params,
|
|
104
|
-
|
|
105
|
-
metadata({
|
|
106
|
-
setMetadata
|
|
107
|
-
}) {
|
|
123
|
+
metadata({ setMetadata }) {
|
|
108
124
|
setMetadata(HttpMetadata.Params, schema);
|
|
109
125
|
},
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
126
|
+
validate(helper, next) {
|
|
127
|
+
return __async(this, null, function* () {
|
|
128
|
+
const {
|
|
129
|
+
inputs: { params }
|
|
130
|
+
} = helper;
|
|
131
|
+
helper.inputs = __spreadProps(__spreadValues({}, helper.inputs), {
|
|
132
|
+
params: yield validateInput(schema, params)
|
|
133
|
+
});
|
|
134
|
+
return next();
|
|
119
135
|
});
|
|
120
|
-
return next();
|
|
121
136
|
}
|
|
122
|
-
|
|
123
137
|
};
|
|
124
138
|
};
|
|
125
|
-
|
|
139
|
+
const Headers = (schema) => {
|
|
126
140
|
return {
|
|
127
141
|
name: HttpMetadata.Headers,
|
|
128
|
-
|
|
129
|
-
metadata({
|
|
130
|
-
setMetadata
|
|
131
|
-
}) {
|
|
142
|
+
metadata({ setMetadata }) {
|
|
132
143
|
setMetadata(HttpMetadata.Headers, schema);
|
|
133
144
|
},
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
}
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
145
|
+
validate(helper, next) {
|
|
146
|
+
return __async(this, null, function* () {
|
|
147
|
+
const {
|
|
148
|
+
inputs: { headers }
|
|
149
|
+
} = helper;
|
|
150
|
+
helper.inputs = __spreadProps(__spreadValues({}, helper.inputs), {
|
|
151
|
+
headers: yield validateInput(schema, headers)
|
|
152
|
+
});
|
|
153
|
+
return next();
|
|
143
154
|
});
|
|
144
|
-
return next();
|
|
145
155
|
}
|
|
146
|
-
|
|
147
156
|
};
|
|
148
157
|
};
|
|
149
|
-
|
|
150
158
|
const setResponseMeta = (helper, type, value) => {
|
|
151
159
|
const responseMetaData = helper.getMetadata(HttpMetadata.Response) || [];
|
|
152
|
-
helper.setMetadata(HttpMetadata.Response, [
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
160
|
+
helper.setMetadata(HttpMetadata.Response, [
|
|
161
|
+
...responseMetaData,
|
|
162
|
+
{
|
|
163
|
+
type,
|
|
164
|
+
value
|
|
165
|
+
}
|
|
166
|
+
]);
|
|
156
167
|
};
|
|
157
|
-
|
|
158
|
-
export const HttpCode = statusCode => {
|
|
168
|
+
const HttpCode = (statusCode) => {
|
|
159
169
|
return {
|
|
160
|
-
name:
|
|
161
|
-
|
|
170
|
+
name: "HttpCode",
|
|
162
171
|
metadata(helper) {
|
|
163
172
|
setResponseMeta(helper, ResponseMetaType.StatusCode, statusCode);
|
|
164
173
|
}
|
|
165
|
-
|
|
166
174
|
};
|
|
167
175
|
};
|
|
168
|
-
|
|
176
|
+
const SetHeaders = (headers) => {
|
|
169
177
|
return {
|
|
170
|
-
name:
|
|
171
|
-
|
|
178
|
+
name: "SetHeaders",
|
|
172
179
|
metadata(helper) {
|
|
173
180
|
setResponseMeta(helper, ResponseMetaType.Headers, headers);
|
|
174
181
|
}
|
|
175
|
-
|
|
176
182
|
};
|
|
177
183
|
};
|
|
178
|
-
|
|
184
|
+
const Redirect = (url) => {
|
|
179
185
|
return {
|
|
180
|
-
name:
|
|
181
|
-
|
|
186
|
+
name: "Redirect",
|
|
182
187
|
metadata(helper) {
|
|
183
188
|
setResponseMeta(helper, ResponseMetaType.Redirect, url);
|
|
184
189
|
}
|
|
185
|
-
|
|
186
190
|
};
|
|
187
|
-
};
|
|
191
|
+
};
|
|
192
|
+
export {
|
|
193
|
+
Connect,
|
|
194
|
+
Data,
|
|
195
|
+
Delete,
|
|
196
|
+
Get,
|
|
197
|
+
Head,
|
|
198
|
+
Headers,
|
|
199
|
+
HttpCode,
|
|
200
|
+
Option,
|
|
201
|
+
Params,
|
|
202
|
+
Patch,
|
|
203
|
+
Post,
|
|
204
|
+
Put,
|
|
205
|
+
Query,
|
|
206
|
+
Redirect,
|
|
207
|
+
SetHeaders,
|
|
208
|
+
Trace,
|
|
209
|
+
createHttpOperator
|
|
210
|
+
};
|
|
@@ -1,14 +1,32 @@
|
|
|
1
1
|
import { HttpMethod } from "../types";
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
const AllHttpMethods = Object.values(HttpMethod);
|
|
3
|
+
var APIMode = /* @__PURE__ */ ((APIMode2) => {
|
|
4
|
+
APIMode2["FARMEWORK"] = "framework";
|
|
5
|
+
APIMode2["FUNCTION"] = "function";
|
|
6
|
+
return APIMode2;
|
|
7
|
+
})(APIMode || {});
|
|
8
|
+
const FRAMEWORK_MODE_LAMBDA_DIR = "lambda";
|
|
9
|
+
const FRAMEWORK_MODE_APP_DIR = "app";
|
|
10
|
+
const INDEX_SUFFIX = "index";
|
|
11
|
+
const API_DIR = "api";
|
|
12
|
+
const API_FILE_RULES = [
|
|
13
|
+
"**/*.[tj]s",
|
|
14
|
+
"!**/_*",
|
|
15
|
+
"!**/_*/**/*.[tj]s",
|
|
16
|
+
"!**/*.test.js",
|
|
17
|
+
"!**/*.test.ts",
|
|
18
|
+
"!**/*.d.ts",
|
|
19
|
+
"!__test__/*.ts",
|
|
20
|
+
"!__tests__/*.ts",
|
|
21
|
+
"!node_modules/**",
|
|
22
|
+
"!bootstrap.js"
|
|
23
|
+
];
|
|
24
|
+
export {
|
|
25
|
+
APIMode,
|
|
26
|
+
API_DIR,
|
|
27
|
+
API_FILE_RULES,
|
|
28
|
+
AllHttpMethods,
|
|
29
|
+
FRAMEWORK_MODE_APP_DIR,
|
|
30
|
+
FRAMEWORK_MODE_LAMBDA_DIR,
|
|
31
|
+
INDEX_SUFFIX
|
|
32
|
+
};
|