init
This commit is contained in:
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"name": "rage-f-server",
|
||||
"version": "0.0.1",
|
||||
"main": "dist/index.js",
|
||||
"type": "module",
|
||||
"files": ["dist/**/*"],
|
||||
"scripts": {
|
||||
"build": "tsup"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "SashaGonncharov19",
|
||||
"license": "MIT",
|
||||
"description": "Server side of rage-f"
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
/// <reference types="@ragempcommunity/types-server" />
|
||||
import rpc from 'rage-rpc'
|
||||
|
||||
type ServerEvent<K> = K extends keyof IServerEvents ? K : never
|
||||
type ServerEventCallback<K> = K extends keyof IServerEvents
|
||||
? ThisifyServerEvents[K]
|
||||
: never
|
||||
|
||||
declare class Server {
|
||||
public register<K = ServerEvent<K>>(
|
||||
eventName: K,
|
||||
callback: ServerEventCallback,
|
||||
): void
|
||||
|
||||
public registerMultiple(events: {
|
||||
[name: string]: (player: PlayerMp, ...args: any[]) => any
|
||||
}): void
|
||||
|
||||
registerMultiple(events: { [name: string]: (...args: any[]) => any }) {
|
||||
Object.entries(events).forEach(([name, callback]) =>
|
||||
rpc.register(name, (data: any[]) => {
|
||||
return Array.isArray(data) ? callback(...data) : callback(data)
|
||||
}),
|
||||
)
|
||||
}
|
||||
|
||||
register() {}
|
||||
}
|
||||
|
||||
export const rage = {
|
||||
event: new Server(),
|
||||
}
|
||||
|
||||
rage.event.register('customevent', vehicle => {})
|
||||
|
||||
function test() {}
|
||||
@@ -0,0 +1,12 @@
|
||||
{
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"lib": ["ESNext", "ES5"],
|
||||
"module": "ESNext",
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"types": ["../node_modules/@ragempcommunity/types-server"]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user