taon 18.0.25 → 18.0.27
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/README.md +112 -51
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/esm2022/lib/endpoint-context.mjs +4 -1
- package/browser/esm2022/lib/index.mjs +2 -2
- package/browser/esm2022/lib/models.mjs +1 -1
- package/browser/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +11 -11
- package/browser/fesm2022/taon.mjs +3 -0
- package/browser/fesm2022/taon.mjs.map +1 -1
- package/browser/lib/models.d.ts +5 -0
- package/browser/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +4 -4
- package/cli.js +11 -17
- package/cli.js.map +1 -1
- package/client/esm2022/lib/endpoint-context.mjs +4 -1
- package/client/esm2022/lib/index.mjs +2 -2
- package/client/esm2022/lib/models.mjs +1 -1
- package/client/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +11 -11
- package/client/fesm2022/taon.mjs +3 -0
- package/client/fesm2022/taon.mjs.map +1 -1
- package/client/lib/models.d.ts +5 -0
- package/client/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +4 -4
- package/index.js +15 -2
- package/index.js.map +1 -1
- package/lib/base-classes/base-abstract-entity.js +30 -28
- package/lib/base-classes/base-abstract-entity.js.map +1 -1
- package/lib/base-classes/base-class.js +9 -17
- package/lib/base-classes/base-class.js.map +1 -1
- package/lib/base-classes/base-context.js +4 -4
- package/lib/base-classes/base-context.js.map +1 -1
- package/lib/base-classes/base-controller.js +15 -15
- package/lib/base-classes/base-controller.js.map +1 -1
- package/lib/base-classes/base-crud-controller.js +211 -329
- package/lib/base-classes/base-crud-controller.js.map +1 -1
- package/lib/base-classes/base-entity.js +15 -15
- package/lib/base-classes/base-entity.js.map +1 -1
- package/lib/base-classes/base-injector.js +99 -124
- package/lib/base-classes/base-injector.js.map +1 -1
- package/lib/base-classes/base-migration.js +15 -31
- package/lib/base-classes/base-migration.js.map +1 -1
- package/lib/base-classes/base-provider.js +3 -9
- package/lib/base-classes/base-provider.js.map +1 -1
- package/lib/base-classes/base-repository.js +310 -444
- package/lib/base-classes/base-repository.js.map +1 -1
- package/lib/base-classes/base-subscriber-for-entity.js +73 -73
- package/lib/base-classes/base-subscriber-for-entity.js.map +1 -1
- package/lib/base-classes/base.js +10 -10
- package/lib/base-classes/base.js.map +1 -1
- package/lib/build-info._auto-generated_.js.map +1 -1
- package/lib/constants.js.map +1 -1
- package/lib/context-db-migrations.js +325 -581
- package/lib/context-db-migrations.js.map +1 -1
- package/lib/create-context.js +80 -109
- package/lib/create-context.js.map +1 -1
- package/lib/decorators/classes/controller-decorator.js +15 -13
- package/lib/decorators/classes/controller-decorator.js.map +1 -1
- package/lib/decorators/classes/entity-decorator.js +23 -20
- package/lib/decorators/classes/entity-decorator.js.map +1 -1
- package/lib/decorators/classes/migration-decorator.js +7 -13
- package/lib/decorators/classes/migration-decorator.js.map +1 -1
- package/lib/decorators/classes/provider-decorator.js +7 -13
- package/lib/decorators/classes/provider-decorator.js.map +1 -1
- package/lib/decorators/classes/repository-decorator.js +7 -13
- package/lib/decorators/classes/repository-decorator.js.map +1 -1
- package/lib/decorators/classes/subscriber-decorator.js +8 -13
- package/lib/decorators/classes/subscriber-decorator.js.map +1 -1
- package/lib/decorators/http/http-decorators.js +4 -4
- package/lib/decorators/http/http-decorators.js.map +1 -1
- package/lib/decorators/http/http-methods-decorators.js +19 -25
- package/lib/decorators/http/http-methods-decorators.js.map +1 -1
- package/lib/decorators/http/http-params-decorators.js +7 -9
- package/lib/decorators/http/http-params-decorators.js.map +1 -1
- package/lib/dependency-injection/di-container.js +13 -18
- package/lib/dependency-injection/di-container.js.map +1 -1
- package/lib/endpoint-context.js +1196 -1543
- package/lib/endpoint-context.js.map +1 -1
- package/lib/entity-process.js +102 -112
- package/lib/entity-process.js.map +1 -1
- package/lib/env.js +2 -2
- package/lib/env.js.map +1 -1
- package/lib/formly/formly-group-wrapper-component.js +45 -23
- package/lib/formly/formly-group-wrapper-component.js.map +1 -1
- package/lib/formly/formly-repeat-component.js +74 -27
- package/lib/formly/formly-repeat-component.js.map +1 -1
- package/lib/formly/formly.models.js.map +1 -1
- package/lib/formly/fromly.js +57 -61
- package/lib/formly/fromly.js.map +1 -1
- package/lib/formly/type-from-entity.js +11 -16
- package/lib/formly/type-from-entity.js.map +1 -1
- package/lib/get-response-value.js +22 -33
- package/lib/get-response-value.js.map +1 -1
- package/lib/helpers/class-helpers.js +62 -73
- package/lib/helpers/class-helpers.js.map +1 -1
- package/lib/helpers/taon-helpers.js +33 -31
- package/lib/helpers/taon-helpers.js.map +1 -1
- package/lib/index._auto-generated_.d.ts +1 -0
- package/lib/index._auto-generated_.js.map +1 -1
- package/lib/index.d.ts +1 -25
- package/lib/index.js +44 -41
- package/lib/index.js.map +1 -1
- package/lib/inject.js +15 -15
- package/lib/inject.js.map +1 -1
- package/lib/models.d.ts +5 -0
- package/lib/models.js +124 -100
- package/lib/models.js.map +1 -1
- package/lib/orm.js +13 -27
- package/lib/orm.js.map +1 -1
- package/lib/realtime/realtime-client.js +70 -65
- package/lib/realtime/realtime-client.js.map +1 -1
- package/lib/realtime/realtime-core.js +48 -29
- package/lib/realtime/realtime-core.js.map +1 -1
- package/lib/realtime/realtime-server.js +81 -80
- package/lib/realtime/realtime-server.js.map +1 -1
- package/lib/realtime/realtime-strategy/index.js +18 -5
- package/lib/realtime/realtime-strategy/index.js.map +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js +132 -172
- package/lib/realtime/realtime-strategy/realtime-strategy-ipc.js.map +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-mock.js +158 -241
- package/lib/realtime/realtime-strategy/realtime-strategy-mock.js.map +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js +18 -29
- package/lib/realtime/realtime-strategy/realtime-strategy-socket-io.js.map +1 -1
- package/lib/realtime/realtime-strategy/realtime-strategy.js +9 -13
- package/lib/realtime/realtime-strategy/realtime-strategy.js.map +1 -1
- package/lib/realtime/realtime-subs-manager.js +29 -30
- package/lib/realtime/realtime-subs-manager.js.map +1 -1
- package/lib/realtime/realtime.models.js.map +1 -1
- package/lib/storage.js +1 -1
- package/lib/storage.js.map +1 -1
- package/lib/symbols.js +62 -66
- package/lib/symbols.js.map +1 -1
- package/lib/ui/directives/index.js +2 -2
- package/lib/ui/directives/index.js.map +1 -1
- package/lib/ui/directives/view-mode.js.map +1 -1
- package/lib/ui/index.js +2 -2
- package/lib/ui/index.js.map +1 -1
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.d.ts +2 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js +5 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/index.js.map +1 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.component.d.ts +29 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-admin-edit-mode/taon-admin-edit-mode.module.d.ts +2 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.d.ts +1 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js +5 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/index.js.map +1 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-db-admin/taon-db-admin.component.d.ts +8 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.d.ts +2 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js +5 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/index.js.map +1 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.component.d.ts +13 -0
- package/lib/ui/taon-admin-mode-configuration/components/taon-file-general-opt/taon-file-general-opt.module.d.ts +2 -0
- package/lib/ui/taon-admin-mode-configuration/index.js +2 -2
- package/lib/ui/taon-admin-mode-configuration/index.js.map +1 -1
- package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.d.ts +5 -0
- package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js +3 -0
- package/lib/ui/taon-admin-mode-configuration/models/taon-admin-mode-tabs.js.map +1 -0
- package/lib/ui/taon-admin-mode-configuration/taon-admin-control.service.d.ts +14 -0
- package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +4 -4
- package/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.module.d.ts +2 -0
- package/lib/ui/taon-admin-mode-configuration/taon-admin.models.js.map +1 -1
- package/lib/ui/taon-github-fork-me-corner/index.js +2 -2
- package/lib/ui/taon-github-fork-me-corner/index.js.map +1 -1
- package/lib/ui/taon-github-fork-me-ribbon/index.js +2 -2
- package/lib/ui/taon-github-fork-me-ribbon/index.js.map +1 -1
- package/lib/ui/taon-notifications/index.js +15 -2
- package/lib/ui/taon-notifications/index.js.map +1 -1
- package/lib/ui/taon-notifications/taon-notifications.models.js +2 -2
- package/lib/ui/taon-notifications/taon-notifications.models.js.map +1 -1
- package/lib/ui/taon-progress-bar/index.js +2 -2
- package/lib/ui/taon-progress-bar/index.js.map +1 -1
- package/lib/ui/taon-progress-bar/taon-progress-bar.component.d.ts +2 -1
- package/lib/ui/taon-session-passcode/index.js +2 -2
- package/lib/ui/taon-session-passcode/index.js.map +1 -1
- package/lib/ui/taon-table/index.js +2 -2
- package/lib/ui/taon-table/index.js.map +1 -1
- package/lib/ui/taon.models.js.map +1 -1
- package/lib/validators.js +48 -16
- package/lib/validators.js.map +1 -1
- package/migrations/index.js +15 -2
- package/migrations/index.js.map +1 -1
- package/migrations/migrations_index._auto-generated_.d.ts +1 -0
- package/migrations/migrations_index._auto-generated_.js.map +1 -1
- package/old-app .d.ts +1 -0
- package/old-app .js +67 -78
- package/old-app .js.map +1 -1
- package/package.json +18 -65
- package/playground.d.ts +1 -0
- package/playground.js.map +1 -1
- package/src.d.ts +1 -1
- package/taon.jsonc +39 -42
- package/tmp-environment.json +8 -401
- package/websql/esm2022/lib/endpoint-context.mjs +4 -1
- package/websql/esm2022/lib/index.mjs +2 -2
- package/websql/esm2022/lib/models.mjs +1 -1
- package/websql/esm2022/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.mjs +11 -11
- package/websql/fesm2022/taon.mjs +3 -0
- package/websql/fesm2022/taon.mjs.map +1 -1
- package/websql/lib/models.d.ts +5 -0
- package/websql/lib/ui/taon-admin-mode-configuration/taon-admin-mode-configuration.component.d.ts +4 -4
- package/browser/package.json +0 -25
- package/websql/package.json +0 -25
|
@@ -1,94 +1,90 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.RealtimeStrategyIpc = exports.MockSocketIpc = exports.MockNamespaceIpc = exports.MockServerIpc = void 0;
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
var electron_1 = require("electron");
|
|
4
|
+
const realtime_strategy_1 = require("./realtime-strategy");
|
|
5
|
+
const symbols_1 = require("../../symbols");
|
|
6
|
+
const electron_1 = require("electron");
|
|
8
7
|
//#endregion
|
|
9
8
|
//#region mock server ipc
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
this.namespacesByName = new Map();
|
|
15
|
-
MockServerIpc.serverByContextName.set(contextName, this);
|
|
16
|
-
}
|
|
17
|
-
MockServerIpc.from = function (contextName) {
|
|
9
|
+
class MockServerIpc {
|
|
10
|
+
contextName;
|
|
11
|
+
static serverByContextName = new Map();
|
|
12
|
+
static from(contextName) {
|
|
18
13
|
if (!MockServerIpc.serverByContextName.has(contextName)) {
|
|
19
14
|
MockServerIpc.serverByContextName.set(contextName, new MockServerIpc(contextName));
|
|
20
15
|
}
|
|
21
16
|
return MockServerIpc.serverByContextName.get(contextName);
|
|
22
|
-
}
|
|
17
|
+
}
|
|
18
|
+
namespacesByName = new Map();
|
|
19
|
+
//#region constructor
|
|
20
|
+
constructor(contextName) {
|
|
21
|
+
this.contextName = contextName;
|
|
22
|
+
MockServerIpc.serverByContextName.set(contextName, this);
|
|
23
|
+
}
|
|
23
24
|
//#endregion
|
|
24
25
|
//#region of
|
|
25
|
-
|
|
26
|
+
of(namespace) {
|
|
26
27
|
if (!this.namespacesByName.has(namespace)) {
|
|
27
28
|
this.namespacesByName.set(namespace, new MockNamespaceIpc(namespace, this));
|
|
28
29
|
}
|
|
29
30
|
return this.namespacesByName.get(namespace);
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
return MockServerIpc;
|
|
33
|
-
}());
|
|
31
|
+
}
|
|
32
|
+
}
|
|
34
33
|
exports.MockServerIpc = MockServerIpc;
|
|
35
34
|
//#endregion
|
|
36
35
|
//#region mock namespace ipc
|
|
37
|
-
|
|
36
|
+
class MockNamespaceIpc {
|
|
37
|
+
name;
|
|
38
|
+
server;
|
|
39
|
+
//#region fields & getters
|
|
40
|
+
electronClients = new Set();
|
|
41
|
+
roomsByRoomName = {};
|
|
42
|
+
namespaceEventHandlers = {};
|
|
38
43
|
//#endregion
|
|
39
44
|
//#region constructor
|
|
40
|
-
|
|
45
|
+
constructor(
|
|
41
46
|
/**
|
|
42
47
|
* Namespace name
|
|
43
48
|
*/
|
|
44
49
|
name, server) {
|
|
45
50
|
this.name = name;
|
|
46
51
|
this.server = server;
|
|
47
|
-
//#region fields & getters
|
|
48
|
-
this.electronClients = new Set();
|
|
49
|
-
this.roomsByRoomName = {};
|
|
50
|
-
this.namespaceEventHandlers = {};
|
|
51
52
|
}
|
|
52
53
|
//#endregion
|
|
53
54
|
//#region on
|
|
54
|
-
|
|
55
|
-
var _this = this;
|
|
55
|
+
on(eventName, callback) {
|
|
56
56
|
//#region @backendFunc
|
|
57
|
-
|
|
57
|
+
const listenKey = `(${this.name}) "${eventName}"`;
|
|
58
58
|
if (!this.namespaceEventHandlers[eventName]) {
|
|
59
59
|
this.namespaceEventHandlers[eventName] = new Set();
|
|
60
60
|
}
|
|
61
61
|
this.namespaceEventHandlers[eventName].add(callback);
|
|
62
|
-
electron_1.ipcMain.on(listenKey,
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
args[_i - 1] = arguments[_i];
|
|
66
|
-
}
|
|
67
|
-
_this.electronClients.add(eventElectron.sender);
|
|
68
|
-
var connectionListener = "(".concat(_this.name, ") \"connection\"");
|
|
62
|
+
electron_1.ipcMain.on(listenKey, (eventElectron, ...args) => {
|
|
63
|
+
this.electronClients.add(eventElectron.sender);
|
|
64
|
+
const connectionListener = `(${this.name}) "connection"`;
|
|
69
65
|
if (connectionListener === listenKey) {
|
|
70
|
-
callback
|
|
66
|
+
callback(this, ...args);
|
|
71
67
|
}
|
|
72
68
|
else {
|
|
73
|
-
if (eventName.includes(
|
|
74
|
-
|
|
75
|
-
|
|
69
|
+
if (eventName.includes(`:${symbols_1.Symbols.REALTIME.KEYroomSubscribe}`)) {
|
|
70
|
+
const roomName = args[0];
|
|
71
|
+
this.join(eventElectron.sender, roomName);
|
|
76
72
|
}
|
|
77
|
-
else if (eventName.includes(
|
|
78
|
-
|
|
79
|
-
|
|
73
|
+
else if (eventName.includes(`:${symbols_1.Symbols.REALTIME.KEYroomUnsubscribe}`)) {
|
|
74
|
+
const roomName = args[0];
|
|
75
|
+
this.leave(eventElectron.sender, roomName);
|
|
80
76
|
}
|
|
81
77
|
else {
|
|
82
|
-
callback
|
|
78
|
+
callback(...args);
|
|
83
79
|
}
|
|
84
80
|
}
|
|
85
81
|
});
|
|
86
82
|
// this.emit(listenKey); // QUICK_FIX
|
|
87
83
|
//#endregion
|
|
88
|
-
}
|
|
84
|
+
}
|
|
89
85
|
//#endregion
|
|
90
86
|
//#region off
|
|
91
|
-
|
|
87
|
+
off(event, callback) {
|
|
92
88
|
//#region @backendFunc
|
|
93
89
|
if (!this.namespaceEventHandlers[event]) {
|
|
94
90
|
return;
|
|
@@ -99,102 +95,84 @@ var MockNamespaceIpc = /** @class */ (function () {
|
|
|
99
95
|
else {
|
|
100
96
|
delete this.namespaceEventHandlers[event];
|
|
101
97
|
}
|
|
102
|
-
|
|
98
|
+
const removeKey = `(${this.name}) "${event}"`;
|
|
103
99
|
electron_1.ipcMain.removeListener(removeKey, callback);
|
|
104
100
|
//#endregion
|
|
105
|
-
}
|
|
101
|
+
}
|
|
106
102
|
//#endregion
|
|
107
103
|
//#region emit
|
|
108
|
-
|
|
109
|
-
var e_1, _a;
|
|
110
|
-
var args = [];
|
|
111
|
-
for (var _i = 1; _i < arguments.length; _i++) {
|
|
112
|
-
args[_i - 1] = arguments[_i];
|
|
113
|
-
}
|
|
104
|
+
emit(eventName, ...args) {
|
|
114
105
|
//#region @backendFunc
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
var webContents = _c.value;
|
|
119
|
-
webContents.send.apply(webContents, tslib_1.__spreadArray([sendEventKey], tslib_1.__read(args), false));
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
123
|
-
finally {
|
|
124
|
-
try {
|
|
125
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
126
|
-
}
|
|
127
|
-
finally { if (e_1) throw e_1.error; }
|
|
106
|
+
const sendEventKey = `(${this.name}) "${eventName}"`;
|
|
107
|
+
for (const webContents of this.electronClients) {
|
|
108
|
+
webContents.send(sendEventKey, ...args);
|
|
128
109
|
}
|
|
129
110
|
// const allWindows = Electron.BrowserWindow.getAllWindows();
|
|
130
111
|
// allWindows.forEach((win, index) => {
|
|
131
112
|
// win.webContents.send(sendEventKey, ...args);
|
|
132
113
|
// });
|
|
133
114
|
//#endregion
|
|
134
|
-
}
|
|
115
|
+
}
|
|
135
116
|
//#endregion
|
|
136
117
|
//#region to
|
|
137
|
-
|
|
138
|
-
|
|
118
|
+
to(roomName) {
|
|
119
|
+
const electronClientsInroom = this.roomsByRoomName[roomName];
|
|
139
120
|
return new RoomEmitterIpc(electronClientsInroom, this.name, true);
|
|
140
|
-
}
|
|
121
|
+
}
|
|
141
122
|
//#endregion
|
|
142
123
|
//#region in
|
|
143
|
-
|
|
144
|
-
|
|
124
|
+
in(roomName) {
|
|
125
|
+
const electronClientsInroom = this.roomsByRoomName[roomName];
|
|
145
126
|
return new RoomEmitterIpc(electronClientsInroom, this.name, false);
|
|
146
|
-
}
|
|
127
|
+
}
|
|
147
128
|
//#endregion
|
|
148
129
|
//#region join
|
|
149
|
-
|
|
130
|
+
join(webContents, roomName) {
|
|
150
131
|
if (!this.roomsByRoomName[roomName]) {
|
|
151
132
|
this.roomsByRoomName[roomName] = new Set();
|
|
152
133
|
}
|
|
153
134
|
this.roomsByRoomName[roomName].add(webContents);
|
|
154
|
-
}
|
|
135
|
+
}
|
|
155
136
|
//#endregion
|
|
156
137
|
//#region leave
|
|
157
|
-
|
|
138
|
+
leave(webContents, roomName) {
|
|
158
139
|
if (this.roomsByRoomName[roomName]) {
|
|
159
140
|
this.roomsByRoomName[roomName].delete(webContents);
|
|
160
141
|
if (this.roomsByRoomName[roomName].size === 0) {
|
|
161
142
|
delete this.roomsByRoomName[roomName];
|
|
162
143
|
}
|
|
163
144
|
}
|
|
164
|
-
}
|
|
145
|
+
}
|
|
165
146
|
//#endregion
|
|
166
147
|
//#region path
|
|
167
|
-
|
|
148
|
+
path() {
|
|
168
149
|
return this.name;
|
|
169
|
-
}
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
enumerable: false,
|
|
182
|
-
configurable: true
|
|
183
|
-
});
|
|
184
|
-
return MockNamespaceIpc;
|
|
185
|
-
}());
|
|
150
|
+
}
|
|
151
|
+
//#endregion
|
|
152
|
+
//#region get nsp
|
|
153
|
+
get nsp() {
|
|
154
|
+
const self = this;
|
|
155
|
+
return {
|
|
156
|
+
get name() {
|
|
157
|
+
return self.name;
|
|
158
|
+
},
|
|
159
|
+
};
|
|
160
|
+
}
|
|
161
|
+
}
|
|
186
162
|
exports.MockNamespaceIpc = MockNamespaceIpc;
|
|
187
163
|
//#endregion
|
|
188
164
|
//#region room emitter ipc
|
|
189
|
-
|
|
165
|
+
class RoomEmitterIpc {
|
|
166
|
+
electronClients;
|
|
167
|
+
name;
|
|
168
|
+
includeSender;
|
|
169
|
+
sender;
|
|
190
170
|
//#region constructor
|
|
191
|
-
|
|
171
|
+
constructor(electronClients,
|
|
192
172
|
/**
|
|
193
173
|
* namespace name
|
|
194
174
|
*/
|
|
195
|
-
name, includeSender, sender) {
|
|
196
|
-
if (includeSender === void 0) { includeSender = false; }
|
|
197
|
-
if (sender === void 0) { sender = null; }
|
|
175
|
+
name, includeSender = false, sender = null) {
|
|
198
176
|
this.electronClients = electronClients;
|
|
199
177
|
this.name = name;
|
|
200
178
|
this.includeSender = includeSender;
|
|
@@ -202,63 +180,57 @@ var RoomEmitterIpc = /** @class */ (function () {
|
|
|
202
180
|
}
|
|
203
181
|
//#endregion
|
|
204
182
|
//#region emit in room
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
209
|
-
args[_i - 1] = arguments[_i];
|
|
210
|
-
}
|
|
211
|
-
var emitEvent = "(".concat(this.name, ") \"").concat(eventName, "\"");
|
|
212
|
-
(_a = this.electronClients) === null || _a === void 0 ? void 0 : _a.forEach(function (webContents) {
|
|
213
|
-
webContents.send.apply(webContents, tslib_1.__spreadArray([emitEvent], tslib_1.__read(args), false));
|
|
183
|
+
emit(eventName, ...args) {
|
|
184
|
+
const emitEvent = `(${this.name}) "${eventName}"`;
|
|
185
|
+
this.electronClients?.forEach(webContents => {
|
|
186
|
+
webContents.send(emitEvent, ...args);
|
|
214
187
|
});
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
}());
|
|
188
|
+
}
|
|
189
|
+
}
|
|
218
190
|
//#endregion
|
|
219
191
|
//#region mock socket ipc
|
|
220
|
-
|
|
192
|
+
class MockSocketIpc {
|
|
193
|
+
namespaceName;
|
|
194
|
+
//#region fields & getters
|
|
195
|
+
//#region fields & getters / ipc renderer
|
|
196
|
+
ipcRenderer;
|
|
197
|
+
//#endregion
|
|
198
|
+
//#region fields & getters / event handlers by name
|
|
199
|
+
socketEventHandlers = {};
|
|
200
|
+
//#endregion
|
|
201
|
+
//#region fields & getters / name
|
|
202
|
+
get name() {
|
|
203
|
+
return this.namespaceName;
|
|
204
|
+
}
|
|
221
205
|
//#endregion
|
|
222
206
|
//#endregion
|
|
223
207
|
//#region constructor
|
|
224
208
|
/**
|
|
225
209
|
* @param namespaceName instead url for ipc
|
|
226
210
|
*/
|
|
227
|
-
|
|
211
|
+
constructor(namespaceName) {
|
|
228
212
|
this.namespaceName = namespaceName;
|
|
229
|
-
//#endregion
|
|
230
|
-
//#region fields & getters / event handlers by name
|
|
231
|
-
this.socketEventHandlers = {};
|
|
232
213
|
this.ipcRenderer = window.require('electron').ipcRenderer;
|
|
233
214
|
}
|
|
234
|
-
Object.defineProperty(MockSocketIpc.prototype, "name", {
|
|
235
|
-
//#endregion
|
|
236
|
-
//#region fields & getters / name
|
|
237
|
-
get: function () {
|
|
238
|
-
return this.namespaceName;
|
|
239
|
-
},
|
|
240
|
-
enumerable: false,
|
|
241
|
-
configurable: true
|
|
242
|
-
});
|
|
243
215
|
//#endregion
|
|
244
216
|
//#region on
|
|
245
|
-
|
|
217
|
+
on(eventName, callback) {
|
|
246
218
|
if (!this.socketEventHandlers[eventName]) {
|
|
247
219
|
this.socketEventHandlers[eventName] = new Set();
|
|
248
220
|
}
|
|
249
221
|
this.socketEventHandlers[eventName].add(callback);
|
|
250
|
-
|
|
251
|
-
this.ipcRenderer.on(listenToEvent,
|
|
222
|
+
const listenToEvent = `(${this.name}) "${eventName}"`;
|
|
223
|
+
this.ipcRenderer.on(listenToEvent, (rendereEvent, data) => {
|
|
252
224
|
callback(data);
|
|
253
225
|
});
|
|
254
226
|
if (eventName === 'connect') {
|
|
255
|
-
|
|
227
|
+
const connectionEventKey = `(${this.name}) "connection"`;
|
|
256
228
|
this.ipcRenderer.send(connectionEventKey, this.name);
|
|
257
229
|
}
|
|
258
|
-
}
|
|
230
|
+
}
|
|
259
231
|
//#endregion
|
|
260
232
|
//#region off
|
|
261
|
-
|
|
233
|
+
off(event, callback) {
|
|
262
234
|
if (!this.socketEventHandlers[event]) {
|
|
263
235
|
return;
|
|
264
236
|
}
|
|
@@ -268,62 +240,50 @@ var MockSocketIpc = /** @class */ (function () {
|
|
|
268
240
|
else {
|
|
269
241
|
delete this.socketEventHandlers[event];
|
|
270
242
|
}
|
|
271
|
-
|
|
272
|
-
this.ipcRenderer.removeListener(removeListener,
|
|
243
|
+
const removeListener = `(${this.name}) "${event}"`;
|
|
244
|
+
this.ipcRenderer.removeListener(removeListener, data => {
|
|
273
245
|
callback(data);
|
|
274
246
|
});
|
|
275
|
-
}
|
|
247
|
+
}
|
|
276
248
|
//#endregion
|
|
277
249
|
//#region emit
|
|
278
|
-
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
}
|
|
284
|
-
var emitEvent = "(".concat(this.name, ") \"").concat(event, "\"");
|
|
285
|
-
(_a = this.ipcRenderer).send.apply(_a, tslib_1.__spreadArray([emitEvent], tslib_1.__read(args), false));
|
|
286
|
-
};
|
|
287
|
-
return MockSocketIpc;
|
|
288
|
-
}());
|
|
250
|
+
emit(event, ...args) {
|
|
251
|
+
const emitEvent = `(${this.name}) "${event}"`;
|
|
252
|
+
this.ipcRenderer.send(emitEvent, ...args);
|
|
253
|
+
}
|
|
254
|
+
}
|
|
289
255
|
exports.MockSocketIpc = MockSocketIpc;
|
|
290
256
|
//#endregion
|
|
291
257
|
/**
|
|
292
258
|
* Purpose:
|
|
293
259
|
* - backend-browser communication between 2 processes in electron mode
|
|
294
260
|
*/
|
|
295
|
-
|
|
296
|
-
|
|
261
|
+
class RealtimeStrategyIpc extends realtime_strategy_1.RealtimeStrategy {
|
|
262
|
+
ctx;
|
|
263
|
+
//#region to string
|
|
264
|
+
toString() {
|
|
265
|
+
return 'ipc';
|
|
266
|
+
}
|
|
297
267
|
//#endregion
|
|
298
268
|
//#region constructor
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
return _this;
|
|
269
|
+
constructor(ctx) {
|
|
270
|
+
super(ctx);
|
|
271
|
+
this.ctx = ctx;
|
|
303
272
|
}
|
|
304
|
-
//#region to string
|
|
305
|
-
RealtimeStrategyIpc.prototype.toString = function () {
|
|
306
|
-
return 'ipc';
|
|
307
|
-
};
|
|
308
273
|
//#endregion
|
|
309
274
|
//#region server & io
|
|
310
|
-
|
|
311
|
-
|
|
312
|
-
|
|
275
|
+
ioServer(__, opt) {
|
|
276
|
+
const namespace = opt?.path || '/';
|
|
277
|
+
const server = MockServerIpc.from(this.ctx.contextName);
|
|
313
278
|
return server.of(namespace);
|
|
314
|
-
}
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
enumerable: false,
|
|
324
|
-
configurable: true
|
|
325
|
-
});
|
|
326
|
-
return RealtimeStrategyIpc;
|
|
327
|
-
}(realtime_strategy_1.RealtimeStrategy));
|
|
279
|
+
}
|
|
280
|
+
get ioClient() {
|
|
281
|
+
const clientIo = (__, opt) => {
|
|
282
|
+
const namespace = opt?.path || '/';
|
|
283
|
+
return new MockSocketIpc(namespace);
|
|
284
|
+
};
|
|
285
|
+
return clientIo;
|
|
286
|
+
}
|
|
287
|
+
}
|
|
328
288
|
exports.RealtimeStrategyIpc = RealtimeStrategyIpc;
|
|
329
289
|
//# sourceMappingURL=realtime-strategy-ipc.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"realtime-strategy-ipc.js","sourceRoot":"","sources":[""],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"realtime-strategy-ipc.js","sourceRoot":"","sources":["/Users/dfilipiak/projects/npm/taon-dev/taon/src/lib/realtime/realtime-strategy/realtime-strategy-ipc.ts"],"names":[],"mappings":"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"}
|