@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":"packets.js","sourceRoot":"","sources":["../../../../src/extension/dashboard/packets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,GAAG,EAAE,MAAM,cAAc,CAAC;AACnC,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,cAAc,EAAE,MAAM,6BAA6B,CAAC;AAG7D,MAAM,OAAO,uBAAuB;IAEZ;IACA;IACA;IAHpB,YACoB,SAAiB,EACjB,GAAQ,EACR,WAA6B;QAF7B,cAAS,GAAT,SAAS,CAAQ;QACjB,QAAG,GAAH,GAAG,CAAK;QACR,gBAAW,GAAX,WAAW,CAAkB;IAC7C,CAAC;IAEE,MAAM,CAAC,SAAS,CAAC,MAA+B;QACnD,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;QAC9F,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAgB;QACtC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,GAAG,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QACjF,OAAO,IAAI,uBAAuB,CAAC,SAAS,EAAE,GAAG,EAAE,WAAW,CAAC,CAAC;IACpE,CAAC;CACJ;AAED,MAAM,OAAO,mBAAmB;IAER;IACA;IACA;IAHpB,YACoB,SAAiB,EACjB,GAAQ,EACR,QAAuB;QAFvB,cAAS,GAAT,SAAS,CAAQ;QACjB,QAAG,GAAH,GAAG,CAAK;QACR,aAAQ,GAAR,QAAQ,CAAe;IACvC,CAAC;IAEE,MAAM,CAAC,SAAS,CAAC,MAA2B;QAC/C,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QACrC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;QACxD,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC;QACpD,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAgB;QACtC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,SAAS,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACtC,MAAM,GAAG,GAAG,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC;QAC1D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QACjD,OAAO,IAAI,mBAAmB,CAAC,SAAS,EAAE,GAAG,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;CACJ"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
import { IdentifierMap } from '../../identifier.js';
|
|
2
|
+
import { PacketType } from '../../network/packet/index.js';
|
|
3
|
+
import { ExtensionType } from '../extension.js';
|
|
4
|
+
import { EndpointType } from './endpoint.js';
|
|
5
|
+
import { EndpointDataPacket, EndpointErrorPacket, EndpointRegisterPacket } from './packets.js';
|
|
6
|
+
export const ENDPOINT_EXTENSION_TYPE = new ExtensionType('endpoint', (client) => new EndpointExtension(client));
|
|
7
|
+
export class EndpointExtension {
|
|
8
|
+
client;
|
|
9
|
+
registeredEndpoints = new IdentifierMap();
|
|
10
|
+
promiseMap = new Map();
|
|
11
|
+
callId;
|
|
12
|
+
constructor(client) {
|
|
13
|
+
this.client = client;
|
|
14
|
+
this.callId = 0;
|
|
15
|
+
client.network.registerPacket(ENDPOINT_REGISTER_PACKET, ENDPOINT_CALL_PACKET, ENDPOINT_RECEIVE_PACKET, ENDPOINT_ERROR_PACKET);
|
|
16
|
+
client.network.addPacketHandler(ENDPOINT_RECEIVE_PACKET, (event) => {
|
|
17
|
+
const promise = this.promiseMap.get(event.key);
|
|
18
|
+
if (!promise)
|
|
19
|
+
return;
|
|
20
|
+
this.promiseMap.delete(event.key);
|
|
21
|
+
promise.resolve(event.data);
|
|
22
|
+
});
|
|
23
|
+
client.network.addPacketHandler(ENDPOINT_ERROR_PACKET, (event) => {
|
|
24
|
+
const promise = this.promiseMap.get(event.key);
|
|
25
|
+
if (!promise)
|
|
26
|
+
return;
|
|
27
|
+
this.promiseMap.delete(event.key);
|
|
28
|
+
promise.reject(new Error(event.error));
|
|
29
|
+
});
|
|
30
|
+
client.network.addTask(() => this.onTask());
|
|
31
|
+
}
|
|
32
|
+
onTask() {
|
|
33
|
+
const endpoints = new IdentifierMap();
|
|
34
|
+
for (const [key, endpoint] of this.registeredEndpoints) {
|
|
35
|
+
endpoints.set(key, endpoint.type.permissionId);
|
|
36
|
+
}
|
|
37
|
+
const packet = new EndpointRegisterPacket(endpoints);
|
|
38
|
+
this.client.send(ENDPOINT_REGISTER_PACKET, packet);
|
|
39
|
+
}
|
|
40
|
+
register(type, handler) {
|
|
41
|
+
if (this.client.running) {
|
|
42
|
+
throw new Error('Cannot register endpoints after the client has started');
|
|
43
|
+
}
|
|
44
|
+
if (this.registeredEndpoints.has(type.id)) {
|
|
45
|
+
throw new Error(`Endpoint for key ${type.id} already registered`);
|
|
46
|
+
}
|
|
47
|
+
this.registeredEndpoints.set(type.id, { type, handler });
|
|
48
|
+
}
|
|
49
|
+
listen(handler, name) {
|
|
50
|
+
const type = EndpointType.createJson(this.client.app.id, {
|
|
51
|
+
name: name ?? handler.name,
|
|
52
|
+
});
|
|
53
|
+
this.register(type, handler);
|
|
54
|
+
}
|
|
55
|
+
async call(endpoint, data) {
|
|
56
|
+
const key = this.callId++;
|
|
57
|
+
const promise = new Promise((resolve, reject) => {
|
|
58
|
+
this.promiseMap.set(key, { resolve, reject });
|
|
59
|
+
});
|
|
60
|
+
this.client.send(ENDPOINT_CALL_PACKET, {
|
|
61
|
+
id: endpoint.id,
|
|
62
|
+
key,
|
|
63
|
+
data: endpoint.requestSerializer.serialize(data),
|
|
64
|
+
});
|
|
65
|
+
const response = await promise;
|
|
66
|
+
return endpoint.responseSerializer.deserialize(response);
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
const ENDPOINT_REGISTER_PACKET = PacketType.createSerialized(ENDPOINT_EXTENSION_TYPE, {
|
|
70
|
+
name: 'register',
|
|
71
|
+
serializer: EndpointRegisterPacket,
|
|
72
|
+
});
|
|
73
|
+
const ENDPOINT_CALL_PACKET = PacketType.createSerialized(ENDPOINT_EXTENSION_TYPE, {
|
|
74
|
+
name: 'call',
|
|
75
|
+
serializer: EndpointDataPacket,
|
|
76
|
+
});
|
|
77
|
+
const ENDPOINT_RECEIVE_PACKET = PacketType.createSerialized(ENDPOINT_EXTENSION_TYPE, {
|
|
78
|
+
name: 'receive',
|
|
79
|
+
serializer: EndpointDataPacket,
|
|
80
|
+
});
|
|
81
|
+
const ENDPOINT_ERROR_PACKET = PacketType.createSerialized(ENDPOINT_EXTENSION_TYPE, {
|
|
82
|
+
name: 'error',
|
|
83
|
+
serializer: EndpointErrorPacket,
|
|
84
|
+
});
|
|
85
|
+
//# sourceMappingURL=endpoint-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint-extension.js","sourceRoot":"","sources":["../../../../src/extension/endpoint/endpoint-extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { Serializer } from '../../serializer.js';
|
|
2
|
+
export class EndpointType {
|
|
3
|
+
id;
|
|
4
|
+
requestSerializer;
|
|
5
|
+
responseSerializer;
|
|
6
|
+
permissionId;
|
|
7
|
+
constructor(id, requestSerializer, responseSerializer, permissionId) {
|
|
8
|
+
this.id = id;
|
|
9
|
+
this.requestSerializer = requestSerializer;
|
|
10
|
+
this.responseSerializer = responseSerializer;
|
|
11
|
+
this.permissionId = permissionId;
|
|
12
|
+
}
|
|
13
|
+
static createJson(identifier, { name, requestSerializer, responseSerializer, permissionId, }) {
|
|
14
|
+
return new EndpointType(identifier.join(name), Serializer.of(requestSerializer ?? Serializer.noop())
|
|
15
|
+
.pipe(Serializer.json()), Serializer.of(responseSerializer ?? Serializer.noop())
|
|
16
|
+
.pipe(Serializer.json()), permissionId);
|
|
17
|
+
}
|
|
18
|
+
static createSerialized(identifier, { name, requestSerializer, responseSerializer, permissionId, }) {
|
|
19
|
+
return new EndpointType(identifier.join(name), requestSerializer, responseSerializer, permissionId);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=endpoint.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"endpoint.js","sourceRoot":"","sources":["../../../../src/extension/endpoint/endpoint.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAqB,MAAM,qBAAqB,CAAC;AAEpE,MAAM,OAAO,YAAY;IAED;IACA;IACA;IACA;IAJpB,YACoB,EAAc,EACd,iBAAgD,EAChD,kBAAiD,EACjD,YAAyB;QAHzB,OAAE,GAAF,EAAE,CAAY;QACd,sBAAiB,GAAjB,iBAAiB,CAA+B;QAChD,uBAAkB,GAAlB,kBAAkB,CAA+B;QACjD,iBAAY,GAAZ,YAAY,CAAa;IACzC,CAAC;IAEL,MAAM,CAAC,UAAU,CACb,UAAsB,EACtB,EACI,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GAMf;QAED,OAAO,IAAI,YAAY,CACnB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,UAAU,CAAC,EAAE,CAAW,iBAAiB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;aAC1D,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAC5B,UAAU,CAAC,EAAE,CAAW,kBAAkB,IAAI,UAAU,CAAC,IAAI,EAAE,CAAC;aAC3D,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,EAC5B,YAAY,CACf,CAAC;IACN,CAAC;IAED,MAAM,CAAC,gBAAgB,CACnB,UAAsB,EACtB,EACI,IAAI,EACJ,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,GAMf;QAED,OAAO,IAAI,YAAY,CACnB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,EACrB,iBAAiB,EACjB,kBAAkB,EAClB,YAAY,CACf,CAAC;IACN,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/endpoint/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,uBAAuB,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
import { ByteReader, ByteWriter } from '../../bytebuffer.js';
|
|
2
|
+
import { Identifier, IdentifierMap } from '../../identifier.js';
|
|
3
|
+
export class EndpointRegisterPacket {
|
|
4
|
+
endpoints;
|
|
5
|
+
constructor(endpoints) {
|
|
6
|
+
this.endpoints = endpoints;
|
|
7
|
+
}
|
|
8
|
+
static serialize(item) {
|
|
9
|
+
const writer = new ByteWriter();
|
|
10
|
+
writer.writeInt(item.endpoints.size);
|
|
11
|
+
for (const [key, value] of item.endpoints) {
|
|
12
|
+
writer.writeString(key.key());
|
|
13
|
+
writer.writeString(value?.key() ?? '');
|
|
14
|
+
}
|
|
15
|
+
return writer.finish();
|
|
16
|
+
}
|
|
17
|
+
static deserialize(item) {
|
|
18
|
+
const reader = new ByteReader(item);
|
|
19
|
+
const count = reader.readInt();
|
|
20
|
+
const endpoints = new IdentifierMap();
|
|
21
|
+
for (let i = 0; i < count; i++) {
|
|
22
|
+
const key = Identifier.fromKey(reader.readString());
|
|
23
|
+
const value = Identifier.fromKey(reader.readString());
|
|
24
|
+
endpoints.set(key, value);
|
|
25
|
+
}
|
|
26
|
+
return new EndpointRegisterPacket(endpoints);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
export class EndpointDataPacket {
|
|
30
|
+
id;
|
|
31
|
+
key;
|
|
32
|
+
data;
|
|
33
|
+
constructor(id, key, data) {
|
|
34
|
+
this.id = id;
|
|
35
|
+
this.key = key;
|
|
36
|
+
this.data = data;
|
|
37
|
+
}
|
|
38
|
+
static serialize(item) {
|
|
39
|
+
const writer = new ByteWriter();
|
|
40
|
+
writer.writeString(item.id.key());
|
|
41
|
+
writer.writeInt(item.key);
|
|
42
|
+
writer.writeByteArray(item.data);
|
|
43
|
+
return writer.finish();
|
|
44
|
+
}
|
|
45
|
+
static deserialize(item) {
|
|
46
|
+
const reader = new ByteReader(item);
|
|
47
|
+
const id = Identifier.fromKey(reader.readString());
|
|
48
|
+
const key = reader.readInt();
|
|
49
|
+
const data = reader.readByteArray();
|
|
50
|
+
return new EndpointDataPacket(id, key, data);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
export class EndpointErrorPacket {
|
|
54
|
+
id;
|
|
55
|
+
key;
|
|
56
|
+
error;
|
|
57
|
+
constructor(id, key, error) {
|
|
58
|
+
this.id = id;
|
|
59
|
+
this.key = key;
|
|
60
|
+
this.error = error;
|
|
61
|
+
}
|
|
62
|
+
static serialize(item) {
|
|
63
|
+
const writer = new ByteWriter();
|
|
64
|
+
writer.writeString(item.id.key());
|
|
65
|
+
writer.writeInt(item.key);
|
|
66
|
+
writer.writeString(item.error);
|
|
67
|
+
return writer.finish();
|
|
68
|
+
}
|
|
69
|
+
static deserialize(item) {
|
|
70
|
+
const reader = new ByteReader(item);
|
|
71
|
+
const id = Identifier.fromKey(reader.readString());
|
|
72
|
+
const key = reader.readInt();
|
|
73
|
+
const error = reader.readString();
|
|
74
|
+
return new EndpointErrorPacket(id, key, error);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=packets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packets.js","sourceRoot":"","sources":["../../../../src/extension/endpoint/packets.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export class ExtensionRegistry {
|
|
2
|
+
client;
|
|
3
|
+
extensionMap = new Map();
|
|
4
|
+
constructor(client) {
|
|
5
|
+
this.client = client;
|
|
6
|
+
}
|
|
7
|
+
register(type) {
|
|
8
|
+
if (this.has(type)) {
|
|
9
|
+
throw new Error(`Extension type ${type.name} already registered`);
|
|
10
|
+
}
|
|
11
|
+
type.dependencies?.().forEach((dependency) => {
|
|
12
|
+
if (!this.has(dependency)) {
|
|
13
|
+
throw new Error(`Extension type ${type.name} depends on ${dependency.name} which is not registered`);
|
|
14
|
+
}
|
|
15
|
+
});
|
|
16
|
+
const extension = type.create(this.client);
|
|
17
|
+
this.extensionMap.set(type.name, extension);
|
|
18
|
+
return extension;
|
|
19
|
+
}
|
|
20
|
+
registerAll(types) {
|
|
21
|
+
types.forEach((type) => this.register(type));
|
|
22
|
+
}
|
|
23
|
+
get(extensionType) {
|
|
24
|
+
const extension = this.extensionMap.get(extensionType.name);
|
|
25
|
+
if (!extension) {
|
|
26
|
+
throw new Error(`Extension type ${extensionType.name} not registered`);
|
|
27
|
+
}
|
|
28
|
+
return extension;
|
|
29
|
+
}
|
|
30
|
+
has(extensionType) {
|
|
31
|
+
return this.extensionMap.has(extensionType.name);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=extension-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension-registry.js","sourceRoot":"","sources":["../../../src/extension/extension-registry.ts"],"names":[],"mappings":"AAIA,MAAM,OAAO,iBAAiB;IAEG;IADZ,YAAY,GAA2B,IAAI,GAAG,EAAE,CAAC;IAClE,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;IAAG,CAAC;IAC/C,QAAQ,CAAsB,IAAsB;QAChD,IAAI,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;YACjB,MAAM,IAAI,KAAK,CAAC,kBAAkB,IAAI,CAAC,IAAI,qBAAqB,CAAC,CAAC;QACtE,CAAC;QACD,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,UAAU,EAAE,EAAE;YACzC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CACX,kBAAkB,IAAI,CAAC,IAAI,eAAe,UAAU,CAAC,IAAI,0BAA0B,CACtF,CAAC;YACN,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,SAAS,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC3C,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC5C,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,WAAW,CAAC,KAAsB;QAC9B,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC;IACjD,CAAC;IAED,GAAG,CAAwB,aAAiC;QACxD,MAAM,SAAS,GAAG,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;QAC5D,IAAI,CAAC,SAAS,EAAE,CAAC;YACb,MAAM,IAAI,KAAK,CAAC,kBAAkB,aAAa,CAAC,IAAI,iBAAiB,CAAC,CAAC;QAC3E,CAAC;QACD,OAAO,SAAgB,CAAC;IAC5B,CAAC;IAED,GAAG,CAAsB,aAA+B;QACpD,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;IACrD,CAAC;CACJ"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { Identifier } from '../identifier.js';
|
|
2
|
+
export class ExtensionType extends Identifier {
|
|
3
|
+
name;
|
|
4
|
+
create;
|
|
5
|
+
dependencies;
|
|
6
|
+
constructor(name, create, dependencies) {
|
|
7
|
+
super('ext', name);
|
|
8
|
+
this.name = name;
|
|
9
|
+
this.create = create;
|
|
10
|
+
this.dependencies = dependencies;
|
|
11
|
+
}
|
|
12
|
+
key() {
|
|
13
|
+
return this.name;
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
//# sourceMappingURL=extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"extension.js","sourceRoot":"","sources":["../../../src/extension/extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAI9C,MAAM,OAAO,aAA+C,SAAQ,UAAU;IAEtD;IACA;IACA;IAHpB,YACoB,IAAY,EACZ,MAA6B,EAC7B,YAAoC;QAEpD,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAJH,SAAI,GAAJ,IAAI,CAAQ;QACZ,WAAM,GAAN,MAAM,CAAuB;QAC7B,iBAAY,GAAZ,YAAY,CAAwB;IAGxD,CAAC;IAEM,GAAG;QACN,OAAO,IAAI,CAAC,IAAI,CAAC;IACrB,CAAC;CACJ"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { ExtensionType } from '../extension.js';
|
|
2
|
+
import { RegistryType } from '../registry/index.js';
|
|
3
|
+
export const I18N_EXTENSION_TYPE = new ExtensionType('i18n', (client) => new I18nExtension(client));
|
|
4
|
+
export const I18N_SET_LOCALES_PERMISSION_ID = I18N_EXTENSION_TYPE.join('locales', 'set');
|
|
5
|
+
export const I18N_GET_LOCALES_PERMISSION_ID = I18N_EXTENSION_TYPE.join('locales', 'get');
|
|
6
|
+
const I18N_LOCALES_REGISTRY_TYPE = RegistryType.createJson(I18N_EXTENSION_TYPE, {
|
|
7
|
+
name: 'locales',
|
|
8
|
+
defaultValue: [],
|
|
9
|
+
});
|
|
10
|
+
export class I18nExtension {
|
|
11
|
+
client;
|
|
12
|
+
localesRegistry;
|
|
13
|
+
locales;
|
|
14
|
+
constructor(client) {
|
|
15
|
+
this.client = client;
|
|
16
|
+
client.permissions.require(I18N_GET_LOCALES_PERMISSION_ID);
|
|
17
|
+
this.localesRegistry = client.registry.get(I18N_LOCALES_REGISTRY_TYPE);
|
|
18
|
+
this.localesRegistry.listen((locale) => {
|
|
19
|
+
this.locales = locale;
|
|
20
|
+
});
|
|
21
|
+
}
|
|
22
|
+
translate(localizedText) {
|
|
23
|
+
if (!this.locales) {
|
|
24
|
+
throw new Error('Locale not set');
|
|
25
|
+
}
|
|
26
|
+
if (typeof localizedText === 'string') {
|
|
27
|
+
return localizedText;
|
|
28
|
+
}
|
|
29
|
+
const translation = this.selectBestTranslation(this.locales, localizedText);
|
|
30
|
+
if (!translation) {
|
|
31
|
+
throw new Error(`Missing translation for ${this.locales} in ${JSON.stringify(localizedText)}`);
|
|
32
|
+
}
|
|
33
|
+
return translation;
|
|
34
|
+
}
|
|
35
|
+
selectBestTranslation(locales, localizedText) {
|
|
36
|
+
if (typeof localizedText === 'string') {
|
|
37
|
+
return localizedText;
|
|
38
|
+
}
|
|
39
|
+
const translations = localizedText;
|
|
40
|
+
const transformedLocales = locales.reduce((acc, l) => {
|
|
41
|
+
const parts = l.split('-');
|
|
42
|
+
for (let i = parts.length; i > 0; i--) {
|
|
43
|
+
acc.push(parts.slice(0, i).join('-'));
|
|
44
|
+
}
|
|
45
|
+
return acc;
|
|
46
|
+
}, []);
|
|
47
|
+
for (const l of transformedLocales) {
|
|
48
|
+
const translation = translations[l];
|
|
49
|
+
if (translation) {
|
|
50
|
+
return translation;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return undefined;
|
|
54
|
+
}
|
|
55
|
+
setLocale(locale) {
|
|
56
|
+
return this.localesRegistry.set(locale);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=i18n-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"i18n-extension.js","sourceRoot":"","sources":["../../../../src/extension/i18n/i18n-extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/i18n/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,8BAA8B,EAAE,8BAA8B,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/extension/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAa,aAAa,EAAE,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/logger/index.ts"],"names":[],"mappings":"AAAA,OAAO,EACH,qBAAqB,EACrB,wBAAwB,EACxB,eAAe,GAClB,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
import { Identifier, IdentifierMap } from '../../identifier.js';
|
|
2
|
+
import { PacketType } from '../../network/packet/packet.js';
|
|
3
|
+
import { Serializer } from '../../serializer.js';
|
|
4
|
+
import { ExtensionType } from '../extension.js';
|
|
5
|
+
import { LogPacket, LogType } from './packets.js';
|
|
6
|
+
export const LOGGER_EXTENSION_TYPE = new ExtensionType('logger', (client) => new LoggerExtension(client));
|
|
7
|
+
export const LOGGER_LOG_PERMISSION_ID = LOGGER_EXTENSION_TYPE.join('log');
|
|
8
|
+
export const LOGGER_LOG_PACKET = PacketType.createSerialized(LOGGER_EXTENSION_TYPE, {
|
|
9
|
+
name: 'log',
|
|
10
|
+
serializer: LogPacket,
|
|
11
|
+
});
|
|
12
|
+
export const LOGGER_LISTEN_PACKET = PacketType.createJson(LOGGER_EXTENSION_TYPE, {
|
|
13
|
+
name: 'listen',
|
|
14
|
+
serializer: Serializer.model(Identifier),
|
|
15
|
+
});
|
|
16
|
+
export class LoggerExtension {
|
|
17
|
+
client;
|
|
18
|
+
listeners = new IdentifierMap();
|
|
19
|
+
constructor(client) {
|
|
20
|
+
this.client = client;
|
|
21
|
+
client.network.registerPacket(LOGGER_LOG_PACKET, LOGGER_LISTEN_PACKET);
|
|
22
|
+
client.network.addPacketHandler(LOGGER_LOG_PACKET, (packet) => {
|
|
23
|
+
const listener = this.listeners.get(packet.id);
|
|
24
|
+
if (listener) {
|
|
25
|
+
listener.forEach((it) => it(packet.message));
|
|
26
|
+
}
|
|
27
|
+
});
|
|
28
|
+
}
|
|
29
|
+
log(message) {
|
|
30
|
+
const packet = new LogPacket(this.client.app.id, message);
|
|
31
|
+
this.client.send(LOGGER_LOG_PACKET, packet);
|
|
32
|
+
}
|
|
33
|
+
error(text) {
|
|
34
|
+
this.log({ type: LogType.ERROR, text });
|
|
35
|
+
}
|
|
36
|
+
warning(text) {
|
|
37
|
+
this.log({ type: LogType.WARNING, text });
|
|
38
|
+
}
|
|
39
|
+
info(text) {
|
|
40
|
+
this.log({ type: LogType.INFO, text });
|
|
41
|
+
}
|
|
42
|
+
debug(text) {
|
|
43
|
+
this.log({ type: LogType.DEBUG, text });
|
|
44
|
+
}
|
|
45
|
+
listen(id, listener) {
|
|
46
|
+
if (!this.listeners.has(id)) {
|
|
47
|
+
this.client.whenReady(() => {
|
|
48
|
+
this.client.send(LOGGER_LISTEN_PACKET, id);
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
const list = this.listeners.get(id) ?? [];
|
|
52
|
+
list.push(listener);
|
|
53
|
+
this.listeners.set(id, list);
|
|
54
|
+
return () => {
|
|
55
|
+
list.splice(list.indexOf(listener), 1);
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=logger-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logger-extension.js","sourceRoot":"","sources":["../../../../src/extension/logger/logger-extension.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import { ByteReader, ByteWriter } from '../../bytebuffer.js';
|
|
2
|
+
import { Identifier } from '../../identifier.js';
|
|
3
|
+
export var LogType;
|
|
4
|
+
(function (LogType) {
|
|
5
|
+
LogType["ERROR"] = "error";
|
|
6
|
+
LogType["WARNING"] = "warning";
|
|
7
|
+
LogType["INFO"] = "info";
|
|
8
|
+
LogType["DEBUG"] = "debug";
|
|
9
|
+
})(LogType || (LogType = {}));
|
|
10
|
+
export class LogPacket {
|
|
11
|
+
id;
|
|
12
|
+
message;
|
|
13
|
+
constructor(id, message) {
|
|
14
|
+
this.id = id;
|
|
15
|
+
this.message = message;
|
|
16
|
+
}
|
|
17
|
+
static serialize(item) {
|
|
18
|
+
const writer = new ByteWriter();
|
|
19
|
+
writer.writeString(item.id.key());
|
|
20
|
+
writer.writeString(item.message.type);
|
|
21
|
+
writer.writeString(item.message.text);
|
|
22
|
+
return writer.finish();
|
|
23
|
+
}
|
|
24
|
+
static deserialize(item) {
|
|
25
|
+
const reader = new ByteReader(item);
|
|
26
|
+
const id = reader.readString();
|
|
27
|
+
const type = reader.readString();
|
|
28
|
+
const text = reader.readString();
|
|
29
|
+
const message = { type, text };
|
|
30
|
+
return new LogPacket(Identifier.fromKey(id), message);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
//# sourceMappingURL=packets.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"packets.js","sourceRoot":"","sources":["../../../../src/extension/logger/packets.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAC7D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjD,MAAM,CAAN,IAAY,OAKX;AALD,WAAY,OAAO;IACf,0BAAe,CAAA;IACf,8BAAmB,CAAA;IACnB,wBAAa,CAAA;IACb,0BAAe,CAAA;AACnB,CAAC,EALW,OAAO,KAAP,OAAO,QAKlB;AAOD,MAAM,OAAO,SAAS;IAEE;IACA;IAFpB,YACoB,EAAc,EACd,OAAmB;QADnB,OAAE,GAAF,EAAE,CAAY;QACd,YAAO,GAAP,OAAO,CAAY;IACpC,CAAC;IAEG,MAAM,CAAC,SAAS,CAAC,IAAe;QACnC,MAAM,MAAM,GAAG,IAAI,UAAU,EAAE,CAAC;QAChC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;QAClC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACtC,OAAO,MAAM,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAEM,MAAM,CAAC,WAAW,CAAC,IAAgB;QACtC,MAAM,MAAM,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC;QACpC,MAAM,EAAE,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QAC/B,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAa,CAAC;QAC5C,MAAM,IAAI,GAAG,MAAM,CAAC,UAAU,EAAE,CAAC;QACjC,MAAM,OAAO,GAAG,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC;QAC/B,OAAO,IAAI,SAAS,CAAC,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAC;IAC1D,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/permission/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAC3F,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
import { Identifier, IdentifierMap, IdentifierSet } from '../../identifier.js';
|
|
2
|
+
import { PacketType } from '../../network/packet/packet.js';
|
|
3
|
+
import { Serializer } from '../../serializer.js';
|
|
4
|
+
import { EndpointType } from '../endpoint/endpoint.js';
|
|
5
|
+
import { ExtensionType } from '../extension.js';
|
|
6
|
+
import { PermissionType } from './permission.js';
|
|
7
|
+
export const PERMISSION_EXTENSION_TYPE = new ExtensionType('permission', (client) => new PermissionExtension(client));
|
|
8
|
+
const PERMISSION_REGISTER_PACKET = PacketType.createJson(PERMISSION_EXTENSION_TYPE, {
|
|
9
|
+
name: 'register',
|
|
10
|
+
serializer: Serializer.model(PermissionType).toArray(),
|
|
11
|
+
});
|
|
12
|
+
const PERMISSION_REQUIRE_PACKET = PacketType.createJson(PERMISSION_EXTENSION_TYPE, {
|
|
13
|
+
name: 'require',
|
|
14
|
+
serializer: Serializer.model(Identifier).toArray(),
|
|
15
|
+
});
|
|
16
|
+
const PERMISSION_REQUEST_ENDPOINT = EndpointType.createJson(PERMISSION_EXTENSION_TYPE, {
|
|
17
|
+
name: 'request',
|
|
18
|
+
requestSerializer: Serializer.model(Identifier).toArray(),
|
|
19
|
+
});
|
|
20
|
+
const PERMISSION_GRANT_PACKET = PacketType.createJson(PERMISSION_EXTENSION_TYPE, {
|
|
21
|
+
name: 'grant',
|
|
22
|
+
serializer: Serializer.model(PermissionType).toArray(),
|
|
23
|
+
});
|
|
24
|
+
export class PermissionExtension {
|
|
25
|
+
client;
|
|
26
|
+
permissions = new IdentifierMap();
|
|
27
|
+
registeredPermissions = new IdentifierMap();
|
|
28
|
+
requiredPermissions = new IdentifierSet();
|
|
29
|
+
constructor(client) {
|
|
30
|
+
this.client = client;
|
|
31
|
+
client.network.registerPacket(PERMISSION_REGISTER_PACKET, PERMISSION_REQUIRE_PACKET, PERMISSION_GRANT_PACKET);
|
|
32
|
+
client.network.addPacketHandler(PERMISSION_GRANT_PACKET, (permissions) => {
|
|
33
|
+
for (const permission of permissions) {
|
|
34
|
+
this.permissions.set(permission.id, permission);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
client.network.addTask(() => this.onTask());
|
|
38
|
+
}
|
|
39
|
+
onTask() {
|
|
40
|
+
if (this.registeredPermissions.size > 0) {
|
|
41
|
+
this.client.send(PERMISSION_REGISTER_PACKET, Array.from(this.registeredPermissions.values()));
|
|
42
|
+
}
|
|
43
|
+
if (this.requiredPermissions.size > 0) {
|
|
44
|
+
this.client.send(PERMISSION_REQUIRE_PACKET, Array.from(this.requiredPermissions.values()));
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
register(permission) {
|
|
48
|
+
if (this.client.running) {
|
|
49
|
+
this.client.send(PERMISSION_REGISTER_PACKET, [permission]);
|
|
50
|
+
}
|
|
51
|
+
this.registeredPermissions.set(permission.id, permission);
|
|
52
|
+
}
|
|
53
|
+
require(...permissionIds) {
|
|
54
|
+
if (this.client.running) {
|
|
55
|
+
throw new Error('Permissions must be required before the client starts');
|
|
56
|
+
}
|
|
57
|
+
for (const permissionId of permissionIds) {
|
|
58
|
+
if (typeof permissionId === 'string') {
|
|
59
|
+
this.requiredPermissions.add(Identifier.fromKey(permissionId));
|
|
60
|
+
}
|
|
61
|
+
else {
|
|
62
|
+
this.requiredPermissions.add(permissionId);
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
async request(...permissionIds) {
|
|
67
|
+
await this.client.endpoints.call(PERMISSION_REQUEST_ENDPOINT, permissionIds);
|
|
68
|
+
}
|
|
69
|
+
has(permissionIdentifier) {
|
|
70
|
+
return this.permissions.has(permissionIdentifier);
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
//# sourceMappingURL=permission-extension.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission-extension.js","sourceRoot":"","sources":["../../../../src/extension/permission/permission-extension.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC/E,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAC5D,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAEjD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,aAAa,CACtD,YAAY,EACZ,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAC9C,CAAC;AACF,MAAM,0BAA0B,GAAG,UAAU,CAAC,UAAU,CACpD,yBAAyB,EACzB;IACI,IAAI,EAAE,UAAU;IAChB,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;CACzD,CACJ,CAAC;AACF,MAAM,yBAAyB,GAAG,UAAU,CAAC,UAAU,CAAe,yBAAyB,EAAE;IAC7F,IAAI,EAAE,SAAS;IACf,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;CACrD,CAAC,CAAC;AACH,MAAM,2BAA2B,GAAG,YAAY,CAAC,UAAU,CACvD,yBAAyB,EACzB;IACI,IAAI,EAAE,SAAS;IACf,iBAAiB,EAAE,UAAU,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,OAAO,EAAE;CAC5D,CACJ,CAAC;AACF,MAAM,uBAAuB,GAAG,UAAU,CAAC,UAAU,CAAmB,yBAAyB,EAAE;IAC/F,IAAI,EAAE,OAAO;IACb,UAAU,EAAE,UAAU,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,OAAO,EAAE;CACzD,CAAC,CAAC;AAEH,MAAM,OAAO,mBAAmB;IAKC;IAJrB,WAAW,GAAG,IAAI,aAAa,EAAkB,CAAC;IACzC,qBAAqB,GAAG,IAAI,aAAa,EAAkB,CAAC;IAC5D,mBAAmB,GAAG,IAAI,aAAa,EAAE,CAAC;IAE3D,YAA6B,MAAc;QAAd,WAAM,GAAN,MAAM,CAAQ;QACvC,MAAM,CAAC,OAAO,CAAC,cAAc,CACzB,0BAA0B,EAC1B,yBAAyB,EACzB,uBAAuB,CAC1B,CAAC;QACF,MAAM,CAAC,OAAO,CAAC,gBAAgB,CAAC,uBAAuB,EAAE,CAAC,WAAW,EAAE,EAAE;YACrE,KAAK,MAAM,UAAU,IAAI,WAAW,EAAE,CAAC;gBACnC,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;YACpD,CAAC;QACL,CAAC,CAAC,CAAC;QACH,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAChD,CAAC;IAEO,MAAM;QACV,IAAI,IAAI,CAAC,qBAAqB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtC,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,0BAA0B,EAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,qBAAqB,CAAC,MAAM,EAAE,CAAC,CAClD,CAAC;QACN,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CACZ,yBAAyB,EACzB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,CAAC,CAChD,CAAC;QACN,CAAC;IACL,CAAC;IAEM,QAAQ,CAAC,UAA0B;QACtC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,0BAA0B,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;QAC/D,CAAC;QACD,IAAI,CAAC,qBAAqB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IAEM,OAAO,CAAC,GAAG,aAAsC;QACpD,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;QAC7E,CAAC;QACD,KAAK,MAAM,YAAY,IAAI,aAAa,EAAE,CAAC;YACvC,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,UAAU,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC;YACnE,CAAC;iBAAM,CAAC;gBACJ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;YAC/C,CAAC;QACL,CAAC;IACL,CAAC;IAEM,KAAK,CAAC,OAAO,CAAC,GAAG,aAA2B;QAC/C,MAAM,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,IAAI,CAAC,2BAA2B,EAAE,aAAa,CAAC,CAAC;IACjF,CAAC;IAEM,GAAG,CAAC,oBAAgC;QACvC,OAAO,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;IACtD,CAAC;CACJ"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { Identifier } from '../../identifier.js';
|
|
2
|
+
export class PermissionType {
|
|
3
|
+
id;
|
|
4
|
+
metadata;
|
|
5
|
+
constructor(options) {
|
|
6
|
+
this.id = options.id;
|
|
7
|
+
this.metadata = options.metadata;
|
|
8
|
+
}
|
|
9
|
+
static create(identifier, { name, metadata, }) {
|
|
10
|
+
return new PermissionType({
|
|
11
|
+
id: identifier.join(name),
|
|
12
|
+
metadata: metadata,
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
toJson() {
|
|
16
|
+
return {
|
|
17
|
+
id: this.id.key(),
|
|
18
|
+
metadata: this.metadata,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
static fromJson(json) {
|
|
22
|
+
return new PermissionType({
|
|
23
|
+
id: Identifier.fromKey(json.id),
|
|
24
|
+
metadata: json.metadata,
|
|
25
|
+
});
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=permission.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"permission.js","sourceRoot":"","sources":["../../../../src/extension/permission/permission.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAiBjD,MAAM,OAAO,cAAc;IACP,EAAE,CAAa;IACf,QAAQ,CAAqB;IAE7C,YAAY,OAGX;QACG,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC,EAAE,CAAC;QACrB,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAC;IACrC,CAAC;IAEM,MAAM,CAAC,MAAM,CAAC,UAAsB,EAAE,EACzC,IAAI,EACJ,QAAQ,GAIX;QACG,OAAO,IAAI,cAAc,CAAC;YACtB,EAAE,EAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC;YACzB,QAAQ,EAAE,QAAQ;SACrB,CAAC,CAAC;IACP,CAAC;IAEM,MAAM;QACT,OAAO;YACH,EAAE,EAAE,IAAI,CAAC,EAAE,CAAC,GAAG,EAAE;YACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC;IACN,CAAC;IAEM,MAAM,CAAC,QAAQ,CAAC,IAAwB;QAC3C,OAAO,IAAI,cAAc,CAAC;YACtB,EAAE,EAAE,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;SAC1B,CAAC,CAAC;IACP,CAAC;CACJ"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/extension/plugin/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"package-info.js","sourceRoot":"","sources":["../../../../src/extension/plugin/package-info.ts"],"names":[],"mappings":""}
|