@open-core/framework 0.2.9 → 0.3.0
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/dist/adapters/contracts/IPlatformCapabilities.d.ts +79 -0
- package/dist/adapters/contracts/IPlatformCapabilities.js +31 -0
- package/dist/adapters/contracts/IPlayerInfo.d.ts +1 -1
- package/dist/adapters/contracts/{IPedAppearanceClient.d.ts → client/IPedAppearanceClient.d.ts} +1 -1
- package/dist/adapters/contracts/server/IEntityServer.d.ts +188 -0
- package/dist/adapters/contracts/server/IEntityServer.js +39 -0
- package/dist/adapters/contracts/{IPlayerServer.d.ts → server/IPlayerServer.d.ts} +52 -9
- package/dist/adapters/contracts/server/IPlayerServer.js +39 -0
- package/dist/adapters/contracts/types/identifier.d.ts +67 -0
- package/dist/adapters/contracts/types/identifier.js +64 -0
- package/dist/adapters/contracts/types/index.d.ts +1 -0
- package/dist/{kernel/shared/appearance → adapters/contracts/types}/index.js +1 -1
- package/dist/adapters/fivem/fivem-capabilities.d.ts +18 -0
- package/dist/adapters/fivem/fivem-capabilities.js +67 -0
- package/dist/adapters/fivem/fivem-engine-events.js +17 -4
- package/dist/adapters/fivem/fivem-entity-server.d.ts +6 -2
- package/dist/adapters/fivem/fivem-entity-server.js +14 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.d.ts +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-client.js +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-server.d.ts +1 -1
- package/dist/adapters/fivem/fivem-ped-appearance-server.js +1 -1
- package/dist/adapters/fivem/fivem-platform.d.ts +5 -0
- package/dist/adapters/fivem/fivem-platform.js +100 -0
- package/dist/adapters/fivem/fivem-player-server.d.ts +7 -1
- package/dist/adapters/fivem/fivem-player-server.js +19 -1
- package/dist/adapters/fivem/fivem-playerinfo.d.ts +1 -1
- package/dist/adapters/fivem/fivem-vehicle-server.d.ts +1 -1
- package/dist/adapters/fivem/fivem-vehicle-server.js +1 -1
- package/dist/adapters/fivem/index.d.ts +13 -0
- package/dist/adapters/fivem/index.js +31 -0
- package/dist/adapters/index.d.ts +8 -7
- package/dist/adapters/index.js +13 -12
- package/dist/adapters/node/index.d.ts +5 -0
- package/dist/adapters/node/index.js +13 -1
- package/dist/adapters/node/node-capabilities.d.ts +19 -0
- package/dist/adapters/node/node-capabilities.js +54 -0
- package/dist/adapters/node/node-entity-server.d.ts +17 -6
- package/dist/adapters/node/node-entity-server.js +41 -15
- package/dist/adapters/node/node-net-transport.js +2 -2
- package/dist/adapters/node/node-ped-appearance-client.d.ts +1 -1
- package/dist/adapters/node/node-ped-appearance-client.js +1 -1
- package/dist/adapters/node/node-ped-appearance-server.d.ts +1 -1
- package/dist/adapters/node/node-ped-appearance-server.js +1 -1
- package/dist/adapters/node/node-platform.d.ts +5 -0
- package/dist/adapters/node/node-platform.js +103 -0
- package/dist/adapters/node/node-player-server.d.ts +19 -3
- package/dist/adapters/node/node-player-server.js +43 -9
- package/dist/adapters/node/node-playerinfo.d.ts +2 -2
- package/dist/adapters/node/node-playerinfo.js +14 -3
- package/dist/adapters/node/node-vehicle-server.d.ts +1 -1
- package/dist/adapters/node/node-vehicle-server.js +1 -1
- package/dist/adapters/platform/index.d.ts +1 -0
- package/dist/{runtime/server/database.js → adapters/platform/index.js} +1 -7
- package/dist/adapters/platform/platform-registry.d.ts +101 -0
- package/dist/adapters/platform/platform-registry.js +122 -0
- package/dist/adapters/register-capabilities.d.ts +52 -2
- package/dist/adapters/register-capabilities.js +69 -130
- package/dist/adapters/register-client-capabilities.js +1 -1
- package/dist/index.d.ts +2 -5
- package/dist/index.js +5 -31
- package/dist/kernel/di/container.d.ts +4 -2
- package/dist/kernel/di/container.js +5 -3
- package/dist/kernel/di/metadata.scanner.d.ts +2 -1
- package/dist/kernel/di/metadata.scanner.js +3 -2
- package/dist/kernel/{utils/error → error}/app.error.d.ts +2 -2
- package/dist/kernel/error/common.error-codes.d.ts +1 -0
- package/dist/kernel/error/framework.error-codes.d.ts +12 -0
- package/dist/kernel/error/index.d.ts +4 -0
- package/dist/kernel/error/index.js +18 -0
- package/dist/kernel/{utils/error → error}/security.error.d.ts +1 -1
- package/dist/kernel/error/security.types.js +2 -0
- package/dist/kernel/index.d.ts +4 -5
- package/dist/kernel/index.js +6 -11
- package/dist/kernel/{shared/logger → logger}/core-logger.d.ts +0 -19
- package/dist/kernel/{shared/logger → logger}/core-logger.js +10 -24
- package/dist/kernel/{shared/logger → logger}/logger.env.d.ts +12 -5
- package/dist/kernel/{shared/logger → logger}/logger.env.js +29 -13
- package/dist/kernel/{shared/logger → logger}/logger.service.d.ts +14 -0
- package/dist/kernel/{shared/logger → logger}/logger.service.js +20 -2
- package/dist/kernel/logger/transports/transport.interface.js +2 -0
- package/dist/kernel/shared/index.d.ts +1 -2
- package/dist/kernel/shared/index.js +1 -2
- package/dist/kernel/utils/index.d.ts +0 -2
- package/dist/kernel/utils/index.js +0 -2
- package/dist/kernel/utils/result.d.ts +1 -1
- package/dist/runtime/client/api.d.ts +7 -0
- package/dist/runtime/client/api.js +23 -0
- package/dist/runtime/client/client-bootstrap.js +1 -1
- package/dist/runtime/client/controllers/spawner.controller.d.ts +1 -1
- package/dist/runtime/client/decorators/index.d.ts +2 -2
- package/dist/runtime/client/decorators/index.js +2 -2
- package/dist/runtime/client/decorators/key.d.ts +2 -2
- package/dist/runtime/client/decorators/key.js +3 -3
- package/dist/runtime/client/decorators/localEvent.d.ts +1 -1
- package/dist/runtime/client/decorators/localEvent.js +1 -1
- package/dist/runtime/client/decorators/{tick.d.ts → onTick.d.ts} +1 -1
- package/dist/runtime/client/decorators/{tick.js → onTick.js} +2 -2
- package/dist/runtime/client/decorators/{nui.d.ts → onView.d.ts} +4 -4
- package/dist/runtime/client/decorators/{nui.js → onView.js} +5 -5
- package/dist/runtime/client/index.d.ts +1 -7
- package/dist/runtime/client/index.js +26 -12
- package/dist/runtime/client/player/player.d.ts +1 -1
- package/dist/runtime/client/player/player.loader.js +3 -3
- package/dist/runtime/client/services/appearance.service.d.ts +1 -1
- package/dist/runtime/client/services/appearance.service.js +1 -1
- package/dist/runtime/client/services/blip.service.d.ts +1 -1
- package/dist/runtime/client/services/marker.service.d.ts +1 -1
- package/dist/runtime/client/services/ped.service.d.ts +1 -1
- package/dist/runtime/client/services/spawn.service.d.ts +2 -2
- package/dist/runtime/client/services/spawn.service.js +12 -12
- package/dist/runtime/client/services/textui.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle-client.service.d.ts +1 -1
- package/dist/runtime/client/services/vehicle.service.d.ts +1 -1
- package/dist/runtime/client/system/processors/export.processor.js +1 -1
- package/dist/runtime/client/system/processors/gameEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/interval.processor.js +1 -1
- package/dist/runtime/client/system/processors/localEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/netEvent.processor.js +1 -1
- package/dist/runtime/client/system/processors/nui.processor.js +1 -1
- package/dist/runtime/client/system/processors/resourceLifecycle.processor.js +1 -1
- package/dist/runtime/client/system/processors/tick.processor.js +1 -1
- package/dist/runtime/client/ui-bridge.js +1 -1
- package/dist/runtime/core/entity.d.ts +168 -0
- package/dist/runtime/core/entity.js +226 -0
- package/dist/runtime/core/index.d.ts +3 -0
- package/dist/runtime/core/index.js +19 -0
- package/dist/runtime/core/spatial.d.ts +5 -0
- package/dist/runtime/core/spatial.js +2 -0
- package/dist/runtime/core/world.d.ts +13 -0
- package/dist/runtime/core/world.js +64 -0
- package/dist/runtime/server/api.d.ts +12 -0
- package/dist/runtime/server/api.js +34 -0
- package/dist/runtime/server/bootstrap.js +58 -103
- package/dist/runtime/server/bus/internal-event.bus.js +1 -1
- package/dist/runtime/server/contracts/index.d.ts +1 -2
- package/dist/runtime/server/contracts/index.js +2 -3
- package/dist/runtime/server/contracts/player-persistence.contract.d.ts +16 -18
- package/dist/runtime/server/contracts/player-persistence.contract.js +16 -18
- package/dist/runtime/server/contracts/security/command-error-observer.contract.d.ts +73 -0
- package/dist/runtime/server/contracts/security/command-error-observer.contract.js +9 -0
- package/dist/runtime/server/contracts/security/permission.types.d.ts +2 -2
- package/dist/runtime/server/contracts/security/principal-provider.contract.d.ts +3 -3
- package/dist/runtime/server/contracts/security/principal-provider.contract.js +2 -2
- package/dist/runtime/server/contracts/security/security-handler.contract.d.ts +2 -2
- package/dist/runtime/server/controllers/chat.controller.d.ts +1 -1
- package/dist/runtime/server/controllers/chat.controller.js +5 -0
- package/dist/runtime/server/controllers/command-export.controller.d.ts +12 -3
- package/dist/runtime/server/controllers/command-export.controller.js +81 -25
- package/dist/runtime/server/controllers/player-export.controller.d.ts +2 -2
- package/dist/runtime/server/controllers/player-export.controller.js +5 -0
- package/dist/runtime/server/controllers/principal-export.controller.js +8 -7
- package/dist/runtime/server/controllers/ready.controller.d.ts +5 -0
- package/dist/runtime/server/controllers/ready.controller.js +37 -0
- package/dist/runtime/server/controllers/remote-command-execution.controller.d.ts +10 -1
- package/dist/runtime/server/controllers/remote-command-execution.controller.js +65 -13
- package/dist/runtime/server/controllers/session.controller.d.ts +2 -2
- package/dist/runtime/server/controllers/session.controller.js +25 -17
- package/dist/runtime/server/controllers/vehicle.controller.d.ts +3 -38
- package/dist/runtime/server/controllers/vehicle.controller.js +6 -152
- package/dist/runtime/server/decorators/guard.js +2 -2
- package/dist/runtime/server/decorators/index.d.ts +1 -1
- package/dist/runtime/server/decorators/index.js +1 -1
- package/dist/runtime/server/decorators/{onFiveMEvent.d.ts → onRuntimeEvent.d.ts} +5 -4
- package/dist/runtime/server/decorators/{onFiveMEvent.js → onRuntimeEvent.js} +7 -6
- package/dist/runtime/server/decorators/requiresState.js +3 -3
- package/dist/runtime/server/decorators/throttle.d.ts +1 -1
- package/dist/runtime/server/decorators/throttle.js +1 -1
- package/dist/runtime/server/decorators/utils.d.ts +1 -1
- package/dist/runtime/server/decorators/utils.js +1 -1
- package/dist/runtime/server/devmode/dev-mode.service.d.ts +7 -8
- package/dist/runtime/server/devmode/dev-mode.service.js +18 -46
- package/dist/runtime/server/devmode/index.d.ts +1 -3
- package/dist/runtime/server/devmode/index.js +1 -18
- package/dist/runtime/server/devmode/player-simulator.service.js +3 -3
- package/dist/runtime/server/devmode/state-inspector.service.js +2 -2
- package/dist/runtime/server/devmode/types.d.ts +67 -31
- package/dist/runtime/server/devmode/types.js +1 -4
- package/dist/runtime/server/entities/player.d.ts +80 -66
- package/dist/runtime/server/entities/player.js +137 -98
- package/dist/runtime/server/entities/vehicle.d.ts +3 -3
- package/dist/runtime/server/error-handler.js +5 -5
- package/dist/runtime/server/helpers/normalize-app-error.d.ts +9 -0
- package/dist/runtime/server/helpers/normalize-app-error.js +20 -0
- package/dist/runtime/server/helpers/resolve-method.js +3 -3
- package/dist/runtime/server/index.d.ts +1 -13
- package/dist/runtime/server/index.js +25 -23
- package/dist/runtime/server/runtime.d.ts +32 -281
- package/dist/runtime/server/runtime.js +46 -60
- package/dist/runtime/server/services/appearance.service.d.ts +5 -5
- package/dist/runtime/server/services/appearance.service.js +5 -5
- package/dist/runtime/server/services/chat.service.d.ts +5 -3
- package/dist/runtime/server/services/chat.service.js +17 -12
- package/dist/runtime/server/services/core/command.service.d.ts +9 -1
- package/dist/runtime/server/services/core/command.service.js +16 -7
- package/dist/runtime/server/services/core/player.service.d.ts +12 -16
- package/dist/runtime/server/services/core/player.service.js +42 -47
- package/dist/runtime/server/services/core/principal.service.js +5 -5
- package/dist/runtime/server/services/core/session-recovery.service.d.ts +1 -1
- package/dist/runtime/server/services/core/session-recovery.service.js +2 -2
- package/dist/runtime/server/services/default/default-command-error-observer.d.ts +14 -0
- package/dist/runtime/server/services/default/default-command-error-observer.js +43 -0
- package/dist/runtime/server/services/default/default-principal.provider.d.ts +13 -0
- package/dist/runtime/server/services/default/default-principal.provider.js +38 -0
- package/dist/runtime/server/services/default/default-security.handler.d.ts +1 -1
- package/dist/runtime/server/services/default/default-security.handler.js +1 -1
- package/dist/runtime/server/services/index.d.ts +0 -3
- package/dist/runtime/server/services/index.js +1 -6
- package/dist/runtime/server/services/persistence.service.js +3 -3
- package/dist/runtime/server/services/ports/command-execution.port.d.ts +7 -0
- package/dist/runtime/server/services/ports/principal.port.d.ts +1 -1
- package/dist/runtime/server/services/remote/remote-command.service.d.ts +1 -0
- package/dist/runtime/server/services/remote/remote-command.service.js +7 -3
- package/dist/runtime/server/services/remote/remote-player.service.d.ts +2 -2
- package/dist/runtime/server/services/remote/remote-player.service.js +3 -3
- package/dist/runtime/server/services/remote/server-bridge.js +2 -2
- package/dist/runtime/server/services/services.register.d.ts +2 -5
- package/dist/runtime/server/services/services.register.js +29 -41
- package/dist/runtime/server/services/vehicle-modification.service.js +1 -1
- package/dist/runtime/server/services/vehicle.service.d.ts +3 -3
- package/dist/runtime/server/services/vehicle.service.js +5 -5
- package/dist/runtime/server/setup.d.ts +2 -3
- package/dist/runtime/server/setup.js +10 -11
- package/dist/runtime/server/system/metadata-server.keys.d.ts +1 -1
- package/dist/runtime/server/system/metadata-server.keys.js +1 -1
- package/dist/runtime/server/system/processors/command.processor.js +4 -0
- package/dist/runtime/server/system/processors/export.processor.js +1 -1
- package/dist/runtime/server/system/processors/internalEvent.processor.js +1 -1
- package/dist/runtime/server/system/processors/netEvent.processor.js +8 -9
- package/dist/runtime/server/system/processors/{fivemEvent.processor.d.ts → runtimeEvent.processor.d.ts} +1 -1
- package/dist/runtime/server/system/processors/{fivemEvent.processor.js → runtimeEvent.processor.js} +8 -8
- package/dist/runtime/server/system/processors/tick.processor.js +1 -1
- package/dist/runtime/server/system/processors.register.js +16 -11
- package/dist/runtime/server/system/schema-generator.js +2 -2
- package/dist/runtime/server/types/core-exports.d.ts +6 -6
- package/dist/runtime/server/types/index.d.ts +1 -1
- package/dist/runtime/server/types/index.js +1 -1
- package/dist/runtime/server/types/internal-events.d.ts +1 -1
- package/dist/runtime/server/types/vehicle.types.d.ts +1 -1
- package/package.json +7 -15
- package/dist/adapters/contracts/IEntityServer.d.ts +0 -88
- package/dist/adapters/contracts/IEntityServer.js +0 -13
- package/dist/adapters/contracts/IPlayerServer.js +0 -13
- package/dist/adapters/database/oxmysql.adapter.d.ts +0 -89
- package/dist/adapters/database/oxmysql.adapter.js +0 -149
- package/dist/adapters/database/resource.adapter.d.ts +0 -12
- package/dist/adapters/database/resource.adapter.js +0 -68
- package/dist/kernel/shared/appearance/index.d.ts +0 -1
- package/dist/runtime/index.d.ts +0 -2
- package/dist/runtime/index.js +0 -39
- package/dist/runtime/server/bootstrap.validation.d.ts +0 -12
- package/dist/runtime/server/bootstrap.validation.js +0 -104
- package/dist/runtime/server/contracts/auth-provider.contract.d.ts +0 -58
- package/dist/runtime/server/contracts/auth-provider.contract.js +0 -23
- package/dist/runtime/server/contracts/repository/index.d.ts +0 -57
- package/dist/runtime/server/contracts/repository/index.js +0 -61
- package/dist/runtime/server/contracts/repository/repository.contract.d.ts +0 -224
- package/dist/runtime/server/contracts/repository/repository.contract.js +0 -341
- package/dist/runtime/server/contracts/repository/repository.types.d.ts +0 -51
- package/dist/runtime/server/contracts/repository/repository.types.js +0 -7
- package/dist/runtime/server/database/adapter.registry.d.ts +0 -4
- package/dist/runtime/server/database/adapter.registry.js +0 -14
- package/dist/runtime/server/database/database.contract.d.ts +0 -128
- package/dist/runtime/server/database/database.contract.js +0 -29
- package/dist/runtime/server/database/database.service.d.ts +0 -188
- package/dist/runtime/server/database/database.service.js +0 -287
- package/dist/runtime/server/database/index.d.ts +0 -5
- package/dist/runtime/server/database/index.js +0 -25
- package/dist/runtime/server/database/types.d.ts +0 -67
- package/dist/runtime/server/database/types.js +0 -7
- package/dist/runtime/server/database.d.ts +0 -7
- package/dist/runtime/server/devmode/hot-reload.server.d.ts +0 -74
- package/dist/runtime/server/devmode/hot-reload.server.js +0 -261
- package/dist/runtime/server/services/config.service.d.ts +0 -75
- package/dist/runtime/server/services/config.service.js +0 -116
- package/dist/runtime/server/services/http/http.service.d.ts +0 -50
- package/dist/runtime/server/services/http/http.service.js +0 -126
- /package/dist/adapters/contracts/{IPedAppearanceClient.js → client/IPedAppearanceClient.js} +0 -0
- /package/dist/adapters/contracts/{IPedAppearanceServer.d.ts → server/IPedAppearanceServer.d.ts} +0 -0
- /package/dist/adapters/contracts/{IPedAppearanceServer.js → server/IPedAppearanceServer.js} +0 -0
- /package/dist/adapters/contracts/{IVehicleServer.d.ts → server/IVehicleServer.d.ts} +0 -0
- /package/dist/adapters/contracts/{IVehicleServer.js → server/IVehicleServer.js} +0 -0
- /package/dist/kernel/{utils/error → error}/app.error.js +0 -0
- /package/dist/kernel/{shared/logger/transports/transport.interface.js → error/common.error-codes.js} +0 -0
- /package/dist/{runtime/server/types/security.types.js → kernel/error/framework.error-codes.js} +0 -0
- /package/dist/kernel/{utils/error → error}/security.error.js +0 -0
- /package/dist/{runtime/server/types → kernel/error}/security.types.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/index.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/index.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.config.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.config.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.types.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/logger.types.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/buffered.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/console.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/console.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/dev-transport.factory.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/http.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/http.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/index.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/index.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/simple-console.transport.js +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/transport.interface.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.d.ts +0 -0
- /package/dist/kernel/{shared/logger → logger}/transports/websocket.transport.js +0 -0
- /package/dist/kernel/shared/{appearance/appearance.interface.d.ts → player-appearance.types.d.ts} +0 -0
- /package/dist/kernel/shared/{appearance/appearance.interface.js → player-appearance.types.js} +0 -0
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.platformRegistry = void 0;
|
|
4
|
+
exports.registerPlatform = registerPlatform;
|
|
5
|
+
exports.getCurrentPlatformName = getCurrentPlatformName;
|
|
6
|
+
/**
|
|
7
|
+
* Registry for platform adapters.
|
|
8
|
+
* Allows dynamic registration and detection of platforms.
|
|
9
|
+
*/
|
|
10
|
+
class PlatformRegistry {
|
|
11
|
+
constructor() {
|
|
12
|
+
this.adapters = [];
|
|
13
|
+
this.currentPlatform = null;
|
|
14
|
+
}
|
|
15
|
+
/**
|
|
16
|
+
* Register a platform adapter.
|
|
17
|
+
* @param adapter - Platform adapter to register
|
|
18
|
+
*/
|
|
19
|
+
register(adapter) {
|
|
20
|
+
// Avoid duplicates
|
|
21
|
+
if (this.adapters.some((a) => a.name === adapter.name)) {
|
|
22
|
+
return;
|
|
23
|
+
}
|
|
24
|
+
this.adapters.push(adapter);
|
|
25
|
+
// Sort by priority (descending)
|
|
26
|
+
this.adapters.sort((a, b) => { var _a, _b; return ((_a = b.priority) !== null && _a !== void 0 ? _a : 0) - ((_b = a.priority) !== null && _b !== void 0 ? _b : 0); });
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Unregister a platform adapter.
|
|
30
|
+
* @param name - Platform name to unregister
|
|
31
|
+
*/
|
|
32
|
+
unregister(name) {
|
|
33
|
+
this.adapters = this.adapters.filter((a) => a.name !== name);
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* Get all registered platform adapters.
|
|
37
|
+
*/
|
|
38
|
+
getAll() {
|
|
39
|
+
return this.adapters;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get a specific platform adapter by name.
|
|
43
|
+
* @param name - Platform name
|
|
44
|
+
*/
|
|
45
|
+
get(name) {
|
|
46
|
+
return this.adapters.find((a) => a.name === name);
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Detect the current platform from registered adapters.
|
|
50
|
+
* @returns The detected platform adapter or undefined
|
|
51
|
+
*/
|
|
52
|
+
detect() {
|
|
53
|
+
return this.adapters.find((adapter) => adapter.detect());
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Detect and register platform capabilities in the container.
|
|
57
|
+
*
|
|
58
|
+
* @param container - DI container to register adapters in
|
|
59
|
+
* @param forcePlatform - Optional platform name to force (skip detection)
|
|
60
|
+
* @returns The registered platform adapter
|
|
61
|
+
* @throws Error if no platform is detected
|
|
62
|
+
*/
|
|
63
|
+
async detectAndRegister(container, forcePlatform) {
|
|
64
|
+
let platform;
|
|
65
|
+
if (forcePlatform) {
|
|
66
|
+
platform = this.get(forcePlatform);
|
|
67
|
+
if (!platform) {
|
|
68
|
+
throw new Error(`[OpenCore] Platform '${forcePlatform}' not found. Available: ${this.adapters.map((a) => a.name).join(', ')}`);
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
else {
|
|
72
|
+
platform = this.detect();
|
|
73
|
+
if (!platform) {
|
|
74
|
+
throw new Error(`[OpenCore] No platform detected. Registered platforms: ${this.adapters.map((a) => a.name).join(', ')}`);
|
|
75
|
+
}
|
|
76
|
+
}
|
|
77
|
+
await platform.register(container);
|
|
78
|
+
this.currentPlatform = platform;
|
|
79
|
+
return platform;
|
|
80
|
+
}
|
|
81
|
+
/**
|
|
82
|
+
* Get the currently active platform.
|
|
83
|
+
* Only available after detectAndRegister has been called.
|
|
84
|
+
*/
|
|
85
|
+
getCurrent() {
|
|
86
|
+
return this.currentPlatform;
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* Check if a specific platform is currently active.
|
|
90
|
+
* @param name - Platform name to check
|
|
91
|
+
*/
|
|
92
|
+
isCurrentPlatform(name) {
|
|
93
|
+
var _a;
|
|
94
|
+
return ((_a = this.currentPlatform) === null || _a === void 0 ? void 0 : _a.name) === name;
|
|
95
|
+
}
|
|
96
|
+
/**
|
|
97
|
+
* Clear all registered adapters (mainly for testing).
|
|
98
|
+
*/
|
|
99
|
+
clear() {
|
|
100
|
+
this.adapters = [];
|
|
101
|
+
this.currentPlatform = null;
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
/**
|
|
105
|
+
* Global platform registry instance.
|
|
106
|
+
*/
|
|
107
|
+
exports.platformRegistry = new PlatformRegistry();
|
|
108
|
+
/**
|
|
109
|
+
* Convenience function to register a platform adapter.
|
|
110
|
+
* @param adapter - Platform adapter to register
|
|
111
|
+
*/
|
|
112
|
+
function registerPlatform(adapter) {
|
|
113
|
+
exports.platformRegistry.register(adapter);
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get the current platform name.
|
|
117
|
+
* @returns Platform name or 'unknown' if not detected
|
|
118
|
+
*/
|
|
119
|
+
function getCurrentPlatformName() {
|
|
120
|
+
var _a, _b;
|
|
121
|
+
return (_b = (_a = exports.platformRegistry.getCurrent()) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : 'unknown';
|
|
122
|
+
}
|
|
@@ -1,4 +1,17 @@
|
|
|
1
|
-
|
|
1
|
+
import { getCurrentPlatformName, type PlatformAdapter, platformRegistry, registerPlatform } from './platform/platform-registry';
|
|
2
|
+
export { platformRegistry, registerPlatform, getCurrentPlatformName };
|
|
3
|
+
export type { PlatformAdapter };
|
|
4
|
+
/**
|
|
5
|
+
* Supported platform types.
|
|
6
|
+
* @deprecated Use platformRegistry.getCurrent()?.name instead for dynamic platform detection.
|
|
7
|
+
*/
|
|
8
|
+
export type Platform = 'fivem' | 'node' | string;
|
|
9
|
+
/**
|
|
10
|
+
* Detects the current runtime platform.
|
|
11
|
+
*
|
|
12
|
+
* @deprecated Use platformRegistry.detect() instead.
|
|
13
|
+
*/
|
|
14
|
+
export declare function detectPlatform(): Platform;
|
|
2
15
|
/**
|
|
3
16
|
* Registers server-side platform-specific capability implementations.
|
|
4
17
|
*
|
|
@@ -6,6 +19,43 @@ export type Platform = 'fivem' | 'node';
|
|
|
6
19
|
* This function registers adapters needed by the SERVER runtime only.
|
|
7
20
|
* Client-side adapters are registered separately via `registerClientCapabilities`.
|
|
8
21
|
*
|
|
9
|
-
*
|
|
22
|
+
* The function uses the Platform Registry to automatically detect and register
|
|
23
|
+
* the appropriate platform adapters. You can also force a specific platform
|
|
24
|
+
* by passing its name.
|
|
25
|
+
*
|
|
26
|
+
* @param platform - Optional platform name to force. If not provided, platform is auto-detected.
|
|
27
|
+
*
|
|
28
|
+
* @example
|
|
29
|
+
* ```typescript
|
|
30
|
+
* // Auto-detect platform
|
|
31
|
+
* await registerServerCapabilities()
|
|
32
|
+
*
|
|
33
|
+
* // Force a specific platform
|
|
34
|
+
* await registerServerCapabilities('fivem')
|
|
35
|
+
*
|
|
36
|
+
* // Register a custom platform before calling
|
|
37
|
+
* registerPlatform(MyCustomPlatform)
|
|
38
|
+
* await registerServerCapabilities('myplatform')
|
|
39
|
+
* ```
|
|
10
40
|
*/
|
|
11
41
|
export declare function registerServerCapabilities(platform?: Platform): Promise<void>;
|
|
42
|
+
/**
|
|
43
|
+
* Check if a specific platform is currently active.
|
|
44
|
+
*
|
|
45
|
+
* @param name - Platform name to check
|
|
46
|
+
* @returns true if the platform is active
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* if (isPlatform('fivem')) {
|
|
51
|
+
* // FiveM-specific code
|
|
52
|
+
* }
|
|
53
|
+
* ```
|
|
54
|
+
*/
|
|
55
|
+
export declare function isPlatform(name: string): boolean;
|
|
56
|
+
/**
|
|
57
|
+
* Get the current platform adapter.
|
|
58
|
+
*
|
|
59
|
+
* @returns The current platform adapter or null if not initialized
|
|
60
|
+
*/
|
|
61
|
+
export declare function getCurrentPlatform(): PlatformAdapter | null;
|
|
@@ -1,60 +1,36 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getCurrentPlatformName = exports.registerPlatform = exports.platformRegistry = void 0;
|
|
4
|
+
exports.detectPlatform = detectPlatform;
|
|
36
5
|
exports.registerServerCapabilities = registerServerCapabilities;
|
|
6
|
+
exports.isPlatform = isPlatform;
|
|
7
|
+
exports.getCurrentPlatform = getCurrentPlatform;
|
|
37
8
|
const container_1 = require("../kernel/di/container");
|
|
38
|
-
const
|
|
39
|
-
const
|
|
40
|
-
const
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
9
|
+
const fivem_platform_1 = require("./fivem/fivem-platform");
|
|
10
|
+
const node_platform_1 = require("./node/node-platform");
|
|
11
|
+
const platform_registry_1 = require("./platform/platform-registry");
|
|
12
|
+
Object.defineProperty(exports, "getCurrentPlatformName", { enumerable: true, get: function () { return platform_registry_1.getCurrentPlatformName; } });
|
|
13
|
+
Object.defineProperty(exports, "platformRegistry", { enumerable: true, get: function () { return platform_registry_1.platformRegistry; } });
|
|
14
|
+
Object.defineProperty(exports, "registerPlatform", { enumerable: true, get: function () { return platform_registry_1.registerPlatform; } });
|
|
15
|
+
// ─────────────────────────────────────────────────────────────────
|
|
16
|
+
// Register built-in platforms
|
|
17
|
+
// ─────────────────────────────────────────────────────────────────
|
|
18
|
+
// Register FiveM platform (high priority)
|
|
19
|
+
(0, platform_registry_1.registerPlatform)(fivem_platform_1.FiveMPlatform);
|
|
20
|
+
// Register Node.js fallback platform (low priority)
|
|
21
|
+
(0, platform_registry_1.registerPlatform)(node_platform_1.NodePlatform);
|
|
22
|
+
// ─────────────────────────────────────────────────────────────────
|
|
23
|
+
// Public API
|
|
24
|
+
// ─────────────────────────────────────────────────────────────────
|
|
49
25
|
/**
|
|
50
|
-
* Detects the current runtime platform
|
|
26
|
+
* Detects the current runtime platform.
|
|
27
|
+
*
|
|
28
|
+
* @deprecated Use platformRegistry.detect() instead.
|
|
51
29
|
*/
|
|
52
30
|
function detectPlatform() {
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
}
|
|
57
|
-
return 'node';
|
|
31
|
+
var _a;
|
|
32
|
+
const detected = platform_registry_1.platformRegistry.detect();
|
|
33
|
+
return (_a = detected === null || detected === void 0 ? void 0 : detected.name) !== null && _a !== void 0 ? _a : 'node';
|
|
58
34
|
}
|
|
59
35
|
/**
|
|
60
36
|
* Registers server-side platform-specific capability implementations.
|
|
@@ -63,86 +39,49 @@ function detectPlatform() {
|
|
|
63
39
|
* This function registers adapters needed by the SERVER runtime only.
|
|
64
40
|
* Client-side adapters are registered separately via `registerClientCapabilities`.
|
|
65
41
|
*
|
|
66
|
-
*
|
|
42
|
+
* The function uses the Platform Registry to automatically detect and register
|
|
43
|
+
* the appropriate platform adapters. You can also force a specific platform
|
|
44
|
+
* by passing its name.
|
|
45
|
+
*
|
|
46
|
+
* @param platform - Optional platform name to force. If not provided, platform is auto-detected.
|
|
47
|
+
*
|
|
48
|
+
* @example
|
|
49
|
+
* ```typescript
|
|
50
|
+
* // Auto-detect platform
|
|
51
|
+
* await registerServerCapabilities()
|
|
52
|
+
*
|
|
53
|
+
* // Force a specific platform
|
|
54
|
+
* await registerServerCapabilities('fivem')
|
|
55
|
+
*
|
|
56
|
+
* // Register a custom platform before calling
|
|
57
|
+
* registerPlatform(MyCustomPlatform)
|
|
58
|
+
* await registerServerCapabilities('myplatform')
|
|
59
|
+
* ```
|
|
67
60
|
*/
|
|
68
61
|
async function registerServerCapabilities(platform) {
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
if (!container_1.di.isRegistered(ITick_1.ITick))
|
|
95
|
-
container_1.di.registerSingleton(ITick_1.ITick, NodeTick);
|
|
96
|
-
if (!container_1.di.isRegistered(IPlayerInfo_1.IPlayerInfo))
|
|
97
|
-
container_1.di.registerSingleton(IPlayerInfo_1.IPlayerInfo, NodePlayerInfo);
|
|
98
|
-
if (!container_1.di.isRegistered(IEntityServer_1.IEntityServer))
|
|
99
|
-
container_1.di.registerSingleton(IEntityServer_1.IEntityServer, NodeEntityServer);
|
|
100
|
-
if (!container_1.di.isRegistered(IVehicleServer_1.IVehicleServer))
|
|
101
|
-
container_1.di.registerSingleton(IVehicleServer_1.IVehicleServer, NodeVehicleServer);
|
|
102
|
-
if (!container_1.di.isRegistered(IPlayerServer_1.IPlayerServer))
|
|
103
|
-
container_1.di.registerSingleton(IPlayerServer_1.IPlayerServer, NodePlayerServer);
|
|
104
|
-
if (!container_1.di.isRegistered(IHasher_1.IHasher))
|
|
105
|
-
container_1.di.registerSingleton(IHasher_1.IHasher, NodeHasher);
|
|
106
|
-
if (!container_1.di.isRegistered(IPedAppearanceServer_1.IPedAppearanceServer))
|
|
107
|
-
container_1.di.registerSingleton(IPedAppearanceServer_1.IPedAppearanceServer, NodePedAppearanceServer);
|
|
108
|
-
}
|
|
109
|
-
else {
|
|
110
|
-
// Dynamically import FiveM implementations only when needed
|
|
111
|
-
const [{ FiveMNetTransport }, { FiveMEngineEvents }, { FiveMExports }, { FiveMResourceInfo }, { FiveMTick }, { FiveMPlayerInfo }, { FiveMEntityServer }, { FiveMVehicleServer }, { FiveMPlayerServer }, { FiveMHasher }, { FiveMPedAppearanceServerAdapter },] = await Promise.all([
|
|
112
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-net-transport'))),
|
|
113
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-engine-events'))),
|
|
114
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-exports'))),
|
|
115
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-resourceinfo'))),
|
|
116
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-tick'))),
|
|
117
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-playerinfo'))),
|
|
118
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-entity-server'))),
|
|
119
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-vehicle-server'))),
|
|
120
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-player-server'))),
|
|
121
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-hasher'))),
|
|
122
|
-
Promise.resolve().then(() => __importStar(require('./fivem/fivem-ped-appearance-server'))),
|
|
123
|
-
]);
|
|
124
|
-
// Register FiveM implementations (server-side only)
|
|
125
|
-
if (!container_1.di.isRegistered(INetTransport_1.INetTransport))
|
|
126
|
-
container_1.di.registerSingleton(INetTransport_1.INetTransport, FiveMNetTransport);
|
|
127
|
-
if (!container_1.di.isRegistered(IEngineEvents_1.IEngineEvents))
|
|
128
|
-
container_1.di.registerSingleton(IEngineEvents_1.IEngineEvents, FiveMEngineEvents);
|
|
129
|
-
if (!container_1.di.isRegistered(IExports_1.IExports))
|
|
130
|
-
container_1.di.registerSingleton(IExports_1.IExports, FiveMExports);
|
|
131
|
-
if (!container_1.di.isRegistered(IResourceInfo_1.IResourceInfo))
|
|
132
|
-
container_1.di.registerSingleton(IResourceInfo_1.IResourceInfo, FiveMResourceInfo);
|
|
133
|
-
if (!container_1.di.isRegistered(ITick_1.ITick))
|
|
134
|
-
container_1.di.registerSingleton(ITick_1.ITick, FiveMTick);
|
|
135
|
-
if (!container_1.di.isRegistered(IPlayerInfo_1.IPlayerInfo))
|
|
136
|
-
container_1.di.registerSingleton(IPlayerInfo_1.IPlayerInfo, FiveMPlayerInfo);
|
|
137
|
-
if (!container_1.di.isRegistered(IEntityServer_1.IEntityServer))
|
|
138
|
-
container_1.di.registerSingleton(IEntityServer_1.IEntityServer, FiveMEntityServer);
|
|
139
|
-
if (!container_1.di.isRegistered(IVehicleServer_1.IVehicleServer))
|
|
140
|
-
container_1.di.registerSingleton(IVehicleServer_1.IVehicleServer, FiveMVehicleServer);
|
|
141
|
-
if (!container_1.di.isRegistered(IPlayerServer_1.IPlayerServer))
|
|
142
|
-
container_1.di.registerSingleton(IPlayerServer_1.IPlayerServer, FiveMPlayerServer);
|
|
143
|
-
if (!container_1.di.isRegistered(IHasher_1.IHasher))
|
|
144
|
-
container_1.di.registerSingleton(IHasher_1.IHasher, FiveMHasher);
|
|
145
|
-
if (!container_1.di.isRegistered(IPedAppearanceServer_1.IPedAppearanceServer))
|
|
146
|
-
container_1.di.registerSingleton(IPedAppearanceServer_1.IPedAppearanceServer, FiveMPedAppearanceServerAdapter);
|
|
147
|
-
}
|
|
62
|
+
await platform_registry_1.platformRegistry.detectAndRegister(container_1.GLOBAL_CONTAINER, platform);
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Check if a specific platform is currently active.
|
|
66
|
+
*
|
|
67
|
+
* @param name - Platform name to check
|
|
68
|
+
* @returns true if the platform is active
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```typescript
|
|
72
|
+
* if (isPlatform('fivem')) {
|
|
73
|
+
* // FiveM-specific code
|
|
74
|
+
* }
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
function isPlatform(name) {
|
|
78
|
+
return platform_registry_1.platformRegistry.isCurrentPlatform(name);
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Get the current platform adapter.
|
|
82
|
+
*
|
|
83
|
+
* @returns The current platform adapter or null if not initialized
|
|
84
|
+
*/
|
|
85
|
+
function getCurrentPlatform() {
|
|
86
|
+
return platform_registry_1.platformRegistry.getCurrent();
|
|
148
87
|
}
|
|
@@ -35,8 +35,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
36
|
exports.registerClientCapabilities = registerClientCapabilities;
|
|
37
37
|
const client_container_1 = require("../runtime/client/client-container");
|
|
38
|
+
const IPedAppearanceClient_1 = require("./contracts/client/IPedAppearanceClient");
|
|
38
39
|
const IHasher_1 = require("./contracts/IHasher");
|
|
39
|
-
const IPedAppearanceClient_1 = require("./contracts/IPedAppearanceClient");
|
|
40
40
|
/**
|
|
41
41
|
* Registers client-side platform-specific capability implementations.
|
|
42
42
|
*
|
package/dist/index.d.ts
CHANGED
|
@@ -1,6 +1,3 @@
|
|
|
1
1
|
import 'reflect-metadata';
|
|
2
|
-
export
|
|
3
|
-
export *
|
|
4
|
-
export * as Utils from './kernel/utils';
|
|
5
|
-
export * as Client from './runtime/client';
|
|
6
|
-
export * as Server from './runtime/server';
|
|
2
|
+
export * from './kernel';
|
|
3
|
+
export * from './runtime/core';
|
package/dist/index.js
CHANGED
|
@@ -10,36 +10,10 @@ var __createBinding = (this && this.__createBinding) || (Object.create ? (functi
|
|
|
10
10
|
if (k2 === undefined) k2 = k;
|
|
11
11
|
o[k2] = m[k];
|
|
12
12
|
}));
|
|
13
|
-
var
|
|
14
|
-
|
|
15
|
-
}
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
35
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.Server = exports.Client = exports.Utils = exports.Shared = exports.z = void 0;
|
|
37
17
|
require("reflect-metadata");
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
var schema_1 = require("./kernel/schema");
|
|
41
|
-
Object.defineProperty(exports, "z", { enumerable: true, get: function () { return schema_1.z; } });
|
|
42
|
-
exports.Shared = __importStar(require("./kernel/shared"));
|
|
43
|
-
exports.Utils = __importStar(require("./kernel/utils"));
|
|
44
|
-
exports.Client = __importStar(require("./runtime/client"));
|
|
45
|
-
exports.Server = __importStar(require("./runtime/server"));
|
|
18
|
+
__exportStar(require("./kernel"), exports);
|
|
19
|
+
__exportStar(require("./runtime/core"), exports);
|
|
@@ -1,2 +1,4 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* This is the global container for tsyringe, it contains all the dependencies to resolve, etc. Please use with caution.
|
|
3
|
+
*/
|
|
4
|
+
export declare const GLOBAL_CONTAINER: import("tsyringe").DependencyContainer;
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
require("reflect-metadata");
|
|
3
|
+
exports.GLOBAL_CONTAINER = void 0;
|
|
5
4
|
const tsyringe_1 = require("tsyringe");
|
|
6
|
-
|
|
5
|
+
/**
|
|
6
|
+
* This is the global container for tsyringe, it contains all the dependencies to resolve, etc. Please use with caution.
|
|
7
|
+
*/
|
|
8
|
+
exports.GLOBAL_CONTAINER = tsyringe_1.container;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { type ClassConstructor
|
|
1
|
+
import { type ClassConstructor } from './class-constructor';
|
|
2
|
+
import { type DecoratorProcessor } from './decorator-processor';
|
|
2
3
|
export declare class MetadataScanner {
|
|
3
4
|
private processors;
|
|
4
5
|
constructor(processors: DecoratorProcessor[]);
|
|
@@ -14,7 +14,8 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.MetadataScanner = void 0;
|
|
16
16
|
const tsyringe_1 = require("tsyringe");
|
|
17
|
-
const logger_1 = require("../
|
|
17
|
+
const logger_1 = require("../logger");
|
|
18
|
+
const container_1 = require("./container");
|
|
18
19
|
let MetadataScanner = class MetadataScanner {
|
|
19
20
|
constructor(processors) {
|
|
20
21
|
this.processors = processors;
|
|
@@ -22,7 +23,7 @@ let MetadataScanner = class MetadataScanner {
|
|
|
22
23
|
scan(registry) {
|
|
23
24
|
logger_1.loggers.scanner.info(`Scanning ${registry.length} controllers with ${this.processors.length} processors`);
|
|
24
25
|
for (const ControllerClass of registry) {
|
|
25
|
-
const instance =
|
|
26
|
+
const instance = container_1.GLOBAL_CONTAINER.resolve(ControllerClass);
|
|
26
27
|
const prototype = Object.getPrototypeOf(instance);
|
|
27
28
|
const methods = Object.getOwnPropertyNames(prototype).filter((m) => m !== 'constructor' && typeof instance[m] === 'function');
|
|
28
29
|
for (const methodName of methods) {
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { ErrorOrigin } from './
|
|
2
|
-
import { FrameworkErrorCode } from './
|
|
1
|
+
import { ErrorOrigin } from './common.error-codes';
|
|
2
|
+
import { FrameworkErrorCode } from './framework.error-codes';
|
|
3
3
|
export declare class AppError extends Error {
|
|
4
4
|
readonly code: FrameworkErrorCode;
|
|
5
5
|
readonly details?: unknown;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export type ErrorOrigin = 'client' | 'server' | 'core' | 'external';
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Framework error codes grouped by category
|
|
3
|
+
*/
|
|
4
|
+
export type FrameworkErrorCode = CommonErrorCode | AuthErrorCode | ApiErrorCode | NetworkErrorCode | GameErrorCode | SchemaErrorCode | CommandErrorCode | EconomyErrorCode;
|
|
5
|
+
export type CommonErrorCode = 'COMMON:UNKNOWN' | 'COMMON:NOT_IMPLEMENTED';
|
|
6
|
+
export type AuthErrorCode = 'AUTH:UNAUTHORIZED' | 'AUTH:PERMISSION_DENIED';
|
|
7
|
+
export type ApiErrorCode = 'API:ERROR';
|
|
8
|
+
export type NetworkErrorCode = 'NETWORK:ERROR';
|
|
9
|
+
export type GameErrorCode = 'GAME:PLAYER_NOT_FOUND' | 'GAME:NO_RANK_IN_PRINCIPAL' | 'GAME:INVALID_STATE' | 'GAME:BAD_REQUEST';
|
|
10
|
+
export type SchemaErrorCode = 'SCHEMA:VALIDATION_ERROR' | 'SCHEMA:MISMATCH';
|
|
11
|
+
export type CommandErrorCode = 'COMMAND:NOT_FOUND' | 'COMMAND:DUPLICATE';
|
|
12
|
+
export type EconomyErrorCode = 'ECONOMY:INSUFFICIENT_FUNDS';
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./app.error"), exports);
|
|
18
|
+
__exportStar(require("./security.error"), exports);
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SecurityAction } from '../../../runtime/server/types/security.types';
|
|
2
1
|
import { AppError } from './app.error';
|
|
2
|
+
import { SecurityAction } from './security.types';
|
|
3
3
|
export declare class SecurityError extends AppError {
|
|
4
4
|
readonly action: SecurityAction;
|
|
5
5
|
constructor(action: SecurityAction, message: string, details?: unknown);
|
package/dist/kernel/index.d.ts
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export * from './
|
|
4
|
-
export * from './di/metadata.scanner';
|
|
1
|
+
export { GLOBAL_CONTAINER } from './di/container';
|
|
2
|
+
export * from './error';
|
|
3
|
+
export * from './logger';
|
|
5
4
|
export * from './schema';
|
|
6
|
-
export * from './shared
|
|
5
|
+
export * from './shared';
|
|
7
6
|
export * from './utils';
|
package/dist/kernel/index.js
CHANGED
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
// Kernel - Core infrastructure and rules (engine-agnostic)
|
|
3
2
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
3
|
if (k2 === undefined) k2 = k;
|
|
5
4
|
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
@@ -15,16 +14,12 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
16
15
|
};
|
|
17
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.
|
|
19
|
-
|
|
17
|
+
exports.GLOBAL_CONTAINER = void 0;
|
|
18
|
+
// External to export
|
|
20
19
|
var container_1 = require("./di/container");
|
|
21
|
-
Object.defineProperty(exports, "
|
|
22
|
-
|
|
23
|
-
__exportStar(require("./
|
|
24
|
-
__exportStar(require("./di/metadata.scanner"), exports);
|
|
25
|
-
// Schema utilities (Zod helpers)
|
|
20
|
+
Object.defineProperty(exports, "GLOBAL_CONTAINER", { enumerable: true, get: function () { return container_1.GLOBAL_CONTAINER; } });
|
|
21
|
+
__exportStar(require("./error"), exports);
|
|
22
|
+
__exportStar(require("./logger"), exports);
|
|
26
23
|
__exportStar(require("./schema"), exports);
|
|
27
|
-
|
|
28
|
-
__exportStar(require("./shared/logger"), exports);
|
|
29
|
-
// Utils
|
|
24
|
+
__exportStar(require("./shared"), exports);
|
|
30
25
|
__exportStar(require("./utils"), exports);
|