@omujs/omu 0.1.22
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/.eslintignore +13 -0
- package/.eslintrc.cjs +6 -0
- package/.prettierignore +1 -0
- package/CHANGELOG.md +268 -0
- package/LICENSE +21 -0
- package/README.md +1 -0
- package/built/dts/address.d.ts +6 -0
- package/built/dts/address.d.ts.map +1 -0
- package/built/dts/app.d.ts +38 -0
- package/built/dts/app.d.ts.map +1 -0
- package/built/dts/bytebuffer.d.ts +46 -0
- package/built/dts/bytebuffer.d.ts.map +1 -0
- package/built/dts/client/client.d.ts +47 -0
- package/built/dts/client/client.d.ts.map +1 -0
- package/built/dts/client/index.d.ts +2 -0
- package/built/dts/client/index.d.ts.map +1 -0
- package/built/dts/client/omu.d.ts +53 -0
- package/built/dts/client/omu.d.ts.map +1 -0
- package/built/dts/client/omuclient.d.ts +50 -0
- package/built/dts/client/omuclient.d.ts.map +1 -0
- package/built/dts/client/token.d.ts +14 -0
- package/built/dts/client/token.d.ts.map +1 -0
- package/built/dts/client.d.ts +48 -0
- package/built/dts/client.d.ts.map +1 -0
- package/built/dts/const.d.ts +3 -0
- package/built/dts/const.d.ts.map +1 -0
- package/built/dts/errors.d.ts +29 -0
- package/built/dts/errors.d.ts.map +1 -0
- package/built/dts/event-emitter.d.ts +7 -0
- package/built/dts/event-emitter.d.ts.map +1 -0
- package/built/dts/extension/asset/asset-extension.d.ts +26 -0
- package/built/dts/extension/asset/asset-extension.d.ts.map +1 -0
- package/built/dts/extension/asset/index.d.ts +2 -0
- package/built/dts/extension/asset/index.d.ts.map +1 -0
- package/built/dts/extension/dashboard/dashboard-extension.d.ts +24 -0
- package/built/dts/extension/dashboard/dashboard-extension.d.ts.map +1 -0
- package/built/dts/extension/dashboard/dashboard.d.ts +8 -0
- package/built/dts/extension/dashboard/dashboard.d.ts.map +1 -0
- package/built/dts/extension/dashboard/index.d.ts +3 -0
- package/built/dts/extension/dashboard/index.d.ts.map +1 -0
- package/built/dts/extension/dashboard/packets.d.ts +20 -0
- package/built/dts/extension/dashboard/packets.d.ts.map +1 -0
- package/built/dts/extension/endpoint/endpoint-extension.d.ts +16 -0
- package/built/dts/extension/endpoint/endpoint-extension.d.ts.map +1 -0
- package/built/dts/extension/endpoint/endpoint.d.ts +22 -0
- package/built/dts/extension/endpoint/endpoint.d.ts.map +1 -0
- package/built/dts/extension/endpoint/index.d.ts +3 -0
- package/built/dts/extension/endpoint/index.d.ts.map +1 -0
- package/built/dts/extension/endpoint/packets.d.ts +24 -0
- package/built/dts/extension/endpoint/packets.d.ts.map +1 -0
- package/built/dts/extension/extension-registry.d.ts +12 -0
- package/built/dts/extension/extension-registry.d.ts.map +1 -0
- package/built/dts/extension/extension.d.ts +12 -0
- package/built/dts/extension/extension.d.ts.map +1 -0
- package/built/dts/extension/i18n/i18n-extension.d.ts +19 -0
- package/built/dts/extension/i18n/i18n-extension.d.ts.map +1 -0
- package/built/dts/extension/i18n/index.d.ts +2 -0
- package/built/dts/extension/i18n/index.d.ts.map +1 -0
- package/built/dts/extension/index.d.ts +3 -0
- package/built/dts/extension/index.d.ts.map +1 -0
- package/built/dts/extension/logger/index.d.ts +2 -0
- package/built/dts/extension/logger/index.d.ts.map +1 -0
- package/built/dts/extension/logger/logger-extension.d.ts +25 -0
- package/built/dts/extension/logger/logger-extension.d.ts.map +1 -0
- package/built/dts/extension/logger/packets.d.ts +19 -0
- package/built/dts/extension/logger/packets.d.ts.map +1 -0
- package/built/dts/extension/permission/index.d.ts +3 -0
- package/built/dts/extension/permission/index.d.ts.map +1 -0
- package/built/dts/extension/permission/permission-extension.d.ts +18 -0
- package/built/dts/extension/permission/permission-extension.d.ts.map +1 -0
- package/built/dts/extension/permission/permission.d.ts +29 -0
- package/built/dts/extension/permission/permission.d.ts.map +1 -0
- package/built/dts/extension/plugin/index.d.ts +2 -0
- package/built/dts/extension/plugin/index.d.ts.map +1 -0
- package/built/dts/extension/plugin/package-info.d.ts +85 -0
- package/built/dts/extension/plugin/package-info.d.ts.map +1 -0
- package/built/dts/extension/plugin/plugin-extension.d.ts +11 -0
- package/built/dts/extension/plugin/plugin-extension.d.ts.map +1 -0
- package/built/dts/extension/registry/index.d.ts +3 -0
- package/built/dts/extension/registry/index.d.ts.map +1 -0
- package/built/dts/extension/registry/packets.d.ts +17 -0
- package/built/dts/extension/registry/packets.d.ts.map +1 -0
- package/built/dts/extension/registry/registry-extension.d.ts +15 -0
- package/built/dts/extension/registry/registry-extension.d.ts.map +1 -0
- package/built/dts/extension/registry/registry.d.ts +39 -0
- package/built/dts/extension/registry/registry.d.ts.map +1 -0
- package/built/dts/extension/server/index.d.ts +2 -0
- package/built/dts/extension/server/index.d.ts.map +1 -0
- package/built/dts/extension/server/packets.d.ts +8 -0
- package/built/dts/extension/server/packets.d.ts.map +1 -0
- package/built/dts/extension/server/server-extension.d.ts +19 -0
- package/built/dts/extension/server/server-extension.d.ts.map +1 -0
- package/built/dts/extension/signal/index.d.ts +3 -0
- package/built/dts/extension/signal/index.d.ts.map +1 -0
- package/built/dts/extension/signal/packets.d.ts +17 -0
- package/built/dts/extension/signal/packets.d.ts.map +1 -0
- package/built/dts/extension/signal/signal-extension.d.ts +14 -0
- package/built/dts/extension/signal/signal-extension.d.ts.map +1 -0
- package/built/dts/extension/signal/signal.d.ts +32 -0
- package/built/dts/extension/signal/signal.d.ts.map +1 -0
- package/built/dts/extension/table/index.d.ts +3 -0
- package/built/dts/extension/table/index.d.ts.map +1 -0
- package/built/dts/extension/table/packets.d.ts +58 -0
- package/built/dts/extension/table/packets.d.ts.map +1 -0
- package/built/dts/extension/table/table-extension.d.ts +24 -0
- package/built/dts/extension/table/table-extension.d.ts.map +1 -0
- package/built/dts/extension/table/table.d.ts +64 -0
- package/built/dts/extension/table/table.d.ts.map +1 -0
- package/built/dts/identifier.d.ts +43 -0
- package/built/dts/identifier.d.ts.map +1 -0
- package/built/dts/index.d.ts +5 -0
- package/built/dts/index.d.ts.map +1 -0
- package/built/dts/interface.d.ts +7 -0
- package/built/dts/interface.d.ts.map +1 -0
- package/built/dts/localization/index.d.ts +3 -0
- package/built/dts/localization/index.d.ts.map +1 -0
- package/built/dts/localization/locale.d.ts +736 -0
- package/built/dts/localization/locale.d.ts.map +1 -0
- package/built/dts/localization/localization.d.ts +8 -0
- package/built/dts/localization/localization.d.ts.map +1 -0
- package/built/dts/model.d.ts +5 -0
- package/built/dts/model.d.ts.map +1 -0
- package/built/dts/network/connection.d.ts +17 -0
- package/built/dts/network/connection.d.ts.map +1 -0
- package/built/dts/network/index.d.ts +4 -0
- package/built/dts/network/index.d.ts.map +1 -0
- package/built/dts/network/network.d.ts +45 -0
- package/built/dts/network/network.d.ts.map +1 -0
- package/built/dts/network/packet/index.d.ts +3 -0
- package/built/dts/network/packet/index.d.ts.map +1 -0
- package/built/dts/network/packet/packet-types.d.ts +52 -0
- package/built/dts/network/packet/packet-types.d.ts.map +1 -0
- package/built/dts/network/packet/packet.d.ts +24 -0
- package/built/dts/network/packet/packet.d.ts.map +1 -0
- package/built/dts/network/websocket-connection.d.ts +20 -0
- package/built/dts/network/websocket-connection.d.ts.map +1 -0
- package/built/dts/omu.d.ts +50 -0
- package/built/dts/omu.d.ts.map +1 -0
- package/built/dts/serializer.d.ts +21 -0
- package/built/dts/serializer.d.ts.map +1 -0
- package/built/dts/token.d.ts +14 -0
- package/built/dts/token.d.ts.map +1 -0
- package/built/esm/address.js +2 -0
- package/built/esm/address.js.map +1 -0
- package/built/esm/app.js +33 -0
- package/built/esm/app.js.map +1 -0
- package/built/esm/bytebuffer.js +191 -0
- package/built/esm/bytebuffer.js.map +1 -0
- package/built/esm/client/client.js +2 -0
- package/built/esm/client/client.js.map +1 -0
- package/built/esm/client/index.js +2 -0
- package/built/esm/client/index.js.map +1 -0
- package/built/esm/client/omu.js +96 -0
- package/built/esm/client/omu.js.map +1 -0
- package/built/esm/client/omuclient.js +96 -0
- package/built/esm/client/omuclient.js.map +1 -0
- package/built/esm/client/token.js +21 -0
- package/built/esm/client/token.js.map +1 -0
- package/built/esm/client.js +2 -0
- package/built/esm/client.js.map +1 -0
- package/built/esm/const.js +3 -0
- package/built/esm/const.js.map +1 -0
- package/built/esm/errors.js +46 -0
- package/built/esm/errors.js.map +1 -0
- package/built/esm/event-emitter.js +15 -0
- package/built/esm/event-emitter.js.map +1 -0
- package/built/esm/extension/asset/asset-extension.js +105 -0
- package/built/esm/extension/asset/asset-extension.js.map +1 -0
- package/built/esm/extension/asset/index.js +2 -0
- package/built/esm/extension/asset/index.js.map +1 -0
- package/built/esm/extension/dashboard/dashboard-extension.js +119 -0
- package/built/esm/extension/dashboard/dashboard-extension.js.map +1 -0
- package/built/esm/extension/dashboard/dashboard.js +2 -0
- package/built/esm/extension/dashboard/dashboard.js.map +1 -0
- package/built/esm/extension/dashboard/index.js +2 -0
- package/built/esm/extension/dashboard/index.js.map +1 -0
- package/built/esm/extension/dashboard/packets.js +52 -0
- package/built/esm/extension/dashboard/packets.js.map +1 -0
- package/built/esm/extension/endpoint/endpoint-extension.js +85 -0
- package/built/esm/extension/endpoint/endpoint-extension.js.map +1 -0
- package/built/esm/extension/endpoint/endpoint.js +22 -0
- package/built/esm/extension/endpoint/endpoint.js.map +1 -0
- package/built/esm/extension/endpoint/index.js +2 -0
- package/built/esm/extension/endpoint/index.js.map +1 -0
- package/built/esm/extension/endpoint/packets.js +77 -0
- package/built/esm/extension/endpoint/packets.js.map +1 -0
- package/built/esm/extension/extension-registry.js +34 -0
- package/built/esm/extension/extension-registry.js.map +1 -0
- package/built/esm/extension/extension.js +16 -0
- package/built/esm/extension/extension.js.map +1 -0
- package/built/esm/extension/i18n/i18n-extension.js +59 -0
- package/built/esm/extension/i18n/i18n-extension.js.map +1 -0
- package/built/esm/extension/i18n/index.js +2 -0
- package/built/esm/extension/i18n/index.js.map +1 -0
- package/built/esm/extension/index.js +3 -0
- package/built/esm/extension/index.js.map +1 -0
- package/built/esm/extension/logger/index.js +2 -0
- package/built/esm/extension/logger/index.js.map +1 -0
- package/built/esm/extension/logger/logger-extension.js +59 -0
- package/built/esm/extension/logger/logger-extension.js.map +1 -0
- package/built/esm/extension/logger/packets.js +33 -0
- package/built/esm/extension/logger/packets.js.map +1 -0
- package/built/esm/extension/permission/index.js +3 -0
- package/built/esm/extension/permission/index.js.map +1 -0
- package/built/esm/extension/permission/permission-extension.js +73 -0
- package/built/esm/extension/permission/permission-extension.js.map +1 -0
- package/built/esm/extension/permission/permission.js +28 -0
- package/built/esm/extension/permission/permission.js.map +1 -0
- package/built/esm/extension/plugin/index.js +2 -0
- package/built/esm/extension/plugin/index.js.map +1 -0
- package/built/esm/extension/plugin/package-info.js +2 -0
- package/built/esm/extension/plugin/package-info.js.map +1 -0
- package/built/esm/extension/plugin/plugin-extension.js +27 -0
- package/built/esm/extension/plugin/plugin-extension.js.map +1 -0
- package/built/esm/extension/registry/index.js +3 -0
- package/built/esm/extension/registry/index.js.map +1 -0
- package/built/esm/extension/registry/packets.js +48 -0
- package/built/esm/extension/registry/packets.js.map +1 -0
- package/built/esm/extension/registry/registry-extension.js +123 -0
- package/built/esm/extension/registry/registry-extension.js.map +1 -0
- package/built/esm/extension/registry/registry.js +55 -0
- package/built/esm/extension/registry/registry.js.map +1 -0
- package/built/esm/extension/server/index.js +2 -0
- package/built/esm/extension/server/index.js.map +1 -0
- package/built/esm/extension/server/packets.js +25 -0
- package/built/esm/extension/server/packets.js.map +1 -0
- package/built/esm/extension/server/server-extension.js +52 -0
- package/built/esm/extension/server/server-extension.js.map +1 -0
- package/built/esm/extension/signal/index.js +3 -0
- package/built/esm/extension/signal/index.js.map +1 -0
- package/built/esm/extension/signal/packets.js +44 -0
- package/built/esm/extension/signal/packets.js.map +1 -0
- package/built/esm/extension/signal/signal-extension.js +91 -0
- package/built/esm/extension/signal/signal-extension.js.map +1 -0
- package/built/esm/extension/signal/signal.js +53 -0
- package/built/esm/extension/signal/signal.js.map +1 -0
- package/built/esm/extension/table/index.js +3 -0
- package/built/esm/extension/table/index.js.map +1 -0
- package/built/esm/extension/table/packets.js +230 -0
- package/built/esm/extension/table/packets.js.map +1 -0
- package/built/esm/extension/table/table-extension.js +384 -0
- package/built/esm/extension/table/table-extension.js.map +1 -0
- package/built/esm/extension/table/table.js +17 -0
- package/built/esm/extension/table/table.js.map +1 -0
- package/built/esm/identifier.js +160 -0
- package/built/esm/identifier.js.map +1 -0
- package/built/esm/index.js +5 -0
- package/built/esm/index.js.map +1 -0
- package/built/esm/interface.js +2 -0
- package/built/esm/interface.js.map +1 -0
- package/built/esm/localization/index.js +2 -0
- package/built/esm/localization/index.js.map +1 -0
- package/built/esm/localization/locale.js +736 -0
- package/built/esm/localization/locale.js.map +1 -0
- package/built/esm/localization/localization.js +2 -0
- package/built/esm/localization/localization.js.map +1 -0
- package/built/esm/model.js +2 -0
- package/built/esm/model.js.map +1 -0
- package/built/esm/network/connection.js +29 -0
- package/built/esm/network/connection.js.map +1 -0
- package/built/esm/network/index.js +2 -0
- package/built/esm/network/index.js.map +1 -0
- package/built/esm/network/network.js +190 -0
- package/built/esm/network/network.js.map +1 -0
- package/built/esm/network/packet/index.js +2 -0
- package/built/esm/network/packet/index.js.map +1 -0
- package/built/esm/network/packet/packet-types.js +75 -0
- package/built/esm/network/packet/packet-types.js.map +1 -0
- package/built/esm/network/packet/packet.js +17 -0
- package/built/esm/network/packet/packet.js.map +1 -0
- package/built/esm/network/websocket-connection.js +88 -0
- package/built/esm/network/websocket-connection.js.map +1 -0
- package/built/esm/omu.js +96 -0
- package/built/esm/omu.js.map +1 -0
- package/built/esm/serializer.js +52 -0
- package/built/esm/serializer.js.map +1 -0
- package/built/esm/token.js +21 -0
- package/built/esm/token.js.map +1 -0
- package/package.json +49 -0
- package/src/address.ts +5 -0
- package/src/app.ts +65 -0
- package/src/bytebuffer.ts +219 -0
- package/src/client.ts +53 -0
- package/src/const.ts +2 -0
- package/src/errors.ts +52 -0
- package/src/event-emitter.ts +18 -0
- package/src/extension/asset/asset-extension.ts +148 -0
- package/src/extension/asset/index.ts +1 -0
- package/src/extension/dashboard/dashboard-extension.ts +162 -0
- package/src/extension/dashboard/dashboard.ts +9 -0
- package/src/extension/dashboard/index.ts +3 -0
- package/src/extension/dashboard/packets.ts +52 -0
- package/src/extension/endpoint/endpoint-extension.ts +124 -0
- package/src/extension/endpoint/endpoint.ts +58 -0
- package/src/extension/endpoint/index.ts +3 -0
- package/src/extension/endpoint/packets.ts +78 -0
- package/src/extension/extension-registry.ts +39 -0
- package/src/extension/extension.ts +18 -0
- package/src/extension/i18n/i18n-extension.ts +73 -0
- package/src/extension/i18n/index.ts +2 -0
- package/src/extension/index.ts +3 -0
- package/src/extension/logger/index.ts +5 -0
- package/src/extension/logger/logger-extension.ts +75 -0
- package/src/extension/logger/packets.ts +38 -0
- package/src/extension/permission/index.ts +3 -0
- package/src/extension/permission/permission-extension.ts +98 -0
- package/src/extension/permission/permission.ts +56 -0
- package/src/extension/plugin/index.ts +2 -0
- package/src/extension/plugin/package-info.ts +91 -0
- package/src/extension/plugin/plugin-extension.ts +37 -0
- package/src/extension/registry/index.ts +3 -0
- package/src/extension/registry/packets.ts +50 -0
- package/src/extension/registry/registry-extension.ts +154 -0
- package/src/extension/registry/registry.ts +97 -0
- package/src/extension/server/index.ts +6 -0
- package/src/extension/server/server-extension.ts +63 -0
- package/src/extension/signal/index.ts +3 -0
- package/src/extension/signal/packets.ts +46 -0
- package/src/extension/signal/signal-extension.ts +114 -0
- package/src/extension/signal/signal.ts +85 -0
- package/src/extension/table/index.ts +3 -0
- package/src/extension/table/packets.ts +237 -0
- package/src/extension/table/table-extension.ts +503 -0
- package/src/extension/table/table.ts +87 -0
- package/src/identifier.ts +197 -0
- package/src/index.ts +4 -0
- package/src/interface.ts +8 -0
- package/src/localization/index.ts +3 -0
- package/src/localization/locale.ts +737 -0
- package/src/localization/localization.ts +9 -0
- package/src/model.ts +4 -0
- package/src/network/connection.ts +43 -0
- package/src/network/index.ts +3 -0
- package/src/network/network.ts +225 -0
- package/src/network/packet/index.ts +2 -0
- package/src/network/packet/packet-types.ts +101 -0
- package/src/network/packet/packet.ts +46 -0
- package/src/network/websocket-connection.ts +102 -0
- package/src/omu.ts +123 -0
- package/src/serializer.ts +82 -0
- package/src/token.ts +29 -0
- package/tsconfig.json +12 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"locale.js","sourceRoot":"","sources":["../../../src/localization/locale.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"localization.js","sourceRoot":"","sources":["../../../src/localization/localization.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"model.js","sourceRoot":"","sources":["../../src/model.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { Identifier, IdentifierMap } from '../identifier.js';
|
|
2
|
+
export class PacketMapper {
|
|
3
|
+
packetMap = new IdentifierMap();
|
|
4
|
+
register(...packetTypes) {
|
|
5
|
+
for (const type of packetTypes) {
|
|
6
|
+
if (this.packetMap.has(type.id)) {
|
|
7
|
+
throw new Error(`Packet id ${type.id.key()} already registered`);
|
|
8
|
+
}
|
|
9
|
+
this.packetMap.set(type.id, type);
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
serialize(packet) {
|
|
13
|
+
return {
|
|
14
|
+
type: packet.type.id.key(),
|
|
15
|
+
data: packet.type.serializer.serialize(packet.data),
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
deserialize(data) {
|
|
19
|
+
const identifier = Identifier.fromKey(data.type);
|
|
20
|
+
const type = this.packetMap.get(identifier);
|
|
21
|
+
if (!type)
|
|
22
|
+
throw new Error(`Packet type ${data.type} not registered`);
|
|
23
|
+
return {
|
|
24
|
+
type,
|
|
25
|
+
data: type.serializer.deserialize(data.data),
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"connection.js","sourceRoot":"","sources":["../../../src/network/connection.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAM7D,MAAM,OAAO,YAAY;IACJ,SAAS,GAAG,IAAI,aAAa,EAAuB,CAAC;IAE/D,QAAQ,CAAC,GAAG,WAAkC;QACjD,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,aAAa,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,qBAAqB,CAAC,CAAC;YACrE,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;QACtC,CAAC;IACL,CAAC;IAED,SAAS,CAAC,MAAc;QACpB,OAAO;YACH,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YAC1B,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC;SACtD,CAAC;IACN,CAAC;IAED,WAAW,CAAC,IAAgB;QACxB,MAAM,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;QAC5C,IAAI,CAAC,IAAI;YAAE,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,IAAI,iBAAiB,CAAC,CAAC;QACtE,OAAO;YACH,IAAI;YACJ,IAAI,EAAE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC;SAC/C,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/network/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
|
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
import { AnotherConnection, InvalidOrigin, InvalidPacket, InvalidToken, InvalidVersion, PermissionDenied, } from '../errors.js';
|
|
2
|
+
import { EventEmitter } from '../event-emitter.js';
|
|
3
|
+
import { IdentifierMap } from '../identifier.js';
|
|
4
|
+
import { PacketMapper } from './connection.js';
|
|
5
|
+
import { ConnectPacket, DisconnectType, PACKET_TYPES } from './packet/packet-types.js';
|
|
6
|
+
export var NetworkStatus;
|
|
7
|
+
(function (NetworkStatus) {
|
|
8
|
+
NetworkStatus["DISCONNECTED"] = "disconnected";
|
|
9
|
+
NetworkStatus["CONNECTING"] = "connecting";
|
|
10
|
+
NetworkStatus["CONNECTED"] = "connected";
|
|
11
|
+
NetworkStatus["READY"] = "ready";
|
|
12
|
+
NetworkStatus["ERROR"] = "error";
|
|
13
|
+
NetworkStatus["CLOSED"] = "closed";
|
|
14
|
+
})(NetworkStatus || (NetworkStatus = {}));
|
|
15
|
+
export class Network {
|
|
16
|
+
client;
|
|
17
|
+
address;
|
|
18
|
+
tokenProvider;
|
|
19
|
+
connection;
|
|
20
|
+
status = NetworkStatus.DISCONNECTED;
|
|
21
|
+
event = {
|
|
22
|
+
connected: new EventEmitter(),
|
|
23
|
+
disconnected: new EventEmitter(),
|
|
24
|
+
packet: new EventEmitter(),
|
|
25
|
+
status: new EventEmitter(),
|
|
26
|
+
};
|
|
27
|
+
tasks = [];
|
|
28
|
+
packetMapper = new PacketMapper();
|
|
29
|
+
packetHandlers = new IdentifierMap();
|
|
30
|
+
constructor(client, address, tokenProvider, connection) {
|
|
31
|
+
this.client = client;
|
|
32
|
+
this.address = address;
|
|
33
|
+
this.tokenProvider = tokenProvider;
|
|
34
|
+
this.connection = connection;
|
|
35
|
+
this.registerPacket(PACKET_TYPES.CONNECT, PACKET_TYPES.DISCONNECT, PACKET_TYPES.TOKEN, PACKET_TYPES.READY);
|
|
36
|
+
this.addPacketHandler(PACKET_TYPES.TOKEN, async (token) => {
|
|
37
|
+
await this.tokenProvider.set(this.address, this.client.app, token);
|
|
38
|
+
});
|
|
39
|
+
this.addPacketHandler(PACKET_TYPES.DISCONNECT, (reason) => {
|
|
40
|
+
if (reason.type === DisconnectType.SHUTDOWN || reason.type === DisconnectType.CLOSE) {
|
|
41
|
+
return;
|
|
42
|
+
}
|
|
43
|
+
this.setStatus(NetworkStatus.ERROR);
|
|
44
|
+
const ERROR_MAP = {
|
|
45
|
+
[DisconnectType.ANOTHER_CONNECTION]: AnotherConnection,
|
|
46
|
+
[DisconnectType.PERMISSION_DENIED]: PermissionDenied,
|
|
47
|
+
[DisconnectType.INVALID_TOKEN]: InvalidToken,
|
|
48
|
+
[DisconnectType.INVALID_ORIGIN]: InvalidOrigin,
|
|
49
|
+
[DisconnectType.INVALID_VERSION]: InvalidVersion,
|
|
50
|
+
[DisconnectType.INVALID_PACKET]: InvalidPacket,
|
|
51
|
+
[DisconnectType.INVALID_PACKET_TYPE]: InvalidPacket,
|
|
52
|
+
[DisconnectType.INVALID_PACKET_DATA]: InvalidPacket,
|
|
53
|
+
[DisconnectType.CLOSE]: undefined,
|
|
54
|
+
[DisconnectType.SHUTDOWN]: undefined,
|
|
55
|
+
};
|
|
56
|
+
const error = ERROR_MAP[reason.type];
|
|
57
|
+
if (error) {
|
|
58
|
+
throw new error(reason.message);
|
|
59
|
+
}
|
|
60
|
+
});
|
|
61
|
+
this.addPacketHandler(PACKET_TYPES.READY, () => {
|
|
62
|
+
if (this.status === NetworkStatus.READY) {
|
|
63
|
+
throw new Error('Received READY packet when already ready');
|
|
64
|
+
}
|
|
65
|
+
this.setStatus(NetworkStatus.READY);
|
|
66
|
+
this.event.status.emit(NetworkStatus.READY);
|
|
67
|
+
this.client.event.ready.emit();
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
setConnection(connection) {
|
|
71
|
+
if (this.status !== NetworkStatus.DISCONNECTED) {
|
|
72
|
+
throw new Error('Cannot change connection while connected');
|
|
73
|
+
}
|
|
74
|
+
this.connection = connection;
|
|
75
|
+
}
|
|
76
|
+
registerPacket(...packetTypes) {
|
|
77
|
+
this.packetMapper.register(...packetTypes);
|
|
78
|
+
for (const type of packetTypes) {
|
|
79
|
+
this.packetHandlers.set(type.id, {
|
|
80
|
+
type,
|
|
81
|
+
event: new EventEmitter(),
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
addPacketHandler(type, handler) {
|
|
86
|
+
const listeners = this.packetHandlers.get(type.id);
|
|
87
|
+
if (!listeners) {
|
|
88
|
+
throw new Error(`Packet type ${type.id.key()} not registered`);
|
|
89
|
+
}
|
|
90
|
+
listeners.event.listen(handler);
|
|
91
|
+
}
|
|
92
|
+
async connect(recconect = true) {
|
|
93
|
+
if (this.status !== NetworkStatus.DISCONNECTED) {
|
|
94
|
+
throw new Error(`Cannot connect while ${this.status}`);
|
|
95
|
+
}
|
|
96
|
+
try {
|
|
97
|
+
await this.connection.connect();
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
if (recconect) {
|
|
101
|
+
await this.tryReconnect();
|
|
102
|
+
}
|
|
103
|
+
else {
|
|
104
|
+
throw error;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
this.setStatus(NetworkStatus.CONNECTING);
|
|
108
|
+
const token = await this.tokenProvider.get(this.address, this.client.app);
|
|
109
|
+
this.send({
|
|
110
|
+
type: PACKET_TYPES.CONNECT,
|
|
111
|
+
data: new ConnectPacket({
|
|
112
|
+
app: this.client.app,
|
|
113
|
+
token,
|
|
114
|
+
}),
|
|
115
|
+
});
|
|
116
|
+
const listenPromise = this.listen();
|
|
117
|
+
await this.event.status.emit(NetworkStatus.CONNECTED);
|
|
118
|
+
await this.event.connected.emit();
|
|
119
|
+
await this.dispatchTasks();
|
|
120
|
+
this.send({
|
|
121
|
+
type: PACKET_TYPES.READY,
|
|
122
|
+
data: null,
|
|
123
|
+
});
|
|
124
|
+
await listenPromise;
|
|
125
|
+
if (recconect) {
|
|
126
|
+
await this.tryReconnect();
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
async tryReconnect() {
|
|
130
|
+
if (this.status === NetworkStatus.CLOSED) {
|
|
131
|
+
return;
|
|
132
|
+
}
|
|
133
|
+
await new Promise((resolve) => setTimeout(resolve, 1000));
|
|
134
|
+
await this.connect();
|
|
135
|
+
}
|
|
136
|
+
disconnect() {
|
|
137
|
+
if (this.status === NetworkStatus.CLOSED) {
|
|
138
|
+
return;
|
|
139
|
+
}
|
|
140
|
+
this.setStatus(NetworkStatus.DISCONNECTED);
|
|
141
|
+
this.event.status.emit(NetworkStatus.DISCONNECTED);
|
|
142
|
+
this.connection.close();
|
|
143
|
+
this.event.disconnected.emit();
|
|
144
|
+
}
|
|
145
|
+
send(packet) {
|
|
146
|
+
if (this.connection.closed) {
|
|
147
|
+
throw new Error('Cannot send packet while connection is closed');
|
|
148
|
+
}
|
|
149
|
+
this.connection.send(packet, this.packetMapper);
|
|
150
|
+
}
|
|
151
|
+
async listen() {
|
|
152
|
+
while (!this.connection.closed) {
|
|
153
|
+
const packet = await this.connection.receive(this.packetMapper);
|
|
154
|
+
if (!packet) {
|
|
155
|
+
return;
|
|
156
|
+
}
|
|
157
|
+
this.dispatchPacket(packet);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
async dispatchPacket(packet) {
|
|
161
|
+
await this.event.packet.emit(packet);
|
|
162
|
+
const packetHandler = this.packetHandlers.get(packet.type.id);
|
|
163
|
+
if (!packetHandler) {
|
|
164
|
+
return;
|
|
165
|
+
}
|
|
166
|
+
await packetHandler.event.emit(packet.data);
|
|
167
|
+
}
|
|
168
|
+
addTask(task) {
|
|
169
|
+
if (this.client.running) {
|
|
170
|
+
throw new Error('Cannot add task after client is ready');
|
|
171
|
+
}
|
|
172
|
+
this.tasks.push(task);
|
|
173
|
+
}
|
|
174
|
+
removeTask(task) {
|
|
175
|
+
this.tasks.splice(this.tasks.indexOf(task), 1);
|
|
176
|
+
}
|
|
177
|
+
async dispatchTasks() {
|
|
178
|
+
for (const task of this.tasks) {
|
|
179
|
+
await task();
|
|
180
|
+
}
|
|
181
|
+
}
|
|
182
|
+
setStatus(status) {
|
|
183
|
+
if (this.status === status) {
|
|
184
|
+
throw new Error(`Cannot set status to ${status} when already ${status}`);
|
|
185
|
+
}
|
|
186
|
+
this.status = status;
|
|
187
|
+
this.event.status.emit(status);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
//# sourceMappingURL=network.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"network.js","sourceRoot":"","sources":["../../../src/network/network.ts"],"names":[],"mappings":"AAGA,OAAO,EACH,iBAAiB,EACjB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,cAAc,EACd,gBAAgB,GACnB,MAAM,cAAc,CAAC;AACtB,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AAIjD,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAC;AAC/C,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAQvF,MAAM,CAAN,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,8CAA6B,CAAA;IAC7B,0CAAyB,CAAA;IACzB,wCAAuB,CAAA;IACvB,gCAAe,CAAA;IACf,gCAAe,CAAA;IACf,kCAAiB,CAAA;AACrB,CAAC,EAPW,aAAa,KAAb,aAAa,QAOxB;AAED,MAAM,OAAO,OAAO;IAaK;IACD;IACC;IACT;IAfL,MAAM,GAAkB,aAAa,CAAC,YAAY,CAAC;IAC1C,KAAK,GAAG;QACpB,SAAS,EAAE,IAAI,YAAY,EAAc;QACzC,YAAY,EAAE,IAAI,YAAY,EAAc;QAC5C,MAAM,EAAE,IAAI,YAAY,EAA4B;QACpD,MAAM,EAAE,IAAI,YAAY,EAAmC;KAC9D,CAAC;IACe,KAAK,GAAsC,EAAE,CAAC;IAC9C,YAAY,GAAG,IAAI,YAAY,EAAE,CAAC;IAClC,cAAc,GAAG,IAAI,aAAa,EAA0B,CAAC;IAE9E,YACqB,MAAc,EACf,OAAgB,EACf,aAA4B,EACrC,UAAsB;QAHb,WAAM,GAAN,MAAM,CAAQ;QACf,YAAO,GAAP,OAAO,CAAS;QACf,kBAAa,GAAb,aAAa,CAAe;QACrC,eAAU,GAAV,UAAU,CAAY;QAE9B,IAAI,CAAC,cAAc,CACf,YAAY,CAAC,OAAO,EACpB,YAAY,CAAC,UAAU,EACvB,YAAY,CAAC,KAAK,EAClB,YAAY,CAAC,KAAK,CACrB,CAAC;QACF,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,EAAE,KAAK,EAAE,KAAa,EAAE,EAAE;YAC9D,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;QACvE,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACtD,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,QAAQ,IAAI,MAAM,CAAC,IAAI,KAAK,cAAc,CAAC,KAAK,EAAE,CAAC;gBAClF,OAAO;YACX,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpC,MAAM,SAAS,GAAwD;gBACnE,CAAC,cAAc,CAAC,kBAAkB,CAAC,EAAE,iBAAiB;gBACtD,CAAC,cAAc,CAAC,iBAAiB,CAAC,EAAE,gBAAgB;gBACpD,CAAC,cAAc,CAAC,aAAa,CAAC,EAAE,YAAY;gBAC5C,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,aAAa;gBAC9C,CAAC,cAAc,CAAC,eAAe,CAAC,EAAE,cAAc;gBAChD,CAAC,cAAc,CAAC,cAAc,CAAC,EAAE,aAAa;gBAC9C,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,aAAa;gBACnD,CAAC,cAAc,CAAC,mBAAmB,CAAC,EAAE,aAAa;gBACnD,CAAC,cAAc,CAAC,KAAK,CAAC,EAAE,SAAS;gBACjC,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,SAAS;aACvC,CAAC;YACF,MAAM,KAAK,GAAG,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;YACrC,IAAI,KAAK,EAAE,CAAC;gBACR,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACpC,CAAC;QACL,CAAC,CAAC,CAAC;QACH,IAAI,CAAC,gBAAgB,CAAC,YAAY,CAAC,KAAK,EAAE,GAAG,EAAE;YAC3C,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,KAAK,EAAE,CAAC;gBACtC,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;YAChE,CAAC;YACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YACpC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;YAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;QACnC,CAAC,CAAC,CAAC;IACP,CAAC;IAEM,aAAa,CAAC,UAAsB;QACvC,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,0CAA0C,CAAC,CAAC;QAChE,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;IACjC,CAAC;IAEM,cAAc,CAAC,GAAG,WAAkC;QACvD,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,GAAG,WAAW,CAAC,CAAC;QAC3C,KAAK,MAAM,IAAI,IAAI,WAAW,EAAE,CAAC;YAC7B,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE;gBAC7B,IAAI;gBACJ,KAAK,EAAE,IAAI,YAAY,EAAE;aAC5B,CAAC,CAAC;QACP,CAAC;IACL,CAAC;IAEM,gBAAgB,CAAI,IAAmB,EAAE,OAA4B;QACxE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAuC,CAAC;QACzF,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,eAAe,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,iBAAiB,CAAC,CAAC;QACnE,CAAC;QACD,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,OAAoC,CAAC,CAAC;IACjE,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,SAAS,GAAG,IAAI;QACjC,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,YAAY,EAAE,CAAC;YAC7C,MAAM,IAAI,KAAK,CAAC,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;QAC3D,CAAC;QAED,IAAI,CAAC;YACD,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,CAAC;QACpC,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,IAAI,SAAS,EAAE,CAAC;gBACZ,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACJ,MAAM,KAAK,CAAC;YAChB,CAAC;QACL,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACzC,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;QAC1E,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,YAAY,CAAC,OAAO;YAC1B,IAAI,EAAE,IAAI,aAAa,CAAC;gBACpB,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG;gBACpB,KAAK;aACR,CAAC;SACL,CAAC,CAAC;QACH,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACpC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,CAAC;QACtD,MAAM,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,EAAE,CAAC;QAClC,MAAM,IAAI,CAAC,aAAa,EAAE,CAAC;QAC3B,IAAI,CAAC,IAAI,CAAC;YACN,IAAI,EAAE,YAAY,CAAC,KAAK;YACxB,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;QACH,MAAM,aAAa,CAAC;QAEpB,IAAI,SAAS,EAAE,CAAC;YACZ,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAC9B,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,YAAY;QACtB,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1D,MAAM,IAAI,CAAC,OAAO,EAAE,CAAC;IACzB,CAAC;IAEM,UAAU;QACb,IAAI,IAAI,CAAC,MAAM,KAAK,aAAa,CAAC,MAAM,EAAE,CAAC;YACvC,OAAO;QACX,CAAC;QACD,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;QACnD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACxB,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,CAAC;IACnC,CAAC;IAEM,IAAI,CAAC,MAAc;QACtB,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QACrE,CAAC;QACD,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;IACpD,CAAC;IAEO,KAAK,CAAC,MAAM;QAChB,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;YAC7B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;YAChE,IAAI,CAAC,MAAM,EAAE,CAAC;gBACV,OAAO;YACX,CAAC;YACD,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAChC,CAAC;IACL,CAAC;IAEO,KAAK,CAAC,cAAc,CAAC,MAAc;QACvC,MAAM,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACrC,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9D,IAAI,CAAC,aAAa,EAAE,CAAC;YACjB,OAAO;QACX,CAAC;QACD,MAAM,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;IAChD,CAAC;IAEM,OAAO,CAAC,IAAgC;QAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;QAC7D,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAC1B,CAAC;IAEM,UAAU,CAAC,IAAgC;QAC9C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IACnD,CAAC;IAEO,KAAK,CAAC,aAAa;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YAC5B,MAAM,IAAI,EAAE,CAAC;QACjB,CAAC;IACL,CAAC;IAEO,SAAS,CAAC,MAAqB;QACnC,IAAI,IAAI,CAAC,MAAM,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,KAAK,CAAC,wBAAwB,MAAM,iBAAiB,MAAM,EAAE,CAAC,CAAC;QAC7E,CAAC;QACD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IACnC,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/network/packet/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { App } from '../../app.js';
|
|
2
|
+
import { Identifier } from '../../identifier.js';
|
|
3
|
+
import { Serializer } from '../../serializer.js';
|
|
4
|
+
import { PacketType } from './packet.js';
|
|
5
|
+
const IDENTIFIER = new Identifier('core', 'packet');
|
|
6
|
+
export class ConnectPacket {
|
|
7
|
+
app;
|
|
8
|
+
token;
|
|
9
|
+
constructor(options) {
|
|
10
|
+
this.app = options.app;
|
|
11
|
+
this.token = options.token;
|
|
12
|
+
}
|
|
13
|
+
static fromJson(data) {
|
|
14
|
+
return new ConnectPacket({
|
|
15
|
+
app: App.fromJson(data.app),
|
|
16
|
+
token: data.token,
|
|
17
|
+
});
|
|
18
|
+
}
|
|
19
|
+
toJson() {
|
|
20
|
+
return {
|
|
21
|
+
app: this.app.toJson(),
|
|
22
|
+
token: this.token,
|
|
23
|
+
};
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export var DisconnectType;
|
|
27
|
+
(function (DisconnectType) {
|
|
28
|
+
DisconnectType["INVALID_TOKEN"] = "invalid_token";
|
|
29
|
+
DisconnectType["INVALID_ORIGIN"] = "invalid_origin";
|
|
30
|
+
DisconnectType["INVALID_VERSION"] = "invalid_version";
|
|
31
|
+
DisconnectType["INVALID_PACKET_TYPE"] = "invalid_packet_type";
|
|
32
|
+
DisconnectType["INVALID_PACKET_DATA"] = "invalid_packet_data";
|
|
33
|
+
DisconnectType["INVALID_PACKET"] = "invalid_packet";
|
|
34
|
+
DisconnectType["ANOTHER_CONNECTION"] = "another_connection";
|
|
35
|
+
DisconnectType["PERMISSION_DENIED"] = "permission_denied";
|
|
36
|
+
DisconnectType["SHUTDOWN"] = "shutdown";
|
|
37
|
+
DisconnectType["CLOSE"] = "close";
|
|
38
|
+
})(DisconnectType || (DisconnectType = {}));
|
|
39
|
+
export class DisconnectPacket {
|
|
40
|
+
type;
|
|
41
|
+
message;
|
|
42
|
+
constructor(options) {
|
|
43
|
+
this.type = options.type;
|
|
44
|
+
this.message = options.message ?? null;
|
|
45
|
+
}
|
|
46
|
+
static fromJson(data) {
|
|
47
|
+
return new DisconnectPacket({
|
|
48
|
+
type: data.type,
|
|
49
|
+
message: data.message,
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
toJson() {
|
|
53
|
+
return {
|
|
54
|
+
type: this.type,
|
|
55
|
+
message: this.message,
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
export const PACKET_TYPES = {
|
|
60
|
+
CONNECT: PacketType.createJson(IDENTIFIER, {
|
|
61
|
+
name: 'connect',
|
|
62
|
+
serializer: Serializer.model(ConnectPacket),
|
|
63
|
+
}),
|
|
64
|
+
DISCONNECT: PacketType.createJson(IDENTIFIER, {
|
|
65
|
+
name: 'disconnect',
|
|
66
|
+
serializer: Serializer.model(DisconnectPacket),
|
|
67
|
+
}),
|
|
68
|
+
TOKEN: PacketType.createJson(IDENTIFIER, {
|
|
69
|
+
name: 'token',
|
|
70
|
+
}),
|
|
71
|
+
READY: PacketType.createJson(IDENTIFIER, {
|
|
72
|
+
name: 'ready',
|
|
73
|
+
}),
|
|
74
|
+
};
|
|
75
|
+
//# sourceMappingURL=packet-types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packet-types.js","sourceRoot":"","sources":["../../../../src/network/packet/packet-types.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;AAMpD,MAAM,OAAO,aAAa;IACN,GAAG,CAAM;IACT,KAAK,CAAU;IAC/B,YAAY,OAGX;QACG,IAAI,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC;QACvB,IAAI,CAAC,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC;IAC/B,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAAuB;QACnC,OAAO,IAAI,aAAa,CAAC;YACrB,GAAG,EAAE,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,CAAC;YAC3B,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO;YACH,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE;YACtB,KAAK,EAAE,IAAI,CAAC,KAAK;SACpB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,CAAN,IAAY,cAWX;AAXD,WAAY,cAAc;IACtB,iDAA+B,CAAA;IAC/B,mDAAiC,CAAA;IACjC,qDAAmC,CAAA;IACnC,6DAA2C,CAAA;IAC3C,6DAA2C,CAAA;IAC3C,mDAAiC,CAAA;IACjC,2DAAyC,CAAA;IACzC,yDAAuC,CAAA;IACvC,uCAAqB,CAAA;IACrB,iCAAe,CAAA;AACnB,CAAC,EAXW,cAAc,KAAd,cAAc,QAWzB;AAOD,MAAM,OAAO,gBAAgB;IACT,IAAI,CAAiB;IACrB,OAAO,CAAgB;IAEvC,YAAY,OAGX;QACG,IAAI,CAAC,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC;QACzB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC,OAAO,IAAI,IAAI,CAAC;IAC3C,CAAC;IAED,MAAM,CAAC,QAAQ,CAAC,IAA0B;QACtC,OAAO,IAAI,gBAAgB,CAAC;YACxB,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC,CAAC;IACP,CAAC;IAED,MAAM;QACF,OAAO;YACH,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,OAAO,EAAE,IAAI,CAAC,OAAO;SACxB,CAAC;IACN,CAAC;CACJ;AAED,MAAM,CAAC,MAAM,YAAY,GAAG;IACxB,OAAO,EAAE,UAAU,CAAC,UAAU,CAAgB,UAAU,EAAE;QACtD,IAAI,EAAE,SAAS;QACf,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,aAAa,CAAC;KAC9C,CAAC;IACF,UAAU,EAAE,UAAU,CAAC,UAAU,CAAmB,UAAU,EAAE;QAC5D,IAAI,EAAE,YAAY;QAClB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,gBAAgB,CAAC;KACjD,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,UAAU,CAAS,UAAU,EAAE;QAC7C,IAAI,EAAE,OAAO;KAChB,CAAC;IACF,KAAK,EAAE,UAAU,CAAC,UAAU,CAAY,UAAU,EAAE;QAChD,IAAI,EAAE,OAAO;KAChB,CAAC;CACL,CAAC"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Serializer } from '../../serializer.js';
|
|
2
|
+
export class PacketType {
|
|
3
|
+
id;
|
|
4
|
+
serializer;
|
|
5
|
+
constructor(id, serializer) {
|
|
6
|
+
this.id = id;
|
|
7
|
+
this.serializer = serializer;
|
|
8
|
+
}
|
|
9
|
+
static createJson(identifier, { name, serializer, }) {
|
|
10
|
+
return new PacketType(identifier.join(name), Serializer.of(serializer ?? Serializer.noop())
|
|
11
|
+
.pipe(Serializer.json()));
|
|
12
|
+
}
|
|
13
|
+
static createSerialized(identifier, { name, serializer, }) {
|
|
14
|
+
return new PacketType(identifier.join(name), serializer);
|
|
15
|
+
}
|
|
16
|
+
}
|
|
17
|
+
//# sourceMappingURL=packet.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packet.js","sourceRoot":"","sources":["../../../../src/network/packet/packet.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAC;AAYpE,MAAM,OAAO,UAAU;IAEC;IACA;IAFpB,YACoB,EAAc,EACd,UAAuC;QADvC,OAAE,GAAF,EAAE,CAAY;QACd,eAAU,GAAV,UAAU,CAA6B;IACvD,CAAC;IAEL,MAAM,CAAC,UAAU,CAAI,UAAsB,EAAE,EACzC,IAAI,EACJ,UAAU,GAIb;QACG,OAAO,IAAI,UAAU,CACjB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,UAAU,CAAC,EAAE,CAAS,UAAU,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;aACjD,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAC/B,CAAC;IACN,CAAC;IAED,MAAM,CAAC,gBAAgB,CAAI,UAAsB,EAAE,EAC/C,IAAI,EACJ,UAAU,GAIb;QACG,OAAO,IAAI,UAAU,CACjB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,UAAU,CACb,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { ByteReader, ByteWriter } from '../bytebuffer.js';
|
|
2
|
+
export class WebsocketConnection {
|
|
3
|
+
address;
|
|
4
|
+
connected;
|
|
5
|
+
socket;
|
|
6
|
+
packetQueue = [];
|
|
7
|
+
receiveWaiter = null;
|
|
8
|
+
constructor(address) {
|
|
9
|
+
this.address = address;
|
|
10
|
+
this.connected = false;
|
|
11
|
+
this.socket = null;
|
|
12
|
+
}
|
|
13
|
+
get wsEndpoint() {
|
|
14
|
+
const protocol = this.address.secure ? 'wss' : 'ws';
|
|
15
|
+
const { host, port } = this.address;
|
|
16
|
+
return `${protocol}://${host}:${port}/ws`;
|
|
17
|
+
}
|
|
18
|
+
connect() {
|
|
19
|
+
if (this.socket && !this.connected) {
|
|
20
|
+
throw new Error('Already connecting');
|
|
21
|
+
}
|
|
22
|
+
return new Promise((resolve, reject) => {
|
|
23
|
+
this.close();
|
|
24
|
+
this.socket = new WebSocket(this.wsEndpoint);
|
|
25
|
+
this.socket.onerror = reject;
|
|
26
|
+
this.socket.onclose = () => { this.close(); };
|
|
27
|
+
this.socket.onmessage = (event) => { this.onMessage(event); };
|
|
28
|
+
this.socket.onopen = () => {
|
|
29
|
+
this.connected = true;
|
|
30
|
+
resolve();
|
|
31
|
+
};
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
async onMessage(event) {
|
|
35
|
+
if (typeof event.data === 'string') {
|
|
36
|
+
throw new Error('Received string data');
|
|
37
|
+
}
|
|
38
|
+
const reader = new ByteReader(await event.data.arrayBuffer());
|
|
39
|
+
this.packetQueue.push({
|
|
40
|
+
type: reader.readString(),
|
|
41
|
+
data: reader.readByteArray(),
|
|
42
|
+
});
|
|
43
|
+
reader.finish();
|
|
44
|
+
if (this.receiveWaiter) {
|
|
45
|
+
this.receiveWaiter();
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
async receive(serializer) {
|
|
49
|
+
if (this.receiveWaiter) {
|
|
50
|
+
throw new Error('Already receiving');
|
|
51
|
+
}
|
|
52
|
+
if (!this.connected || !this.socket) {
|
|
53
|
+
return null;
|
|
54
|
+
}
|
|
55
|
+
while (this.packetQueue.length === 0) {
|
|
56
|
+
await new Promise((resolve) => {
|
|
57
|
+
this.receiveWaiter = () => resolve();
|
|
58
|
+
});
|
|
59
|
+
}
|
|
60
|
+
const packet = serializer.deserialize(this.packetQueue.shift());
|
|
61
|
+
this.receiveWaiter = null;
|
|
62
|
+
return packet;
|
|
63
|
+
}
|
|
64
|
+
get closed() {
|
|
65
|
+
if (this.socket) {
|
|
66
|
+
return this.socket.readyState === WebSocket.CLOSED;
|
|
67
|
+
}
|
|
68
|
+
return true;
|
|
69
|
+
}
|
|
70
|
+
close() {
|
|
71
|
+
this.connected = false;
|
|
72
|
+
if (this.socket) {
|
|
73
|
+
this.socket.close();
|
|
74
|
+
this.socket = null;
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
send(packet, serializer) {
|
|
78
|
+
if (!this.connected || !this.socket) {
|
|
79
|
+
throw new Error('Not connected');
|
|
80
|
+
}
|
|
81
|
+
const packetData = serializer.serialize(packet);
|
|
82
|
+
const writer = new ByteWriter();
|
|
83
|
+
writer.writeString(packetData.type);
|
|
84
|
+
writer.writeByteArray(packetData.data);
|
|
85
|
+
this.socket.send(writer.finish());
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
//# sourceMappingURL=websocket-connection.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"websocket-connection.js","sourceRoot":"","sources":["../../../src/network/websocket-connection.ts"],"names":[],"mappings":"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"}
|
package/built/esm/omu.js
ADDED
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
import { EventEmitter } from './event-emitter.js';
|
|
2
|
+
import { ASSET_EXTENSION_TYPE } from './extension/asset/index.js';
|
|
3
|
+
import { DASHBOARD_EXTENSION_TYPE } from './extension/dashboard/index.js';
|
|
4
|
+
import { ENDPOINT_EXTENSION_TYPE } from './extension/endpoint/index.js';
|
|
5
|
+
import { I18N_EXTENSION_TYPE } from './extension/i18n/index.js';
|
|
6
|
+
import { ExtensionRegistry } from './extension/index.js';
|
|
7
|
+
import { LOGGER_EXTENSION_TYPE, } from './extension/logger/logger-extension.js';
|
|
8
|
+
import { PERMISSION_EXTENSION_TYPE, } from './extension/permission/index.js';
|
|
9
|
+
import { PLUGIN_EXTENSION_TYPE } from './extension/plugin/index.js';
|
|
10
|
+
import { REGISTRY_EXTENSION_TYPE } from './extension/registry/index.js';
|
|
11
|
+
import { SERVER_EXTENSION_TYPE } from './extension/server/index.js';
|
|
12
|
+
import { SIGNAL_EXTENSION_TYPE } from './extension/signal/index.js';
|
|
13
|
+
import { TABLE_EXTENSION_TYPE } from './extension/table/index.js';
|
|
14
|
+
import { Network } from './network/index.js';
|
|
15
|
+
import { WebsocketConnection } from './network/websocket-connection.js';
|
|
16
|
+
import { BrowserTokenProvider } from './token.js';
|
|
17
|
+
export class Omu {
|
|
18
|
+
app;
|
|
19
|
+
ready;
|
|
20
|
+
running;
|
|
21
|
+
event = {
|
|
22
|
+
started: new EventEmitter(),
|
|
23
|
+
stopped: new EventEmitter(),
|
|
24
|
+
ready: new EventEmitter(),
|
|
25
|
+
};
|
|
26
|
+
token;
|
|
27
|
+
address;
|
|
28
|
+
network;
|
|
29
|
+
endpoints;
|
|
30
|
+
permissions;
|
|
31
|
+
plugins;
|
|
32
|
+
dashboard;
|
|
33
|
+
extensions;
|
|
34
|
+
tables;
|
|
35
|
+
registry;
|
|
36
|
+
signal;
|
|
37
|
+
assets;
|
|
38
|
+
i18n;
|
|
39
|
+
server;
|
|
40
|
+
logger;
|
|
41
|
+
constructor(app, options) {
|
|
42
|
+
this.app = app;
|
|
43
|
+
this.ready = false;
|
|
44
|
+
this.running = false;
|
|
45
|
+
this.token = options?.token ?? new BrowserTokenProvider('omu-token');
|
|
46
|
+
this.address = options?.address ?? {
|
|
47
|
+
host: '127.0.0.1',
|
|
48
|
+
port: 26423,
|
|
49
|
+
secure: false,
|
|
50
|
+
};
|
|
51
|
+
this.network = new Network(this, this.address, this.token, options?.connection ?? new WebsocketConnection(this.address));
|
|
52
|
+
this.extensions = new ExtensionRegistry(this);
|
|
53
|
+
this.endpoints = this.extensions.register(ENDPOINT_EXTENSION_TYPE);
|
|
54
|
+
this.permissions = this.extensions.register(PERMISSION_EXTENSION_TYPE);
|
|
55
|
+
this.plugins = this.extensions.register(PLUGIN_EXTENSION_TYPE);
|
|
56
|
+
this.tables = this.extensions.register(TABLE_EXTENSION_TYPE);
|
|
57
|
+
this.dashboard = this.extensions.register(DASHBOARD_EXTENSION_TYPE);
|
|
58
|
+
this.registry = this.extensions.register(REGISTRY_EXTENSION_TYPE);
|
|
59
|
+
this.signal = this.extensions.register(SIGNAL_EXTENSION_TYPE);
|
|
60
|
+
this.assets = this.extensions.register(ASSET_EXTENSION_TYPE);
|
|
61
|
+
this.i18n = this.extensions.register(I18N_EXTENSION_TYPE);
|
|
62
|
+
this.server = this.extensions.register(SERVER_EXTENSION_TYPE);
|
|
63
|
+
this.logger = this.extensions.register(LOGGER_EXTENSION_TYPE);
|
|
64
|
+
this.event.ready.listen(() => {
|
|
65
|
+
this.ready = true;
|
|
66
|
+
});
|
|
67
|
+
this.network.event.disconnected.listen(() => {
|
|
68
|
+
this.ready = false;
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
send(packetType, data) {
|
|
72
|
+
this.network.send({
|
|
73
|
+
type: packetType,
|
|
74
|
+
data,
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
start() {
|
|
78
|
+
if (this.running) {
|
|
79
|
+
throw new Error('Client already running');
|
|
80
|
+
}
|
|
81
|
+
this.running = true;
|
|
82
|
+
this.network.connect();
|
|
83
|
+
this.event.started.emit();
|
|
84
|
+
}
|
|
85
|
+
stop() {
|
|
86
|
+
this.running = false;
|
|
87
|
+
this.event.stopped.emit();
|
|
88
|
+
}
|
|
89
|
+
whenReady(callback) {
|
|
90
|
+
if (this.ready) {
|
|
91
|
+
callback();
|
|
92
|
+
}
|
|
93
|
+
return this.event.ready.listen(callback);
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
//# sourceMappingURL=omu.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"omu.js","sourceRoot":"","sources":["../../src/omu.ts"],"names":[],"mappings":"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"}
|