@modern-js/bff-core 1.21.2-beta.4 → 1.21.3-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 +9 -0
- package/package.json +6 -5
- package/dist/js/modern/api.js +0 -54
- package/dist/js/modern/client/generate-client.js +0 -63
- package/dist/js/modern/client/index.js +0 -1
- package/dist/js/modern/client/result.js +0 -20
- package/dist/js/modern/errors/http.js +0 -22
- package/dist/js/modern/index.js +0 -7
- package/dist/js/modern/operators/http.js +0 -187
- package/dist/js/modern/router/constants.js +0 -14
- package/dist/js/modern/router/index.js +0 -299
- package/dist/js/modern/router/types.js +0 -1
- package/dist/js/modern/router/utils.js +0 -101
- package/dist/js/modern/types.js +0 -47
- package/dist/js/modern/utils/alias.js +0 -91
- package/dist/js/modern/utils/debug.js +0 -2
- package/dist/js/modern/utils/index.js +0 -5
- package/dist/js/modern/utils/meta.js +0 -4
- package/dist/js/modern/utils/storage.js +0 -48
- package/dist/js/modern/utils/validate.js +0 -49
- package/dist/js/node/api.js +0 -66
- package/dist/js/node/client/generate-client.js +0 -81
- package/dist/js/node/client/index.js +0 -18
- package/dist/js/node/client/result.js +0 -32
- package/dist/js/node/errors/http.js +0 -34
- package/dist/js/node/index.js +0 -125
- package/dist/js/node/operators/http.js +0 -226
- package/dist/js/node/router/constants.js +0 -29
- package/dist/js/node/router/index.js +0 -345
- package/dist/js/node/router/types.js +0 -5
- package/dist/js/node/router/utils.js +0 -123
- package/dist/js/node/types.js +0 -59
- package/dist/js/node/utils/alias.js +0 -115
- package/dist/js/node/utils/debug.js +0 -11
- package/dist/js/node/utils/index.js +0 -72
- package/dist/js/node/utils/meta.js +0 -14
- package/dist/js/node/utils/storage.js +0 -59
- package/dist/js/node/utils/validate.js +0 -68
- package/dist/types/api.d.ts +0 -3
- package/dist/types/client/generate-client.d.ts +0 -24
- package/dist/types/client/index.d.ts +0 -1
- package/dist/types/client/result.d.ts +0 -15
- package/dist/types/errors/http.d.ts +0 -8
- package/dist/types/index.d.ts +0 -7
- package/dist/types/operators/http.d.ts +0 -39
- package/dist/types/router/constants.d.ts +0 -17
- package/dist/types/router/index.d.ts +0 -51
- package/dist/types/router/types.d.ts +0 -17
- package/dist/types/router/utils.d.ts +0 -10
- package/dist/types/types.d.ts +0 -58
- package/dist/types/utils/alias.d.ts +0 -7
- package/dist/types/utils/debug.d.ts +0 -1
- package/dist/types/utils/index.d.ts +0 -5
- package/dist/types/utils/meta.d.ts +0 -2
- package/dist/types/utils/storage.d.ts +0 -5
- package/dist/types/utils/validate.d.ts +0 -5
package/dist/js/node/api.js
DELETED
|
@@ -1,66 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.Api = Api;
|
|
7
|
-
|
|
8
|
-
require("reflect-metadata");
|
|
9
|
-
|
|
10
|
-
var _koaCompose = _interopRequireDefault(require("koa-compose"));
|
|
11
|
-
|
|
12
|
-
var _utils = require("./utils");
|
|
13
|
-
|
|
14
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
15
|
-
|
|
16
|
-
function Api(...args) {
|
|
17
|
-
const handler = args.pop();
|
|
18
|
-
(0, _utils.validateFunction)(handler, 'Apihandler');
|
|
19
|
-
const operators = args;
|
|
20
|
-
const metadataHelper = {
|
|
21
|
-
getMetadata(key) {
|
|
22
|
-
return Reflect.getMetadata(key, runner);
|
|
23
|
-
},
|
|
24
|
-
|
|
25
|
-
setMetadata(key, value) {
|
|
26
|
-
return Reflect.defineMetadata(key, value, runner);
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
for (const operator of operators) {
|
|
32
|
-
if (operator.metadata) {
|
|
33
|
-
operator.metadata(metadataHelper);
|
|
34
|
-
}
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
const validateHandlers = operators.filter(operator => operator.validate).map(operator => operator.validate);
|
|
38
|
-
const pipeHandlers = operators.filter(operator => operator.execute).map(operator => operator.execute);
|
|
39
|
-
|
|
40
|
-
async function runner(inputs) {
|
|
41
|
-
const executeHelper = {
|
|
42
|
-
result: null,
|
|
43
|
-
|
|
44
|
-
get inputs() {
|
|
45
|
-
return inputs;
|
|
46
|
-
},
|
|
47
|
-
|
|
48
|
-
set inputs(val) {
|
|
49
|
-
// eslint-disable-next-line no-param-reassign
|
|
50
|
-
inputs = val;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
};
|
|
54
|
-
const stack = [...validateHandlers, ...pipeHandlers];
|
|
55
|
-
stack.push(async (helper, next) => {
|
|
56
|
-
const res = await handler(helper.inputs);
|
|
57
|
-
helper.result = res;
|
|
58
|
-
return next();
|
|
59
|
-
});
|
|
60
|
-
await (0, _koaCompose.default)(stack)(executeHelper);
|
|
61
|
-
return executeHelper.result;
|
|
62
|
-
}
|
|
63
|
-
|
|
64
|
-
runner[_utils.HANDLER_WITH_META] = true;
|
|
65
|
-
return runner;
|
|
66
|
-
}
|
|
@@ -1,81 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.generateClient = exports.DEFAULT_CLIENT_REQUEST_CREATOR = void 0;
|
|
7
|
-
|
|
8
|
-
var path = _interopRequireWildcard(require("path"));
|
|
9
|
-
|
|
10
|
-
var _router = require("../router");
|
|
11
|
-
|
|
12
|
-
var _result = require("./result");
|
|
13
|
-
|
|
14
|
-
function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
|
|
15
|
-
|
|
16
|
-
function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
|
|
17
|
-
|
|
18
|
-
const DEFAULT_CLIENT_REQUEST_CREATOR = '@modern-js/create-request';
|
|
19
|
-
exports.DEFAULT_CLIENT_REQUEST_CREATOR = DEFAULT_CLIENT_REQUEST_CREATOR;
|
|
20
|
-
|
|
21
|
-
const generateClient = async ({
|
|
22
|
-
resourcePath,
|
|
23
|
-
apiDir,
|
|
24
|
-
prefix,
|
|
25
|
-
port,
|
|
26
|
-
target,
|
|
27
|
-
requestCreator,
|
|
28
|
-
fetcher,
|
|
29
|
-
requireResolve: _requireResolve = require.resolve
|
|
30
|
-
}) => {
|
|
31
|
-
if (!requestCreator) {
|
|
32
|
-
// eslint-disable-next-line no-param-reassign
|
|
33
|
-
requestCreator = _requireResolve(`${DEFAULT_CLIENT_REQUEST_CREATOR}${target ? `/${target}` : ''}`).replace(/\\/g, '/');
|
|
34
|
-
} else {
|
|
35
|
-
// 这里约束传入的 requestCreator 包也必须有两个导出 client 和 server,因为目前的机制 client 和 server 要导出不同的 configure 函数;该 api 不对使用者暴露,后续可优化
|
|
36
|
-
let resolvedPath = requestCreator;
|
|
37
|
-
|
|
38
|
-
try {
|
|
39
|
-
resolvedPath = path.dirname(_requireResolve(requestCreator));
|
|
40
|
-
} catch (error) {} // eslint-disable-next-line no-param-reassign
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
requestCreator = `${resolvedPath}${target ? `/${target}` : ''}`.replace(/\\/g, '/');
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const apiRouter = new _router.ApiRouter({
|
|
47
|
-
apiDir,
|
|
48
|
-
prefix
|
|
49
|
-
});
|
|
50
|
-
const handlerInfos = apiRouter.getSingleModuleHandlers(resourcePath);
|
|
51
|
-
|
|
52
|
-
if (!handlerInfos) {
|
|
53
|
-
return (0, _result.Err)(`generate client error: Cannot require module ${resourcePath}`);
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
let handlersCode = '';
|
|
57
|
-
|
|
58
|
-
for (const handlerInfo of handlerInfos) {
|
|
59
|
-
const {
|
|
60
|
-
name,
|
|
61
|
-
httpMethod,
|
|
62
|
-
routePath
|
|
63
|
-
} = handlerInfo;
|
|
64
|
-
let exportStatement = `const ${name} =`;
|
|
65
|
-
|
|
66
|
-
if (name.toLowerCase() === 'default') {
|
|
67
|
-
exportStatement = 'default';
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
const upperHttpMethod = httpMethod.toUpperCase();
|
|
71
|
-
const routeName = routePath;
|
|
72
|
-
handlersCode += `export ${exportStatement} createRequest('${routeName}', '${upperHttpMethod}', process.env.PORT || ${String(port)}${fetcher ? `, fetch` : ''});
|
|
73
|
-
`;
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
const importCode = `import { createRequest } from '${requestCreator}';
|
|
77
|
-
${fetcher ? `import { fetch } from '${fetcher}';\n` : ''}`;
|
|
78
|
-
return (0, _result.Ok)(`${importCode}\n${handlersCode}`);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
exports.generateClient = generateClient;
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
|
|
7
|
-
var _generateClient = require("./generate-client");
|
|
8
|
-
|
|
9
|
-
Object.keys(_generateClient).forEach(function (key) {
|
|
10
|
-
if (key === "default" || key === "__esModule") return;
|
|
11
|
-
if (key in exports && exports[key] === _generateClient[key]) return;
|
|
12
|
-
Object.defineProperty(exports, key, {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function () {
|
|
15
|
-
return _generateClient[key];
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
});
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.Ok = exports.Err = void 0;
|
|
7
|
-
|
|
8
|
-
// eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
9
|
-
const Err = value => {
|
|
10
|
-
const err = {
|
|
11
|
-
kind: 'Err',
|
|
12
|
-
value,
|
|
13
|
-
isErr: true,
|
|
14
|
-
isOk: false
|
|
15
|
-
};
|
|
16
|
-
return err;
|
|
17
|
-
}; // eslint-disable-next-line @typescript-eslint/no-redeclare
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
exports.Err = Err;
|
|
21
|
-
|
|
22
|
-
const Ok = value => {
|
|
23
|
-
const ok = {
|
|
24
|
-
kind: 'Ok',
|
|
25
|
-
value,
|
|
26
|
-
isErr: false,
|
|
27
|
-
isOk: true
|
|
28
|
-
};
|
|
29
|
-
return ok;
|
|
30
|
-
};
|
|
31
|
-
|
|
32
|
-
exports.Ok = Ok;
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.ValidationError = exports.HttpError = void 0;
|
|
7
|
-
|
|
8
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
9
|
-
|
|
10
|
-
class HttpError extends Error {
|
|
11
|
-
constructor(status, message) {
|
|
12
|
-
super(message);
|
|
13
|
-
|
|
14
|
-
_defineProperty(this, "status", void 0);
|
|
15
|
-
|
|
16
|
-
this.status = status;
|
|
17
|
-
}
|
|
18
|
-
|
|
19
|
-
}
|
|
20
|
-
|
|
21
|
-
exports.HttpError = HttpError;
|
|
22
|
-
|
|
23
|
-
class ValidationError extends HttpError {
|
|
24
|
-
constructor(status, message) {
|
|
25
|
-
super(status, message);
|
|
26
|
-
|
|
27
|
-
_defineProperty(this, "code", void 0);
|
|
28
|
-
|
|
29
|
-
this.code = 'VALIDATION_ERROR';
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
exports.ValidationError = ValidationError;
|
package/dist/js/node/index.js
DELETED
|
@@ -1,125 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
var _exportNames = {
|
|
7
|
-
Api: true,
|
|
8
|
-
HttpError: true,
|
|
9
|
-
ValidationError: true,
|
|
10
|
-
getRelativeRuntimePath: true,
|
|
11
|
-
HANDLER_WITH_META: true,
|
|
12
|
-
isWithMetaHandler: true,
|
|
13
|
-
createStorage: true,
|
|
14
|
-
registerPaths: true
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "Api", {
|
|
17
|
-
enumerable: true,
|
|
18
|
-
get: function () {
|
|
19
|
-
return _api.Api;
|
|
20
|
-
}
|
|
21
|
-
});
|
|
22
|
-
Object.defineProperty(exports, "HANDLER_WITH_META", {
|
|
23
|
-
enumerable: true,
|
|
24
|
-
get: function () {
|
|
25
|
-
return _utils.HANDLER_WITH_META;
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
Object.defineProperty(exports, "HttpError", {
|
|
29
|
-
enumerable: true,
|
|
30
|
-
get: function () {
|
|
31
|
-
return _http.HttpError;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
Object.defineProperty(exports, "ValidationError", {
|
|
35
|
-
enumerable: true,
|
|
36
|
-
get: function () {
|
|
37
|
-
return _http.ValidationError;
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
Object.defineProperty(exports, "createStorage", {
|
|
41
|
-
enumerable: true,
|
|
42
|
-
get: function () {
|
|
43
|
-
return _utils.createStorage;
|
|
44
|
-
}
|
|
45
|
-
});
|
|
46
|
-
Object.defineProperty(exports, "getRelativeRuntimePath", {
|
|
47
|
-
enumerable: true,
|
|
48
|
-
get: function () {
|
|
49
|
-
return _utils.getRelativeRuntimePath;
|
|
50
|
-
}
|
|
51
|
-
});
|
|
52
|
-
Object.defineProperty(exports, "isWithMetaHandler", {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
get: function () {
|
|
55
|
-
return _utils.isWithMetaHandler;
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
Object.defineProperty(exports, "registerPaths", {
|
|
59
|
-
enumerable: true,
|
|
60
|
-
get: function () {
|
|
61
|
-
return _utils.registerPaths;
|
|
62
|
-
}
|
|
63
|
-
});
|
|
64
|
-
|
|
65
|
-
var _api = require("./api");
|
|
66
|
-
|
|
67
|
-
var _http = require("./errors/http");
|
|
68
|
-
|
|
69
|
-
var _router = require("./router");
|
|
70
|
-
|
|
71
|
-
Object.keys(_router).forEach(function (key) {
|
|
72
|
-
if (key === "default" || key === "__esModule") return;
|
|
73
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
74
|
-
if (key in exports && exports[key] === _router[key]) return;
|
|
75
|
-
Object.defineProperty(exports, key, {
|
|
76
|
-
enumerable: true,
|
|
77
|
-
get: function () {
|
|
78
|
-
return _router[key];
|
|
79
|
-
}
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
var _types = require("./types");
|
|
84
|
-
|
|
85
|
-
Object.keys(_types).forEach(function (key) {
|
|
86
|
-
if (key === "default" || key === "__esModule") return;
|
|
87
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
88
|
-
if (key in exports && exports[key] === _types[key]) return;
|
|
89
|
-
Object.defineProperty(exports, key, {
|
|
90
|
-
enumerable: true,
|
|
91
|
-
get: function () {
|
|
92
|
-
return _types[key];
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
});
|
|
96
|
-
|
|
97
|
-
var _client = require("./client");
|
|
98
|
-
|
|
99
|
-
Object.keys(_client).forEach(function (key) {
|
|
100
|
-
if (key === "default" || key === "__esModule") return;
|
|
101
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
102
|
-
if (key in exports && exports[key] === _client[key]) return;
|
|
103
|
-
Object.defineProperty(exports, key, {
|
|
104
|
-
enumerable: true,
|
|
105
|
-
get: function () {
|
|
106
|
-
return _client[key];
|
|
107
|
-
}
|
|
108
|
-
});
|
|
109
|
-
});
|
|
110
|
-
|
|
111
|
-
var _http2 = require("./operators/http");
|
|
112
|
-
|
|
113
|
-
Object.keys(_http2).forEach(function (key) {
|
|
114
|
-
if (key === "default" || key === "__esModule") return;
|
|
115
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
116
|
-
if (key in exports && exports[key] === _http2[key]) return;
|
|
117
|
-
Object.defineProperty(exports, key, {
|
|
118
|
-
enumerable: true,
|
|
119
|
-
get: function () {
|
|
120
|
-
return _http2[key];
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
});
|
|
124
|
-
|
|
125
|
-
var _utils = require("./utils");
|
|
@@ -1,226 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.createHttpOperator = exports.Trace = exports.SetHeaders = exports.Redirect = exports.Query = exports.Put = exports.Post = exports.Patch = exports.Params = exports.Option = exports.HttpCode = exports.Headers = exports.Head = exports.Get = exports.Delete = exports.Data = exports.Connect = void 0;
|
|
7
|
-
|
|
8
|
-
var _types = require("../types");
|
|
9
|
-
|
|
10
|
-
var _http = require("../errors/http");
|
|
11
|
-
|
|
12
|
-
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
|
|
13
|
-
|
|
14
|
-
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
|
|
15
|
-
|
|
16
|
-
function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
|
|
17
|
-
|
|
18
|
-
const validateInput = async (schema, input) => {
|
|
19
|
-
try {
|
|
20
|
-
return await schema.parseAsync(input);
|
|
21
|
-
} catch (error) {
|
|
22
|
-
const {
|
|
23
|
-
z: zod
|
|
24
|
-
} = require('zod');
|
|
25
|
-
|
|
26
|
-
if (error instanceof zod.ZodError) {
|
|
27
|
-
throw new _http.ValidationError(400, error.message);
|
|
28
|
-
}
|
|
29
|
-
|
|
30
|
-
throw error;
|
|
31
|
-
}
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const createHttpOperator = method => {
|
|
35
|
-
return urlPath => {
|
|
36
|
-
return {
|
|
37
|
-
name: method,
|
|
38
|
-
|
|
39
|
-
metadata({
|
|
40
|
-
setMetadata
|
|
41
|
-
}) {
|
|
42
|
-
setMetadata(_types.OperatorType.Trigger, {
|
|
43
|
-
type: _types.TriggerType.Http,
|
|
44
|
-
path: urlPath,
|
|
45
|
-
method
|
|
46
|
-
});
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
};
|
|
50
|
-
};
|
|
51
|
-
};
|
|
52
|
-
|
|
53
|
-
exports.createHttpOperator = createHttpOperator;
|
|
54
|
-
const Get = createHttpOperator(_types.HttpMethod.Get);
|
|
55
|
-
exports.Get = Get;
|
|
56
|
-
const Post = createHttpOperator(_types.HttpMethod.Post);
|
|
57
|
-
exports.Post = Post;
|
|
58
|
-
const Put = createHttpOperator(_types.HttpMethod.Put);
|
|
59
|
-
exports.Put = Put;
|
|
60
|
-
const Delete = createHttpOperator(_types.HttpMethod.Delete);
|
|
61
|
-
exports.Delete = Delete;
|
|
62
|
-
const Connect = createHttpOperator(_types.HttpMethod.Connect);
|
|
63
|
-
exports.Connect = Connect;
|
|
64
|
-
const Trace = createHttpOperator(_types.HttpMethod.Trace);
|
|
65
|
-
exports.Trace = Trace;
|
|
66
|
-
const Patch = createHttpOperator(_types.HttpMethod.Patch);
|
|
67
|
-
exports.Patch = Patch;
|
|
68
|
-
const Option = createHttpOperator(_types.HttpMethod.Option);
|
|
69
|
-
exports.Option = Option;
|
|
70
|
-
const Head = createHttpOperator(_types.HttpMethod.Head);
|
|
71
|
-
exports.Head = Head;
|
|
72
|
-
|
|
73
|
-
const Data = schema => {
|
|
74
|
-
return {
|
|
75
|
-
name: _types.HttpMetadata.Data,
|
|
76
|
-
|
|
77
|
-
metadata({
|
|
78
|
-
setMetadata
|
|
79
|
-
}) {
|
|
80
|
-
setMetadata(_types.HttpMetadata.Data, schema);
|
|
81
|
-
},
|
|
82
|
-
|
|
83
|
-
async validate(helper, next) {
|
|
84
|
-
const {
|
|
85
|
-
inputs: {
|
|
86
|
-
data
|
|
87
|
-
}
|
|
88
|
-
} = helper;
|
|
89
|
-
helper.inputs = _objectSpread(_objectSpread({}, helper.inputs), {}, {
|
|
90
|
-
data: await validateInput(schema, data)
|
|
91
|
-
});
|
|
92
|
-
return next();
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
};
|
|
96
|
-
};
|
|
97
|
-
|
|
98
|
-
exports.Data = Data;
|
|
99
|
-
|
|
100
|
-
const Query = schema => {
|
|
101
|
-
return {
|
|
102
|
-
name: _types.HttpMetadata.Query,
|
|
103
|
-
|
|
104
|
-
metadata({
|
|
105
|
-
setMetadata
|
|
106
|
-
}) {
|
|
107
|
-
setMetadata(_types.HttpMetadata.Query, schema);
|
|
108
|
-
},
|
|
109
|
-
|
|
110
|
-
async validate(helper, next) {
|
|
111
|
-
const {
|
|
112
|
-
inputs: {
|
|
113
|
-
query
|
|
114
|
-
}
|
|
115
|
-
} = helper;
|
|
116
|
-
helper.inputs = _objectSpread(_objectSpread({}, helper.inputs), {}, {
|
|
117
|
-
query: await validateInput(schema, query)
|
|
118
|
-
});
|
|
119
|
-
return next();
|
|
120
|
-
}
|
|
121
|
-
|
|
122
|
-
};
|
|
123
|
-
};
|
|
124
|
-
|
|
125
|
-
exports.Query = Query;
|
|
126
|
-
|
|
127
|
-
const Params = schema => {
|
|
128
|
-
return {
|
|
129
|
-
name: _types.HttpMetadata.Params,
|
|
130
|
-
|
|
131
|
-
metadata({
|
|
132
|
-
setMetadata
|
|
133
|
-
}) {
|
|
134
|
-
setMetadata(_types.HttpMetadata.Params, schema);
|
|
135
|
-
},
|
|
136
|
-
|
|
137
|
-
async validate(helper, next) {
|
|
138
|
-
const {
|
|
139
|
-
inputs: {
|
|
140
|
-
params
|
|
141
|
-
}
|
|
142
|
-
} = helper;
|
|
143
|
-
helper.inputs = _objectSpread(_objectSpread({}, helper.inputs), {}, {
|
|
144
|
-
params: await validateInput(schema, params)
|
|
145
|
-
});
|
|
146
|
-
return next();
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
};
|
|
150
|
-
};
|
|
151
|
-
|
|
152
|
-
exports.Params = Params;
|
|
153
|
-
|
|
154
|
-
const Headers = schema => {
|
|
155
|
-
return {
|
|
156
|
-
name: _types.HttpMetadata.Headers,
|
|
157
|
-
|
|
158
|
-
metadata({
|
|
159
|
-
setMetadata
|
|
160
|
-
}) {
|
|
161
|
-
setMetadata(_types.HttpMetadata.Headers, schema);
|
|
162
|
-
},
|
|
163
|
-
|
|
164
|
-
async validate(helper, next) {
|
|
165
|
-
const {
|
|
166
|
-
inputs: {
|
|
167
|
-
headers
|
|
168
|
-
}
|
|
169
|
-
} = helper;
|
|
170
|
-
helper.inputs = _objectSpread(_objectSpread({}, helper.inputs), {}, {
|
|
171
|
-
headers: await validateInput(schema, headers)
|
|
172
|
-
});
|
|
173
|
-
return next();
|
|
174
|
-
}
|
|
175
|
-
|
|
176
|
-
};
|
|
177
|
-
};
|
|
178
|
-
|
|
179
|
-
exports.Headers = Headers;
|
|
180
|
-
|
|
181
|
-
const setResponseMeta = (helper, type, value) => {
|
|
182
|
-
const responseMetaData = helper.getMetadata(_types.HttpMetadata.Response) || [];
|
|
183
|
-
helper.setMetadata(_types.HttpMetadata.Response, [...responseMetaData, {
|
|
184
|
-
type,
|
|
185
|
-
value
|
|
186
|
-
}]);
|
|
187
|
-
};
|
|
188
|
-
|
|
189
|
-
const HttpCode = statusCode => {
|
|
190
|
-
return {
|
|
191
|
-
name: 'HttpCode',
|
|
192
|
-
|
|
193
|
-
metadata(helper) {
|
|
194
|
-
setResponseMeta(helper, _types.ResponseMetaType.StatusCode, statusCode);
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
};
|
|
198
|
-
};
|
|
199
|
-
|
|
200
|
-
exports.HttpCode = HttpCode;
|
|
201
|
-
|
|
202
|
-
const SetHeaders = headers => {
|
|
203
|
-
return {
|
|
204
|
-
name: 'SetHeaders',
|
|
205
|
-
|
|
206
|
-
metadata(helper) {
|
|
207
|
-
setResponseMeta(helper, _types.ResponseMetaType.Headers, headers);
|
|
208
|
-
}
|
|
209
|
-
|
|
210
|
-
};
|
|
211
|
-
};
|
|
212
|
-
|
|
213
|
-
exports.SetHeaders = SetHeaders;
|
|
214
|
-
|
|
215
|
-
const Redirect = url => {
|
|
216
|
-
return {
|
|
217
|
-
name: 'Redirect',
|
|
218
|
-
|
|
219
|
-
metadata(helper) {
|
|
220
|
-
setResponseMeta(helper, _types.ResponseMetaType.Redirect, url);
|
|
221
|
-
}
|
|
222
|
-
|
|
223
|
-
};
|
|
224
|
-
};
|
|
225
|
-
|
|
226
|
-
exports.Redirect = Redirect;
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.INDEX_SUFFIX = exports.FRAMEWORK_MODE_LAMBDA_DIR = exports.FRAMEWORK_MODE_APP_DIR = exports.AllHttpMethods = exports.API_FILE_RULES = exports.API_DIR = exports.APIMode = void 0;
|
|
7
|
-
|
|
8
|
-
var _types = require("../types");
|
|
9
|
-
|
|
10
|
-
const AllHttpMethods = Object.values(_types.HttpMethod);
|
|
11
|
-
exports.AllHttpMethods = AllHttpMethods;
|
|
12
|
-
let APIMode;
|
|
13
|
-
exports.APIMode = APIMode;
|
|
14
|
-
|
|
15
|
-
(function (APIMode) {
|
|
16
|
-
APIMode["FARMEWORK"] = "framework";
|
|
17
|
-
APIMode["FUNCTION"] = "function";
|
|
18
|
-
})(APIMode || (exports.APIMode = APIMode = {}));
|
|
19
|
-
|
|
20
|
-
const FRAMEWORK_MODE_LAMBDA_DIR = 'lambda';
|
|
21
|
-
exports.FRAMEWORK_MODE_LAMBDA_DIR = FRAMEWORK_MODE_LAMBDA_DIR;
|
|
22
|
-
const FRAMEWORK_MODE_APP_DIR = 'app';
|
|
23
|
-
exports.FRAMEWORK_MODE_APP_DIR = FRAMEWORK_MODE_APP_DIR;
|
|
24
|
-
const INDEX_SUFFIX = 'index';
|
|
25
|
-
exports.INDEX_SUFFIX = INDEX_SUFFIX;
|
|
26
|
-
const API_DIR = 'api';
|
|
27
|
-
exports.API_DIR = API_DIR;
|
|
28
|
-
const API_FILE_RULES = ['**/*.[tj]s', '!**/_*', '!**/_*/**/*.[tj]s', '!**/*.test.js', '!**/*.test.ts', '!**/*.d.ts', '!__test__/*.ts', '!__tests__/*.ts', '!node_modules/**', '!bootstrap.js'];
|
|
29
|
-
exports.API_FILE_RULES = API_FILE_RULES;
|