@midwayjs/mock 3.0.2 → 3.0.6
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/client/http.d.ts +1 -1
- package/dist/creator.d.ts +5 -5
- package/dist/creator.js +16 -8
- package/dist/utils.d.ts +2 -1
- package/dist/utils.js +3 -2
- package/package.json +8 -8
- package/dist/client/http.js.map +0 -1
- package/dist/client/index.js.map +0 -1
- package/dist/client/rabbitMQ.js.map +0 -1
- package/dist/client/socketio.js.map +0 -1
- package/dist/client/ws.js.map +0 -1
- package/dist/creator.js.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/interface.js.map +0 -1
- package/dist/utils.js.map +0 -1
package/dist/client/http.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { IMidwayApplication } from '@midwayjs/core';
|
|
2
2
|
import * as request from 'supertest';
|
|
3
|
-
export declare function createHttpRequest(app:
|
|
3
|
+
export declare function createHttpRequest<T extends IMidwayApplication<any>>(app: T): request.SuperTest<request.Test>;
|
|
4
4
|
//# sourceMappingURL=http.d.ts.map
|
package/dist/creator.d.ts
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
import { IMidwayApplication, IMidwayFramework } from '@midwayjs/core';
|
|
2
2
|
import { ComponentModule, MockAppConfigurationOptions } from './interface';
|
|
3
|
-
export declare function create<T extends IMidwayFramework<any, any,
|
|
3
|
+
export declare function create<T extends IMidwayFramework<any, any, any, any, any>>(appDir?: string, options?: MockAppConfigurationOptions, customFramework?: {
|
|
4
4
|
new (...args: any[]): T;
|
|
5
5
|
} | ComponentModule): Promise<T>;
|
|
6
|
-
export declare function createApp<T extends IMidwayFramework<any, any,
|
|
6
|
+
export declare function createApp<T extends IMidwayFramework<any, any, any, any, any>>(baseDir?: string, options?: MockAppConfigurationOptions, customFramework?: {
|
|
7
7
|
new (...args: any[]): T;
|
|
8
|
-
} | ComponentModule): Promise<
|
|
9
|
-
export declare function close(app:
|
|
8
|
+
} | ComponentModule): Promise<ReturnType<T['getApplication']>>;
|
|
9
|
+
export declare function close<T extends IMidwayApplication<any>>(app: T, options?: {
|
|
10
10
|
cleanLogsDir?: boolean;
|
|
11
11
|
cleanTempDir?: boolean;
|
|
12
12
|
sleep?: number;
|
|
13
13
|
}): Promise<void>;
|
|
14
|
-
export declare function createFunctionApp<T extends IMidwayFramework<any, any,
|
|
14
|
+
export declare function createFunctionApp<T extends IMidwayFramework<any, any, any, any, any>, Y = ReturnType<T['getApplication']>>(baseDir?: string, options?: MockAppConfigurationOptions, customFrameworkModule?: {
|
|
15
15
|
new (...args: any[]): T;
|
|
16
16
|
} | ComponentModule): Promise<Y>;
|
|
17
17
|
/**
|
package/dist/creator.js
CHANGED
|
@@ -111,18 +111,26 @@ async function close(app, options) {
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
exports.close = close;
|
|
114
|
-
async function createFunctionApp(baseDir = process.cwd(), options,
|
|
115
|
-
const customFramework =
|
|
114
|
+
async function createFunctionApp(baseDir = process.cwd(), options, customFrameworkModule) {
|
|
115
|
+
const customFramework = customFrameworkModule !== null && customFrameworkModule !== void 0 ? customFrameworkModule : (0, utils_1.findFirstExistModule)([
|
|
116
116
|
process.env.MIDWAY_SERVERLESS_APP_NAME,
|
|
117
117
|
'@ali/serverless-app',
|
|
118
118
|
'@midwayjs/serverless-app',
|
|
119
119
|
]);
|
|
120
|
-
const
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
120
|
+
const serverlessModule = (0, utils_1.transformFrameworkToConfiguration)(customFramework);
|
|
121
|
+
if (serverlessModule) {
|
|
122
|
+
if (options && options.imports) {
|
|
123
|
+
options.imports.unshift(serverlessModule);
|
|
124
|
+
}
|
|
125
|
+
else {
|
|
126
|
+
options = options || {};
|
|
127
|
+
options.imports = [serverlessModule];
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
const framework = await createApp(baseDir, options);
|
|
131
|
+
const appCtx = framework.getApplicationContext();
|
|
132
|
+
const appManager = appCtx.get(core_1.MidwayApplicationManager);
|
|
133
|
+
return appManager.getApplication(core_1.MidwayFrameworkType.SERVERLESS_APP);
|
|
126
134
|
}
|
|
127
135
|
exports.createFunctionApp = createFunctionApp;
|
|
128
136
|
/**
|
package/dist/utils.d.ts
CHANGED
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
import { IMidwayFramework } from '@midwayjs/core';
|
|
2
|
+
import { ComponentModule } from './interface';
|
|
2
3
|
export declare function isTestEnvironment(): boolean;
|
|
3
4
|
export declare function isWin32(): boolean;
|
|
4
|
-
export declare function findFirstExistModule(moduleList: any):
|
|
5
|
+
export declare function findFirstExistModule(moduleList: any): ComponentModule;
|
|
5
6
|
/**
|
|
6
7
|
* transform a framework component or framework module to configuration class
|
|
7
8
|
* @param Framework
|
package/dist/utils.js
CHANGED
|
@@ -27,8 +27,7 @@ function findFirstExistModule(moduleList) {
|
|
|
27
27
|
if (!name)
|
|
28
28
|
continue;
|
|
29
29
|
try {
|
|
30
|
-
require
|
|
31
|
-
return name;
|
|
30
|
+
return require(name);
|
|
32
31
|
}
|
|
33
32
|
catch (e) {
|
|
34
33
|
// ignore
|
|
@@ -41,6 +40,8 @@ exports.findFirstExistModule = findFirstExistModule;
|
|
|
41
40
|
* @param Framework
|
|
42
41
|
*/
|
|
43
42
|
function transformFrameworkToConfiguration(Framework) {
|
|
43
|
+
if (!Framework)
|
|
44
|
+
return null;
|
|
44
45
|
let CustomFramework = Framework;
|
|
45
46
|
if (typeof Framework === 'string') {
|
|
46
47
|
Framework = (0, core_1.safeRequire)(Framework);
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@midwayjs/mock",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.6",
|
|
4
4
|
"description": "create your test app from midway framework",
|
|
5
5
|
"main": "dist/index",
|
|
6
6
|
"typings": "dist/index.d.ts",
|
|
@@ -19,24 +19,24 @@
|
|
|
19
19
|
],
|
|
20
20
|
"files": [
|
|
21
21
|
"dist/**/*.js",
|
|
22
|
-
"dist/**/*.d.ts"
|
|
23
|
-
"dist/**/*.js.map"
|
|
22
|
+
"dist/**/*.d.ts"
|
|
24
23
|
],
|
|
25
24
|
"engines": {
|
|
26
25
|
"node": ">=12"
|
|
27
26
|
},
|
|
28
27
|
"license": "MIT",
|
|
29
28
|
"devDependencies": {
|
|
30
|
-
"@midwayjs/core": "^3.0.
|
|
31
|
-
"@midwayjs/decorator": "^3.0.
|
|
32
|
-
"@midwayjs/logger": "^2.
|
|
29
|
+
"@midwayjs/core": "^3.0.6",
|
|
30
|
+
"@midwayjs/decorator": "^3.0.6",
|
|
31
|
+
"@midwayjs/logger": "^2.15.0",
|
|
33
32
|
"@types/amqplib": "0.8.2",
|
|
34
33
|
"amqplib": "0.8.0",
|
|
35
34
|
"socket.io": "4.4.1",
|
|
36
35
|
"socket.io-client": "4.4.1",
|
|
37
|
-
"ws": "8.
|
|
36
|
+
"ws": "8.5.0"
|
|
38
37
|
},
|
|
39
38
|
"dependencies": {
|
|
39
|
+
"@types/supertest": "2.0.11",
|
|
40
40
|
"fs-extra": "10.0.0",
|
|
41
41
|
"supertest": "6.2.2"
|
|
42
42
|
},
|
|
@@ -45,5 +45,5 @@
|
|
|
45
45
|
"type": "git",
|
|
46
46
|
"url": "http://github.com/midwayjs/midway.git"
|
|
47
47
|
},
|
|
48
|
-
"gitHead": "
|
|
48
|
+
"gitHead": "afaa5b59a2be85e915233a9268c0e05965dd5c61"
|
|
49
49
|
}
|
package/dist/client/http.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":";;;AACA,qCAAqC;AAErC,SAAgB,iBAAiB,CAAC,GAAuB;IACvD,IAAK,GAAW,CAAC,QAAQ,EAAE;QACzB,OAAO,OAAO,CAAE,GAAW,CAAC,QAAQ,EAAE,CAAC,CAAC;KACzC;SAAM;QACL,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC;KACrB;AACH,CAAC;AAND,8CAMC","sourcesContent":["import { IMidwayApplication } from '@midwayjs/core';\nimport * as request from 'supertest';\n\nexport function createHttpRequest(app: IMidwayApplication) {\n if ((app as any).callback) {\n return request((app as any).callback());\n } else {\n return request(app);\n }\n}\n"]}
|
package/dist/client/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,yCAAuB;AACvB,6CAA2B;AAC3B,6CAA2B;AAC3B,uCAAqB","sourcesContent":["export * from './http';\nexport * from './rabbitMQ';\nexport * from './socketio';\nexport * from './ws';\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"rabbitMQ.js","sourceRoot":"","sources":["../../src/client/rabbitMQ.ts"],"names":[],"mappings":";;;AAEA,MAAM,MAAM,GAAG,EAAE,CAAC;AAClB,MAAM,SAAS,GAAG,EAAE,CAAC;AACrB,MAAM,cAAc,GAAG,EAAE,CAAC;AAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC,YAAY,CAAC;AAEpD,MAAM,WAAW,GAAG,GAAG,EAAE;IACvB,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,UAAU,GAAG,IAAI,CAAC;IAEtB,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,EAAE;YACV,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;QACH,CAAC;QACD,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK;QACpC,WAAW,EAAE,QAAQ,CAAC,EAAE;YACtB,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;YACzC,QAAQ,GAAG,EAAE,CAAC;YACd,UAAU,GAAG,QAAQ,CAAC;QACxB,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACtC,eAAe,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM;QACtC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;KAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,kBAAkB,GAAG,GAAG,EAAE;IAC9B,IAAI,QAAQ,GAAG,EAAE,CAAC;IAClB,IAAI,UAAU,GAAG,IAAI,CAAC;IAEtB,OAAO;QACL,GAAG,EAAE,IAAI,CAAC,EAAE;YACV,IAAI,UAAU,EAAE;gBACd,UAAU,CAAC,IAAI,CAAC,CAAC;aAClB;iBAAM;gBACL,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aACrB;QACH,CAAC;QACD,GAAG,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,IAAI,KAAK;QACpC,WAAW,EAAE,KAAK,EAAE,QAAQ,EAAE,eAAe,EAAE,EAAE;YAC/C,KAAK,MAAM,IAAI,IAAI,QAAQ,EAAE;gBAC3B,MAAM,eAAe,CAAC,GAAG,EAAE;oBACzB,QAAQ,CAAC,IAAI,CAAC,CAAC;gBACjB,CAAC,CAAC,CAAC;aACJ;YACD,QAAQ,GAAG,EAAE,CAAC;YACd,UAAU,GAAG,QAAQ,CAAC;QACxB,CAAC;QACD,WAAW,EAAE,GAAG,EAAE,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;QACtC,eAAe,EAAE,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM;QACtC,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,QAAQ,GAAG,EAAE,CAAC;KAC7B,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,OAAO;QACL,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YACzC,QAAQ,CAAC,IAAI,CAAC;gBACZ,WAAW,EAAE,SAAS;gBACtB,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;YAC5C,OAAO,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC;QAC3D,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,oBAAoB,GAAG,GAAG,EAAE;IAChC,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,OAAO;QACL,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YACzC,QAAQ,CAAC,IAAI,CAAC;gBACZ,WAAW,EAAE,SAAS;gBACtB,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;YAC5C,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CACnC,OAAO,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,KAAK,UAAU,CAC1C,CAAC;YACF,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,GAAG,EAAE;IACjC,MAAM,QAAQ,GAAG,EAAE,CAAC;IACpB,OAAO;QACL,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,EAAE,EAAE;YACzC,QAAQ,CAAC,IAAI,CAAC;gBACZ,WAAW,EAAE,SAAS;gBACtB,OAAO;gBACP,OAAO;aACR,CAAC,CAAC;QACL,CAAC;QACD,eAAe,EAAE,CAAC,UAAU,EAAE,UAAe,EAAE,EAAE,EAAE;YACjD,MAAM,UAAU,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,EAAE,CACtC,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,CAChC,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAC7C,CAAC;YACJ,MAAM,eAAe,GAAG,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC9C,UAAU,CAAC,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAC3C,CAAC;YACF,OAAO,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;QACvC,CAAC;KACF,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;IACjC,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;QAC1B,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,EAAE,gBAAgB,CAAC,EAAE;QACvB,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;YACjD,IAAI,SAAS,KAAK,gBAAgB,EAAE;gBAClC,QAAQ,EAAE,CAAC;aACZ;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,WAAW,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE;QAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,WAAW,EAAE,CAAC;IACpC,CAAC;IACD,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;QAC3C,IAAI,QAAQ,CAAC;QAEb,QAAQ,IAAI,EAAE;YACZ,KAAK,QAAQ;gBACX,QAAQ,GAAG,oBAAoB,EAAE,CAAC;gBAClC,MAAM;YACR,KAAK,QAAQ;gBACX,QAAQ,GAAG,oBAAoB,EAAE,CAAC;gBAClC,MAAM;YACR,KAAK,SAAS;gBACZ,QAAQ,GAAG,qBAAqB,EAAE,CAAC;gBACnC,MAAM;SACT;QAED,SAAS,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;IACrC,CAAC;IACD,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;QAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;QAC3C,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;QACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;QACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACjE,MAAM,OAAO,GAAG;YACd,OAAO;YACP,MAAM,EAAE;gBACN,QAAQ,EAAE,YAAY;gBACtB,UAAU;aACX;YACD,UAAU,EAAE,OAAO;SACpB,CAAC;QAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAClC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAChC;IACH,CAAC;IACD,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,KAAU,EAAE,EAAE,EAAE;QAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;YACpB,OAAO;YACP,MAAM,EAAE;gBACN,QAAQ,EAAE,EAAE;gBACZ,UAAU,EAAE,SAAS;aACtB;YACD,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE;SACvC,CAAC,CAAC;IACL,CAAC;IACD,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,KAAU,EAAE,EAAE,EAAE;QAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;IACjC,CAAC;IACD,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;IACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;QACrC,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;QACxC,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;IACpC,CAAC;IACD,MAAM,EAAE,KAAK,EAAC,WAAW,EAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;IAC9D,GAAG,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;IACnB,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE;QACvD,IAAI,OAAO,EAAE;YACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;SAChD;IACH,CAAC;IACD,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;QACxB,KAAK,EAAE,SAAS;QAChB,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE;KAClD,CAAC;IACF,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;CACnD,CAAC,CAAC;AAEH,MAAM,oBAAoB,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,GAAG,GAAG,IAAI,YAAY,EAAE,CAAC;IAC/B,OAAO;QACL,EAAE,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,EAAE;YAC1B,cAAc,CAAC,IAAI,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC;QAC/C,CAAC;QACD,IAAI,EAAE,gBAAgB,CAAC,EAAE;YACvB,cAAc,CAAC,OAAO,CAAC,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,EAAE;gBACjD,IAAI,SAAS,KAAK,gBAAgB,EAAE;oBAClC,QAAQ,EAAE,CAAC;iBACZ;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;QACf,WAAW,EAAE,KAAK,EAAC,SAAS,EAAC,EAAE;YAC7B,MAAM,CAAC,SAAS,CAAC,GAAG,kBAAkB,EAAE,CAAC;QAC3C,CAAC;QACD,cAAc,EAAE,KAAK,EAAE,YAAY,EAAE,IAAI,EAAE,EAAE;YAC3C,IAAI,QAAQ,CAAC;YAEb,QAAQ,IAAI,EAAE;gBACZ,KAAK,QAAQ;oBACX,QAAQ,GAAG,oBAAoB,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,QAAQ;oBACX,QAAQ,GAAG,oBAAoB,EAAE,CAAC;oBAClC,MAAM;gBACR,KAAK,SAAS;oBACZ,QAAQ,GAAG,qBAAqB,EAAE,CAAC;oBACnC,MAAM;aACT;YAED,SAAS,CAAC,YAAY,CAAC,GAAG,QAAQ,CAAC;QACrC,CAAC;QACD,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;YAChE,MAAM,QAAQ,GAAG,SAAS,CAAC,cAAc,CAAC,CAAC;YAC3C,QAAQ,CAAC,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;QAC9C,CAAC;QACD,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,GAAG,EAAE,EAAE,EAAE;YACjE,MAAM,QAAQ,GAAG,SAAS,CAAC,YAAY,CAAC,CAAC;YACzC,MAAM,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YACjE,MAAM,OAAO,GAAG;gBACd,OAAO;gBACP,MAAM,EAAE;oBACN,QAAQ,EAAE,YAAY;oBACtB,UAAU;iBACX;gBACD,UAAU,EAAE,OAAO;aACpB,CAAC;YAEF,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;gBAClC,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAChC;QACH,CAAC;QACD,WAAW,EAAE,KAAK,EAAE,SAAS,EAAE,OAAO,EAAE,EAAE,OAAO,KAAU,EAAE,EAAE,EAAE;YAC/D,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,CAAC;gBACpB,OAAO;gBACP,MAAM,EAAE;oBACN,QAAQ,EAAE,EAAE;oBACZ,UAAU,EAAE,SAAS;iBACtB;gBACD,UAAU,EAAE,EAAE,OAAO,EAAE,OAAO,IAAI,EAAE,EAAE;aACvC,CAAC,CAAC;QACL,CAAC;QACD,GAAG,EAAE,KAAK,EAAE,SAAS,EAAE,EAAE,KAAK,KAAU,EAAE,EAAE,EAAE;YAC5C,OAAO,MAAM,CAAC,SAAS,CAAC,CAAC,GAAG,EAAE,CAAC;QACjC,CAAC;QACD,QAAQ,EAAE,KAAK,IAAI,EAAE,GAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE;YACrC,MAAM,MAAM,CAAC,SAAS,CAAC,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,EAAC,gBAAgB,EAAC,EAAE;gBACrE,OAAO,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE;oBACjC,GAAG,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE;wBACjB,OAAO,EAAE,CAAC;oBACZ,CAAC,CAAC,CAAC;oBACH,gBAAgB,EAAE,CAAC;gBACrB,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YACH,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,CAAC;QACpC,CAAC;QACD,MAAM,EAAE,KAAK,EAAC,WAAW,EAAC,EAAE,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,WAAW,EAAE;QAC9D,GAAG,EAAE,KAAK,IAAI,EAAE;YACd,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAClB,CAAC;QACD,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,OAAO,GAAG,KAAK,EAAE,OAAO,GAAG,IAAI,EAAE,EAAE;YACvD,IAAI,OAAO,EAAE;gBACX,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;aAChD;QACH,CAAC;QACD,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,CAAC;YACxB,KAAK,EAAE,SAAS;YAChB,YAAY,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC,eAAe,EAAE;SAClD,CAAC;QACF,UAAU,EAAE,SAAS,CAAC,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE;KACnD,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,KAAK,IAAI,EAAE,CAAC,CAAC;IAC3B,aAAa;IACb,oBAAoB;IACpB,EAAE,EAAE,GAAG,EAAE,GAAE,CAAC;IACZ,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC,CAAC;AAEH,MAAM,cAAc;IAKlB,YAAY,UAAU;QAFd,gBAAW,GAAc,EAAE,CAAC;QAGlC,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa,EAAE,OAA6B;QAC5D,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,oBAAoB,CAAC,SAAS;QAClC,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO;YAC3B,MAAM,IAAI,CAAC,UAAU,CAAC,oBAAoB,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,SAAS;QAC3B,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,aAAa,EAAE,CAAC,CAAC;QACvE,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAC/B,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;QAC1C,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,WAAW,CACT,SAAiB,EACjB,OAAe,EACf,OAAyB;QAEzB,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,SAAS,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;IAED,cAAc,CACZ,QAAgB,EAChB,UAAkB,EAClB,OAAe,EACf,OAAyB;QAEzB,OAAO,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,QAAQ,EAAE,UAAU,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC;IACtE,CAAC;IAED,cAAc,CACZ,QAAgB,EAChB,IAAkE,EAClE,OAAgC;QAEhC,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,KAAK,CAAC,KAAK;QACT,MAAM,OAAO,CAAC,GAAG,CACf,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE;YAC7B,OAAO,OAAO,CAAC,KAAK,EAAE,CAAC;QACzB,CAAC,CAAC,CACH,CAAC;QACF,MAAM,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;CACF;AAaM,KAAK,UAAU,sBAAsB,CAC1C,SAAc,EACd,UAAe;IACb,IAAI,EAAE,IAAI;CACX;IAED,MAAM,IAAI,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,MAAM;QACN,OAAO,GAAG,SAAS,CAAC;QACpB,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;QACzE,OAAO,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;KACvC;SAAM;QACL,IAAI,OAAO,CAAC,IAAI,EAAE;YAChB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;SACxB;QACD,MAAM,UAAU,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,IAAI,kBAAkB,CAAC,CAAC;QACzE,MAAM,cAAc,GAAG,IAAI,cAAc,CAAC,UAAU,CAAC,CAAC;QACtD,IACE,OAAO,CAAC,gBAAgB,KAAK,SAAS;YACtC,OAAO,CAAC,gBAAgB,KAAK,IAAI,EACjC;YACA,MAAM,cAAc,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAC;SACtD;aAAM;YACL,MAAM,cAAc,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;SAC/C;QACD,OAAO,cAAc,CAAC;KACvB;AACH,CAAC;AA7BD,wDA6BC","sourcesContent":["import { Channel, Options } from 'amqplib';\n\nconst queues = {};\nconst exchanges = {};\nconst eventListeners = [];\nconst EventEmitter = require('events').EventEmitter;\n\nconst createQueue = () => {\n let messages = [];\n let subscriber = null;\n\n return {\n add: item => {\n if (subscriber) {\n subscriber(item);\n } else {\n messages.push(item);\n }\n },\n get: () => messages.shift() || false,\n addConsumer: consumer => {\n messages.forEach(item => consumer(item));\n messages = [];\n subscriber = consumer;\n },\n stopConsume: () => (subscriber = null),\n getMessageCount: () => messages.length,\n purge: () => (messages = []),\n };\n};\n\nconst createConfirmQueue = () => {\n let messages = [];\n let subscriber = null;\n\n return {\n add: item => {\n if (subscriber) {\n subscriber(item);\n } else {\n messages.push(item);\n }\n },\n get: () => messages.shift() || false,\n addConsumer: async (consumer, waitForConfirms) => {\n for (const item of messages) {\n await waitForConfirms(() => {\n consumer(item);\n });\n }\n messages = [];\n subscriber = consumer;\n },\n stopConsume: () => (subscriber = null),\n getMessageCount: () => messages.length,\n purge: () => (messages = []),\n };\n};\n\nconst createFanoutExchange = () => {\n const bindings = [];\n return {\n bindQueue: (queueName, pattern, options) => {\n bindings.push({\n targetQueue: queueName,\n options,\n pattern,\n });\n },\n getTargetQueues: (routingKey, options = {}) => {\n return [...bindings.map(binding => binding.targetQueue)];\n },\n };\n};\n\nconst createDirectExchange = () => {\n const bindings = [];\n return {\n bindQueue: (queueName, pattern, options) => {\n bindings.push({\n targetQueue: queueName,\n options,\n pattern,\n });\n },\n getTargetQueues: (routingKey, options = {}) => {\n const matchingBinding = bindings.find(\n binding => binding.pattern === routingKey\n );\n return [matchingBinding.targetQueue];\n },\n };\n};\n\nconst createHeadersExchange = () => {\n const bindings = [];\n return {\n bindQueue: (queueName, pattern, options) => {\n bindings.push({\n targetQueue: queueName,\n options,\n pattern,\n });\n },\n getTargetQueues: (routingKey, options: any = {}) => {\n const isMatching = (binding, headers) =>\n Object.keys(binding.options).every(\n key => binding.options[key] === headers[key]\n );\n const matchingBinding = bindings.find(binding =>\n isMatching(binding, options.headers || {})\n );\n return [matchingBinding.targetQueue];\n },\n };\n};\n\nconst createChannel = async () => ({\n on: (eventName, listener) => {\n eventListeners.push({ eventName, listener });\n },\n emit: emittedEventName => {\n eventListeners.forEach(({ eventName, listener }) => {\n if (eventName === emittedEventName) {\n listener();\n }\n });\n },\n close: () => {},\n assertQueue: async queueName => {\n queues[queueName] = createQueue();\n },\n assertExchange: async (exchangeName, type) => {\n let exchange;\n\n switch (type) {\n case 'fanout':\n exchange = createFanoutExchange();\n break;\n case 'direct':\n exchange = createDirectExchange();\n break;\n case 'headers':\n exchange = createHeadersExchange();\n break;\n }\n\n exchanges[exchangeName] = exchange;\n },\n bindQueue: async (queue, sourceExchange, pattern, options = {}) => {\n const exchange = exchanges[sourceExchange];\n exchange.bindQueue(queue, pattern, options);\n },\n publish: async (exchangeName, routingKey, content, options = {}) => {\n const exchange = exchanges[exchangeName];\n const queueNames = exchange.getTargetQueues(routingKey, options);\n const message = {\n content,\n fields: {\n exchange: exchangeName,\n routingKey,\n },\n properties: options,\n };\n\n for (const queueName of queueNames) {\n queues[queueName].add(message);\n }\n },\n sendToQueue: async (queueName, content, { headers }: any = {}) => {\n queues[queueName].add({\n content,\n fields: {\n exchange: '',\n routingKey: queueName,\n },\n properties: { headers: headers || {} },\n });\n },\n get: async (queueName, { noAck }: any = {}) => {\n return queues[queueName].get();\n },\n prefetch: async () => {},\n consume: async (queueName, consumer) => {\n queues[queueName].addConsumer(consumer);\n return { consumerTag: queueName };\n },\n cancel: async consumerTag => queues[consumerTag].stopConsume(),\n ack: async () => {},\n nack: async (message, allUpTo = false, requeue = true) => {\n if (requeue) {\n queues[message.fields.routingKey].add(message);\n }\n },\n checkQueue: queueName => ({\n queue: queueName,\n messageCount: queues[queueName].getMessageCount(),\n }),\n purgeQueue: queueName => queues[queueName].purge(),\n});\n\nconst createConfirmChannel = async () => {\n const evt = new EventEmitter();\n return {\n on: (eventName, listener) => {\n eventListeners.push({ eventName, listener });\n },\n emit: emittedEventName => {\n eventListeners.forEach(({ eventName, listener }) => {\n if (eventName === emittedEventName) {\n listener();\n }\n });\n },\n close: () => {},\n assertQueue: async queueName => {\n queues[queueName] = createConfirmQueue();\n },\n assertExchange: async (exchangeName, type) => {\n let exchange;\n\n switch (type) {\n case 'fanout':\n exchange = createFanoutExchange();\n break;\n case 'direct':\n exchange = createDirectExchange();\n break;\n case 'headers':\n exchange = createHeadersExchange();\n break;\n }\n\n exchanges[exchangeName] = exchange;\n },\n bindQueue: async (queue, sourceExchange, pattern, options = {}) => {\n const exchange = exchanges[sourceExchange];\n exchange.bindQueue(queue, pattern, options);\n },\n publish: async (exchangeName, routingKey, content, options = {}) => {\n const exchange = exchanges[exchangeName];\n const queueNames = exchange.getTargetQueues(routingKey, options);\n const message = {\n content,\n fields: {\n exchange: exchangeName,\n routingKey,\n },\n properties: options,\n };\n\n for (const queueName of queueNames) {\n queues[queueName].add(message);\n }\n },\n sendToQueue: async (queueName, content, { headers }: any = {}) => {\n queues[queueName].add({\n content,\n fields: {\n exchange: '',\n routingKey: queueName,\n },\n properties: { headers: headers || {} },\n });\n },\n get: async (queueName, { noAck }: any = {}) => {\n return queues[queueName].get();\n },\n prefetch: async () => {},\n consume: async (queueName, consumer) => {\n await queues[queueName].addConsumer(consumer, async invokeListenerFn => {\n return new Promise<void>(resolve => {\n evt.on('ack', () => {\n resolve();\n });\n invokeListenerFn();\n });\n });\n return { consumerTag: queueName };\n },\n cancel: async consumerTag => queues[consumerTag].stopConsume(),\n ack: async () => {\n evt.emit('ack');\n },\n nack: async (message, allUpTo = false, requeue = true) => {\n if (requeue) {\n queues[message.fields.routingKey].add(message);\n }\n },\n checkQueue: queueName => ({\n queue: queueName,\n messageCount: queues[queueName].getMessageCount(),\n }),\n purgeQueue: queueName => queues[queueName].purge(),\n };\n};\n\nconst connect = async () => ({\n createChannel,\n createConfirmChannel,\n on: () => {},\n close: () => {},\n});\n\nclass ChannelManager {\n private connection;\n private channel: Channel;\n private channelList: Channel[] = [];\n\n constructor(connection) {\n this.connection = connection;\n }\n\n async assertQueue(queue: string, options?: Options.AssertQueue) {\n return this.channel.assertQueue(queue, options);\n }\n\n async createConfirmChannel(queueName) {\n const channel = (this.channel =\n await this.connection.createConfirmChannel());\n this.channelList.push(channel);\n await this.channel.assertQueue(queueName);\n return this.channel;\n }\n\n async createChannel(queueName) {\n const channel = (this.channel = await this.connection.createChannel());\n this.channelList.push(channel);\n await this.channel.assertQueue(queueName);\n return this.channel;\n }\n\n sendToQueue(\n queueName: string,\n content: Buffer,\n options?: Options.Publish\n ): boolean {\n return this.channel.sendToQueue(queueName, content, options);\n }\n\n sendToExchange(\n exchange: string,\n routingKey: string,\n content: Buffer,\n options?: Options.Publish\n ) {\n return this.channel.publish(exchange, routingKey, content, options);\n }\n\n assertExchange(\n exchange: string,\n type: 'direct' | 'topic' | 'headers' | 'fanout' | 'match' | string,\n options?: Options.AssertExchange\n ) {\n return this.channel.assertExchange(exchange, type, options);\n }\n\n async close() {\n await Promise.all(\n this.channelList.map(channel => {\n return channel.close();\n })\n );\n await this.connection.close();\n }\n}\n\nexport async function createRabbitMQProducer(options: {\n url?: string;\n}): Promise<ChannelManager>;\nexport async function createRabbitMQProducer(\n queueName: string,\n options: {\n url?: string;\n isConfirmChannel?: boolean;\n mock?: boolean;\n }\n): Promise<ChannelManager>;\nexport async function createRabbitMQProducer(\n queueName: any,\n options: any = {\n mock: true,\n }\n): Promise<ChannelManager> {\n const amqp = require('amqplib');\n\n if (typeof queueName !== 'string') {\n // 新方法\n options = queueName;\n const connection = await amqp.connect(options.url || 'amqp://localhost');\n return new ChannelManager(connection);\n } else {\n if (options.mock) {\n amqp.connect = connect;\n }\n const connection = await amqp.connect(options.url || 'amqp://localhost');\n const channelManager = new ChannelManager(connection);\n if (\n options.isConfirmChannel === undefined ||\n options.isConfirmChannel === true\n ) {\n await channelManager.createConfirmChannel(queueName);\n } else {\n await channelManager.createChannel(queueName);\n }\n return channelManager;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"socketio.js","sourceRoot":"","sources":["../../src/client/socketio.ts"],"names":[],"mappings":";;;AASA,MAAa,qBAAqB;IAEhC,YAAY,MAAM;QAChB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IACD,KAAK,CAAC,OAAO;QACX,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE;gBAC7B,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvB,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,MAAM,CAAC;IACrB,CAAC;IAED,IAAI,CAAC,SAAiB,EAAE,GAAG,IAAI;QAC7B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IACvC,CAAC;IAED,EAAE,CAAC,SAAiB,EAAE,OAAO;QAC3B,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAED,IAAI,CAAC,SAAiB,EAAE,OAAO;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;IAED,cAAc,CAAC,KAAa,EAAE,EAAG;QAC/B,OAAO,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAC/C,CAAC;IAED,IAAI,CAAC,SAAiB,EAAE,GAAG,IAAI;QAC7B,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,SAAiB,EAAE,GAAG,IAAI;QAC1C,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;QAChD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,KAAK;QACH,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;IACtB,CAAC;CACF;AA9CD,sDA8CC;AAEM,KAAK,UAAU,oBAAoB,CACxC,IAAiC;IAEjC,IAAI,GAAG,CAAC;IACR,IAAI,IAAI,CAAC,GAAG,EAAE;QACZ,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC;KAChB;SAAM;QACL,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,IAAI,MAAM,MAAM,IAAI,CAAC,IAAI,IAAI,WAAW,IAC5D,IAAI,CAAC,IAAI,IAAI,EACf,EAAE,CAAC;QACH,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC;KACrB;IAED,IAAI,IAAI,CAAC,SAAS,EAAE;QAClB,GAAG,IAAI,IAAI,CAAC,SAAS,CAAC;KACvB;IACD,MAAM,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;IACtD,MAAM,MAAM,GAAG,IAAI,qBAAqB,CAAC,MAAM,CAAC,CAAC;IACjD,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;IACvB,OAAO,MAAa,CAAC;AACvB,CAAC;AApBD,oDAoBC","sourcesContent":["export interface MidwaySocketIOClientOptions\n extends Partial<SocketIOClient.ConnectOpts> {\n url?: string;\n protocol?: string;\n host?: string;\n namespace?: string;\n port?: any;\n}\n\nexport class SocketIOWrapperClient {\n private readonly socket: SocketIOClient.Socket;\n constructor(socket) {\n this.socket = socket;\n }\n async connect() {\n return new Promise((resolve, reject) => {\n this.socket.on('connect', () => {\n resolve(this.socket);\n });\n });\n }\n\n getSocket() {\n return this.socket;\n }\n\n send(eventName: string, ...args) {\n this.socket.emit(eventName, ...args);\n }\n\n on(eventName: string, handler) {\n this.socket.on(eventName, handler);\n }\n\n once(eventName: string, handler) {\n return this.socket.once(eventName, handler);\n }\n\n removeListener(event: string, fn?) {\n return this.socket.removeListener(event, fn);\n }\n\n emit(eventName: string, ...args) {\n return this.socket.emit(eventName, ...args);\n }\n\n async sendWithAck(eventName: string, ...args) {\n return new Promise((resolve, reject) => {\n this.socket.emit(eventName, ...args, resolve);\n });\n }\n\n close() {\n this.socket.close();\n }\n}\n\nexport async function createSocketIOClient(\n opts: MidwaySocketIOClientOptions\n): Promise<SocketIOWrapperClient & NodeJS.EventEmitter> {\n let url;\n if (opts.url) {\n url = opts.url;\n } else {\n url = `${opts.protocol || 'http'}://${opts.host || '127.0.0.1'}:${\n opts.port || 80\n }`;\n delete opts['port'];\n }\n\n if (opts.namespace) {\n url += opts.namespace;\n }\n const socket = require('socket.io-client')(url, opts);\n const client = new SocketIOWrapperClient(socket);\n await client.connect();\n return client as any;\n}\n"]}
|
package/dist/client/ws.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ws.js","sourceRoot":"","sources":["../../src/client/ws.ts"],"names":[],"mappings":";;;AAIO,KAAK,UAAU,qBAAqB,CACzC,OAAyB,EACzB,OAA0D;IAE1D,MAAM,SAAS,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IAChC,MAAM,MAAM,GAAG,IAAI,SAAS,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,OAAO,IAAI,OAAO,CAAY,OAAO,CAAC,EAAE;QACtC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE;YACrB,OAAO,CAAC,MAAM,CAAC,CAAC;QAClB,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAXD,sDAWC","sourcesContent":["import * as WebSocket from 'ws';\nimport * as http from 'http';\nimport * as url from 'url';\n\nexport async function createWebSocketClient(\n address: string | url.URL,\n options?: WebSocket.ClientOptions | http.ClientRequestArgs\n) {\n const WebSocket = require('ws');\n const client = new WebSocket(address, options);\n return new Promise<WebSocket>(resolve => {\n client.on('open', () => {\n resolve(client);\n });\n });\n}\n"]}
|
package/dist/creator.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"creator.js","sourceRoot":"","sources":["../src/creator.ts"],"names":[],"mappings":"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","sourcesContent":["import {\n destroyGlobalApplicationContext,\n initializeGlobalApplicationContext,\n BaseFramework,\n IMidwayApplication,\n IMidwayBootstrapOptions,\n IMidwayFramework,\n MidwayFrameworkService,\n MidwayFrameworkType,\n safeRequire,\n MidwayContainer,\n MidwayCommonError,\n} from '@midwayjs/core';\nimport { isAbsolute, join } from 'path';\nimport { remove } from 'fs-extra';\nimport { CONFIGURATION_KEY, Framework, sleep } from '@midwayjs/decorator';\nimport { clearAllLoggers } from '@midwayjs/logger';\nimport { ComponentModule, MockAppConfigurationOptions } from './interface';\nimport {\n findFirstExistModule,\n isTestEnvironment,\n isWin32,\n transformFrameworkToConfiguration,\n} from './utils';\nimport { debuglog } from 'util';\nimport { existsSync } from 'fs';\nconst debug = debuglog('midway:debug');\n\nprocess.setMaxListeners(0);\n\nexport async function create<\n T extends IMidwayFramework<any, any, U>,\n U = T['configurationOptions']\n>(\n appDir: string = process.cwd(),\n options?: MockAppConfigurationOptions,\n customFramework?: { new (...args): T } | ComponentModule\n): Promise<T> {\n debug(`[mock]: Create app, appDir=\"${appDir}\"`);\n process.env.MIDWAY_TS_MODE = 'true';\n\n if (appDir) {\n // 处理测试的 fixtures\n if (!isAbsolute(appDir)) {\n appDir = join(process.cwd(), 'test', 'fixtures', appDir);\n }\n\n if (!existsSync(appDir)) {\n throw new MidwayCommonError(\n `Path \"${appDir}\" not exists, please check it.`\n );\n }\n }\n\n clearAllLoggers();\n\n options = options || ({} as any);\n if (options.baseDir) {\n safeRequire(join(`${options.baseDir}`, 'interface'));\n } else if (appDir) {\n options.baseDir = `${appDir}/src`;\n safeRequire(join(`${options.baseDir}`, 'interface'));\n }\n\n if (!options.imports && customFramework) {\n options.imports = transformFrameworkToConfiguration(customFramework);\n }\n\n if (customFramework?.['Configuration']) {\n options.imports = customFramework;\n customFramework = customFramework['Framework'];\n }\n\n const container = new MidwayContainer();\n const bindModuleMap: WeakMap<any, boolean> = new WeakMap();\n // 这里设置是因为在 midway 单测中会不断的复用装饰器元信息,又不能清理缓存,所以在这里做一些过滤\n container.onBeforeBind(target => {\n bindModuleMap.set(target, true);\n });\n\n const originMethod = container.listModule;\n\n container.listModule = key => {\n const modules = originMethod.call(container, key);\n if (key === CONFIGURATION_KEY) {\n return modules;\n }\n\n return modules.filter((module: any) => {\n if (bindModuleMap.has(module)) {\n return true;\n } else {\n debug(\n '[mock] Filter \"%o\" module without binding when list module %s.',\n module.name ?? module,\n key\n );\n return false;\n }\n });\n };\n\n options.applicationContext = container;\n\n await initializeGlobalApplicationContext({\n ...options,\n appDir,\n imports: []\n .concat(options.imports)\n .concat(\n options.baseDir\n ? safeRequire(join(options.baseDir, 'configuration'))\n : []\n ),\n });\n\n if (customFramework) {\n return container.getAsync(customFramework as any);\n } else {\n const frameworkService = await container.getAsync(MidwayFrameworkService);\n return frameworkService.getMainFramework() as T;\n }\n}\n\nexport async function createApp<\n T extends IMidwayFramework<any, any, U>,\n U = T['configurationOptions'],\n Y = ReturnType<T['getApplication']>\n>(\n baseDir: string = process.cwd(),\n options?: U & MockAppConfigurationOptions,\n customFramework?: { new (...args): T } | ComponentModule\n): Promise<IMidwayApplication<any, any>> {\n const framework: T = await create<T, U>(baseDir, options, customFramework);\n return framework.getApplication() as unknown as Y;\n}\n\nexport async function close(\n app: IMidwayApplication,\n options?: {\n cleanLogsDir?: boolean;\n cleanTempDir?: boolean;\n sleep?: number;\n }\n) {\n if (!app) return;\n debug(`[mock]: Closing app, appDir=${app.getAppDir()}`);\n options = options || {};\n\n await destroyGlobalApplicationContext(app.getApplicationContext());\n if (isTestEnvironment()) {\n // clean first\n if (options.cleanLogsDir && !isWin32()) {\n await remove(join(app.getAppDir(), 'logs'));\n }\n if (MidwayFrameworkType.WEB === app.getFrameworkType()) {\n if (options.cleanTempDir && !isWin32()) {\n await remove(join(app.getAppDir(), 'run'));\n }\n }\n if (options.sleep > 0) {\n await sleep(options.sleep);\n } else {\n await sleep(50);\n }\n }\n}\n\nexport async function createFunctionApp<\n T extends IMidwayFramework<any, any, U>,\n U = T['configurationOptions'],\n Y = ReturnType<T['getApplication']>\n>(\n baseDir: string = process.cwd(),\n options?: MockAppConfigurationOptions,\n customFrameworkName?: { new (...args): T } | ComponentModule\n): Promise<Y> {\n const customFramework =\n customFrameworkName ??\n findFirstExistModule([\n process.env.MIDWAY_SERVERLESS_APP_NAME,\n '@ali/serverless-app',\n '@midwayjs/serverless-app',\n ]);\n\n const framework = await createApp(\n baseDir,\n {\n ...options,\n imports: transformFrameworkToConfiguration(customFramework),\n },\n customFrameworkName as any\n );\n framework.configurationOptions = options;\n return framework;\n}\n\n/**\n * 一个全量的空框架\n */\nclass LightFramework extends BaseFramework<any, any, any> {\n getFrameworkType(): MidwayFrameworkType {\n return MidwayFrameworkType.LIGHT;\n }\n\n async run(): Promise<void> {}\n\n async applicationInitialize(options: IMidwayBootstrapOptions) {\n this.app = {} as IMidwayApplication;\n this.defineApplicationProperties();\n }\n\n configure(): any {\n return {};\n }\n}\n\n/**\n * Create a real project but not ready or a virtual project\n * @param baseDir\n * @param options\n */\nexport async function createLightApp(\n baseDir = '',\n options: MockAppConfigurationOptions = {}\n): Promise<IMidwayApplication> {\n Framework()(LightFramework);\n options.globalConfig = Object.assign(\n {\n midwayLogger: {\n default: {\n disableFile: true,\n disableError: true,\n },\n },\n },\n options.globalConfig ?? {}\n );\n return createApp(baseDir, {\n ...options,\n imports: [transformFrameworkToConfiguration(LightFramework)].concat(\n options?.imports\n ),\n });\n}\n"]}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,qCAMmB;AALjB,iGAAA,MAAM,OAAA;AACN,gGAAA,KAAK,OAAA;AACL,oGAAA,SAAS,OAAA;AACT,4GAAA,iBAAiB,OAAA;AACjB,yGAAA,cAAc,OAAA;AAEhB,iDAA+B;AAC/B,iCAA4D;AAAnD,0HAAA,iCAAiC,OAAA","sourcesContent":["export {\n create,\n close,\n createApp,\n createFunctionApp,\n createLightApp,\n} from './creator';\nexport * from './client/index';\nexport { transformFrameworkToConfiguration } from './utils';\n"]}
|
package/dist/interface.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"interface.js","sourceRoot":"","sources":["../src/interface.ts"],"names":[],"mappings":"","sourcesContent":["import { IMidwayBootstrapOptions } from '@midwayjs/core';\n\nexport interface MockAppConfigurationOptions extends IMidwayBootstrapOptions {\n cleanLogsDir?: boolean;\n cleanTempDir?: boolean;\n}\n\nexport type ComponentModule = {\n Configuration: new () => any;\n};\n"]}
|
package/dist/utils.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":";;;;;;;;;AAAA,yCAIwB;AACxB,mDAAoD;AACpD,yBAAyB;AACzB,iCAAiC;AAEjC,SAAgB,iBAAiB;IAC/B,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IACrC,OAAO,CACL,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;QAC/C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC;QAC5C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CACvC,CAAC;AACJ,CAAC;AAPD,8CAOC;AAED,SAAgB,OAAO;IACrB,OAAO,EAAE,CAAC,QAAQ,EAAE,KAAK,OAAO,CAAC;AACnC,CAAC;AAFD,0BAEC;AAED,SAAgB,oBAAoB,CAAC,UAAU;IAC7C,KAAK,MAAM,IAAI,IAAI,UAAU,EAAE;QAC7B,IAAI,CAAC,IAAI;YAAE,SAAS;QACpB,IAAI;YACF,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;YACtB,OAAO,IAAI,CAAC;SACb;QAAC,OAAO,CAAC,EAAE;YACV,SAAS;SACV;KACF;AACH,CAAC;AAVD,oDAUC;AAED;;;GAGG;AACH,SAAgB,iCAAiC,CAG/C,SAAc;IAKd,IAAI,eAAe,GAAG,SAAS,CAAC;IAChC,IAAI,OAAO,SAAS,KAAK,QAAQ,EAAE;QACjC,SAAS,GAAG,IAAA,kBAAW,EAAC,SAAS,CAAC,CAAC;KACpC;IAED,IAAI,SAAS,CAAC,aAAa,EAAE;QAC3B,OAAO,SAAS,CAAC;KAClB;IAED,IAAI,SAAS,CAAC,SAAS,EAAE;QACvB,eAAe,GAAG,SAAS,CAAC,SAAS,CAAC;KACvC;SAAM;QACL,eAAe,GAAG,SAAS,CAAC;KAC7B;IAED,MAAM,CAAC,eAAe,EAAE,gCAAgC,SAAS,EAAE,CAAC,CAAC;IAGrE,IAAM,mBAAmB,GAAzB,MAAM,mBAAmB;QACvB,KAAK,CAAC,aAAa,CAAC,SAA2B;YAC7C,MAAM,eAAe,GAAG,CAAC,MAAM,SAAS,CAAC,QAAQ,CAC/C,eAAsB,CACvB,CAAM,CAAC;YACR,MAAM,eAAe,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;KACF,CAAA;IAPK,mBAAmB;QADxB,IAAA,yBAAa,GAAE;OACV,mBAAmB,CAOxB;IAED,OAAO;QACL,aAAa,EAAE,mBAAmB;QAClC,SAAS;KACV,CAAC;AACJ,CAAC;AAvCD,8EAuCC","sourcesContent":["import {\n IMidwayContainer,\n IMidwayFramework,\n safeRequire,\n} from '@midwayjs/core';\nimport { Configuration } from '@midwayjs/decorator';\nimport * as os from 'os';\nimport * as assert from 'assert';\n\nexport function isTestEnvironment() {\n const testEnv = ['test', 'unittest'];\n return (\n testEnv.includes(process.env.MIDWAY_SERVER_ENV) ||\n testEnv.includes(process.env.EGG_SERVER_ENV) ||\n testEnv.includes(process.env.NODE_ENV)\n );\n}\n\nexport function isWin32() {\n return os.platform() === 'win32';\n}\n\nexport function findFirstExistModule(moduleList): string {\n for (const name of moduleList) {\n if (!name) continue;\n try {\n require.resolve(name);\n return name;\n } catch (e) {\n // ignore\n }\n }\n}\n\n/**\n * transform a framework component or framework module to configuration class\n * @param Framework\n */\nexport function transformFrameworkToConfiguration<\n T extends IMidwayFramework<any, any, any>\n>(\n Framework: any\n): {\n [key: string]: any;\n Configuration: any;\n} {\n let CustomFramework = Framework;\n if (typeof Framework === 'string') {\n Framework = safeRequire(Framework);\n }\n\n if (Framework.Configuration) {\n return Framework;\n }\n\n if (Framework.Framework) {\n CustomFramework = Framework.Framework;\n } else {\n CustomFramework = Framework;\n }\n\n assert(CustomFramework, `can't found custom framework ${Framework}`);\n\n @Configuration()\n class CustomConfiguration {\n async onServerReady(container: IMidwayContainer) {\n const customFramework = (await container.getAsync<T>(\n CustomFramework as any\n )) as T;\n await customFramework.run();\n }\n }\n\n return {\n Configuration: CustomConfiguration,\n Framework,\n };\n}\n"]}
|