@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
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { Vector3 } from '../../kernel/utils';
|
|
2
|
-
import { type EntityStateBag, IEntityServer } from '../contracts/IEntityServer';
|
|
1
|
+
import { Vector3 } from '../../kernel/utils/vector3';
|
|
2
|
+
import { type EntityStateBag, IEntityServer, type SetPositionOptions } from '../contracts/server/IEntityServer';
|
|
3
3
|
/**
|
|
4
4
|
* Node.js mock implementation of server-side entity operations.
|
|
5
5
|
* Used for testing and standalone mode.
|
|
@@ -9,6 +9,10 @@ export declare class NodeEntityServer extends IEntityServer {
|
|
|
9
9
|
private stateBags;
|
|
10
10
|
doesExist(handle: number): boolean;
|
|
11
11
|
getCoords(handle: number): Vector3;
|
|
12
|
+
setPosition(handle: number, position: Vector3, _options?: SetPositionOptions): void;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Use setPosition() for cross-platform compatibility.
|
|
15
|
+
*/
|
|
12
16
|
setCoords(handle: number, x: number, y: number, z: number): void;
|
|
13
17
|
getHeading(handle: number): number;
|
|
14
18
|
setHeading(handle: number, heading: number): void;
|
|
@@ -18,9 +22,16 @@ export declare class NodeEntityServer extends IEntityServer {
|
|
|
18
22
|
setRoutingBucket(handle: number, bucket: number): void;
|
|
19
23
|
getRoutingBucket(handle: number): number;
|
|
20
24
|
getStateBag(handle: number): EntityStateBag;
|
|
21
|
-
getHealth(
|
|
22
|
-
setHealth(
|
|
23
|
-
getArmor(
|
|
24
|
-
setArmor(
|
|
25
|
+
getHealth(handle: number): number;
|
|
26
|
+
setHealth(handle: number, health: number): void;
|
|
27
|
+
getArmor(handle: number): number;
|
|
28
|
+
setArmor(handle: number, armor: number): void;
|
|
29
|
+
/**
|
|
30
|
+
* Create a mock entity for testing.
|
|
31
|
+
*/
|
|
25
32
|
_createMockEntity(handle: number, model: number, coords: Vector3, heading?: number): void;
|
|
33
|
+
/**
|
|
34
|
+
* Clear all mock entities.
|
|
35
|
+
*/
|
|
36
|
+
_clearAll(): void;
|
|
26
37
|
}
|
|
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.NodeEntityServer = void 0;
|
|
10
10
|
const tsyringe_1 = require("tsyringe");
|
|
11
|
-
const IEntityServer_1 = require("../contracts/IEntityServer");
|
|
11
|
+
const IEntityServer_1 = require("../contracts/server/IEntityServer");
|
|
12
12
|
/**
|
|
13
13
|
* Node.js mock implementation of server-side entity operations.
|
|
14
14
|
* Used for testing and standalone mode.
|
|
@@ -26,6 +26,15 @@ let NodeEntityServer = class NodeEntityServer extends IEntityServer_1.IEntitySer
|
|
|
26
26
|
var _a, _b;
|
|
27
27
|
return (_b = (_a = this.entities.get(handle)) === null || _a === void 0 ? void 0 : _a.coords) !== null && _b !== void 0 ? _b : { x: 0, y: 0, z: 0 };
|
|
28
28
|
}
|
|
29
|
+
setPosition(handle, position, _options) {
|
|
30
|
+
const entity = this.entities.get(handle);
|
|
31
|
+
if (entity) {
|
|
32
|
+
entity.coords = Object.assign({}, position);
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* @deprecated Use setPosition() for cross-platform compatibility.
|
|
37
|
+
*/
|
|
29
38
|
setCoords(handle, x, y, z) {
|
|
30
39
|
const entity = this.entities.get(handle);
|
|
31
40
|
if (entity) {
|
|
@@ -80,23 +89,40 @@ let NodeEntityServer = class NodeEntityServer extends IEntityServer_1.IEntitySer
|
|
|
80
89
|
},
|
|
81
90
|
};
|
|
82
91
|
}
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
92
|
+
getHealth(handle) {
|
|
93
|
+
var _a;
|
|
94
|
+
const bag = this.getStateBag(handle);
|
|
95
|
+
return (_a = bag.get('health')) !== null && _a !== void 0 ? _a : 200;
|
|
96
|
+
}
|
|
97
|
+
setHealth(handle, health) {
|
|
98
|
+
const bag = this.getStateBag(handle);
|
|
99
|
+
bag.set('health', health, true);
|
|
100
|
+
}
|
|
101
|
+
getArmor(handle) {
|
|
102
|
+
var _a;
|
|
103
|
+
const bag = this.getStateBag(handle);
|
|
104
|
+
return (_a = bag.get('armor')) !== null && _a !== void 0 ? _a : 0;
|
|
105
|
+
}
|
|
106
|
+
setArmor(handle, armor) {
|
|
107
|
+
const bag = this.getStateBag(handle);
|
|
108
|
+
bag.set('armor', armor, true);
|
|
109
|
+
}
|
|
110
|
+
// ─────────────────────────────────────────────────────────────────
|
|
111
|
+
// Test Helpers
|
|
112
|
+
// ─────────────────────────────────────────────────────────────────
|
|
113
|
+
/**
|
|
114
|
+
* Create a mock entity for testing.
|
|
115
|
+
*/
|
|
97
116
|
_createMockEntity(handle, model, coords, heading = 0) {
|
|
98
117
|
this.entities.set(handle, { coords, heading, model, bucket: 0 });
|
|
99
118
|
}
|
|
119
|
+
/**
|
|
120
|
+
* Clear all mock entities.
|
|
121
|
+
*/
|
|
122
|
+
_clearAll() {
|
|
123
|
+
this.entities.clear();
|
|
124
|
+
this.stateBags.clear();
|
|
125
|
+
}
|
|
100
126
|
};
|
|
101
127
|
exports.NodeEntityServer = NodeEntityServer;
|
|
102
128
|
exports.NodeEntityServer = NodeEntityServer = __decorate([
|
|
@@ -9,7 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
9
9
|
exports.NodeNetTransport = void 0;
|
|
10
10
|
const node_events_1 = require("node:events");
|
|
11
11
|
const tsyringe_1 = require("tsyringe");
|
|
12
|
-
const
|
|
12
|
+
const logger_1 = require("../../kernel/logger");
|
|
13
13
|
/**
|
|
14
14
|
* Node.js implementation of INetTransport using EventEmitter.
|
|
15
15
|
* Suitable for testing and non-FiveM runtime environments.
|
|
@@ -21,7 +21,7 @@ let NodeNetTransport = class NodeNetTransport {
|
|
|
21
21
|
onNet(eventName, handler) {
|
|
22
22
|
this.eventEmitter.on(eventName, (ctx, ...args) => {
|
|
23
23
|
void Promise.resolve(handler(ctx, ...args)).catch((err) => {
|
|
24
|
-
|
|
24
|
+
logger_1.loggers.netEvent.error(`handler error for '${eventName}'`, {}, err);
|
|
25
25
|
});
|
|
26
26
|
});
|
|
27
27
|
}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { HeadBlendData } from '../../kernel/shared';
|
|
2
|
-
import { IPedAppearanceClient } from '../contracts/IPedAppearanceClient';
|
|
2
|
+
import { IPedAppearanceClient } from '../contracts/client/IPedAppearanceClient';
|
|
3
3
|
/**
|
|
4
4
|
* Node.js stub implementation of client-side ped appearance adapter.
|
|
5
5
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NodePedAppearanceClient = void 0;
|
|
4
|
-
const IPedAppearanceClient_1 = require("../contracts/IPedAppearanceClient");
|
|
4
|
+
const IPedAppearanceClient_1 = require("../contracts/client/IPedAppearanceClient");
|
|
5
5
|
/**
|
|
6
6
|
* Node.js stub implementation of client-side ped appearance adapter.
|
|
7
7
|
*
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NodePedAppearanceServer = void 0;
|
|
4
|
-
const IPedAppearanceServer_1 = require("../contracts/IPedAppearanceServer");
|
|
4
|
+
const IPedAppearanceServer_1 = require("../contracts/server/IPedAppearanceServer");
|
|
5
5
|
/**
|
|
6
6
|
* Node.js stub implementation of server-side ped appearance adapter.
|
|
7
7
|
*
|
|
@@ -0,0 +1,103 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.NodePlatform = void 0;
|
|
37
|
+
const IEngineEvents_1 = require("../contracts/IEngineEvents");
|
|
38
|
+
const IExports_1 = require("../contracts/IExports");
|
|
39
|
+
const IHasher_1 = require("../contracts/IHasher");
|
|
40
|
+
const INetTransport_1 = require("../contracts/INetTransport");
|
|
41
|
+
const IPlatformCapabilities_1 = require("../contracts/IPlatformCapabilities");
|
|
42
|
+
const IPlayerInfo_1 = require("../contracts/IPlayerInfo");
|
|
43
|
+
const IResourceInfo_1 = require("../contracts/IResourceInfo");
|
|
44
|
+
const ITick_1 = require("../contracts/ITick");
|
|
45
|
+
const IEntityServer_1 = require("../contracts/server/IEntityServer");
|
|
46
|
+
const IPedAppearanceServer_1 = require("../contracts/server/IPedAppearanceServer");
|
|
47
|
+
const IPlayerServer_1 = require("../contracts/server/IPlayerServer");
|
|
48
|
+
const IVehicleServer_1 = require("../contracts/server/IVehicleServer");
|
|
49
|
+
/**
|
|
50
|
+
* Node.js mock platform adapter for testing and standalone development.
|
|
51
|
+
*/
|
|
52
|
+
exports.NodePlatform = {
|
|
53
|
+
name: 'node',
|
|
54
|
+
priority: 0, // Lowest priority - fallback platform
|
|
55
|
+
detect() {
|
|
56
|
+
var _a;
|
|
57
|
+
// Node is the fallback platform when no other platform is detected
|
|
58
|
+
// It should only match if we're running in pure Node.js
|
|
59
|
+
return typeof process !== 'undefined' && ((_a = process.versions) === null || _a === void 0 ? void 0 : _a.node) !== undefined;
|
|
60
|
+
},
|
|
61
|
+
async register(container) {
|
|
62
|
+
// Dynamically import Node.js mock implementations
|
|
63
|
+
const [{ NodeNetTransport }, { NodeEngineEvents }, { NodeExports }, { NodeResourceInfo }, { NodeTick }, { NodePlayerInfo }, { NodeEntityServer }, { NodeVehicleServer }, { NodePlayerServer }, { NodeHasher }, { NodePedAppearanceServer }, { NodeCapabilities },] = await Promise.all([
|
|
64
|
+
Promise.resolve().then(() => __importStar(require('./node-net-transport'))),
|
|
65
|
+
Promise.resolve().then(() => __importStar(require('./node-engine-events'))),
|
|
66
|
+
Promise.resolve().then(() => __importStar(require('./node-exports'))),
|
|
67
|
+
Promise.resolve().then(() => __importStar(require('./node-resourceinfo'))),
|
|
68
|
+
Promise.resolve().then(() => __importStar(require('./node-tick'))),
|
|
69
|
+
Promise.resolve().then(() => __importStar(require('./node-playerinfo'))),
|
|
70
|
+
Promise.resolve().then(() => __importStar(require('./node-entity-server'))),
|
|
71
|
+
Promise.resolve().then(() => __importStar(require('./node-vehicle-server'))),
|
|
72
|
+
Promise.resolve().then(() => __importStar(require('./node-player-server'))),
|
|
73
|
+
Promise.resolve().then(() => __importStar(require('./node-hasher'))),
|
|
74
|
+
Promise.resolve().then(() => __importStar(require('./node-ped-appearance-server'))),
|
|
75
|
+
Promise.resolve().then(() => __importStar(require('./node-capabilities'))),
|
|
76
|
+
]);
|
|
77
|
+
// Register all Node.js mock implementations
|
|
78
|
+
if (!container.isRegistered(IPlatformCapabilities_1.IPlatformCapabilities))
|
|
79
|
+
container.registerSingleton(IPlatformCapabilities_1.IPlatformCapabilities, NodeCapabilities);
|
|
80
|
+
if (!container.isRegistered(INetTransport_1.INetTransport))
|
|
81
|
+
container.registerSingleton(INetTransport_1.INetTransport, NodeNetTransport);
|
|
82
|
+
if (!container.isRegistered(IEngineEvents_1.IEngineEvents))
|
|
83
|
+
container.registerSingleton(IEngineEvents_1.IEngineEvents, NodeEngineEvents);
|
|
84
|
+
if (!container.isRegistered(IExports_1.IExports))
|
|
85
|
+
container.registerSingleton(IExports_1.IExports, NodeExports);
|
|
86
|
+
if (!container.isRegistered(IResourceInfo_1.IResourceInfo))
|
|
87
|
+
container.registerSingleton(IResourceInfo_1.IResourceInfo, NodeResourceInfo);
|
|
88
|
+
if (!container.isRegistered(ITick_1.ITick))
|
|
89
|
+
container.registerSingleton(ITick_1.ITick, NodeTick);
|
|
90
|
+
if (!container.isRegistered(IPlayerInfo_1.IPlayerInfo))
|
|
91
|
+
container.registerSingleton(IPlayerInfo_1.IPlayerInfo, NodePlayerInfo);
|
|
92
|
+
if (!container.isRegistered(IEntityServer_1.IEntityServer))
|
|
93
|
+
container.registerSingleton(IEntityServer_1.IEntityServer, NodeEntityServer);
|
|
94
|
+
if (!container.isRegistered(IVehicleServer_1.IVehicleServer))
|
|
95
|
+
container.registerSingleton(IVehicleServer_1.IVehicleServer, NodeVehicleServer);
|
|
96
|
+
if (!container.isRegistered(IPlayerServer_1.IPlayerServer))
|
|
97
|
+
container.registerSingleton(IPlayerServer_1.IPlayerServer, NodePlayerServer);
|
|
98
|
+
if (!container.isRegistered(IHasher_1.IHasher))
|
|
99
|
+
container.registerSingleton(IHasher_1.IHasher, NodeHasher);
|
|
100
|
+
if (!container.isRegistered(IPedAppearanceServer_1.IPedAppearanceServer))
|
|
101
|
+
container.registerSingleton(IPedAppearanceServer_1.IPedAppearanceServer, NodePedAppearanceServer);
|
|
102
|
+
},
|
|
103
|
+
};
|
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { IPlayerServer } from '../contracts/IPlayerServer';
|
|
1
|
+
import { IPlayerServer } from '../contracts/server/IPlayerServer';
|
|
2
|
+
import { type PlayerIdentifier } from '../contracts/types/identifier';
|
|
2
3
|
/**
|
|
3
4
|
* Node.js mock implementation of server-side player operations.
|
|
4
5
|
* Used for testing and standalone mode.
|
|
@@ -9,20 +10,35 @@ export declare class NodePlayerServer extends IPlayerServer {
|
|
|
9
10
|
getPed(playerSrc: string): number;
|
|
10
11
|
drop(playerSrc: string, _reason: string): void;
|
|
11
12
|
getIdentifier(playerSrc: string, identifierType: string): string | undefined;
|
|
13
|
+
/**
|
|
14
|
+
* @deprecated Use getPlayerIdentifiers() for structured identifier data.
|
|
15
|
+
*/
|
|
12
16
|
getIdentifiers(playerSrc: string): string[];
|
|
17
|
+
getPlayerIdentifiers(playerSrc: string): PlayerIdentifier[];
|
|
13
18
|
getNumIdentifiers(playerSrc: string): number;
|
|
14
19
|
getName(playerSrc: string): string;
|
|
15
20
|
getPing(playerSrc: string): number;
|
|
16
21
|
getEndpoint(playerSrc: string): string;
|
|
22
|
+
setRoutingBucket(playerSrc: string, bucket: number): void;
|
|
23
|
+
getRoutingBucket(playerSrc: string): number;
|
|
24
|
+
getConnectedPlayers(): string[];
|
|
25
|
+
/**
|
|
26
|
+
* Add a mock player for testing.
|
|
27
|
+
*/
|
|
17
28
|
_addMockPlayer(playerSrc: string, data: {
|
|
18
29
|
ped?: number;
|
|
19
30
|
name?: string;
|
|
20
31
|
identifiers?: string[];
|
|
21
32
|
ping?: number;
|
|
22
33
|
endpoint?: string;
|
|
34
|
+
routingBucket?: number;
|
|
23
35
|
}): void;
|
|
36
|
+
/**
|
|
37
|
+
* Check if a player was dropped.
|
|
38
|
+
*/
|
|
24
39
|
_wasDropped(playerSrc: string): boolean;
|
|
25
|
-
|
|
26
|
-
|
|
40
|
+
/**
|
|
41
|
+
* Clear all mock data.
|
|
42
|
+
*/
|
|
27
43
|
_clear(): void;
|
|
28
44
|
}
|
|
@@ -8,7 +8,8 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.NodePlayerServer = void 0;
|
|
10
10
|
const tsyringe_1 = require("tsyringe");
|
|
11
|
-
const IPlayerServer_1 = require("../contracts/IPlayerServer");
|
|
11
|
+
const IPlayerServer_1 = require("../contracts/server/IPlayerServer");
|
|
12
|
+
const identifier_1 = require("../contracts/types/identifier");
|
|
12
13
|
/**
|
|
13
14
|
* Node.js mock implementation of server-side player operations.
|
|
14
15
|
* Used for testing and standalone mode.
|
|
@@ -34,10 +35,24 @@ let NodePlayerServer = class NodePlayerServer extends IPlayerServer_1.IPlayerSer
|
|
|
34
35
|
const prefix = `${identifierType}:`;
|
|
35
36
|
return player.identifiers.find((id) => id.startsWith(prefix));
|
|
36
37
|
}
|
|
38
|
+
/**
|
|
39
|
+
* @deprecated Use getPlayerIdentifiers() for structured identifier data.
|
|
40
|
+
*/
|
|
37
41
|
getIdentifiers(playerSrc) {
|
|
38
42
|
var _a, _b;
|
|
39
43
|
return (_b = (_a = this.players.get(playerSrc)) === null || _a === void 0 ? void 0 : _a.identifiers) !== null && _b !== void 0 ? _b : [];
|
|
40
44
|
}
|
|
45
|
+
getPlayerIdentifiers(playerSrc) {
|
|
46
|
+
const rawIdentifiers = this.getIdentifiers(playerSrc);
|
|
47
|
+
const identifiers = [];
|
|
48
|
+
for (const raw of rawIdentifiers) {
|
|
49
|
+
const parsed = (0, identifier_1.parseIdentifier)(raw);
|
|
50
|
+
if (parsed) {
|
|
51
|
+
identifiers.push(parsed);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return identifiers;
|
|
55
|
+
}
|
|
41
56
|
getNumIdentifiers(playerSrc) {
|
|
42
57
|
var _a, _b;
|
|
43
58
|
return (_b = (_a = this.players.get(playerSrc)) === null || _a === void 0 ? void 0 : _a.identifiers.length) !== null && _b !== void 0 ? _b : 0;
|
|
@@ -54,26 +69,45 @@ let NodePlayerServer = class NodePlayerServer extends IPlayerServer_1.IPlayerSer
|
|
|
54
69
|
var _a, _b;
|
|
55
70
|
return (_b = (_a = this.players.get(playerSrc)) === null || _a === void 0 ? void 0 : _a.endpoint) !== null && _b !== void 0 ? _b : '';
|
|
56
71
|
}
|
|
57
|
-
|
|
72
|
+
setRoutingBucket(playerSrc, bucket) {
|
|
73
|
+
const player = this.players.get(playerSrc);
|
|
74
|
+
if (player) {
|
|
75
|
+
player.routingBucket = bucket;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
getRoutingBucket(playerSrc) {
|
|
79
|
+
var _a, _b;
|
|
80
|
+
return (_b = (_a = this.players.get(playerSrc)) === null || _a === void 0 ? void 0 : _a.routingBucket) !== null && _b !== void 0 ? _b : 0;
|
|
81
|
+
}
|
|
82
|
+
getConnectedPlayers() {
|
|
83
|
+
return Array.from(this.players.keys());
|
|
84
|
+
}
|
|
85
|
+
// ─────────────────────────────────────────────────────────────────
|
|
86
|
+
// Test Helpers
|
|
87
|
+
// ─────────────────────────────────────────────────────────────────
|
|
88
|
+
/**
|
|
89
|
+
* Add a mock player for testing.
|
|
90
|
+
*/
|
|
58
91
|
_addMockPlayer(playerSrc, data) {
|
|
59
|
-
var _a, _b, _c, _d, _e;
|
|
92
|
+
var _a, _b, _c, _d, _e, _f;
|
|
60
93
|
this.players.set(playerSrc, {
|
|
61
94
|
ped: (_a = data.ped) !== null && _a !== void 0 ? _a : 0,
|
|
62
95
|
name: (_b = data.name) !== null && _b !== void 0 ? _b : 'TestPlayer',
|
|
63
96
|
identifiers: (_c = data.identifiers) !== null && _c !== void 0 ? _c : [],
|
|
64
97
|
ping: (_d = data.ping) !== null && _d !== void 0 ? _d : 50,
|
|
65
98
|
endpoint: (_e = data.endpoint) !== null && _e !== void 0 ? _e : '127.0.0.1:30120',
|
|
99
|
+
routingBucket: (_f = data.routingBucket) !== null && _f !== void 0 ? _f : 0,
|
|
66
100
|
});
|
|
67
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Check if a player was dropped.
|
|
104
|
+
*/
|
|
68
105
|
_wasDropped(playerSrc) {
|
|
69
106
|
return this.droppedPlayers.includes(playerSrc);
|
|
70
107
|
}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
getConnectedPlayers() {
|
|
75
|
-
return Array.from(this.players.keys());
|
|
76
|
-
}
|
|
108
|
+
/**
|
|
109
|
+
* Clear all mock data.
|
|
110
|
+
*/
|
|
77
111
|
_clear() {
|
|
78
112
|
this.players.clear();
|
|
79
113
|
this.droppedPlayers = [];
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { Vector3 } from '../../kernel';
|
|
2
2
|
import { IPlayerInfo } from '../contracts/IPlayerInfo';
|
|
3
|
-
export declare class NodePlayerInfo
|
|
3
|
+
export declare class NodePlayerInfo extends IPlayerInfo {
|
|
4
4
|
getPlayerName(clientId: number): string | null;
|
|
5
|
-
getPlayerPosition(_clientId: number): Vector3
|
|
5
|
+
getPlayerPosition(_clientId: number): Vector3;
|
|
6
6
|
}
|
|
@@ -1,12 +1,23 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
2
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
9
|
exports.NodePlayerInfo = void 0;
|
|
4
|
-
|
|
10
|
+
const tsyringe_1 = require("tsyringe");
|
|
11
|
+
const IPlayerInfo_1 = require("../contracts/IPlayerInfo");
|
|
12
|
+
let NodePlayerInfo = class NodePlayerInfo extends IPlayerInfo_1.IPlayerInfo {
|
|
5
13
|
getPlayerName(clientId) {
|
|
6
14
|
return `Player${clientId.toString()}`;
|
|
7
15
|
}
|
|
8
16
|
getPlayerPosition(_clientId) {
|
|
9
|
-
return { x:
|
|
17
|
+
return { x: 0, y: 0, z: 0 };
|
|
10
18
|
}
|
|
11
|
-
}
|
|
19
|
+
};
|
|
12
20
|
exports.NodePlayerInfo = NodePlayerInfo;
|
|
21
|
+
exports.NodePlayerInfo = NodePlayerInfo = __decorate([
|
|
22
|
+
(0, tsyringe_1.injectable)()
|
|
23
|
+
], NodePlayerInfo);
|
|
@@ -8,7 +8,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
9
|
exports.NodeVehicleServer = void 0;
|
|
10
10
|
const tsyringe_1 = require("tsyringe");
|
|
11
|
-
const IVehicleServer_1 = require("../contracts/IVehicleServer");
|
|
11
|
+
const IVehicleServer_1 = require("../contracts/server/IVehicleServer");
|
|
12
12
|
/**
|
|
13
13
|
* Node.js mock implementation of server-side vehicle operations.
|
|
14
14
|
* Used for testing and standalone mode.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './platform-registry';
|
|
@@ -14,10 +14,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
|
|
18
|
-
* Database Module Re-export
|
|
19
|
-
*
|
|
20
|
-
* This file re-exports the database module for backwards compatibility.
|
|
21
|
-
* Prefer importing directly from '@open-core/framework/server' or './database/index'
|
|
22
|
-
*/
|
|
23
|
-
__exportStar(require("./database/index"), exports);
|
|
17
|
+
__exportStar(require("./platform-registry"), exports);
|
|
@@ -0,0 +1,101 @@
|
|
|
1
|
+
import type { DependencyContainer } from 'tsyringe';
|
|
2
|
+
/**
|
|
3
|
+
* Platform adapter interface for registering platform-specific implementations.
|
|
4
|
+
*
|
|
5
|
+
* @remarks
|
|
6
|
+
* Each supported platform (FiveM, RageMP, alt:V, etc.) should implement this
|
|
7
|
+
* interface to provide automatic detection and dependency registration.
|
|
8
|
+
*/
|
|
9
|
+
export interface PlatformAdapter {
|
|
10
|
+
/**
|
|
11
|
+
* Unique platform identifier.
|
|
12
|
+
* @example 'fivem', 'ragemp', 'altv', 'node'
|
|
13
|
+
*/
|
|
14
|
+
readonly name: string;
|
|
15
|
+
/**
|
|
16
|
+
* Priority for platform detection (higher = checked first).
|
|
17
|
+
* Useful when multiple platforms might match.
|
|
18
|
+
* @default 0
|
|
19
|
+
*/
|
|
20
|
+
readonly priority?: number;
|
|
21
|
+
/**
|
|
22
|
+
* Detect if the current runtime is this platform.
|
|
23
|
+
* @returns true if running on this platform
|
|
24
|
+
*/
|
|
25
|
+
detect(): boolean;
|
|
26
|
+
/**
|
|
27
|
+
* Register all platform-specific adapters in the DI container.
|
|
28
|
+
* @param container - The dependency injection container
|
|
29
|
+
*/
|
|
30
|
+
register(container: DependencyContainer): Promise<void>;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Registry for platform adapters.
|
|
34
|
+
* Allows dynamic registration and detection of platforms.
|
|
35
|
+
*/
|
|
36
|
+
declare class PlatformRegistry {
|
|
37
|
+
private adapters;
|
|
38
|
+
private currentPlatform;
|
|
39
|
+
/**
|
|
40
|
+
* Register a platform adapter.
|
|
41
|
+
* @param adapter - Platform adapter to register
|
|
42
|
+
*/
|
|
43
|
+
register(adapter: PlatformAdapter): void;
|
|
44
|
+
/**
|
|
45
|
+
* Unregister a platform adapter.
|
|
46
|
+
* @param name - Platform name to unregister
|
|
47
|
+
*/
|
|
48
|
+
unregister(name: string): void;
|
|
49
|
+
/**
|
|
50
|
+
* Get all registered platform adapters.
|
|
51
|
+
*/
|
|
52
|
+
getAll(): readonly PlatformAdapter[];
|
|
53
|
+
/**
|
|
54
|
+
* Get a specific platform adapter by name.
|
|
55
|
+
* @param name - Platform name
|
|
56
|
+
*/
|
|
57
|
+
get(name: string): PlatformAdapter | undefined;
|
|
58
|
+
/**
|
|
59
|
+
* Detect the current platform from registered adapters.
|
|
60
|
+
* @returns The detected platform adapter or undefined
|
|
61
|
+
*/
|
|
62
|
+
detect(): PlatformAdapter | undefined;
|
|
63
|
+
/**
|
|
64
|
+
* Detect and register platform capabilities in the container.
|
|
65
|
+
*
|
|
66
|
+
* @param container - DI container to register adapters in
|
|
67
|
+
* @param forcePlatform - Optional platform name to force (skip detection)
|
|
68
|
+
* @returns The registered platform adapter
|
|
69
|
+
* @throws Error if no platform is detected
|
|
70
|
+
*/
|
|
71
|
+
detectAndRegister(container: DependencyContainer, forcePlatform?: string): Promise<PlatformAdapter>;
|
|
72
|
+
/**
|
|
73
|
+
* Get the currently active platform.
|
|
74
|
+
* Only available after detectAndRegister has been called.
|
|
75
|
+
*/
|
|
76
|
+
getCurrent(): PlatformAdapter | null;
|
|
77
|
+
/**
|
|
78
|
+
* Check if a specific platform is currently active.
|
|
79
|
+
* @param name - Platform name to check
|
|
80
|
+
*/
|
|
81
|
+
isCurrentPlatform(name: string): boolean;
|
|
82
|
+
/**
|
|
83
|
+
* Clear all registered adapters (mainly for testing).
|
|
84
|
+
*/
|
|
85
|
+
clear(): void;
|
|
86
|
+
}
|
|
87
|
+
/**
|
|
88
|
+
* Global platform registry instance.
|
|
89
|
+
*/
|
|
90
|
+
export declare const platformRegistry: PlatformRegistry;
|
|
91
|
+
/**
|
|
92
|
+
* Convenience function to register a platform adapter.
|
|
93
|
+
* @param adapter - Platform adapter to register
|
|
94
|
+
*/
|
|
95
|
+
export declare function registerPlatform(adapter: PlatformAdapter): void;
|
|
96
|
+
/**
|
|
97
|
+
* Get the current platform name.
|
|
98
|
+
* @returns Platform name or 'unknown' if not detected
|
|
99
|
+
*/
|
|
100
|
+
export declare function getCurrentPlatformName(): string;
|
|
101
|
+
export {};
|