@duydang2311/ragemp-utils-server
Version:
A collection of utilities for RAGE Multiplayer JavaScript module.
28 lines (25 loc) • 1.47 kB
text/typescript
import { StreamedMetaSchema } from '@duydang2311/ragemp-utils-meta';
import { EntityType } from '@duydang2311/ragemp-utils-shared';
type StreamedMetaOnChangeFn = <K extends keyof StreamedMetaSchema, V extends StreamedMetaSchema[K]>(entity: EntityMp, name: K, currentValue: V | undefined, previousValue: V | undefined) => void;
interface StreamedMetaStore {
init(): void;
set<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K, value: StreamedMetaSchema[K]): void;
delete<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K): boolean;
has<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K): boolean;
}
interface CreateRageMpStreamedMetaStoreOptions {
entityTypes?: Exclude<EntityType, 'blip' | 'dummy' | 'pickup'>[];
changeEventName?: string;
streamedInEventName?: string;
streamedOutEventName?: string;
debug?: boolean;
}
declare class RageMpStreamedMetaStore implements StreamedMetaStore {
#private;
constructor(options?: CreateRageMpStreamedMetaStoreOptions);
init(): void;
set<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K, value: StreamedMetaSchema[K]): void;
delete<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K): boolean;
has<K extends keyof StreamedMetaSchema>(entity: EntityMp, name: K): boolean;
}
export { type CreateRageMpStreamedMetaStoreOptions, RageMpStreamedMetaStore, type StreamedMetaOnChangeFn, type StreamedMetaStore };