@omujs/omu 0.9.9 → 0.9.26
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/CHANGELOG.md +157 -0
- package/README.md +0 -1
- package/dist/dts/address.d.ts +4 -4
- package/dist/dts/api/asset/extension.d.ts +25 -0
- package/dist/dts/api/asset/index.d.ts +2 -0
- package/dist/dts/api/dashboard/extension.d.ts +186 -0
- package/dist/dts/api/dashboard/handler.d.ts +21 -0
- package/dist/dts/api/dashboard/index.d.ts +3 -0
- package/dist/dts/api/dashboard/packets.d.ts +73 -0
- package/dist/dts/api/endpoint/endpoint.d.ts +32 -0
- package/dist/dts/api/endpoint/extension.d.ts +23 -0
- package/dist/dts/api/endpoint/index.d.ts +2 -0
- package/dist/dts/api/endpoint/packets.d.ts +51 -0
- package/dist/dts/api/extension-registry.d.ts +8 -0
- package/dist/dts/api/extension.d.ts +11 -0
- package/dist/dts/api/http/extension.d.ts +174 -0
- package/dist/dts/api/http/index.d.ts +1 -0
- package/dist/dts/api/i18n/extension.d.ts +22 -0
- package/dist/dts/api/i18n/index.d.ts +1 -0
- package/dist/dts/api/index.d.ts +2 -0
- package/dist/dts/api/logger/extension.d.ts +25 -0
- package/dist/dts/api/logger/index.d.ts +1 -0
- package/dist/dts/api/logger/packets.d.ts +18 -0
- package/dist/dts/api/permission/extension.d.ts +18 -0
- package/dist/dts/api/permission/index.d.ts +1 -0
- package/dist/dts/api/permission/permission.d.ts +25 -0
- package/dist/dts/api/plugin/extension.d.ts +43 -0
- package/dist/dts/api/plugin/index.d.ts +2 -0
- package/dist/dts/api/plugin/package-info.d.ts +84 -0
- package/dist/dts/api/registry/extension.d.ts +26 -0
- package/dist/dts/api/registry/index.d.ts +2 -0
- package/dist/dts/api/registry/packets.d.ts +20 -0
- package/dist/dts/api/registry/registry.d.ts +44 -0
- package/dist/dts/api/server/extension.d.ts +47 -0
- package/dist/dts/api/server/index.d.ts +1 -0
- package/dist/dts/api/session/extension.d.ts +51 -0
- package/dist/dts/api/session/index.d.ts +1 -0
- package/dist/dts/api/signal/extension.d.ts +22 -0
- package/dist/dts/api/signal/index.d.ts +1 -0
- package/dist/dts/api/signal/packets.d.ts +21 -0
- package/dist/dts/api/signal/signal.d.ts +33 -0
- package/dist/dts/api/table/extension.d.ts +29 -0
- package/dist/dts/api/table/index.d.ts +2 -0
- package/dist/dts/api/table/packets.d.ts +65 -0
- package/dist/dts/api/table/table.d.ts +76 -0
- package/dist/dts/app.d.ts +44 -37
- package/dist/dts/const.d.ts +0 -1
- package/dist/dts/errors.d.ts +18 -13
- package/dist/dts/event/index.d.ts +6 -0
- package/dist/dts/helper.d.ts +13 -0
- package/dist/dts/identifier.d.ts +45 -39
- package/dist/dts/index.d.ts +37 -7
- package/dist/dts/localization/index.d.ts +2 -3
- package/dist/dts/localization/locale.d.ts +732 -733
- package/dist/dts/localization/localization.d.ts +3 -6
- package/dist/dts/lock.d.ts +6 -0
- package/dist/dts/network/connection.d.ts +13 -13
- package/dist/dts/network/encryption.d.ts +38 -0
- package/dist/dts/network/frame-transport.d.ts +22 -0
- package/dist/dts/network/index.d.ts +5 -4
- package/dist/dts/network/network.d.ts +52 -51
- package/dist/dts/network/packet/index.d.ts +2 -3
- package/dist/dts/network/packet/packet-types.d.ts +73 -52
- package/dist/dts/network/packet/packet.d.ts +26 -22
- package/dist/dts/network/websocket-transport.d.ts +24 -0
- package/dist/dts/omu.d.ts +60 -49
- package/dist/dts/serialize/bytebuffer.d.ts +71 -0
- package/dist/dts/serialize/index.d.ts +2 -0
- package/dist/dts/serialize/serializer.d.ts +38 -0
- package/dist/dts/token.d.ts +11 -10
- package/dist/dts/version.d.ts +1 -2
- package/dist/esm/address.js +4 -2
- package/dist/esm/api/asset/extension.js +877 -0
- package/dist/esm/api/asset/index.js +875 -0
- package/dist/esm/api/dashboard/extension.js +1281 -0
- package/dist/esm/api/dashboard/handler.js +4 -0
- package/dist/esm/api/dashboard/index.js +1279 -0
- package/dist/esm/api/dashboard/packets.js +413 -0
- package/dist/esm/api/endpoint/endpoint.js +380 -0
- package/dist/esm/api/endpoint/extension.js +1087 -0
- package/dist/esm/api/endpoint/index.js +380 -0
- package/dist/esm/api/endpoint/packets.js +790 -0
- package/dist/esm/api/extension-registry.js +23 -0
- package/dist/esm/api/extension.js +275 -0
- package/dist/esm/api/http/extension.js +1426 -0
- package/dist/esm/api/http/index.js +1312 -0
- package/dist/esm/api/i18n/extension.js +1237 -0
- package/dist/esm/api/i18n/index.js +1235 -0
- package/dist/esm/api/index.js +292 -0
- package/dist/esm/api/logger/extension.js +847 -0
- package/dist/esm/api/logger/index.js +843 -0
- package/dist/esm/api/logger/packets.js +664 -0
- package/dist/esm/api/permission/extension.js +529 -0
- package/dist/esm/api/permission/index.js +291 -0
- package/dist/esm/api/permission/permission.js +291 -0
- package/dist/esm/api/plugin/extension.js +528 -0
- package/dist/esm/api/plugin/index.js +526 -0
- package/dist/esm/api/plugin/package-info.js +4 -0
- package/dist/esm/api/registry/extension.js +1170 -0
- package/dist/esm/api/registry/index.js +1169 -0
- package/dist/esm/api/registry/packets.js +685 -0
- package/dist/esm/api/registry/registry.js +380 -0
- package/dist/esm/api/server/extension.js +2009 -0
- package/dist/esm/api/server/index.js +1987 -0
- package/dist/esm/api/session/extension.js +2111 -0
- package/dist/esm/api/session/index.js +2111 -0
- package/dist/esm/api/signal/extension.js +1022 -0
- package/dist/esm/api/signal/index.js +376 -0
- package/dist/esm/api/signal/packets.js +681 -0
- package/dist/esm/api/signal/signal.js +376 -0
- package/dist/esm/api/table/extension.js +1544 -0
- package/dist/esm/api/table/index.js +1543 -0
- package/dist/esm/api/table/packets.js +895 -0
- package/dist/esm/api/table/table.js +380 -0
- package/dist/esm/app.js +259 -40
- package/dist/esm/const.js +11 -3
- package/dist/esm/errors.js +533 -40
- package/dist/esm/event/index.js +22 -0
- package/dist/esm/helper.js +15 -0
- package/dist/esm/identifier.js +244 -139
- package/dist/esm/index.js +4837 -6
- package/dist/esm/localization/index.js +742 -2
- package/dist/esm/localization/locale.js +741 -735
- package/dist/esm/localization/localization.js +4 -2
- package/dist/esm/lock.js +46 -0
- package/dist/esm/network/connection.js +288 -27
- package/dist/esm/network/encryption.js +977 -0
- package/dist/esm/network/frame-transport.js +525 -0
- package/dist/esm/network/index.js +1614 -2
- package/dist/esm/network/network.js +1337 -195
- package/dist/esm/network/packet/index.js +482 -2
- package/dist/esm/network/packet/packet-types.js +478 -80
- package/dist/esm/network/packet/packet.js +125 -16
- package/dist/esm/network/websocket-transport.js +487 -0
- package/dist/esm/omu.js +4621 -91
- package/dist/esm/serialize/bytebuffer.js +378 -0
- package/dist/esm/serialize/index.js +465 -0
- package/dist/esm/serialize/serializer.js +97 -0
- package/dist/esm/token.js +42 -18
- package/dist/esm/version.js +9 -2
- package/package.json +26 -33
- package/src/address.ts +1 -0
- package/src/api/asset/extension.ts +159 -0
- package/src/api/asset/index.ts +6 -0
- package/src/api/dashboard/extension.ts +614 -0
- package/src/api/dashboard/handler.ts +23 -0
- package/src/api/dashboard/index.ts +36 -0
- package/src/api/dashboard/packets.ts +126 -0
- package/src/api/endpoint/endpoint.ts +56 -0
- package/src/api/endpoint/extension.ts +133 -0
- package/src/api/endpoint/index.ts +3 -0
- package/src/api/endpoint/packets.ts +176 -0
- package/src/api/extension-registry.ts +17 -0
- package/src/{extension → api}/extension.ts +3 -4
- package/src/api/http/extension.ts +752 -0
- package/src/api/http/index.ts +2 -0
- package/src/{extension/i18n/i18n-extension.ts → api/i18n/extension.ts} +9 -10
- package/src/api/i18n/index.ts +2 -0
- package/src/{extension/logger/logger-extension.ts → api/logger/extension.ts} +16 -17
- package/src/api/logger/index.ts +4 -0
- package/src/{extension → api}/logger/packets.ts +3 -3
- package/src/{extension/permission/permission-extension.ts → api/permission/extension.ts} +24 -23
- package/src/api/permission/index.ts +2 -0
- package/src/{extension → api}/permission/permission.ts +8 -11
- package/src/{extension/plugin/plugin-extension.ts → api/plugin/extension.ts} +32 -19
- package/src/api/plugin/index.ts +3 -0
- package/src/{extension/registry/registry-extension.ts → api/registry/extension.ts} +76 -47
- package/src/api/registry/index.ts +3 -0
- package/src/api/registry/packets.ts +64 -0
- package/src/api/registry/registry.ts +73 -0
- package/src/api/server/extension.ts +126 -0
- package/src/api/server/index.ts +11 -0
- package/src/api/session/extension.ts +196 -0
- package/src/api/session/index.ts +7 -0
- package/src/{extension/signal/signal-extension.ts → api/signal/extension.ts} +42 -35
- package/src/api/signal/index.ts +1 -0
- package/src/api/signal/packets.ts +61 -0
- package/src/api/signal/signal.ts +67 -0
- package/src/{extension/table/table-extension.ts → api/table/extension.ts} +111 -154
- package/src/api/table/index.ts +3 -0
- package/src/{extension → api}/table/packets.ts +28 -27
- package/src/{extension → api}/table/table.ts +24 -18
- package/src/app.ts +43 -25
- package/src/const.ts +2 -2
- package/src/errors.ts +12 -0
- package/src/helper.ts +16 -0
- package/src/identifier.ts +59 -4
- package/src/index.ts +86 -5
- package/src/localization/index.ts +2 -2
- package/src/lock.ts +43 -0
- package/src/network/connection.ts +7 -5
- package/src/network/encryption.ts +221 -0
- package/src/network/frame-transport.ts +186 -0
- package/src/network/index.ts +4 -1
- package/src/network/network.ts +138 -90
- package/src/network/packet/index.ts +3 -2
- package/src/network/packet/packet-types.ts +79 -36
- package/src/network/packet/packet.ts +20 -11
- package/src/network/websocket-transport.ts +123 -0
- package/src/omu.ts +56 -30
- package/src/serialize/bytebuffer.ts +424 -0
- package/src/serialize/index.ts +2 -0
- package/src/serialize/serializer.ts +149 -0
- package/src/token.ts +28 -14
- package/src/version.ts +1 -1
- package/tsconfig.json +8 -2
- package/tsconfig.tsbuildinfo +1 -0
- package/LICENSE +0 -21
- package/dist/dts/address.d.ts.map +0 -1
- package/dist/dts/app.d.ts.map +0 -1
- package/dist/dts/bytebuffer.d.ts +0 -49
- package/dist/dts/bytebuffer.d.ts.map +0 -1
- package/dist/dts/client.d.ts +0 -48
- package/dist/dts/client.d.ts.map +0 -1
- package/dist/dts/const.d.ts.map +0 -1
- package/dist/dts/errors.d.ts.map +0 -1
- package/dist/dts/event-emitter.d.ts +0 -7
- package/dist/dts/event-emitter.d.ts.map +0 -1
- package/dist/dts/extension/asset/asset-extension.d.ts +0 -24
- package/dist/dts/extension/asset/asset-extension.d.ts.map +0 -1
- package/dist/dts/extension/asset/index.d.ts +0 -2
- package/dist/dts/extension/asset/index.d.ts.map +0 -1
- package/dist/dts/extension/dashboard/dashboard-extension.d.ts +0 -29
- package/dist/dts/extension/dashboard/dashboard-extension.d.ts.map +0 -1
- package/dist/dts/extension/dashboard/dashboard.d.ts +0 -10
- package/dist/dts/extension/dashboard/dashboard.d.ts.map +0 -1
- package/dist/dts/extension/dashboard/index.d.ts +0 -3
- package/dist/dts/extension/dashboard/index.d.ts.map +0 -1
- package/dist/dts/extension/dashboard/packets.d.ts +0 -41
- package/dist/dts/extension/dashboard/packets.d.ts.map +0 -1
- package/dist/dts/extension/endpoint/endpoint-extension.d.ts +0 -16
- package/dist/dts/extension/endpoint/endpoint-extension.d.ts.map +0 -1
- package/dist/dts/extension/endpoint/endpoint.d.ts +0 -22
- package/dist/dts/extension/endpoint/endpoint.d.ts.map +0 -1
- package/dist/dts/extension/endpoint/index.d.ts +0 -3
- package/dist/dts/extension/endpoint/index.d.ts.map +0 -1
- package/dist/dts/extension/endpoint/packets.d.ts +0 -24
- package/dist/dts/extension/endpoint/packets.d.ts.map +0 -1
- package/dist/dts/extension/extension-registry.d.ts +0 -12
- package/dist/dts/extension/extension-registry.d.ts.map +0 -1
- package/dist/dts/extension/extension.d.ts +0 -13
- package/dist/dts/extension/extension.d.ts.map +0 -1
- package/dist/dts/extension/i18n/i18n-extension.d.ts +0 -21
- package/dist/dts/extension/i18n/i18n-extension.d.ts.map +0 -1
- package/dist/dts/extension/i18n/index.d.ts +0 -2
- package/dist/dts/extension/i18n/index.d.ts.map +0 -1
- package/dist/dts/extension/index.d.ts +0 -3
- package/dist/dts/extension/index.d.ts.map +0 -1
- package/dist/dts/extension/logger/index.d.ts +0 -2
- package/dist/dts/extension/logger/index.d.ts.map +0 -1
- package/dist/dts/extension/logger/logger-extension.d.ts +0 -25
- package/dist/dts/extension/logger/logger-extension.d.ts.map +0 -1
- package/dist/dts/extension/logger/packets.d.ts +0 -19
- package/dist/dts/extension/logger/packets.d.ts.map +0 -1
- package/dist/dts/extension/permission/index.d.ts +0 -3
- package/dist/dts/extension/permission/index.d.ts.map +0 -1
- package/dist/dts/extension/permission/permission-extension.d.ts +0 -18
- package/dist/dts/extension/permission/permission-extension.d.ts.map +0 -1
- package/dist/dts/extension/permission/permission.d.ts +0 -28
- package/dist/dts/extension/permission/permission.d.ts.map +0 -1
- package/dist/dts/extension/plugin/index.d.ts +0 -2
- package/dist/dts/extension/plugin/index.d.ts.map +0 -1
- package/dist/dts/extension/plugin/package-info.d.ts +0 -85
- package/dist/dts/extension/plugin/package-info.d.ts.map +0 -1
- package/dist/dts/extension/plugin/plugin-extension.d.ts +0 -34
- package/dist/dts/extension/plugin/plugin-extension.d.ts.map +0 -1
- package/dist/dts/extension/registry/index.d.ts +0 -3
- package/dist/dts/extension/registry/index.d.ts.map +0 -1
- package/dist/dts/extension/registry/packets.d.ts +0 -17
- package/dist/dts/extension/registry/packets.d.ts.map +0 -1
- package/dist/dts/extension/registry/registry-extension.d.ts +0 -19
- package/dist/dts/extension/registry/registry-extension.d.ts.map +0 -1
- package/dist/dts/extension/registry/registry.d.ts +0 -40
- package/dist/dts/extension/registry/registry.d.ts.map +0 -1
- package/dist/dts/extension/server/index.d.ts +0 -2
- package/dist/dts/extension/server/index.d.ts.map +0 -1
- package/dist/dts/extension/server/server-extension.d.ts +0 -41
- package/dist/dts/extension/server/server-extension.d.ts.map +0 -1
- package/dist/dts/extension/signal/index.d.ts +0 -3
- package/dist/dts/extension/signal/index.d.ts.map +0 -1
- package/dist/dts/extension/signal/packets.d.ts +0 -17
- package/dist/dts/extension/signal/packets.d.ts.map +0 -1
- package/dist/dts/extension/signal/signal-extension.d.ts +0 -18
- package/dist/dts/extension/signal/signal-extension.d.ts.map +0 -1
- package/dist/dts/extension/signal/signal.d.ts +0 -33
- package/dist/dts/extension/signal/signal.d.ts.map +0 -1
- package/dist/dts/extension/table/index.d.ts +0 -3
- package/dist/dts/extension/table/index.d.ts.map +0 -1
- package/dist/dts/extension/table/packets.d.ts +0 -66
- package/dist/dts/extension/table/packets.d.ts.map +0 -1
- package/dist/dts/extension/table/table-extension.d.ts +0 -31
- package/dist/dts/extension/table/table-extension.d.ts.map +0 -1
- package/dist/dts/extension/table/table.d.ts +0 -79
- package/dist/dts/extension/table/table.d.ts.map +0 -1
- package/dist/dts/identifier.d.ts.map +0 -1
- package/dist/dts/index.d.ts.map +0 -1
- package/dist/dts/interface.d.ts +0 -7
- package/dist/dts/interface.d.ts.map +0 -1
- package/dist/dts/localization/index.d.ts.map +0 -1
- package/dist/dts/localization/locale.d.ts.map +0 -1
- package/dist/dts/localization/localization.d.ts.map +0 -1
- package/dist/dts/model.d.ts +0 -5
- package/dist/dts/model.d.ts.map +0 -1
- package/dist/dts/network/connection.d.ts.map +0 -1
- package/dist/dts/network/index.d.ts.map +0 -1
- package/dist/dts/network/network.d.ts.map +0 -1
- package/dist/dts/network/packet/index.d.ts.map +0 -1
- package/dist/dts/network/packet/packet-types.d.ts.map +0 -1
- package/dist/dts/network/packet/packet.d.ts.map +0 -1
- package/dist/dts/network/websocket-connection.d.ts +0 -20
- package/dist/dts/network/websocket-connection.d.ts.map +0 -1
- package/dist/dts/omu.d.ts.map +0 -1
- package/dist/dts/serializer.d.ts +0 -22
- package/dist/dts/serializer.d.ts.map +0 -1
- package/dist/dts/token.d.ts.map +0 -1
- package/dist/dts/version.d.ts.map +0 -1
- package/dist/esm/address.js.map +0 -1
- package/dist/esm/app.js.map +0 -1
- package/dist/esm/bytebuffer.js +0 -191
- package/dist/esm/bytebuffer.js.map +0 -1
- package/dist/esm/client.js +0 -2
- package/dist/esm/client.js.map +0 -1
- package/dist/esm/const.js.map +0 -1
- package/dist/esm/errors.js.map +0 -1
- package/dist/esm/event-emitter.js +0 -15
- package/dist/esm/event-emitter.js.map +0 -1
- package/dist/esm/extension/asset/asset-extension.js +0 -104
- package/dist/esm/extension/asset/asset-extension.js.map +0 -1
- package/dist/esm/extension/asset/index.js +0 -2
- package/dist/esm/extension/asset/index.js.map +0 -1
- package/dist/esm/extension/dashboard/dashboard-extension.js +0 -186
- package/dist/esm/extension/dashboard/dashboard-extension.js.map +0 -1
- package/dist/esm/extension/dashboard/dashboard.js +0 -2
- package/dist/esm/extension/dashboard/dashboard.js.map +0 -1
- package/dist/esm/extension/dashboard/index.js +0 -2
- package/dist/esm/extension/dashboard/index.js.map +0 -1
- package/dist/esm/extension/dashboard/packets.js +0 -96
- package/dist/esm/extension/dashboard/packets.js.map +0 -1
- package/dist/esm/extension/endpoint/endpoint-extension.js +0 -86
- package/dist/esm/extension/endpoint/endpoint-extension.js.map +0 -1
- package/dist/esm/extension/endpoint/endpoint.js +0 -22
- package/dist/esm/extension/endpoint/endpoint.js.map +0 -1
- package/dist/esm/extension/endpoint/index.js +0 -2
- package/dist/esm/extension/endpoint/index.js.map +0 -1
- package/dist/esm/extension/endpoint/packets.js +0 -77
- package/dist/esm/extension/endpoint/packets.js.map +0 -1
- package/dist/esm/extension/extension-registry.js +0 -34
- package/dist/esm/extension/extension-registry.js.map +0 -1
- package/dist/esm/extension/extension.js +0 -16
- package/dist/esm/extension/extension.js.map +0 -1
- package/dist/esm/extension/i18n/i18n-extension.js +0 -68
- package/dist/esm/extension/i18n/i18n-extension.js.map +0 -1
- package/dist/esm/extension/i18n/index.js +0 -2
- package/dist/esm/extension/i18n/index.js.map +0 -1
- package/dist/esm/extension/index.js +0 -3
- package/dist/esm/extension/index.js.map +0 -1
- package/dist/esm/extension/logger/index.js +0 -2
- package/dist/esm/extension/logger/index.js.map +0 -1
- package/dist/esm/extension/logger/logger-extension.js +0 -60
- package/dist/esm/extension/logger/logger-extension.js.map +0 -1
- package/dist/esm/extension/logger/packets.js +0 -33
- package/dist/esm/extension/logger/packets.js.map +0 -1
- package/dist/esm/extension/permission/index.js +0 -3
- package/dist/esm/extension/permission/index.js.map +0 -1
- package/dist/esm/extension/permission/permission-extension.js +0 -74
- package/dist/esm/extension/permission/permission-extension.js.map +0 -1
- package/dist/esm/extension/permission/permission.js +0 -28
- package/dist/esm/extension/permission/permission.js.map +0 -1
- package/dist/esm/extension/plugin/index.js +0 -2
- package/dist/esm/extension/plugin/index.js.map +0 -1
- package/dist/esm/extension/plugin/package-info.js +0 -2
- package/dist/esm/extension/plugin/package-info.js.map +0 -1
- package/dist/esm/extension/plugin/plugin-extension.js +0 -63
- package/dist/esm/extension/plugin/plugin-extension.js.map +0 -1
- package/dist/esm/extension/registry/index.js +0 -3
- package/dist/esm/extension/registry/index.js.map +0 -1
- package/dist/esm/extension/registry/packets.js +0 -48
- package/dist/esm/extension/registry/packets.js.map +0 -1
- package/dist/esm/extension/registry/registry-extension.js +0 -134
- package/dist/esm/extension/registry/registry-extension.js.map +0 -1
- package/dist/esm/extension/registry/registry.js +0 -55
- package/dist/esm/extension/registry/registry.js.map +0 -1
- package/dist/esm/extension/server/index.js +0 -2
- package/dist/esm/extension/server/index.js.map +0 -1
- package/dist/esm/extension/server/server-extension.js +0 -138
- package/dist/esm/extension/server/server-extension.js.map +0 -1
- package/dist/esm/extension/signal/index.js +0 -3
- package/dist/esm/extension/signal/index.js.map +0 -1
- package/dist/esm/extension/signal/packets.js +0 -44
- package/dist/esm/extension/signal/packets.js.map +0 -1
- package/dist/esm/extension/signal/signal-extension.js +0 -95
- package/dist/esm/extension/signal/signal-extension.js.map +0 -1
- package/dist/esm/extension/signal/signal.js +0 -53
- package/dist/esm/extension/signal/signal.js.map +0 -1
- package/dist/esm/extension/table/index.js +0 -3
- package/dist/esm/extension/table/index.js.map +0 -1
- package/dist/esm/extension/table/packets.js +0 -252
- package/dist/esm/extension/table/packets.js.map +0 -1
- package/dist/esm/extension/table/table-extension.js +0 -454
- package/dist/esm/extension/table/table-extension.js.map +0 -1
- package/dist/esm/extension/table/table.js +0 -20
- package/dist/esm/extension/table/table.js.map +0 -1
- package/dist/esm/identifier.js.map +0 -1
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/interface.js +0 -2
- package/dist/esm/interface.js.map +0 -1
- package/dist/esm/localization/index.js.map +0 -1
- package/dist/esm/localization/locale.js.map +0 -1
- package/dist/esm/localization/localization.js.map +0 -1
- package/dist/esm/model.js +0 -2
- package/dist/esm/model.js.map +0 -1
- package/dist/esm/network/connection.js.map +0 -1
- package/dist/esm/network/index.js.map +0 -1
- package/dist/esm/network/network.js.map +0 -1
- package/dist/esm/network/packet/index.js.map +0 -1
- package/dist/esm/network/packet/packet-types.js.map +0 -1
- package/dist/esm/network/packet/packet.js.map +0 -1
- package/dist/esm/network/websocket-connection.js +0 -95
- package/dist/esm/network/websocket-connection.js.map +0 -1
- package/dist/esm/omu.js.map +0 -1
- package/dist/esm/serializer.js +0 -55
- package/dist/esm/serializer.js.map +0 -1
- package/dist/esm/token.js.map +0 -1
- package/dist/esm/version.js.map +0 -1
- package/eslint.config.js +0 -6
- package/src/bytebuffer.ts +0 -222
- package/src/client.ts +0 -53
- package/src/extension/asset/asset-extension.ts +0 -148
- package/src/extension/asset/index.ts +0 -6
- package/src/extension/dashboard/dashboard-extension.ts +0 -238
- package/src/extension/dashboard/dashboard.ts +0 -11
- package/src/extension/dashboard/index.ts +0 -9
- package/src/extension/dashboard/packets.ts +0 -98
- package/src/extension/endpoint/endpoint-extension.ts +0 -125
- package/src/extension/endpoint/endpoint.ts +0 -58
- package/src/extension/endpoint/index.ts +0 -3
- package/src/extension/endpoint/packets.ts +0 -78
- package/src/extension/extension-registry.ts +0 -39
- package/src/extension/i18n/index.ts +0 -2
- package/src/extension/logger/index.ts +0 -5
- package/src/extension/permission/index.ts +0 -3
- package/src/extension/plugin/index.ts +0 -4
- package/src/extension/registry/index.ts +0 -3
- package/src/extension/registry/packets.ts +0 -50
- package/src/extension/registry/registry.ts +0 -98
- package/src/extension/server/index.ts +0 -6
- package/src/extension/server/server-extension.ts +0 -173
- package/src/extension/signal/index.ts +0 -3
- package/src/extension/signal/packets.ts +0 -46
- package/src/extension/signal/signal.ts +0 -89
- package/src/extension/table/index.ts +0 -3
- package/src/interface.ts +0 -8
- package/src/model.ts +0 -4
- package/src/network/websocket-connection.ts +0 -109
- package/src/serializer.ts +0 -89
- /package/src/{extension → api}/index.ts +0 -0
- /package/src/{extension → api}/plugin/package-info.ts +0 -0
- /package/src/{event-emitter.ts → event/index.ts} +0 -0
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
import type { Unlisten } from '../../event';
|
|
2
|
+
import { Identifier, IntoId } from '../../identifier';
|
|
3
|
+
import type { Serializable } from '../../serialize';
|
|
4
|
+
import { Serializer } from '../../serialize';
|
|
5
|
+
|
|
6
|
+
export interface SignalPermissionsJSON {
|
|
7
|
+
all?: string;
|
|
8
|
+
listen?: string;
|
|
9
|
+
send?: string;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
export interface SignalPermissions {
|
|
13
|
+
all?: IntoId | undefined;
|
|
14
|
+
listen?: IntoId | undefined;
|
|
15
|
+
send?: IntoId | undefined;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
export class SignalType<T> {
|
|
19
|
+
constructor(
|
|
20
|
+
public readonly id: Identifier,
|
|
21
|
+
public readonly serializer: Serializable<T, Uint8Array>,
|
|
22
|
+
public readonly permissions: SignalPermissions,
|
|
23
|
+
) {}
|
|
24
|
+
|
|
25
|
+
static createJson<T>(
|
|
26
|
+
identifier: IntoId,
|
|
27
|
+
{
|
|
28
|
+
name,
|
|
29
|
+
serializer,
|
|
30
|
+
permissions,
|
|
31
|
+
}: {
|
|
32
|
+
name: string;
|
|
33
|
+
serializer?: Serializable<T, any>;
|
|
34
|
+
permissions?: SignalPermissions;
|
|
35
|
+
},
|
|
36
|
+
): SignalType<T> {
|
|
37
|
+
return new SignalType(
|
|
38
|
+
Identifier.from(identifier).join(name),
|
|
39
|
+
Serializer.of<T, any>(serializer ?? Serializer.noop()).toJson(),
|
|
40
|
+
permissions ?? {},
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
static createSerialized<T>(
|
|
45
|
+
identifier: IntoId,
|
|
46
|
+
{
|
|
47
|
+
name,
|
|
48
|
+
serializer,
|
|
49
|
+
permissions,
|
|
50
|
+
}: {
|
|
51
|
+
name: string;
|
|
52
|
+
serializer: Serializable<T, Uint8Array>;
|
|
53
|
+
permissions?: SignalPermissions;
|
|
54
|
+
},
|
|
55
|
+
): SignalType<T> {
|
|
56
|
+
return new SignalType(
|
|
57
|
+
Identifier.from(identifier).join(name),
|
|
58
|
+
serializer,
|
|
59
|
+
permissions ?? {},
|
|
60
|
+
);
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
export interface Signal<T> {
|
|
65
|
+
listen(handler: (value: T) => void): Unlisten;
|
|
66
|
+
notify(body: T): void;
|
|
67
|
+
}
|
|
@@ -1,12 +1,10 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import
|
|
3
|
-
import {
|
|
4
|
-
import { Identifier, IdentifierMap } from '../../identifier.js';
|
|
5
|
-
import type { Keyable } from '../../interface.js';
|
|
6
|
-
import type { Model } from '../../model.js';
|
|
1
|
+
import type { Unlisten } from '../../event';
|
|
2
|
+
import { EventEmitter } from '../../event';
|
|
3
|
+
import { Identifier, IdentifierMap } from '../../identifier';
|
|
7
4
|
import { PacketType } from '../../network/packet/packet.js';
|
|
8
|
-
import
|
|
9
|
-
import {
|
|
5
|
+
import { Omu } from '../../omu';
|
|
6
|
+
import type { JsonType, Serializable } from '../../serialize';
|
|
7
|
+
import { Serializer } from '../../serialize';
|
|
10
8
|
import { EndpointType } from '../endpoint/endpoint.js';
|
|
11
9
|
import type { Extension } from '../extension.js';
|
|
12
10
|
import { ExtensionType } from '../extension.js';
|
|
@@ -28,26 +26,23 @@ export const TABLE_EXTENSION_TYPE: ExtensionType<TableExtension> = new Extension
|
|
|
28
26
|
'table',
|
|
29
27
|
(client) => new TableExtension(client),
|
|
30
28
|
);
|
|
31
|
-
export const TABLE_PERMISSION_ID = TABLE_EXTENSION_TYPE.join('permission');
|
|
32
|
-
|
|
33
|
-
const TABLE_SET_PERMISSION_PACKET = PacketType.createSerialized<SetPermissionPacket>(
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
serializer: SetPermissionPacket,
|
|
38
|
-
},
|
|
39
|
-
);
|
|
29
|
+
export const TABLE_PERMISSION_ID: Identifier = TABLE_EXTENSION_TYPE.join('permission');
|
|
30
|
+
|
|
31
|
+
const TABLE_SET_PERMISSION_PACKET = PacketType.createSerialized<SetPermissionPacket>(TABLE_EXTENSION_TYPE, {
|
|
32
|
+
name: 'set_permission',
|
|
33
|
+
serializer: SetPermissionPacket,
|
|
34
|
+
});
|
|
40
35
|
const TABLE_SET_CONFIG_PACKET = PacketType.createSerialized<SetConfigPacket>(TABLE_EXTENSION_TYPE, {
|
|
41
36
|
name: 'set_config',
|
|
42
37
|
serializer: SetConfigPacket,
|
|
43
38
|
});
|
|
44
39
|
const TABLE_LISTEN_PACKET = PacketType.createJson<Identifier>(TABLE_EXTENSION_TYPE, {
|
|
45
40
|
name: 'listen',
|
|
46
|
-
serializer:
|
|
41
|
+
serializer: Identifier,
|
|
47
42
|
});
|
|
48
43
|
const TABLE_PROXY_LISTEN_PACKET = PacketType.createJson<Identifier>(TABLE_EXTENSION_TYPE, {
|
|
49
44
|
name: 'proxy_listen',
|
|
50
|
-
serializer:
|
|
45
|
+
serializer: Identifier,
|
|
51
46
|
});
|
|
52
47
|
const TABLE_PROXY_PACKET = PacketType.createSerialized<TableProxyPacket>(TABLE_EXTENSION_TYPE, {
|
|
53
48
|
name: 'proxy',
|
|
@@ -57,103 +52,73 @@ const TABLE_ITEM_ADD_PACKET = PacketType.createSerialized<TableItemsPacket>(TABL
|
|
|
57
52
|
name: 'item_add',
|
|
58
53
|
serializer: TableItemsPacket,
|
|
59
54
|
});
|
|
60
|
-
const TABLE_ITEM_UPDATE_PACKET = PacketType.createSerialized<TableItemsPacket>(
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
);
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
);
|
|
92
|
-
const
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
},
|
|
100
|
-
);
|
|
101
|
-
const TABLE_ITEM_HAS_ANY_ENDPOINT = EndpointType.createSerialized<TableKeysPacket, boolean>(
|
|
102
|
-
TABLE_EXTENSION_TYPE,
|
|
103
|
-
{
|
|
104
|
-
name: 'item_has_any',
|
|
105
|
-
requestSerializer: TableKeysPacket,
|
|
106
|
-
responseSerializer: Serializer.json(),
|
|
107
|
-
permissionId: TABLE_PERMISSION_ID,
|
|
108
|
-
},
|
|
109
|
-
);
|
|
110
|
-
const TABLE_FETCH_ENDPOINT = EndpointType.createSerialized<TableFetchPacket, TableItemsPacket>(
|
|
111
|
-
TABLE_EXTENSION_TYPE,
|
|
112
|
-
{
|
|
113
|
-
name: 'fetch',
|
|
114
|
-
requestSerializer: TableFetchPacket,
|
|
115
|
-
responseSerializer: TableItemsPacket,
|
|
116
|
-
permissionId: TABLE_PERMISSION_ID,
|
|
117
|
-
},
|
|
118
|
-
);
|
|
119
|
-
const TABLE_FETCH_RANGE_ENDPOINT = EndpointType.createSerialized<
|
|
120
|
-
TableFetchRangePacket,
|
|
121
|
-
TableItemsPacket
|
|
122
|
-
>(TABLE_EXTENSION_TYPE, {
|
|
55
|
+
const TABLE_ITEM_UPDATE_PACKET = PacketType.createSerialized<TableItemsPacket>(TABLE_EXTENSION_TYPE, {
|
|
56
|
+
name: 'item_update',
|
|
57
|
+
serializer: TableItemsPacket,
|
|
58
|
+
});
|
|
59
|
+
const TABLE_ITEM_REMOVE_PACKET = PacketType.createSerialized<TableItemsPacket>(TABLE_EXTENSION_TYPE, {
|
|
60
|
+
name: 'item_remove',
|
|
61
|
+
serializer: TableItemsPacket,
|
|
62
|
+
});
|
|
63
|
+
const TABLE_ITEM_GET_ENDPOINT = EndpointType.createSerialized<TableKeysPacket, TableItemsPacket>(TABLE_EXTENSION_TYPE, {
|
|
64
|
+
name: 'item_get',
|
|
65
|
+
requestSerializer: TableKeysPacket,
|
|
66
|
+
responseSerializer: TableItemsPacket,
|
|
67
|
+
permissionId: TABLE_PERMISSION_ID,
|
|
68
|
+
});
|
|
69
|
+
const TABLE_ITEM_HAS_ENDPOINT = EndpointType.createSerialized<TableKeysPacket, Record<string, boolean>>(TABLE_EXTENSION_TYPE, {
|
|
70
|
+
name: 'item_has',
|
|
71
|
+
requestSerializer: TableKeysPacket,
|
|
72
|
+
responseSerializer: Serializer.json(),
|
|
73
|
+
permissionId: TABLE_PERMISSION_ID,
|
|
74
|
+
});
|
|
75
|
+
const TABLE_ITEM_HAS_ALL_ENDPOINT = EndpointType.createSerialized<TableKeysPacket, boolean>(TABLE_EXTENSION_TYPE, {
|
|
76
|
+
name: 'item_has_all',
|
|
77
|
+
requestSerializer: TableKeysPacket,
|
|
78
|
+
responseSerializer: Serializer.json(),
|
|
79
|
+
permissionId: TABLE_PERMISSION_ID,
|
|
80
|
+
});
|
|
81
|
+
const TABLE_ITEM_HAS_ANY_ENDPOINT = EndpointType.createSerialized<TableKeysPacket, boolean>(TABLE_EXTENSION_TYPE, {
|
|
82
|
+
name: 'item_has_any',
|
|
83
|
+
requestSerializer: TableKeysPacket,
|
|
84
|
+
responseSerializer: Serializer.json(),
|
|
85
|
+
permissionId: TABLE_PERMISSION_ID,
|
|
86
|
+
});
|
|
87
|
+
const TABLE_FETCH_ENDPOINT = EndpointType.createSerialized<TableFetchPacket, TableItemsPacket>(TABLE_EXTENSION_TYPE, {
|
|
88
|
+
name: 'fetch',
|
|
89
|
+
requestSerializer: TableFetchPacket,
|
|
90
|
+
responseSerializer: TableItemsPacket,
|
|
91
|
+
permissionId: TABLE_PERMISSION_ID,
|
|
92
|
+
});
|
|
93
|
+
const TABLE_FETCH_RANGE_ENDPOINT = EndpointType.createSerialized<TableFetchRangePacket, TableItemsPacket>(TABLE_EXTENSION_TYPE, {
|
|
123
94
|
name: 'fetch_range',
|
|
124
95
|
requestSerializer: TableFetchRangePacket,
|
|
125
96
|
responseSerializer: TableItemsPacket,
|
|
126
97
|
permissionId: TABLE_PERMISSION_ID,
|
|
127
98
|
});
|
|
128
|
-
const TABLE_FETCH_ALL_ENDPOINT = EndpointType.createSerialized<TablePacket, TableItemsPacket>(
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
name: 'size',
|
|
141
|
-
requestSerializer: TablePacket,
|
|
142
|
-
responseSerializer: Serializer.json(),
|
|
143
|
-
permissionId: TABLE_PERMISSION_ID,
|
|
144
|
-
},
|
|
145
|
-
);
|
|
99
|
+
const TABLE_FETCH_ALL_ENDPOINT = EndpointType.createSerialized<TablePacket, TableItemsPacket>(TABLE_EXTENSION_TYPE, {
|
|
100
|
+
name: 'fetch_all',
|
|
101
|
+
requestSerializer: TablePacket,
|
|
102
|
+
responseSerializer: TableItemsPacket,
|
|
103
|
+
permissionId: TABLE_PERMISSION_ID,
|
|
104
|
+
});
|
|
105
|
+
const TABLE_SIZE_ENDPOINT = EndpointType.createSerialized<TablePacket, number>(TABLE_EXTENSION_TYPE, {
|
|
106
|
+
name: 'size',
|
|
107
|
+
requestSerializer: TablePacket,
|
|
108
|
+
responseSerializer: Serializer.json(),
|
|
109
|
+
permissionId: TABLE_PERMISSION_ID,
|
|
110
|
+
});
|
|
146
111
|
const TABLE_ITEM_CLEAR_PACKET = PacketType.createSerialized<TablePacket>(TABLE_EXTENSION_TYPE, {
|
|
147
112
|
name: 'clear',
|
|
148
113
|
serializer: TablePacket,
|
|
149
114
|
});
|
|
150
115
|
|
|
151
116
|
export class TableExtension implements Extension {
|
|
152
|
-
public readonly type = TABLE_EXTENSION_TYPE;
|
|
117
|
+
public readonly type: ExtensionType<TableExtension> = TABLE_EXTENSION_TYPE;
|
|
153
118
|
private readonly tableMap = new IdentifierMap<Table<unknown>>();
|
|
154
119
|
|
|
155
|
-
constructor(private readonly
|
|
156
|
-
|
|
120
|
+
constructor(private readonly omu: Omu) {
|
|
121
|
+
omu.network.registerPacket(
|
|
157
122
|
TABLE_SET_PERMISSION_PACKET,
|
|
158
123
|
TABLE_SET_CONFIG_PACKET,
|
|
159
124
|
TABLE_LISTEN_PACKET,
|
|
@@ -167,19 +132,28 @@ export class TableExtension implements Extension {
|
|
|
167
132
|
}
|
|
168
133
|
|
|
169
134
|
private createTable<T>(tableType: TableType<T>): Table<T> {
|
|
170
|
-
this.
|
|
135
|
+
this.omu.permissions.require(TABLE_PERMISSION_ID);
|
|
171
136
|
if (this.has(tableType.id)) {
|
|
172
137
|
throw new Error('Table already exists');
|
|
173
138
|
}
|
|
174
|
-
const table = new TableImpl<T>(this.
|
|
139
|
+
const table = new TableImpl<T>(this.omu, tableType);
|
|
175
140
|
this.tableMap.set(tableType.id, table as Table<unknown>);
|
|
176
141
|
return table;
|
|
177
142
|
}
|
|
178
143
|
|
|
179
|
-
public
|
|
144
|
+
public json<T, D extends JsonType = JsonType>(name: string, options: { key: (item: T) => string; serializer?: Serializable<T, D> }): Table<T> {
|
|
180
145
|
const tableType = new TableType<T>(
|
|
181
|
-
this.
|
|
182
|
-
options.serializer ?? Serializer.json(),
|
|
146
|
+
this.omu.app.id.join(name),
|
|
147
|
+
Serializer.pipe<T, JsonType, Uint8Array>(options.serializer ?? Serializer.noop(), Serializer.json()),
|
|
148
|
+
options.key,
|
|
149
|
+
);
|
|
150
|
+
return this.createTable(tableType);
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
public serialized<T>(name: string, options: { key: (item: T) => string; serializer: Serializable<T, Uint8Array> }): Table<T> {
|
|
154
|
+
const tableType = new TableType<T>(
|
|
155
|
+
this.omu.app.id.join(name),
|
|
156
|
+
options.serializer,
|
|
183
157
|
options.key,
|
|
184
158
|
);
|
|
185
159
|
return this.createTable(tableType);
|
|
@@ -192,23 +166,6 @@ export class TableExtension implements Extension {
|
|
|
192
166
|
return this.createTable(type);
|
|
193
167
|
}
|
|
194
168
|
|
|
195
|
-
public model<T extends Keyable & Model<D>, D = unknown>(
|
|
196
|
-
identifier: Identifier,
|
|
197
|
-
{
|
|
198
|
-
name,
|
|
199
|
-
model,
|
|
200
|
-
}: {
|
|
201
|
-
name: string;
|
|
202
|
-
model: { fromJson(data: D): T };
|
|
203
|
-
},
|
|
204
|
-
): Table<T> {
|
|
205
|
-
const tableType = TableType.createModel(identifier, { name, model });
|
|
206
|
-
if (this.has(tableType.id)) {
|
|
207
|
-
throw new Error('Table already exists');
|
|
208
|
-
}
|
|
209
|
-
return this.createTable(tableType);
|
|
210
|
-
}
|
|
211
|
-
|
|
212
169
|
public has(identifier: Identifier): boolean {
|
|
213
170
|
return this.tableMap.has(identifier);
|
|
214
171
|
}
|
|
@@ -228,7 +185,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
228
185
|
private permissions?: TablePermissions;
|
|
229
186
|
|
|
230
187
|
constructor(
|
|
231
|
-
private readonly
|
|
188
|
+
private readonly omu: Omu,
|
|
232
189
|
tableType: TableType<T>,
|
|
233
190
|
) {
|
|
234
191
|
this.id = tableType.id;
|
|
@@ -246,7 +203,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
246
203
|
this.proxies = [];
|
|
247
204
|
this.listening = false;
|
|
248
205
|
|
|
249
|
-
|
|
206
|
+
omu.network.addPacketHandler(TABLE_PROXY_PACKET, (packet) => {
|
|
250
207
|
if (!packet.id.isEqual(this.id)) {
|
|
251
208
|
return;
|
|
252
209
|
}
|
|
@@ -266,7 +223,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
266
223
|
}),
|
|
267
224
|
);
|
|
268
225
|
});
|
|
269
|
-
|
|
226
|
+
omu.send(TABLE_PROXY_PACKET, {
|
|
270
227
|
id: this.id,
|
|
271
228
|
key: packet.key,
|
|
272
229
|
items: Object.fromEntries(
|
|
@@ -276,7 +233,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
276
233
|
),
|
|
277
234
|
});
|
|
278
235
|
});
|
|
279
|
-
|
|
236
|
+
omu.network.addPacketHandler(TABLE_ITEM_ADD_PACKET, (packet) => {
|
|
280
237
|
if (!packet.id.isEqual(this.id)) {
|
|
281
238
|
return;
|
|
282
239
|
}
|
|
@@ -284,7 +241,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
284
241
|
this.updateCache(items);
|
|
285
242
|
this.event.add.emit(items);
|
|
286
243
|
});
|
|
287
|
-
|
|
244
|
+
omu.network.addPacketHandler(TABLE_ITEM_UPDATE_PACKET, (packet) => {
|
|
288
245
|
if (!packet.id.isEqual(this.id)) {
|
|
289
246
|
return;
|
|
290
247
|
}
|
|
@@ -292,7 +249,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
292
249
|
this.updateCache(items);
|
|
293
250
|
this.event.update.emit(items);
|
|
294
251
|
});
|
|
295
|
-
|
|
252
|
+
omu.network.addPacketHandler(TABLE_ITEM_REMOVE_PACKET, (packet) => {
|
|
296
253
|
if (!packet.id.isEqual(this.id)) {
|
|
297
254
|
return;
|
|
298
255
|
}
|
|
@@ -303,7 +260,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
303
260
|
this.event.remove.emit(items);
|
|
304
261
|
this.event.cacheUpdate.emit(this.cache);
|
|
305
262
|
});
|
|
306
|
-
|
|
263
|
+
omu.network.addPacketHandler(TABLE_ITEM_CLEAR_PACKET, (packet) => {
|
|
307
264
|
if (!packet.id.isEqual(this.id)) {
|
|
308
265
|
return;
|
|
309
266
|
}
|
|
@@ -311,9 +268,9 @@ class TableImpl<T> implements Table<T> {
|
|
|
311
268
|
this.event.clear.emit();
|
|
312
269
|
this.event.cacheUpdate.emit(this.cache);
|
|
313
270
|
});
|
|
314
|
-
|
|
271
|
+
omu.event.ready.listen(() => this.onReady());
|
|
315
272
|
}
|
|
316
|
-
|
|
273
|
+
|
|
317
274
|
private updateCache(items: Map<string, T>): void {
|
|
318
275
|
if (!this.cacheSize) {
|
|
319
276
|
this.cache = items;
|
|
@@ -326,8 +283,8 @@ class TableImpl<T> implements Table<T> {
|
|
|
326
283
|
|
|
327
284
|
public listen(listener?: (items: Map<string, T>) => void): Unlisten {
|
|
328
285
|
if (!this.listening) {
|
|
329
|
-
this.
|
|
330
|
-
this.
|
|
286
|
+
this.omu.onReady(() => {
|
|
287
|
+
this.omu.send(TABLE_LISTEN_PACKET, this.id);
|
|
331
288
|
});
|
|
332
289
|
this.listening = true;
|
|
333
290
|
}
|
|
@@ -340,12 +297,12 @@ class TableImpl<T> implements Table<T> {
|
|
|
340
297
|
public proxy(callback: (item: T) => T | undefined): Unlisten {
|
|
341
298
|
if (this.proxies.length === 0) {
|
|
342
299
|
let cancel = (): void => {};
|
|
343
|
-
cancel = this.
|
|
300
|
+
cancel = this.omu.onReady(() => {
|
|
344
301
|
if (this.proxies.length === 0) {
|
|
345
302
|
cancel();
|
|
346
303
|
return;
|
|
347
304
|
}
|
|
348
|
-
this.
|
|
305
|
+
this.omu.send(TABLE_PROXY_LISTEN_PACKET, this.id);
|
|
349
306
|
});
|
|
350
307
|
}
|
|
351
308
|
this.proxies.push(callback);
|
|
@@ -356,7 +313,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
356
313
|
|
|
357
314
|
private onReady(): void {
|
|
358
315
|
if (this.config) {
|
|
359
|
-
this.
|
|
316
|
+
this.omu.send(TABLE_SET_CONFIG_PACKET, {
|
|
360
317
|
id: this.id,
|
|
361
318
|
config: this.config,
|
|
362
319
|
});
|
|
@@ -370,7 +327,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
370
327
|
if (this.promiseMap.has(key)) {
|
|
371
328
|
return await this.promiseMap.get(key);
|
|
372
329
|
}
|
|
373
|
-
const promise = this.
|
|
330
|
+
const promise = this.omu.endpoints
|
|
374
331
|
.call(TABLE_ITEM_GET_ENDPOINT, {
|
|
375
332
|
id: this.id,
|
|
376
333
|
keys: [key],
|
|
@@ -394,7 +351,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
394
351
|
if (filteredKeys.length === 0) {
|
|
395
352
|
return new Map([...this.cache].filter(([key]) => keys.includes(key)));
|
|
396
353
|
}
|
|
397
|
-
const promise = this.
|
|
354
|
+
const promise = this.omu.endpoints
|
|
398
355
|
.call(TABLE_ITEM_GET_ENDPOINT, {
|
|
399
356
|
id: this.id,
|
|
400
357
|
keys: filteredKeys,
|
|
@@ -419,7 +376,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
419
376
|
|
|
420
377
|
public async add(...items: T[]): Promise<void> {
|
|
421
378
|
const data = this.serializeItems(items);
|
|
422
|
-
this.
|
|
379
|
+
this.omu.send(TABLE_ITEM_ADD_PACKET, {
|
|
423
380
|
id: this.id,
|
|
424
381
|
items: data,
|
|
425
382
|
});
|
|
@@ -427,7 +384,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
427
384
|
|
|
428
385
|
public async update(...items: T[]): Promise<void> {
|
|
429
386
|
const data = this.serializeItems(items);
|
|
430
|
-
this.
|
|
387
|
+
this.omu.send(TABLE_ITEM_UPDATE_PACKET, {
|
|
431
388
|
id: this.id,
|
|
432
389
|
items: data,
|
|
433
390
|
});
|
|
@@ -437,14 +394,14 @@ class TableImpl<T> implements Table<T> {
|
|
|
437
394
|
const data = this.serializeItems(items);
|
|
438
395
|
const keys = Object.keys(data);
|
|
439
396
|
this.cache = new Map([...this.cache].filter(([key]) => !keys.includes(key)));
|
|
440
|
-
this.
|
|
397
|
+
this.omu.send(TABLE_ITEM_REMOVE_PACKET, {
|
|
441
398
|
id: this.id,
|
|
442
399
|
items: data,
|
|
443
400
|
});
|
|
444
401
|
}
|
|
445
402
|
|
|
446
403
|
public async clear(): Promise<void> {
|
|
447
|
-
this.
|
|
404
|
+
this.omu.send(TABLE_ITEM_CLEAR_PACKET, {
|
|
448
405
|
id: this.id,
|
|
449
406
|
});
|
|
450
407
|
}
|
|
@@ -453,7 +410,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
453
410
|
if (this.cache.has(key)) {
|
|
454
411
|
return true;
|
|
455
412
|
}
|
|
456
|
-
const res = await this.
|
|
413
|
+
const res = await this.omu.endpoints.call(TABLE_ITEM_HAS_ENDPOINT, {
|
|
457
414
|
id: this.id,
|
|
458
415
|
keys: [key],
|
|
459
416
|
});
|
|
@@ -461,7 +418,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
461
418
|
}
|
|
462
419
|
|
|
463
420
|
public async hasMany<T extends Record<string, unknown>>(...keys: (keyof T)[]): Promise<{ [key in keyof T]: boolean }> {
|
|
464
|
-
const res = await this.
|
|
421
|
+
const res = await this.omu.endpoints.call(TABLE_ITEM_HAS_ENDPOINT, {
|
|
465
422
|
id: this.id,
|
|
466
423
|
keys: keys,
|
|
467
424
|
});
|
|
@@ -469,7 +426,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
469
426
|
}
|
|
470
427
|
|
|
471
428
|
public async hasAll(...keys: string[]): Promise<boolean> {
|
|
472
|
-
const res = await this.
|
|
429
|
+
const res = await this.omu.endpoints.call(TABLE_ITEM_HAS_ALL_ENDPOINT, {
|
|
473
430
|
id: this.id,
|
|
474
431
|
keys,
|
|
475
432
|
});
|
|
@@ -477,7 +434,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
477
434
|
}
|
|
478
435
|
|
|
479
436
|
public async hasAny(...keys: string[]): Promise<boolean> {
|
|
480
|
-
const res = await this.
|
|
437
|
+
const res = await this.omu.endpoints.call(TABLE_ITEM_HAS_ANY_ENDPOINT, {
|
|
481
438
|
id: this.id,
|
|
482
439
|
keys,
|
|
483
440
|
});
|
|
@@ -493,7 +450,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
493
450
|
backward?: boolean;
|
|
494
451
|
cursor?: string;
|
|
495
452
|
}): Promise<Map<string, T>> {
|
|
496
|
-
const res = await this.
|
|
453
|
+
const res = await this.omu.endpoints.call(
|
|
497
454
|
TABLE_FETCH_ENDPOINT,
|
|
498
455
|
new TableFetchPacket(this.id, limit, backward, cursor),
|
|
499
456
|
);
|
|
@@ -509,7 +466,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
509
466
|
start: string;
|
|
510
467
|
end: string;
|
|
511
468
|
}): Promise<Map<string, T>> {
|
|
512
|
-
const res = await this.
|
|
469
|
+
const res = await this.omu.endpoints.call(TABLE_FETCH_RANGE_ENDPOINT, {
|
|
513
470
|
id: this.id,
|
|
514
471
|
start,
|
|
515
472
|
end,
|
|
@@ -520,7 +477,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
520
477
|
}
|
|
521
478
|
|
|
522
479
|
public async fetchAll(): Promise<Map<string, T>> {
|
|
523
|
-
const res = await this.
|
|
480
|
+
const res = await this.omu.endpoints.call(TABLE_FETCH_ALL_ENDPOINT, {
|
|
524
481
|
id: this.id,
|
|
525
482
|
});
|
|
526
483
|
const items = this.deserializeItems(res.items);
|
|
@@ -557,7 +514,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
557
514
|
}
|
|
558
515
|
|
|
559
516
|
public async size(): Promise<number> {
|
|
560
|
-
return await this.
|
|
517
|
+
return await this.omu.endpoints.call(TABLE_SIZE_ENDPOINT, {
|
|
561
518
|
id: this.id,
|
|
562
519
|
});
|
|
563
520
|
}
|
|
@@ -585,7 +542,7 @@ class TableImpl<T> implements Table<T> {
|
|
|
585
542
|
}
|
|
586
543
|
|
|
587
544
|
public setConfig(config: TableConfig): void {
|
|
588
|
-
if (this.
|
|
545
|
+
if (this.omu.running) {
|
|
589
546
|
throw new Error('Cannot set config after client has started');
|
|
590
547
|
}
|
|
591
548
|
this.config = config;
|