@rpgjs/server 5.0.0-alpha.21 → 5.0.0-alpha.23

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/module.d.ts CHANGED
@@ -1,2 +1,44 @@
1
1
  import { FactoryProvider } from '@signe/di';
2
- export declare function provideServerModules(modules: any[]): FactoryProvider;
2
+ import { RpgServer } from './RpgServer';
3
+ /**
4
+ * Type for server modules that can be either:
5
+ * - An object implementing RpgServer interface
6
+ * - A class decorated with @RpgModule decorator
7
+ */
8
+ export type RpgServerModule = RpgServer | (new () => any);
9
+ /**
10
+ * Provides server modules configuration to Angular Dependency Injection
11
+ *
12
+ * This function accepts an array of server modules that can be either:
13
+ * - Objects implementing the RpgServer interface
14
+ * - Classes decorated with the @RpgModule decorator (which will be instantiated)
15
+ *
16
+ * @param modules - Array of server modules (objects or classes)
17
+ * @returns FactoryProvider configuration for Angular DI
18
+ * @example
19
+ * ```ts
20
+ * // Using an object
21
+ * provideServerModules([
22
+ * {
23
+ * player: {
24
+ * onConnected(player) {
25
+ * console.log('Player connected')
26
+ * }
27
+ * }
28
+ * }
29
+ * ])
30
+ *
31
+ * // Using a decorated class
32
+ * @RpgModule<RpgServer>({
33
+ * engine: {
34
+ * onStart(server) {
35
+ * console.log('Server started')
36
+ * }
37
+ * }
38
+ * })
39
+ * class MyServerModule {}
40
+ *
41
+ * provideServerModules([MyServerModule])
42
+ * ```
43
+ */
44
+ export declare function provideServerModules(modules: RpgServerModule[]): FactoryProvider;