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