@modern-js/bff-core 1.1.3 → 1.2.1-beta.1
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/js/modern/api.js
CHANGED
|
@@ -23,6 +23,7 @@ export function Api(...args) {
|
|
|
23
23
|
}
|
|
24
24
|
|
|
25
25
|
const validateHandlers = operators.filter(operator => operator.validate).map(operator => operator.validate);
|
|
26
|
+
const pipeHandlers = operators.filter(operator => operator.pipe).map(operator => operator.pipe);
|
|
26
27
|
|
|
27
28
|
async function runner(inputs) {
|
|
28
29
|
const executeHelper = {
|
|
@@ -30,10 +31,15 @@ export function Api(...args) {
|
|
|
30
31
|
|
|
31
32
|
get inputs() {
|
|
32
33
|
return inputs;
|
|
34
|
+
},
|
|
35
|
+
|
|
36
|
+
set inputs(val) {
|
|
37
|
+
// eslint-disable-next-line no-param-reassign
|
|
38
|
+
inputs = val;
|
|
33
39
|
}
|
|
34
40
|
|
|
35
41
|
};
|
|
36
|
-
const stack = [...validateHandlers];
|
|
42
|
+
const stack = [...validateHandlers, ...pipeHandlers];
|
|
37
43
|
stack.push(async (helper, next) => {
|
|
38
44
|
const res = await handler(inputs);
|
|
39
45
|
helper.result = res;
|
|
@@ -173,17 +173,5 @@ export const Redirect = url => {
|
|
|
173
173
|
setResponseMeta(helper, ResponseMetaType.Redirect, url);
|
|
174
174
|
}
|
|
175
175
|
|
|
176
|
-
};
|
|
177
|
-
};
|
|
178
|
-
export const Middleware = middleware => {
|
|
179
|
-
return {
|
|
180
|
-
name: 'Middleware',
|
|
181
|
-
|
|
182
|
-
metadata({
|
|
183
|
-
setMetadata
|
|
184
|
-
}) {
|
|
185
|
-
setMetadata(OperatorType.Middleware, middleware);
|
|
186
|
-
}
|
|
187
|
-
|
|
188
176
|
};
|
|
189
177
|
};
|
package/dist/js/node/api.js
CHANGED
|
@@ -35,6 +35,7 @@ function Api(...args) {
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
const validateHandlers = operators.filter(operator => operator.validate).map(operator => operator.validate);
|
|
38
|
+
const pipeHandlers = operators.filter(operator => operator.pipe).map(operator => operator.pipe);
|
|
38
39
|
|
|
39
40
|
async function runner(inputs) {
|
|
40
41
|
const executeHelper = {
|
|
@@ -42,10 +43,15 @@ function Api(...args) {
|
|
|
42
43
|
|
|
43
44
|
get inputs() {
|
|
44
45
|
return inputs;
|
|
46
|
+
},
|
|
47
|
+
|
|
48
|
+
set inputs(val) {
|
|
49
|
+
// eslint-disable-next-line no-param-reassign
|
|
50
|
+
inputs = val;
|
|
45
51
|
}
|
|
46
52
|
|
|
47
53
|
};
|
|
48
|
-
const stack = [...validateHandlers];
|
|
54
|
+
const stack = [...validateHandlers, ...pipeHandlers];
|
|
49
55
|
stack.push(async (helper, next) => {
|
|
50
56
|
const res = await handler(inputs);
|
|
51
57
|
helper.result = res;
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.createHttpOperator = exports.Trace = exports.SetHeaders = exports.Redirect = exports.Query = exports.Put = exports.Post = exports.Patch = exports.Params = exports.Option = exports.
|
|
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
7
|
|
|
8
8
|
var _types = require("../types");
|
|
9
9
|
|
|
@@ -213,19 +213,4 @@ const Redirect = url => {
|
|
|
213
213
|
};
|
|
214
214
|
};
|
|
215
215
|
|
|
216
|
-
exports.Redirect = Redirect;
|
|
217
|
-
|
|
218
|
-
const Middleware = middleware => {
|
|
219
|
-
return {
|
|
220
|
-
name: 'Middleware',
|
|
221
|
-
|
|
222
|
-
metadata({
|
|
223
|
-
setMetadata
|
|
224
|
-
}) {
|
|
225
|
-
setMetadata(_types.OperatorType.Middleware, middleware);
|
|
226
|
-
}
|
|
227
|
-
|
|
228
|
-
};
|
|
229
|
-
};
|
|
230
|
-
|
|
231
|
-
exports.Middleware = Middleware;
|
|
216
|
+
exports.Redirect = Redirect;
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { z } from 'zod';
|
|
2
|
-
import { Operator, HttpMethod,
|
|
2
|
+
import { Operator, HttpMethod, ResponseMetaType } from '../types';
|
|
3
3
|
export interface ResponseMeta {
|
|
4
4
|
type: ResponseMetaType;
|
|
5
5
|
value: unknown;
|
|
@@ -28,5 +28,4 @@ export declare const Headers: <T>(schema: z.ZodType<T, z.ZodTypeDef, T>) => Oper
|
|
|
28
28
|
}>;
|
|
29
29
|
export declare const HttpCode: (statusCode: number) => Operator<void>;
|
|
30
30
|
export declare const SetHeaders: (headers: Record<string, string>) => Operator<void>;
|
|
31
|
-
export declare const Redirect: (url: string) => Operator<void>;
|
|
32
|
-
export declare const Middleware: (middleware: ApiMiddleware) => Operator<void>;
|
|
31
|
+
export declare const Redirect: (url: string) => Operator<void>;
|
package/dist/types/types.d.ts
CHANGED
|
@@ -31,10 +31,10 @@ export declare enum HttpMethod {
|
|
|
31
31
|
Head = "HEAD",
|
|
32
32
|
}
|
|
33
33
|
export declare type InputSchemaMeata = Extract<HttpMetadata, HttpMetadata.Data | HttpMetadata.Query | HttpMetadata.Headers | HttpMetadata.Params>;
|
|
34
|
-
export declare type
|
|
34
|
+
export declare type ExecuteFunc = (helper: ExecuteHelper, next: () => Promise<any>) => Promise<any>;
|
|
35
35
|
export declare type ExecuteHelper = {
|
|
36
36
|
result?: any;
|
|
37
|
-
|
|
37
|
+
inputs: any;
|
|
38
38
|
};
|
|
39
39
|
export declare type MetadataHelper = {
|
|
40
40
|
setMetadata: <T = any>(key: any, value: T) => void;
|
|
@@ -44,7 +44,8 @@ export declare type Operator<Input> = {
|
|
|
44
44
|
name: string;
|
|
45
45
|
inputType?: Input;
|
|
46
46
|
metadata?: (helper: MetadataHelper) => void;
|
|
47
|
-
validate?:
|
|
47
|
+
validate?: ExecuteFunc;
|
|
48
|
+
pipe?: ExecuteFunc;
|
|
48
49
|
};
|
|
49
50
|
export declare type MaybeAsync<T> = Promise<T> | T;
|
|
50
51
|
export declare type ApiRunner<Input extends object | void | unknown, Output extends MaybeAsync<any>> = (...args: Input extends void ? never : [input: Input]) => Output;
|
|
@@ -52,5 +53,4 @@ export declare type NonNullable<T> = Exclude<T, null | undefined>;
|
|
|
52
53
|
export declare type ExtractInputType<T> = { [key in keyof T]: T[key] extends Operator<any> ? NonNullable<T[key]['inputType']> : void };
|
|
53
54
|
export declare type ArrayToObject<T, R = {}> = T extends [infer First, ...infer Rest] ? First extends PromiseLike<infer PromiseValue> ? PromiseValue : First extends object ? Merge<First, ArrayToObject<Rest, R>> : ArrayToObject<Rest, R> : R;
|
|
54
55
|
export declare type AsyncFunction = (...args: any[]) => Promise<any>;
|
|
55
|
-
export declare const httpMethods: HttpMethod[];
|
|
56
|
-
export declare type ApiMiddleware = (next: () => any | Promise<any>) => any;
|
|
56
|
+
export declare const httpMethods: HttpMethod[];
|
package/package.json
CHANGED
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
"modern",
|
|
12
12
|
"modern.js"
|
|
13
13
|
],
|
|
14
|
-
"version": "1.1.
|
|
14
|
+
"version": "1.2.1-beta.1",
|
|
15
15
|
"jsnext:source": "./src/index.ts",
|
|
16
16
|
"types": "./dist/types/index.d.ts",
|
|
17
17
|
"main": "./dist/js/node/index.js",
|
|
@@ -25,8 +25,8 @@
|
|
|
25
25
|
},
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"@babel/runtime": "^7.18.0",
|
|
28
|
-
"@modern-js/bff-runtime": "^1.
|
|
29
|
-
"@modern-js/utils": "^1.
|
|
28
|
+
"@modern-js/bff-runtime": "^1.4.0",
|
|
29
|
+
"@modern-js/utils": "^1.8.0",
|
|
30
30
|
"esbuild": "^0.14.38",
|
|
31
31
|
"esbuild-register": "^3.3.3",
|
|
32
32
|
"koa-compose": "^4.1.0",
|
|
@@ -58,7 +58,8 @@
|
|
|
58
58
|
},
|
|
59
59
|
"publishConfig": {
|
|
60
60
|
"registry": "https://registry.npmjs.org/",
|
|
61
|
-
"access": "public"
|
|
61
|
+
"access": "public",
|
|
62
|
+
"types": "./dist/types/index.d.ts"
|
|
62
63
|
},
|
|
63
64
|
"wireit": {
|
|
64
65
|
"build": {
|