@asapjs/socket 0.0.4 → 0.1.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/.pnp.cjs +12184 -0
- package/.vscode/extensions.json +5 -0
- package/.vscode/settings.json +8 -0
- package/dist/socket/index.d.ts +5 -4
- package/dist/socket/index.d.ts.map +1 -1
- package/dist/socket/index.js +6 -43
- package/dist/socket/index.js.map +1 -1
- package/dist/types/index.d.ts +10 -6
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/socket/index.d.ts
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
import { Server } from 'http';
|
|
2
|
-
import {
|
|
1
|
+
import { Server as httpServer } from 'http';
|
|
2
|
+
import { Server as SocketServer } from 'socket.io';
|
|
3
|
+
import { ExecuteFunction, RouteRequest, SocketOption } from 'src/types';
|
|
3
4
|
export declare const createSocket: (request: RouteRequest, execute: ExecuteFunction) => any;
|
|
4
|
-
export declare const socketInit: (server:
|
|
5
|
+
export declare const socketInit: (server: httpServer, options: SocketOption) => SocketServer<import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, import("socket.io/dist/typed-events").DefaultEventsMap, any> | undefined;
|
|
5
6
|
export declare const getSocketIO: () => any | undefined;
|
|
6
7
|
export declare const socketSendTo: (to: string, event: string, data: any) => any;
|
|
7
8
|
export declare const socketSendAll: (event: string, data: any) => any;
|
|
8
9
|
export declare const loadPath: (path: string, subPath: string) => Promise<void>;
|
|
9
|
-
export declare const initSocketModule: (server:
|
|
10
|
+
export declare const initSocketModule: (server: httpServer, dirname: string) => Promise<boolean>;
|
|
10
11
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,IAAI,UAAU,EAAE,MAAM,MAAM,CAAC;AAC5C,OAAO,EAAE,MAAM,IAAI,YAAY,EAAE,MAAM,WAAW,CAAC;AACnD,OAAO,EAAuB,eAAe,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAO7F,eAAO,MAAM,YAAY,YAAa,YAAY,WAAW,eAAe,KAAG,GAK9E,CAAC;AAEF,eAAO,MAAM,UAAU,WAAY,UAAU,WAAW,YAAY,0MAqBnE,CAAC;AAEF,eAAO,MAAM,WAAW,QAAO,GAAG,GAAG,SAEpC,CAAC;AAEF,eAAO,MAAM,YAAY,OAAQ,MAAM,SAAS,MAAM,QAAQ,GAAG,QAEhE,CAAC;AAEF,eAAO,MAAM,aAAa,UAAW,MAAM,QAAQ,GAAG,QAErD,CAAC;AAEF,eAAO,MAAM,QAAQ,SAAgB,MAAM,WAAW,MAAM,kBAU3D,CAAC;AAEF,eAAO,MAAM,gBAAgB,WAAkB,UAAU,WAAW,MAAM,KAAG,QAAQ,OAAO,CAI3F,CAAC"}
|
package/dist/socket/index.js
CHANGED
|
@@ -15,6 +15,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.initSocketModule = exports.loadPath = exports.socketSendAll = exports.socketSendTo = exports.getSocketIO = exports.socketInit = exports.createSocket = void 0;
|
|
16
16
|
const core_1 = require("@asapjs/core");
|
|
17
17
|
const fs_1 = __importDefault(require("fs"));
|
|
18
|
+
const socket_io_1 = require("socket.io");
|
|
18
19
|
const config = {
|
|
19
20
|
container: undefined,
|
|
20
21
|
listeners: [],
|
|
@@ -26,53 +27,15 @@ const createSocket = (request, execute) => {
|
|
|
26
27
|
});
|
|
27
28
|
};
|
|
28
29
|
exports.createSocket = createSocket;
|
|
29
|
-
const socketInit = (server, options
|
|
30
|
+
const socketInit = (server, options) => {
|
|
30
31
|
if (config.container)
|
|
31
32
|
return;
|
|
32
|
-
const io =
|
|
33
|
-
if (options.adapter) {
|
|
34
|
-
io.adapter(options.adapter);
|
|
35
|
-
}
|
|
36
|
-
if (authOption) {
|
|
37
|
-
const auth = authOption;
|
|
38
|
-
if (authOption.jwt_secret && authOption.handler) {
|
|
39
|
-
const jwtAuth = require('socketio-jwt-auth');
|
|
40
|
-
const handler = auth.handler();
|
|
41
|
-
const jwtHandler = jwtAuth.authenticate({ secret: auth.jwt_secret, algorithm: 'HS256' }, function (payload, done) {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
try {
|
|
44
|
-
const user = yield handler(payload);
|
|
45
|
-
if (user) {
|
|
46
|
-
return done(null, user);
|
|
47
|
-
}
|
|
48
|
-
else {
|
|
49
|
-
return done();
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
catch (e) {
|
|
53
|
-
return done(e);
|
|
54
|
-
}
|
|
55
|
-
});
|
|
56
|
-
});
|
|
57
|
-
io.use(jwtHandler);
|
|
58
|
-
}
|
|
59
|
-
}
|
|
33
|
+
const io = new socket_io_1.Server(server);
|
|
60
34
|
io.on('connection', (socket) => {
|
|
61
35
|
const user = socket.request.user;
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
// socket.request.user.logged_in will be set to true if the user was authenticated
|
|
66
|
-
socket.emit('success', {
|
|
67
|
-
message: 'success logged in',
|
|
68
|
-
user: socket.request.user,
|
|
69
|
-
});
|
|
70
|
-
}
|
|
71
|
-
else {
|
|
72
|
-
socket.emit('success', {
|
|
73
|
-
message: 'success connected',
|
|
74
|
-
});
|
|
75
|
-
}
|
|
36
|
+
socket.emit('success', {
|
|
37
|
+
message: 'success connected',
|
|
38
|
+
});
|
|
76
39
|
config.listeners.map((item) => {
|
|
77
40
|
socket.on(item.request.path, (body) => __awaiter(void 0, void 0, void 0, function* () {
|
|
78
41
|
yield item.execute(socket, { body, user });
|
package/dist/socket/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAyC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/socket/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,uCAAyC;AACzC,4CAAoB;AAEpB,yCAAmD;AAGnD,MAAM,MAAM,GAAe;IACzB,SAAS,EAAE,SAAS;IACpB,SAAS,EAAE,EAAE;CACd,CAAC;AAEK,MAAM,YAAY,GAAG,CAAC,OAAqB,EAAE,OAAwB,EAAO,EAAE;IACnF,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC;QACpB,OAAO;QACP,OAAO;KACR,CAAC,CAAC;AACL,CAAC,CAAC;AALW,QAAA,YAAY,gBAKvB;AAEK,MAAM,UAAU,GAAG,CAAC,MAAkB,EAAE,OAAqB,EAAE,EAAE;IACtE,IAAI,MAAM,CAAC,SAAS;QAAE,OAAO;IAE7B,MAAM,EAAE,GAAG,IAAI,kBAAY,CAAC,MAAM,CAAC,CAAC;IAEpC,EAAE,CAAC,EAAE,CAAC,YAAY,EAAE,CAAC,MAAW,EAAE,EAAE;QAClC,MAAM,IAAI,GAAqB,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC;QAEnD,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE;YACrB,OAAO,EAAE,mBAAmB;SAC7B,CAAC,CAAC;QAEH,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;YAC5B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAO,IAAS,EAAE,EAAE;gBAC/C,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAC7C,CAAC,CAAA,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,OAAO,EAAE,CAAC;AACZ,CAAC,CAAC;AArBW,QAAA,UAAU,cAqBrB;AAEK,MAAM,WAAW,GAAG,GAAoB,EAAE;IAC/C,OAAO,MAAM,CAAC,SAAS,CAAC;AAC1B,CAAC,CAAC;AAFW,QAAA,WAAW,eAEtB;AAEK,MAAM,YAAY,GAAG,CAAC,EAAU,EAAE,KAAa,EAAE,IAAS,EAAE,EAAE;;IACnE,OAAO,MAAA,MAAM,CAAC,SAAS,0CAAE,EAAE,CAAC,EAAE,EAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AACpD,CAAC,CAAC;AAFW,QAAA,YAAY,gBAEvB;AAEK,MAAM,aAAa,GAAG,CAAC,KAAa,EAAE,IAAS,EAAE,EAAE;;IACxD,OAAO,MAAA,MAAM,CAAC,SAAS,0CAAE,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;AAC7C,CAAC,CAAC;AAFW,QAAA,aAAa,iBAExB;AAEK,MAAM,QAAQ,GAAG,CAAO,IAAY,EAAE,OAAe,EAAE,EAAE;IAC9D,MAAM,KAAK,GAAG,MAAM,YAAE,CAAC,WAAW,CAAC,IAAI,GAAG,OAAO,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5E,MAAM,SAAS,GAAG,IAAI,CAAC;IACvB,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE;QACxB,IAAI,IAAI,CAAC,WAAW,EAAE,EAAE;YACtB,MAAM,IAAA,gBAAQ,EAAC,IAAI,EAAE,GAAG,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SACjD;aAAM,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU,SAAS,EAAE,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,EAAE;YAC3F,OAAO,CAAC,GAAG,IAAI,IAAI,OAAO,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;SAC5C;KACF;AACH,CAAC,CAAA,CAAC;AAVW,QAAA,QAAQ,YAUnB;AAEK,MAAM,gBAAgB,GAAG,CAAO,MAAkB,EAAE,OAAe,EAAoB,EAAE;IAC9F,MAAM,IAAA,gBAAQ,EAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IAC5B,MAAM,IAAA,kBAAU,EAAC,MAAM,EAAE,IAAA,gBAAS,GAAS,CAAC,CAAC;IAC7C,OAAO,IAAI,CAAC;AACd,CAAC,CAAA,CAAC;AAJW,QAAA,gBAAgB,oBAI3B"}
|
package/dist/types/index.d.ts
CHANGED
|
@@ -1,7 +1,5 @@
|
|
|
1
|
+
import { Socket } from 'socket.io';
|
|
1
2
|
export declare type AsyncFunction<A, O> = (args: A) => Promise<O>;
|
|
2
|
-
export interface RoutePath {
|
|
3
|
-
path: string;
|
|
4
|
-
}
|
|
5
3
|
export interface SocketOption {
|
|
6
4
|
adapter?: unknown;
|
|
7
5
|
listener?: (socket: unknown) => void;
|
|
@@ -13,13 +11,16 @@ export interface AuthOption {
|
|
|
13
11
|
}
|
|
14
12
|
export interface ConfigSpec {
|
|
15
13
|
container?: any;
|
|
16
|
-
listeners:
|
|
14
|
+
listeners: {
|
|
15
|
+
request: RouteRequest;
|
|
16
|
+
execute: ExecuteFunction;
|
|
17
|
+
}[];
|
|
17
18
|
}
|
|
18
19
|
export interface AppUser {
|
|
19
20
|
id?: number;
|
|
20
21
|
}
|
|
21
22
|
export interface RouteRequest {
|
|
22
|
-
|
|
23
|
+
path: string;
|
|
23
24
|
roles?: string[];
|
|
24
25
|
}
|
|
25
26
|
export interface ExecuteArgs {
|
|
@@ -31,5 +32,8 @@ export interface ExecuteArgs {
|
|
|
31
32
|
};
|
|
32
33
|
user?: AppUser;
|
|
33
34
|
}
|
|
34
|
-
export declare type ExecuteFunction = (
|
|
35
|
+
export declare type ExecuteFunction = (socket: Socket, ExecuteArgs: {
|
|
36
|
+
body: any;
|
|
37
|
+
user: any;
|
|
38
|
+
}) => Promise<unknown> | unknown | void;
|
|
35
39
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,oBAAY,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1D,MAAM,WAAW,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAEnC,oBAAY,aAAa,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAC;CACtC;AAED,MAAM,WAAW,UAAU;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,OAAO,EAAE,MAAM,aAAa,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,UAAU;IACzB,SAAS,CAAC,EAAE,GAAG,CAAC;IAChB,SAAS,EAAE;QAAE,OAAO,EAAE,YAAY,CAAC;QAAC,OAAO,EAAE,eAAe,CAAA;KAAE,EAAE,CAAC;CAClE;AAED,MAAM,WAAW,OAAO;IACtB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAClC,IAAI,CAAC,EAAE;QAAE,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IAClC,IAAI,CAAC,EAAE,OAAO,CAAC;CAChB;AAED,oBAAY,eAAe,GAAG,CAC5B,MAAM,EAAE,MAAM,EACd,WAAW,EAAE;IAAE,IAAI,EAAE,GAAG,CAAC;IAAC,IAAI,EAAE,GAAG,CAAA;CAAE,KAClC,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@asapjs/socket",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"build": "
|
|
7
|
+
"build": "tsc",
|
|
8
8
|
"localinstall": "yarn build && cp -r ./dist /Users/seungmin/projects/pangaia/pangaia-b4c-ms-shop/node_modules/@asapjs/sequelize/"
|
|
9
9
|
},
|
|
10
10
|
"author": "",
|
|
11
11
|
"license": "ISC",
|
|
12
12
|
"dependencies": {
|
|
13
13
|
"http": "^0.0.1-security",
|
|
14
|
-
"socket.io": "
|
|
14
|
+
"socket.io": "4.5.4",
|
|
15
15
|
"socket.io-adapter": "^2.3.1",
|
|
16
16
|
"socketio-jwt-auth": "^0.1.0"
|
|
17
17
|
},
|