11import { EventEmitter } from 'node:events' ;
2+ import { IncomingMessage , ServerResponse } from 'node:http' ;
23
34export interface Task {
45 name : string ;
@@ -16,34 +17,63 @@ export interface Scheduler {
1617export interface InvokeTarget {
1718 method : string ;
1819 args : object ;
20+ exclusive ?: boolean ;
1921}
2022
2123export interface Static {
22- get ( name : string ) : unknown ;
24+ name : string ;
25+ path : string ;
26+ files : Map < string , { data : Buffer | null ; stat : object | null } > ;
27+ get ( name : string ) : { data : Buffer | null ; stat : object | null } | undefined ;
28+ find (
29+ path : string ,
30+ code ?: number ,
31+ ) : { data : Buffer | null ; stat : object | null ; code : number } ;
32+ serve ( url : string , transport : object ) : Promise < void > ;
33+ load ( targetPath ?: string ) : Promise < void > ;
34+ delete ( filePath : string ) : void ;
35+ change ( filePath : string ) : Promise < void > ;
2336}
2437
2538export interface Schemas {
39+ model : object ;
2640 get ( name : string ) : unknown ;
41+ load ( targetPath ?: string ) : Promise < void > ;
42+ delete ( filePath : string ) : void ;
43+ change ( filePath : string ) : Promise < void > ;
2744}
2845
2946export interface Listener {
3047 ( ...args : Array < unknown > ) : void ;
3148}
3249
50+ export interface Context {
51+ client : Client ;
52+ token ?: string ;
53+ session ?: object ;
54+ }
55+
56+ export interface Client {
57+ ip : string ;
58+ session ?: object ;
59+ emit ( name : string , data : object ) : void ;
60+ }
61+
3362export interface Application extends EventEmitter {
3463 worker : { id : string } ;
3564 server : { host : string ; port : number ; protocol : string } ;
3665 resources : Static ;
3766 schemas : Schemas ;
3867 scheduler : Scheduler ;
39- introspect : ( ) => Promise < object > ;
68+ mode : string ;
69+ introspect : ( units : Array < string > ) => Promise < object > ;
4070 invoke : ( target : InvokeTarget ) => Promise < unknown > ;
4171 on ( event : 'loading' , listener : Listener ) : this;
4272 once ( event : 'loading' , listener : Listener ) : this;
4373 on ( event : 'loaded' , listener : Listener ) : this;
4474 once ( event : 'loaded' , listener : Listener ) : this;
4575 on ( event : 'started' , listener : Listener ) : this;
4676 once ( event : 'started' , listener : Listener ) : this;
47- on ( event : 'initialized ' , listener : Listener ) : this;
48- once ( event : 'initialized ' , listener : Listener ) : this;
77+ on ( event : 'ready ' , listener : Listener ) : this;
78+ once ( event : 'ready ' , listener : Listener ) : this;
4979}
0 commit comments