refactor
This commit is contained in:
@@ -0,0 +1,9 @@
|
||||
import { build } from 'esbuild'
|
||||
|
||||
build({
|
||||
entryPoints: ['./src/index.ts'],
|
||||
format: 'esm',
|
||||
platform: 'node',
|
||||
target: 'node10.4',
|
||||
outdir: './dist',
|
||||
}).then(r => console.log('Successfully build.'))
|
||||
@@ -0,0 +1,15 @@
|
||||
{
|
||||
"compilationOptions": {
|
||||
"followSymlinks": true,
|
||||
"preferredConfigPath": "../tsconfig.json"
|
||||
},
|
||||
"entries": [
|
||||
{
|
||||
"filePath": "./src/index.ts",
|
||||
"outFile": "./dist/index.d.ts",
|
||||
"libraries": {
|
||||
"inlinedLibraries": ["@ragempcommunity/types-server"]
|
||||
}
|
||||
}
|
||||
]
|
||||
}
|
||||
+6
-1
@@ -2,10 +2,15 @@
|
||||
"name": "rage-fw-server",
|
||||
"version": "0.0.1",
|
||||
"main": "dist/index.js",
|
||||
"types": "dist/index.d.ts",
|
||||
"type": "module",
|
||||
"files": ["dist/**/*"],
|
||||
"scripts": {
|
||||
"build": "tsup"
|
||||
"build": "node --es-module-specifier-resolution=node build.js",
|
||||
"types": "dts-bundle-generator --config dts.config.json"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"rage-fw-shared-types": "workspace:shared-types:*"
|
||||
},
|
||||
"keywords": [],
|
||||
"author": "SashaGoncharov19",
|
||||
|
||||
+2
-27
@@ -1,7 +1,7 @@
|
||||
/// <reference types="../../shared/server/index.d.ts" />
|
||||
import rpc from 'rage-rpc'
|
||||
import { RageFW_ServerEvent, RageFW_ServerEventCallback } from './types.js'
|
||||
|
||||
class Server implements RageFW_Server {
|
||||
class Server {
|
||||
public register<EventName extends RageFW_ServerEvent>(
|
||||
eventName: EventName,
|
||||
callback: RageFW_ServerEventCallback<EventName>,
|
||||
@@ -19,34 +19,9 @@ class Server implements RageFW_Server {
|
||||
: (callback as (arg: typeof args) => void)(args)
|
||||
}),
|
||||
)
|
||||
// Object.keys(events).forEach(eventName =>
|
||||
// // unknown[] ?
|
||||
// // rpc.register(eventName, (args: unknown[]) =>
|
||||
// // Array.isArray(args) ? events[eventName as keyof typeof events](...args) : callback(args),
|
||||
// // ),
|
||||
// rpc.register(eventName, (...args: unknown[]) =>
|
||||
// events[eventName as EventName](args),
|
||||
// ),
|
||||
// )
|
||||
}
|
||||
}
|
||||
|
||||
export const rage = {
|
||||
event: new Server(),
|
||||
}
|
||||
|
||||
rage.event.register('customServerEvent', (player, arg1, arg2) => {
|
||||
console.log(player, arg1, arg2)
|
||||
return true
|
||||
})
|
||||
|
||||
rage.event.registerMany({
|
||||
customServerEvent: (player, arg1, arg2) => {
|
||||
console.log(player, arg1, arg2)
|
||||
return true
|
||||
},
|
||||
playerDeath: (player, reason, killer) => {
|
||||
console.log(player, reason, killer)
|
||||
return undefined
|
||||
},
|
||||
})
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
/// <reference types="@ragempcommunity/types-server" />
|
||||
|
||||
import { RageFW_ICustomServerEvent } from 'rage-fw-shared-types'
|
||||
|
||||
export type RageFW_ServerEvent =
|
||||
| keyof RageFW_ICustomServerEvent
|
||||
| keyof IServerEvents
|
||||
|
||||
export type RageFW_ServerEventCallback<
|
||||
K extends keyof RageFW_ICustomServerEvent | keyof IServerEvents,
|
||||
> = K extends keyof RageFW_ICustomServerEvent
|
||||
? (
|
||||
player: PlayerMp,
|
||||
...args: Parameters<RageFW_ICustomServerEvent[K]>
|
||||
) => ReturnType<RageFW_ICustomServerEvent[K]>
|
||||
: K extends keyof IServerEvents
|
||||
? ThisifyServerEvents[K]
|
||||
: never
|
||||
+4
-12
@@ -1,17 +1,9 @@
|
||||
{
|
||||
"extends": "../tsconfig.json",
|
||||
"compilerOptions": {
|
||||
"target": "ESNext",
|
||||
"lib": [
|
||||
"ESNext",
|
||||
"ES5",
|
||||
"dom"
|
||||
"typeRoots": [
|
||||
"@ragempcommunity/types-server"
|
||||
],
|
||||
"module": "ESNext",
|
||||
"moduleResolution": "NodeNext",
|
||||
"esModuleInterop": true,
|
||||
"forceConsistentCasingInFileNames": true,
|
||||
"strict": true,
|
||||
"skipLibCheck": true,
|
||||
"types": ["../node_modules/@ragempcommunity/types-server", "../../shared/server"]
|
||||
"baseUrl": "./src"
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user